diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/CNAME b/CNAME new file mode 100644 index 000000000000..33d4f161a0f7 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +codedoc.daedalus13.net diff --git a/area.html b/area.html new file mode 100644 index 000000000000..536010b12925 --- /dev/null +++ b/area.html @@ -0,0 +1,475 @@ + + + + + + + /area - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

area + + + +

+ +

A grouping of tiles into a logical space, mostly used by map editors

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_alarmsAlarm type to count of sources. Not usable for ^ because we handle fires differently
airalarmsA list of all air alarms in this area
airlock_wiresWire assignment for airlocks in this area
always_unpoweredThis gets overridden to 1 for space in area/.
ambient_buzzThe background droning loop that plays 24/7
ambient_buzz_volThe volume of the ambient buzz
ambientsoundsA list of sounds to pick from every so often to play to clients.
area_has_base_lightingWhether this area has a currently active base lighting, bool
area_lightingWhat type of lighting this area uses
area_limited_icon_smoothingTypepath to limit the areas (subtypes included) that atoms in this area can smooth with. Used for shuttles.
areasizeSize of the area in open turfs, only calculated for indoors areas.
base_lighting_alphaalpha 1-255 of lighting_effect and thus baselighting intensity. If you want this to be zero, use AREA_LIGHTING_NONE instead!
base_lighting_colorThe colour of the light acting on this area
beautyBeauty average per open turf in the area
beauty_thresholdIf a room is too big it doesn't have beauty.
contained_turfsList of all turfs currently inside this area. Acts as a filtered bersion of area.contents +For faster lookup (area.contents is actually a filtered loop over world) +Semi fragile, but it prevents stupid so I think it's worth it
fire_detectA var for whether the area allows for detecting fires/etc. Disabled or enabled at a fire alarm.
firealarmsA list of all fire alarms in this area OR ADJACENT TO IT
firedoorsA list of all fire locks in this area and on the border of this area.
forced_ambienceDoes this area immediately play an ambience track upon enter?
lighting_effectThe mutable appearance we underlay to show light
lightsAll the lights in this area
map_generatorThis datum, if set, allows terrain generation behavior to be ran on Initialize()
max_ambience_cooldownUsed to decide what the maximum time between ambience is
min_ambience_cooldownUsed to decide what the minimum time between ambience is
outdoorsFor space, the asteroid, etc. Used with blueprints or with weather to determine if we are adding a new area (vs editing a station room)
requires_powerWill objects this area be needing power?
sound_environmentUsed to decide what kind of reverb the area makes sound have
spook_levelUsed by ghosts to grant new powers. See /datum/component/spook_factor
totalbeautyAll beauty in this area combined, only includes indoor area.
turfs_to_uncontainContained turfs is a MASSIVE list, so rather then adding/removing from it each time we have a problem turf +We should instead store a list of turfs to REMOVE from it, then hook into a getter for it +There is a risk of this and contained_turfs leaking, so a subsystem will run it down to 0 incrementally if it gets too large

Procs

AllowDropCauses a runtime error
DestroyDestroy an area and clean it up
EnteredCall back when an atom enters an area
ExitedCalled when an atom exits an area
LateInitializeSets machine power levels in the area
NewCalled when an area loads
PlaceOnTopReactA hook so areas can modify the incoming args (of what??)
addStaticPowerAdd a static amount of power load to an area
adjust_spook_levelAdjusts the spook level and sends out a signal
burglaralertRaise a burglar alert for this area
cannonize_contained_turfsEnsures that the contained_turfs list properly represents the turfs actually inside us
clear_usageClear all non-static power usage in area
close_and_lock_doorClose and lock a door passed into this proc
communicate_fire_alertCalled by airalarms and firealarms to communicate the status of the area to relevant machines
create_area_lighting_objectsregenerates lighting objects for turfs in this area, primary use is VV changes
drop_locationCauses a runtime error
has_contained_turfsReturns TRUE if we have contained turfs, FALSE otherwise
on_joining_gameCalled when a living mob that spawned here, joining the round, receives the player client.
play_ambienceAttempts to play an ambient sound to a mob, returning the cooldown in deciseconds
power_changeCalled when the area power status changes
poweredReturns int 1 or 0 if the area has power for the given channel
reg_in_areas_in_zRegister this area as belonging to a z level
removeStaticPowerRemove a static amount of power load to an area
remove_area_lighting_objectsRemoves lighting objects from turfs in this area if we have them, primary use is VV changes
setupSetup an area (with the given name)
update_areasizeSet the area size of the area
update_beautyDivides total beauty in the room by roomsize to allow us to get an average beauty per tile.
use_powerAdd a power value amount to the stored used_x variables
+

Var Details

active_alarms + + + + +

+

Alarm type to count of sources. Not usable for ^ because we handle fires differently

airalarms + + + + +

+

A list of all air alarms in this area

airlock_wires + + + + +

+

Wire assignment for airlocks in this area

always_unpowered + + + + +

+

This gets overridden to 1 for space in area/.

ambient_buzz + + + + +

+

The background droning loop that plays 24/7

ambient_buzz_vol + + + + +

+

The volume of the ambient buzz

ambientsounds + + + + +

+

A list of sounds to pick from every so often to play to clients.

area_has_base_lighting + + + + +

+

Whether this area has a currently active base lighting, bool

area_lighting + + + + +

+

What type of lighting this area uses

area_limited_icon_smoothing + + + + +

+

Typepath to limit the areas (subtypes included) that atoms in this area can smooth with. Used for shuttles.

areasize + + + + +

+

Size of the area in open turfs, only calculated for indoors areas.

base_lighting_alpha + + + + +

+

alpha 1-255 of lighting_effect and thus baselighting intensity. If you want this to be zero, use AREA_LIGHTING_NONE instead!

base_lighting_color + + + + +

+

The colour of the light acting on this area

beauty + + + + +

+

Beauty average per open turf in the area

beauty_threshold + + + + +

+

If a room is too big it doesn't have beauty.

contained_turfs + + + + +

+

List of all turfs currently inside this area. Acts as a filtered bersion of area.contents +For faster lookup (area.contents is actually a filtered loop over world) +Semi fragile, but it prevents stupid so I think it's worth it

fire_detect + + + + +

+

A var for whether the area allows for detecting fires/etc. Disabled or enabled at a fire alarm.

firealarms + + + + +

+

A list of all fire alarms in this area OR ADJACENT TO IT

firedoors + + + + +

+

A list of all fire locks in this area and on the border of this area.

forced_ambience + + + + +

+

Does this area immediately play an ambience track upon enter?

lighting_effect + + + + +

+

The mutable appearance we underlay to show light

lights + + + + +

+

All the lights in this area

map_generator + + + + +

+

This datum, if set, allows terrain generation behavior to be ran on Initialize()

max_ambience_cooldown + + + + +

+

Used to decide what the maximum time between ambience is

min_ambience_cooldown + + + + +

+

Used to decide what the minimum time between ambience is

outdoors + + + + +

+

For space, the asteroid, etc. Used with blueprints or with weather to determine if we are adding a new area (vs editing a station room)

requires_power + + + + +

+

Will objects this area be needing power?

sound_environment + + + + +

+

Used to decide what kind of reverb the area makes sound have

spook_level + + + + +

+

Used by ghosts to grant new powers. See /datum/component/spook_factor

totalbeauty + + + + +

+

All beauty in this area combined, only includes indoor area.

turfs_to_uncontain + + + + +

+

Contained turfs is a MASSIVE list, so rather then adding/removing from it each time we have a problem turf +We should instead store a list of turfs to REMOVE from it, then hook into a getter for it +There is a risk of this and contained_turfs leaking, so a subsystem will run it down to 0 incrementally if it gets too large

Proc Details

AllowDrop +

+

Causes a runtime error

Destroy +

+

Destroy an area and clean it up

+

Removes the area from GLOB.areas_by_type and also stops it processing on SSobj

+

This is despite the fact that no code appears to put it on SSobj, but +who am I to argue with old coders

Entered +

+

Call back when an atom enters an area

+

Sends signals COMSIG_AREA_ENTERED and COMSIG_ENTER_AREA (to a list of atoms)

+

If the area has ambience, then it plays some ambience music to the ambience channel

Exited +

+

Called when an atom exits an area

+

Sends signals COMSIG_AREA_EXITED and COMSIG_EXIT_AREA (to a list of atoms)

LateInitialize +

+

Sets machine power levels in the area

New +

+

Called when an area loads

+

Adds the item to the GLOB.areas_by_type list based on area type

PlaceOnTopReact +

+

A hook so areas can modify the incoming args (of what??)

addStaticPower +

+

Add a static amount of power load to an area

+

Possible channels +*AREA_USAGE_STATIC_EQUIP +*AREA_USAGE_STATIC_LIGHT +*AREA_USAGE_STATIC_ENVIRON

adjust_spook_level +

+

Adjusts the spook level and sends out a signal

burglaralert +

+

Raise a burglar alert for this area

+

Close and locks all doors in the area and alerts silicon mobs of a break in

+

Alarm auto resets after 600 ticks

cannonize_contained_turfs +

+

Ensures that the contained_turfs list properly represents the turfs actually inside us

clear_usage +

+

Clear all non-static power usage in area

+

Clears all power used for the dynamic equipment, light and environment channels

close_and_lock_door +

+

Close and lock a door passed into this proc

+

Does this need to exist on area? probably not

communicate_fire_alert +

+

Called by airalarms and firealarms to communicate the status of the area to relevant machines

create_area_lighting_objects +

+

regenerates lighting objects for turfs in this area, primary use is VV changes

drop_location +

+

Causes a runtime error

has_contained_turfs +

+

Returns TRUE if we have contained turfs, FALSE otherwise

on_joining_game +

+

Called when a living mob that spawned here, joining the round, receives the player client.

play_ambience +

+

Attempts to play an ambient sound to a mob, returning the cooldown in deciseconds

power_change +

+

Called when the area power status changes

+

Updates the area icon, calls power change on all machinees in the area, and sends the COMSIG_AREA_POWER_CHANGE signal.

powered +

+

Returns int 1 or 0 if the area has power for the given channel

+

evalutes a mixture of variables mappers can set, requires_power, always_unpowered and then +per channel power_equip, power_light, power_environ

reg_in_areas_in_z +

+

Register this area as belonging to a z level

+

Ensures the item is added to the SSmapping.areas_in_z list for this z

removeStaticPower +

+

Remove a static amount of power load to an area

+

Possible channels +*AREA_USAGE_STATIC_EQUIP +*AREA_USAGE_STATIC_LIGHT +*AREA_USAGE_STATIC_ENVIRON

remove_area_lighting_objects +

+

Removes lighting objects from turfs in this area if we have them, primary use is VV changes

setup +

+

Setup an area (with the given name)

+

Sets the area name, sets all status var's to false and adds the area to the sorted area list

update_areasize +

+

Set the area size of the area

+

This is the number of open turfs in the area contents, or FALSE if the outdoors var is set

update_beauty +

+

Divides total beauty in the room by roomsize to allow us to get an average beauty per tile.

use_power +

+

Add a power value amount to the stored used_x variables

+ + + diff --git a/area/space.html b/area/space.html new file mode 100644 index 000000000000..9c0c3e94f502 --- /dev/null +++ b/area/space.html @@ -0,0 +1,42 @@ + + + + + + + /area/space - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

space + + + +

+ + + +

Procs

poweredSpace is not powered ever, so this returns false
update_icon_stateUpdate the icon of the area (overridden to always be null for space

Proc Details

powered +

+

Space is not powered ever, so this returns false

update_icon_state +

+

Update the icon of the area (overridden to always be null for space

+ + + diff --git a/area/station/ai_monitored/turret_protected.html b/area/station/ai_monitored/turret_protected.html new file mode 100644 index 000000000000..b400ebdbdad5 --- /dev/null +++ b/area/station/ai_monitored/turret_protected.html @@ -0,0 +1,36 @@ + + + + + + + /area/station/ai_monitored/turret_protected - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

turret_protected + + + +

+ + +

Vars

ai_will_not_hear_thisSome sounds (like the space jam) are terrible when on loop. We use this varaible to add it to other AI areas, but override it to keep it from the AI's core.
+

Var Details

ai_will_not_hear_this + + + + +

+

Some sounds (like the space jam) are terrible when on loop. We use this varaible to add it to other AI areas, but override it to keep it from the AI's core.

+ + + diff --git a/area/station/maintenance.html b/area/station/maintenance.html new file mode 100644 index 000000000000..8bc3a27944b1 --- /dev/null +++ b/area/station/maintenance.html @@ -0,0 +1,36 @@ + + + + + + + /area/station/maintenance - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

maintenance + + + +

+ + +

Vars

minecraft_cave_noisesA list of rare sound effects to fuck with players.
+

Var Details

minecraft_cave_noises + + + + +

+

A list of rare sound effects to fuck with players.

+ + + diff --git a/atom.html b/atom.html new file mode 100644 index 000000000000..5268c83248ec --- /dev/null +++ b/atom.html @@ -0,0 +1,2431 @@ + + + + + + + /atom - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

atom + + + +

+ +

The base type for nearly all physical objects in SS13

+

Lots and lots of functionality lives here, although in general we are striving to move +as much as possible to the components/elements system

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_hud_listall of this atom's HUD images which can actually be seen by players with that hud
add_overlaysa very temporary list of overlays to add
ai_controllerAI controller that controls this atom. type on init, then turned into an instance during runtime. +Note: If you are for some reason giving this to a non-mob, it needs to create it's own in Initialize()
armorAtom armor. Use returnArmor()
articleIf non-null, overrides a/an/some in all cases
atom_coloursused to store the different colors on an atom
atom_storagethe datum handler for our contents - see create_storage() for creation method
base_icon_stateUsed for changing icon states for different base sprites.
base_pixel_xDefault pixel x shifting for the atom's icon.
base_pixel_yDefault pixel y shifting for the atom's icon.
bottom_left_cornerSmoothing variable
bottom_right_cornerSmoothing variable
buckle_message_cooldownCooldown tick timer for buckle messages
canSmoothWithList of smoothing groups this atom can smooth with. If this is null and atom is smooth, it smooths only with itself. Must be sorted.
can_astar_passHow this atom should react to having its astar blocking checked
chat_colorLast color calculated for the the chatmessage overlays
chat_color_darkenedA luminescence-shifted value of the last color calculated for chatmessage overlays
chat_color_nameLast name used to calculate a color for the chatmessage overlays
custom_materialsThe custom materials this atom is made of, used by a lot of things like furniture, walls, and floors (if I finish the functionality, that is.) +The list referenced by this var can be shared by multiple objects and should not be directly modified. Instead, use set_custom_materials.
damage_deflectionDamage under this value will be completely ignored
debris_amountAmount of debris particles
debris_icon_stateIcon state of debris when impacted by a projectile
debris_scaleScale of particle debris
debris_velocityVelocity of debris particles
explosion_blockValue used to increment ex_act() if reactionary_explosions is on
fingerprintslastLast fingerprints to touch this atom
flags_1First atom flags var
flags_2Second atom flags var
forensicsForensics datum, initialzed when needed.
greyscale_colorsA string of hex format colors to be used by greyscale sprites, ex: "#0054aa#badcff"
greyscale_configThe config type to use for greyscaled sprites. Both this and greyscale_colors must be assigned to work.
hud_listall of this atom's HUD (med/sec, etc) images. Associative list of the form: list(hud category = hud image or images for that category). +most of the time hud category is associated with a single image, sometimes its associated with a list of images. +not every hud in this list is actually used. for ones available for others to see, look at active_hud_list.
hud_possibleHUD images that this atom can provide.
in_atom_hudsA list of atom huds this object is within
initializedHas this atom's constructor ran?
interaction_flags_atomIntearaction flags
is_mouseover_interactable!DO NOT DIRECTLY EDIT! Can mobs "interact" with this item? THIS IS ONLY USED FOR MOUSE ICONS. SEE interactables.dm.
lightOur light source. Don't fuck with this directly unless you have a good reason!
light_colorHexadecimal RGB string representing the colour of the light. White by default.
light_falloff_curveAdjusts curve for falloff gradient
light_flagsBitflags to determine lighting-related atom properties.
light_inner_rangeRange of the maximum brightness of light in tiles. Zero means no light.
light_onBoolean variable for toggleable lights. Has no effect without the proper light_system, light_range and light_power values.
light_outer_rangeRange where light begins to taper into darkness in tiles.
light_powerIntensity of the light. The stronger, the less shadows you will see on the lit area.
light_sourcesAny light sources that are "inside" of us, for example, if src here was a mob that's carrying a flashlight, that flashlight's light source would be part of this list.
light_systemLight systems, both shouldn't be active at the same time.
managed_overlaysoverlays managed by update_overlays to prevent removing overlays that weren't added by the same proc. Single items are stored on their own, not in a list.
managed_vis_overlaysvis overlays managed by SSvis_overlays to automaticaly turn them like other overlays.
material_flagsBitfield for how the atom handles materials.
material_modifierModifier that raises/lowers the effect of the amount of a material, prevents small and easy to get items from being death machines.
mergersHolds merger groups currently active on the atom. Do not access directly, use GetMergeGroup() instead.
orbit_targetReference to atom being orbited
pass_flags_selfpass_flags that we are. If any of this matches a pass_flag on a moving thing, by default, we let them through.
rad_insulationRadiation insulation types
reagentsReagents holder
receive_ricochet_chance_modWhen a projectile tries to ricochet off this atom, the projectile ricochet chance is multiplied by this
receive_ricochet_damage_coeffWhen a projectile ricochets off this atom, it deals the normal damage * this modifier to this atom
remove_overlaysa very temporary list of overlays to remove
smoothing_flagsIcon-smoothing behavior.
smoothing_groupsWhat smoothing groups does this atom belongs to, to match canSmoothWith. If null, nobody can smooth with it. Must be sorted.
smoothing_junctionWhat directions this is currently smoothing with. IMPORTANT: This uses the smoothing direction flags as defined in icon_smoothing.dm, instead of the BYOND flags.
top_left_cornerSmoothing variable
top_right_cornerSmoothing variable
uses_integrityany atom that uses integrity and can be damaged must set this to true, otherwise the integrity procs will throw an error

Procs

AllowDropAre you allowed to drop this atom
AltClickNoInteractUse this instead of /mob/proc/AltClickOn where you only want turf content listing without additional atom alt-click interaction
BeamThis is what you use to start a beam. Example: origin.Beam(target, args). Store the return of this proc if you don't set maxdist or time, you need it to delete the beam.
CanAStarPassThis proc is used for telling whether something can pass by this atom in a given direction, for use by the pathfinding system.
CanAllowThroughReturns true or false to allow the mover to move through src
CanMoveOntoA version of CanPass() that accounts for vertical movement.
CanPassWhether the mover object can avoid being blocked by this atom, while arriving from (or leaving through) the border_dir.
CheckPartsEnsure a list of atoms/reagents exists inside this atom
ClickBefore anything else, defer these calls to a per-mobtype handler. This allows us to +remove istype() spaghetti code, but requires the addition of other handler procs to simplify it.
DestroyTop level of the destroy chain for most atoms
EnteredAn atom has entered this atom's contents
ExitAn atom is attempting to exit this atom's contents
ExitedAn atom has exited this atom's contents
GetExplosionBlockreturns how much the object blocks an explosion. Used by subtypes.
GetMergeGroupGets a merger datum representing the connected blob of objects in the allowed_types argument
HasProximityIs this atom within 1 tile of another atom
InitializeThe primary method that objects are setup in SS13 with
IsObscuredIs the atom obscured by a PREVENT_CLICK_UNDER_1 object above it
LateInitializeLate Intialization, for code that should run after all atoms have run Intialization
NewCalled when an atom is created in byond (built in engine proc)
ShakePerform a shake on an atom, resets its position afterwards
ShowProcessingGuiCreates the radial and processes the selected option
TopicPasses Stat Browser Panel clicks to the game and calls client click on an atom
_Clickstupid workaround for byond not recognizing the /atom/Click typepath for the queued click callbacks
acid_actRespond to acid being used on our atom
add_atom_colourAdds an instance of colour_type to the atom's atom_colours list
add_blood_DNAReturns TRUE if new blood dna was added.
add_contextCreates a "Type-B" contextual screentip interaction. +When a user hovers over this, this proc will be called in order +to provide context for contextual screentips. +You must call register_context() in order for this to be registered. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +source can, in all cases, be replaced with src, and only exists because this proc directly connects to a signal.
add_fiber_listAdd a list of fibers
add_fibersAdds the fibers of M to our fiber list.
add_fingerprintAdds the fingerprint of M to our fingerprint list. Ignoregloves will ignore any gloves they may be wearing.
add_fingerprint_listAdd a list of fingerprints
add_gunshot_residueAdd a list of residues
add_mob_bloodto add blood from a mob onto something, and transfer their dna info
airflow_hit_actCalled when "flying" calls airflow_hit() on src
alt_click_on_secondaryThe base proc of when something is right clicked on when alt is held - generally use alt_click_secondary instead
alt_click_secondaryThe base proc of when something is right clicked on when alt is held
analyzer_actCalled on an object when a tool with analyzer capabilities is used to left click an object
analyzer_act_secondaryCalled on an object when a tool with analyzer capabilities is used to right click an object
assume_airTake air from the passed in gas mixture datum
atmos_exposeThis is your process() proc
atom_breakCalled after the atom takes damage and integrity is below integrity_failure level
atom_destructionwhat happens when the atom's integrity reaches zero.
atom_fixCalled when integrity is repaired above the breaking point having been broken before
attack_ai_secondaryWhat happens when the AI holds right-click on an item. Returns a SECONDARY_ATTACK_* value.
attack_droneDefaults to attack_hand or attack_hand_secondary. Override it when you don't want drones to do same stuff as humans.
attack_grabInteraction handler for being clicked on with a grab. This is called regardless of user intent.
attack_handReturn TRUE to cancel other attack hand effects that respect it. Modifiers is the assoc list for click info such as if it was a right click.
attack_hand_secondaryWhen the user uses their hand on an item while holding right-click +Returns a SECONDARY_ATTACK_* value.
attack_hulkThis atom has been hit by a hulkified mob in hulk mode (user)
attack_pawAttacked by monkey
attack_robot_secondaryWhat happens when the cyborg without active module holds right-click on an item. Returns a SECONDARY_ATTACK_* value.
attack_self_tkTelekinesis item attack_self act.
attack_tkTelekinesis attack act, happens when the TK user clicks on a non-adjacent target in range.
attackbyCalled on an object being hit by an item
attackby_secondaryCalled on an object being right-clicked on by an item
attacked_byCalled from [/obj/item/proc/attack_atom] and /obj/item/proc/attack if the attack succeeds
attempt_chargeUsed to attempt to charge an object with a payment component.
audible_messageShow a message to all mobs in earshot of this atom
balloon_alertCreates text that will float from the atom upwards to the viewer.
balloon_alert_to_viewersCreate balloon alerts (text that floats up) to everything within range. +Will only display to people who can see.
become_atmos_sensitiveallows this movable to know when it's container's temperature has changed
bitmask_smoothBasic smoothing proc. The atom checks for adjacent directions to smooth with and changes the icon_state based on that.
blob_actReact to a hit by a blob objecd
bullet_actReact to a hit by a projectile object
calculate_adjacenciesScans all adjacent turfs to find targets to smooth with.
check_eyeCheck if this atoms eye is still alive (probably)
check_projectile_armorA cut-out proc for /atom/proc/bullet_act so living mobs can have their own armor behavior checks without causing issues with needing their own on_hit call
clone_storageA quick and easy way to /clone/ a storage datum for an atom (does not copy over contents, only the datum details)
connect_to_shuttleConnect this atom to a shuttle
container_resist_actCalled when something resists while this atom is its loc
containsReturns true if the src countain the atom target
contents_explosionHandle what happens when your contents are exploded by a bomb
create_forensicsCreates our forensics datum
create_reagentsConvenience proc to create a reagents holder for an atom
create_storageA quick and easy way to create a storage datum for an atom
crowbar_actCalled on an object when a tool with crowbar capabilities is used to left click an object
crowbar_act_secondaryCalled on an object when a tool with crowbar capabilities is used to right click an object
cut_overlaysTracks the current index into build_overlays so that we can preserve ordering.
do_alert_animationDoes the MGS ! animation
do_hurt_animationPlays an animation for getting hit.
drop_locationWhere atoms should drop if taken from this atom
emag_actRespond to an emag being used on our atom
emp_actReact to an EMP of the given severity
ex_actReact to being hit by an explosion
examineCalled when a mob examines (shift click or verb) this atom
examine_moreCalled when a mob examines (shift click or verb) this atom twice (or more) within EXAMINE_MORE_WINDOW (default 1 second)
expose_reagents
find_all_cells_containingdebug proc for checking if a movable is in multiple cells when it shouldnt be (ie always unless multitile entering is implemented)
find_type_in_directionScans direction to find targets to smooth with.
get_all_contentsReturns the src and all recursive contents as a list.
get_all_contents_ignoringLike get_all_contents_type, but uses a typecache list as argument
get_all_contents_typeidentical to get_all_contents but returns a list of atoms of the type passed in the argument.
get_all_orbitersRecursive getter method to return a list of all ghosts orbitting this atom
get_antag_infoReturns a list of antagonist-related information about this object.
get_controls_infoReturns a list of controls information about this object.
get_custom_material_amountGets the total amount of materials in this atom.
get_dumping_locationIf someone's trying to dump items onto our atom, where should they be dumped to?
get_examine_nameGet the name of this object for examine
get_examine_stringGenerate the full examine string of this atom (including icon for goonchat)
get_hud_pixel_yReturns a pixel_y value to use for hud code
get_id_examine_stringsReturns an extended list of examine strings for any contained ID cards.
get_integrityThis mostly exists to keep atom_integrity private. Might be useful in the future.
get_integrity_percentageRetrieves the atom's current damage as a percentage where 100% is 100. +If use_raw_values is TRUE, uses the raw var values instead of the get_* proc results.
get_lore_infoReturns a list of lore information about this object.
get_master_materialGets the most common material in the object.
get_material_compositionReturns the material composition of the atom.
get_mechanics_infoReturns a list of mechanics information for this object.
get_name_chaserUsed to insert text after the name but before the description in examine()
get_remote_view_fullscreensthe vision impairment to give to the mob whose perspective is set to that atom
handle_atom_delThis proc is called when an atom in our contents has it's Destroy called
handle_fallUsed for making a sound when a mob involuntarily falls into the ground.
handle_slipHandle the atom being slipped over
has_gravityReturns true if this atom has gravity for the passed in turf
has_material_categoryFetches a list of all of the materials this object has with the desired material category.
has_material_typeFetches a list of all of the materials this object has of the desired type. Returns null if there is no valid materials of the type
hear_locationWhat atom is actually "Hearing".
hitbyReact to being hit by a thrown object
hitby_reactWe have have actually hit the passed in atom
hulk_damageCalled to get the damage that hulks will deal to the atom.
in_contents_ofReturn true if we're inside the passed in atom
is_drainableIs this atom drainable of reagents
is_drawableCan we draw from this atom with an injectable atom
is_injectableIs this atom injectable into other atoms
is_open_containerConvenience proc to see if a container is open for chemistry handling
is_refillableCan this atoms reagents be refilled
isinspaceIs this atom in space
log_messageGeneric logging helper
log_talkHelper for logging chat messages or other logs with arbitrary inputs(e.g. announcements)
log_touchFor admins. Logs when mobs players with this thing.
lose_atmos_sensitivityremoves temperature sensitivity
makeHologramMakes this atom look like a "hologram" +So transparent, blue and with a scanline
mat_update_descThis proc is called when a material updates an object's description
mech_melee_attack
modify_max_integritychanges max_integrity while retaining current health percentage, returns TRUE if the atom got broken.
multitool_actCalled on an object when a tool with multitool capabilities is used to left click an object
multitool_act_secondaryCalled on an object when a tool with multitool capabilities is used to right click an object
multitool_check_bufferCheck if the multitool has an item in it's data buffer
narsie_actRespond to narsie eating our atom
ninjadrain_actAtom level proc for space ninja's glove interactions.
onAwayMissionIs the atom in an away mission
onCentComIs this atom currently located on centcom
onSyndieBaseIs the atom in any of the centcom syndicate areas
on_logCalled when the atom log's in or out
on_mouse_enterFired whenever this atom is the most recent to be hovered over in the tick. +Preferred over MouseEntered if you do not need information such as the position of the mouse. +Especially because this is deferred over a tick, do not trust that client is not null.
play_attack_soundthe sound played when the atom is damaged.
prepare_hudsPrepare the huds for this atom
rcd_actRespond to an RCD acting on our item
rcd_valsReturn the values you get when an RCD eats you?
register_contextCreate a "Type-B" contextual screentip interaction, registering to add_context(). +This will run add_context() when the atom is hovered over by an item for context. +add_context() will not be called unless this is run. +This is not necessary for Type-B interactions, as you can just apply the flag and register to the signal yourself.
relaydriveA special case of relaymove() in which the person relaying the move may be "driving" this atom
relaymoveAn atom we are buckled or is contained within us has tried to move
remove_airRemove air from this atom
remove_atom_colourRemoves an instance of colour_type from the atom's atom_colours list
repair_damageProc for recovering atom_integrity. Returns the amount repaired by
replace_smooth_overlaysInternal: Takes icon states as text to replace smoothing corner overlays
reset_plane_and_layerReset plane and layer values to their defaults.
returnArmorRetreive an atom's armor, creating it if it doesn't exist
return_airReturn the current air environment in this atom
return_analyzable_airReturn the air if we can analyze it
return_breathable_airReturn air that a contained mob will be breathing.
return_temperatureReturn atom temperature
run_atom_armorreturns the damage value of the attack after processing the atom's various armor protections
runechat_prefs_checkReturns the client runechat visible messages preference according to the message type.
rust_heretic_actCauses effects when the atom gets hit by a rust effect from heretics
screwdriver_actCalled on an object when a tool with screwdriver capabilities is used to left click an object
screwdriver_act_secondaryCalled on an object when a tool with screwdriver capabilities is used to right click an object
setArmorSetter for armor
setClosedUsed to set something as 'closed' if it's being used as a supplypod
setDirHook for running code when a dir change occurs
setOpenedUsed to set something as 'open' if it's being used as a supplypod
set_base_pixel_xSetter for the base_pixel_x variable to append behavior related to its changing.
set_base_pixel_ySetter for the base_pixel_y variable to append behavior related to its changing.
set_custom_materialsSets the custom materials for an item.
set_densitySetter for the density variable to append behavior related to its changing.
set_greyscaleHandles updates to greyscale value updates. +The colors argument can be either a list or the full color string. +Child procs should call parent last so the update happens after all changes.
set_hud_image_activeset every hud image in the given category active so other people with the given hud can see it. +Arguments:
set_hud_image_inactivesets every hud image in the given category inactive so no one can see it
set_hud_image_varsUpdate the icon_state of an atom hud image.
set_light_colorSetter for the light color of this atom.
set_light_curveSetter for this atom's light falloff curve.
set_light_flagsSetter for the light flags of this atom.
set_light_onSetter for whether or not this atom's light is on.
set_light_powerSetter for the light power of this atom.
set_light_rangeSetter for the light range of this atom.
set_opacityUpdates the atom's opacity value.
set_smoothed_icon_stateChanges the icon state based on the new junction bitmask. Returns the old junction value.
shuttleRotateBase proc
singularity_actRespond to the singularity eating this atom
singularity_pullRespond to the singularity pulling on us
smooth_icondo not use, use QUEUE_SMOOTH(atom)
take_damageThe essential proc to call when an atom must receive damage of any kind.
tool_actTool behavior procedure. Redirects to tool-specific procs by default.
transfer_mob_blood_dnato add a mob's dna info into an object's blood_dna list.
unsafe_return_airReturn the current air environment in this atom. If this atom is a turf, it will not automatically update the zone.
update_aboveUpdates whatever openspace objects may be mimicking us. On turfs this queues an openturf update on the above openturf, on movables this updates their bound movable (if present). Meaningless on any type other than /turf or /atom/movable (incl. children).
update_appearanceUpdates the appearence of the icon
update_atom_colourResets the atom's color to null, and then sets it to the highest priority colour available
update_descUpdates the description of the atom
update_greyscaleChecks if this atom uses the GAGS system and if so updates the icon
update_iconUpdates the icon of the atom
update_icon_stateUpdates the icon state of the atom
update_integrityHandles the integrity of an atom changing. This must be called instead of changing integrity directly.
update_lightWill update the light (duh). +Creates or destroys it if needed, makes it update values, makes sure it's got the correct source turf...
update_nameUpdates the name of the atom
update_overlaysUpdates the overlays of the atom
update_remote_sightthe sight changes to give to the mob whose perspective is set to that atom
visible_messageGenerate a visible message from this atom
vv_edit_varcall back when a var is edited on this atom
vv_get_dropdownReturn the markup to for the dropdown list for the VV panel for this atom
washWash this atom
welder_actCalled on an object when a tool with welder capabilities is used to left click an object
welder_act_secondaryCalled on an object when a tool with welder capabilities is used to right click an object
wirecutter_actCalled on an object when a tool with wirecutter capabilities is used to left click an object
wirecutter_act_secondaryCalled on an object when a tool with wirecutter capabilities is used to right click an object
wrench_actCalled on an object when a tool with wrench capabilities is used to left click an object
wrench_act_secondaryCalled on an object when a tool with wrench capabilities is used to right click an object
zap_actRespond to an electric bolt action on our item
zas_canpassChecks whether or not ZAS can occupy this atom's turf. Invoked by the ATMOS_CANPASS_TURF macro.
zas_update_locTells ZAS to mark the tile the atom is in to update.
+

Var Details

active_hud_list + + + + +

+

all of this atom's HUD images which can actually be seen by players with that hud

add_overlays + + + + +

+

a very temporary list of overlays to add

ai_controller + + + + +

+

AI controller that controls this atom. type on init, then turned into an instance during runtime. +Note: If you are for some reason giving this to a non-mob, it needs to create it's own in Initialize()

armor + + + + +

+

Atom armor. Use returnArmor()

article + + + + +

+

If non-null, overrides a/an/some in all cases

atom_colours + + + + +

+

used to store the different colors on an atom

+

its inherent color, the colored paint applied on it, special color effect etc...

atom_storage + + + + +

+

the datum handler for our contents - see create_storage() for creation method

base_icon_state + + + + +

+

Used for changing icon states for different base sprites.

base_pixel_x + + + + +

+

Default pixel x shifting for the atom's icon.

base_pixel_y + + + + +

+

Default pixel y shifting for the atom's icon.

bottom_left_corner + + + + +

+

Smoothing variable

bottom_right_corner + + + + +

+

Smoothing variable

buckle_message_cooldown + + + + +

+

Cooldown tick timer for buckle messages

canSmoothWith + + + + +

+

List of smoothing groups this atom can smooth with. If this is null and atom is smooth, it smooths only with itself. Must be sorted.

can_astar_pass + + + + +

+

How this atom should react to having its astar blocking checked

chat_color + + + + +

+

Last color calculated for the the chatmessage overlays

chat_color_darkened + + + + +

+

A luminescence-shifted value of the last color calculated for chatmessage overlays

chat_color_name + + + + +

+

Last name used to calculate a color for the chatmessage overlays

custom_materials + + + + +

+

The custom materials this atom is made of, used by a lot of things like furniture, walls, and floors (if I finish the functionality, that is.) +The list referenced by this var can be shared by multiple objects and should not be directly modified. Instead, use set_custom_materials.

damage_deflection + + + + +

+

Damage under this value will be completely ignored

debris_amount + + + + +

+

Amount of debris particles

debris_icon_state + + + + +

+

Icon state of debris when impacted by a projectile

debris_scale + + + + +

+

Scale of particle debris

debris_velocity + + + + +

+

Velocity of debris particles

explosion_block + + + + +

+

Value used to increment ex_act() if reactionary_explosions is on

fingerprintslast + + + + +

+

Last fingerprints to touch this atom

flags_1 + + + + +

+

First atom flags var

flags_2 + + + + +

+

Second atom flags var

forensics + + + + +

+

Forensics datum, initialzed when needed.

greyscale_colors + + + + +

+

A string of hex format colors to be used by greyscale sprites, ex: "#0054aa#badcff"

greyscale_config + + + + +

+

The config type to use for greyscaled sprites. Both this and greyscale_colors must be assigned to work.

hud_list + + + + +

+

all of this atom's HUD (med/sec, etc) images. Associative list of the form: list(hud category = hud image or images for that category). +most of the time hud category is associated with a single image, sometimes its associated with a list of images. +not every hud in this list is actually used. for ones available for others to see, look at active_hud_list.

hud_possible + + + + +

+

HUD images that this atom can provide.

in_atom_huds + + + + +

+

A list of atom huds this object is within

initialized + + + + +

+

Has this atom's constructor ran?

interaction_flags_atom + + + + +

+

Intearaction flags

is_mouseover_interactable + + + + +

+

!DO NOT DIRECTLY EDIT! Can mobs "interact" with this item? THIS IS ONLY USED FOR MOUSE ICONS. SEE interactables.dm.

light + + + + +

+

Our light source. Don't fuck with this directly unless you have a good reason!

light_color + + + + +

+

Hexadecimal RGB string representing the colour of the light. White by default.

light_falloff_curve + + + + +

+

Adjusts curve for falloff gradient

light_flags + + + + +

+

Bitflags to determine lighting-related atom properties.

light_inner_range + + + + +

+

Range of the maximum brightness of light in tiles. Zero means no light.

light_on + + + + +

+

Boolean variable for toggleable lights. Has no effect without the proper light_system, light_range and light_power values.

light_outer_range + + + + +

+

Range where light begins to taper into darkness in tiles.

light_power + + + + +

+

Intensity of the light. The stronger, the less shadows you will see on the lit area.

light_sources + + + + +

+

Any light sources that are "inside" of us, for example, if src here was a mob that's carrying a flashlight, that flashlight's light source would be part of this list.

light_system + + + + +

+

Light systems, both shouldn't be active at the same time.

managed_overlays + + + + +

+

overlays managed by update_overlays to prevent removing overlays that weren't added by the same proc. Single items are stored on their own, not in a list.

managed_vis_overlays + + + + +

+

vis overlays managed by SSvis_overlays to automaticaly turn them like other overlays.

material_flags + + + + +

+

Bitfield for how the atom handles materials.

material_modifier + + + + +

+

Modifier that raises/lowers the effect of the amount of a material, prevents small and easy to get items from being death machines.

mergers + + + + +

+

Holds merger groups currently active on the atom. Do not access directly, use GetMergeGroup() instead.

orbit_target + + + + +

+

Reference to atom being orbited

pass_flags_self + + + + +

+

pass_flags that we are. If any of this matches a pass_flag on a moving thing, by default, we let them through.

rad_insulation + + + + +

+

Radiation insulation types

reagents + + + + +

+

Reagents holder

receive_ricochet_chance_mod + + + + +

+

When a projectile tries to ricochet off this atom, the projectile ricochet chance is multiplied by this

receive_ricochet_damage_coeff + + + + +

+

When a projectile ricochets off this atom, it deals the normal damage * this modifier to this atom

remove_overlays + + + + +

+

a very temporary list of overlays to remove

smoothing_flags + + + + +

+

Icon-smoothing behavior.

smoothing_groups + + + + +

+

What smoothing groups does this atom belongs to, to match canSmoothWith. If null, nobody can smooth with it. Must be sorted.

smoothing_junction + + + + +

+

What directions this is currently smoothing with. IMPORTANT: This uses the smoothing direction flags as defined in icon_smoothing.dm, instead of the BYOND flags.

top_left_corner + + + + +

+

Smoothing variable

top_right_corner + + + + +

+

Smoothing variable

uses_integrity + + + + +

+

any atom that uses integrity and can be damaged must set this to true, otherwise the integrity procs will throw an error

Proc Details

AllowDrop +

+

Are you allowed to drop this atom

AltClickNoInteract +

+

Use this instead of /mob/proc/AltClickOn where you only want turf content listing without additional atom alt-click interaction

Beam +

+

This is what you use to start a beam. Example: origin.Beam(target, args). Store the return of this proc if you don't set maxdist or time, you need it to delete the beam.

+

Unless you're making a custom beam effect (see the beam_type argument), you won't actually have to mess with any other procs. Make sure you store the return of this Proc, you'll need it +to kill the beam. +Arguments: +BeamTarget: Where you're beaming from. Where do you get origin? You didn't read the docs, fuck you. +icon_state: What the beam's icon_state is. The datum effect isn't the ebeam object, it doesn't hold any icon and isn't type dependent. +icon: What the beam's icon file is. Don't change this, man. All beam icons should be in beam.dmi anyways. +maxdistance: how far the beam will go before stopping itself. Used mainly for two things: preventing lag if the beam may go in that direction and setting a range to abilities that use beams. +beam_type: The type of your custom beam. This is for adding other wacky stuff for your beam only. Most likely, you won't (and shouldn't) change it.

CanAStarPass +

+

This proc is used for telling whether something can pass by this atom in a given direction, for use by the pathfinding system.

+

Trying to generate one long path across the station will call this proc on every single object on every single tile that we're seeing if we can move through, likely +multiple times per tile since we're likely checking if we can access said tile from multiple directions, so keep these as lightweight as possible.

+

For turfs this will only be used if pathing_pass_method is TURF_PATHING_PASS_PROC

+

Arguments:

+ +

IMPORTANT NOTE: /turf/proc/LinkBlockedWithAccess assumes that overrides of CanAStarPass will always return true if density is FALSE +If this is NOT you, ensure you edit your can_astar_pass variable. Check __DEFINES/path.dm

CanAllowThrough +

+

Returns true or false to allow the mover to move through src

CanMoveOnto +

+

A version of CanPass() that accounts for vertical movement.

CanPass +

+

Whether the mover object can avoid being blocked by this atom, while arriving from (or leaving through) the border_dir.

CheckParts +

+

Ensure a list of atoms/reagents exists inside this atom

+

Goes throught he list of passed in parts, if they're reagents, adds them to our reagent holder +creating the reagent holder if it exists.

+

If the part is a moveable atom and the previous location of the item was a mob/living, +it calls the inventory handler transferItemToLoc for that mob/living and transfers the part +to this atom

+

Otherwise it simply forceMoves the atom into this atom

Click +

+

Before anything else, defer these calls to a per-mobtype handler. This allows us to +remove istype() spaghetti code, but requires the addition of other handler procs to simplify it.

+

Alternately, you could hardcode every mob's variation in a flat /mob/proc/ClickOn proc; however, +that's a lot of code duplication and is hard to maintain.

+

Note that this proc can be overridden, and is in the case of screen objects.

Destroy +

+

Top level of the destroy chain for most atoms

+

Cleans up the following:

+

Entered +

+

An atom has entered this atom's contents

+

Default behaviour is to send the COMSIG_ATOM_ENTERED

Exit +

+

An atom is attempting to exit this atom's contents

+

Default behaviour is to send the COMSIG_ATOM_EXIT

Exited +

+

An atom has exited this atom's contents

+

Default behaviour is to send the COMSIG_ATOM_EXITED

GetExplosionBlock +

+

returns how much the object blocks an explosion. Used by subtypes.

GetMergeGroup +

+

Gets a merger datum representing the connected blob of objects in the allowed_types argument

HasProximity +

+

Is this atom within 1 tile of another atom

Initialize +

+

The primary method that objects are setup in SS13 with

+

we don't use New as we have better control over when this is called and we can choose +to delay calls or hook other logic in and so forth

+

During roundstart map parsing, atoms are queued for intialization in the base atom/New(), +After the map has loaded, then Initalize is called on all atoms one by one. NB: this +is also true for loading map templates as well, so they don't Initalize until all objects +in the map file are parsed and present in the world

+

If you're creating an object at any point after SSInit has run then this proc will be +immediately be called from New.

+

mapload: This parameter is true if the atom being loaded is either being intialized during +the Atom subsystem intialization, or if the atom is being loaded from the map template. +If the item is being created at runtime any time after the Atom subsystem is intialized then +it's false.

+

The mapload argument occupies the same position as loc when Initialize() is called by New(). +loc will no longer be needed after it passed New(), and thus it is being overwritten +with mapload at the end of atom/New() before this proc (atom/Initialize()) is called.

+

You must always call the parent of this proc, otherwise failures will occur as the item +will not be seen as initalized (this can lead to all sorts of strange behaviour, like +the item being completely unclickable)

+

You must not sleep in this proc, or any subprocs

+

Any parameters from new are passed through (excluding loc), naturally if you're loading from a map +there are no other arguments

+

Must return an initialization hint or a runtime will occur.

+

Note: the following functions don't call the base for optimization and must copypasta handling:

+

IsObscured +

+

Is the atom obscured by a PREVENT_CLICK_UNDER_1 object above it

LateInitialize +

+

Late Intialization, for code that should run after all atoms have run Intialization

+

To have your LateIntialize proc be called, your atoms Initalization +proc must return the hint +INITIALIZE_HINT_LATELOAD otherwise you will never be called.

+

useful for doing things like finding other machines using INSTANCES_OF() because you can guarantee +that all atoms will actually exist in the "WORLD" at this time and that all their Intialization +code has been run

New +

+

Called when an atom is created in byond (built in engine proc)

+

Not a lot happens here in SS13 code, as we offload most of the work to the +Intialization proc, mostly we run the preloader +if the preloader is being used and then call InitAtom of which the ultimate +result is that the Intialize proc is called.

Shake +

+

Perform a shake on an atom, resets its position afterwards

ShowProcessingGui +

+

Creates the radial and processes the selected option

Topic +

+

Passes Stat Browser Panel clicks to the game and calls client click on an atom

_Click +

+

stupid workaround for byond not recognizing the /atom/Click typepath for the queued click callbacks

acid_act +

+

Respond to acid being used on our atom

+

Default behaviour is to send COMSIG_ATOM_ACID_ACT and return

add_atom_colour +

+

Adds an instance of colour_type to the atom's atom_colours list

add_blood_DNA +

+

Returns TRUE if new blood dna was added.

add_context +

+

Creates a "Type-B" contextual screentip interaction. +When a user hovers over this, this proc will be called in order +to provide context for contextual screentips. +You must call register_context() in order for this to be registered. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +source can, in all cases, be replaced with src, and only exists because this proc directly connects to a signal.

add_fiber_list +

+

Add a list of fibers

add_fibers +

+

Adds the fibers of M to our fiber list.

add_fingerprint +

+

Adds the fingerprint of M to our fingerprint list. Ignoregloves will ignore any gloves they may be wearing.

add_fingerprint_list +

+

Add a list of fingerprints

add_gunshot_residue +

+

Add a list of residues

add_mob_blood +

+

to add blood from a mob onto something, and transfer their dna info

airflow_hit_act +

+

Called when "flying" calls airflow_hit() on src

alt_click_on_secondary +

+

The base proc of when something is right clicked on when alt is held - generally use alt_click_secondary instead

alt_click_secondary +

+

The base proc of when something is right clicked on when alt is held

analyzer_act +

+

Called on an object when a tool with analyzer capabilities is used to left click an object

analyzer_act_secondary +

+

Called on an object when a tool with analyzer capabilities is used to right click an object

assume_air +

+

Take air from the passed in gas mixture datum

atmos_expose +

+

This is your process() proc

atom_break +

+

Called after the atom takes damage and integrity is below integrity_failure level

atom_destruction +

+

what happens when the atom's integrity reaches zero.

atom_fix +

+

Called when integrity is repaired above the breaking point having been broken before

attack_ai_secondary +

+

What happens when the AI holds right-click on an item. Returns a SECONDARY_ATTACK_* value.

+

Arguments:

+

attack_drone +

+

Defaults to attack_hand or attack_hand_secondary. Override it when you don't want drones to do same stuff as humans.

attack_grab +

+

Interaction handler for being clicked on with a grab. This is called regardless of user intent.

+

Parameters:

+ +

Returns boolean to indicate whether the attack call was handled or not. If FALSE, the next use_* proc in the +resolve chain will be called.

attack_hand +

+

Return TRUE to cancel other attack hand effects that respect it. Modifiers is the assoc list for click info such as if it was a right click.

attack_hand_secondary +

+

When the user uses their hand on an item while holding right-click +Returns a SECONDARY_ATTACK_* value.

attack_hulk +

+

This atom has been hit by a hulkified mob in hulk mode (user)

attack_paw +

+

Attacked by monkey

attack_robot_secondary +

+

What happens when the cyborg without active module holds right-click on an item. Returns a SECONDARY_ATTACK_* value.

+

Arguments:

+

attack_self_tk +

+

Telekinesis item attack_self act.

+

attack_tk +

+

Telekinesis attack act, happens when the TK user clicks on a non-adjacent target in range.

+

attackby +

+

Called on an object being hit by an item

+

Arguments:

+ +

See: /obj/item/proc/melee_attack_chain

attackby_secondary +

+

Called on an object being right-clicked on by an item

+

Arguments:

+ +

See: /obj/item/proc/melee_attack_chain

attacked_by +

+

Called from [/obj/item/proc/attack_atom] and /obj/item/proc/attack if the attack succeeds

attempt_charge +

+

Used to attempt to charge an object with a payment component.

+

Use this if an atom needs to attempt to charge another atom.

audible_message +

+

Show a message to all mobs in earshot of this atom

+

Use for objects performing audible actions

+

vars:

+

balloon_alert +

+

Creates text that will float from the atom upwards to the viewer.

balloon_alert_to_viewers +

+

Create balloon alerts (text that floats up) to everything within range. +Will only display to people who can see.

become_atmos_sensitive +

+

allows this movable to know when it's container's temperature has changed

bitmask_smooth +

+

Basic smoothing proc. The atom checks for adjacent directions to smooth with and changes the icon_state based on that.

+

Returns the previous smoothing_junction state so the previous state can be compared with the new one after the proc ends, and see the changes, if any.

blob_act +

+

React to a hit by a blob objecd

+

default behaviour is to send the COMSIG_ATOM_BLOB_ACT signal

bullet_act +

+

React to a hit by a projectile object

+

Default behaviour is to send the COMSIG_ATOM_BULLET_ACT and then call on_hit on the projectile.

+

@params +hitting_projectile - projectile +def_zone - zone hit +piercing_hit - is this hit piercing or normal?

calculate_adjacencies +

+

Scans all adjacent turfs to find targets to smooth with.

check_eye +

+

Check if this atoms eye is still alive (probably)

check_projectile_armor +

+

A cut-out proc for /atom/proc/bullet_act so living mobs can have their own armor behavior checks without causing issues with needing their own on_hit call

clone_storage +

+

A quick and easy way to /clone/ a storage datum for an atom (does not copy over contents, only the datum details)

connect_to_shuttle +

+

Connect this atom to a shuttle

container_resist_act +

+

Called when something resists while this atom is its loc

contains +

+

Returns true if the src countain the atom target

contents_explosion +

+

Handle what happens when your contents are exploded by a bomb

create_forensics +

+

Creates our forensics datum

create_reagents +

+

Convenience proc to create a reagents holder for an atom

+

Arguments:

+

create_storage +

+

A quick and easy way to create a storage datum for an atom

crowbar_act +

+

Called on an object when a tool with crowbar capabilities is used to left click an object

crowbar_act_secondary +

+

Called on an object when a tool with crowbar capabilities is used to right click an object

cut_overlays +

+

Tracks the current index into build_overlays so that we can preserve ordering.

do_alert_animation +

+

Does the MGS ! animation

do_hurt_animation +

+

Plays an animation for getting hit.

drop_location +

+

Where atoms should drop if taken from this atom

emag_act +

+

Respond to an emag being used on our atom

+

Default behaviour is to send COMSIG_ATOM_EMAG_ACT and return

emp_act +

+

React to an EMP of the given severity

+

Default behaviour is to send the COMSIG_ATOM_EMP_ACT signal

+

If the signal does not return protection, and there are attached wires then we call +emp_pulse on the wires

+

We then return the protection value

ex_act +

+

React to being hit by an explosion

+

Should be called through the EX_ACT wrapper macro. +The wrapper takes care of the COMSIG_ATOM_EX_ACT signal. +as well as calling /atom/proc/contents_explosion.

examine +

+

Called when a mob examines (shift click or verb) this atom

+

Default behaviour is to get the name and icon of the object and it's reagents where +the [TRANSPARENT] flag is set on the reagents holder

+

Produces a signal COMSIG_PARENT_EXAMINE

examine_more +

+

Called when a mob examines (shift click or verb) this atom twice (or more) within EXAMINE_MORE_WINDOW (default 1 second)

+

This is where you can put extra information on something that may be superfluous or not important in critical gameplay +moments, while allowing people to manually double-examine to take a closer look

+

Produces a signal COMSIG_PARENT_EXAMINE_MORE

expose_reagents +

+

find_all_cells_containing +

+

debug proc for checking if a movable is in multiple cells when it shouldnt be (ie always unless multitile entering is implemented)

find_type_in_direction +

+

Scans direction to find targets to smooth with.

get_all_contents +

+

Returns the src and all recursive contents as a list.

get_all_contents_ignoring +

+

Like get_all_contents_type, but uses a typecache list as argument

get_all_contents_type +

+

identical to get_all_contents but returns a list of atoms of the type passed in the argument.

get_all_orbiters +

+

Recursive getter method to return a list of all ghosts orbitting this atom

+

This will work fine without manually passing arguments.

+

get_antag_info +

+

Returns a list of antagonist-related information about this object.

get_controls_info +

+

Returns a list of controls information about this object.

get_custom_material_amount +

+

Gets the total amount of materials in this atom.

get_dumping_location +

+

If someone's trying to dump items onto our atom, where should they be dumped to?

+

Return a loc to place objects, or null to stop dumping.

get_examine_name +

+

Get the name of this object for examine

+

You can override what is returned from this proc by registering to listen for the +COMSIG_ATOM_GET_EXAMINE_NAME signal

get_examine_string +

+

Generate the full examine string of this atom (including icon for goonchat)

get_hud_pixel_y +

+

Returns a pixel_y value to use for hud code

get_id_examine_strings +

+

Returns an extended list of examine strings for any contained ID cards.

+

Arguments:

+

get_integrity +

+

This mostly exists to keep atom_integrity private. Might be useful in the future.

get_integrity_percentage +

+

Retrieves the atom's current damage as a percentage where 100% is 100. +If use_raw_values is TRUE, uses the raw var values instead of the get_* proc results.

get_lore_info +

+

Returns a list of lore information about this object.

get_master_material +

+

Gets the most common material in the object.

get_material_composition +

+

Returns the material composition of the atom.

+

Used when recycling items, specifically to turn alloys back into their component mats.

+

Exists because I'd need to add a way to un-alloy alloys or otherwise deal +with people converting the entire stations material supply into alloys.

+

Arguments:

+

get_mechanics_info +

+

Returns a list of mechanics information for this object.

get_name_chaser +

+

Used to insert text after the name but before the description in examine()

get_remote_view_fullscreens +

+

the vision impairment to give to the mob whose perspective is set to that atom

+

(e.g. an unfocused camera giving you an impaired vision when looking through it)

handle_atom_del +

+

This proc is called when an atom in our contents has it's Destroy called

+

Default behaviour is to simply send COMSIG_ATOM_CONTENTS_DEL

handle_fall +

+

Used for making a sound when a mob involuntarily falls into the ground.

handle_slip +

+

Handle the atom being slipped over

has_gravity +

+

Returns true if this atom has gravity for the passed in turf

+

Sends signals COMSIG_ATOM_HAS_GRAVITY and COMSIG_TURF_HAS_GRAVITY, both can force gravity with +the forced gravity var.

+

micro-optimized to hell because this proc is very hot, being called several times per movement every movement.

+

HEY JACKASS, LISTEN +IF YOU ADD SOMETHING TO THIS PROC, MAKE SURE /mob/living ACCOUNTS FOR IT +Living mobs treat gravity in an event based manner. We've decomposed this proc into different checks +for them to use. If you add more to it, make sure you do that, or things will behave strangely

+

Gravity situations:

+

has_material_category +

+

Fetches a list of all of the materials this object has with the desired material category.

+

Arguments:

+

has_material_type +

+

Fetches a list of all of the materials this object has of the desired type. Returns null if there is no valid materials of the type

+

Arguments:

+

hear_location +

+

What atom is actually "Hearing".

hitby +

+

React to being hit by a thrown object

+

Default behaviour is to call hitby_react on ourselves after 2 seconds if we are dense +and under normal gravity.

+

Im not sure why this the case, maybe to prevent lots of hitby's if the thrown object is +deleted shortly after hitting something (during explosions or other massive events that +throw lots of items around - singularity being a notable example)

hitby_react +

+

We have have actually hit the passed in atom

+

Default behaviour is to move back from the item that hit us

hulk_damage +

+

Called to get the damage that hulks will deal to the atom.

in_contents_of +

+

Return true if we're inside the passed in atom

is_drainable +

+

Is this atom drainable of reagents

is_drawable +

+

Can we draw from this atom with an injectable atom

is_injectable +

+

Is this atom injectable into other atoms

is_open_container +

+

Convenience proc to see if a container is open for chemistry handling

is_refillable +

+

Can this atoms reagents be refilled

isinspace +

+

Is this atom in space

log_message +

+

Generic logging helper

+

reads the type of the log +and writes it to the respective log file +unless log_globally is FALSE +Arguments:

+

log_talk +

+

Helper for logging chat messages or other logs with arbitrary inputs(e.g. announcements)

+

This proc compiles a log string by prefixing the tag to the message +and suffixing what it was forced_by if anything +if the message lacks a tag and suffix then it is logged on its own +Arguments:

+

log_touch +

+

For admins. Logs when mobs players with this thing.

lose_atmos_sensitivity +

+

removes temperature sensitivity

makeHologram +

+

Makes this atom look like a "hologram" +So transparent, blue and with a scanline

mat_update_desc +

+

This proc is called when a material updates an object's description

mech_melee_attack +

+ Mech melee attack +

Called when a mech melees a target with fists +Handles damaging the target & associated effects +return value is number of damage dealt +Arguments:

+

modify_max_integrity +

+

changes max_integrity while retaining current health percentage, returns TRUE if the atom got broken.

multitool_act +

+

Called on an object when a tool with multitool capabilities is used to left click an object

multitool_act_secondary +

+

Called on an object when a tool with multitool capabilities is used to right click an object

multitool_check_buffer +

+

Check if the multitool has an item in it's data buffer

narsie_act +

+

Respond to narsie eating our atom

+

Default behaviour is to send COMSIG_ATOM_NARSIE_ACT and return

ninjadrain_act +

+

Atom level proc for space ninja's glove interactions.

+

Proc which only occurs when space ninja uses his gloves on an atom. +Does nothing by default, but effects will vary. +Arguments:

+

onAwayMission +

+

Is the atom in an away mission

+

Must be in the away mission z-level to return TRUE

+

Also used in gamemode code for win conditions

onCentCom +

+

Is this atom currently located on centcom

+

Specifically, is it on the z level and within the centcom areas

+

You can also be in a shuttleshuttle during endgame transit

+

Used in gamemode to identify mobs who have escaped and for some other areas of the code +who don't want atoms where they shouldn't be

onSyndieBase +

+

Is the atom in any of the centcom syndicate areas

+

Either in the syndie base on centcom, or any of their shuttles

+

Also used in gamemode code for win conditions

on_log +

+

Called when the atom log's in or out

+

Default behaviour is to call on_log on the location this atom is in

on_mouse_enter +

+

Fired whenever this atom is the most recent to be hovered over in the tick. +Preferred over MouseEntered if you do not need information such as the position of the mouse. +Especially because this is deferred over a tick, do not trust that client is not null.

play_attack_sound +

+

the sound played when the atom is damaged.

prepare_huds +

+

Prepare the huds for this atom

+

Goes through hud_possible list and adds the images to the hud_list variable (if not already cached)

rcd_act +

+

Respond to an RCD acting on our item

+

Default behaviour is to send COMSIG_ATOM_RCD_ACT and return FALSE

rcd_vals +

+

Return the values you get when an RCD eats you?

register_context +

+

Create a "Type-B" contextual screentip interaction, registering to add_context(). +This will run add_context() when the atom is hovered over by an item for context. +add_context() will not be called unless this is run. +This is not necessary for Type-B interactions, as you can just apply the flag and register to the signal yourself.

relaydrive +

+

A special case of relaymove() in which the person relaying the move may be "driving" this atom

+

This is a special case for vehicles and ridden animals where the relayed movement may be handled +by the riding component attached to this atom. Returns TRUE as long as there's nothing blocking +the movement, or FALSE if the signal gets a reply that specifically blocks the movement

relaymove +

+

An atom we are buckled or is contained within us has tried to move

+

Default behaviour is to send a warning that the user can't move while buckled as long +as the buckle_message_cooldown has expired (50 ticks)

remove_air +

+

Remove air from this atom

remove_atom_colour +

+

Removes an instance of colour_type from the atom's atom_colours list

repair_damage +

+

Proc for recovering atom_integrity. Returns the amount repaired by

replace_smooth_overlays +

+

Internal: Takes icon states as text to replace smoothing corner overlays

reset_plane_and_layer +

+

Reset plane and layer values to their defaults.

returnArmor +

+

Retreive an atom's armor, creating it if it doesn't exist

return_air +

+

Return the current air environment in this atom

return_analyzable_air +

+

Return the air if we can analyze it

return_breathable_air +

+

Return air that a contained mob will be breathing.

return_temperature +

+

Return atom temperature

run_atom_armor +

+

returns the damage value of the attack after processing the atom's various armor protections

runechat_prefs_check +

+

Returns the client runechat visible messages preference according to the message type.

rust_heretic_act +

+

Causes effects when the atom gets hit by a rust effect from heretics

+

Override this if you want custom behaviour in whatever gets hit by the rust

screwdriver_act +

+

Called on an object when a tool with screwdriver capabilities is used to left click an object

screwdriver_act_secondary +

+

Called on an object when a tool with screwdriver capabilities is used to right click an object

setArmor +

+

Setter for armor

setClosed +

+

Used to set something as 'closed' if it's being used as a supplypod

+

Override this if you want an atom to be usable as a supplypod.

setDir +

+

Hook for running code when a dir change occurs

+

Not recommended to use, listen for the COMSIG_ATOM_DIR_CHANGE signal instead (sent by this proc)

setOpened +

+

Used to set something as 'open' if it's being used as a supplypod

+

Override this if you want an atom to be usable as a supplypod.

set_base_pixel_x +

+

Setter for the base_pixel_x variable to append behavior related to its changing.

set_base_pixel_y +

+

Setter for the base_pixel_y variable to append behavior related to its changing.

set_custom_materials +

+

Sets the custom materials for an item.

set_density +

+

Setter for the density variable to append behavior related to its changing.

set_greyscale +

+

Handles updates to greyscale value updates. +The colors argument can be either a list or the full color string. +Child procs should call parent last so the update happens after all changes.

set_hud_image_active +

+

set every hud image in the given category active so other people with the given hud can see it. +Arguments:

+

set_hud_image_inactive +

+

sets every hud image in the given category inactive so no one can see it

set_hud_image_vars +

+

Update the icon_state of an atom hud image.

set_light_color +

+

Setter for the light color of this atom.

set_light_curve +

+

Setter for this atom's light falloff curve.

set_light_flags +

+

Setter for the light flags of this atom.

set_light_on +

+

Setter for whether or not this atom's light is on.

set_light_power +

+

Setter for the light power of this atom.

set_light_range +

+

Setter for the light range of this atom.

set_opacity +

+

Updates the atom's opacity value.

+

This exists to act as a hook for associated behavior. +It notifies (potentially) affected light sources so they can update (if needed).

set_smoothed_icon_state +

+

Changes the icon state based on the new junction bitmask. Returns the old junction value.

shuttleRotate +

+

Base proc

singularity_act +

+

Respond to the singularity eating this atom

singularity_pull +

+

Respond to the singularity pulling on us

+

Default behaviour is to send COMSIG_ATOM_SING_PULL and return

smooth_icon +

+

do not use, use QUEUE_SMOOTH(atom)

take_damage +

+

The essential proc to call when an atom must receive damage of any kind.

tool_act +

+

Tool behavior procedure. Redirects to tool-specific procs by default.

+

You can override it to catch all tool interactions, for use in complex deconstruction procs.

+

Must return parent proc ..() in the end if overridden

transfer_mob_blood_dna +

+

to add a mob's dna info into an object's blood_dna list.

unsafe_return_air +

+

Return the current air environment in this atom. If this atom is a turf, it will not automatically update the zone.

update_above +

+

Updates whatever openspace objects may be mimicking us. On turfs this queues an openturf update on the above openturf, on movables this updates their bound movable (if present). Meaningless on any type other than /turf or /atom/movable (incl. children).

update_appearance +

+

Updates the appearence of the icon

+

Mostly delegates to update_name, update_desc, and update_icon

+

Arguments:

+

update_atom_colour +

+

Resets the atom's color to null, and then sets it to the highest priority colour available

update_desc +

+

Updates the description of the atom

update_greyscale +

+

Checks if this atom uses the GAGS system and if so updates the icon

update_icon +

+

Updates the icon of the atom

update_icon_state +

+

Updates the icon state of the atom

update_integrity +

+

Handles the integrity of an atom changing. This must be called instead of changing integrity directly.

update_light +

+

Will update the light (duh). +Creates or destroys it if needed, makes it update values, makes sure it's got the correct source turf...

update_name +

+

Updates the name of the atom

update_overlays +

+

Updates the overlays of the atom

update_remote_sight +

+

the sight changes to give to the mob whose perspective is set to that atom

+

(e.g. A mob with nightvision loses its nightvision while looking through a normal camera)

visible_message +

+

Generate a visible message from this atom

+

Show a message to all player mobs who sees this atom

+

Show a message to the src mob (if the src is a mob)

+

Use for atoms performing visible actions

+

message is output to anyone who can see, e.g. "[src] does something!"

+

Vars:

+

vv_edit_var +

+

call back when a var is edited on this atom

+

Can be used to implement special handling of vars

+

At the atom level, if you edit a var named "color" it will add the atom colour with +admin level priority to the atom colours list

+

Also, if GLOB.Debug2 is FALSE, it sets the ADMIN_SPAWNED_1 flag on flags_1, which signifies +the object has been admin edited

vv_get_dropdown +

+

Return the markup to for the dropdown list for the VV panel for this atom

+

Override in subtypes to add custom VV handling in the VV panel

wash +

+

Wash this atom

+

This will clean it off any temporary stuff like blood. Override this in your item to add custom cleaning behavior. +Returns true if any washing was necessary and thus performed +Arguments:

+

welder_act +

+

Called on an object when a tool with welder capabilities is used to left click an object

welder_act_secondary +

+

Called on an object when a tool with welder capabilities is used to right click an object

wirecutter_act +

+

Called on an object when a tool with wirecutter capabilities is used to left click an object

wirecutter_act_secondary +

+

Called on an object when a tool with wirecutter capabilities is used to right click an object

wrench_act +

+

Called on an object when a tool with wrench capabilities is used to left click an object

wrench_act_secondary +

+

Called on an object when a tool with wrench capabilities is used to right click an object

zap_act +

+

Respond to an electric bolt action on our item

+

Default behaviour is to return, we define here to allow for cleaner code later on

zas_canpass +

+

Checks whether or not ZAS can occupy this atom's turf. Invoked by the ATMOS_CANPASS_TURF macro.

zas_update_loc +

+

Tells ZAS to mark the tile the atom is in to update.

+ + + diff --git a/atom/movable.html b/atom/movable.html new file mode 100644 index 000000000000..4ed5b0451a50 --- /dev/null +++ b/atom/movable.html @@ -0,0 +1,1028 @@ + + + + + + + /atom/movable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

movable + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

affected_dynamic_lightsLazylist to keep track on the sources of illumination.
affecting_dynamic_lumiHighest-intensity light affecting us, which determines our visibility.
airflow_destThe location the atom is trying to step towards during airflow.
airflow_old_densityIf the movable is dense by default, it won't step into tiles containing other dense objects
airflow_speedThe speed the object is travelling during airflow
airflow_timeTime (ticks) spent in airflow
blocks_emissiveEither FALSE, EMISSIVE_BLOCK_GENERIC, or EMISSIVE_BLOCK_UNIQUE
bound_overlayThe mimic (if any) that's directly copying us.
buckle_lyingBed-like behaviour, forces mob.lying = buckle_lying if not set to NO_BUCKLE_LYING.
buckle_prevents_pullWhether things buckled to this atom can be pulled while they're buckled
buckle_requires_restraintsRequire people to be handcuffed before being able to buckle. eg: pipes
buckled_mobsThe mobs currently buckled to this atom
can_be_unanchoredUsed for the calculate_adjacencies proc for icon smoothing.
can_buckleWhether the atom allows mobs to be buckled to it. Can be ignored in [/atom/movable/proc/buckle_mob()] if force = TRUE
client_mobs_in_contentscontains every client mob corresponding to every client eye in this container. lazily updated by SSparallax and is sparse: +only the last container of a client eye has this list assuming no movement since SSparallax's last fire
contents_pressure_protectionThe degree of pressure protection that mobs in list/contents have from the external environment, between 0 and 1
contents_thermal_insulationThe degree of thermal insulation that mobs in list/contents have from the external environment, between 0 and 1
currently_z_movingis the mob currently ascending or descending through z levels?
do_aftersFor storing what do_after's someone has, key = string, value = amount of interactions of that type happening.
em_blockInternal holder for emissive blocker object, do not use directly use blocks_emissive
forcemove_should_maintain_grabTracks if forceMove() should break grabs or not.
generic_canpassIf false makes CanPass call CanPassThrough on this type instead of using default behaviour
germ_levelLook, we're defining this here so it doesn't need to be redefined 4 times, okay? Sorry.
grabbed_byA lazylist of grab objects gripping us
important_recursive_contentsan associative lazylist of relevant nested contents by "channel", the list is of the form: list(channel = list(important nested contents of that type)) +each channel has a specific purpose and is meant to replace potentially expensive nested contents iteration. +do NOT add channels to this for little reason as it can add considerable memory usage.
inertia_move_delayDelay in deciseconds between inertia based movement
inertia_movingAre we moving with inertia? Mostly used as an optimization
last_airflowTime (ticks) since last airflow movement
last_moveThe last direction we moved in.
last_pushoffThe last time we pushed off something +This is a hack to get around dumb him him me scenarios
max_buckled_mobsThe maximum number of mob/livings allowed to be buckled to this atom at once
move_packetHolds information about any movement loops currently running/waiting to run on the movable. Lazy, will be null if nothing's going on
movement_typeIn case you have multiple types, you automatically use the most useful one. +IE: Skating on ice, flippers on water, flying over chasm/space, etc. +I reccomend you use the movetype_handler system and not modify this directly, especially for living mobs.
moving_by_airflowBump() magic
moving_diagonally0: not doing a diagonal move. 1 and 2: doing the first/second step of the diagonal move
moving_from_pullTracks if the mob is currently in the movechain during a pulling movement.
pass_flagsThings we can pass through while moving. If any of this matches the thing we're trying to pass's [pass_flags_self], then we can pass through.
set_dir_on_moveWhether this atom should have its dir automatically changed when it moves. Setting this to FALSE allows for things such as directional windows to retain dir on moving without snowflake code all of the place.
spatial_grid_keyString representing the spatial grid groups we want to be held in. +acts as a key to the list of spatial grid contents types we exist in via SSspatial_grid.spatial_grid_categories. +We do it like this to prevent people trying to mutate them and to save memory on holding the lists ourselves
throwforceHow much damage the object deals when impacting something else.
throwingA ref to the throwing datum belonging to us.
tk_throw_rangeMax range this atom can be thrown via telekinesis
zmm_flagsMovable-level Z-Mimic flags. This uses ZMM_* flags, not ZM_* flags.

Procs

CanPassThroughReturns true or false to allow src to move through the blocker, mover has final say
CanReachA backwards depth-limited breadth-first-search to see if the target is +logically "in" anything adjacent to us.
Crosseddefault byond proc that is deprecated for us in lieu of signals. do not call
MovedCalled after a successful Move(). By this point, we've already moved. +Arguments:
Process_SpacemoveCalled whenever an object moves and by mobs when they attempt to move themselves through space +And when an object or action applies a force on src, see newtonian_move
UncrossUncross() is a default BYOND proc that is called when something is going +to exit this atom's turf. It is prefered over Uncrossed when you want to +deny that movement, such as in the case of border objects, objects that allow +you to walk through them in any direction except the one they block +(think side windows).
Uncrosseddefault byond proc that is normally called on everything inside the previous turf +a movable was in after moving to its current turf +this is wasteful since the vast majority of objects do not use Uncrossed +use connect_loc to register to COMSIG_ATOM_EXITED instead
abstract_movemeant for movement with zero side effects. only use for objects that are supposed to move "invisibly" (like camera mobs or ghosts) +if you want something to move onto a tile with a beartrap or recycler or tripmine or mouse without that object knowing about it at all, use this +most of the time you want forceMove()FALS
add_blocked_languageAdds a language to the blocked language list. Use this over remove_language in cases where you will give languages back later.
admin_teleportProc to hook user-enacted teleporting behavior and keep logging of the event.
airflow_hitCalled when src collides with A during airflow
become_active_storagecalled when this movable becomes the parent of a storage component that is currently being viewed by a player. uses important_recursive_contents
become_area_sensitiveWe get our awareness updated by the important recursive contents stuff, here we remove our membership +allows this movable to know when it has "entered" another area no matter how many movable atoms its stuffed into, uses important_recursive_contents
become_hearing_sensitiveallows this movable to hear and adds itself to the important_recursive_contents list of itself and every movable loc its in
become_radio_sensitiveallows this movable to hear and adds itself to the important_recursive_contents list of itself and every movable loc its in
block_superconductivityCurrently unused.
buckle_mobSet a mob as buckled to src
can_speak_languageChecks if atom can speak the language.
can_step_intoTests if src can move from their current loc to an adjacent destination, without doing the move.
can_z_moveChecks if the destination turf is elegible for z movement from the start turf to a given direction and returns it if so. +Args:
check_airflow_movableChecks to see if airflow can move this movable.
check_zclimbReturns an object we can climb onto
compose_message
copy_languagesCopies all languages into the supplied atom/language holder. Source should be overridden when you +do not want the language overwritten by later atom updates or want to avoid blocked languages.
deadchat_playsAdds the deadchat_plays component to this atom with simple movement commands.
forceMoveWithGroupforceMove() wrapper to include things like buckled mobs.
free_from_all_grabsFrees src from all grabs.
get_all_grab_chain_membersGet every single member of a grab chain
get_language_holderGets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one.
get_move_groupReturns a list of movables that should also be affected when calling forceMoveWithGroup()
get_random_spoken_languageGets a random spoken language, useful for forced speech and such.
get_random_understood_languageGets a random understood language, useful for hallucinations and such.
get_selected_languageReturns selected language, if it can be spoken, or finds, sets and returns a new selected language if possible.
grant_all_languagesGrants every language.
grant_languageGrants the supplied language and sets omnitongue true.
has_buckled_mobsReturns TRUE if there are mobs buckled to this atom and FALSE otherwise
has_languageChecks if atom has the language. If spoken is true, only checks if atom can speak the language.
is_buckle_possibleSimple helper proc that runs a suite of checks to test whether it is possible or not to buckle the target mob to src.
is_user_buckle_possibleSimple helper proc that runs a suite of checks to test whether it is possible or not for user to buckle target mob to src.
keybind_face_directionA wrapper for setDir that should only be able to fail by living mobs.
lose_active_storagecalled when this movable's storage component is no longer viewed by any players, unsets important_recursive_contents
lose_area_sensitivityremoves the area sensitive channel from the important_recursive_contents list of this and all nested locs containing us if there are no more source of the trait left
lose_hearing_sensitivityremoves the hearing sensitivity channel from the important_recursive_contents list of this and all nested locs containing us if there are no more sources of the trait left +since RECURSIVE_CONTENTS_HEARING_SENSITIVE is also a spatial grid content type, removes us from the spatial grid if the trait is removed
mouse_buckle_handlingDoes some typechecks and then calls user_buckle_mob
move_from_pullCalled when src is being moved to a target turf because another movable (puller) is moving around.
newtonian_moveOnly moves the object if it's under no gravity +Accepts the direction to move, if the push should be instant, and an optional parameter to fine tune the start delay
onShuttleMoveCalled on atoms to move the atom to the new location
on_changed_z_levelCalled when a movable changes z-levels.
on_enter_storagecalled when this atom is added into a storage item, which is passed on as S. The loc variable is already set to the storage item.
on_exit_storagecalled when this atom is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called.
point_atPoint at an atom
recheck_grabsChecks if the pulling and pulledby should be stopped because they're out of reach. +If z_allowed is TRUE, the z level of the pulling will be ignored.This is to allow things to be dragged up and down stairs.
recursively_get_all_grabbersGets every grabber of this atom, and every grabber of those grabbers, repeat
relay_container_resist_actcalled when a mob resists while inside a container that is itself inside something.
remove_all_languagesRemoves every language and sets omnitongue false.
remove_blocked_languageRemoves a language from the blocked language list.
remove_languageRemoves a single language.
say_emphasisScans the input sentence for speech emphasis modifiers, notably |italics|, +bold+, and underline -mothblocks
set_anchoredSets the anchored var and returns if it was sucessfully changed or not.
set_currently_z_movingSets the currently_z_moving variable to a new value. Used to temporarily disable some Move() side effects.
set_light_range_power_colorHelper to change several lighting overlay settings.
show_messageShow a message to this mob (visual or audible) +This is /atom/movable so mimics can get these and relay them to their parent.
shuttleRotateBase /atom/movable proc
throw_atIf this returns FALSE then callback will not be called.
transformation_animationthe dmi file path we attempt to return if the given object argument is associated with a stringifiable icon +if successful, this looks like "icons/path/to/dmi_file.dmi" +but they pass both isicon() and isfile() checks. theyre the easiest case since stringifying them gives us the path we want
translate_speechProcesses a spoken message's language based on if the hearer can understand it.
twitchAn animation for the object shaking wildly.
unbuckle_all_mobsCall /atom/movable/proc/unbuckle_mob for all buckled mobs
unbuckle_mobSet a mob as unbuckled from src
update_atom_languagesEmpties out the atom specific languages and updates them according to the current atoms language holder. +As a side effect, it also creates missing language holders in the process.
update_dynamic_luminosityKeeps track of the sources of dynamic luminosity and updates our visibility with the highest.
user_buckle_mobHandles a mob buckling another mob to src and sends a visible_message
user_unbuckle_mobHandles a user unbuckling a mob from src and sends a visible_message
zFallPrecipitates a movable (plus whatever buckled to it) to lower z levels if possible and then calls zImpact()
+

Var Details

affected_dynamic_lights + + + + +

+

Lazylist to keep track on the sources of illumination.

affecting_dynamic_lumi + + + + +

+

Highest-intensity light affecting us, which determines our visibility.

airflow_dest + + + + +

+

The location the atom is trying to step towards during airflow.

airflow_old_density + + + + +

+

If the movable is dense by default, it won't step into tiles containing other dense objects

airflow_speed + + + + +

+

The speed the object is travelling during airflow

airflow_time + + + + +

+

Time (ticks) spent in airflow

blocks_emissive + + + + +

+

Either FALSE, EMISSIVE_BLOCK_GENERIC, or EMISSIVE_BLOCK_UNIQUE

bound_overlay + + + + +

+

The mimic (if any) that's directly copying us.

buckle_lying + + + + +

+

Bed-like behaviour, forces mob.lying = buckle_lying if not set to NO_BUCKLE_LYING.

buckle_prevents_pull + + + + +

+

Whether things buckled to this atom can be pulled while they're buckled

buckle_requires_restraints + + + + +

+

Require people to be handcuffed before being able to buckle. eg: pipes

buckled_mobs + + + + +

+

The mobs currently buckled to this atom

can_be_unanchored + + + + +

+

Used for the calculate_adjacencies proc for icon smoothing.

can_buckle + + + + +

+

Whether the atom allows mobs to be buckled to it. Can be ignored in [/atom/movable/proc/buckle_mob()] if force = TRUE

client_mobs_in_contents + + + + +

+

contains every client mob corresponding to every client eye in this container. lazily updated by SSparallax and is sparse: +only the last container of a client eye has this list assuming no movement since SSparallax's last fire

contents_pressure_protection + + + + +

+

The degree of pressure protection that mobs in list/contents have from the external environment, between 0 and 1

contents_thermal_insulation + + + + +

+

The degree of thermal insulation that mobs in list/contents have from the external environment, between 0 and 1

currently_z_moving + + + + +

+

is the mob currently ascending or descending through z levels?

do_afters + + + + +

+

For storing what do_after's someone has, key = string, value = amount of interactions of that type happening.

em_block + + + + +

+

Internal holder for emissive blocker object, do not use directly use blocks_emissive

forcemove_should_maintain_grab + + + + +

+

Tracks if forceMove() should break grabs or not.

generic_canpass + + + + +

+

If false makes CanPass call CanPassThrough on this type instead of using default behaviour

germ_level + + + + +

+

Look, we're defining this here so it doesn't need to be redefined 4 times, okay? Sorry.

grabbed_by + + + + +

+

A lazylist of grab objects gripping us

important_recursive_contents + + + + +

+

an associative lazylist of relevant nested contents by "channel", the list is of the form: list(channel = list(important nested contents of that type)) +each channel has a specific purpose and is meant to replace potentially expensive nested contents iteration. +do NOT add channels to this for little reason as it can add considerable memory usage.

inertia_move_delay + + + + +

+

Delay in deciseconds between inertia based movement

inertia_moving + + + + +

+

Are we moving with inertia? Mostly used as an optimization

last_airflow + + + + +

+

Time (ticks) since last airflow movement

last_move + + + + +

+

The last direction we moved in.

last_pushoff + + + + +

+

The last time we pushed off something +This is a hack to get around dumb him him me scenarios

max_buckled_mobs + + + + +

+

The maximum number of mob/livings allowed to be buckled to this atom at once

move_packet + + + + +

+

Holds information about any movement loops currently running/waiting to run on the movable. Lazy, will be null if nothing's going on

movement_type + + + + +

+

In case you have multiple types, you automatically use the most useful one. +IE: Skating on ice, flippers on water, flying over chasm/space, etc. +I reccomend you use the movetype_handler system and not modify this directly, especially for living mobs.

moving_by_airflow + + + + +

+

Bump() magic

moving_diagonally + + + + +

+

0: not doing a diagonal move. 1 and 2: doing the first/second step of the diagonal move

moving_from_pull + + + + +

+

Tracks if the mob is currently in the movechain during a pulling movement.

pass_flags + + + + +

+

Things we can pass through while moving. If any of this matches the thing we're trying to pass's [pass_flags_self], then we can pass through.

set_dir_on_move + + + + +

+

Whether this atom should have its dir automatically changed when it moves. Setting this to FALSE allows for things such as directional windows to retain dir on moving without snowflake code all of the place.

spatial_grid_key + + + + +

+

String representing the spatial grid groups we want to be held in. +acts as a key to the list of spatial grid contents types we exist in via SSspatial_grid.spatial_grid_categories. +We do it like this to prevent people trying to mutate them and to save memory on holding the lists ourselves

throwforce + + + + +

+

How much damage the object deals when impacting something else.

throwing + + + + +

+

A ref to the throwing datum belonging to us.

tk_throw_range + + + + +

+

Max range this atom can be thrown via telekinesis

zmm_flags + + + + +

+

Movable-level Z-Mimic flags. This uses ZMM_* flags, not ZM_* flags.

Proc Details

CanPassThrough +

+

Returns true or false to allow src to move through the blocker, mover has final say

CanReach +

+

A backwards depth-limited breadth-first-search to see if the target is +logically "in" anything adjacent to us.

Crossed +

+

default byond proc that is deprecated for us in lieu of signals. do not call

Moved +

+

Called after a successful Move(). By this point, we've already moved. +Arguments:

+

Process_Spacemove +

+

Called whenever an object moves and by mobs when they attempt to move themselves through space +And when an object or action applies a force on src, see newtonian_move

+

Return FALSE to have src start/keep drifting in a no-grav area and TRUE to stop/not start drifting

+

Mobs should return 1 if they should be able to move of their own volition, see /client/proc/Move

+

Arguments:

+

Uncross +

+

Uncross() is a default BYOND proc that is called when something is going +to exit this atom's turf. It is prefered over Uncrossed when you want to +deny that movement, such as in the case of border objects, objects that allow +you to walk through them in any direction except the one they block +(think side windows).

+

While being seemingly harmless, most everything doesn't actually want to +use this, meaning that we are wasting proc calls for every single atom +on a turf, every single time something exits it, when basically nothing +cares.

+

This overhead caused real problems on Sybil round #159709, where lag +attributed to Uncross was so bad that the entire master controller +collapsed and people made Among Us lobbies in OOC.

+

If you want to replicate the old Uncross() behavior, the most apt +replacement is [/datum/element/connect_loc] while hooking onto +[COMSIG_ATOM_EXIT].

Uncrossed +

+

default byond proc that is normally called on everything inside the previous turf +a movable was in after moving to its current turf +this is wasteful since the vast majority of objects do not use Uncrossed +use connect_loc to register to COMSIG_ATOM_EXITED instead

abstract_move +

+

meant for movement with zero side effects. only use for objects that are supposed to move "invisibly" (like camera mobs or ghosts) +if you want something to move onto a tile with a beartrap or recycler or tripmine or mouse without that object knowing about it at all, use this +most of the time you want forceMove()FALS

add_blocked_language +

+

Adds a language to the blocked language list. Use this over remove_language in cases where you will give languages back later.

admin_teleport +

+

Proc to hook user-enacted teleporting behavior and keep logging of the event.

airflow_hit +

+

Called when src collides with A during airflow

become_active_storage +

+

called when this movable becomes the parent of a storage component that is currently being viewed by a player. uses important_recursive_contents

become_area_sensitive +

+

We get our awareness updated by the important recursive contents stuff, here we remove our membership +allows this movable to know when it has "entered" another area no matter how many movable atoms its stuffed into, uses important_recursive_contents

become_hearing_sensitive +

+

allows this movable to hear and adds itself to the important_recursive_contents list of itself and every movable loc its in

become_radio_sensitive +

+

allows this movable to hear and adds itself to the important_recursive_contents list of itself and every movable loc its in

block_superconductivity +

+

Currently unused.

buckle_mob +

+

Set a mob as buckled to src

+

If you want to have a mob buckling another mob to something, or you want a chat message sent, use user_buckle_mob instead. +Arguments: +M - The mob to be buckled to src +force - Set to TRUE to ignore src's can_buckle and M's can_buckle_to +check_loc - Set to FALSE to allow buckling from adjacent turfs, or TRUE if buckling is only allowed with src and M on the same turf. +buckle_mob_flags- Used for riding cyborgs and humans if we need to reserve an arm or two on either the rider or the ridden mob. +ignore_self - If set to TRUE, this will not do a check to see if the user can move into the turf of the mob and will just automatically mount them.

can_speak_language +

+

Checks if atom can speak the language.

can_step_into +

+

Tests if src can move from their current loc to an adjacent destination, without doing the move.

can_z_move +

+

Checks if the destination turf is elegible for z movement from the start turf to a given direction and returns it if so. +Args:

+

check_airflow_movable +

+

Checks to see if airflow can move this movable.

check_zclimb +

+

Returns an object we can climb onto

compose_message +

+

copy_languages +

+

Copies all languages into the supplied atom/language holder. Source should be overridden when you +do not want the language overwritten by later atom updates or want to avoid blocked languages.

deadchat_plays +

+

Adds the deadchat_plays component to this atom with simple movement commands.

+

Returns the component added. +Arguments:

+

forceMoveWithGroup +

+

forceMove() wrapper to include things like buckled mobs.

free_from_all_grabs +

+

Frees src from all grabs.

get_all_grab_chain_members +

+

Get every single member of a grab chain

get_language_holder +

+

Gets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one.

get_move_group +

+

Returns a list of movables that should also be affected when calling forceMoveWithGroup()

get_random_spoken_language +

+

Gets a random spoken language, useful for forced speech and such.

get_random_understood_language +

+

Gets a random understood language, useful for hallucinations and such.

get_selected_language +

+

Returns selected language, if it can be spoken, or finds, sets and returns a new selected language if possible.

grant_all_languages +

+

Grants every language.

grant_language +

+

Grants the supplied language and sets omnitongue true.

has_buckled_mobs +

+

Returns TRUE if there are mobs buckled to this atom and FALSE otherwise

has_language +

+

Checks if atom has the language. If spoken is true, only checks if atom can speak the language.

is_buckle_possible +

+

Simple helper proc that runs a suite of checks to test whether it is possible or not to buckle the target mob to src.

+

Returns FALSE if any conditions that should prevent buckling are satisfied. Returns TRUE otherwise. +Called from /atom/movable/proc/buckle_mob and /atom/movable/proc/is_user_buckle_possible. +Arguments:

+

is_user_buckle_possible +

+

Simple helper proc that runs a suite of checks to test whether it is possible or not for user to buckle target mob to src.

+

Returns FALSE if any conditions that should prevent buckling are satisfied. Returns TRUE otherwise. +Called from /atom/movable/proc/user_buckle_mob. +Arguments:

+

keybind_face_direction +

+

A wrapper for setDir that should only be able to fail by living mobs.

+

Called from [/atom/movable/proc/keyLoop], this exists to be overwritten by living mobs with a check to see if we're actually alive enough to change directions

lose_active_storage +

+

called when this movable's storage component is no longer viewed by any players, unsets important_recursive_contents

lose_area_sensitivity +

+

removes the area sensitive channel from the important_recursive_contents list of this and all nested locs containing us if there are no more source of the trait left

lose_hearing_sensitivity +

+

removes the hearing sensitivity channel from the important_recursive_contents list of this and all nested locs containing us if there are no more sources of the trait left +since RECURSIVE_CONTENTS_HEARING_SENSITIVE is also a spatial grid content type, removes us from the spatial grid if the trait is removed

+

mouse_buckle_handling +

+

Does some typechecks and then calls user_buckle_mob

+

Arguments: +M - The mob being buckled to src +user - The mob buckling M to src

move_from_pull +

+

Called when src is being moved to a target turf because another movable (puller) is moving around.

newtonian_move +

+

Only moves the object if it's under no gravity +Accepts the direction to move, if the push should be instant, and an optional parameter to fine tune the start delay

onShuttleMove +

+

Called on atoms to move the atom to the new location

on_changed_z_level +

+

Called when a movable changes z-levels.

+

Arguments:

+

on_enter_storage +

+

called when this atom is added into a storage item, which is passed on as S. The loc variable is already set to the storage item.

on_exit_storage +

+

called when this atom is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called.

point_at +

+

Point at an atom

+

Intended to enable and standardise the pointing animation for all atoms

+

Not intended as a replacement for the mob verb

recheck_grabs +

+

Checks if the pulling and pulledby should be stopped because they're out of reach. +If z_allowed is TRUE, the z level of the pulling will be ignored.This is to allow things to be dragged up and down stairs.

recursively_get_all_grabbers +

+

Gets every grabber of this atom, and every grabber of those grabbers, repeat

relay_container_resist_act +

+

called when a mob resists while inside a container that is itself inside something.

remove_all_languages +

+

Removes every language and sets omnitongue false.

remove_blocked_language +

+

Removes a language from the blocked language list.

remove_language +

+

Removes a single language.

say_emphasis +

+

Scans the input sentence for speech emphasis modifiers, notably |italics|, +bold+, and underline -mothblocks

set_anchored +

+

Sets the anchored var and returns if it was sucessfully changed or not.

set_currently_z_moving +

+

Sets the currently_z_moving variable to a new value. Used to temporarily disable some Move() side effects.

set_light_range_power_color +

+

Helper to change several lighting overlay settings.

show_message +

+

Show a message to this mob (visual or audible) +This is /atom/movable so mimics can get these and relay them to their parent.

shuttleRotate +

+

Base /atom/movable proc

throw_at +

+

If this returns FALSE then callback will not be called.

transformation_animation +

+

the dmi file path we attempt to return if the given object argument is associated with a stringifiable icon +if successful, this looks like "icons/path/to/dmi_file.dmi" +but they pass both isicon() and isfile() checks. theyre the easiest case since stringifying them gives us the path we want

translate_speech +

+

Processes a spoken message's language based on if the hearer can understand it.

twitch +

+

An animation for the object shaking wildly.

unbuckle_all_mobs +

+

Call /atom/movable/proc/unbuckle_mob for all buckled mobs

unbuckle_mob +

+

Set a mob as unbuckled from src

+

The mob must actually be buckled to src or else bad things will happen. +Arguments: +buckled_mob - The mob to be unbuckled +force - TRUE if we should ignore buckled_mob.can_buckle_to

update_atom_languages +

+

Empties out the atom specific languages and updates them according to the current atoms language holder. +As a side effect, it also creates missing language holders in the process.

update_dynamic_luminosity +

+

Keeps track of the sources of dynamic luminosity and updates our visibility with the highest.

user_buckle_mob +

+

Handles a mob buckling another mob to src and sends a visible_message

+

Basically exists to do some checks on the user and then call buckle_mob where the real buckling happens. +First, checks if the buckle is valid and cancels if it isn't. +Second, checks if src is on a different turf from the target; if it is, does a do_after and another check for sanity +Finally, calls /atom/movable/proc/buckle_mob to buckle the target to src then gives chat feedback +Arguments:

+

user_unbuckle_mob +

+

Handles a user unbuckling a mob from src and sends a visible_message

+

Basically just calls unbuckle_mob, sets fingerprint, and sends a visible_message +about the user unbuckling the mob +Arguments: +buckled_mob - The mob/living to unbuckle +user - The mob unbuckling buckled_mob

zFall +

+

Precipitates a movable (plus whatever buckled to it) to lower z levels if possible and then calls zImpact()

+ + + diff --git a/atom/movable/emissive_blocker.html b/atom/movable/emissive_blocker.html new file mode 100644 index 000000000000..b60b8364e952 --- /dev/null +++ b/atom/movable/emissive_blocker.html @@ -0,0 +1,32 @@ + + + + + + + /atom/movable/emissive_blocker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

emissive_blocker + + + +

+ +

Internal atom that copies an appearance on to the blocker plane

+

Copies an appearance vis render_target and render_source on to the emissive blocking plane. +This means that the atom in question will block any emissive sprites. +This should only be used internally. If you are directly creating more of these, you're +almost guaranteed to be doing something wrong.

+ + + diff --git a/atom/movable/openspace/mimic.html b/atom/movable/openspace/mimic.html new file mode 100644 index 000000000000..d32012a3888c --- /dev/null +++ b/atom/movable/openspace/mimic.html @@ -0,0 +1,35 @@ + + + + + + + /atom/movable/openspace/mimic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

mimic + + + +

+ +

Object used to hold a mimiced atom's appearance.

+

Procs

copy_hudsCopies the atom_huds of the given atom.

Proc Details

copy_huds +

+

Copies the atom_huds of the given atom.

+ + + diff --git a/atom/movable/plane_master_controller.html b/atom/movable/plane_master_controller.html new file mode 100644 index 000000000000..0c8870736c88 --- /dev/null +++ b/atom/movable/plane_master_controller.html @@ -0,0 +1,99 @@ + + + + + + + /atom/movable/plane_master_controller - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

plane_master_controller + + + +

+ +

Atom that manages and controls multiple planes. It's an atom so we can hook into add_filter etc. Multiple controllers can control one plane.

+ + + + + + + + + +

Vars

controlled_planesList of planes in this controllers control. Initially this is a normal list, but becomes an assoc list of plane numbers as strings | plane instance
owner_hudhud that owns this controller

Procs

InitializeEnsures that all the planes are correctly in the controlled_planes list.
add_atom_colourFull override so we can just use filterrific
add_filterFull override so we can just use filterrific
get_filtersGets all filters for this controllers plane masters
remove_atom_colourRemoves an instance of colour_type from the atom's atom_colours list
remove_filterFull override so we can just use filterrific
transition_filterTransitions all filters owned by this plane master controller
update_atom_colourResets the atom's color to null, and then sets it to the highest priority colour available
+

Var Details

controlled_planes + + + + +

+

List of planes in this controllers control. Initially this is a normal list, but becomes an assoc list of plane numbers as strings | plane instance

owner_hud + + + + +

+

hud that owns this controller

Proc Details

Initialize +

+

Ensures that all the planes are correctly in the controlled_planes list.

add_atom_colour +

+

Full override so we can just use filterrific

add_filter +

+

Full override so we can just use filterrific

get_filters +

+

Gets all filters for this controllers plane masters

remove_atom_colour +

+

Removes an instance of colour_type from the atom's atom_colours list

remove_filter +

+

Full override so we can just use filterrific

transition_filter +

+

Transitions all filters owned by this plane master controller

update_atom_colour +

+

Resets the atom's color to null, and then sets it to the highest priority colour available

+ + + diff --git a/atom/movable/screen.html b/atom/movable/screen.html new file mode 100644 index 000000000000..ac9c7a8cb36c --- /dev/null +++ b/atom/movable/screen.html @@ -0,0 +1,88 @@ + + + + + + + /atom/movable/screen - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

screen + + + +

+ + + + + + + + +

Vars

assigned_mapMap name assigned to this object. +Automatically set by /client/proc/add_obj_to_map.
del_on_map_removalMark this object as garbage-collectible after you clean the map +it was registered on.
hudA reference to the owner HUD, if any.
master_refA reference to the object in the slot. Grabs or items, generally, but any datum will do.
private_screenIf set to TRUE, mobs that do not own this hud cannot click this screen object.

Procs

fill_rectSets screen_loc to fill a rectangular area of the map.
set_positionSets screen_loc of this screen object, in form of point coordinates, +with optional pixel offset (px, py).
+

Var Details

assigned_map + + + + +

+

Map name assigned to this object. +Automatically set by /client/proc/add_obj_to_map.

del_on_map_removal + + + + +

+

Mark this object as garbage-collectible after you clean the map +it was registered on.

+

This could probably be changed to be a proc, for conditional removal. +But for now, this works.

hud + + + + +

+

A reference to the owner HUD, if any.

master_ref + + + + +

+

A reference to the object in the slot. Grabs or items, generally, but any datum will do.

private_screen + + + + +

+

If set to TRUE, mobs that do not own this hud cannot click this screen object.

Proc Details

fill_rect +

+

Sets screen_loc to fill a rectangular area of the map.

+

If applicable, "assigned_map" has to be assigned before this proc call.

set_position +

+

Sets screen_loc of this screen object, in form of point coordinates, +with optional pixel offset (px, py).

+

If applicable, "assigned_map" has to be assigned before this proc call.

+ + + diff --git a/atom/movable/screen/action_landing.html b/atom/movable/screen/action_landing.html new file mode 100644 index 000000000000..722a5f9d2001 --- /dev/null +++ b/atom/movable/screen/action_landing.html @@ -0,0 +1,35 @@ + + + + + + + /atom/movable/screen/action_landing - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

action_landing + + + +

+ +

Exists so you have a place to put your buttons when you move them around

+

Procs

hit_byReacts to having a button dropped on it

Proc Details

hit_by +

+

Reacts to having a button dropped on it

+ + + diff --git a/atom/movable/screen/admin_popup.html b/atom/movable/screen/admin_popup.html new file mode 100644 index 000000000000..45ab7f35a176 --- /dev/null +++ b/atom/movable/screen/admin_popup.html @@ -0,0 +1,43 @@ + + + + + + + /atom/movable/screen/admin_popup - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

admin_popup + + + +

+ +

The UI element for admin popups

+ +

Vars

last_color_indexThe last color chosen in the animation, sourced from the static list colors.
last_update_timeThe world.time when the last color update occurred.
+

Var Details

last_color_index + + + + +

+

The last color chosen in the animation, sourced from the static list colors.

last_update_time + + + + +

+

The world.time when the last color update occurred.

+ + + diff --git a/atom/movable/screen/alert.html b/atom/movable/screen/alert.html new file mode 100644 index 000000000000..fcf60620d32f --- /dev/null +++ b/atom/movable/screen/alert.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/alert - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

alert + + + +

+ + +

Vars

click_masterBoolean. If TRUE, the Click() proc will attempt to Click() on the master first if there is a master.
+

Var Details

click_master + + + + +

+

Boolean. If TRUE, the Click() proc will attempt to Click() on the master first if there is a master.

+ + + diff --git a/atom/movable/screen/alert/give.html b/atom/movable/screen/alert/give.html new file mode 100644 index 000000000000..15d60a8a6366 --- /dev/null +++ b/atom/movable/screen/alert/give.html @@ -0,0 +1,50 @@ + + + + + + + /atom/movable/screen/alert/give - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

give + + + +

+ + + +

Procs

handle_transferAn overrideable proc used simply to hand over the item when claimed, this is a proc so that high-fives can override them since nothing is actually transferred
setupHandles assigning most of the variables for the alert that pops up when an item is offered

Proc Details

handle_transfer +

+

An overrideable proc used simply to hand over the item when claimed, this is a proc so that high-fives can override them since nothing is actually transferred

setup +

+

Handles assigning most of the variables for the alert that pops up when an item is offered

+

Handles setting the name, description and icon of the alert and tracking the person giving +and the item being offered, also registers a signal that removes the alert from anyone who moves away from the offerer +Arguments:

+
+ + + diff --git a/atom/movable/screen/alert/give/highfive.html b/atom/movable/screen/alert/give/highfive.html new file mode 100644 index 000000000000..55e2ae8221a4 --- /dev/null +++ b/atom/movable/screen/alert/give/highfive.html @@ -0,0 +1,49 @@ + + + + + + + /atom/movable/screen/alert/give/highfive - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

highfive + + + +

+ + + + +

Procs

check_fake_outIf someone examine_more's the offerer while they're trying to pull a too-slow, it'll tip them off to the offerer's trickster ways
too_slow_p1If the person who offered the high five no longer has it when we try to accept it, we get pranked hard
too_slow_p2Part two of the ultimate prank

Proc Details

check_fake_out +

+

If someone examine_more's the offerer while they're trying to pull a too-slow, it'll tip them off to the offerer's trickster ways

too_slow_p1 +

+

If the person who offered the high five no longer has it when we try to accept it, we get pranked hard

too_slow_p2 +

+

Part two of the ultimate prank

+ + + diff --git a/atom/movable/screen/alert/modlink_call.html b/atom/movable/screen/alert/modlink_call.html new file mode 100644 index 000000000000..ba76870d9dac --- /dev/null +++ b/atom/movable/screen/alert/modlink_call.html @@ -0,0 +1,50 @@ + + + + + + + /atom/movable/screen/alert/modlink_call - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

modlink_call + + + +

+ + + + +

Vars

caller_refA weak reference to the MODlink that is calling.
receiver_refA weak reference to the MODlink that is being called.
user_refA weak reference to the mob that is calling.
+

Var Details

caller_ref + + + + +

+

A weak reference to the MODlink that is calling.

receiver_ref + + + + +

+

A weak reference to the MODlink that is being called.

user_ref + + + + +

+

A weak reference to the mob that is calling.

+ + + diff --git a/atom/movable/screen/alert/notify_action.html b/atom/movable/screen/alert/notify_action.html new file mode 100644 index 000000000000..c7774037d105 --- /dev/null +++ b/atom/movable/screen/alert/notify_action.html @@ -0,0 +1,43 @@ + + + + + + + /atom/movable/screen/alert/notify_action - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

notify_action + + + +

+ + + +

Vars

actionWhich on click action to use
target_refWeakref to the target atom to use the action on
+

Var Details

action + + + + +

+

Which on click action to use

target_ref + + + + +

+

Weakref to the target atom to use the action on

+ + + diff --git a/atom/movable/screen/alert/status_effect.html b/atom/movable/screen/alert/status_effect.html new file mode 100644 index 000000000000..f0b71ddb3b9c --- /dev/null +++ b/atom/movable/screen/alert/status_effect.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/alert/status_effect - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

status_effect + + + +

+ +

Alert base type for status effect alerts

+

Vars

attached_effectThe status effect we're linked to
+

Var Details

attached_effect + + + + +

+

The status effect we're linked to

+ + + diff --git a/atom/movable/screen/button_palette.html b/atom/movable/screen/button_palette.html new file mode 100644 index 000000000000..c4c9dd8716b6 --- /dev/null +++ b/atom/movable/screen/button_palette.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/button_palette - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

button_palette + + + +

+ + +

Vars

color_timer_idId of any currently running timers that set our color matrix
+

Var Details

color_timer_id + + + + +

+

Id of any currently running timers that set our color matrix

+ + + diff --git a/atom/movable/screen/character_preview_view.html b/atom/movable/screen/character_preview_view.html new file mode 100644 index 000000000000..e953c88de487 --- /dev/null +++ b/atom/movable/screen/character_preview_view.html @@ -0,0 +1,64 @@ + + + + + + + /atom/movable/screen/character_preview_view - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

character_preview_view + + + +

+ +

A preview of a character for use in the preferences menu

+ + + + +

Vars

bodyThe body that is displayed
clientThe client that is watching this view
preferencesThe preferences this refers to

Procs

register_to_clientRegisters the relevant map objects to a client
update_bodyUpdates the currently displayed body
+

Var Details

body + + + + +

+

The body that is displayed

client + + + + +

+

The client that is watching this view

preferences + + + + +

+

The preferences this refers to

Proc Details

register_to_client +

+

Registers the relevant map objects to a client

update_body +

+

Updates the currently displayed body

+ + + diff --git a/atom/movable/screen/color_matrix_proxy_view.html b/atom/movable/screen/color_matrix_proxy_view.html new file mode 100644 index 000000000000..5085cf9a4627 --- /dev/null +++ b/atom/movable/screen/color_matrix_proxy_view.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/color_matrix_proxy_view - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

color_matrix_proxy_view + + + +

+ + +

Vars

clientThe client that is watching this view
+

Var Details

client + + + + +

+

The client that is watching this view

+ + + diff --git a/atom/movable/screen/combattoggle/flashy.html b/atom/movable/screen/combattoggle/flashy.html new file mode 100644 index 000000000000..904be211ceaf --- /dev/null +++ b/atom/movable/screen/combattoggle/flashy.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/combattoggle/flashy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

flashy + + + +

+ + +

Vars

flashyMut appearance for flashy border
+

Var Details

flashy + + + + +

+

Mut appearance for flashy border

+ + + diff --git a/atom/movable/screen/fullscreen/cursor_catcher.html b/atom/movable/screen/fullscreen/cursor_catcher.html new file mode 100644 index 000000000000..a22b5064b431 --- /dev/null +++ b/atom/movable/screen/fullscreen/cursor_catcher.html @@ -0,0 +1,92 @@ + + + + + + + /atom/movable/screen/fullscreen/cursor_catcher - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cursor_catcher + + + +

+ +

An effect which tracks the cursor's location on the screen

+ + + + + + + + +

Vars

given_turfThe turf we send to the scope component.
given_xPixel x we send to the scope component.
given_yPixel y we send to the scope component.
mouse_paramsMouse parameters, for calculation.
ownerThe mob whose cursor we are tracking.
view_listClient view size of the scoping mob.

Procs

assign_to_mobLinks this up with a mob
on_moveUpdate when the mob we're assigned to has moved
on_viewdata_updateUpdate when our screen size changes
+

Var Details

given_turf + + + + +

+

The turf we send to the scope component.

given_x + + + + +

+

Pixel x we send to the scope component.

given_y + + + + +

+

Pixel y we send to the scope component.

mouse_params + + + + +

+

Mouse parameters, for calculation.

owner + + + + +

+

The mob whose cursor we are tracking.

view_list + + + + +

+

Client view size of the scoping mob.

Proc Details

assign_to_mob +

+

Links this up with a mob

on_move +

+

Update when the mob we're assigned to has moved

on_viewdata_update +

+

Update when our screen size changes

+ + + diff --git a/atom/movable/screen/fullscreen/cursor_catcher/scope.html b/atom/movable/screen/fullscreen/cursor_catcher/scope.html new file mode 100644 index 000000000000..a46ce7f23956 --- /dev/null +++ b/atom/movable/screen/fullscreen/cursor_catcher/scope.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/fullscreen/cursor_catcher/scope - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

scope + + + +

+ + +

Vars

range_modifierMultiplier for given_X an given_y.
+

Var Details

range_modifier + + + + +

+

Multiplier for given_X an given_y.

+ + + diff --git a/atom/movable/screen/inventory.html b/atom/movable/screen/inventory.html new file mode 100644 index 000000000000..48d36763451a --- /dev/null +++ b/atom/movable/screen/inventory.html @@ -0,0 +1,57 @@ + + + + + + + /atom/movable/screen/inventory - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

inventory + + + +

+ + + + + +

Vars

icon_emptyIcon when empty. For now used only by humans.
icon_fullIcon when contains an item. For now used only by humans.
object_overlayThe overlay when hovering over with an item in your hand
slot_idThe identifier for the slot. It has nothing to do with ID cards.
+

Var Details

icon_empty + + + + +

+

Icon when empty. For now used only by humans.

icon_full + + + + +

+

Icon when contains an item. For now used only by humans.

object_overlay + + + + +

+

The overlay when hovering over with an item in your hand

slot_id + + + + +

+

The identifier for the slot. It has nothing to do with ID cards.

+ + + diff --git a/atom/movable/screen/mech_view.html b/atom/movable/screen/mech_view.html new file mode 100644 index 000000000000..01baf9d5632c --- /dev/null +++ b/atom/movable/screen/mech_view.html @@ -0,0 +1,43 @@ + + + + + + + /atom/movable/screen/mech_view - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mech_view + + + +

+ +

A preview of the mech for the UI

+ +

Vars

ownerThe body that is displayed
plane_masterslist of plane masters to apply to owners
+

Var Details

owner + + + + +

+

The body that is displayed

plane_masters + + + + +

+

list of plane masters to apply to owners

+ + + diff --git a/atom/movable/screen/movable.html b/atom/movable/screen/movable.html new file mode 100644 index 000000000000..f3cd2bb6115f --- /dev/null +++ b/atom/movable/screen/movable.html @@ -0,0 +1,35 @@ + + + + + + + /atom/movable/screen/movable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

movable + + + +

+ + +

Procs

mouse_params_to_positionTakes mouse parmas as input, returns a string representing the appropriate mouse position

Proc Details

mouse_params_to_position +

+

Takes mouse parmas as input, returns a string representing the appropriate mouse position

+ + + diff --git a/atom/movable/screen/movable/action_button.html b/atom/movable/screen/movable/action_button.html new file mode 100644 index 000000000000..15c293b7d95e --- /dev/null +++ b/atom/movable/screen/movable/action_button.html @@ -0,0 +1,73 @@ + + + + + + + /atom/movable/screen/movable/action_button - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

action_button + + + +

+ + + + + + + +

Vars

active_overlay_icon_stateThe icon state of our active overlay, used to prevent re-applying identical overlays
active_underlay_icon_stateThe icon state of our active underlay, used to prevent re-applying identical underlays
button_overlayThe overlay we have overtop our button
idA unique bitflag, combined with the name of our linked action this lets us persistently remember any user changes to our position
last_hovored_refA weakref of the last thing we hovered over +God I hate how dragging works
locationWhere we are currently placed on the hud. SCRN_OBJ_DEFAULT asks the linked action what it thinks
+

Var Details

active_overlay_icon_state + + + + +

+

The icon state of our active overlay, used to prevent re-applying identical overlays

active_underlay_icon_state + + + + +

+

The icon state of our active underlay, used to prevent re-applying identical underlays

button_overlay + + + + +

+

The overlay we have overtop our button

id + + + + +

+

A unique bitflag, combined with the name of our linked action this lets us persistently remember any user changes to our position

last_hovored_ref + + + + +

+

A weakref of the last thing we hovered over +God I hate how dragging works

location + + + + +

+

Where we are currently placed on the hud. SCRN_OBJ_DEFAULT asks the linked action what it thinks

+ + + diff --git a/atom/movable/screen/palette_scroll.html b/atom/movable/screen/palette_scroll.html new file mode 100644 index 000000000000..d4f4c06f06ec --- /dev/null +++ b/atom/movable/screen/palette_scroll.html @@ -0,0 +1,38 @@ + + + + + + + /atom/movable/screen/palette_scroll - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

palette_scroll + + + +

+ + +

Vars

scroll_directionHow should we move the palette's actions? +Positive scrolls down the list, negative scrolls back
+

Var Details

scroll_direction + + + + +

+

How should we move the palette's actions? +Positive scrolls down the list, negative scrolls back

+ + + diff --git a/atom/movable/screen/plane_master.html b/atom/movable/screen/plane_master.html new file mode 100644 index 000000000000..519453c2bca8 --- /dev/null +++ b/atom/movable/screen/plane_master.html @@ -0,0 +1,77 @@ + + + + + + + /atom/movable/screen/plane_master - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

plane_master + + + +

+ + + + + + +

Vars

blend_mode_overrideinteger: blend mode to apply to the render relay in case you dont want to use the plane_masters blend_mode
generate_render_targetbool: Whether this plane should get a render target automatically generated
relayreference: current relay this plane is utilizing to render
render_relay_planeinteger: what plane we will relay this planes render to

Procs

relay_render_to_planePlane master proc called in backdrop() that creates a relay object, sets it as needed and then adds it to the clients screen +Sets:
+

Var Details

blend_mode_override + + + + +

+

integer: blend mode to apply to the render relay in case you dont want to use the plane_masters blend_mode

generate_render_target + + + + +

+

bool: Whether this plane should get a render target automatically generated

relay + + + + +

+

reference: current relay this plane is utilizing to render

render_relay_plane + + + + +

+

integer: what plane we will relay this planes render to

Proc Details

relay_render_to_plane +

+

Plane master proc called in backdrop() that creates a relay object, sets it as needed and then adds it to the clients screen +Sets:

+
+ + + diff --git a/atom/movable/screen/plane_master/rendering_plate.html b/atom/movable/screen/plane_master/rendering_plate.html new file mode 100644 index 000000000000..a198edd427cf --- /dev/null +++ b/atom/movable/screen/plane_master/rendering_plate.html @@ -0,0 +1,33 @@ + + + + + + + /atom/movable/screen/plane_master/rendering_plate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

rendering_plate + + + +

+ +Rendering plate +

Acts like a plane master, but for plane masters +Renders other planes onto this plane, through the use of render objects +Any effects applied onto this plane will act on the unified plane +IE a bulge filter will apply as if the world was one object +remember that once planes are unified on a render plate you cant change the layering of them!

+ + + diff --git a/atom/movable/screen/text/screen_text.html b/atom/movable/screen/text/screen_text.html new file mode 100644 index 000000000000..faaa36e3e88a --- /dev/null +++ b/atom/movable/screen/text/screen_text.html @@ -0,0 +1,127 @@ + + + + + + + /atom/movable/screen/text/screen_text - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

screen_text + + + +

+ + + + + + + + + + + + + + + +

Vars

auto_endShould this automatically end?
fade_in_timeTime taken to fade in as we start printing text
fade_out_delayTime before fade out after printing is finished
fade_out_timeTime taken when fading out after fade_out_delay
letters_per_updateletters to update by per text to per play_delay
owner_refA weakref to the client this belongs to
play_delaydelay between playing each letter. in general use 1 for fluff and 0.5 for time sensitive messsages
style_closeclosing styling for the message
style_openopening styling for the message
text_to_playvar for the text we are going to play

Procs

end_playends the play then deletes this screen object and plalys the next one in queue if it exists
fade_outhandles post-play effects like fade out after the fade out delay
play_to_clientproc for actually playing this screen_text on a mob.
remove_and_play_nextRemoves the text from the player's screen and plays the next one if present.
+

Var Details

auto_end + + + + +

+

Should this automatically end?

fade_in_time + + + + +

+

Time taken to fade in as we start printing text

fade_out_delay + + + + +

+

Time before fade out after printing is finished

fade_out_time + + + + +

+

Time taken when fading out after fade_out_delay

letters_per_update + + + + +

+

letters to update by per text to per play_delay

owner_ref + + + + +

+

A weakref to the client this belongs to

play_delay + + + + +

+

delay between playing each letter. in general use 1 for fluff and 0.5 for time sensitive messsages

style_close + + + + +

+

closing styling for the message

style_open + + + + +

+

opening styling for the message

text_to_play + + + + +

+

var for the text we are going to play

Proc Details

end_play +

+

ends the play then deletes this screen object and plalys the next one in queue if it exists

fade_out +

+

handles post-play effects like fade out after the fade out delay

play_to_client +

+

proc for actually playing this screen_text on a mob.

remove_and_play_next +

+

Removes the text from the player's screen and plays the next one if present.

+ + + diff --git a/atom/movable/screen/text/screen_text/picture.html b/atom/movable/screen/text/screen_text/picture.html new file mode 100644 index 000000000000..4aa569700510 --- /dev/null +++ b/atom/movable/screen/text/screen_text/picture.html @@ -0,0 +1,50 @@ + + + + + + + /atom/movable/screen/text/screen_text/picture - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

picture + + + +

+ + + + +

Vars

image_fileimage that will display on the left of the screen alert
image_to_play_offset_xx offset of image
image_to_play_offset_yy offset of image
+

Var Details

image_file + + + + +

+

image that will display on the left of the screen alert

image_to_play_offset_x + + + + +

+

x offset of image

image_to_play_offset_y + + + + +

+

y offset of image

+ + + diff --git a/atom/movable/screen/wanted.html b/atom/movable/screen/wanted.html new file mode 100644 index 000000000000..80aa0b8f6e84 --- /dev/null +++ b/atom/movable/screen/wanted.html @@ -0,0 +1,43 @@ + + + + + + + /atom/movable/screen/wanted - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

wanted + + + +

+ + + +

Vars

cops_arrivedBoolean, have the cops arrived? If so, the icon stops changing and remains the same.
levelWanted level, affects the hud icon. Level 0 is default, and the level 0 icon is blank, so in case of no families gamemode (and thus no wanted level), this HUD element will never appear.
+

Var Details

cops_arrived + + + + +

+

Boolean, have the cops arrived? If so, the icon stops changing and remains the same.

level + + + + +

+

Wanted level, affects the hud icon. Level 0 is default, and the level 0 icon is blank, so in case of no families gamemode (and thus no wanted level), this HUD element will never appear.

+ + + diff --git a/atom/movable/virtualspeaker.html b/atom/movable/virtualspeaker.html new file mode 100644 index 000000000000..ebed5723433b --- /dev/null +++ b/atom/movable/virtualspeaker.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/virtualspeaker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

virtualspeaker + + + +

+ + +

Vars

voice_typegoon speech sound voice type
+

Var Details

voice_type + + + + +

+

goon speech sound voice type

+ + + diff --git a/atom/movable/visual/cryo_occupant.html b/atom/movable/visual/cryo_occupant.html new file mode 100644 index 000000000000..869dc1145c2d --- /dev/null +++ b/atom/movable/visual/cryo_occupant.html @@ -0,0 +1,50 @@ + + + + + + + /atom/movable/visual/cryo_occupant - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cryo_occupant + + + +

+ +

This is a visual helper that shows the occupant inside the cryo cell.

+ + +

Vars

occupantThe current occupant being presented

Procs

on_set_occupantCOMSIG_MACHINERY_SET_OCCUPANT callback
on_set_onCOMSIG_CRYO_SET_ON callback
+

Var Details

occupant + + + + +

+

The current occupant being presented

Proc Details

on_set_occupant +

+

COMSIG_MACHINERY_SET_OCCUPANT callback

on_set_on +

+

COMSIG_CRYO_SET_ON callback

+ + + diff --git a/client.html b/client.html new file mode 100644 index 000000000000..f4581290b519 --- /dev/null +++ b/client.html @@ -0,0 +1,1353 @@ + + + + + + + /client - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

client + + + +

+ +

Client datum

+

A datum that is created whenever a user joins a BYOND world, one will exist for every active connected +player

+

when they first connect, this client object is created and [/client/New] is called

+

When they disconnect, this client object is deleted and [/client/Del] is called

+

All client topic calls go through [/client/Topic] first, so a lot of our specialised +topic handling starts here

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

AI_InteractUsed for admin AI interaction
account_ageAge of byond account in days
account_join_dateDate of byond account creation in ISO 8601 format
active_mousedown_itemAutoclick variable referencing the associated item.
admin_music_volumeAdmin music volume, from 0 to 1.
adminhelptimeridClient var used for returning the ahelp verb
areaCurrent area of the controlled mob
avgpingAverage ping of the client
ban_cacheUsed to cache this client's bans to save on DB queries
ban_cache_startIf we are currently building this client's ban cache, this var stores the timeofday we started at
char_render_holdersShould only be a key-value list of north/south/east/west = atom/movable/screen.
click_interceptNeeds to implement InterceptClickOn(user,params,atom) proc
click_intercept_timeTime when the click was intercepted
clicklimiterUsed for limiting the rate of clicks sends by the client to avoid abuse
client_keysend_amountAmount of keydowns in the last keysend checking interval
combo_hud_enabledWhether or not this client has the combo HUD enabled
completed_asset_jobsList of all completed blocking send jobs awaiting acknowledgement by send_asset
connection_realtimeworld.realtime they connected
connection_timeworld.time they connected
connection_timeofdayworld.timeofday they connected
crew_manifest_delayrate limiting for the crew manifest
current_ticketClient var used for tracking the ticket the (usually) not-admin client is dealing with
do_parallax_animationsDo we want to do parallax animations at all? +Exists to prevent laptop fires
dont_animate_parallaxworld.time of when we can state animate()ing parallax again
externalreplyamountInternal counter for clients sending external (IRC/Discord) relay messages via ahelp to prevent spamming. Set to a number every time an admin reply is sent, decremented for every client send.
fully_createdIf this client has been fully initialized or not
holderContains admin info. Null if client is not an admin.
hotkeysWhether or not this client has standard hotkeys enabled
intended_directionThe direction we WANT to move, based off our keybinds +Will be updated to be the actual direction later on
ip_intelUsed for ip intel checking to identify evaders, disabled because of issues with traffic
key_combos_heldA buffer for combinations such of modifiers + keys (ex: CtrlD, AltE, ShiftT). Format: "key" -> "combo" (ex: "D" -> "CtrlD")
keys_heldA buffer of currently held keys.
keysend_trippedWhen set to true, user will be autokicked if they trip the keysends in a second limit again
last_asset_jobLast asset send job id.
last_messageContains the last message sent by this client - used to protect against copy-paste spamming.
last_message_countcontins a number of how many times a message identical to last_message was sent.
last_turnlast turn of the controlled mob, I think this is only used by mechs?
lastpingLast ping of the client
mouseParamsUsed in MouseDrag to preserve the original mouse click parameters
mouse_down_iconused to make a special mouse cursor, this one for mouse up icon
mouse_location_refUsed in MouseDrag to preserve the last mouse-entered location. Weakref
mouse_object_refUsed in MouseDrag to preserve the last mouse-entered object. Weakref
mouse_override_iconused to override the mouse cursor so it doesnt get reset
mouse_pointer_iconUse our custom cursor
mouse_up_iconused to make a special mouse cursor, this one for mouse up icon
move_delayMove delay of controlled mob, any keypresses inside this period will persist until the next proper move
movement_keyscustom movement keys for this client
movement_lockedAre we locking our movement input?
movingmobthis is the last recorded client eye by SSparallax/fire()
navigation_imagesImages of the path created by navigate().
next_keysend_resetWorld tick time where client_keysend_amount will reset
next_keysend_trip_resetWorld tick time where keysend_tripped will reset back to false
next_move_dir_addOn next move, add this dir to the move that would otherwise be done
next_move_dir_subOn next move, subtract this dir from the move that would otherwise be done
obj_windowOur object window datum. It stores info about and handles behavior for the object tab
panel_tabslist of all tabs
parallax_animate_timerTimer for the area directional animation
parallax_layers_maxHow many parallax layers to show our client
parallax_movedirDirection our current area wants to move parallax
parent_typeThis line makes clients parent type be a datum
player_ageUsed to determine how old the account is - in days.
player_detailsthese persist between logins/logouts during the same round.
player_join_dateDate that this account was first seen in the server
playing_ambienceKeeps track of what ambience we are playing. Yeah i know it sucks.
prefsPlayer preferences datum for the client
recent_examinesA lazy list of atoms we've examined in the last RECENT_EXAMINE_MAX_WINDOW (default 2) seconds, so that we will call /atom/proc/examine_more instead of /atom/proc/examine on them when examining
related_accounts_cidSo admins know why it isn't working - Used to determine what other accounts previously logged in from this computer id
related_accounts_ipSo admins know why it isn't working - Used to determine what other accounts previously logged in from this ip
restricted_modeIf the client is currently under the restrictions of the interview system, or any other reason.
say_slowmodeTracks say() usage for ic/dchat while slowmode is enabled
screen_mapsAssoc list with all the active maps - when a screen obj is added to +a map, it's put in here as well.
screen_textslazylist of screen_texts for this client, first in this list is the one playing
script!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!HEY LISTEN!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
seen_messagesMessages currently seen by this client
selected_targetAutoclick list of two elements, first being the clicked thing, second being the parameters.
show_verb_panelhides the byond verb panel as we use our own custom version
spell_tabslist of tabs containing spells and abilities
stat_panelStat panel window declaration
stat_tabour current tab
tgui_cache_reloadedglobal
tgui_windowsglobal
tooltipsdatum that controls the displaying and hiding of tooltips
topiclimiterUsed for limiting the rate of topic sends by the client to avoid abuse
total_count_resetNext tick to reset the total message counter
total_message_countHow many messages sent in the last 10 seconds
updating_macrosSemaphore for macro updates, so that they all complete and don't stomp over each other.
urgent_ahelp_cooldownThe last urgent ahelp that this player sent
view_sizedatum wrapper for client view
visual_delayThe visual delay to use for the current client.Move(), mostly used for making a client based move look like it came from some other slower source

Procs

MoveMove a client in a direction
Move_objectforce move the control_object of your client mob
Process_IncorpmoveAllows mobs to ignore density and phase through objects
_Topicdumb workaround because byond doesnt seem to recognize the .proc/Topic() typepath for /datum/proc/Topic() from the client Topic, +so we cant queue it without this
adjust_heartGives someone hearted status for OOC, from behavior commendations
admin_followAttempts to make the client orbit the given object, for administrative purposes. +If they are not an observer, will try to aghost them.
asset_cache_confirm_arrivalProcess asset cache client topic calls for "asset_cache_confirm_arrival=[INT]"
asset_cache_preload_dataProcess asset cache client topic calls for "asset_cache_preload_data=[HTML+JSON_STRING]"
asset_cache_update_jsonUpdates the client side stored json file used to keep track of what assets the client has between restarts/reconnects.
attempt_auto_fit_viewportAttempt to automatically fit the viewport, assuming the user wants it
body_chestHidden verb to target the chest, bound to 5
body_eyesHidden verb to target the eyes, bound to 7
body_groinHidden verb to target the groin, bound to 2
body_l_armHidden verb to target the left arm, bound to 6
body_l_legHidden verb to target the left leg, bound to 3
body_mouthHidden verb to target the mouth, bound to 9
body_r_armHidden verb to target the right arm, bound to 4
body_r_legHidden verb to target the right leg, bound to 1
body_toggle_headHidden verb to set the target zone of a mob to the head
browse_queue_flushBlocks until all currently sending browse and browse_rsc assets have been sent. +Due to byond limitations, this proc will sleep for 1 client round trip even if the client has no pending asset sends. +This proc will return an untrue value if it had to return before confirming the send, such as timeout or the client going away.
check_atmos_controlsChecks the atmos monitor, sensors, meters, vents, and injectors, and makes sure they dont overlap or do nothing.
check_can_moveChecks to see if an external factor is preventing movement, mainly grabbing.
check_drag_proximityHandles treating drags as clicks if they're within some conditions +Does some other stuff adjacent to trying to figure out what the user actually "wanted" to click +Returns TRUE if it caused a click, FALSE otherwise
check_has_body_selectValidate the client's mob has a valid zone selected
check_panic_bunkerChecks panic bunker status and applies restricted_mode if necessary. Returns TRUE if the client should be kicked.
check_timer_sourcesA debug verb to check the sources of currently running timers
clear_all_mapsClears all the maps of registered screen objects.
clear_mapClears the map of registered screen objects.
close_popupCloses a popup.
cmd_admin_create_centcom_reportVerb to open the create command report window and send command reports.
cmd_change_command_nameVerb to change the global command name.
create_popupCreates a popup window with a basic map element in it, without any +further initialization.
debug_spell_requirementsDebug verb for seeing at a glance what all spells have as set requirements
discord_generate_one_time_tokenGenerate a timebound token for discord verification
discord_get_or_generate_one_time_token_for_ckeyGiven a ckey as a string, look up the OTP token attached to that ckey, else generated new one
discord_is_link_validChecks if the the given ckey has a valid discord link +Returns: TRUE if valid, FALSE if invalid or missing
discord_lookup_ckeyGiven a discord id as a string, look up the ckey attached to that account, if any
discord_lookup_idGiven a ckey, look up the discord user id attached to the user, if any
drop_itemIf your mob is concious, drop the item in the active hand
dsayOur current command name to swap back to after sending the report. +The sound we're going to play on report.
find_discord_link_by_ckeyFind discord link entry by the passed in user ckey
find_discord_link_by_discord_idFind discord link entry by the passed in user discord id
find_discord_link_by_tokenFind discord link entry by the passed in user token
fix_tgui_paneltgui panel / chat troubleshooting verb
forcerandomrotatebroadcaster[id_tag] = machine +listened_to[atmos_chamber_entry] = bool +TRUE means we have the corresponding id_tag being listened to by an atmos control computer. +broadcasted_to[id_tag[1]] = bool +TRUE means we have the corresponding id_tag being broadcasted to by a device, be it meter, sensors, etc. +How many things dont fit the recognized subtypes. +How many things have invalid (messes with our delimiter) tags. +How many things have empty tags, invalids but much worse. +How many things have duped id_tag. +How many things are broadcasting without an atmos computer listening +How many atmos computers are listening to an empty tag.
get_award_statusRedirect proc that makes it easier to get the status of an achievement. Achievement type is the typepath to the award.
get_remaining_daysChecks if this client has met the days requirement passed in, or if +they are exempt from it. +Returns the number of days left, or 0.
give_awardRedirect proc that makes it easier to call the unlock achievement proc. Achievement type is the typepath to the award, user is the mob getting the award, and value is an optional variable used for leaderboard value increments
handle_popup_closeWhen the popup closes in any way (player or proc call) it calls this.
init_verbscompiles a full list of verbs and sends it to the browser
initialize_menusInitializes dropdown menus on client
is_drag_clickableDoes the logic for checking if a drag counts as a click or not +Returns true if it does, false otherwise
is_veteranReturns whether the client should receive the gamer cloak
keyUpCheck if the key is short enough to even be a real key
on_stat_panel_messageHandles incoming messages from the stat-panel TGUI.
only_oneGives everyone kilts, berets, claymores, and pinpointers, with the objective to hijack the emergency shuttle. +Uses highlander controller to do so!
ooctalking in OOC uses this
open_particle_editoropens the particle editor UI for the in_atom object for this client
register_map_objRegisters screen obj with the client, which makes it visible on the +assigned map, and becomes a part of the assigned map's lifecycle.
requestsVerb for opening the requests manager panel
reset_held_keysManually clears any held keys, in case due to lag or other undefined behavior a key gets stuck.
send_resourcesSend resources to the client. +Sends both game resources and browser assets.
set_macrosApply client macros. Has a system to prevent infighting bullshit. There's probably a cleaner way to do this but I'm tired.
setup_popupCreate the popup, and get it ready for generic use by giving +it a background.
spawn_debug_full_crewDebug verb that spawns human crewmembers +of each job type, gives them a mind and assigns the role, +and injects them into the manifest, as if they were a "player".
strip_verbsStrip verbs from a client and it's mob.
toggle_walk_runVerb to toggle the walk or run status
uicloseverb
update_exp_listTallies up the exp for the playtime tracking and adds it to the global update list.
update_special_keybindsUpdates the keybinds for special keys
+

Var Details

AI_Interact + + + + +

+

Used for admin AI interaction

account_age + + + + +

+

Age of byond account in days

account_join_date + + + + +

+

Date of byond account creation in ISO 8601 format

active_mousedown_item + + + + +

+

Autoclick variable referencing the associated item.

admin_music_volume + + + + +

+

Admin music volume, from 0 to 1.

adminhelptimerid + + + + +

+

Client var used for returning the ahelp verb

area + + + + +

+

Current area of the controlled mob

avgping + + + + +

+

Average ping of the client

ban_cache + + + + +

+

Used to cache this client's bans to save on DB queries

ban_cache_start + + + + +

+

If we are currently building this client's ban cache, this var stores the timeofday we started at

char_render_holders + + + + +

+

Should only be a key-value list of north/south/east/west = atom/movable/screen.

click_intercept + + + + +

+

Needs to implement InterceptClickOn(user,params,atom) proc

click_intercept_time + + + + +

+

Time when the click was intercepted

clicklimiter + + + + +

+

Used for limiting the rate of clicks sends by the client to avoid abuse

client_keysend_amount + + + + +

+

Amount of keydowns in the last keysend checking interval

combo_hud_enabled + + + + +

+

Whether or not this client has the combo HUD enabled

completed_asset_jobs + + + + +

+

List of all completed blocking send jobs awaiting acknowledgement by send_asset

connection_realtime + + + + +

+

world.realtime they connected

connection_time + + + + +

+

world.time they connected

connection_timeofday + + + + +

+

world.timeofday they connected

crew_manifest_delay + + + + +

+

rate limiting for the crew manifest

current_ticket + + + + +

+

Client var used for tracking the ticket the (usually) not-admin client is dealing with

do_parallax_animations + + + + +

+

Do we want to do parallax animations at all? +Exists to prevent laptop fires

dont_animate_parallax + + + + +

+

world.time of when we can state animate()ing parallax again

externalreplyamount + + + + +

+

Internal counter for clients sending external (IRC/Discord) relay messages via ahelp to prevent spamming. Set to a number every time an admin reply is sent, decremented for every client send.

fully_created + + + + +

+

If this client has been fully initialized or not

holder + + + + +

+

Contains admin info. Null if client is not an admin.

hotkeys + + + + +

+

Whether or not this client has standard hotkeys enabled

intended_direction + + + + +

+

The direction we WANT to move, based off our keybinds +Will be updated to be the actual direction later on

ip_intel + + + + +

+

Used for ip intel checking to identify evaders, disabled because of issues with traffic

key_combos_held + + + + +

+

A buffer for combinations such of modifiers + keys (ex: CtrlD, AltE, ShiftT). Format: "key" -> "combo" (ex: "D" -> "CtrlD")

keys_held + + + + +

+

A buffer of currently held keys.

keysend_tripped + + + + +

+

When set to true, user will be autokicked if they trip the keysends in a second limit again

last_asset_job + + + + +

+

Last asset send job id.

last_message + + + + +

+

Contains the last message sent by this client - used to protect against copy-paste spamming.

last_message_count + + + + +

+

contins a number of how many times a message identical to last_message was sent.

last_turn + + + + +

+

last turn of the controlled mob, I think this is only used by mechs?

lastping + + + + +

+

Last ping of the client

mouseParams + + + + +

+

Used in MouseDrag to preserve the original mouse click parameters

mouse_down_icon + + + + +

+

used to make a special mouse cursor, this one for mouse up icon

mouse_location_ref + + + + +

+

Used in MouseDrag to preserve the last mouse-entered location. Weakref

mouse_object_ref + + + + +

+

Used in MouseDrag to preserve the last mouse-entered object. Weakref

mouse_override_icon + + + + +

+

used to override the mouse cursor so it doesnt get reset

mouse_pointer_icon + + + + +

+

Use our custom cursor

mouse_up_icon + + + + +

+

used to make a special mouse cursor, this one for mouse up icon

move_delay + + + + +

+

Move delay of controlled mob, any keypresses inside this period will persist until the next proper move

movement_keys + + + + +

+

custom movement keys for this client

movement_locked + + + + +

+

Are we locking our movement input?

movingmob + + + + +

+

this is the last recorded client eye by SSparallax/fire()

navigation_images + + + + +

+

Images of the path created by navigate().

next_keysend_reset + + + + +

+

World tick time where client_keysend_amount will reset

next_keysend_trip_reset + + + + +

+

World tick time where keysend_tripped will reset back to false

next_move_dir_add + + + + +

+

On next move, add this dir to the move that would otherwise be done

next_move_dir_sub + + + + +

+

On next move, subtract this dir from the move that would otherwise be done

obj_window + + + + +

+

Our object window datum. It stores info about and handles behavior for the object tab

panel_tabs + + + + +

+

list of all tabs

parallax_animate_timer + + + + +

+

Timer for the area directional animation

parallax_layers_max + + + + +

+

How many parallax layers to show our client

parallax_movedir + + + + +

+

Direction our current area wants to move parallax

parent_type + + + + +

+

This line makes clients parent type be a datum

+

By default in byond if you define a proc on datums, that proc will exist on nearly every single type +from icons to images to atoms to mobs to objs to turfs to areas, it won't however, appear on client

+

instead by default they act like their own independent type so while you can do istype(icon, /datum) +and have it return true, you can't do istype(client, /datum), it will always return false.

+

This makes writing oo code hard, when you have to consider this extra special case

+

This line prevents that, and has never appeared to cause any ill effects, while saving us an extra +pain to think about

+

This line is widely considered black fucking magic, and the fact it works is a puzzle to everyone +involved, including the current engine developer, lummox

+

If you are a future developer and the engine source is now available and you can explain why this +is the way it is, please do update this comment

player_age + + + + +

+

Used to determine how old the account is - in days.

player_details + + + + +

+

these persist between logins/logouts during the same round.

player_join_date + + + + +

+

Date that this account was first seen in the server

playing_ambience + + + + +

+

Keeps track of what ambience we are playing. Yeah i know it sucks.

prefs + + + + +

+

Player preferences datum for the client

recent_examines + + + + +

+

A lazy list of atoms we've examined in the last RECENT_EXAMINE_MAX_WINDOW (default 2) seconds, so that we will call /atom/proc/examine_more instead of /atom/proc/examine on them when examining

related_accounts_cid + + + + +

+

So admins know why it isn't working - Used to determine what other accounts previously logged in from this computer id

related_accounts_ip + + + + +

+

So admins know why it isn't working - Used to determine what other accounts previously logged in from this ip

restricted_mode + + + + +

+

If the client is currently under the restrictions of the interview system, or any other reason.

say_slowmode + + + + +

+

Tracks say() usage for ic/dchat while slowmode is enabled

screen_maps + + + + +

+

Assoc list with all the active maps - when a screen obj is added to +a map, it's put in here as well.

+

Format: list( = list(/atom/movable/screen))

screen_texts + + + + +

+

lazylist of screen_texts for this client, first in this list is the one playing

script + + + + +

+

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!HEY LISTEN!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

seen_messages + + + + +

+

Messages currently seen by this client

selected_target + + + + +

+

Autoclick list of two elements, first being the clicked thing, second being the parameters.

show_verb_panel + + + + +

+

hides the byond verb panel as we use our own custom version

spell_tabs + + + + +

+

list of tabs containing spells and abilities

stat_panel + + + + +

+

Stat panel window declaration

stat_tab + + + + +

+

our current tab

tgui_cache_reloaded + + + + +

+

global

+

TRUE if cache was reloaded by tgui dev server at least once.

tgui_windows + + + + +

+

global

+

Tracks open windows for a user.

tooltips + + + + +

+

datum that controls the displaying and hiding of tooltips

topiclimiter + + + + +

+

Used for limiting the rate of topic sends by the client to avoid abuse

total_count_reset + + + + +

+

Next tick to reset the total message counter

total_message_count + + + + +

+

How many messages sent in the last 10 seconds

updating_macros + + + + +

+

Semaphore for macro updates, so that they all complete and don't stomp over each other.

urgent_ahelp_cooldown + + + + +

+

The last urgent ahelp that this player sent

view_size + + + + +

+

datum wrapper for client view

visual_delay + + + + +

+

The visual delay to use for the current client.Move(), mostly used for making a client based move look like it came from some other slower source

Proc Details

Move +

+

Move a client in a direction

+

Huge proc, has a lot of functionality

+

Mostly it will despatch to the mob that you are the owner of to actually move +in the physical realm

+

Things that stop you moving as a mob:

+ +

Things that stop you moving as a mob living (why even have OO if you're just shoving it all +in the parent proc with istype checks right?):

+ +

At this point, if the mob is is confused, then a random direction and target turf will be calculated for you to travel to instead

+

Now the parent call is made (to the byond builtin move), which moves you

+

Some final move delay calculations (doubling if you moved diagonally successfully)

+

if mob throwing is set I believe it's unset at this point via a call to finalize

+

Finally if you're pulling an object and it's dense, you are turned 180 after the move +(if you ask me, this should be at the top of the move so you don't dance around)

Move_object +

+

force move the control_object of your client mob

+

Used in admin possession and called from the client Move proc +ensures the possessed object moves and not the admin mob

+

Has no sanity other than checking density

Process_Incorpmove +

+

Allows mobs to ignore density and phase through objects

+

Called by client/Move()

+

The behaviour depends on the incorporeal_move value of the mob

+ +

You'll note this is another mob living level proc living at the client level

_Topic +

+

dumb workaround because byond doesnt seem to recognize the .proc/Topic() typepath for /datum/proc/Topic() from the client Topic, +so we cant queue it without this

adjust_heart +

+

Gives someone hearted status for OOC, from behavior commendations

admin_follow +

+

Attempts to make the client orbit the given object, for administrative purposes. +If they are not an observer, will try to aghost them.

asset_cache_confirm_arrival +

+

Process asset cache client topic calls for "asset_cache_confirm_arrival=[INT]"

asset_cache_preload_data +

+

Process asset cache client topic calls for "asset_cache_preload_data=[HTML+JSON_STRING]"

asset_cache_update_json +

+

Updates the client side stored json file used to keep track of what assets the client has between restarts/reconnects.

attempt_auto_fit_viewport +

+

Attempt to automatically fit the viewport, assuming the user wants it

body_chest +

+

Hidden verb to target the chest, bound to 5

body_eyes +

+

Hidden verb to target the eyes, bound to 7

body_groin +

+

Hidden verb to target the groin, bound to 2

body_l_arm +

+

Hidden verb to target the left arm, bound to 6

body_l_leg +

+

Hidden verb to target the left leg, bound to 3

body_mouth +

+

Hidden verb to target the mouth, bound to 9

body_r_arm +

+

Hidden verb to target the right arm, bound to 4

body_r_leg +

+

Hidden verb to target the right leg, bound to 1

body_toggle_head +

+

Hidden verb to set the target zone of a mob to the head

+

(bound to 8) - repeated presses toggles through head - eyes - mouth +Hidden verb to target the head, bound to 8

browse_queue_flush +

+

Blocks until all currently sending browse and browse_rsc assets have been sent. +Due to byond limitations, this proc will sleep for 1 client round trip even if the client has no pending asset sends. +This proc will return an untrue value if it had to return before confirming the send, such as timeout or the client going away.

check_atmos_controls +

+

Checks the atmos monitor, sensors, meters, vents, and injectors, and makes sure they dont overlap or do nothing.

check_can_move +

+

Checks to see if an external factor is preventing movement, mainly grabbing.

+

Called by client/Move()

check_drag_proximity +

+

Handles treating drags as clicks if they're within some conditions +Does some other stuff adjacent to trying to figure out what the user actually "wanted" to click +Returns TRUE if it caused a click, FALSE otherwise

check_has_body_select +

+

Validate the client's mob has a valid zone selected

check_panic_bunker +

+

Checks panic bunker status and applies restricted_mode if necessary. Returns TRUE if the client should be kicked.

check_timer_sources +

+

A debug verb to check the sources of currently running timers

clear_all_maps +

+

Clears all the maps of registered screen objects.

clear_map +

+

Clears the map of registered screen objects.

close_popup +

+

Closes a popup.

cmd_admin_create_centcom_report +

+

Verb to open the create command report window and send command reports.

cmd_change_command_name +

+

Verb to change the global command name.

create_popup +

+

Creates a popup window with a basic map element in it, without any +further initialization.

+

Ratio is how many pixels by how many pixels (keep it simple).

+

Returns a map name.

debug_spell_requirements +

+

Debug verb for seeing at a glance what all spells have as set requirements

discord_generate_one_time_token +

+

Generate a timebound token for discord verification

+

This uses the common word list to generate a three word random token, this token can then be fed to a discord bot that has access +to the same database, and it can use it to link a ckey to a discord id, with minimal user effort

+

It returns the token to the calling proc, after inserting an entry into the discord_link table of the following form

+
(unique_id, ckey, null, the current time, the one time token generated)
+the null value will be filled out with the discord id by the integrated discord bot when a user verifies
+
+

Notes:

+ +

Arguments:

+ +

Returns a string representing the one time token

discord_get_or_generate_one_time_token_for_ckey +

+

Given a ckey as a string, look up the OTP token attached to that ckey, else generated new one

+

Arguments:

+ +

Returns: OTP token as string

+

Checks if the the given ckey has a valid discord link +Returns: TRUE if valid, FALSE if invalid or missing

discord_lookup_ckey +

+

Given a discord id as a string, look up the ckey attached to that account, if any

+

This gets the most recent entry from the discord_link table that is associated with this discord id snowflake

+

Arguments:

+ +

Returns: ckey as string

discord_lookup_id +

+

Given a ckey, look up the discord user id attached to the user, if any

+

This gets the most recent entry from the discord_link table that is associated with the given ckey

+

Arguments:

+

drop_item +

+

If your mob is concious, drop the item in the active hand

+

This is a hidden verb, likely for binding with winset for hotkeys

dsay +

+

Our current command name to swap back to after sending the report. +The sound we're going to play on report.

+

Find discord link entry by the passed in user ckey

+

This will look into the discord link table and return the last (most recent) entry that matches the given ckey

+

Arguments:

+ +

Returns a /datum/discord_link_record

+

Find discord link entry by the passed in user discord id

+

This will look into the discord link table and return the last (most recent) entry that matches the given id number

+

Arguments:

+ +

Returns a /datum/discord_link_record

+

Find discord link entry by the passed in user token

+

This will look into the discord link table and return the last (most recent) entry that matches the given one time token

+

Arguments:

+ +

Returns a /datum/discord_link_record

fix_tgui_panel +

+

tgui panel / chat troubleshooting verb

forcerandomrotate +

+

broadcaster[id_tag] = machine +listened_to[atmos_chamber_entry] = bool +TRUE means we have the corresponding id_tag being listened to by an atmos control computer. +broadcasted_to[id_tag[1]] = bool +TRUE means we have the corresponding id_tag being broadcasted to by a device, be it meter, sensors, etc. +How many things dont fit the recognized subtypes. +How many things have invalid (messes with our delimiter) tags. +How many things have empty tags, invalids but much worse. +How many things have duped id_tag. +How many things are broadcasting without an atmos computer listening +How many atmos computers are listening to an empty tag.

get_award_status +

+

Redirect proc that makes it easier to get the status of an achievement. Achievement type is the typepath to the award.

get_remaining_days +

+

Checks if this client has met the days requirement passed in, or if +they are exempt from it. +Returns the number of days left, or 0.

give_award +

+

Redirect proc that makes it easier to call the unlock achievement proc. Achievement type is the typepath to the award, user is the mob getting the award, and value is an optional variable used for leaderboard value increments

handle_popup_close +

+

When the popup closes in any way (player or proc call) it calls this.

init_verbs +

+

compiles a full list of verbs and sends it to the browser

initialize_menus +

+

Initializes dropdown menus on client

is_drag_clickable +

+

Does the logic for checking if a drag counts as a click or not +Returns true if it does, false otherwise

is_veteran +

+

Returns whether the client should receive the gamer cloak

keyUp +

+

Check if the key is short enough to even be a real key

on_stat_panel_message +

+

Handles incoming messages from the stat-panel TGUI.

only_one +

+

Gives everyone kilts, berets, claymores, and pinpointers, with the objective to hijack the emergency shuttle. +Uses highlander controller to do so!

+

Arguments:

+

ooc +

+

talking in OOC uses this

open_particle_editor +

+

opens the particle editor UI for the in_atom object for this client

register_map_obj +

+

Registers screen obj with the client, which makes it visible on the +assigned map, and becomes a part of the assigned map's lifecycle.

requests +

+

Verb for opening the requests manager panel

reset_held_keys +

+

Manually clears any held keys, in case due to lag or other undefined behavior a key gets stuck.

+

Hardcoded to the ESC key.

send_resources +

+

Send resources to the client. +Sends both game resources and browser assets.

set_macros +

+

Apply client macros. Has a system to prevent infighting bullshit. There's probably a cleaner way to do this but I'm tired.

setup_popup +

+

Create the popup, and get it ready for generic use by giving +it a background.

+

Width and height are multiplied by 64 by default.

spawn_debug_full_crew +

+

Debug verb that spawns human crewmembers +of each job type, gives them a mind and assigns the role, +and injects them into the manifest, as if they were a "player".

+

This spawns humans with minds and jobs, but does NOT make them 'players'. +They're all clientles mobs with minds / jobs.

strip_verbs +

+

Strip verbs from a client and it's mob.

toggle_walk_run +

+

Verb to toggle the walk or run status

uiclose +

+

verb

+

Called by UIs when they are closed. +Must be a verb so winset() can call it.

+

required uiref ref The UI that was closed.

update_exp_list +

+

Tallies up the exp for the playtime tracking and adds it to the global update list.

+

For a client mob of /mob/dead/observer, it adds EXP_TYPE_GHOST.

+

For a client mob of /mob/living, it grabs the exp list from a mob proc call. +Being dead but still in your body will tally time towards your /mob/living roles instead of ghost roles. +If /mob/living returns an empty list, uses "Unknown" instead.

+

For anything else, it doesn't update anything.

+

Arguments:

+

update_special_keybinds +

+

Updates the keybinds for special keys

+

Handles adding macros for the keys that need it +And adding movement keys to the clients movement_keys list +At the time of writing this, communication(OOC, Say, IC) require macros +Arguments:

+
+ + + diff --git a/code/__DEFINES.html b/code/__DEFINES.html new file mode 100644 index 000000000000..835816f77ab7 --- /dev/null +++ b/code/__DEFINES.html @@ -0,0 +1,38 @@ + + + + + + + code/__DEFINES/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__DEFINES/README.md + +

+ + +

This folder is full of #define statements. They are similar to constants, +but must come before any code that references them, and they do not take up +memory the way constants do.

+

The values in this folder are NOT options. They are not for hosts to play with. +Some of the values are arbitrary and only need to be different from similar constants; +for example, the genetic mutation numbers in genetics.dm mean nothing, but MUST be distinct.

+

It is wise not to touch them unless you understand what they do, where they're used, +and most importantly, +how to undo your changes if you screw it up.

+
    +
  • Sayu
  • +
+ + + diff --git a/code/__DEFINES/DNA.html b/code/__DEFINES/DNA.html new file mode 100644 index 000000000000..5be176f73564 --- /dev/null +++ b/code/__DEFINES/DNA.html @@ -0,0 +1,122 @@ + + + + + + + code/__DEFINES/DNA.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/DNA.dm + +

+ + + + + + + + + + + + + + + + + + + + +
DNA_FEATURE_BLOCKSThis number needs to equal the total number of DNA blocks
DYNCOLORSUse this if you want to change the race's color without the player being able to pick their own color. AKA special color shifting
NOEYESPRITESDo not draw eyes or eyeless overlay
HAS_MARKINGSIf we have a limb-specific overlay sprite
NOBLOODOVERLAYDo not draw blood overlay
NOAUGMENTSNo augments, for monkeys in specific because they will turn into fucking freakazoids https://cdn.discordapp.com/attachments/326831214667235328/791313258912153640/102707682-fa7cad80-4294-11eb-8f13-8c689468aeb0.png
BLOOD_CLANSwill be assigned a universal vampire themed last name shared by their department. this is preferenced!
BODY_RESIZABLECan this species use the 'Body size' preference
HAIRCOLORHaircolor
NONHUMANHAIRHas non-human hair. Used by pref code to hide standard hair options.
BRANDEDPROSTHETICSSnowflake for IPCs, so they can pick prosthetic branding
DOES_NOT_NEEDFor use in /datum/species/var/organs
ORGAN_SLOT_EXTERNAL_TAILOrgan slot external
ORGAN_SLOT_XENO_ACIDGLANDXenomorph organ slots
STANDARD_ORGAN_DECAYdesigned to fail organs when left to decay for ~15 minutes
SPECIES_PERK_ICONA key that designates UI icon displayed on the perk.
SPECIES_PERK_NAMEA key that designates the name of the perk.
SPECIES_PERK_DESCA key that designates the description of the perk.
SPECIES_PERK_TYPEA key that designates what type of perk it is (see below).

Define Details

+

BLOOD_CLANS + + +

+

will be assigned a universal vampire themed last name shared by their department. this is preferenced!

BODY_RESIZABLE + + +

+

Can this species use the 'Body size' preference

BRANDEDPROSTHETICS + + +

+

Snowflake for IPCs, so they can pick prosthetic branding

DNA_FEATURE_BLOCKS + + +

+

This number needs to equal the total number of DNA blocks

DOES_NOT_NEED + + +

+

For use in /datum/species/var/organs

DYNCOLORS + + +

+

Use this if you want to change the race's color without the player being able to pick their own color. AKA special color shifting

HAIRCOLOR + + +

+

Haircolor

HAS_MARKINGS + + +

+

If we have a limb-specific overlay sprite

NOAUGMENTS + + +

+

No augments, for monkeys in specific because they will turn into fucking freakazoids https://cdn.discordapp.com/attachments/326831214667235328/791313258912153640/102707682-fa7cad80-4294-11eb-8f13-8c689468aeb0.png

NOBLOODOVERLAY + + +

+

Do not draw blood overlay

NOEYESPRITES + + +

+

Do not draw eyes or eyeless overlay

NONHUMANHAIR + + +

+

Has non-human hair. Used by pref code to hide standard hair options.

ORGAN_SLOT_EXTERNAL_TAIL + + +

+

Organ slot external

ORGAN_SLOT_XENO_ACIDGLAND + + +

+

Xenomorph organ slots

SPECIES_PERK_DESC + + +

+

A key that designates the description of the perk.

SPECIES_PERK_ICON + + +

+

A key that designates UI icon displayed on the perk.

SPECIES_PERK_NAME + + +

+

A key that designates the name of the perk.

SPECIES_PERK_TYPE + + +

+

A key that designates what type of perk it is (see below).

STANDARD_ORGAN_DECAY + + +

+

designed to fail organs when left to decay for ~15 minutes

+ + + diff --git a/code/__DEFINES/MC.html b/code/__DEFINES/MC.html new file mode 100644 index 000000000000..213f6a8e29f3 --- /dev/null +++ b/code/__DEFINES/MC.html @@ -0,0 +1,152 @@ + + + + + + + code/__DEFINES/MC.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/MC.dm + +

+ + + + + + + + + + + + + + + + + + + + + +
MC_AVG_OVER_TIMEcreates a running average of "things elapsed" per time period when you need to count via a smaller time period. +eg you want an average number of things happening per second but you measure the event every tick (50 milliseconds). +make sure both time intervals are in the same units. doesnt work if current_duration > total_duration or if total_duration == 0
MC_RUNNINGReturns true if the MC is initialized and running. +Optional argument init_stage controls what stage the mc must have initializted to count as initialized. Defaults to INITSTAGE_MAX if not specified.

SubSystem flags (Please design any new flags so that the default is off, to make adding flags to subsystems easier)

SS_NO_INITsubsystem does not initialize.
SS_NO_FIREsubsystem does not fire. +(like can_fire = 0, but keeps it from getting added to the processing subsystems list) +(Requires a MC restart to change)
SS_BACKGROUNDSubsystem only runs on spare cpu (after all non-background subsystems have ran that tick) +SS_BACKGROUND has its own priority bracket, this overrides SS_TICKER's priority bump
SS_TICKERTreat wait as a tick count, not DS, run every wait ticks. +(also forces it to run first in the tick (unless SS_BACKGROUND)) +(We don't want to be choked out by other subsystems queuing into us) +(implies all runlevels because of how it works) +This is designed for basically anything that works as a mini-mc (like SStimer)
SS_KEEP_TIMINGkeep the subsystem's timing on point by firing early if it fired late last fire because of lag +ie: if a 20ds subsystem fires say 5 ds late due to lag or what not, its next fire would be in 15ds, not 20ds.
SS_POST_FIRE_TIMINGCalculate its next fire after its fired. +(IE: if a 5ds wait SS takes 2ds to run, its next fire should be 5ds away, not 3ds like it normally would be) +This flag overrides SS_KEEP_TIMING
SS_HIBERNATEThis subsystem should not be queued if it has no work +Populate the [hibernate_checks] list with the names of vars to check before a subsystem is queued. +If the length() of each var is 0, it will not be queued

SUBSYSTEM STATES

+
SS_IDLEain't doing shit.
SS_QUEUEDqueued to run
SS_RUNNINGactively running
SS_PAUSEDpaused by mc_tick_check
SS_SLEEPINGfire() slept.
SS_PAUSINGin the middle of pausing
INITSTAGE_EARLYEarly init stuff that doesn't need to wait for mapload
INITSTAGE_MAINMain init stage
INITSTAGE_MAXHighest initstage.

Define Details

+

INITSTAGE_EARLY + + +

+

Early init stuff that doesn't need to wait for mapload

INITSTAGE_MAIN + + +

+

Main init stage

INITSTAGE_MAX + + +

+

Highest initstage.

MC_AVG_OVER_TIME + + + +

+

creates a running average of "things elapsed" per time period when you need to count via a smaller time period. +eg you want an average number of things happening per second but you measure the event every tick (50 milliseconds). +make sure both time intervals are in the same units. doesnt work if current_duration > total_duration or if total_duration == 0

MC_RUNNING + + + +

+

Returns true if the MC is initialized and running. +Optional argument init_stage controls what stage the mc must have initializted to count as initialized. Defaults to INITSTAGE_MAX if not specified.

SS_BACKGROUND + + +

+

Subsystem only runs on spare cpu (after all non-background subsystems have ran that tick) +SS_BACKGROUND has its own priority bracket, this overrides SS_TICKER's priority bump

SS_HIBERNATE + + +

+

This subsystem should not be queued if it has no work +Populate the [hibernate_checks] list with the names of vars to check before a subsystem is queued. +If the length() of each var is 0, it will not be queued

SS_IDLE + + +

+

ain't doing shit.

SS_KEEP_TIMING + + +

+

keep the subsystem's timing on point by firing early if it fired late last fire because of lag +ie: if a 20ds subsystem fires say 5 ds late due to lag or what not, its next fire would be in 15ds, not 20ds.

SS_NO_FIRE + + +

+

subsystem does not fire. +(like can_fire = 0, but keeps it from getting added to the processing subsystems list) +(Requires a MC restart to change)

SS_NO_INIT + + +

+

subsystem does not initialize.

SS_PAUSED + + +

+

paused by mc_tick_check

SS_PAUSING + + +

+

in the middle of pausing

SS_POST_FIRE_TIMING + + +

+

Calculate its next fire after its fired. +(IE: if a 5ds wait SS takes 2ds to run, its next fire should be 5ds away, not 3ds like it normally would be) +This flag overrides SS_KEEP_TIMING

SS_QUEUED + + +

+

queued to run

SS_RUNNING + + +

+

actively running

SS_SLEEPING + + +

+

fire() slept.

SS_TICKER + + +

+

Treat wait as a tick count, not DS, run every wait ticks. +(also forces it to run first in the tick (unless SS_BACKGROUND)) +(We don't want to be choked out by other subsystems queuing into us) +(implies all runlevels because of how it works) +This is designed for basically anything that works as a mini-mc (like SStimer)

+ + + diff --git a/code/__DEFINES/_click.html b/code/__DEFINES/_click.html new file mode 100644 index 000000000000..f5cab786764f --- /dev/null +++ b/code/__DEFINES/_click.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/_click.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_click.dm + +

+ + + + +
MOUSE_OPACITY_TRANSPARENTObjects will ignore being clicked on regardless of their transparency (used in parallax, lighting effects, holograms, lasers, etc.)
MOUSE_OPACITY_ICONObjects will be clicked on if it is the topmost object and the pixel isn't transparent at the position of the mouse (default behavior for 99.99% of game objects)
MOUSE_OPACITY_OPAQUEObjects will be always be clicked on regardless of pixel transparency or other objects at that location (used in space vines, megafauna, storage containers)

Define Details

+

MOUSE_OPACITY_ICON + + +

+

Objects will be clicked on if it is the topmost object and the pixel isn't transparent at the position of the mouse (default behavior for 99.99% of game objects)

MOUSE_OPACITY_OPAQUE + + +

+

Objects will be always be clicked on regardless of pixel transparency or other objects at that location (used in space vines, megafauna, storage containers)

MOUSE_OPACITY_TRANSPARENT + + +

+

Objects will ignore being clicked on regardless of their transparency (used in parallax, lighting effects, holograms, lasers, etc.)

+ + + diff --git a/code/__DEFINES/_globals.html b/code/__DEFINES/_globals.html new file mode 100644 index 000000000000..3e694aa51daa --- /dev/null +++ b/code/__DEFINES/_globals.html @@ -0,0 +1,123 @@ + + + + + + + code/__DEFINES/_globals.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_globals.dm + +

+ + + + + + + + + + + + + + + + + +
GLOBAL_MANAGEDCreates a global initializer with a given InitValue expression, do not use
GLOBAL_UNMANAGEDCreates an empty global initializer, do not use
GLOBAL_PROTECTPrevents a given global from being VV'd
GLOBAL_REAL_VARStandard BYOND global, do not use
GLOBAL_REALStandard typed BYOND global, do not use
GLOBAL_RAWDefines a global var on the controller, do not use
GLOBAL_VAR_INITCreate an untyped global with an initializer expression
GLOBAL_VAR_CONSTCreate a global const var, do not use
GLOBAL_LIST_INITCreate a list global with an initializer expression
GLOBAL_LIST_EMPTYCreate a list global that is initialized as an empty list
GLOBAL_LIST_INIT_TYPEDCreate a typed list global with an initializer expression
GLOBAL_LIST_EMPTY_TYPEDCreate a typed list global that is initialized as an empty list
GLOBAL_DATUM_INITCreate a typed global with an initializer expression
GLOBAL_VARCreate an untyped null global
GLOBAL_LISTCreate a null global list
GLOBAL_DATUMCreate a typed null global

Define Details

+

GLOBAL_DATUM + + + +

+

Create a typed null global

GLOBAL_DATUM_INIT + + + +

+

Create a typed global with an initializer expression

GLOBAL_LIST + + + +

+

Create a null global list

GLOBAL_LIST_EMPTY + + + +

+

Create a list global that is initialized as an empty list

GLOBAL_LIST_EMPTY_TYPED + + + +

+

Create a typed list global that is initialized as an empty list

GLOBAL_LIST_INIT + + + +

+

Create a list global with an initializer expression

GLOBAL_LIST_INIT_TYPED + + + +

+

Create a typed list global with an initializer expression

GLOBAL_MANAGED + + + +

+

Creates a global initializer with a given InitValue expression, do not use

GLOBAL_PROTECT + + + +

+

Prevents a given global from being VV'd

GLOBAL_RAW + + + +

+

Defines a global var on the controller, do not use

GLOBAL_REAL + + + +

+

Standard typed BYOND global, do not use

GLOBAL_REAL_VAR + + + +

+

Standard BYOND global, do not use

GLOBAL_UNMANAGED + + + +

+

Creates an empty global initializer, do not use

GLOBAL_VAR + + + +

+

Create an untyped null global

GLOBAL_VAR_CONST + + + +

+

Create a global const var, do not use

GLOBAL_VAR_INIT + + + +

+

Create an untyped global with an initializer expression

+ + + diff --git a/code/__DEFINES/_helpers.html b/code/__DEFINES/_helpers.html new file mode 100644 index 000000000000..01863e47db3d --- /dev/null +++ b/code/__DEFINES/_helpers.html @@ -0,0 +1,51 @@ + + + + + + + code/__DEFINES/_helpers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_helpers.dm + +

+ + + + + +
STRINGIFYStringifies whatever you put into it.
subtypesofsubtypesof(), typesof() without the parent path
UNTILUntil a condition is true, sleep
list_clear_nullsClears all nulls in a list, returning the amount removed.

Define Details

+

STRINGIFY + + + +

+

Stringifies whatever you put into it.

UNTIL + + + +

+

Until a condition is true, sleep

list_clear_nulls + + + +

+

Clears all nulls in a list, returning the amount removed.

subtypesof + + + +

+

subtypesof(), typesof() without the parent path

+ + + diff --git a/code/__DEFINES/_multiz.html b/code/__DEFINES/_multiz.html new file mode 100644 index 000000000000..bc93063524eb --- /dev/null +++ b/code/__DEFINES/_multiz.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/_multiz.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_multiz.dm + +

+ + + +
ZMOVING_VERTICALVertical Z movement
ZMOVING_LATERALLaterial Z movement

Define Details

+

ZMOVING_LATERAL + + +

+

Laterial Z movement

ZMOVING_VERTICAL + + +

+

Vertical Z movement

+ + + diff --git a/code/__DEFINES/_protect.html b/code/__DEFINES/_protect.html new file mode 100644 index 000000000000..5131bc753e0a --- /dev/null +++ b/code/__DEFINES/_protect.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/_protect.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_protect.dm + +

+ + +
GENERAL_PROTECT_DATUMProtects a datum from being VV'd

Define Details

+

GENERAL_PROTECT_DATUM + + + +

+

Protects a datum from being VV'd

+ + + diff --git a/code/__DEFINES/_tick.html b/code/__DEFINES/_tick.html new file mode 100644 index 000000000000..5b5cd918a268 --- /dev/null +++ b/code/__DEFINES/_tick.html @@ -0,0 +1,77 @@ + + + + + + + code/__DEFINES/_tick.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_tick.dm + +

+ + + + + + + + + + + +
MAPTICK_MC_MIN_RESERVEPercentage of tick to leave for master controller to run
TICK_BYOND_RESERVETick limit while running normally
TICK_LIMIT_TO_RUNTick limit used to resume things in stoplag
TICK_LIMIT_MCTick limit for MC while running
TICK_USAGEfor general usage of tick_usage
TICK_USAGE_REALto be used where the result isn't checked
TICK_CHECKReturns true if tick_usage is above the limit
CHECK_TICKruns stoplag if tick_usage is above the limit
TICK_CHECK_HIGH_PRIORITYReturns true if tick usage is above 95, for high priority usage
CHECK_TICK_HIGH_PRIORITYruns stoplag if tick_usage is above 95, for high priority usage

Define Details

+

CHECK_TICK + + +

+

runs stoplag if tick_usage is above the limit

CHECK_TICK_HIGH_PRIORITY + + +

+

runs stoplag if tick_usage is above 95, for high priority usage

MAPTICK_MC_MIN_RESERVE + + +

+

Percentage of tick to leave for master controller to run

TICK_BYOND_RESERVE + + +

+

Tick limit while running normally

TICK_CHECK + + +

+

Returns true if tick_usage is above the limit

TICK_CHECK_HIGH_PRIORITY + + +

+

Returns true if tick usage is above 95, for high priority usage

TICK_LIMIT_MC + + +

+

Tick limit for MC while running

TICK_LIMIT_TO_RUN + + +

+

Tick limit used to resume things in stoplag

TICK_USAGE + + +

+

for general usage of tick_usage

TICK_USAGE_REAL + + +

+

to be used where the result isn't checked

+ + + diff --git a/code/__DEFINES/abstract.html b/code/__DEFINES/abstract.html new file mode 100644 index 000000000000..9be3ac29b383 --- /dev/null +++ b/code/__DEFINES/abstract.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/abstract.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/abstract.dm + +

+ + +
isabstractAbstract-ness is a meta-property of a class that is used to indicate +that the class is intended to be used as a base class for others, and +should not (or cannot) be instantiated. +We have no such language concept in DM, and so we provide a datum member +that can be used to hint at abstractness for circumstances where we would +like that to be the case, such as base behavior providers. +TRUE if the current path is abstract. See __DEFINES\abstract.dm for more information. +Instantiating abstract paths is illegal.

Define Details

+

isabstract + + + +

+

Abstract-ness is a meta-property of a class that is used to indicate +that the class is intended to be used as a base class for others, and +should not (or cannot) be instantiated. +We have no such language concept in DM, and so we provide a datum member +that can be used to hint at abstractness for circumstances where we would +like that to be the case, such as base behavior providers. +TRUE if the current path is abstract. See __DEFINES\abstract.dm for more information. +Instantiating abstract paths is illegal.

+ + + diff --git a/code/__DEFINES/access.html b/code/__DEFINES/access.html new file mode 100644 index 000000000000..b406753365c7 --- /dev/null +++ b/code/__DEFINES/access.html @@ -0,0 +1,611 @@ + + + + + + + code/__DEFINES/access.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/access.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ACCESS_BRIGBrig cells+timers, permabrig, gulag+gulag shuttle, prisoner management console
ACCESS_ARMORYArmory, gulag teleporter, execution chamber
ACCESS_FORENSICSDetective's office, forensics lockers, security+medical records
ACCESS_MEDICALMedical general access
ACCESS_MORGUEMorgue access
ACCESS_RNDR&D department and R&D console
ACCESS_ORDNANCEOrdnance lab and burn chamber
ACCESS_GENETICSGenetics access
ACCESS_ENGINEEngineering area, power monitor, power flow control console
ACCESS_ENGINE_EQUIPAPCs, EngiVend/YouTool, engineering equipment lockers
ACCESS_MANAGEMENTBridge, EVA storage windoors, gateway shutters, AI integrity restorer, comms console
ACCESS_CHEMISTRYAllows access to chemistry factory areas on compatible maps
ACCESS_RC_ANNOUNCERequest console announcements
ACCESS_KEYCARD_AUTHUsed for events which require at least two people to confirm them
ACCESS_TCOMSAThas access to the entire telecomms satellite / machinery
ACCESS_BRIG_ENTRANCEOuter brig doors, department security posts
ACCESS_MINERAL_STOREROOMFor releasing minerals from the ORM
ACCESS_WEAPONSWeapon authorization for secbots
ACCESS_NETWORKNTnet diagnostics/monitoring software
ACCESS_PHARMACYPharmacy access (Chemistry room in Medbay) +Nice.
ACCESS_ORDNANCE_STORAGEOrdnance gas storage room access
ACCESS_AUX_BASERoom and launching.
ACCESS_SERVICEService access, for service hallway and service consoles
ACCESS_CENT_GENERALGeneral facilities. CentCom ferry.
ACCESS_CENT_THUNDERThunderdome.
ACCESS_CENT_SPECOPSSpecial Ops. Captain's display case, Marauder and Seraph mechs.
ACCESS_CENT_MEDICALMedical/Research
ACCESS_CENT_LIVINGLiving quarters.
ACCESS_CENT_STORAGEGeneric storage areas.
ACCESS_CENT_TELEPORTERTeleporter.
ACCESS_CENT_CAPTAINCaptain's office/ID comp/AI.
ACCESS_CENT_BARThe non-existent CentCom Bar
ACCESS_SYNDICATEGeneral Syndicate Access. Includes Syndicate mechs and ruins.
ACCESS_SYNDICATE_LEADERNuke Op Leader Access
ACCESS_AWAY_GENERALAway general facilities.
ACCESS_AWAY_MAINTAway maintenance
ACCESS_AWAY_MEDAway medical
ACCESS_AWAY_SECAway security
ACCESS_AWAY_ENGINEAway engineering
ACCESS_AWAY_SCIENCEAway science
ACCESS_AWAY_SUPPLYAway supply
ACCESS_AWAY_COMMANDAway command
ACCESS_AWAY_GENERIC1Away generic access
ACCESS_ALERT_ADMINSA list of access levels that, when added to an ID card, will warn admins.
LOG_ID_ACCESS_CHANGELogging define for ID card access changes
ACCESS_FLAG_COMMON_NAMEDisplayed name for Common ID card accesses.
ACCESS_FLAG_COMMONBitflag for Common ID card accesses. See COMMON_ACCESS.
ACCESS_FLAG_COMMAND_NAMEDisplayed name for Command ID card accesses.
ACCESS_FLAG_COMMANDBitflag for Command ID card accesses. See COMMAND_ACCESS.
ACCESS_FLAG_PRV_COMMAND_NAMEDisplayed name for Private Command ID card accesses.
ACCESS_FLAG_PRV_COMMANDBitflag for Private Command ID card accesses. See PRIVATE_COMMAND_ACCESS.
ACCESS_FLAG_CAPTAIN_NAMEDisplayed name for Captain ID card accesses.
ACCESS_FLAG_CAPTAINBitflag for Captain ID card accesses. See CAPTAIN_ACCESS.
ACCESS_FLAG_CENTCOM_NAMEDisplayed name for Centcom ID card accesses.
ACCESS_FLAG_CENTCOMBitflag for Centcom ID card accesses. See CENTCOM_ACCESS.
ACCESS_FLAG_SYNDICATE_NAMEDisplayed name for Syndicate ID card accesses.
ACCESS_FLAG_SYNDICATEBitflag for Syndicate ID card accesses. See SYNDICATE_ACCESS.
ACCESS_FLAG_AWAY_NAMEDisplayed name for Offstation/Ruin/Away Mission ID card accesses.
ACCESS_FLAG_AWAYBitflag for Offstation/Ruin/Away Mission ID card accesses. See AWAY_ACCESS.
ACCESS_FLAG_SPECIAL_NAMEDisplayed name for Special accesses that ordinaryily shouldn't be on ID cards.
ACCESS_FLAG_SPECIALBitflag for Special accesses that ordinaryily shouldn't be on ID cards. See CULT_ACCESS.
WILDCARD_FLAG_ALLThis wildcraft flag accepts any access level.
WILDCARD_NAME_ALLName associated with the all wildcard bitflag.
WILDCARD_FLAG_COMMONAccess flags that can be applied to common wildcard slots.
WILDCARD_NAME_COMMONName associated with the common wildcard bitflag.
WILDCARD_FLAG_COMMANDAccess flags that can be applied to command wildcard slots.
WILDCARD_NAME_COMMANDName associated with the command wildcard bitflag.
WILDCARD_FLAG_PRV_COMMANDAccess flags that can be applied to private command wildcard slots.
WILDCARD_NAME_PRV_COMMANDName associated with the private command wildcard bitflag.
WILDCARD_FLAG_CAPTAINAccess flags that can be applied to captain wildcard slots.
WILDCARD_NAME_CAPTAINName associated with the captain wildcard bitflag.
WILDCARD_FLAG_CENTCOMAccess flags that can be applied to centcom wildcard slots.
WILDCARD_NAME_CENTCOMName associated with the centcom wildcard bitflag.
WILDCARD_FLAG_SYNDICATEAccess flags that can be applied to syndicate wildcard slots.
WILDCARD_NAME_SYNDICATEName associated with the syndicate wildcard bitflag.
WILDCARD_FLAG_AWAYAccess flags that can be applied to offstation wildcard slots.
WILDCARD_NAME_AWAYName associated with the offstation wildcard bitflag.
WILDCARD_FLAG_SPECIALAccess flags that can be applied to super special weird wildcard slots.
WILDCARD_NAME_SPECIALName associated with the super special weird wildcard bitflag.
WILDCARD_FLAG_FORCEDAccess flag that indicates a wildcard was forced onto an ID card.
WILDCARD_NAME_FORCEDName associated with the wildcard bitflag that covers wildcards that have been forced onto an ID card that could not accept them.
COMMON_ACCESSDepartmental/general/common area accesses. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_COMMON)
COMMAND_ACCESSCommand staff/secure accesses, think bridge/armoury, AI upload, notably access to modify ID cards themselves. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_COMMAND)
PRIVATE_COMMAND_ACCESSPrivate head of staff offices, usually only granted to most cards by trimming. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_PRV_COMMAND)
CAPTAIN_ACCESSCaptains private rooms. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_CAPTAIN)
CENTCOM_ACCESSCentcom area stuff. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_CENTCOM)
SYNDICATE_ACCESSSyndicate areas off station. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_SYNDICATE)
AWAY_ACCESSAway missions/gateway/space ruins. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_AWAY)
CULT_ACCESSWeird internal Cult access that prevents non-cult from using their doors. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_SPECIAL)
REGION_ALL_GLOBALName for the Global region.
REGION_ACCESS_ALL_GLOBALUsed to seed the accesses_by_region list in SSid_access. A list of every single access in the game.
REGION_ALL_STATIONName for the Station All Access region.
REGION_ACCESS_ALL_STATIONUsed to seed the accesses_by_region list in SSid_access. A list of all station accesses.
REGION_GENERALName for the General region.
REGION_ACCESS_GENERALUsed to seed the accesses_by_region list in SSid_access. A list of general service accesses that are overseen by the HoP.
REGION_SECURITYName for the Security region.
REGION_ACCESS_SECURITYUsed to seed the accesses_by_region list in SSid_access. A list of all security regional accesses that are overseen by the HoS.
REGION_MEDBAYName for the Medbay region.
REGION_ACCESS_MEDBAYUsed to seed the accesses_by_region list in SSid_access. A list of all medbay regional accesses that are overseen by the CMO.
REGION_RESEARCHName for the Research region.
REGION_ACCESS_RESEARCHUsed to seed the accesses_by_region list in SSid_access. A list of all research regional accesses that are overseen by the RD.
REGION_ENGINEERINGName for the Engineering region.
REGION_ACCESS_ENGINEERINGUsed to seed the accesses_by_region list in SSid_access. A list of all engineering regional accesses that are overseen by the CE.
REGION_SUPPLYName for the Supply region.
REGION_ACCESS_SUPPLYUsed to seed the accesses_by_region list in SSid_access. A list of all cargo regional accesses that are overseen by the HoP.
REGION_COMMANDName for the Command region.
REGION_ACCESS_COMMANDUsed to seed the accesses_by_region list in SSid_access. A list of all command regional accesses that are overseen by the Captain.
REGION_CENTCOMName for the Centcom region.
REGION_ACCESS_CENTCOMUsed to seed the accesses_by_region list in SSid_access. A list of all CENTCOM_ACCESS regional accesses.
PDA_PAINTING_REGIONSA list of PDA paths that can be painted as well as the regional heads which should be able to paint them. +If a PDA is not in this list, it cannot be painted using the PDA & ID Painter. +If a PDA is in this list, it can always be painted with ACCESS_CHANGE_IDS. +Used to see pda_region in /datum/controller/subsystem/id_access/proc/setup_tgui_lists
REGION_AREA_STATIONAll regions that make up the station area. Helper define to quickly designate a region as part of the station or not. Access via SSid_access.station_regions.
TRY_ADD_ALLUsed in ID card access adding procs. Will try to add all accesses and utilises free wildcards, skipping over any accesses it can't add.
TRY_ADD_ALL_NO_WILDCARDUsed in ID card access adding procs. Will try to add all accesses and does not utilise wildcards, skipping anything requiring a wildcard.
FORCE_ADD_ALLUsed in ID card access adding procs. Will forcefully add all accesses.
ERROR_ON_FAILUsed in ID card access adding procs. Will stack trace on fail.

Define Details

+

ACCESS_ALERT_ADMINS + + +

+

A list of access levels that, when added to an ID card, will warn admins.

ACCESS_ARMORY + + +

+

Armory, gulag teleporter, execution chamber

ACCESS_AUX_BASE + + +

+

Room and launching.

ACCESS_AWAY_COMMAND + + +

+

Away command

ACCESS_AWAY_ENGINE + + +

+

Away engineering

ACCESS_AWAY_GENERAL + + +

+

Away general facilities.

ACCESS_AWAY_GENERIC1 + + +

+

Away generic access

ACCESS_AWAY_MAINT + + +

+

Away maintenance

ACCESS_AWAY_MED + + +

+

Away medical

ACCESS_AWAY_SCIENCE + + +

+

Away science

ACCESS_AWAY_SEC + + +

+

Away security

ACCESS_AWAY_SUPPLY + + +

+

Away supply

ACCESS_BRIG + + +

+

Brig cells+timers, permabrig, gulag+gulag shuttle, prisoner management console

ACCESS_BRIG_ENTRANCE + + +

+

Outer brig doors, department security posts

ACCESS_CENT_BAR + + +

+

The non-existent CentCom Bar

ACCESS_CENT_CAPTAIN + + +

+

Captain's office/ID comp/AI.

ACCESS_CENT_GENERAL + + +

+

General facilities. CentCom ferry.

ACCESS_CENT_LIVING + + +

+

Living quarters.

ACCESS_CENT_MEDICAL + + +

+

Medical/Research

ACCESS_CENT_SPECOPS + + +

+

Special Ops. Captain's display case, Marauder and Seraph mechs.

ACCESS_CENT_STORAGE + + +

+

Generic storage areas.

ACCESS_CENT_TELEPORTER + + +

+

Teleporter.

ACCESS_CENT_THUNDER + + +

+

Thunderdome.

ACCESS_CHEMISTRY + + +

+

Allows access to chemistry factory areas on compatible maps

ACCESS_ENGINE + + +

+

Engineering area, power monitor, power flow control console

ACCESS_ENGINE_EQUIP + + +

+

APCs, EngiVend/YouTool, engineering equipment lockers

ACCESS_FLAG_AWAY + + +

+

Bitflag for Offstation/Ruin/Away Mission ID card accesses. See AWAY_ACCESS.

ACCESS_FLAG_AWAY_NAME + + +

+

Displayed name for Offstation/Ruin/Away Mission ID card accesses.

ACCESS_FLAG_CAPTAIN + + +

+

Bitflag for Captain ID card accesses. See CAPTAIN_ACCESS.

ACCESS_FLAG_CAPTAIN_NAME + + +

+

Displayed name for Captain ID card accesses.

ACCESS_FLAG_CENTCOM + + +

+

Bitflag for Centcom ID card accesses. See CENTCOM_ACCESS.

ACCESS_FLAG_CENTCOM_NAME + + +

+

Displayed name for Centcom ID card accesses.

ACCESS_FLAG_COMMAND + + +

+

Bitflag for Command ID card accesses. See COMMAND_ACCESS.

ACCESS_FLAG_COMMAND_NAME + + +

+

Displayed name for Command ID card accesses.

ACCESS_FLAG_COMMON + + +

+

Bitflag for Common ID card accesses. See COMMON_ACCESS.

ACCESS_FLAG_COMMON_NAME + + +

+

Displayed name for Common ID card accesses.

ACCESS_FLAG_PRV_COMMAND + + +

+

Bitflag for Private Command ID card accesses. See PRIVATE_COMMAND_ACCESS.

ACCESS_FLAG_PRV_COMMAND_NAME + + +

+

Displayed name for Private Command ID card accesses.

ACCESS_FLAG_SPECIAL + + +

+

Bitflag for Special accesses that ordinaryily shouldn't be on ID cards. See CULT_ACCESS.

ACCESS_FLAG_SPECIAL_NAME + + +

+

Displayed name for Special accesses that ordinaryily shouldn't be on ID cards.

ACCESS_FLAG_SYNDICATE + + +

+

Bitflag for Syndicate ID card accesses. See SYNDICATE_ACCESS.

ACCESS_FLAG_SYNDICATE_NAME + + +

+

Displayed name for Syndicate ID card accesses.

ACCESS_FORENSICS + + +

+

Detective's office, forensics lockers, security+medical records

ACCESS_GENETICS + + +

+

Genetics access

ACCESS_KEYCARD_AUTH + + +

+

Used for events which require at least two people to confirm them

ACCESS_MANAGEMENT + + +

+

Bridge, EVA storage windoors, gateway shutters, AI integrity restorer, comms console

ACCESS_MEDICAL + + +

+

Medical general access

ACCESS_MINERAL_STOREROOM + + +

+

For releasing minerals from the ORM

ACCESS_MORGUE + + +

+

Morgue access

ACCESS_NETWORK + + +

+

NTnet diagnostics/monitoring software

ACCESS_ORDNANCE + + +

+

Ordnance lab and burn chamber

ACCESS_ORDNANCE_STORAGE + + +

+

Ordnance gas storage room access

ACCESS_PHARMACY + + +

+

Pharmacy access (Chemistry room in Medbay) +Nice.

ACCESS_RC_ANNOUNCE + + +

+

Request console announcements

ACCESS_RND + + +

+

R&D department and R&D console

ACCESS_SERVICE + + +

+

Service access, for service hallway and service consoles

ACCESS_SYNDICATE + + +

+

General Syndicate Access. Includes Syndicate mechs and ruins.

ACCESS_SYNDICATE_LEADER + + +

+

Nuke Op Leader Access

ACCESS_TCOMSAT + + +

+

has access to the entire telecomms satellite / machinery

ACCESS_WEAPONS + + +

+

Weapon authorization for secbots

AWAY_ACCESS + + +

+

Away missions/gateway/space ruins. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_AWAY)

CAPTAIN_ACCESS + + +

+

Captains private rooms. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_CAPTAIN)

CENTCOM_ACCESS + + +

+

Centcom area stuff. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_CENTCOM)

COMMAND_ACCESS + + +

+

Command staff/secure accesses, think bridge/armoury, AI upload, notably access to modify ID cards themselves. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_COMMAND)

COMMON_ACCESS + + +

+

Departmental/general/common area accesses. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_COMMON)

CULT_ACCESS + + +

+

Weird internal Cult access that prevents non-cult from using their doors. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_SPECIAL)

ERROR_ON_FAIL + + +

+

Used in ID card access adding procs. Will stack trace on fail.

FORCE_ADD_ALL + + +

+

Used in ID card access adding procs. Will forcefully add all accesses.

LOG_ID_ACCESS_CHANGE + + + +

+

Logging define for ID card access changes

PDA_PAINTING_REGIONS + + +

+

A list of PDA paths that can be painted as well as the regional heads which should be able to paint them. +If a PDA is not in this list, it cannot be painted using the PDA & ID Painter. +If a PDA is in this list, it can always be painted with ACCESS_CHANGE_IDS. +Used to see pda_region in /datum/controller/subsystem/id_access/proc/setup_tgui_lists

PRIVATE_COMMAND_ACCESS + + +

+

Private head of staff offices, usually only granted to most cards by trimming. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_PRV_COMMAND)

REGION_ACCESS_ALL_GLOBAL + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of every single access in the game.

REGION_ACCESS_ALL_STATION + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all station accesses.

REGION_ACCESS_CENTCOM + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all CENTCOM_ACCESS regional accesses.

REGION_ACCESS_COMMAND + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all command regional accesses that are overseen by the Captain.

REGION_ACCESS_ENGINEERING + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all engineering regional accesses that are overseen by the CE.

REGION_ACCESS_GENERAL + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of general service accesses that are overseen by the HoP.

REGION_ACCESS_MEDBAY + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all medbay regional accesses that are overseen by the CMO.

REGION_ACCESS_RESEARCH + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all research regional accesses that are overseen by the RD.

REGION_ACCESS_SECURITY + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all security regional accesses that are overseen by the HoS.

REGION_ACCESS_SUPPLY + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all cargo regional accesses that are overseen by the HoP.

REGION_ALL_GLOBAL + + +

+

Name for the Global region.

REGION_ALL_STATION + + +

+

Name for the Station All Access region.

REGION_AREA_STATION + + +

+

All regions that make up the station area. Helper define to quickly designate a region as part of the station or not. Access via SSid_access.station_regions.

REGION_CENTCOM + + +

+

Name for the Centcom region.

REGION_COMMAND + + +

+

Name for the Command region.

REGION_ENGINEERING + + +

+

Name for the Engineering region.

REGION_GENERAL + + +

+

Name for the General region.

REGION_MEDBAY + + +

+

Name for the Medbay region.

REGION_RESEARCH + + +

+

Name for the Research region.

REGION_SECURITY + + +

+

Name for the Security region.

REGION_SUPPLY + + +

+

Name for the Supply region.

SYNDICATE_ACCESS + + +

+

Syndicate areas off station. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_SYNDICATE)

TRY_ADD_ALL + + +

+

Used in ID card access adding procs. Will try to add all accesses and utilises free wildcards, skipping over any accesses it can't add.

TRY_ADD_ALL_NO_WILDCARD + + +

+

Used in ID card access adding procs. Will try to add all accesses and does not utilise wildcards, skipping anything requiring a wildcard.

WILDCARD_FLAG_ALL + + +

+

This wildcraft flag accepts any access level.

WILDCARD_FLAG_AWAY + + +

+

Access flags that can be applied to offstation wildcard slots.

WILDCARD_FLAG_CAPTAIN + + +

+

Access flags that can be applied to captain wildcard slots.

WILDCARD_FLAG_CENTCOM + + +

+

Access flags that can be applied to centcom wildcard slots.

WILDCARD_FLAG_COMMAND + + +

+

Access flags that can be applied to command wildcard slots.

WILDCARD_FLAG_COMMON + + +

+

Access flags that can be applied to common wildcard slots.

WILDCARD_FLAG_FORCED + + +

+

Access flag that indicates a wildcard was forced onto an ID card.

WILDCARD_FLAG_PRV_COMMAND + + +

+

Access flags that can be applied to private command wildcard slots.

WILDCARD_FLAG_SPECIAL + + +

+

Access flags that can be applied to super special weird wildcard slots.

WILDCARD_FLAG_SYNDICATE + + +

+

Access flags that can be applied to syndicate wildcard slots.

WILDCARD_NAME_ALL + + +

+

Name associated with the all wildcard bitflag.

WILDCARD_NAME_AWAY + + +

+

Name associated with the offstation wildcard bitflag.

WILDCARD_NAME_CAPTAIN + + +

+

Name associated with the captain wildcard bitflag.

WILDCARD_NAME_CENTCOM + + +

+

Name associated with the centcom wildcard bitflag.

WILDCARD_NAME_COMMAND + + +

+

Name associated with the command wildcard bitflag.

WILDCARD_NAME_COMMON + + +

+

Name associated with the common wildcard bitflag.

WILDCARD_NAME_FORCED + + +

+

Name associated with the wildcard bitflag that covers wildcards that have been forced onto an ID card that could not accept them.

WILDCARD_NAME_PRV_COMMAND + + +

+

Name associated with the private command wildcard bitflag.

WILDCARD_NAME_SPECIAL + + +

+

Name associated with the super special weird wildcard bitflag.

WILDCARD_NAME_SYNDICATE + + +

+

Name associated with the syndicate wildcard bitflag.

+ + + diff --git a/code/__DEFINES/achievements.html b/code/__DEFINES/achievements.html new file mode 100644 index 000000000000..f0d9cf90435a --- /dev/null +++ b/code/__DEFINES/achievements.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/achievements.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/achievements.dm + +

+ + +
ACHIEVEMENTS_SETAchievements icon set

Define Details

+

ACHIEVEMENTS_SET + + +

+

Achievements icon set

+ + + diff --git a/code/__DEFINES/acid.html b/code/__DEFINES/acid.html new file mode 100644 index 000000000000..9215dc2d2e7c --- /dev/null +++ b/code/__DEFINES/acid.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/acid.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/acid.dm + +

+ + + + + + + + + + +
ACID_POWER_MELT_TURFThe acid power required to destroy most closed turfs.
OBJ_ACID_DAMAGE_MAXThe maximum amount of damage (per second) acid can deal to an /obj.
OBJ_ACID_VOLUME_MAXMaximum acid volume that can be applied to an /obj.
MOB_ACID_VOLUME_MAXMaximum acid volume that can be applied to a /mob/living.
TURF_ACID_VOLUME_MAXMaximum acid volume that can be applied to a /turf.
ACID_DECAY_BASEThe constant factor for the acid decay rate.
ACID_DECAY_SCALINGThe scaling factor for the acid decay rate.
ACID_OVERLAY_DEFAULTThe default icon state for the acid overlay. Not to be confused with the error icon state.
ACID_LEVEL_HANDBURNThe combined acid power and acid volume required to burn hands.

Define Details

+

ACID_DECAY_BASE + + +

+

The constant factor for the acid decay rate.

ACID_DECAY_SCALING + + +

+

The scaling factor for the acid decay rate.

ACID_LEVEL_HANDBURN + + +

+

The combined acid power and acid volume required to burn hands.

ACID_OVERLAY_DEFAULT + + +

+

The default icon state for the acid overlay. Not to be confused with the error icon state.

ACID_POWER_MELT_TURF + + +

+

The acid power required to destroy most closed turfs.

MOB_ACID_VOLUME_MAX + + +

+

Maximum acid volume that can be applied to a /mob/living.

OBJ_ACID_DAMAGE_MAX + + +

+

The maximum amount of damage (per second) acid can deal to an /obj.

OBJ_ACID_VOLUME_MAX + + +

+

Maximum acid volume that can be applied to an /obj.

TURF_ACID_VOLUME_MAX + + +

+

Maximum acid volume that can be applied to a /turf.

+ + + diff --git a/code/__DEFINES/actions.html b/code/__DEFINES/actions.html new file mode 100644 index 000000000000..e50c5514d393 --- /dev/null +++ b/code/__DEFINES/actions.html @@ -0,0 +1,69 @@ + + + + + + + code/__DEFINES/actions.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/actions.dm + +

+ + + + + + + + + +
AB_CHECK_HANDS_BLOCKEDAction button checks if hands are unusable
AB_CHECK_IMMOBILEAction button checks if user is immobile
AB_CHECK_LYINGAction button checks if user is resting
AB_CHECK_CONSCIOUSAction button checks if user is conscious
TRIGGER_SECONDARY_ACTIONAction button triggered with right click
PANEL_DISPLAY_PANELThe stat panel the action is displayed in.
PANEL_DISPLAY_STATUSThe status shown in the stat panel. +Can be stuff like "ready", "on cooldown", "active", "charges", "charge cost", etc.
PANEL_DISPLAY_NAMEThe name shown in the stat panel.

Define Details

+

AB_CHECK_CONSCIOUS + + +

+

Action button checks if user is conscious

AB_CHECK_HANDS_BLOCKED + + +

+

Action button checks if hands are unusable

AB_CHECK_IMMOBILE + + +

+

Action button checks if user is immobile

AB_CHECK_LYING + + +

+

Action button checks if user is resting

PANEL_DISPLAY_NAME + + +

+

The name shown in the stat panel.

PANEL_DISPLAY_PANEL + + +

+

The stat panel the action is displayed in.

PANEL_DISPLAY_STATUS + + +

+

The status shown in the stat panel. +Can be stuff like "ready", "on cooldown", "active", "charges", "charge cost", etc.

TRIGGER_SECONDARY_ACTION + + +

+

Action button triggered with right click

+ + + diff --git a/code/__DEFINES/admin.html b/code/__DEFINES/admin.html new file mode 100644 index 000000000000..67f0eac6eef6 --- /dev/null +++ b/code/__DEFINES/admin.html @@ -0,0 +1,97 @@ + + + + + + + code/__DEFINES/admin.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/admin.dm + +

+ + + + + + + + + + + + + + + +
BANTYPE_ANY_FULLBANused to locate stuff to unban.
BANTYPE_ANY_JOBused to remove jobbans
ROUNDSTART_LOGOUT_REPORT_TIMEAmount of time (in deciseconds) after the rounds starts, that the player disconnect report is issued.
SPAM_TRIGGER_WARNINGNumber of identical messages required before the spam-prevention will warn you to stfu
SPAM_TRIGGER_AUTOMUTENumber of identical messages required before the spam-prevention will automute you
MAX_KEYPRESS_COMMANDLENGTHMax length of a keypress command before it's considered to be a forged packet/bogus command
MAX_COMMANDS_PER_KEYMaximum keys that can be bound to one button
MAX_KEYPRESS_AUTOKICKMax amount of keypress messages per second over two seconds before client is autokicked
HELD_KEY_BUFFER_LENGTHLength of held key buffer
POLICY_POLYMORPHShown to vicitm of staff of change and related effects.
POLICY_VERB_HEADERShown on top of policy verb window
ASAY_LINK_NEW_MESSAGE_INDEXfor /proc/check_asay_links, if there are any actionable refs in the asay message, this index in the return list contains the new message text to be printed
ASAY_LINK_PINGED_ADMINS_INDEXfor /proc/check_asay_links, if there are any admin pings in the asay message, this index in the return list contains a list of admins to ping
BAN_PANEL_PERMANENTWhen passed in as the duration for ban_panel, will make the ban default to permanent

Define Details

+ +

for /proc/check_asay_links, if there are any actionable refs in the asay message, this index in the return list contains the new message text to be printed

+

for /proc/check_asay_links, if there are any admin pings in the asay message, this index in the return list contains a list of admins to ping

BANTYPE_ANY_FULLBAN + + +

+

used to locate stuff to unban.

BANTYPE_ANY_JOB + + +

+

used to remove jobbans

BAN_PANEL_PERMANENT + + +

+

When passed in as the duration for ban_panel, will make the ban default to permanent

HELD_KEY_BUFFER_LENGTH + + +

+

Length of held key buffer

MAX_COMMANDS_PER_KEY + + +

+

Maximum keys that can be bound to one button

MAX_KEYPRESS_AUTOKICK + + +

+

Max amount of keypress messages per second over two seconds before client is autokicked

MAX_KEYPRESS_COMMANDLENGTH + + +

+

Max length of a keypress command before it's considered to be a forged packet/bogus command

POLICY_POLYMORPH + + +

+

Shown to vicitm of staff of change and related effects.

POLICY_VERB_HEADER + + +

+

Shown on top of policy verb window

ROUNDSTART_LOGOUT_REPORT_TIME + + +

+

Amount of time (in deciseconds) after the rounds starts, that the player disconnect report is issued.

SPAM_TRIGGER_AUTOMUTE + + +

+

Number of identical messages required before the spam-prevention will automute you

SPAM_TRIGGER_WARNING + + +

+

Number of identical messages required before the spam-prevention will warn you to stfu

+ + + diff --git a/code/__DEFINES/adventure.html b/code/__DEFINES/adventure.html new file mode 100644 index 000000000000..fac802dd799b --- /dev/null +++ b/code/__DEFINES/adventure.html @@ -0,0 +1,134 @@ + + + + + + + code/__DEFINES/adventure.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/adventure.dm + +

+ + + + + + + + + + + + + + + + + + + + + + +
WIN_NODEVictory node - Get loot and exit
FAIL_NODEFailure node - No loot, get damaged and exit.
FAIL_DEATH_NODEFailure node - No loot and drone blown up.
GO_BACK_NODEReturn node - navigates to previous adventure node.
EXODRONE_IDLEDrone is stationside - allow changing tools and such.
EXODRONE_TRAVELDrone is traveling from or to the exploration site
EXODRONE_BUSYDrone is in adventure/event caused timeout
EXODRONE_EXPLORATIONDrone is at exploration site either idle or in simple event
EXODRONE_ADVENTUREDrone is currently playing an adventure
EXPLORATION_SITE_RUINSSome kind of ruined interior
EXPLORATION_SITE_TECHNOLOGYPower, wires and machinery present.
EXPLORATION_SITE_STATIONIt's a space station
EXPLORATION_SITE_ALIENIt's ancient alien site
EXPLORATION_SITE_HABITABLECarbon-based life-forms can live here
EXPLORATION_SITE_SPACESite is in space
EXPLORATION_SITE_SURFACESite is located on planet/moon/whatever surface
EXPLORATION_SITE_SHIPSite is a space ship
EXPLORATION_SITE_CIVILIZEDSite is civilized and populated, trading stations,cities etc. Lack of this trait means it's wilderness
EXOSCAN_WIDEScan types
ADVENTURE_EFFECT_TYPE_REMOVEAdventure Effect Types
ADVENTURE_QUALITY_TYPE_RANDOMAdventure Effect Value Types +rolls value between low and high inclusive

Define Details

+

ADVENTURE_EFFECT_TYPE_REMOVE + + +

+

Adventure Effect Types

ADVENTURE_QUALITY_TYPE_RANDOM + + +

+

Adventure Effect Value Types +rolls value between low and high inclusive

EXODRONE_ADVENTURE + + +

+

Drone is currently playing an adventure

EXODRONE_BUSY + + +

+

Drone is in adventure/event caused timeout

EXODRONE_EXPLORATION + + +

+

Drone is at exploration site either idle or in simple event

EXODRONE_IDLE + + +

+

Drone is stationside - allow changing tools and such.

EXODRONE_TRAVEL + + +

+

Drone is traveling from or to the exploration site

EXOSCAN_WIDE + + +

+

Scan types

EXPLORATION_SITE_ALIEN + + +

+

It's ancient alien site

EXPLORATION_SITE_CIVILIZED + + +

+

Site is civilized and populated, trading stations,cities etc. Lack of this trait means it's wilderness

EXPLORATION_SITE_HABITABLE + + +

+

Carbon-based life-forms can live here

EXPLORATION_SITE_RUINS + + +

+

Some kind of ruined interior

EXPLORATION_SITE_SHIP + + +

+

Site is a space ship

EXPLORATION_SITE_SPACE + + +

+

Site is in space

EXPLORATION_SITE_STATION + + +

+

It's a space station

EXPLORATION_SITE_SURFACE + + +

+

Site is located on planet/moon/whatever surface

EXPLORATION_SITE_TECHNOLOGY + + +

+

Power, wires and machinery present.

FAIL_DEATH_NODE + + +

+

Failure node - No loot and drone blown up.

FAIL_NODE + + +

+

Failure node - No loot, get damaged and exit.

GO_BACK_NODE + + +

+

Return node - navigates to previous adventure node.

WIN_NODE + + +

+

Victory node - Get loot and exit

+ + + diff --git a/code/__DEFINES/ai.html b/code/__DEFINES/ai.html new file mode 100644 index 000000000000..4b17e2b7473b --- /dev/null +++ b/code/__DEFINES/ai.html @@ -0,0 +1,312 @@ + + + + + + + code/__DEFINES/ai.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ai.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AI_MAX_PATH_LENGTHFor JPS pathing, the maximum length of a path we'll try to generate. Should be modularized depending on what we're doing later on
AI_FAILED_PLANNING_COOLDOWNCooldown on planning if planning failed last time
AI_CONTROLLER_INCOMPATIBLEFlags for ai_behavior new()
AI_BEHAVIOR_REQUIRE_MOVEMENTDoes this task require movement from the AI before it can be performed?
AI_BEHAVIOR_MOVE_AND_PERFORMDoes this task let you perform the action while you move closer? (Things like moving and shooting)
AI_BEHAVIOR_KEEP_MOVE_TARGET_ON_FINISHDoes finishing this task not null the current movement target?
AI_BEHAVIOR_KEEP_MOVING_TOWARDS_TARGET_ON_FINISHDoes finishing this task make the AI stop moving towards the target?
STOP_MOVING_WHEN_PULLEDAI flags
SUBTREE_RETURN_FINISH_PLANNINGThis subtree should cancel any further planning, (Including from other subtrees)
RESIST_SUBTREE_PROBprobability that the pawn should try resisting out of restraints
SHOULD_RESISTmacro for whether it's appropriate to resist right now, used by resist subtree
IS_DEAD_OR_INCAPmacro for whether the pawn can act, used generally to prevent some horrifying ai disasters
BB_NEXT_HUNGRYtime until we should next eat, set by the generic hunger subtree
BB_FOOD_TARGETwhat we're going to eat next
BB_PATH_TO_USEPath we should use next time we use the JPS movement datum
BB_SONG_INSTRUMENTsong instrument blackboard, set by instrument subtrees
BB_SONG_LINESsong lines blackboard, set by default on controllers
HAUNTED_ITEM_ATTACK_HAUNT_CHANCEHaunted item controller defines +Chance for haunted item to haunt someone
HAUNTED_ITEM_ESCAPE_GRASP_CHANCEChance for haunted item to try to get itself let go.
HAUNTED_ITEM_AGGRO_ADDITIONAmount of aggro you get when picking up a haunted item
BB_TO_HAUNT_LISTBlackboard keys for haunted items
BB_HAUNT_TARGETActual mob the item is haunting at the moment
BB_HAUNTED_THROW_ATTEMPT_COUNTAmount of successful hits in a row this item has had
BB_LIKES_EQUIPPERIf true, tolerates the equipper holding/equipping the hauntium
CURSED_VIEW_RANGECursed item controller defines +how far a cursed item will still try to chase a target
BB_CURSE_TARGETActual mob the item is haunting at the moment
BB_TARGET_SLOTWhere the item wants to land on
BB_CURSED_THROW_ATTEMPT_COUNTAmount of successful hits in a row this item has had
BB_MOD_TARGETMob the MOD is trying to attach to
BB_MOD_IMPLANTThe implant the AI was created from
MOD_AI_RANGERange for a MOD AI controller.
BB_VENDING_CURRENT_TARGETVending machine AI controller blackboard keys
BB_CUSTOMER_CURRENT_ORDERRobot customer AI controller blackboard keys
BB_CUSTOMER_SAID_CANT_FIND_SEAT_LINERobot customer has said their can't find seat line at least once. Used to rate limit how often they'll complain after the first time.
BB_HOSTILE_ORDER_MODEHostile AI controller blackboard keys
BB_HOSTILE_VISION_RANGEBasically, what is our vision/hearing range.
AI_HOSTILE_COMMAND_COOLDOWNAfter either being given a verbal order or a pointing order, ignore further of each for this duration
HOSTILE_COMMAND_NONEDon't do anything (will still react to stuff around them though)
HOSTILE_COMMAND_ATTACKWill attack a target.
HOSTILE_COMMAND_FOLLOWWill follow a target.
BB_SIMPLE_CARRY_ITEMDog AI controller blackboard keys
AI_DOG_VISION_RANGEBasically, what is our vision/hearing range for picking up on things to fetch
AI_DOG_PET_FRIEND_PROBWhat are the odds someone petting us will become our friend?
AI_FETCH_IGNORE_DURATIONAfter this long without having fetched something, we clear our ignore list
AI_DOG_HEEL_DURATIONAfter being ordered to heel, we spend this long chilling out
AI_DOG_COMMAND_COOLDOWNAfter either being given a verbal order or a pointing order, ignore further of each for this duration
AI_DOG_HARASS_FRUSTRATE_TIMEIf the dog is set to harass someone but doesn't bite them for this long, give up
DOG_COMMAND_NONEDon't do anything (will still react to stuff around them though)
DOG_COMMAND_FETCHWill try to pick up and bring back whatever you point to
DOG_COMMAND_ATTACKWill get within a few tiles of whatever you point at and continually growl/bark. If the target is a living mob who gets too close, the dog will attack them with bites
BB_BANE_BATMANbane ai
BB_CURRENT_HUNTING_TARGETHunting BB keys
BB_BASIC_MOB_TIP_REACTINGBasic Mob Keys +Tipped blackboards +Bool that means a basic mob will start reacting to being tipped in it's planning
BB_BASIC_MOB_TIPPERthe motherfucker who tipped us
BB_BASIC_MOB_CURRENT_TARGETTargetting subtrees

Define Details

+

AI_BEHAVIOR_KEEP_MOVE_TARGET_ON_FINISH + + +

+

Does finishing this task not null the current movement target?

AI_BEHAVIOR_KEEP_MOVING_TOWARDS_TARGET_ON_FINISH + + +

+

Does finishing this task make the AI stop moving towards the target?

AI_BEHAVIOR_MOVE_AND_PERFORM + + +

+

Does this task let you perform the action while you move closer? (Things like moving and shooting)

AI_BEHAVIOR_REQUIRE_MOVEMENT + + +

+

Does this task require movement from the AI before it can be performed?

AI_CONTROLLER_INCOMPATIBLE + + +

+

Flags for ai_behavior new()

AI_DOG_COMMAND_COOLDOWN + + +

+

After either being given a verbal order or a pointing order, ignore further of each for this duration

AI_DOG_HARASS_FRUSTRATE_TIME + + +

+

If the dog is set to harass someone but doesn't bite them for this long, give up

AI_DOG_HEEL_DURATION + + +

+

After being ordered to heel, we spend this long chilling out

AI_DOG_PET_FRIEND_PROB + + +

+

What are the odds someone petting us will become our friend?

AI_DOG_VISION_RANGE + + +

+

Basically, what is our vision/hearing range for picking up on things to fetch

AI_FAILED_PLANNING_COOLDOWN + + +

+

Cooldown on planning if planning failed last time

AI_FETCH_IGNORE_DURATION + + +

+

After this long without having fetched something, we clear our ignore list

AI_HOSTILE_COMMAND_COOLDOWN + + +

+

After either being given a verbal order or a pointing order, ignore further of each for this duration

AI_MAX_PATH_LENGTH + + +

+

For JPS pathing, the maximum length of a path we'll try to generate. Should be modularized depending on what we're doing later on

BB_BANE_BATMAN + + +

+

bane ai

BB_BASIC_MOB_CURRENT_TARGET + + +

+

Targetting subtrees

BB_BASIC_MOB_TIPPER + + +

+

the motherfucker who tipped us

BB_BASIC_MOB_TIP_REACTING + + +

+

Basic Mob Keys +Tipped blackboards +Bool that means a basic mob will start reacting to being tipped in it's planning

BB_CURRENT_HUNTING_TARGET + + +

+

Hunting BB keys

BB_CURSED_THROW_ATTEMPT_COUNT + + +

+

Amount of successful hits in a row this item has had

BB_CURSE_TARGET + + +

+

Actual mob the item is haunting at the moment

BB_CUSTOMER_CURRENT_ORDER + + +

+

Robot customer AI controller blackboard keys

BB_CUSTOMER_SAID_CANT_FIND_SEAT_LINE + + +

+

Robot customer has said their can't find seat line at least once. Used to rate limit how often they'll complain after the first time.

BB_FOOD_TARGET + + +

+

what we're going to eat next

BB_HAUNTED_THROW_ATTEMPT_COUNT + + +

+

Amount of successful hits in a row this item has had

BB_HAUNT_TARGET + + +

+

Actual mob the item is haunting at the moment

BB_HOSTILE_ORDER_MODE + + +

+

Hostile AI controller blackboard keys

BB_HOSTILE_VISION_RANGE + + +

+

Basically, what is our vision/hearing range.

BB_LIKES_EQUIPPER + + +

+

If true, tolerates the equipper holding/equipping the hauntium

BB_MOD_IMPLANT + + +

+

The implant the AI was created from

BB_MOD_TARGET + + +

+

Mob the MOD is trying to attach to

BB_NEXT_HUNGRY + + +

+

time until we should next eat, set by the generic hunger subtree

BB_PATH_TO_USE + + +

+

Path we should use next time we use the JPS movement datum

BB_SIMPLE_CARRY_ITEM + + +

+

Dog AI controller blackboard keys

BB_SONG_INSTRUMENT + + +

+

song instrument blackboard, set by instrument subtrees

BB_SONG_LINES + + +

+

song lines blackboard, set by default on controllers

BB_TARGET_SLOT + + +

+

Where the item wants to land on

BB_TO_HAUNT_LIST + + +

+

Blackboard keys for haunted items

BB_VENDING_CURRENT_TARGET + + +

+

Vending machine AI controller blackboard keys

CURSED_VIEW_RANGE + + +

+

Cursed item controller defines +how far a cursed item will still try to chase a target

DOG_COMMAND_ATTACK + + +

+

Will get within a few tiles of whatever you point at and continually growl/bark. If the target is a living mob who gets too close, the dog will attack them with bites

DOG_COMMAND_FETCH + + +

+

Will try to pick up and bring back whatever you point to

DOG_COMMAND_NONE + + +

+

Don't do anything (will still react to stuff around them though)

HAUNTED_ITEM_AGGRO_ADDITION + + +

+

Amount of aggro you get when picking up a haunted item

HAUNTED_ITEM_ATTACK_HAUNT_CHANCE + + +

+

Haunted item controller defines +Chance for haunted item to haunt someone

HAUNTED_ITEM_ESCAPE_GRASP_CHANCE + + +

+

Chance for haunted item to try to get itself let go.

HOSTILE_COMMAND_ATTACK + + +

+

Will attack a target.

HOSTILE_COMMAND_FOLLOW + + +

+

Will follow a target.

HOSTILE_COMMAND_NONE + + +

+

Don't do anything (will still react to stuff around them though)

IS_DEAD_OR_INCAP + + + +

+

macro for whether the pawn can act, used generally to prevent some horrifying ai disasters

MOD_AI_RANGE + + +

+

Range for a MOD AI controller.

RESIST_SUBTREE_PROB + + +

+

probability that the pawn should try resisting out of restraints

SHOULD_RESIST + + + +

+

macro for whether it's appropriate to resist right now, used by resist subtree

STOP_MOVING_WHEN_PULLED + + +

+

AI flags

SUBTREE_RETURN_FINISH_PLANNING + + +

+

This subtree should cancel any further planning, (Including from other subtrees)

+ + + diff --git a/code/__DEFINES/alarm.html b/code/__DEFINES/alarm.html new file mode 100644 index 000000000000..2d8c26e5f902 --- /dev/null +++ b/code/__DEFINES/alarm.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/alarm.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/alarm.dm + +

+ + + + + + + +
ALARM_ATMOSSent by air alarms, indecates something wrong with thier attached atmosphere
ALARM_FIRESent by firelocks when they detect fire, and by fire alarms when a user pulls them
ALARM_POWERSent by apcs when their power starts to fail
ALARM_CAMERASent by cameras when they're disabled in some manner
ALARM_BURGLARSent by display cases when they're broken into
ALARM_MOTIONSent by motion detecting cameras when they well, detect motion

Define Details

+

ALARM_ATMOS + + +

+

Sent by air alarms, indecates something wrong with thier attached atmosphere

ALARM_BURGLAR + + +

+

Sent by display cases when they're broken into

ALARM_CAMERA + + +

+

Sent by cameras when they're disabled in some manner

ALARM_FIRE + + +

+

Sent by firelocks when they detect fire, and by fire alarms when a user pulls them

ALARM_MOTION + + +

+

Sent by motion detecting cameras when they well, detect motion

ALARM_POWER + + +

+

Sent by apcs when their power starts to fail

+ + + diff --git a/code/__DEFINES/alerts.html b/code/__DEFINES/alerts.html new file mode 100644 index 000000000000..43fa7b87cec8 --- /dev/null +++ b/code/__DEFINES/alerts.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/alerts.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/alerts.dm + +

+ + + + + + + + +
ALERT_TOO_MUCH_OXYGENAtmos related
ALERT_SUCCUMBMob related
ALERT_XENO_FIREAlien related
ALERT_NEW_LAWSilicon related
ALERT_MODSUIT_CHARGEMODsuit/Mech related
ALERT_NUTRITIONFood related
ALERT_PRESSUREEnvironment related

Define Details

+

ALERT_MODSUIT_CHARGE + + +

+

MODsuit/Mech related

ALERT_NEW_LAW + + +

+

Silicon related

ALERT_NUTRITION + + +

+

Food related

ALERT_PRESSURE + + +

+

Environment related

ALERT_SUCCUMB + + +

+

Mob related

ALERT_TOO_MUCH_OXYGEN + + +

+

Atmos related

ALERT_XENO_FIRE + + +

+

Alien related

+ + + diff --git a/code/__DEFINES/antagonists.html b/code/__DEFINES/antagonists.html new file mode 100644 index 000000000000..223bb5cf5ecd --- /dev/null +++ b/code/__DEFINES/antagonists.html @@ -0,0 +1,263 @@ + + + + + + + code/__DEFINES/antagonists.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/antagonists.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ELIMINATION_NEUTRALDoes not stop elimination hijacking but itself won't elimination hijack
ELIMINATION_ENABLEDNeeds to be present for shuttle to be elimination hijacked
ELIMINATION_PREVENTPrevents elimination hijack same way as non-antags
HERETIC_NO_HEART_ORGANDefines are used in /proc/has_living_heart() to report if the heretic has no heart period, no living heart, or has a living heart.
MAX_KNOWLEDGE_PRIORITYA define used in ritual priority for heretics.
IS_VALID_GHOUL_MOBChecks if the passed mob can become a heretic ghoul.
BLOB_FORCE_PLACEMENTForces the blob to place the core where they currently are, ignoring any checks.
BLOB_NORMAL_PLACEMENTNormal blob placement, does the regular checks to make sure the blob isn't placing itself in an invalid location
BLOB_RANDOM_PLACEMENTSelects a random location for the blob to be placed.
WIZARD_LOADOUT_CLASSICThe Classic Wizard wizard loadout.
WIZARD_LOADOUT_MJOLNIRMjolnir's Power wizard loadout.
WIZARD_LOADOUT_WIZARMYFantastical Army wizard loadout.
WIZARD_LOADOUT_SOULTAPSoul Tapper wizard loadout.
ALL_WIZARD_LOADOUTSConvenient list of all wizard loadouts for unit testing.
LOG_SPELL_TYPEUsed in logging spells for roundend results
TRAITOR_FLAVOR_FILEFile to the traitor flavor
MALFUNCTION_FLAVOR_FILEFile to the malf flavor
HERETIC_INFLUENCE_FILEJSON string file for all of our heretic influence flavors
FACTION_SYNDICATEall the employers that are syndicate
FACTION_NANOTRASENall the employers that are nanotrasen
IS_CULTISTChecks if the given mob is a blood cultist
IS_NUKE_OPChecks if the given mob is a nuclear operative
IS_HERETICChecks if the given mob is a heretic.
IS_HERETIC_MONSTERCheck if the given mob is a heretic monster.
IS_HERETIC_OR_MONSTERChecks if the given mob is either a heretic or a heretic monster.
FACTION_HERETICDefine for the heretic faction applied to heretics and heretic mobs.
IS_WIZARDChecks if the given mob is a wizard
IS_REVOLUTIONARYChecks if the given mob is a revolutionary. Will return TRUE for rev heads as well.
IS_HEAD_REVOLUTIONARYChecks if the given mob is a head revolutionary.
IS_MALF_AIChecks if the given mob is a malf ai.
IS_CHANGELINGChecks if the given mob is a changeling
IS_TRAITORChecks if the given mob is a traitor
ANTAGONIST_PREVIEW_ICON_SIZEThe dimensions of the antagonist preview icon. Will be scaled to this size.
OBJECTIVE_ITEM_TYPE_NORMALCan appear in everything
OBJECTIVE_ITEM_TYPE_TRAITOROnly appears in traitor objectives
TELECRYSTALS_DEFAULTHow many telecrystals a normal traitor starts with
TELECRYSTALS_PRELOADED_IMPLANTHow many telecrystals mapper/admin only "precharged" uplink implant
UPLINK_IMPLANT_TELECRYSTAL_COSTThe normal cost of an uplink implant; used for calcuating how many +TC to charge someone if they get a free implant through choice or +because they have nothing else that supports an implant.
OBJECTIVE_STATE_INACTIVEIf the objective hasn't been taken yet
OBJECTIVE_STATE_ACTIVEIf the objective is active and ongoing
OBJECTIVE_STATE_COMPLETEDIf the objective has been completed.
OBJECTIVE_STATE_FAILEDIf the objective has failed.
OBJECTIVE_STATE_INVALIDIf the objective is no longer valid

Define Details

+

ALL_WIZARD_LOADOUTS + + +

+

Convenient list of all wizard loadouts for unit testing.

ANTAGONIST_PREVIEW_ICON_SIZE + + +

+

The dimensions of the antagonist preview icon. Will be scaled to this size.

BLOB_FORCE_PLACEMENT + + +

+

Forces the blob to place the core where they currently are, ignoring any checks.

BLOB_NORMAL_PLACEMENT + + +

+

Normal blob placement, does the regular checks to make sure the blob isn't placing itself in an invalid location

BLOB_RANDOM_PLACEMENT + + +

+

Selects a random location for the blob to be placed.

ELIMINATION_ENABLED + + +

+

Needs to be present for shuttle to be elimination hijacked

ELIMINATION_NEUTRAL + + +

+

Does not stop elimination hijacking but itself won't elimination hijack

ELIMINATION_PREVENT + + +

+

Prevents elimination hijack same way as non-antags

FACTION_HERETIC + + +

+

Define for the heretic faction applied to heretics and heretic mobs.

FACTION_NANOTRASEN + + +

+

all the employers that are nanotrasen

FACTION_SYNDICATE + + +

+

all the employers that are syndicate

HERETIC_INFLUENCE_FILE + + +

+

JSON string file for all of our heretic influence flavors

HERETIC_NO_HEART_ORGAN + + +

+

Defines are used in /proc/has_living_heart() to report if the heretic has no heart period, no living heart, or has a living heart.

IS_CHANGELING + + + +

+

Checks if the given mob is a changeling

IS_CULTIST + + + +

+

Checks if the given mob is a blood cultist

IS_HEAD_REVOLUTIONARY + + + +

+

Checks if the given mob is a head revolutionary.

IS_HERETIC + + + +

+

Checks if the given mob is a heretic.

IS_HERETIC_MONSTER + + + +

+

Check if the given mob is a heretic monster.

IS_HERETIC_OR_MONSTER + + + +

+

Checks if the given mob is either a heretic or a heretic monster.

IS_MALF_AI + + + +

+

Checks if the given mob is a malf ai.

IS_NUKE_OP + + + +

+

Checks if the given mob is a nuclear operative

IS_REVOLUTIONARY + + + +

+

Checks if the given mob is a revolutionary. Will return TRUE for rev heads as well.

IS_TRAITOR + + + +

+

Checks if the given mob is a traitor

IS_VALID_GHOUL_MOB + + + +

+

Checks if the passed mob can become a heretic ghoul.

+

IS_WIZARD + + + +

+

Checks if the given mob is a wizard

LOG_SPELL_TYPE + + +

+

Used in logging spells for roundend results

MALFUNCTION_FLAVOR_FILE + + +

+

File to the malf flavor

MAX_KNOWLEDGE_PRIORITY + + +

+

A define used in ritual priority for heretics.

OBJECTIVE_ITEM_TYPE_NORMAL + + +

+

Can appear in everything

OBJECTIVE_ITEM_TYPE_TRAITOR + + +

+

Only appears in traitor objectives

OBJECTIVE_STATE_ACTIVE + + +

+

If the objective is active and ongoing

OBJECTIVE_STATE_COMPLETED + + +

+

If the objective has been completed.

OBJECTIVE_STATE_FAILED + + +

+

If the objective has failed.

OBJECTIVE_STATE_INACTIVE + + +

+

If the objective hasn't been taken yet

OBJECTIVE_STATE_INVALID + + +

+

If the objective is no longer valid

TELECRYSTALS_DEFAULT + + +

+

How many telecrystals a normal traitor starts with

TELECRYSTALS_PRELOADED_IMPLANT + + +

+

How many telecrystals mapper/admin only "precharged" uplink implant

TRAITOR_FLAVOR_FILE + + +

+

File to the traitor flavor

+

The normal cost of an uplink implant; used for calcuating how many +TC to charge someone if they get a free implant through choice or +because they have nothing else that supports an implant.

WIZARD_LOADOUT_CLASSIC + + +

+

The Classic Wizard wizard loadout.

WIZARD_LOADOUT_MJOLNIR + + +

+

Mjolnir's Power wizard loadout.

WIZARD_LOADOUT_SOULTAP + + +

+

Soul Tapper wizard loadout.

WIZARD_LOADOUT_WIZARMY + + +

+

Fantastical Army wizard loadout.

+ + + diff --git a/code/__DEFINES/ao.html b/code/__DEFINES/ao.html new file mode 100644 index 000000000000..b1c448587e97 --- /dev/null +++ b/code/__DEFINES/ao.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/ao.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ao.dm + +

+ + +
AO_ALL_NEIGHBORSIf ao_junction equals this, no AO shadows are present.

Define Details

+

AO_ALL_NEIGHBORS + + +

+

If ao_junction equals this, no AO shadows are present.

+ + + diff --git a/code/__DEFINES/apc_defines.html b/code/__DEFINES/apc_defines.html new file mode 100644 index 000000000000..30d25c726195 --- /dev/null +++ b/code/__DEFINES/apc_defines.html @@ -0,0 +1,212 @@ + + + + + + + code/__DEFINES/apc_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/apc_defines.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
APC_ELECTRONICS_MISSINGThere are no electronics in the APC.
APC_ELECTRONICS_INSTALLEDThe electronics are installed but not secured.
APC_ELECTRONICS_SECUREDThe electronics are installed and secured.
APC_COVER_CLOSEDThe APCs cover is closed.
APC_COVER_OPENEDThe APCs cover is open.
APC_COVER_REMOVEDThe APCs cover is missing.
APC_PIXEL_OFFSETPixel offset of the APC from the floor turf
APC_NOT_CHARGINGThe APC is not charging.
APC_CHARGINGThe APC is charging.
APC_FULLY_CHARGEDThe APC is fully charged.
APC_CHANNEL_OFFThe APCs power channel is manually set off.
APC_CHANNEL_AUTO_OFFThe APCs power channel is automatically off.
APC_CHANNEL_ONThe APCs power channel is manually set on.
APC_CHANNEL_AUTO_ONThe APCs power channel is automatically on.
AUTOSET_FORCE_OFFThe APC turns automated and manual power channels off.
AUTOSET_OFFThe APC turns automated power channels off.
AUTOSET_ONThe APC turns automated power channels on.
APC_NO_POWERThe APC either isn't attached to a powernet or there is no power on the external powernet.
APC_LOW_POWERThe APCs external powernet does not have enough power to charge the APC.
APC_HAS_POWERThe APCs external powernet has enough power to charge the APC.
APC_DRAIN_TIMEHow long it takes an ethereal to drain or charge APCs. Also used as a spam limiter.
APC_POWER_GAINHow much power ethereals gain/drain from APCs.
APC_RESET_EMPThe wire value used to reset the APCs wires after one's EMPed.
UPSTATE_COVER_SHIFTThe bit shift for the APCs cover status.
UPSTATE_OPENED1The bitflag representing the APCs cover being open for icon purposes.
UPSTATE_OPENED2The bitflag representing the APCs cover being missing for icon purposes.
UPSTATE_CELL_INThe APC has a power cell.
UPSTATE_BROKEThe APC is broken or damaged.
UPSTATE_MAINTThe APC is undergoing maintenance.
UPSTATE_BLUESCREENThe APC is emagged or malfed.
UPSTATE_WIREEXPThe APCs wires are exposed.
UPOVERLAY_OPERATINGBitflag indicating that the APCs operating status overlay should be shown.
UPOVERLAY_LOCKEDBitflag indicating that the APCs locked status overlay should be shown.
UPOVERLAY_CHARGING_SHIFTBit shift for the charging status of the APC.
UPOVERLAY_EQUIPMENT_SHIFTBit shift for the equipment status of the APC.
UPOVERLAY_LIGHTING_SHIFTBit shift for the lighting channel status of the APC.
UPOVERLAY_ENVIRON_SHIFTBit shift for the environment channel status of the APC.

Define Details

+

APC_CHANNEL_AUTO_OFF + + +

+

The APCs power channel is automatically off.

APC_CHANNEL_AUTO_ON + + +

+

The APCs power channel is automatically on.

APC_CHANNEL_OFF + + +

+

The APCs power channel is manually set off.

APC_CHANNEL_ON + + +

+

The APCs power channel is manually set on.

APC_CHARGING + + +

+

The APC is charging.

APC_COVER_CLOSED + + +

+

The APCs cover is closed.

APC_COVER_OPENED + + +

+

The APCs cover is open.

APC_COVER_REMOVED + + +

+

The APCs cover is missing.

APC_DRAIN_TIME + + +

+

How long it takes an ethereal to drain or charge APCs. Also used as a spam limiter.

APC_ELECTRONICS_INSTALLED + + +

+

The electronics are installed but not secured.

APC_ELECTRONICS_MISSING + + +

+

There are no electronics in the APC.

APC_ELECTRONICS_SECURED + + +

+

The electronics are installed and secured.

APC_FULLY_CHARGED + + +

+

The APC is fully charged.

APC_HAS_POWER + + +

+

The APCs external powernet has enough power to charge the APC.

APC_LOW_POWER + + +

+

The APCs external powernet does not have enough power to charge the APC.

APC_NOT_CHARGING + + +

+

The APC is not charging.

APC_NO_POWER + + +

+

The APC either isn't attached to a powernet or there is no power on the external powernet.

APC_PIXEL_OFFSET + + +

+

Pixel offset of the APC from the floor turf

APC_POWER_GAIN + + +

+

How much power ethereals gain/drain from APCs.

APC_RESET_EMP + + +

+

The wire value used to reset the APCs wires after one's EMPed.

AUTOSET_FORCE_OFF + + +

+

The APC turns automated and manual power channels off.

AUTOSET_OFF + + +

+

The APC turns automated power channels off.

AUTOSET_ON + + +

+

The APC turns automated power channels on.

UPOVERLAY_CHARGING_SHIFT + + +

+

Bit shift for the charging status of the APC.

UPOVERLAY_ENVIRON_SHIFT + + +

+

Bit shift for the environment channel status of the APC.

UPOVERLAY_EQUIPMENT_SHIFT + + +

+

Bit shift for the equipment status of the APC.

UPOVERLAY_LIGHTING_SHIFT + + +

+

Bit shift for the lighting channel status of the APC.

UPOVERLAY_LOCKED + + +

+

Bitflag indicating that the APCs locked status overlay should be shown.

UPOVERLAY_OPERATING + + +

+

Bitflag indicating that the APCs operating status overlay should be shown.

UPSTATE_BLUESCREEN + + +

+

The APC is emagged or malfed.

UPSTATE_BROKE + + +

+

The APC is broken or damaged.

UPSTATE_CELL_IN + + +

+

The APC has a power cell.

UPSTATE_COVER_SHIFT + + +

+

The bit shift for the APCs cover status.

UPSTATE_MAINT + + +

+

The APC is undergoing maintenance.

UPSTATE_OPENED1 + + +

+

The bitflag representing the APCs cover being open for icon purposes.

UPSTATE_OPENED2 + + +

+

The bitflag representing the APCs cover being missing for icon purposes.

UPSTATE_WIREEXP + + +

+

The APCs wires are exposed.

+ + + diff --git a/code/__DEFINES/art.html b/code/__DEFINES/art.html new file mode 100644 index 000000000000..2251c69a61af --- /dev/null +++ b/code/__DEFINES/art.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/art.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/art.dm + +

+ + +
TAB_LIBRARYtgui tab portrait categories- they're the same across all portrait tguis.

Define Details

+

TAB_LIBRARY + + +

+

tgui tab portrait categories- they're the same across all portrait tguis.

+ + + diff --git a/code/__DEFINES/asteroid_magnet_defines.html b/code/__DEFINES/asteroid_magnet_defines.html new file mode 100644 index 000000000000..03b69e17fad9 --- /dev/null +++ b/code/__DEFINES/asteroid_magnet_defines.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/asteroid_magnet_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/asteroid_magnet_defines.dm + +

+ + + +
SKIPUsed in asteroid composition lists to indicate a skip
GENERATOR_CHECK_TICKYOU MUST USE THIS OVER CHECK_TICK IN ASTEROID GENERATION

Define Details

+

GENERATOR_CHECK_TICK + + +

+

YOU MUST USE THIS OVER CHECK_TICK IN ASTEROID GENERATION

SKIP + + +

+

Used in asteroid composition lists to indicate a skip

+ + + diff --git a/code/__DEFINES/atmos_canpass.html b/code/__DEFINES/atmos_canpass.html new file mode 100644 index 000000000000..92d059a32fae --- /dev/null +++ b/code/__DEFINES/atmos_canpass.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/atmos_canpass.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmos_canpass.dm + +

+ + +
ATMOS_CANPASS_TURFCan air move from B to A?

Define Details

+

ATMOS_CANPASS_TURF + + + +

+

Can air move from B to A?

+ + + diff --git a/code/__DEFINES/atmospherics/XGM.html b/code/__DEFINES/atmospherics/XGM.html new file mode 100644 index 000000000000..36ee69c0bacc --- /dev/null +++ b/code/__DEFINES/atmospherics/XGM.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/atmospherics/XGM.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics/XGM.dm + +

+ + +
ASSORTED_GASESAll gases that are not placeholders.

Define Details

+

ASSORTED_GASES + + +

+

All gases that are not placeholders.

+ + + diff --git a/code/__DEFINES/atmospherics/_ZAS.html b/code/__DEFINES/atmospherics/_ZAS.html new file mode 100644 index 000000000000..0f41642e7e67 --- /dev/null +++ b/code/__DEFINES/atmospherics/_ZAS.html @@ -0,0 +1,188 @@ + + + + + + + code/__DEFINES/atmospherics/_ZAS.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics/_ZAS.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AIR_ALLOWEDAir and zones freely mingle with this turf under the given conditions
AIR_BLOCKEDNeither air nor zones can interact with this turf under the given conditions
ZONE_BLOCKEDAir can pass through or into this turf, but zones may not merge with it. Will not block zone merges
ZONE_MIN_SIZEZones with less than this many turfs will always merge, even if the connection is not direct. This MUST be ATLEAST 2, or doorways will BREAK.
CANPASS_ALWAYSAir can always pass
CANPASS_DENSITYAir can only pass if density is FALSE
CANPASS_PROCThis atom uses /proc/zas_canpass()
CANPASS_NEVERAir can never pass
AIR_UPDATE_VALUESA replacement for /datum/gas_mixture/proc/update_values()
TURF_HAS_VALID_ZONEChecks is a turf is simulated and has a valid zone.
SAFE_ZAS_UPDATEChecks if X is a turf, if it is, mark it's zone for update.
/var/csrfz_check"Can safely remove from zone"
/var/gzn_check"Get zone neighbors"
CELL_VOLUMEThe volume of a standard cell, in liters. 1 turf is 1 cell.
MOLES_CELLSTANDARDMoles in a 2.5 m^3 cell at 101.325 kPa and 20 C.
O2STANDARDThe standard O2 percentage for livable atmos.
N2STANDARDThe standard N2 percentage for livable atmos.
MOLES_PHORON_VISIBLEThe amount of moles in a standard cell (1 turf) when Plasma starts being visible.
MOLES_O2STANDARDThe standard molar content of Oxygen in a livible cell (turf).
MOLES_N2STANDARDThe standard molar content of Nitrogen in a livible cell (turf).
SOUND_MINIMUM_PRESSUREThe minimum pressure for sound to be audible to a human
PRESSURE_DAMAGE_COEFFICIENTThe amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE
MINIMUM_PRESSURE_DIFFERENCE_TO_SUSPEND/OPTIMIZATIONS///// +If the pressure delta between two zones is below this value, they will not process.
MINIMUM_AIR_RATIO_TO_SUSPENDMinimum ratio of air that must move to/from a tile to suspend group processing
MINIMUM_AIR_TO_SUSPENDMinimum amount of air that has to move before a group processing can be suspended
OPENTURF_DEFAULT_ATMOSthe default air mix that open turfs spawn
BURNMIX_ATMOSA long and hot fire
TCOMMS_ATMOS-193,15°C telecommunications. also used for xenobiology slime killrooms
AIRLESS_ATMOSspace
KITCHEN_COLDROOM_ATMOS-93.15°C snow and ice turfs +-14°C kitchen coldroom, just might loss your tail; higher amount of mol to reach about 101.3 kpA
BOMBCAP_DVSTN_RADIUSBomb caps
FLOOR_HEAT_TRANSFER_COEFFICIENTCURRENTLY ONLY AROUND TO APPEASE LINTERS, THERMAL CONDUCTIVITY IS NOT IMPLIMENTED FULLY

Define Details

+

AIRLESS_ATMOS + + +

+

space

AIR_ALLOWED + + +

+

Air and zones freely mingle with this turf under the given conditions

AIR_BLOCKED + + +

+

Neither air nor zones can interact with this turf under the given conditions

AIR_UPDATE_VALUES + + + +

+

A replacement for /datum/gas_mixture/proc/update_values()

BOMBCAP_DVSTN_RADIUS + + +

+

Bomb caps

BURNMIX_ATMOS + + +

+

A long and hot fire

CANPASS_ALWAYS + + +

+

Air can always pass

CANPASS_DENSITY + + +

+

Air can only pass if density is FALSE

CANPASS_NEVER + + +

+

Air can never pass

CANPASS_PROC + + +

+

This atom uses /proc/zas_canpass()

CELL_VOLUME + + +

+

The volume of a standard cell, in liters. 1 turf is 1 cell.

FLOOR_HEAT_TRANSFER_COEFFICIENT + + +

+

CURRENTLY ONLY AROUND TO APPEASE LINTERS, THERMAL CONDUCTIVITY IS NOT IMPLIMENTED FULLY

KITCHEN_COLDROOM_ATMOS + + +

+

-93.15°C snow and ice turfs +-14°C kitchen coldroom, just might loss your tail; higher amount of mol to reach about 101.3 kpA

MINIMUM_AIR_RATIO_TO_SUSPEND + + +

+

Minimum ratio of air that must move to/from a tile to suspend group processing

MINIMUM_AIR_TO_SUSPEND + + +

+

Minimum amount of air that has to move before a group processing can be suspended

MINIMUM_PRESSURE_DIFFERENCE_TO_SUSPEND + + +

+

/OPTIMIZATIONS///// +If the pressure delta between two zones is below this value, they will not process.

MOLES_CELLSTANDARD + + +

+

Moles in a 2.5 m^3 cell at 101.325 kPa and 20 C.

MOLES_N2STANDARD + + +

+

The standard molar content of Nitrogen in a livible cell (turf).

MOLES_O2STANDARD + + +

+

The standard molar content of Oxygen in a livible cell (turf).

MOLES_PHORON_VISIBLE + + +

+

The amount of moles in a standard cell (1 turf) when Plasma starts being visible.

N2STANDARD + + +

+

The standard N2 percentage for livable atmos.

O2STANDARD + + +

+

The standard O2 percentage for livable atmos.

OPENTURF_DEFAULT_ATMOS + + +

+

the default air mix that open turfs spawn

PRESSURE_DAMAGE_COEFFICIENT + + +

+

The amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE

SAFE_ZAS_UPDATE + + + +

+

Checks if X is a turf, if it is, mark it's zone for update.

SOUND_MINIMUM_PRESSURE + + +

+

The minimum pressure for sound to be audible to a human

TCOMMS_ATMOS + + +

+

-193,15°C telecommunications. also used for xenobiology slime killrooms

TURF_HAS_VALID_ZONE + + + +

+

Checks is a turf is simulated and has a valid zone.

ZONE_BLOCKED + + +

+

Air can pass through or into this turf, but zones may not merge with it. Will not block zone merges

ZONE_MIN_SIZE + + +

+

Zones with less than this many turfs will always merge, even if the connection is not direct. This MUST be ATLEAST 2, or doorways will BREAK.

+ + + diff --git a/code/__DEFINES/atmospherics/atmos_core.html b/code/__DEFINES/atmospherics/atmos_core.html new file mode 100644 index 000000000000..bcc0e2d141c5 --- /dev/null +++ b/code/__DEFINES/atmospherics/atmos_core.html @@ -0,0 +1,297 @@ + + + + + + + code/__DEFINES/atmospherics/atmos_core.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics/atmos_core.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MOLESAmount of total moles in said gas mixture
ARCHIVEArchived version of MOLES
GAS_METAAll gas related variables
META_GAS_SPECIFIC_HEATGas specific heat per mole
META_GAS_NAMEName of the gas
META_GAS_MOLES_VISIBLEAmount of moles required of the gas to be visible
META_GAS_OVERLAYOverlay path of the gas, also setup the alpha based on the amount
META_GAS_DANGERLet the air alarm know if the gas is dangerous
META_GAS_IDId of the gas for quick access
META_GAS_FUSION_POWERPower of the gas when used in the current iteration of fusion
META_GAS_DESCShort description of the gas.
TCRYOkPaL/(Kmol) +kPa +-270.3degC +-48.15degC
COLD_ROOM_TEMP0degC +20degC +-14C - Temperature used for kitchen cold room, medical freezer, etc.
MINIMUM_HEAT_CAPACITYI feel the need to document what happens here. Basically this is used +catch rounding errors, and make gas go away in small portions. +People have raised it to higher levels in the past, do not do this. Consider this number a soft limit +If you're making gasmixtures that have unexpected behavior related to this value, you're doing something wrong.
MINIMUM_MOLE_COUNTMinimum mole count of a gas
MOLAR_ACCURACYMolar accuracy to round to
GAS_TYPE_COUNTTypes of gases (based on gaslist_cache)
MAXIMUM_ERROR_GAS_REMOVALMaximum error caused by QUANTIZE when removing gas (roughly, in reality around 2 * MOLAR_ACCURACY less)
MOLES_GAS_VISIBLEMoles in a standard cell after which gases are visible
FACTOR_GAS_VISIBLE_MAXmoles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility
MOLES_GAS_VISIBLE_STEPMole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on
TOTAL_VISIBLE_STATESThe total visible states
NO_REACTIONThe gas mixture is not reacting
REACTINGThe gas mixture is reacting
STOP_REACTIONSThe gas mixture is able to stop all reactions
FUSION_INSTABILITY_ENDOTHERMALITYMaximum instability before the reaction goes endothermic
FUSION_MAXIMUM_TEMPERATUREMaximum reachable fusion temperature
EXCITED_GROUP_BREAKDOWN_CYCLESSome further context on breakdown. Unlike dismantle, the breakdown ticker doesn't reset itself when a tile is added +This is because we cannot expect maps to have small spaces, so we need to even ourselves out often +We do this to avoid equalizing a large space in one tick, with some significant amount of say heat diff +This way large areas don't suddenly all become cold at once, it acts more like a wave
EXCITED_GROUP_DISMANTLE_CYCLESnumber of FULL air controller ticks before an excited group dismantles and removes its turfs from active
HEAT_CAPACITY_VACUUMRatio of air that must move to/from a tile to reset group processing +Minimum ratio of air that must move to/from a tile +Minimum amount of air that has to move before a group processing can be suspended (Round about 10) +Either this must be active (round about 0.1) //Might need to raise this a tad to better support space leaks. we'll see +or this (or both, obviously) +Minimum temperature difference before group processing is suspended +Minimum temperature difference before the gas temperatures are just set to be equal +Minimum temperature to continue superconduction once started +Minimum temperature to start doing superconduction calculations +a hack for now +a hack to help make vacuums "cold", sacrificing realism for gameplay
FIRE_MINIMUM_TEMPERATURE_TO_SPREADMinimum temperature for fire to move to the next turf (150 °C or 433 K)
FIRE_MINIMUM_TEMPERATURE_TO_EXISTMinimum temperature for fire to exist on a turf (100 °C or 373 K)
FIRE_SPREAD_RADIOSITY_SCALEMultiplier for the temperature shared to other turfs
FIRE_GROWTH_RATEHelper for small fires to grow
COLD_FIRE_SPREAD_RADIOSITY_SCALEMultiplier for the temperature shared to other turfs
M_CELL_WITH_RATIOmoles in a 2.5 m^3 cell at 101.325 Pa and 20 degC (103 or so) +compared against for superconductivity
O2_ANESTHETICpercentage of oxygen in a normal mixture of air +same but for nitrogen +O2 standard value (21%) +N2 standard value (79%) +liters in a cell +O2 value for anesthetic canister
N2O_ANESTHETICN2O value for anesthetic canister
NORMAL_TURFNormal non-active turf
MAKE_ACTIVESet the turf to be activated on the next calculation
KILL_EXCITEDDisable excited group
ATMOS_PRESSURE_APPROXIMATION_ITERATIONSHow many maximum iterations do we allow the Newton-Raphson approximation for gas pressure to do.

Define Details

+

ARCHIVE + + +

+

Archived version of MOLES

ATMOS_PRESSURE_APPROXIMATION_ITERATIONS + + +

+

How many maximum iterations do we allow the Newton-Raphson approximation for gas pressure to do.

COLD_FIRE_SPREAD_RADIOSITY_SCALE + + +

+

Multiplier for the temperature shared to other turfs

COLD_ROOM_TEMP + + +

+

0degC +20degC +-14C - Temperature used for kitchen cold room, medical freezer, etc.

EXCITED_GROUP_BREAKDOWN_CYCLES + + +

+

Some further context on breakdown. Unlike dismantle, the breakdown ticker doesn't reset itself when a tile is added +This is because we cannot expect maps to have small spaces, so we need to even ourselves out often +We do this to avoid equalizing a large space in one tick, with some significant amount of say heat diff +This way large areas don't suddenly all become cold at once, it acts more like a wave

+

Because of this and the behavior of share(), the breakdown cycles value can be tweaked directly to effect how fast we want gas to move +number of FULL air controller ticks before an excited group breaks down (averages gas contents across turfs)

EXCITED_GROUP_DISMANTLE_CYCLES + + +

+

number of FULL air controller ticks before an excited group dismantles and removes its turfs from active

FACTOR_GAS_VISIBLE_MAX + + +

+

moles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility

FIRE_GROWTH_RATE + + +

+

Helper for small fires to grow

FIRE_MINIMUM_TEMPERATURE_TO_EXIST + + +

+

Minimum temperature for fire to exist on a turf (100 °C or 373 K)

FIRE_MINIMUM_TEMPERATURE_TO_SPREAD + + +

+

Minimum temperature for fire to move to the next turf (150 °C or 433 K)

FIRE_SPREAD_RADIOSITY_SCALE + + +

+

Multiplier for the temperature shared to other turfs

FUSION_INSTABILITY_ENDOTHERMALITY + + +

+

Maximum instability before the reaction goes endothermic

FUSION_MAXIMUM_TEMPERATURE + + +

+

Maximum reachable fusion temperature

GAS_META + + +

+

All gas related variables

GAS_TYPE_COUNT + + +

+

Types of gases (based on gaslist_cache)

HEAT_CAPACITY_VACUUM + + +

+

Ratio of air that must move to/from a tile to reset group processing +Minimum ratio of air that must move to/from a tile +Minimum amount of air that has to move before a group processing can be suspended (Round about 10) +Either this must be active (round about 0.1) //Might need to raise this a tad to better support space leaks. we'll see +or this (or both, obviously) +Minimum temperature difference before group processing is suspended +Minimum temperature difference before the gas temperatures are just set to be equal +Minimum temperature to continue superconduction once started +Minimum temperature to start doing superconduction calculations +a hack for now +a hack to help make vacuums "cold", sacrificing realism for gameplay

KILL_EXCITED + + +

+

Disable excited group

MAKE_ACTIVE + + +

+

Set the turf to be activated on the next calculation

MAXIMUM_ERROR_GAS_REMOVAL + + +

+

Maximum error caused by QUANTIZE when removing gas (roughly, in reality around 2 * MOLAR_ACCURACY less)

META_GAS_DANGER + + +

+

Let the air alarm know if the gas is dangerous

META_GAS_DESC + + +

+

Short description of the gas.

META_GAS_FUSION_POWER + + +

+

Power of the gas when used in the current iteration of fusion

META_GAS_ID + + +

+

Id of the gas for quick access

META_GAS_MOLES_VISIBLE + + +

+

Amount of moles required of the gas to be visible

META_GAS_NAME + + +

+

Name of the gas

META_GAS_OVERLAY + + +

+

Overlay path of the gas, also setup the alpha based on the amount

META_GAS_SPECIFIC_HEAT + + +

+

Gas specific heat per mole

MINIMUM_HEAT_CAPACITY + + +

+

I feel the need to document what happens here. Basically this is used +catch rounding errors, and make gas go away in small portions. +People have raised it to higher levels in the past, do not do this. Consider this number a soft limit +If you're making gasmixtures that have unexpected behavior related to this value, you're doing something wrong.

+

On an unrelated note this may cause a bug that creates negative gas, related to round(). When it has a second arg it will round up. +So for instance round(0.5, 1) == 1. I've hardcoded a fix for this into share, by forcing the garbage collect. +Any other attempts to fix it just killed atmos. I leave this to a greater man then I +The minimum heat capacity of a gas

MINIMUM_MOLE_COUNT + + +

+

Minimum mole count of a gas

MOLAR_ACCURACY + + +

+

Molar accuracy to round to

MOLES + + +

+

Amount of total moles in said gas mixture

MOLES_GAS_VISIBLE + + +

+

Moles in a standard cell after which gases are visible

MOLES_GAS_VISIBLE_STEP + + +

+

Mole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on

M_CELL_WITH_RATIO + + +

+

moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC (103 or so) +compared against for superconductivity

N2O_ANESTHETIC + + +

+

N2O value for anesthetic canister

NORMAL_TURF + + +

+

Normal non-active turf

NO_REACTION + + +

+

The gas mixture is not reacting

O2_ANESTHETIC + + +

+

percentage of oxygen in a normal mixture of air +same but for nitrogen +O2 standard value (21%) +N2 standard value (79%) +liters in a cell +O2 value for anesthetic canister

REACTING + + +

+

The gas mixture is reacting

STOP_REACTIONS + + +

+

The gas mixture is able to stop all reactions

TCRYO + + +

+

kPaL/(Kmol) +kPa +-270.3degC +-48.15degC

TOTAL_VISIBLE_STATES + + +

+

The total visible states

+ + + diff --git a/code/__DEFINES/atmospherics/atmos_helpers.html b/code/__DEFINES/atmospherics/atmos_helpers.html new file mode 100644 index 000000000000..3eb1a6769016 --- /dev/null +++ b/code/__DEFINES/atmospherics/atmos_helpers.html @@ -0,0 +1,51 @@ + + + + + + + code/__DEFINES/atmospherics/atmos_helpers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics/atmos_helpers.dm + +

+ + + + + +
PIPING_LAYER_SHIFTMoves the icon of the device based on the piping layer and on the direction
PIPING_FORWARD_SHIFTMoves the icon of the device based on the piping layer and on the direction, the shift amount is dictated by more_shift
PIPING_LAYER_DOUBLE_SHIFTMoves the icon of the device based on the piping layer on both x and y
THERMAL_ENERGYCalculate the thermal energy of the selected gas (J)

Define Details

+

PIPING_FORWARD_SHIFT + + + +

+

Moves the icon of the device based on the piping layer and on the direction, the shift amount is dictated by more_shift

PIPING_LAYER_DOUBLE_SHIFT + + + +

+

Moves the icon of the device based on the piping layer on both x and y

PIPING_LAYER_SHIFT + + + +

+

Moves the icon of the device based on the piping layer and on the direction

THERMAL_ENERGY + + + +

+

Calculate the thermal energy of the selected gas (J)

+ + + diff --git a/code/__DEFINES/atmospherics/atmos_machines.html b/code/__DEFINES/atmospherics/atmos_machines.html new file mode 100644 index 000000000000..0b4b35a5a822 --- /dev/null +++ b/code/__DEFINES/atmospherics/atmos_machines.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/atmospherics/atmos_machines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics/atmos_machines.dm + +

+ + + +
MAX_PUMP_PRESSUREMaximal pressure setting for pumps and vents
MAX_OMNI_PRESSUREMaximal pressure setting for filters/mixers

Define Details

+

MAX_OMNI_PRESSURE + + +

+

Maximal pressure setting for filters/mixers

MAX_PUMP_PRESSURE + + +

+

Maximal pressure setting for pumps and vents

+ + + diff --git a/code/__DEFINES/atmospherics/atmos_mob_interaction.html b/code/__DEFINES/atmospherics/atmos_mob_interaction.html new file mode 100644 index 000000000000..bb4d0c0fe50b --- /dev/null +++ b/code/__DEFINES/atmospherics/atmos_mob_interaction.html @@ -0,0 +1,230 @@ + + + + + + + code/__DEFINES/atmospherics/atmos_mob_interaction.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics/atmos_mob_interaction.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BREATH_VOLUME
BREATH_PERCENTAGEAmount of air to take a from a tile
HAZARD_HIGH_PRESSUREThis determins at what pressure the ultra-high pressure red icon is displayed. (This one is set as a constant)
WARNING_HIGH_PRESSUREThis determins when the orange pressure icon is displayed (it is 0.7 * HAZARD_HIGH_PRESSURE)
WARNING_LOW_PRESSUREThis is when the gray low pressure icon is displayed. (it is 2.5 * HAZARD_LOW_PRESSURE)
HAZARD_LOW_PRESSUREThis is when the black ultra-low pressure icon is displayed. (This one is set as a constant)
TEMPERATURE_DAMAGE_COEFFICIENTThis is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount.
BODYTEMP_NORMALThe natural temperature for a body
BODYTEMP_AUTORECOVERY_DIVISORThis is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive.
BODYTEMP_AUTORECOVERY_MINIMUMMinimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50.
BODYTEMP_COLD_DIVISORSimilar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster.
BODYTEMP_HEAT_DIVISORSimilar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster.
BODYTEMP_COOLING_MAXThe maximum number of degrees that your body can cool in 1 tick, due to the environment, when in a cold area.
BODYTEMP_HEATING_MAXThe maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area.
HULK_COLD_DAMAGE_MODThe modifier on cold damage hulks get.
BODYTEMP_HEAT_WARNING_3The temperature the red icon is displayed.
BODYTEMP_HEAT_WARNING_2The temperature the orange icon is displayed.
BODYTEMP_HEAT_WARNING_1The temperature the yellow icon is displayed.
BODYTEMP_COLD_WARNING_1The temperature the light green icon is displayed.
BODYTEMP_COLD_WARNING_2The temperature the cyan icon is displayed.
BODYTEMP_COLD_WARNING_3The temperature the blue icon is displayed.
COLD_SLOWDOWN_FACTORHumans are slowed by the difference between bodytemp and BODYTEMP_COLD_DAMAGE_LIMIT divided by this
SPACE_HELM_MIN_TEMP_PROTECTwhat min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0.
SPACE_HELM_MAX_TEMP_PROTECTThermal insulation works both ways /Malkevin
SPACE_SUIT_MIN_TEMP_PROTECTwhat min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0.
SPACE_SUIT_MIN_TEMP_PROTECT_OFFThe min cold protection of a space suit without the heater active
FIRE_SUIT_MIN_TEMP_PROTECTCold protection for firesuits
FIRE_SUIT_MAX_TEMP_PROTECTwhat max_heat_protection_temperature is set to for firesuit quality suits. MUST NOT BE 0.
FIRE_HELM_MIN_TEMP_PROTECTCold protection for fire helmets
FIRE_HELM_MAX_TEMP_PROTECTfor fire helmet quality items (red and white hardhats)
FIRE_IMMUNITY_MAX_TEMP_PROTECTwhat max_heat_protection_temperature is set to for firesuit quality suits and helmets. MUST NOT BE 0.
HELMET_MIN_TEMP_PROTECTFor normal helmets
HELMET_MAX_TEMP_PROTECTFor normal helmets
ARMOR_MIN_TEMP_PROTECTFor armor
ARMOR_MAX_TEMP_PROTECTFor armor
GLOVES_MIN_TEMP_PROTECTFor some gloves (black and)
GLOVES_MAX_TEMP_PROTECTFor some gloves
SHOES_MIN_TEMP_PROTECTFor gloves
SHOES_MAX_TEMP_PROTECTFor gloves

Define Details

+

ARMOR_MAX_TEMP_PROTECT + + +

+

For armor

ARMOR_MIN_TEMP_PROTECT + + +

+

For armor

BODYTEMP_AUTORECOVERY_DIVISOR + + +

+

This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive.

BODYTEMP_AUTORECOVERY_MINIMUM + + +

+

Minimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50.

BODYTEMP_COLD_DIVISOR + + +

+

Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster.

BODYTEMP_COLD_WARNING_1 + + +

+

The temperature the light green icon is displayed.

BODYTEMP_COLD_WARNING_2 + + +

+

The temperature the cyan icon is displayed.

BODYTEMP_COLD_WARNING_3 + + +

+

The temperature the blue icon is displayed.

BODYTEMP_COOLING_MAX + + +

+

The maximum number of degrees that your body can cool in 1 tick, due to the environment, when in a cold area.

BODYTEMP_HEATING_MAX + + +

+

The maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area.

BODYTEMP_HEAT_DIVISOR + + +

+

Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster.

BODYTEMP_HEAT_WARNING_1 + + +

+

The temperature the yellow icon is displayed.

BODYTEMP_HEAT_WARNING_2 + + +

+

The temperature the orange icon is displayed.

BODYTEMP_HEAT_WARNING_3 + + +

+

The temperature the red icon is displayed.

BODYTEMP_NORMAL + + +

+

The natural temperature for a body

BREATH_PERCENTAGE + + +

+

Amount of air to take a from a tile

BREATH_VOLUME + + +

+

COLD_SLOWDOWN_FACTOR + + +

+

Humans are slowed by the difference between bodytemp and BODYTEMP_COLD_DAMAGE_LIMIT divided by this

FIRE_HELM_MAX_TEMP_PROTECT + + +

+

for fire helmet quality items (red and white hardhats)

FIRE_HELM_MIN_TEMP_PROTECT + + +

+

Cold protection for fire helmets

FIRE_IMMUNITY_MAX_TEMP_PROTECT + + +

+

what max_heat_protection_temperature is set to for firesuit quality suits and helmets. MUST NOT BE 0.

FIRE_SUIT_MAX_TEMP_PROTECT + + +

+

what max_heat_protection_temperature is set to for firesuit quality suits. MUST NOT BE 0.

FIRE_SUIT_MIN_TEMP_PROTECT + + +

+

Cold protection for firesuits

GLOVES_MAX_TEMP_PROTECT + + +

+

For some gloves

GLOVES_MIN_TEMP_PROTECT + + +

+

For some gloves (black and)

HAZARD_HIGH_PRESSURE + + +

+

This determins at what pressure the ultra-high pressure red icon is displayed. (This one is set as a constant)

HAZARD_LOW_PRESSURE + + +

+

This is when the black ultra-low pressure icon is displayed. (This one is set as a constant)

HELMET_MAX_TEMP_PROTECT + + +

+

For normal helmets

HELMET_MIN_TEMP_PROTECT + + +

+

For normal helmets

HULK_COLD_DAMAGE_MOD + + +

+

The modifier on cold damage hulks get.

SHOES_MAX_TEMP_PROTECT + + +

+

For gloves

SHOES_MIN_TEMP_PROTECT + + +

+

For gloves

SPACE_HELM_MAX_TEMP_PROTECT + + +

+

Thermal insulation works both ways /Malkevin

SPACE_HELM_MIN_TEMP_PROTECT + + +

+

what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0.

SPACE_SUIT_MIN_TEMP_PROTECT + + +

+

what min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0.

SPACE_SUIT_MIN_TEMP_PROTECT_OFF + + +

+

The min cold protection of a space suit without the heater active

TEMPERATURE_DAMAGE_COEFFICIENT + + +

+

This is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount.

WARNING_HIGH_PRESSURE + + +

+

This determins when the orange pressure icon is displayed (it is 0.7 * HAZARD_HIGH_PRESSURE)

WARNING_LOW_PRESSURE + + +

+

This is when the gray low pressure icon is displayed. (it is 2.5 * HAZARD_LOW_PRESSURE)

+ + + diff --git a/code/__DEFINES/atmospherics/atmos_piping.html b/code/__DEFINES/atmospherics/atmos_piping.html new file mode 100644 index 000000000000..706b8730c684 --- /dev/null +++ b/code/__DEFINES/atmospherics/atmos_piping.html @@ -0,0 +1,130 @@ + + + + + + + code/__DEFINES/atmospherics/atmos_piping.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics/atmos_piping.dm + +

+ + + + + + + + + + + + + + + + + + + + +
VOLUME_PUMP_LEAK_AMOUNTHow many percent of the contents that an overclocked volume pumps leak into the air
TANK_STANDARD_VOLUMEThe volume of the standard handheld gas tanks on the station.
TANK_MIN_RELEASE_PRESSUREThe minimum pressure an gas tanks release valve can be set to.
TANK_MAX_RELEASE_PRESSUREThe maximum pressure an gas tanks release valve can be set to.
TANK_DEFAULT_RELEASE_PRESSUREThe default initial value gas tanks release valves are set to. (At least the ones containing pure plasma/oxygen.)
TANK_PLASMAMAN_RELEASE_PRESSUREThe default initial value gas plasmamen tanks releases valves are set to.
TANK_MELT_TEMPERATUREThe internal temperature in kelvins at which a handheld gas tank begins to take damage.
TANK_MERGE_OVERPRESSUREThe internal pressure in kPa at which a handheld gas tank begins to take damage. +The internal pressure in kPa at which a handheld gas tank almost immediately ruptures. +The internal pressure in kPa at which an gas tank that breaks will cause an explosion. +Range scaling constant for tank explosions. Calibrated so that a TTV assembled using two 70L tanks will hit the maxcap at at least 160atm. +Denotes that our tank is overpressurized simply from gas merging.
TANK_RESULTS_REACTIONReactions that have happened in the tank.
TANK_RESULTS_MISCAdditional information of the tank.
PIPING_ALL_LAYERintended to connect with all layers, check for all instead of just one.
PIPING_ONE_PER_TURFcan only be built if nothing else with this flag is on the tile already.
PIPING_DEFAULT_LAYER_ONLYcan only exist at PIPING_LAYER_DEFAULT
PIPING_CARDINAL_AUTONORMALIZEnorth/south east/west doesn't matter, auto normalize on build.
PIPING_ALL_COLORSintended to connect with everything, both layers and colors
PIPING_BRIDGEcan bridge over pipenets
VENTCRAWL_ALLOWEDAllows for ventcrawling to occur. All atmospheric machines have this flag on by default. Cryo is the exception
VENTCRAWL_ENTRANCE_ALLOWEDAllows mobs to enter or leave from atmospheric machines. On for passive, unary, and scrubber vents.
VENTCRAWL_CAN_SEEUsed to check if a machinery is visible. Called by update_pipe_vision(). On by default for all except cryo.

Define Details

+

PIPING_ALL_COLORS + + +

+

intended to connect with everything, both layers and colors

PIPING_ALL_LAYER + + +

+

intended to connect with all layers, check for all instead of just one.

PIPING_BRIDGE + + +

+

can bridge over pipenets

PIPING_CARDINAL_AUTONORMALIZE + + +

+

north/south east/west doesn't matter, auto normalize on build.

PIPING_DEFAULT_LAYER_ONLY + + +

+

can only exist at PIPING_LAYER_DEFAULT

PIPING_ONE_PER_TURF + + +

+

can only be built if nothing else with this flag is on the tile already.

TANK_DEFAULT_RELEASE_PRESSURE + + +

+

The default initial value gas tanks release valves are set to. (At least the ones containing pure plasma/oxygen.)

TANK_MAX_RELEASE_PRESSURE + + +

+

The maximum pressure an gas tanks release valve can be set to.

TANK_MELT_TEMPERATURE + + +

+

The internal temperature in kelvins at which a handheld gas tank begins to take damage.

TANK_MERGE_OVERPRESSURE + + +

+

The internal pressure in kPa at which a handheld gas tank begins to take damage. +The internal pressure in kPa at which a handheld gas tank almost immediately ruptures. +The internal pressure in kPa at which an gas tank that breaks will cause an explosion. +Range scaling constant for tank explosions. Calibrated so that a TTV assembled using two 70L tanks will hit the maxcap at at least 160atm. +Denotes that our tank is overpressurized simply from gas merging.

TANK_MIN_RELEASE_PRESSURE + + +

+

The minimum pressure an gas tanks release valve can be set to.

TANK_PLASMAMAN_RELEASE_PRESSURE + + +

+

The default initial value gas plasmamen tanks releases valves are set to.

TANK_RESULTS_MISC + + +

+

Additional information of the tank.

TANK_RESULTS_REACTION + + +

+

Reactions that have happened in the tank.

TANK_STANDARD_VOLUME + + +

+

The volume of the standard handheld gas tanks on the station.

VENTCRAWL_ALLOWED + + +

+

Allows for ventcrawling to occur. All atmospheric machines have this flag on by default. Cryo is the exception

VENTCRAWL_CAN_SEE + + +

+

Used to check if a machinery is visible. Called by update_pipe_vision(). On by default for all except cryo.

VENTCRAWL_ENTRANCE_ALLOWED + + +

+

Allows mobs to enter or leave from atmospheric machines. On for passive, unary, and scrubber vents.

VOLUME_PUMP_LEAK_AMOUNT + + +

+

How many percent of the contents that an overclocked volume pumps leak into the air

+ + + diff --git a/code/__DEFINES/atom_hud.html b/code/__DEFINES/atom_hud.html new file mode 100644 index 000000000000..7e66ab6dc371 --- /dev/null +++ b/code/__DEFINES/atom_hud.html @@ -0,0 +1,122 @@ + + + + + + + code/__DEFINES/atom_hud.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atom_hud.dm + +

+ + + + + + + + + + + + + + + + + + + + +
HEALTH_HUDdead, alive, sick, health status
STATUS_HUDa simple line rounding the mob's number health
ID_HUDthe job asigned to your ID
WANTED_HUDwanted, released, parroled, security status
IMPLOYAL_HUDloyality implant
IMPCHEM_HUDchemical implant
IMPTRACK_HUDtracking implant
DIAG_STAT_HUDSilicon/Mech/Circuit Status
DIAG_HUDSilicon health bar
DIAG_BATT_HUDBorg/Mech/Circutry power meter
DIAG_MECH_HUDMech health bar
DIAG_BOT_HUDBot HUDs
DIAG_CIRCUIT_HUDCircuit assembly health bar
DIAG_TRACK_HUDMech/Silicon tracking beacon, Circutry long range icon
DIAG_AIRLOCK_HUDAirlock shock overlay
DIAG_PATH_HUDBot path indicators
GLAND_HUDGland indicators for abductors
DIAG_LAUNCHPAD_HUDDisplays launchpads' targeting reticle
ADD_HUD_TO_COOLDOWNcooldown for being shown the images for any particular data hud

Define Details

+

ADD_HUD_TO_COOLDOWN + + +

+

cooldown for being shown the images for any particular data hud

DIAG_AIRLOCK_HUD + + +

+

Airlock shock overlay

DIAG_BATT_HUD + + +

+

Borg/Mech/Circutry power meter

DIAG_BOT_HUD + + +

+

Bot HUDs

DIAG_CIRCUIT_HUD + + +

+

Circuit assembly health bar

DIAG_HUD + + +

+

Silicon health bar

DIAG_LAUNCHPAD_HUD + + +

+

Displays launchpads' targeting reticle

DIAG_MECH_HUD + + +

+

Mech health bar

DIAG_PATH_HUD + + +

+

Bot path indicators

DIAG_STAT_HUD + + +

+

Silicon/Mech/Circuit Status

DIAG_TRACK_HUD + + +

+

Mech/Silicon tracking beacon, Circutry long range icon

GLAND_HUD + + +

+

Gland indicators for abductors

HEALTH_HUD + + +

+

dead, alive, sick, health status

ID_HUD + + +

+

the job asigned to your ID

IMPCHEM_HUD + + +

+

chemical implant

IMPLOYAL_HUD + + +

+

loyality implant

IMPTRACK_HUD + + +

+

tracking implant

STATUS_HUD + + +

+

a simple line rounding the mob's number health

WANTED_HUD + + +

+

wanted, released, parroled, security status

+ + + diff --git a/code/__DEFINES/basic_mobs.html b/code/__DEFINES/basic_mobs.html new file mode 100644 index 000000000000..92dc23148f14 --- /dev/null +++ b/code/__DEFINES/basic_mobs.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/basic_mobs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/basic_mobs.dm + +

+ + +
DEL_ON_DEATHBasic mob flags

Define Details

+

DEL_ON_DEATH + + +

+

Basic mob flags

+ + + diff --git a/code/__DEFINES/blood.html b/code/__DEFINES/blood.html new file mode 100644 index 000000000000..ee744ff20458 --- /dev/null +++ b/code/__DEFINES/blood.html @@ -0,0 +1,64 @@ + + + + + + + code/__DEFINES/blood.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/blood.dm + +

+ + + + + + + + +
HAS_BLOOD_DNAChecks if an object is covered in blood
GET_BLOOD_REFReturns a reference to a blood datum
BLOODY_FOOTPRINT_BASE_ALPHAMinimum alpha of footprints
BLOOD_AMOUNT_PER_DECALHow much blood a regular blood splatter contains
BLOOD_ITEM_MAXHow much blood an item can have stuck on it
BLOOD_POOL_MAXHow much blood a blood decal can contain
BLOOD_FOOTPRINTS_MINHow much blood a footprint need to at least contain

Define Details

+

BLOODY_FOOTPRINT_BASE_ALPHA + + +

+

Minimum alpha of footprints

BLOOD_AMOUNT_PER_DECAL + + +

+

How much blood a regular blood splatter contains

BLOOD_FOOTPRINTS_MIN + + +

+

How much blood a footprint need to at least contain

BLOOD_ITEM_MAX + + +

+

How much blood an item can have stuck on it

BLOOD_POOL_MAX + + +

+

How much blood a blood decal can contain

GET_BLOOD_REF + + + +

+

Returns a reference to a blood datum

HAS_BLOOD_DNA + + + +

+

Checks if an object is covered in blood

+ + + diff --git a/code/__DEFINES/bodyparts.html b/code/__DEFINES/bodyparts.html new file mode 100644 index 000000000000..7fd05848a425 --- /dev/null +++ b/code/__DEFINES/bodyparts.html @@ -0,0 +1,107 @@ + + + + + + + code/__DEFINES/bodyparts.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/bodyparts.dm + +

+ + + + + + + + + + + + + + + + + +
BODYPARTS_DEFAULT_MAXIMUMThe standard amount of bodyparts a carbon has. Currently 6, HEAD/arm/left/arm/right/CHEST/leg/left/R_LEG
BODYPART_BONES_BREAK_CHANCE_MODA modifier applied to the chance to break bones on a given instance of damage
BODYPART_MINIMUM_DAMAGE_TO_JIGGLEBONESThe minimum amount of brute damage for an attack to roll for bone jostle
DROPLIMB_MINIMUM_DAMAGEan attack must do this much damage after armor in order to be eliigible to dismember a suitably mushed bodypart
ORGAN_RECOVERY_THRESHOLDThe amount of time an organ has to be dead for it to be unrecoverable
BP_HAS_TENDONThis limb has a tendon IMMUTABLE: DO NOT ADD/REMOVE AFTER DEFINITION
BP_TENDON_CUTThis limb's tendon is cut, and is disabled.
BP_HAS_ARTERYThis limb has an artery. IMMUTABLE: DO NOT ADD/REMOVE AFTER DEFINITION
BP_ARTERY_CUTThis limb's artery is cut, causing massive bleeding.
BP_IS_GRABBY_LIMBThis limb has a "hand" and contributes to usable_arms. IMMUTABLE: DO NOT ADD/REMOVE AFTER DEFINITION
BP_IS_MOVEMENT_LIMBThis limb is able to be used for movement and contributes to usable_legs. IMMUTABLE: DO NOT ADD/REMOVE AFTER DEFINITION
BP_CUT_AWAYLimb is not connected to the nervous system and is not usable.
BP_NO_PAINLimb cannot feel pain. IMMUTABLE: DO NOT ADD/REMOVE AFTER DEFINITION
BP_NECROTICLimb is MF dead
BP_CAN_BE_DISLOCATEDLimb can be dislocated
BP_DISLOCATEDLimb is dislocated

Define Details

+

BODYPARTS_DEFAULT_MAXIMUM + + +

+

The standard amount of bodyparts a carbon has. Currently 6, HEAD/arm/left/arm/right/CHEST/leg/left/R_LEG

BODYPART_BONES_BREAK_CHANCE_MOD + + +

+

A modifier applied to the chance to break bones on a given instance of damage

BODYPART_MINIMUM_DAMAGE_TO_JIGGLEBONES + + +

+

The minimum amount of brute damage for an attack to roll for bone jostle

BP_ARTERY_CUT + + +

+

This limb's artery is cut, causing massive bleeding.

BP_CAN_BE_DISLOCATED + + +

+

Limb can be dislocated

BP_CUT_AWAY + + +

+

Limb is not connected to the nervous system and is not usable.

BP_DISLOCATED + + +

+

Limb is dislocated

BP_HAS_ARTERY + + +

+

This limb has an artery. IMMUTABLE: DO NOT ADD/REMOVE AFTER DEFINITION

BP_HAS_TENDON + + +

+

This limb has a tendon IMMUTABLE: DO NOT ADD/REMOVE AFTER DEFINITION

BP_IS_GRABBY_LIMB + + +

+

This limb has a "hand" and contributes to usable_arms. IMMUTABLE: DO NOT ADD/REMOVE AFTER DEFINITION

BP_IS_MOVEMENT_LIMB + + +

+

This limb is able to be used for movement and contributes to usable_legs. IMMUTABLE: DO NOT ADD/REMOVE AFTER DEFINITION

BP_NECROTIC + + +

+

Limb is MF dead

BP_NO_PAIN + + +

+

Limb cannot feel pain. IMMUTABLE: DO NOT ADD/REMOVE AFTER DEFINITION

BP_TENDON_CUT + + +

+

This limb's tendon is cut, and is disabled.

DROPLIMB_MINIMUM_DAMAGE + + +

+

an attack must do this much damage after armor in order to be eliigible to dismember a suitably mushed bodypart

ORGAN_RECOVERY_THRESHOLD + + +

+

The amount of time an organ has to be dead for it to be unrecoverable

+ + + diff --git a/code/__DEFINES/botany.html b/code/__DEFINES/botany.html new file mode 100644 index 000000000000..43579eecbe3e --- /dev/null +++ b/code/__DEFINES/botany.html @@ -0,0 +1,166 @@ + + + + + + + code/__DEFINES/botany.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/botany.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
MAX_PLANT_YIELD-- Botany plant stat defines. -- +MAXES:
MIN_PLANT_ENDURANCEMINS:
WEED_HARDY_YIELD_MIN-- Some botany trait value defines. -- +Weed Hardy can only reduce plants to 3 yield.
CARNIVORY_POTENCY_MINCarnivory potency can only reduce potency to 30.
FUNGAL_METAB_YIELD_MINFungle megabolism plants have a min yield of 1.
TRAY_NAME_UPDATE-- Hydroponics tray defines. -- +Macro for updating the tray name.
STATIC_NUTRIENT_CAPACITYBase amount of nutrients a tray can old.
MAX_TRAY_TOXINSMaximum amount of toxins a tray can reach.
MAX_TRAY_PESTSMaxumum pests a tray can reach.
MAX_TRAY_WEEDSMaximum weeds a tray can reach.
GENE_SHEAR_MIN_HEALTHMinumum plant health required for gene shears.
FLORA_GUN_MIN_ENDURANCEMinumum plant endurance required to lock a mutation with a somatoray.
PLANT_GENE_REMOVABLE-- Flags for genes -- +Plant genes that can be removed via gene shears.
PLANT_GENE_MUTATABLEPlant genes that can be mutated randomly in strange seeds / due to high instability.
PLANT_GENE_GRAFTABLEPlant genes that can be graftable. Used in formatting text, as they need to be set to be graftable anyways.
MUTATE_EARLY-- Flags for seeds. -- +Allows a plant to wild mutate (mutate on haravest) at a certain instability.
TRAIT_HALVES_YIELD-- Flags for traits. -- +Caps the plant's yield at 5 instead of 10.
GLOW_ID-- Trait IDs. Plants that match IDs cannot be added to the same plant. -- +Plants that glow.
PLANT_TYPE_IDPlant types.
TEMP_CHANGE_IDPlants that affect the reagent's temperature.
CONTENTS_CHANGE_IDPlants that affect the reagent contents.
THROW_IMPACT_IDPlants that do something special when they impact.
REAGENT_TRANSFER_IDPlants that transfer reagents on impact.
ATTACK_SELF_IDPlants that have a unique effect on attack_self.
EGG_LAYING_MESSAGESA list of possible egg laying descriptions

Define Details

+

ATTACK_SELF_ID + + +

+

Plants that have a unique effect on attack_self.

CARNIVORY_POTENCY_MIN + + +

+

Carnivory potency can only reduce potency to 30.

CONTENTS_CHANGE_ID + + +

+

Plants that affect the reagent contents.

EGG_LAYING_MESSAGES + + +

+

A list of possible egg laying descriptions

FLORA_GUN_MIN_ENDURANCE + + +

+

Minumum plant endurance required to lock a mutation with a somatoray.

FUNGAL_METAB_YIELD_MIN + + +

+

Fungle megabolism plants have a min yield of 1.

GENE_SHEAR_MIN_HEALTH + + +

+

Minumum plant health required for gene shears.

GLOW_ID + + +

+

-- Trait IDs. Plants that match IDs cannot be added to the same plant. -- +Plants that glow.

MAX_PLANT_YIELD + + +

+

-- Botany plant stat defines. -- +MAXES:

MAX_TRAY_PESTS + + +

+

Maxumum pests a tray can reach.

MAX_TRAY_TOXINS + + +

+

Maximum amount of toxins a tray can reach.

MAX_TRAY_WEEDS + + +

+

Maximum weeds a tray can reach.

MIN_PLANT_ENDURANCE + + +

+

MINS:

MUTATE_EARLY + + +

+

-- Flags for seeds. -- +Allows a plant to wild mutate (mutate on haravest) at a certain instability.

PLANT_GENE_GRAFTABLE + + +

+

Plant genes that can be graftable. Used in formatting text, as they need to be set to be graftable anyways.

PLANT_GENE_MUTATABLE + + +

+

Plant genes that can be mutated randomly in strange seeds / due to high instability.

PLANT_GENE_REMOVABLE + + +

+

-- Flags for genes -- +Plant genes that can be removed via gene shears.

PLANT_TYPE_ID + + +

+

Plant types.

REAGENT_TRANSFER_ID + + +

+

Plants that transfer reagents on impact.

STATIC_NUTRIENT_CAPACITY + + +

+

Base amount of nutrients a tray can old.

TEMP_CHANGE_ID + + +

+

Plants that affect the reagent's temperature.

THROW_IMPACT_ID + + +

+

Plants that do something special when they impact.

TRAIT_HALVES_YIELD + + +

+

-- Flags for traits. -- +Caps the plant's yield at 5 instead of 10.

TRAY_NAME_UPDATE + + +

+

-- Hydroponics tray defines. -- +Macro for updating the tray name.

WEED_HARDY_YIELD_MIN + + +

+

-- Some botany trait value defines. -- +Weed Hardy can only reduce plants to 3 yield.

+ + + diff --git a/code/__DEFINES/callbacks.html b/code/__DEFINES/callbacks.html new file mode 100644 index 000000000000..db0c5a1b49b1 --- /dev/null +++ b/code/__DEFINES/callbacks.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/callbacks.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/callbacks.dm + +

+ + + +
CALLBACKA shorthand for the callback datum, documented here
VERB_CALLBACKlike CALLBACK but specifically for verb callbacks

Define Details

+

CALLBACK + + +

+

A shorthand for the callback datum, documented here

VERB_CALLBACK + + +

+

like CALLBACK but specifically for verb callbacks

+ + + diff --git a/code/__DEFINES/cargo.html b/code/__DEFINES/cargo.html new file mode 100644 index 000000000000..b205c536d6fb --- /dev/null +++ b/code/__DEFINES/cargo.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/cargo.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/cargo.dm + +

+ + +
CARGO_CRATE_VALUEThe baseline unit for cargo crates. Adjusting this will change the cost of all in-game shuttles, crate export values, bounty rewards, and all supply pack import values, as they use this as their unit of measurement.

Define Details

+

CARGO_CRATE_VALUE + + +

+

The baseline unit for cargo crates. Adjusting this will change the cost of all in-game shuttles, crate export values, bounty rewards, and all supply pack import values, as they use this as their unit of measurement.

+ + + diff --git a/code/__DEFINES/chat.html b/code/__DEFINES/chat.html new file mode 100644 index 000000000000..d07698c3d4a3 --- /dev/null +++ b/code/__DEFINES/chat.html @@ -0,0 +1,53 @@ + + + + + + + code/__DEFINES/chat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/chat.dm + +

+ + + + + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

debug_worldUsed for debug messages to the world
debug_usrUsed for debug messages to the player
debug_adminsUsed for debug messages to the admins
debug_world_logUsed for debug messages to the server

Define Details

+

debug_admins + + + +

+

Used for debug messages to the admins

debug_usr + + + +

+

Used for debug messages to the player

debug_world + + + +

+

Used for debug messages to the world

debug_world_log + + + +

+

Used for debug messages to the server

+ + + diff --git a/code/__DEFINES/chat_filter.html b/code/__DEFINES/chat_filter.html new file mode 100644 index 000000000000..524b15027a65 --- /dev/null +++ b/code/__DEFINES/chat_filter.html @@ -0,0 +1,49 @@ + + + + + + + code/__DEFINES/chat_filter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/chat_filter.dm + +

+ + + + + +
CHAT_FILTER_INDEX_WORDThe index of the word that was filtered in a is_*_filtered proc
CHAT_FILTER_INDEX_REASONThe index of the reason why a word was filtered in a is_*_filtered proc
REPORT_CHAT_FILTER_TO_USERGiven a chat filter result, will send a to_chat to the user telling them about why their message was blocked
CAN_BYPASS_FILTERGiven a user, returns TRUE if they are allowed to bypass the filter.

Define Details

+

CAN_BYPASS_FILTER + + + +

+

Given a user, returns TRUE if they are allowed to bypass the filter.

CHAT_FILTER_INDEX_REASON + + +

+

The index of the reason why a word was filtered in a is_*_filtered proc

CHAT_FILTER_INDEX_WORD + + +

+

The index of the word that was filtered in a is_*_filtered proc

REPORT_CHAT_FILTER_TO_USER + + + +

+

Given a chat filter result, will send a to_chat to the user telling them about why their message was blocked

+ + + diff --git a/code/__DEFINES/cleaning.html b/code/__DEFINES/cleaning.html new file mode 100644 index 000000000000..d9da9157389a --- /dev/null +++ b/code/__DEFINES/cleaning.html @@ -0,0 +1,77 @@ + + + + + + + code/__DEFINES/cleaning.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/cleaning.dm + +

+ + + + + + + + + + + +
CLEAN_TYPE_BLOODCleans blood off of the cleanable atom.
CLEAN_TYPE_RUNESCleans runes off of the cleanable atom.
CLEAN_TYPE_FINGERPRINTSCleans fingerprints off of the cleanable atom.
CLEAN_TYPE_FIBERSCleans fibres off of the cleanable atom.
CLEAN_TYPE_RADIATIONCleans radiation off of the cleanable atom.
CLEAN_TYPE_DISEASECleans diseases off of the cleanable atom.
CLEAN_TYPE_PAINTCleans paint off of the cleanable atom.
CLEAN_TYPE_ACIDCleans acid off of the cleanable atom.
CLEAN_TYPE_LIGHT_DECALCleans decals such as dirt and oil off the floor
CLEAN_TYPE_HARD_DECALCleans decals such as cobwebs off the floor

Define Details

+

CLEAN_TYPE_ACID + + +

+

Cleans acid off of the cleanable atom.

CLEAN_TYPE_BLOOD + + +

+

Cleans blood off of the cleanable atom.

CLEAN_TYPE_DISEASE + + +

+

Cleans diseases off of the cleanable atom.

CLEAN_TYPE_FIBERS + + +

+

Cleans fibres off of the cleanable atom.

CLEAN_TYPE_FINGERPRINTS + + +

+

Cleans fingerprints off of the cleanable atom.

CLEAN_TYPE_HARD_DECAL + + +

+

Cleans decals such as cobwebs off the floor

CLEAN_TYPE_LIGHT_DECAL + + +

+

Cleans decals such as dirt and oil off the floor

CLEAN_TYPE_PAINT + + +

+

Cleans paint off of the cleanable atom.

CLEAN_TYPE_RADIATION + + +

+

Cleans radiation off of the cleanable atom.

CLEAN_TYPE_RUNES + + +

+

Cleans runes off of the cleanable atom.

+ + + diff --git a/code/__DEFINES/clothing.html b/code/__DEFINES/clothing.html new file mode 100644 index 000000000000..f6e25a83a6ad --- /dev/null +++ b/code/__DEFINES/clothing.html @@ -0,0 +1,89 @@ + + + + + + + code/__DEFINES/clothing.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/clothing.dm + +

+ + + + + + + + + + + + + +
SHOES_UNTIEDShoes are untied
SHOES_TIEDShoes are tied normally
SHOES_KNOTTEDShoes have been tied in knots
SENSOR_OFFSuit sensor is turned off
SENSOR_LIVINGSuit sensor displays the mob as alive or dead
SENSOR_COORDSSuit sensor displays the mob's health status and rough
BROKEN_SENSORSSuit sensor has been EMP'd and cannot display any information (can be fixed)
NO_SENSORSSuit sensor is not present and cannot display any information
HAS_SENSORSSuit sensor is present and can display information
LOCKED_SENSORSSuit sensor is present and is forced to display information (used on prisoner jumpsuits)
ADD_CLOTHING_TRAITWrapper for adding clothing based traits
REMOVE_CLOTHING_TRAITWrapper for removing clothing based traits

Define Details

+

ADD_CLOTHING_TRAIT + + + +

+

Wrapper for adding clothing based traits

BROKEN_SENSORS + + +

+

Suit sensor has been EMP'd and cannot display any information (can be fixed)

HAS_SENSORS + + +

+

Suit sensor is present and can display information

LOCKED_SENSORS + + +

+

Suit sensor is present and is forced to display information (used on prisoner jumpsuits)

NO_SENSORS + + +

+

Suit sensor is not present and cannot display any information

REMOVE_CLOTHING_TRAIT + + + +

+

Wrapper for removing clothing based traits

SENSOR_COORDS + + +

+

Suit sensor displays the mob's health status and rough

SENSOR_LIVING + + +

+

Suit sensor displays the mob as alive or dead

SENSOR_OFF + + +

+

Suit sensor is turned off

SHOES_KNOTTED + + +

+

Shoes have been tied in knots

SHOES_TIED + + +

+

Shoes are tied normally

SHOES_UNTIED + + +

+

Shoes are untied

+ + + diff --git a/code/__DEFINES/colors.html b/code/__DEFINES/colors.html new file mode 100644 index 000000000000..0e7aa4fb72e4 --- /dev/null +++ b/code/__DEFINES/colors.html @@ -0,0 +1,220 @@ + + + + + + + code/__DEFINES/colors.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/colors.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ADMIN_COLOUR_PRIORITYOnly used by rare effects like greentext coloring mobs and when admins varedit color
TEMPORARY_COLOUR_PRIORITYe.g. purple effect of the revenant on a mob, black effect when mob electrocuted
WASHABLE_COLOUR_PRIORITYColor splashed onto an atom (e.g. paint on turf)
FIXED_COLOUR_PRIORITYColor inherent to the atom (e.g. blob color)
COLOUR_PRIORITY_AMOUNThow many colour priority levels there are.
COLOR_THEME_MIDNIGHTMain colors for UI themes
COLOR_PERIWINKLEEColors for eigenstates
LIGHT_COLOR_GREENSome defines to generalise colours used in lighting.
LIGHT_COLOR_VIVID_GREENVivid, slightly blue green. rgb(60, 240, 70)
LIGHT_COLOR_ELECTRIC_GREENElectric green. rgb(0, 255, 0)
LIGHT_COLOR_BLUECold, diluted blue. rgb(100, 150, 250)
LIGHT_COLOR_FAINT_BLUEFaint white blue. rgb(222, 239, 255)
LIGHT_COLOR_BLUEGREENLight blueish green. rgb(125, 225, 175)
LIGHT_COLOR_CYANDiluted cyan. rgb(125, 225, 225)
LIGHT_COLOR_BABY_BLUEBaby Blue rgb(0, 170, 220)
LIGHT_COLOR_ELECTRIC_CYANElectric cyan rgb(0, 255, 255)
LIGHT_COLOR_LIGHT_CYANMore-saturated cyan. rgb(64, 206, 255)
LIGHT_COLOR_DARK_BLUESaturated blue. rgb(51, 117, 248)
LIGHT_COLOR_PINKDiluted, mid-warmth pink. rgb(225, 125, 225)
LIGHT_COLOR_DIM_YELLOWDimmed yellow, leaning kaki. rgb(225, 225, 125)
LIGHT_COLOR_BRIGHT_YELLOWBright yellow. rgb(255, 255, 150)
LIGHT_COLOR_BROWNClear brown, mostly dim. rgb(150, 100, 50)
LIGHT_COLOR_ORANGEMostly pure orange. rgb(250, 150, 50)
LIGHT_COLOR_PURPLELight Purple. rgb(149, 44, 244)
LIGHT_COLOR_LAVENDERLess-saturated light purple. rgb(155, 81, 255)
LIGHT_COLOR_HOLY_MAGICslightly desaturated bright yellow.
LIGHT_COLOR_BLOOD_MAGICdeep crimson
LIGHT_COLOR_INTENSE_REDVivid red. Leans a bit darker to accentuate red colors and leave other channels a bit dry. rgb(200, 25, 25)
LIGHT_COLOR_FIREWarm orange color, leaning strongly towards yellow. rgb(250, 160, 25)
LIGHT_COLOR_LAVAVery warm yellow, leaning slightly towards orange. rgb(196, 138, 24)
LIGHT_COLOR_FLAREBright, non-saturated red. Leaning slightly towards pink for visibility. rgb(250, 100, 75)
LIGHT_COLOR_SLIME_LAMPWeird color, between yellow and green, very slimy. rgb(175, 200, 75)
LIGHT_COLOR_HALOGENBarely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250)
LIGHT_COLOR_TUNGSTENExtremely diluted yellow, close to skin color (for some reason). rgb(255, 214, 170)
COLOR_PRIDE_REDColors for pride week
DEFAULT_ASAY_COLORThe default color for admin say, used as a fallback when the preference is not enabled
AMBIENT_OCCLUSIONIcon filter that creates ambient occlusion
GAUSSIAN_BLURIcon filter that creates gaussian blur

Define Details

+

ADMIN_COLOUR_PRIORITY + + +

+

Only used by rare effects like greentext coloring mobs and when admins varedit color

AMBIENT_OCCLUSION + + +

+

Icon filter that creates ambient occlusion

COLOR_PERIWINKLEE + + +

+

Colors for eigenstates

COLOR_PRIDE_RED + + +

+

Colors for pride week

COLOR_THEME_MIDNIGHT + + +

+

Main colors for UI themes

COLOUR_PRIORITY_AMOUNT + + +

+

how many colour priority levels there are.

DEFAULT_ASAY_COLOR + + +

+

The default color for admin say, used as a fallback when the preference is not enabled

FIXED_COLOUR_PRIORITY + + +

+

Color inherent to the atom (e.g. blob color)

GAUSSIAN_BLUR + + + +

+

Icon filter that creates gaussian blur

LIGHT_COLOR_BABY_BLUE + + +

+

Baby Blue rgb(0, 170, 220)

LIGHT_COLOR_BLOOD_MAGIC + + +

+

deep crimson

LIGHT_COLOR_BLUE + + +

+

Cold, diluted blue. rgb(100, 150, 250)

LIGHT_COLOR_BLUEGREEN + + +

+

Light blueish green. rgb(125, 225, 175)

LIGHT_COLOR_BRIGHT_YELLOW + + +

+

Bright yellow. rgb(255, 255, 150)

LIGHT_COLOR_BROWN + + +

+

Clear brown, mostly dim. rgb(150, 100, 50)

LIGHT_COLOR_CYAN + + +

+

Diluted cyan. rgb(125, 225, 225)

LIGHT_COLOR_DARK_BLUE + + +

+

Saturated blue. rgb(51, 117, 248)

LIGHT_COLOR_DIM_YELLOW + + +

+

Dimmed yellow, leaning kaki. rgb(225, 225, 125)

LIGHT_COLOR_ELECTRIC_CYAN + + +

+

Electric cyan rgb(0, 255, 255)

LIGHT_COLOR_ELECTRIC_GREEN + + +

+

Electric green. rgb(0, 255, 0)

LIGHT_COLOR_FAINT_BLUE + + +

+

Faint white blue. rgb(222, 239, 255)

LIGHT_COLOR_FIRE + + +

+

Warm orange color, leaning strongly towards yellow. rgb(250, 160, 25)

LIGHT_COLOR_FLARE + + +

+

Bright, non-saturated red. Leaning slightly towards pink for visibility. rgb(250, 100, 75)

LIGHT_COLOR_GREEN + + +

+

Some defines to generalise colours used in lighting.

+

Important note: colors can end up significantly different from the basic html picture, especially when saturated +Bright but quickly dissipating neon green. rgb(100, 200, 100)

LIGHT_COLOR_HALOGEN + + +

+

Barely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250)

LIGHT_COLOR_HOLY_MAGIC + + +

+

slightly desaturated bright yellow.

LIGHT_COLOR_INTENSE_RED + + +

+

Vivid red. Leans a bit darker to accentuate red colors and leave other channels a bit dry. rgb(200, 25, 25)

LIGHT_COLOR_LAVA + + +

+

Very warm yellow, leaning slightly towards orange. rgb(196, 138, 24)

LIGHT_COLOR_LAVENDER + + +

+

Less-saturated light purple. rgb(155, 81, 255)

LIGHT_COLOR_LIGHT_CYAN + + +

+

More-saturated cyan. rgb(64, 206, 255)

LIGHT_COLOR_ORANGE + + +

+

Mostly pure orange. rgb(250, 150, 50)

LIGHT_COLOR_PINK + + +

+

Diluted, mid-warmth pink. rgb(225, 125, 225)

LIGHT_COLOR_PURPLE + + +

+

Light Purple. rgb(149, 44, 244)

LIGHT_COLOR_SLIME_LAMP + + +

+

Weird color, between yellow and green, very slimy. rgb(175, 200, 75)

LIGHT_COLOR_TUNGSTEN + + +

+

Extremely diluted yellow, close to skin color (for some reason). rgb(255, 214, 170)

LIGHT_COLOR_VIVID_GREEN + + +

+

Vivid, slightly blue green. rgb(60, 240, 70)

TEMPORARY_COLOUR_PRIORITY + + +

+

e.g. purple effect of the revenant on a mob, black effect when mob electrocuted

WASHABLE_COLOUR_PRIORITY + + +

+

Color splashed onto an atom (e.g. paint on turf)

+ + + diff --git a/code/__DEFINES/combat.html b/code/__DEFINES/combat.html new file mode 100644 index 000000000000..b39734ee7849 --- /dev/null +++ b/code/__DEFINES/combat.html @@ -0,0 +1,276 @@ + + + + + + + code/__DEFINES/combat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/combat.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BRUTEPhysical fracturing and warping of the material.
BURNScorching and charring of the material.
TOXPoisoning. Mostly caused by reagents.
OXYSuffocation.
CLONECellular degredation. Rare and difficult to treat.
STAMINAExhaustion and nonlethal damage.
BRAINBrain damage. Should probably be decomissioned and replaced with proper organ damage.
BLUNTInvolves a blunt object.
PUNCTUREInvolves a weapon with a point, or bullets.
SLASHInvolves a weapon with a sharp edge, like a knife.
LASERInvolves a laser.
ENERGYInvolves an EMP or energy-based projectile.
BOMBInvolves a shockwave, usually from an explosion.
BIOInvolved in checking wheter a disease can infect or spread. Also involved in xeno neurotoxin.
FIREInvolves fire or temperature extremes.
ACIDInvolves corrosive substances.
EMBEDDED_PAIN_CHANCEChance for embedded objects to cause pain (damage user)
EMBEDDED_ITEM_FALLOUTChance for embedded object to fall out (causing pain but removing the object)
EMBED_CHANCEChance for an object to embed into somebody when thrown
EMBEDDED_PAIN_MULTIPLIERCoefficient of multiplication for the damage the item does while embedded (this*item.w_class)
EMBEDDED_IMPACT_PAIN_MULTIPLIERCoefficient of multiplication for the damage the item does when it first embeds (this*item.w_class)
EMBED_THROWSPEED_THRESHOLDThe minimum value of an item's throw_speed for it to embed (Unless it has embedded_ignore_throwspeed_threshold set to 1)
EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIERCoefficient of multiplication for the damage the item does when it falls out or is removed without a surgery (this*item.w_class)
EMBEDDED_UNSAFE_REMOVAL_TIMEA Time in ticks, total removal time = (this*item.w_class)
EMBEDDED_JOSTLE_CHANCEChance for embedded objects to cause pain every time they move (jostle)
EMBEDDED_JOSTLE_PAIN_MULTIPLIERCoefficient of multiplication for the damage the item does while
EMBEDDED_PAIN_STAM_PCTThis percentage of all pain will be dealt as stam damage rather than brute (0-1)
EMBED_CHANCE_SPEED_BONUSFor thrown weapons, every extra speed it's thrown at above its normal throwspeed will add this to the embed chance
SAWN_OFF_ACC_PENALTYaccuracy penalty of sawn off guns
SAWN_OFF_RECOILadded recoil of sawn off guns
AMMO_BOX_ONE_SPRITEammo box will always use provided icon state
AMMO_BOX_PER_BULLETammo box will have a different state for each bullet; <icon_state>-
AMMO_BOX_FULL_EMPTYammo box will have a different state for full and empty; <icon_state>-max_ammo and <icon_state>-0
SUPPRESSED_QUIETstandard suppressed
SUPPRESSED_VERYno message
EXPLODE_GIB_THRESHOLDex_act() with EXPLODE_DEVASTATE severity will gib mobs with less than this much bomb armor
CARBON_BODYPART_HEALTH_SUMThe max damage capacity of the average human. Used for balance purposes.
CARBON_MAX_IMPACT_SPEED_BONUSIf a carbon is thrown at a speed faster than normal and impacts something solid, they take extra damage for every extra speed up to this number (see [/mob/living/carbon/proc/throw_impact])
SECONDARY_ATTACK_CALL_NORMALAlternate attack defines. Return these at the end of procs like afterattack_secondary. +Calls the normal attack proc. For example, if returned in afterattack_secondary, will call afterattack. +Will continue the chain depending on the return value of the non-alternate proc, like with normal attacks.
SECONDARY_ATTACK_CANCEL_ATTACK_CHAINCancels the attack chain entirely.
SECONDARY_ATTACK_CONTINUE_CHAINProceed with the attack chain, but don't call the normal methods.
AUTOFIRE_STAT_IDLECompatible firemode is in the gun. Wait until it's held in the user hands.
AUTOFIRE_STAT_ALERTGun is active and in the user hands. Wait until user does a valid click.
AUTOFIRE_STAT_FIRINGGun is shooting.
MARTIAL_ATTACK_INVALIDMartial arts attack requested but is not available, allow a check for a regular attack.
MARTIAL_ATTACK_FAILMartial arts attack happened but failed, do not allow a check for a regular attack.
MARTIAL_ATTACK_SUCCESSMartial arts attack happened and succeeded, do not allow a check for a regular attack.
ATTACK_CHAIN_CONTINUEContinue the attack chain
ATTACK_CHAIN_SUCCESSAttack was a success, stop any further chain procs

Define Details

+

ACID + + +

+

Involves corrosive substances.

AMMO_BOX_FULL_EMPTY + + +

+

ammo box will have a different state for full and empty; <icon_state>-max_ammo and <icon_state>-0

AMMO_BOX_ONE_SPRITE + + +

+

ammo box will always use provided icon state

AMMO_BOX_PER_BULLET + + +

+

ammo box will have a different state for each bullet; <icon_state>-

ATTACK_CHAIN_CONTINUE + + +

+

Continue the attack chain

ATTACK_CHAIN_SUCCESS + + +

+

Attack was a success, stop any further chain procs

AUTOFIRE_STAT_ALERT + + +

+

Gun is active and in the user hands. Wait until user does a valid click.

AUTOFIRE_STAT_FIRING + + +

+

Gun is shooting.

AUTOFIRE_STAT_IDLE + + +

+

Compatible firemode is in the gun. Wait until it's held in the user hands.

BIO + + +

+

Involved in checking wheter a disease can infect or spread. Also involved in xeno neurotoxin.

BLUNT + + +

+

Involves a blunt object.

BOMB + + +

+

Involves a shockwave, usually from an explosion.

BRAIN + + +

+

Brain damage. Should probably be decomissioned and replaced with proper organ damage.

BRUTE + + +

+

Physical fracturing and warping of the material.

BURN + + +

+

Scorching and charring of the material.

CARBON_BODYPART_HEALTH_SUM + + +

+

The max damage capacity of the average human. Used for balance purposes.

CARBON_MAX_IMPACT_SPEED_BONUS + + +

+

If a carbon is thrown at a speed faster than normal and impacts something solid, they take extra damage for every extra speed up to this number (see [/mob/living/carbon/proc/throw_impact])

CLONE + + +

+

Cellular degredation. Rare and difficult to treat.

EMBEDDED_IMPACT_PAIN_MULTIPLIER + + +

+

Coefficient of multiplication for the damage the item does when it first embeds (this*item.w_class)

EMBEDDED_ITEM_FALLOUT + + +

+

Chance for embedded object to fall out (causing pain but removing the object)

EMBEDDED_JOSTLE_CHANCE + + +

+

Chance for embedded objects to cause pain every time they move (jostle)

EMBEDDED_JOSTLE_PAIN_MULTIPLIER + + +

+

Coefficient of multiplication for the damage the item does while

EMBEDDED_PAIN_CHANCE + + +

+

Chance for embedded objects to cause pain (damage user)

EMBEDDED_PAIN_MULTIPLIER + + +

+

Coefficient of multiplication for the damage the item does while embedded (this*item.w_class)

EMBEDDED_PAIN_STAM_PCT + + +

+

This percentage of all pain will be dealt as stam damage rather than brute (0-1)

EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER + + +

+

Coefficient of multiplication for the damage the item does when it falls out or is removed without a surgery (this*item.w_class)

EMBEDDED_UNSAFE_REMOVAL_TIME + + +

+

A Time in ticks, total removal time = (this*item.w_class)

EMBED_CHANCE + + +

+

Chance for an object to embed into somebody when thrown

EMBED_CHANCE_SPEED_BONUS + + +

+

For thrown weapons, every extra speed it's thrown at above its normal throwspeed will add this to the embed chance

EMBED_THROWSPEED_THRESHOLD + + +

+

The minimum value of an item's throw_speed for it to embed (Unless it has embedded_ignore_throwspeed_threshold set to 1)

ENERGY + + +

+

Involves an EMP or energy-based projectile.

EXPLODE_GIB_THRESHOLD + + +

+

ex_act() with EXPLODE_DEVASTATE severity will gib mobs with less than this much bomb armor

FIRE + + +

+

Involves fire or temperature extremes.

LASER + + +

+

Involves a laser.

MARTIAL_ATTACK_FAIL + + +

+

Martial arts attack happened but failed, do not allow a check for a regular attack.

MARTIAL_ATTACK_INVALID + + +

+

Martial arts attack requested but is not available, allow a check for a regular attack.

MARTIAL_ATTACK_SUCCESS + + +

+

Martial arts attack happened and succeeded, do not allow a check for a regular attack.

OXY + + +

+

Suffocation.

PUNCTURE + + +

+

Involves a weapon with a point, or bullets.

SAWN_OFF_ACC_PENALTY + + +

+

accuracy penalty of sawn off guns

SAWN_OFF_RECOIL + + +

+

added recoil of sawn off guns

SECONDARY_ATTACK_CALL_NORMAL + + +

+

Alternate attack defines. Return these at the end of procs like afterattack_secondary. +Calls the normal attack proc. For example, if returned in afterattack_secondary, will call afterattack. +Will continue the chain depending on the return value of the non-alternate proc, like with normal attacks.

SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + + +

+

Cancels the attack chain entirely.

SECONDARY_ATTACK_CONTINUE_CHAIN + + +

+

Proceed with the attack chain, but don't call the normal methods.

SLASH + + +

+

Involves a weapon with a sharp edge, like a knife.

STAMINA + + +

+

Exhaustion and nonlethal damage.

SUPPRESSED_QUIET + + +

+

standard suppressed

SUPPRESSED_VERY + + +

+

no message

TOX + + +

+

Poisoning. Mostly caused by reagents.

+ + + diff --git a/code/__DEFINES/communications.html b/code/__DEFINES/communications.html new file mode 100644 index 000000000000..fefd15ab9629 --- /dev/null +++ b/code/__DEFINES/communications.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/communications.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/communications.dm + +

+ + + + + + +
CROSS_SECTOR_CANCEL_TIMEThe time an admin has to cancel a cross-sector message
SEC_LEVEL_GREENSecurity level is green. (no threats)
SEC_LEVEL_BLUESecurity level is blue. (caution advised)
SEC_LEVEL_REDSecurity level is red. (hostile threats)
SEC_LEVEL_DELTASecurity level is delta. (station destruction immiment)

Define Details

+

CROSS_SECTOR_CANCEL_TIME + + +

+

The time an admin has to cancel a cross-sector message

SEC_LEVEL_BLUE + + +

+

Security level is blue. (caution advised)

SEC_LEVEL_DELTA + + +

+

Security level is delta. (station destruction immiment)

SEC_LEVEL_GREEN + + +

+

Security level is green. (no threats)

SEC_LEVEL_RED + + +

+

Security level is red. (hostile threats)

+ + + diff --git a/code/__DEFINES/configuration.html b/code/__DEFINES/configuration.html new file mode 100644 index 000000000000..b326e42b648c --- /dev/null +++ b/code/__DEFINES/configuration.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/configuration.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/configuration.dm + +

+ + + + +
CONFIG_ENTRY_LOCKEDcan't edit
CONFIG_ENTRY_HIDDENcan't see value
OVERRIDE_CONFIG_DIRECTORY_PARAMETERForce the config directory to be something other than "config"

Define Details

+

CONFIG_ENTRY_HIDDEN + + +

+

can't see value

CONFIG_ENTRY_LOCKED + + +

+

can't edit

OVERRIDE_CONFIG_DIRECTORY_PARAMETER + + +

+

Force the config directory to be something other than "config"

+ + + diff --git a/code/__DEFINES/construction.html b/code/__DEFINES/construction.html new file mode 100644 index 000000000000..e9d37e566bf7 --- /dev/null +++ b/code/__DEFINES/construction.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/construction.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/construction.dm + +

+ + + +
RCD_MEMORY_COST_BUFFHow much less resources the RCD uses when reconstructing
SHEETS_FOR_FULLTILE_WINDOWHow many sheets does it cost to make a fulltile window

Define Details

+

RCD_MEMORY_COST_BUFF + + +

+

How much less resources the RCD uses when reconstructing

SHEETS_FOR_FULLTILE_WINDOW + + +

+

How many sheets does it cost to make a fulltile window

+ + + diff --git a/code/__DEFINES/cooldowns.html b/code/__DEFINES/cooldowns.html new file mode 100644 index 000000000000..a6395470f432 --- /dev/null +++ b/code/__DEFINES/cooldowns.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/cooldowns.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/cooldowns.dm + +

+ + +
COOLDOWN_BORG_SELF_REPAIRCOOLDOWN SYSTEMS

Define Details

+

COOLDOWN_BORG_SELF_REPAIR + + +

+

COOLDOWN SYSTEMS

+ + + diff --git a/code/__DEFINES/cult.html b/code/__DEFINES/cult.html new file mode 100644 index 000000000000..0dc4bdde802a --- /dev/null +++ b/code/__DEFINES/cult.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/cult.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/cult.dm + +

+ + + + +
CULT_RISENpercent before rise
CULT_ASCENDENTpercent before ascend
PREVIEW_IMAGEDefines for cult item_dispensers.

Define Details

+

CULT_ASCENDENT + + +

+

percent before ascend

CULT_RISEN + + +

+

percent before rise

PREVIEW_IMAGE + + +

+

Defines for cult item_dispensers.

+ + + diff --git a/code/__DEFINES/database.html b/code/__DEFINES/database.html new file mode 100644 index 000000000000..66585ff30f89 --- /dev/null +++ b/code/__DEFINES/database.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/database.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/database.dm + +

+ + + + +
DB_QUERY_STARTEDWhen a query has been queued up for execution/is being executed
DB_QUERY_FINISHEDWhen a query is finished executing
DB_QUERY_BROKENWhen there was a problem with the execution of a query.

Define Details

+

DB_QUERY_BROKEN + + +

+

When there was a problem with the execution of a query.

DB_QUERY_FINISHED + + +

+

When a query is finished executing

DB_QUERY_STARTED + + +

+

When a query has been queued up for execution/is being executed

+ + + diff --git a/code/__DEFINES/datacore.html b/code/__DEFINES/datacore.html new file mode 100644 index 000000000000..6a013529a239 --- /dev/null +++ b/code/__DEFINES/datacore.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/datacore.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/datacore.dm + +

+ + +
DATACORE_RECORDS_STATIONKeys for SSdatacore.library

Define Details

+

DATACORE_RECORDS_STATION + + +

+

Keys for SSdatacore.library

+ + + diff --git a/code/__DEFINES/dcs/flags.html b/code/__DEFINES/dcs/flags.html new file mode 100644 index 000000000000..bf7bed2e66c6 --- /dev/null +++ b/code/__DEFINES/dcs/flags.html @@ -0,0 +1,96 @@ + + + + + + + code/__DEFINES/dcs/flags.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/flags.dm + +

+ + + + + + + + + + + + +
COMPONENT_INCOMPATIBLEReturn this from /datum/component/Initialize or datum/component/OnTransfer to have the component be deleted if it's applied to an incorrect type. +parent must not be modified if this is to be returned. +This will be noted in the runtime logs
COMPONENT_NOTRANSFERReturned in PostTransfer to prevent transfer, similar to COMPONENT_INCOMPATIBLE
ELEMENT_INCOMPATIBLEReturn value to cancel attaching
ELEMENT_DETACHCauses the detach proc to be called when the host object is being deleted. +Should only be used if you need to perform cleanup not related to the host object. +You do not need this if you are only unregistering signals, for instance. +You would need it if you are doing something like removing the target from a processing list.
ELEMENT_BESPOKEOnly elements created with the same arguments given after id_arg_index share an element instance +The arguments are the same when the text and number values are the same and all other values have the same ref
ELEMENT_COMPLEX_DETACHCauses all detach arguments to be passed to detach instead of only being used to identify the element +When this is used your Detach proc should have the same signature as your Attach proc
COMPONENT_DUPE_HIGHLANDERold component is deleted (default)
COMPONENT_DUPE_ALLOWEDduplicates allowed
COMPONENT_DUPE_UNIQUEnew component is deleted
COMPONENT_DUPE_UNIQUE_PASSARGSold component is given the initialization args of the new
COMPONENT_DUPE_SELECTIVEeach component of the same type is consulted as to whether the duplicate should be allowed

Define Details

+

COMPONENT_DUPE_ALLOWED + + +

+

duplicates allowed

COMPONENT_DUPE_HIGHLANDER + + +

+

old component is deleted (default)

COMPONENT_DUPE_SELECTIVE + + +

+

each component of the same type is consulted as to whether the duplicate should be allowed

COMPONENT_DUPE_UNIQUE + + +

+

new component is deleted

COMPONENT_DUPE_UNIQUE_PASSARGS + + +

+

old component is given the initialization args of the new

COMPONENT_INCOMPATIBLE + + +

+

Return this from /datum/component/Initialize or datum/component/OnTransfer to have the component be deleted if it's applied to an incorrect type. +parent must not be modified if this is to be returned. +This will be noted in the runtime logs

COMPONENT_NOTRANSFER + + +

+

Returned in PostTransfer to prevent transfer, similar to COMPONENT_INCOMPATIBLE

ELEMENT_BESPOKE + + +

+

Only elements created with the same arguments given after id_arg_index share an element instance +The arguments are the same when the text and number values are the same and all other values have the same ref

ELEMENT_COMPLEX_DETACH + + +

+

Causes all detach arguments to be passed to detach instead of only being used to identify the element +When this is used your Detach proc should have the same signature as your Attach proc

ELEMENT_DETACH + + +

+

Causes the detach proc to be called when the host object is being deleted. +Should only be used if you need to perform cleanup not related to the host object. +You do not need this if you are only unregistering signals, for instance. +You would need it if you are doing something like removing the target from a processing list.

ELEMENT_INCOMPATIBLE + + +

+

Return value to cancel attaching

+ + + diff --git a/code/__DEFINES/dcs/helpers.html b/code/__DEFINES/dcs/helpers.html new file mode 100644 index 000000000000..a45b874d5ac8 --- /dev/null +++ b/code/__DEFINES/dcs/helpers.html @@ -0,0 +1,70 @@ + + + + + + + code/__DEFINES/dcs/helpers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/helpers.dm + +

+ + + + + + + +
SEND_SIGNALUsed to trigger signals and call procs registered for that signal +The datum hosting the signal is automaticaly added as the first argument +Returns a bitfield gathered from all registered procs +Arguments given here are packaged in a list and given to _SendSignal
SIGNAL_HANDLERSignifies that this proc is used to handle signals. +Every proc you pass to RegisterSignal must have this.
AddElementA wrapper for _AddElement that allows us to pretend we're using normal named arguments
RemoveElementA wrapper for _RemoveElement that allows us to pretend we're using normal named arguments
AddComponentA wrapper for _AddComponent that allows us to pretend we're using normal named arguments
LoadComponentA wrapper for _LoadComponent that allows us to pretend we're using normal named arguments

Define Details

+

AddComponent + + + +

+

A wrapper for _AddComponent that allows us to pretend we're using normal named arguments

AddElement + + + +

+

A wrapper for _AddElement that allows us to pretend we're using normal named arguments

LoadComponent + + + +

+

A wrapper for _LoadComponent that allows us to pretend we're using normal named arguments

RemoveElement + + + +

+

A wrapper for _RemoveElement that allows us to pretend we're using normal named arguments

SEND_SIGNAL + + + +

+

Used to trigger signals and call procs registered for that signal +The datum hosting the signal is automaticaly added as the first argument +Returns a bitfield gathered from all registered procs +Arguments given here are packaged in a list and given to _SendSignal

SIGNAL_HANDLER + + +

+

Signifies that this proc is used to handle signals. +Every proc you pass to RegisterSignal must have this.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_NTNet.html b/code/__DEFINES/dcs/signals/signals_NTNet.html new file mode 100644 index 000000000000..babc47212123 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_NTNet.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_NTNet.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_NTNet.dm + +

+ + + + + + + +
COMSIG_COMPONENT_NTNET_RECEIVEcalled on an object by its NTNET connection component on receive. (data(datum/netdata))
COMSIG_COMPONENT_NTNET_PORT_UPDATEcalled on an object by its NTNET connection component on a port update (hardware_id, port))
COMSIG_COMPONENT_NTNET_ACKcalled when packet was accepted by the target (datum/netdata, error_code)
COMSIG_COMPONENT_NTNET_NAKcalled when packet was not acknoledged by the target (datum/netdata, error_code)
COMSIG_COMPONENT_NTNET_PORT_DESTROYEDcalled on an object by its NTNET connection component on a port distruction (port, list/data))
COMSIG_COMPONENT_NTNET_PORT_UPDATEDcalled on an object by its NTNET connection component on a port distruction (port, list/data))

Define Details

+

COMSIG_COMPONENT_NTNET_ACK + + +

+

called when packet was accepted by the target (datum/netdata, error_code)

COMSIG_COMPONENT_NTNET_NAK + + +

+

called when packet was not acknoledged by the target (datum/netdata, error_code)

COMSIG_COMPONENT_NTNET_PORT_DESTROYED + + +

+

called on an object by its NTNET connection component on a port distruction (port, list/data))

COMSIG_COMPONENT_NTNET_PORT_UPDATE + + +

+

called on an object by its NTNET connection component on a port update (hardware_id, port))

COMSIG_COMPONENT_NTNET_PORT_UPDATED + + +

+

called on an object by its NTNET connection component on a port distruction (port, list/data))

COMSIG_COMPONENT_NTNET_RECEIVE + + +

+

called on an object by its NTNET connection component on receive. (data(datum/netdata))

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_action.html b/code/__DEFINES/dcs/signals/signals_action.html new file mode 100644 index 000000000000..8c86ee8f70e2 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_action.html @@ -0,0 +1,92 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_action.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_action.dm + +

+ + + + + + + + + + + + + + +
COMSIG_ACTION_TRIGGERfrom base of datum/action/proc/Trigger(): (datum/action)
COMSIG_ACTION_GRANTEDFrom /datum/action/Grant(): (mob/grant_to)
COMSIG_MOB_GRANTED_ACTIONFrom /datum/action/Grant(): (datum/action)
COMSIG_ACTION_REMOVEDFrom /datum/action/Remove(): (mob/removed_from)
COMSIG_MOB_REMOVED_ACTIONFrom /datum/action/Remove(): (datum/action)
COMSIG_ACTION_OVERLAY_APPLYFrom /datum/action/apply_button_overlay()
COMSIG_MOB_ABILITY_STARTEDFrom base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/activated)
COMPONENT_BLOCK_ABILITY_STARTReturn to block the ability from starting / activating
COMSIG_MOB_ABILITY_FINISHEDFrom base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/finished)
COMSIG_ACTION_SET_STATPANELFrom base of /datum/action/cooldown/proc/set_statpanel_format(): (list/stat_panel_data)
COMSIG_BLOOD_WARPFrom base of /datum/action/cooldown/mob_cooldown/blood_warp/proc/blood_warp(): ()
COMSIG_STARTED_CHARGEFrom base of /datum/action/cooldown/mob_cooldown/charge/proc/do_charge(): ()
COMSIG_FINISHED_CHARGEFrom base of /datum/action/cooldown/mob_cooldown/charge/proc/do_charge(): ()

Define Details

+

COMPONENT_BLOCK_ABILITY_START + + +

+

Return to block the ability from starting / activating

COMSIG_ACTION_GRANTED + + +

+

From /datum/action/Grant(): (mob/grant_to)

COMSIG_ACTION_OVERLAY_APPLY + + +

+

From /datum/action/apply_button_overlay()

COMSIG_ACTION_REMOVED + + +

+

From /datum/action/Remove(): (mob/removed_from)

COMSIG_ACTION_SET_STATPANEL + + +

+

From base of /datum/action/cooldown/proc/set_statpanel_format(): (list/stat_panel_data)

COMSIG_ACTION_TRIGGER + + +

+

from base of datum/action/proc/Trigger(): (datum/action)

COMSIG_BLOOD_WARP + + +

+

From base of /datum/action/cooldown/mob_cooldown/blood_warp/proc/blood_warp(): ()

COMSIG_FINISHED_CHARGE + + +

+

From base of /datum/action/cooldown/mob_cooldown/charge/proc/do_charge(): ()

COMSIG_MOB_ABILITY_FINISHED + + +

+

From base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/finished)

COMSIG_MOB_ABILITY_STARTED + + +

+

From base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/activated)

COMSIG_MOB_GRANTED_ACTION + + +

+

From /datum/action/Grant(): (datum/action)

COMSIG_MOB_REMOVED_ACTION + + +

+

From /datum/action/Remove(): (datum/action)

COMSIG_STARTED_CHARGE + + +

+

From base of /datum/action/cooldown/mob_cooldown/charge/proc/do_charge(): ()

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_admin.html b/code/__DEFINES/dcs/signals/signals_admin.html new file mode 100644 index 000000000000..e841684b1c37 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_admin.html @@ -0,0 +1,41 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_admin.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_admin.dm + +

+ + + +
COMSIG_ADMIN_HELP_MADE_INACTIVEAdmin helps +From /datum/admin_help/RemoveActive(). +Fired when an adminhelp is made inactive either due to closing or resolving.
COMSIG_ADMIN_HELP_REPLIEDCalled when the player replies. From /client/proc/cmd_admin_pm().

Define Details

+

COMSIG_ADMIN_HELP_MADE_INACTIVE + + +

+

Admin helps +From /datum/admin_help/RemoveActive(). +Fired when an adminhelp is made inactive either due to closing or resolving.

COMSIG_ADMIN_HELP_REPLIED + + +

+

Called when the player replies. From /client/proc/cmd_admin_pm().

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_adventure.html b/code/__DEFINES/dcs/signals/signals_adventure.html new file mode 100644 index 000000000000..01f99f9efa82 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_adventure.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_adventure.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_adventure.dm + +

+ + + + + + + + + +
COMSIG_ADVENTURE_FINISHEDExoprobe adventure finished: (result) result is ADVENTURE_RESULT_??? values
COMSIG_ADVENTURE_QUALITY_INITSent on initial adventure qualities generation from /datum/adventure/proc/initialize_qualities(): (list/quality_list)
COMSIG_ADVENTURE_DELAY_STARTSent on adventure node delay start: (delay_time, delay_message)
COMSIG_ADVENTURE_DELAY_ENDSent on adventure delay finish: ()
COMSIG_EXODRONE_STATUS_CHANGEDExoprobe status changed : ()
COMSIG_EXOSCAN_STARTEDSent on begingging of new scan : (datum/exoscan/new_scan)
COMSIG_EXOSCAN_FINISHEDSent on successful finish of exoscan: (datum/exoscan/finished_scan)
COMSIG_EXOSCAN_INTERRUPTEDSent on exoscan failure/manual interruption: ()

Define Details

+

COMSIG_ADVENTURE_DELAY_END + + +

+

Sent on adventure delay finish: ()

COMSIG_ADVENTURE_DELAY_START + + +

+

Sent on adventure node delay start: (delay_time, delay_message)

COMSIG_ADVENTURE_FINISHED + + +

+

Exoprobe adventure finished: (result) result is ADVENTURE_RESULT_??? values

COMSIG_ADVENTURE_QUALITY_INIT + + +

+

Sent on initial adventure qualities generation from /datum/adventure/proc/initialize_qualities(): (list/quality_list)

COMSIG_EXODRONE_STATUS_CHANGED + + +

+

Exoprobe status changed : ()

COMSIG_EXOSCAN_FINISHED + + +

+

Sent on successful finish of exoscan: (datum/exoscan/finished_scan)

COMSIG_EXOSCAN_INTERRUPTED + + +

+

Sent on exoscan failure/manual interruption: ()

COMSIG_EXOSCAN_STARTED + + +

+

Sent on begingging of new scan : (datum/exoscan/new_scan)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_area.html b/code/__DEFINES/dcs/signals/signals_area.html new file mode 100644 index 000000000000..fa96889fea1d --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_area.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_area.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_area.dm + +

+ + + + + + + + + +
COMSIG_AREA_POWER_CHANGEfrom base of area/proc/power_change(): ()
COMSIG_AREA_ENTEREDfrom base of area/Entered(): (atom/movable/arrived, area/old_area)
COMSIG_AREA_EXITEDfrom base of area/Exited(): (atom/movable/gone, direction)
COMSIG_ENTER_AREAfrom base of area/Entered(): (/area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.
COMSIG_EXIT_AREAfrom base of area/Exited(): (/area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.
COMSIG_ALARM_TRIGGEREDSent when an alarm is fired (alarm, area/source_area)
COMSIG_ALARM_CLEAREDSend when an alarm source is cleared (alarm_type, area/source_area)
AREA_SPOOK_LEVEL_CHANGEDfrom base of area/proc/adjust_spook_level(): (area, old_spook_level)

Define Details

+

AREA_SPOOK_LEVEL_CHANGED + + +

+

from base of area/proc/adjust_spook_level(): (area, old_spook_level)

COMSIG_ALARM_CLEARED + + +

+

Send when an alarm source is cleared (alarm_type, area/source_area)

COMSIG_ALARM_TRIGGERED + + +

+

Sent when an alarm is fired (alarm, area/source_area)

COMSIG_AREA_ENTERED + + +

+

from base of area/Entered(): (atom/movable/arrived, area/old_area)

COMSIG_AREA_EXITED + + +

+

from base of area/Exited(): (atom/movable/gone, direction)

COMSIG_AREA_POWER_CHANGE + + +

+

from base of area/proc/power_change(): ()

COMSIG_ENTER_AREA + + +

+

from base of area/Entered(): (/area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.

COMSIG_EXIT_AREA + + +

+

from base of area/Exited(): (/area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.html new file mode 100644 index 000000000000..5c92338a6755 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.html @@ -0,0 +1,114 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.dm + +

+ + + + + + + + + + + + + + + + + + +
COMSIG_PARENT_ATTACKBYfrom base of atom/attackby(): (/obj/item, /mob/living, params)
COMSIG_PARENT_ATTACKBY_SECONDARYFrom base of [atom/proc/attacby_secondary()]: (/obj/item/weapon, /mob/user, params)
COMSIG_ATOM_ATTACK_HAND_SECONDARYFrom base of /atom/proc/attack_hand_secondary: (mob/user, list/modifiers) - Called when the atom receives a secondary unarmed attack.
COMPONENT_NO_AFTERATTACKReturn this in response if you don't want afterattack to be called
COMSIG_ATOM_HULK_ATTACKfrom base of atom/attack_hulk(): (/mob/living/carbon/human)
COMSIG_ATOM_ATTACK_ANIMALfrom base of atom/animal_attack(): (/mob/user)
COMSIG_ATOM_BREAKfrom /atom/proc/atom_break: (damage_flag)
COMSIG_ATOM_FIXfrom base of /atom/proc/atom_fix: ()
COMSIG_ATOM_DESTRUCTIONfrom base of /atom/proc/atom_destruction: (damage_flag)
COMSIG_ATOM_INTEGRITY_CHANGEDfrom base of /atom/proc/update_integrity: (old_value, new_value)
COMSIG_ATOM_TAKE_DAMAGEfrom base of /atom/proc/take_damage: (damage_amount, damage_type, damage_flag, sound_effect, attack_dir, aurmor_penetration)
COMPONENT_NO_TAKE_DAMAGEReturn bitflags for the above signal which prevents the atom taking any damage.
COMPONENT_CANCEL_ATTACK_CHAINtool_act -> pre_attack -> target.attackby (item.attack) -> afterattack +Ends the attack chain. If sent early might cause posterior attacks not to happen.
COMPONENT_SKIP_ATTACK_STEPSkips the specific attack step, continuing for the next one to happen.
COMSIG_ATOM_ATTACK_GHOSTfrom base of atom/attack_ghost(): (mob/dead/observer/ghost)
COMSIG_ATOM_ATTACK_HANDfrom base of atom/attack_hand(): (mob/user, list/modifiers)
COMSIG_ATOM_ATTACK_PAWfrom base of atom/attack_paw(): (mob/user)

Define Details

+

COMPONENT_CANCEL_ATTACK_CHAIN + + +

+

tool_act -> pre_attack -> target.attackby (item.attack) -> afterattack +Ends the attack chain. If sent early might cause posterior attacks not to happen.

COMPONENT_NO_AFTERATTACK + + +

+

Return this in response if you don't want afterattack to be called

COMPONENT_NO_TAKE_DAMAGE + + +

+

Return bitflags for the above signal which prevents the atom taking any damage.

COMPONENT_SKIP_ATTACK_STEP + + +

+

Skips the specific attack step, continuing for the next one to happen.

COMSIG_ATOM_ATTACK_ANIMAL + + +

+

from base of atom/animal_attack(): (/mob/user)

COMSIG_ATOM_ATTACK_GHOST + + +

+

from base of atom/attack_ghost(): (mob/dead/observer/ghost)

COMSIG_ATOM_ATTACK_HAND + + +

+

from base of atom/attack_hand(): (mob/user, list/modifiers)

COMSIG_ATOM_ATTACK_HAND_SECONDARY + + +

+

From base of /atom/proc/attack_hand_secondary: (mob/user, list/modifiers) - Called when the atom receives a secondary unarmed attack.

COMSIG_ATOM_ATTACK_PAW + + +

+

from base of atom/attack_paw(): (mob/user)

COMSIG_ATOM_BREAK + + +

+

from /atom/proc/atom_break: (damage_flag)

COMSIG_ATOM_DESTRUCTION + + +

+

from base of /atom/proc/atom_destruction: (damage_flag)

COMSIG_ATOM_FIX + + +

+

from base of /atom/proc/atom_fix: ()

COMSIG_ATOM_HULK_ATTACK + + +

+

from base of atom/attack_hulk(): (/mob/living/carbon/human)

COMSIG_ATOM_INTEGRITY_CHANGED + + +

+

from base of /atom/proc/update_integrity: (old_value, new_value)

COMSIG_ATOM_TAKE_DAMAGE + + +

+

from base of /atom/proc/take_damage: (damage_amount, damage_type, damage_flag, sound_effect, attack_dir, aurmor_penetration)

COMSIG_PARENT_ATTACKBY + + +

+

from base of atom/attackby(): (/obj/item, /mob/living, params)

COMSIG_PARENT_ATTACKBY_SECONDARY + + +

+

From base of [atom/proc/attacby_secondary()]: (/obj/item/weapon, /mob/user, params)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_explosion.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_explosion.html new file mode 100644 index 000000000000..ff50e9437b5d --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_explosion.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_explosion.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_explosion.dm + +

+ + + + + +
COMSIG_ATOM_EXPLODEfrom [/datum/controller/subsystem/explosions/proc/explode]: (/list(/atom, devastation_range, heavy_impact_range, light_impact_range, flame_range, flash_range, adminlog, ignorecap, silent, smoke, explosion_cause))
COMSIG_ATOM_INTERNAL_EXPLOSIONfrom [/datum/controller/subsystem/explosions/proc/explode]: (/list(/atom, devastation_range, heavy_impact_range, light_impact_range, flame_range, flash_range, adminlog, ignorecap, silent, smoke, explosion_cause))
COMSIG_AREA_INTERNAL_EXPLOSIONfrom [/datum/controller/subsystem/explosions/proc/explode]: (/list(/atom, devastation_range, heavy_impact_range, light_impact_range, flame_range, flash_range, adminlog, ignorecap, silent, smoke, explosion_cause))
COMSIG_CANCEL_EXPLOSIONWhen returned on a signal hooked to COMSIG_ATOM_EXPLODE, COMSIG_ATOM_INTERNAL_EXPLOSION, or COMSIG_AREA_INTERNAL_EXPLOSION it prevents the explosion from being propagated further.

Define Details

+

COMSIG_AREA_INTERNAL_EXPLOSION + + +

+

from [/datum/controller/subsystem/explosions/proc/explode]: (/list(/atom, devastation_range, heavy_impact_range, light_impact_range, flame_range, flash_range, adminlog, ignorecap, silent, smoke, explosion_cause))

COMSIG_ATOM_EXPLODE + + +

+

from [/datum/controller/subsystem/explosions/proc/explode]: (/list(/atom, devastation_range, heavy_impact_range, light_impact_range, flame_range, flash_range, adminlog, ignorecap, silent, smoke, explosion_cause))

COMSIG_ATOM_INTERNAL_EXPLOSION + + +

+

from [/datum/controller/subsystem/explosions/proc/explode]: (/list(/atom, devastation_range, heavy_impact_range, light_impact_range, flame_range, flash_range, adminlog, ignorecap, silent, smoke, explosion_cause))

COMSIG_CANCEL_EXPLOSION + + +

+

When returned on a signal hooked to COMSIG_ATOM_EXPLODE, COMSIG_ATOM_INTERNAL_EXPLOSION, or COMSIG_AREA_INTERNAL_EXPLOSION it prevents the explosion from being propagated further.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_lighting.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_lighting.html new file mode 100644 index 000000000000..c4d5d316c68d --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_lighting.html @@ -0,0 +1,97 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_lighting.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_lighting.dm + +

+ + + + + + + + + + + + + + + +
COMSIG_ATOM_SET_LIGHTfrom base of [atom/proc/set_light]: (l_range, l_power, l_color, l_on)
COMPONENT_BLOCK_LIGHT_UPDATEBlocks [/atom/proc/set_light], /atom/proc/set_light_power, /atom/proc/set_light_range, /atom/proc/set_light_color, /atom/proc/set_light_on, and /atom/proc/set_light_flags.
COMSIG_ATOM_SET_LIGHT_POWERCalled right before the atom changes the value of light_power to a different one, from base atom/proc/set_light_power: (new_power)
COMSIG_ATOM_UPDATE_LIGHT_POWERCalled right after the atom changes the value of light_power to a different one, from base of /atom/proc/set_light_power: (old_power)
COMSIG_ATOM_SET_LIGHT_RANGECalled right before the atom changes the value of light_range to a different one, from base atom/proc/set_light_range: (new_range)
COMSIG_ATOM_UPDATE_LIGHT_RANGECalled right after the atom changes the value of light_range to a different one, from base of /atom/proc/set_light_range: (old_range)
COMSIG_ATOM_SET_LIGHT_COLORCalled right before the atom changes the value of light_color to a different one, from base atom/proc/set_light_color: (new_color)
COMSIG_ATOM_UPDATE_LIGHT_COLORCalled right after the atom changes the value of light_color to a different one, from base of /atom/proc/set_light_color: (old_color)
COMSIG_ATOM_SET_LIGHT_ONCalled right before the atom changes the value of light_on to a different one, from base atom/proc/set_light_on: (new_value)
COMSIG_ATOM_UPDATE_LIGHT_ONCalled right after the atom changes the value of light_on to a different one, from base of /atom/proc/set_light_on: (old_value)
COMSIG_ATOM_SET_LIGHT_FLAGSCalled right before the atom changes the value of light_flags to a different one, from base atom/proc/set_light_flags: (new_flags)
COMSIG_ATOM_UPDATE_LIGHT_FLAGSCalled right after the atom changes the value of light_flags to a different one, from base of /atom/proc/set_light_flags: (old_flags)
COMSIG_ATOM_SET_LIGHT_CURVECalled right before the atom changes the value of light_falloff_curve to a different one, from base [atom/proc/set_light_cirve]: (new_curve)
COMSIG_ATOM_UPDATE_LIGHT_CURVECalled right after the atom changes the value of light_falloff_curve to a different one, from base of /atom/proc/set_light_curve: (old_curve)

Define Details

+

COMPONENT_BLOCK_LIGHT_UPDATE + + +

+

Blocks [/atom/proc/set_light], /atom/proc/set_light_power, /atom/proc/set_light_range, /atom/proc/set_light_color, /atom/proc/set_light_on, and /atom/proc/set_light_flags.

COMSIG_ATOM_SET_LIGHT + + +

+

from base of [atom/proc/set_light]: (l_range, l_power, l_color, l_on)

COMSIG_ATOM_SET_LIGHT_COLOR + + +

+

Called right before the atom changes the value of light_color to a different one, from base atom/proc/set_light_color: (new_color)

COMSIG_ATOM_SET_LIGHT_CURVE + + +

+

Called right before the atom changes the value of light_falloff_curve to a different one, from base [atom/proc/set_light_cirve]: (new_curve)

COMSIG_ATOM_SET_LIGHT_FLAGS + + +

+

Called right before the atom changes the value of light_flags to a different one, from base atom/proc/set_light_flags: (new_flags)

COMSIG_ATOM_SET_LIGHT_ON + + +

+

Called right before the atom changes the value of light_on to a different one, from base atom/proc/set_light_on: (new_value)

COMSIG_ATOM_SET_LIGHT_POWER + + +

+

Called right before the atom changes the value of light_power to a different one, from base atom/proc/set_light_power: (new_power)

COMSIG_ATOM_SET_LIGHT_RANGE + + +

+

Called right before the atom changes the value of light_range to a different one, from base atom/proc/set_light_range: (new_range)

COMSIG_ATOM_UPDATE_LIGHT_COLOR + + +

+

Called right after the atom changes the value of light_color to a different one, from base of /atom/proc/set_light_color: (old_color)

COMSIG_ATOM_UPDATE_LIGHT_CURVE + + +

+

Called right after the atom changes the value of light_falloff_curve to a different one, from base of /atom/proc/set_light_curve: (old_curve)

COMSIG_ATOM_UPDATE_LIGHT_FLAGS + + +

+

Called right after the atom changes the value of light_flags to a different one, from base of /atom/proc/set_light_flags: (old_flags)

COMSIG_ATOM_UPDATE_LIGHT_ON + + +

+

Called right after the atom changes the value of light_on to a different one, from base of /atom/proc/set_light_on: (old_value)

COMSIG_ATOM_UPDATE_LIGHT_POWER + + +

+

Called right after the atom changes the value of light_power to a different one, from base of /atom/proc/set_light_power: (old_power)

COMSIG_ATOM_UPDATE_LIGHT_RANGE + + +

+

Called right after the atom changes the value of light_range to a different one, from base of /atom/proc/set_light_range: (old_range)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.html new file mode 100644 index 000000000000..a149d602e88f --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.html @@ -0,0 +1,212 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_PARENT_EXAMINEfrom base of atom/examine(): (/mob, list/examine_text)
COMSIG_ATOM_GET_EXAMINE_NAMEfrom base of atom/get_examine_name(): (/mob, list/overrides)
COMSIG_PARENT_EXAMINE_MOREfrom base of atom/examine_more(): (/mob)
COMSIG_ATOM_UPDATE_APPEARANCEfrom base of /atom/proc/update_appearance: (updates)
COMSIG_ATOM_NO_UPDATE_NAMEIf returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its name.
COMSIG_ATOM_NO_UPDATE_DESCIf returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its desc.
COMSIG_ATOM_NO_UPDATE_ICONIf returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its icon.
COMSIG_ATOM_UPDATE_NAMEfrom base of /atom/proc/update_name: (updates)
COMSIG_ATOM_UPDATE_DESCfrom base of /atom/proc/update_desc: (updates)
COMSIG_ATOM_UPDATE_ICONfrom base of /atom/update_icon: ()
COMSIG_ATOM_NO_UPDATE_ICON_STATEIf returned from COMSIG_ATOM_UPDATE_ICON it prevents the atom from updating its icon state.
COMSIG_ATOM_NO_UPDATE_OVERLAYSIf returned from COMSIG_ATOM_UPDATE_ICON it prevents the atom from updating its overlays.
COMSIG_ATOM_UPDATE_ICON_STATEfrom base of atom/update_icon_state: ()
COMSIG_ATOM_UPDATE_OVERLAYSfrom base of /atom/update_overlays: (list/new_overlays)
COMSIG_ATOM_UPDATED_ICONfrom base of /atom/update_icon: (signalOut, did_anything)
COMSIG_ATOM_SMOOTHED_ICONfrom base of /atom/proc/smooth_icon: ()
COMSIG_ATOM_ENTEREDfrom base of atom/Entered(): (atom/movable/arrived, atom/old_loc, list/atom/old_locs)
COMSIG_ATOM_ABSTRACT_ENTEREDfrom base of atom/movable/Moved(): (atom/movable/arrived, atom/old_loc, list/atom/old_locs)
COMSIG_ATOM_ENTERINGSent from the atom that just Entered src. From base of atom/Entered(): (/atom/destination, atom/old_loc, list/atom/old_locs)
COMSIG_ATOM_EXITfrom base of atom/Exit(): (/atom/movable/leaving, direction)
COMSIG_ATOM_EXITEDfrom base of atom/Exited(): (atom/movable/gone, direction)
COMSIG_ATOM_ABSTRACT_EXITEDfrom base of atom/movable/Moved(): (atom/movable/gone, direction)
COMSIG_ATOM_BUMPEDfrom base of atom/Bumped(): (/atom/movable)
COMSIG_ATOM_CONTENTS_DELfrom base of atom/handle_atom_del(): (atom/deleted)
COMSIG_ATOM_HAS_GRAVITYfrom base of atom/has_gravity(): (turf/location, list/forced_gravities)
COMSIG_ATOM_CANREACHfrom internal loop in atom/movable/proc/CanReach(): (list/next)
COMSIG_ATOM_CREATEDBY_PROCESSINGfor when an atom has been created through processing (atom/original_atom, list/chosen_processing_option)
COMSIG_ATOM_PROCESSEDwhen an atom is processed (mob/living/user, obj/item/I, list/atom/results)
COMSIG_ATOM_INTERCEPT_TELEPORTcalled when teleporting into a protected turf: (channel, turf/origin)
COMSIG_ATOM_HEARER_IN_VIEWcalled when an atom is added to the hearers on get_hearers_in_view(): (list/processing_list, list/hearers)
COMSIG_ATOM_ORBIT_BEGINcalled when an atom starts orbiting another atom: (atom)
COMSIG_ATOM_ORBIT_STOPcalled when an atom stops orbiting another atom: (atom)
COMSIG_ATOM_SET_OPACITYfrom base of atom/set_opacity(): (new_opacity)
COMSIG_ATOM_HITBYfrom base of atom/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
COMSIG_ATOM_STARTING_INSTRUMENTwhen an atom starts playing a song datum (datum/song)
COMSIG_ATOM_VV_MODIFY_TRANSFORMWhen the transform or an atom is varedited through vv topic.
COMSIG_ATOM_TEMPORARY_ANIMATION_STARTgenerally called before temporary non-parallel animate()s on the atom (animation_duration)

Define Details

+

COMSIG_ATOM_ABSTRACT_ENTERED + + +

+

from base of atom/movable/Moved(): (atom/movable/arrived, atom/old_loc, list/atom/old_locs)

COMSIG_ATOM_ABSTRACT_EXITED + + +

+

from base of atom/movable/Moved(): (atom/movable/gone, direction)

COMSIG_ATOM_BUMPED + + +

+

from base of atom/Bumped(): (/atom/movable)

COMSIG_ATOM_CANREACH + + +

+

from internal loop in atom/movable/proc/CanReach(): (list/next)

COMSIG_ATOM_CONTENTS_DEL + + +

+

from base of atom/handle_atom_del(): (atom/deleted)

COMSIG_ATOM_CREATEDBY_PROCESSING + + +

+

for when an atom has been created through processing (atom/original_atom, list/chosen_processing_option)

COMSIG_ATOM_ENTERED + + +

+

from base of atom/Entered(): (atom/movable/arrived, atom/old_loc, list/atom/old_locs)

COMSIG_ATOM_ENTERING + + +

+

Sent from the atom that just Entered src. From base of atom/Entered(): (/atom/destination, atom/old_loc, list/atom/old_locs)

COMSIG_ATOM_EXIT + + +

+

from base of atom/Exit(): (/atom/movable/leaving, direction)

COMSIG_ATOM_EXITED + + +

+

from base of atom/Exited(): (atom/movable/gone, direction)

COMSIG_ATOM_GET_EXAMINE_NAME + + +

+

from base of atom/get_examine_name(): (/mob, list/overrides)

COMSIG_ATOM_HAS_GRAVITY + + +

+

from base of atom/has_gravity(): (turf/location, list/forced_gravities)

COMSIG_ATOM_HEARER_IN_VIEW + + +

+

called when an atom is added to the hearers on get_hearers_in_view(): (list/processing_list, list/hearers)

COMSIG_ATOM_HITBY + + +

+

from base of atom/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)

COMSIG_ATOM_INTERCEPT_TELEPORT + + +

+

called when teleporting into a protected turf: (channel, turf/origin)

COMSIG_ATOM_NO_UPDATE_DESC + + +

+

If returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its desc.

COMSIG_ATOM_NO_UPDATE_ICON + + +

+

If returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its icon.

COMSIG_ATOM_NO_UPDATE_ICON_STATE + + +

+

If returned from COMSIG_ATOM_UPDATE_ICON it prevents the atom from updating its icon state.

COMSIG_ATOM_NO_UPDATE_NAME + + +

+

If returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its name.

COMSIG_ATOM_NO_UPDATE_OVERLAYS + + +

+

If returned from COMSIG_ATOM_UPDATE_ICON it prevents the atom from updating its overlays.

COMSIG_ATOM_ORBIT_BEGIN + + +

+

called when an atom starts orbiting another atom: (atom)

COMSIG_ATOM_ORBIT_STOP + + +

+

called when an atom stops orbiting another atom: (atom)

COMSIG_ATOM_PROCESSED + + +

+

when an atom is processed (mob/living/user, obj/item/I, list/atom/results)

COMSIG_ATOM_SET_OPACITY + + +

+

from base of atom/set_opacity(): (new_opacity)

COMSIG_ATOM_SMOOTHED_ICON + + +

+

from base of /atom/proc/smooth_icon: ()

COMSIG_ATOM_STARTING_INSTRUMENT + + +

+

when an atom starts playing a song datum (datum/song)

COMSIG_ATOM_TEMPORARY_ANIMATION_START + + +

+

generally called before temporary non-parallel animate()s on the atom (animation_duration)

COMSIG_ATOM_UPDATED_ICON + + +

+

from base of /atom/update_icon: (signalOut, did_anything)

COMSIG_ATOM_UPDATE_APPEARANCE + + +

+

from base of /atom/proc/update_appearance: (updates)

COMSIG_ATOM_UPDATE_DESC + + +

+

from base of /atom/proc/update_desc: (updates)

COMSIG_ATOM_UPDATE_ICON + + +

+

from base of /atom/update_icon: ()

COMSIG_ATOM_UPDATE_ICON_STATE + + +

+

from base of atom/update_icon_state: ()

COMSIG_ATOM_UPDATE_NAME + + +

+

from base of /atom/proc/update_name: (updates)

COMSIG_ATOM_UPDATE_OVERLAYS + + +

+

from base of /atom/update_overlays: (list/new_overlays)

COMSIG_ATOM_VV_MODIFY_TRANSFORM + + +

+

When the transform or an atom is varedited through vv topic.

COMSIG_PARENT_EXAMINE + + +

+

from base of atom/examine(): (/mob, list/examine_text)

COMSIG_PARENT_EXAMINE_MORE + + +

+

from base of atom/examine_more(): (/mob)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.html new file mode 100644 index 000000000000..65e6d6fe4370 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.html @@ -0,0 +1,77 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.dm + +

+ + + + + + + + + + + +
COMSIG_CLIENT_CLICKfrom base of client/Click(): (atom/target, atom/location, control, params, mob/user)
COMSIG_CLICKfrom base of atom/Click(): (atom/location, control, params, mob/user)
COMSIG_CLICK_SHIFTfrom base of atom/ShiftClick(): (/mob)
COMSIG_CLICK_CTRLfrom base of atom/CtrlClickOn(): (/mob, list/params)
COMSIG_CLICK_ALTfrom base of atom/AltClick(): (/mob)
COMSIG_CLICK_ALT_SECONDARYfrom base of atom/alt_click_secondary(): (/mob)
COMSIG_CLICK_CTRL_SHIFTfrom base of atom/CtrlShiftClick(/mob)
COMSIG_MOUSEDROP_ONTOfrom base of atom/MouseDrop(): (/atom/over, /mob/user)
COMSIG_MOUSEDROPPED_ONTOfrom base of atom/MouseDroppedOn: (/atom/from, /mob/user)
COMSIG_MOUSE_SCROLL_ONfrom base of mob/MouseWheelOn(): (/atom, delta_x, delta_y, params)

Define Details

+

COMSIG_CLICK + + +

+

from base of atom/Click(): (atom/location, control, params, mob/user)

COMSIG_CLICK_ALT + + +

+

from base of atom/AltClick(): (/mob)

COMSIG_CLICK_ALT_SECONDARY + + +

+

from base of atom/alt_click_secondary(): (/mob)

COMSIG_CLICK_CTRL + + +

+

from base of atom/CtrlClickOn(): (/mob, list/params)

COMSIG_CLICK_CTRL_SHIFT + + +

+

from base of atom/CtrlShiftClick(/mob)

COMSIG_CLICK_SHIFT + + +

+

from base of atom/ShiftClick(): (/mob)

COMSIG_CLIENT_CLICK + + +

+

from base of client/Click(): (atom/target, atom/location, control, params, mob/user)

COMSIG_MOUSEDROPPED_ONTO + + +

+

from base of atom/MouseDroppedOn: (/atom/from, /mob/user)

COMSIG_MOUSEDROP_ONTO + + +

+

from base of atom/MouseDrop(): (/atom/over, /mob/user)

COMSIG_MOUSE_SCROLL_ON + + +

+

from base of mob/MouseWheelOn(): (/atom, delta_x, delta_y, params)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.html new file mode 100644 index 000000000000..386bb9ae9d5a --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.html @@ -0,0 +1,187 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_MOVABLE_PRE_MOVEfrom base of atom/movable/Moved(): (/atom)
COMSIG_MOVABLE_MOVEDfrom base of atom/movable/Moved(): (atom/old_loc, dir, forced, list/old_locs)
COMSIG_MOVABLE_BUMPfrom base of atom/movable/Bump(): (/atom)
COMSIG_MOVABLE_NEWTONIAN_MOVEfrom base of atom/movable/newtonian_move(): (inertia_direction, start_delay)
COMSIG_MOVABLE_DRIFT_VISUAL_ATTEMPTfrom datum/component/drift/apply_initial_visuals(): ()
COMSIG_MOVABLE_DRIFT_BLOCK_INPUTfrom datum/component/drift/allow_final_movement(): ()
COMSIG_MOVABLE_IMPACTfrom base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum)
COMSIG_MOVABLE_IMPACT_ZONEfrom base of mob/living/hitby(): (mob/living/target, hit_zone)
COMSIG_MOVABLE_PREBUCKLEfrom /atom/movable/proc/buckle_mob(): (mob/living/M, force, check_loc, buckle_mob_flags)
COMSIG_MOVABLE_BUCKLEfrom base of atom/movable/buckle_mob(): (mob, force)
COMSIG_MOVABLE_UNBUCKLEfrom base of atom/movable/unbuckle_mob(): (mob, force)
COMSIG_RIDDEN_DRIVER_MOVEfrom /obj/vehicle/proc/driver_move, caught by the riding component to check and execute the driver trying to drive the vehicle
COMSIG_MOVABLE_PRE_THROWfrom base of atom/movable/throw_at(): (list/args)
COMSIG_MOVABLE_POST_THROWfrom base of atom/movable/throw_at(): (datum/thrownthing, spin)
COMSIG_MOVABLE_THROW_LANDEDfrom base of datum/thrownthing/finalize(): (obj/thrown_object, datum/thrownthing) used for when a throw is finished
COMSIG_MOVABLE_Z_CHANGEDfrom base of atom/movable/on_changed_z_level(): (turf/old_turf, turf/new_turf)
COMSIG_MOVABLE_LATERAL_Z_MOVEfrom /turf/open/space/Entered(), fired on movement across z-level edges, caught by datum/element/lateral_bound to clean up atoms that shouldn't spaceloop.
COMSIG_MOVABLE_SECLUDED_LOCATIONcalled when the movable is placed in an unaccessible area, used for stationloving: ()
COMSIG_MOVABLE_HEARfrom base of atom/movable/Hear(): (proc args list(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, list/message_mods = list()))
COMSIG_LIVING_HEAR_POST_TRANSLATIONSame as the above but RAW_MESSAGE will be replaced with the mob's interpretation of the message.
COMSIG_MOVABLE_DISPOSINGcalled when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source)
COMSIG_MOVABLE_SET_ANCHOREDcalled when the movable sucessfully has it's anchored var changed, from base atom/movable/set_anchored(): (value)
COMSIG_MOVABLE_SET_GRAB_STATEfrom base of atom/movable/setGrabState(): (newstate)
COMSIG_MOVABLE_LIGHT_OVERLAY_SET_RANGECalled when the movable tries to change its dynamic light color setting, from base atom/movable/lighting_overlay_set_color(): (color)
COMSIG_MOVABLE_LIGHT_OVERLAY_SET_POWERCalled when the movable tries to change its dynamic light power setting, from base atom/movable/lighting_overlay_set_power(): (power)
COMSIG_MOVABLE_LIGHT_OVERLAY_SET_COLORCalled when the movable tries to change its dynamic light range setting, from base atom/movable/lighting_overlay_set_range(): (range)
COMSIG_MOVABLE_LIGHT_OVERLAY_TOGGLE_ONCalled when the movable tries to toggle its dynamic light LIGHTING_ON status, from base atom/movable/lighting_overlay_toggle_on(): (new_state)
COMSIG_MOVABLE_UPDATE_GLIDE_SIZEcalled when the movable's glide size is updated: (new_glide_size)
COMSIG_MOVABLE_TELEPORTEDCalled when a movable is being teleported from do_teleport(): (destination, channel)
COMSIG_MOVABLE_POST_TELEPORTCalled after a movable is teleported from do_teleport(): ()
COMSIG_BUCKLED_CAN_Z_MOVEfrom /mob/living/can_z_move, sent to whatever the mob is buckled to. Only ridable movables should be ridden up or down btw.
COMSIG_MOVABLE_SPACEMOVEfrom base of atom/movable/Process_Spacemove(): (movement_dir, continuous_move)

Define Details

+

COMSIG_BUCKLED_CAN_Z_MOVE + + +

+

from /mob/living/can_z_move, sent to whatever the mob is buckled to. Only ridable movables should be ridden up or down btw.

COMSIG_LIVING_HEAR_POST_TRANSLATION + + +

+

Same as the above but RAW_MESSAGE will be replaced with the mob's interpretation of the message.

COMSIG_MOVABLE_BUCKLE + + +

+

from base of atom/movable/buckle_mob(): (mob, force)

COMSIG_MOVABLE_BUMP + + +

+

from base of atom/movable/Bump(): (/atom)

COMSIG_MOVABLE_DISPOSING + + +

+

called when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source)

COMSIG_MOVABLE_DRIFT_BLOCK_INPUT + + +

+

from datum/component/drift/allow_final_movement(): ()

COMSIG_MOVABLE_DRIFT_VISUAL_ATTEMPT + + +

+

from datum/component/drift/apply_initial_visuals(): ()

COMSIG_MOVABLE_HEAR + + +

+

from base of atom/movable/Hear(): (proc args list(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, list/message_mods = list()))

COMSIG_MOVABLE_IMPACT + + +

+

from base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum)

COMSIG_MOVABLE_IMPACT_ZONE + + +

+

from base of mob/living/hitby(): (mob/living/target, hit_zone)

COMSIG_MOVABLE_LATERAL_Z_MOVE + + +

+

from /turf/open/space/Entered(), fired on movement across z-level edges, caught by datum/element/lateral_bound to clean up atoms that shouldn't spaceloop.

COMSIG_MOVABLE_LIGHT_OVERLAY_SET_COLOR + + +

+

Called when the movable tries to change its dynamic light range setting, from base atom/movable/lighting_overlay_set_range(): (range)

COMSIG_MOVABLE_LIGHT_OVERLAY_SET_POWER + + +

+

Called when the movable tries to change its dynamic light power setting, from base atom/movable/lighting_overlay_set_power(): (power)

COMSIG_MOVABLE_LIGHT_OVERLAY_SET_RANGE + + +

+

Called when the movable tries to change its dynamic light color setting, from base atom/movable/lighting_overlay_set_color(): (color)

COMSIG_MOVABLE_LIGHT_OVERLAY_TOGGLE_ON + + +

+

Called when the movable tries to toggle its dynamic light LIGHTING_ON status, from base atom/movable/lighting_overlay_toggle_on(): (new_state)

COMSIG_MOVABLE_MOVED + + +

+

from base of atom/movable/Moved(): (atom/old_loc, dir, forced, list/old_locs)

COMSIG_MOVABLE_NEWTONIAN_MOVE + + +

+

from base of atom/movable/newtonian_move(): (inertia_direction, start_delay)

COMSIG_MOVABLE_POST_TELEPORT + + +

+

Called after a movable is teleported from do_teleport(): ()

COMSIG_MOVABLE_POST_THROW + + +

+

from base of atom/movable/throw_at(): (datum/thrownthing, spin)

COMSIG_MOVABLE_PREBUCKLE + + +

+

from /atom/movable/proc/buckle_mob(): (mob/living/M, force, check_loc, buckle_mob_flags)

COMSIG_MOVABLE_PRE_MOVE + + +

+

from base of atom/movable/Moved(): (/atom)

COMSIG_MOVABLE_PRE_THROW + + +

+

from base of atom/movable/throw_at(): (list/args)

COMSIG_MOVABLE_SECLUDED_LOCATION + + +

+

called when the movable is placed in an unaccessible area, used for stationloving: ()

COMSIG_MOVABLE_SET_ANCHORED + + +

+

called when the movable sucessfully has it's anchored var changed, from base atom/movable/set_anchored(): (value)

COMSIG_MOVABLE_SET_GRAB_STATE + + +

+

from base of atom/movable/setGrabState(): (newstate)

COMSIG_MOVABLE_SPACEMOVE + + +

+

from base of atom/movable/Process_Spacemove(): (movement_dir, continuous_move)

COMSIG_MOVABLE_TELEPORTED + + +

+

Called when a movable is being teleported from do_teleport(): (destination, channel)

COMSIG_MOVABLE_THROW_LANDED + + +

+

from base of datum/thrownthing/finalize(): (obj/thrown_object, datum/thrownthing) used for when a throw is finished

COMSIG_MOVABLE_UNBUCKLE + + +

+

from base of atom/movable/unbuckle_mob(): (mob, force)

COMSIG_MOVABLE_UPDATE_GLIDE_SIZE + + +

+

called when the movable's glide size is updated: (new_glide_size)

COMSIG_MOVABLE_Z_CHANGED + + +

+

from base of atom/movable/on_changed_z_level(): (turf/old_turf, turf/new_turf)

COMSIG_RIDDEN_DRIVER_MOVE + + +

+

from /obj/vehicle/proc/driver_move, caught by the riding component to check and execute the driver trying to drive the vehicle

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.html new file mode 100644 index 000000000000..20a6f181b781 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.html @@ -0,0 +1,116 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm + +

+ + + + + + + + + + + + + + + + + + +
COMSIG_ATOM_CAN_BE_GRABBEDsignal sent out by an atom when it checks if it can be grabbed, for additional checks
COMSIG_ATOM_NO_LONGER_GRABBEDsignal sent out by an atom when it is no longer being pulled by something else : (atom/puller)
COMSIG_LIVING_NO_LONGER_GRABBINGsignal sent out by a living mob when it is no longer pulling something : (atom/pulling)
COMSIG_ATOM_INTERCEPT_Z_FALLcalled for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels)
COMSIG_LIVING_START_GRABcalled on a movable when it starts pulling (atom/movable/pulled, state, force)
COMSIG_ATOM_GET_GRABBEDcalled on a movable when it has been grabbed
COMSIG_LIVING_TRY_GRABcalled on /living, when a grab is attempted, but before it completes, from base of [/mob/living/make_grab]: (atom/movable/thing, grab_type)
COMSIG_LIVING_PUSHING_MOVABLECalled from /mob/living/PushAM -- Called when this mob is about to push a movable, but before it moves +(aotm/movable/being_pushed)
COMSIG_ATOM_UI_INTERACTfrom base of [/atom/proc/interact]: (mob/user)
COMSIG_ATOM_RELAYMOVEfrom base of atom/relaymove(): (mob/living/user, direction)
COMSIG_BLOCK_RELAYMOVEprevents the "you cannot move while buckled! message"
COMSIG_ATOM_DIR_CHANGEfrom base of atom/setDir(): (old_dir, new_dir). Called before the direction changes.
COMSIG_ATOM_DENSITY_CHANGEfrom base of atom/set_density(): (old_density, new_density). Called before the density changes.
COMSIG_ATOM_SINGULARITY_TRY_MOVEfrom /datum/component/singularity/proc/can_move(), as well as /obj/energy_ball/proc/can_move() +if a callback returns SINGULARITY_TRY_MOVE_BLOCK, then the singularity will not move to that turf
SINGULARITY_TRY_MOVE_BLOCKWhen returned from COMSIG_ATOM_SINGULARITY_TRY_MOVE, the singularity will move to that turf
COMSIG_ATOM_PRE_PRESSURE_PUSHfrom base of atom/experience_pressure_difference(): (pressure_difference, direction, pressure_resistance_prob_delta)
COMSIG_ATOM_BLOCKS_PRESSUREprevents pressure movement

Define Details

+

COMSIG_ATOM_BLOCKS_PRESSURE + + +

+

prevents pressure movement

COMSIG_ATOM_CAN_BE_GRABBED + + +

+

signal sent out by an atom when it checks if it can be grabbed, for additional checks

COMSIG_ATOM_DENSITY_CHANGE + + +

+

from base of atom/set_density(): (old_density, new_density). Called before the density changes.

COMSIG_ATOM_DIR_CHANGE + + +

+

from base of atom/setDir(): (old_dir, new_dir). Called before the direction changes.

COMSIG_ATOM_GET_GRABBED + + +

+

called on a movable when it has been grabbed

COMSIG_ATOM_INTERCEPT_Z_FALL + + +

+

called for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels)

COMSIG_ATOM_NO_LONGER_GRABBED + + +

+

signal sent out by an atom when it is no longer being pulled by something else : (atom/puller)

COMSIG_ATOM_PRE_PRESSURE_PUSH + + +

+

from base of atom/experience_pressure_difference(): (pressure_difference, direction, pressure_resistance_prob_delta)

COMSIG_ATOM_RELAYMOVE + + +

+

from base of atom/relaymove(): (mob/living/user, direction)

COMSIG_ATOM_SINGULARITY_TRY_MOVE + + +

+

from /datum/component/singularity/proc/can_move(), as well as /obj/energy_ball/proc/can_move() +if a callback returns SINGULARITY_TRY_MOVE_BLOCK, then the singularity will not move to that turf

COMSIG_ATOM_UI_INTERACT + + +

+

from base of [/atom/proc/interact]: (mob/user)

COMSIG_BLOCK_RELAYMOVE + + +

+

prevents the "you cannot move while buckled! message"

COMSIG_LIVING_NO_LONGER_GRABBING + + +

+

signal sent out by a living mob when it is no longer pulling something : (atom/pulling)

COMSIG_LIVING_PUSHING_MOVABLE + + +

+

Called from /mob/living/PushAM -- Called when this mob is about to push a movable, but before it moves +(aotm/movable/being_pushed)

COMSIG_LIVING_START_GRAB + + +

+

called on a movable when it starts pulling (atom/movable/pulled, state, force)

COMSIG_LIVING_TRY_GRAB + + +

+

called on /living, when a grab is attempted, but before it completes, from base of [/mob/living/make_grab]: (atom/movable/thing, grab_type)

SINGULARITY_TRY_MOVE_BLOCK + + +

+

When returned from COMSIG_ATOM_SINGULARITY_TRY_MOVE, the singularity will move to that turf

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.html new file mode 100644 index 000000000000..5427df5a2cc6 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.html @@ -0,0 +1,109 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm + +

+ + + + + + + + + + + + + + + + + +
COMSIG_ATOM_EX_ACTfrom the EX_ACT wrapper macro: (severity, target)
COMSIG_ATOM_EMP_ACTfrom base of atom/emp_act(): (severity)
COMSIG_ATOM_FIRE_ACTfrom base of atom/fire_act(): (exposed_temperature, exposed_volume)
COMSIG_ATOM_BULLET_ACTfrom base of atom/bullet_act(): (/obj/projectile, def_zone)
COMSIG_ATOM_CHECKPARTSfrom base of atom/CheckParts(): (list/parts_list, datum/crafting_recipe/R)
COMSIG_ATOM_USED_IN_CRAFTfrom base of atom/CheckParts(): (atom/movable/new_craft) - The atom has just been used in a crafting recipe and has been moved inside new_craft.
COMSIG_ATOM_BLOB_ACTfrom base of atom/blob_act(): (/obj/structure/blob)
COMPONENT_CANCEL_BLOB_ACTif returned, forces nothing to happen when the atom is attacked by a blob
COMSIG_ATOM_ACID_ACTfrom base of atom/acid_act(): (acidpwr, acid_volume)
COMSIG_ATOM_EMAG_ACTfrom base of atom/emag_act(): (/mob/user)
COMSIG_ATOM_NARSIE_ACTfrom base of atom/narsie_act(): ()
COMSIG_ATOM_RCD_ACTfrom base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode)
COMSIG_ATOM_SING_PULLfrom base of atom/singularity_pull(): (/datum/component/singularity, current_size)
COMSIG_ATOM_BSA_BEAMfrom obj/machinery/bsa/full/proc/fire(): ()
COMSIG_ATOM_TOOL_ACTfor any tool behaviors: (mob/living/user, obj/item/I, list/recipes)
COMSIG_ATOM_SECONDARY_TOOL_ACTfor any rightclick tool behaviors: (mob/living/user, obj/item/I)

Define Details

+

COMPONENT_CANCEL_BLOB_ACT + + +

+

if returned, forces nothing to happen when the atom is attacked by a blob

COMSIG_ATOM_ACID_ACT + + +

+

from base of atom/acid_act(): (acidpwr, acid_volume)

COMSIG_ATOM_BLOB_ACT + + +

+

from base of atom/blob_act(): (/obj/structure/blob)

COMSIG_ATOM_BSA_BEAM + + +

+

from obj/machinery/bsa/full/proc/fire(): ()

COMSIG_ATOM_BULLET_ACT + + +

+

from base of atom/bullet_act(): (/obj/projectile, def_zone)

COMSIG_ATOM_CHECKPARTS + + +

+

from base of atom/CheckParts(): (list/parts_list, datum/crafting_recipe/R)

COMSIG_ATOM_EMAG_ACT + + +

+

from base of atom/emag_act(): (/mob/user)

COMSIG_ATOM_EMP_ACT + + +

+

from base of atom/emp_act(): (severity)

COMSIG_ATOM_EX_ACT + + +

+

from the EX_ACT wrapper macro: (severity, target)

COMSIG_ATOM_FIRE_ACT + + +

+

from base of atom/fire_act(): (exposed_temperature, exposed_volume)

COMSIG_ATOM_NARSIE_ACT + + +

+

from base of atom/narsie_act(): ()

COMSIG_ATOM_RCD_ACT + + +

+

from base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode)

COMSIG_ATOM_SECONDARY_TOOL_ACT + + + +

+

for any rightclick tool behaviors: (mob/living/user, obj/item/I)

COMSIG_ATOM_SING_PULL + + +

+

from base of atom/singularity_pull(): (/datum/component/singularity, current_size)

COMSIG_ATOM_TOOL_ACT + + + +

+

for any tool behaviors: (mob/living/user, obj/item/I, list/recipes)

COMSIG_ATOM_USED_IN_CRAFT + + +

+

from base of atom/CheckParts(): (atom/movable/new_craft) - The atom has just been used in a crafting recipe and has been moved inside new_craft.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_bot.html b/code/__DEFINES/dcs/signals/signals_bot.html new file mode 100644 index 000000000000..71b7ce244a0c --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_bot.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_bot.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_bot.dm + +

+ + + + +
COMSIG_MONEYBOT_ADD_MONEYCalled in /obj/structure/moneybot/add_money(). (to_add)
COMSIG_DISPENSERBOT_ADD_ITEMCalled in /obj/structure/dispenserbot/add_item(). (obj/item/to_add)
COMSIG_DISPENSERBOT_REMOVE_ITEMCalled in /obj/structure/dispenserbot/remove_item(). (obj/item/to_remove)

Define Details

+

COMSIG_DISPENSERBOT_ADD_ITEM + + +

+

Called in /obj/structure/dispenserbot/add_item(). (obj/item/to_add)

COMSIG_DISPENSERBOT_REMOVE_ITEM + + +

+

Called in /obj/structure/dispenserbot/remove_item(). (obj/item/to_remove)

COMSIG_MONEYBOT_ADD_MONEY + + +

+

Called in /obj/structure/moneybot/add_money(). (to_add)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_changeling.html b/code/__DEFINES/dcs/signals/signals_changeling.html new file mode 100644 index 000000000000..6e1eff447175 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_changeling.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_changeling.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_changeling.dm + +

+ + +
COMSIG_CHANGELING_TRANSFORMCalled when a changeling uses its transform ability (source = carbon), from /datum/action/changeling/transform/sting_action(mob/living/carbon/human/user)

Define Details

+

COMSIG_CHANGELING_TRANSFORM + + +

+

Called when a changeling uses its transform ability (source = carbon), from /datum/action/changeling/transform/sting_action(mob/living/carbon/human/user)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_circuit.html b/code/__DEFINES/dcs/signals/signals_circuit.html new file mode 100644 index 000000000000..8b1c19d2ef39 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_circuit.html @@ -0,0 +1,136 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_circuit.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_circuit.dm + +

+ + + + + + + + + + + + + + + + + + + + + + +
COMSIG_PORT_SET_VALUESent when the value of a port is set.
COMSIG_PORT_SET_TYPESent when the type of a port is set.
COMSIG_PORT_DISCONNECTSent when a port disconnects from everything.
COMSIG_CIRCUIT_ADD_COMPONENTSent when a /obj/item/circuit_component is added to a circuit.
COMPONENT_CANCEL_ADD_COMPONENTCancels adding the component to the circuit.
COMSIG_CIRCUIT_ADD_COMPONENT_MANUALLYSent when a /obj/item/circuit_component is added to a circuit manually, by putting the item inside directly. +Accepts COMPONENT_CANCEL_ADD_COMPONENT.
COMSIG_CIRCUIT_SHELL_REMOVEDSent when a circuit is removed from its shell
COMSIG_CIRCUIT_COMPONENT_REMOVEDSent to /obj/item/circuit_component when it is removed from a circuit. (/obj/item/integrated_circuit)
COMSIG_CIRCUIT_SET_CELLCalled when the integrated circuit's cell is set.
COMSIG_CIRCUIT_SET_ONCalled when the integrated circuit is turned on or off.
COMSIG_CIRCUIT_SET_SHELLCalled when the integrated circuit's shell is set.
COMSIG_CIRCUIT_SET_LOCKEDCalled when the integrated circuit is locked.
COMSIG_CIRCUIT_PRE_POWER_USAGECalled before power is used in an integrated circuit (power_to_use)
COMSIG_CIRCUIT_PRE_SAVE_TO_JSONCalled right before the integrated circuit data is converted to json. Allows modification to the data right before it is returned.
COMSIG_CIRCUIT_POST_LOADCalled when the integrated circuit is loaded.
COMSIG_ATOM_USB_CABLE_TRY_ATTACHSent to an atom when a /obj/item/usb_cable attempts to connect to something. (/obj/item/usb_cable/usb_cable, /mob/user)
COMSIG_USB_CABLE_ATTACHEDAttaches the USB cable to the atom. If the USB cables moves away, it will disconnect.
COMSIG_USB_CABLE_CONNECTED_TO_CIRCUITAttaches the USB cable to a circuit. Producers of this are expected to set the usb_cable's +attached_circuit variable.
COMSIG_CANCEL_USB_CABLE_ATTACKCancels the attack chain, but without performing any other action.
COMSIG_CIRCUIT_COMPONENT_SAVECalled when the circuit component is saved.
COMSIG_MOVABLE_CIRCUIT_LOADEDCalled when an external object is loaded.

Define Details

+

COMPONENT_CANCEL_ADD_COMPONENT + + +

+

Cancels adding the component to the circuit.

COMSIG_ATOM_USB_CABLE_TRY_ATTACH + + +

+

Sent to an atom when a /obj/item/usb_cable attempts to connect to something. (/obj/item/usb_cable/usb_cable, /mob/user)

COMSIG_CANCEL_USB_CABLE_ATTACK + + +

+

Cancels the attack chain, but without performing any other action.

COMSIG_CIRCUIT_ADD_COMPONENT + + +

+

Sent when a /obj/item/circuit_component is added to a circuit.

COMSIG_CIRCUIT_ADD_COMPONENT_MANUALLY + + +

+

Sent when a /obj/item/circuit_component is added to a circuit manually, by putting the item inside directly. +Accepts COMPONENT_CANCEL_ADD_COMPONENT.

COMSIG_CIRCUIT_COMPONENT_REMOVED + + +

+

Sent to /obj/item/circuit_component when it is removed from a circuit. (/obj/item/integrated_circuit)

COMSIG_CIRCUIT_COMPONENT_SAVE + + +

+

Called when the circuit component is saved.

COMSIG_CIRCUIT_POST_LOAD + + +

+

Called when the integrated circuit is loaded.

COMSIG_CIRCUIT_PRE_POWER_USAGE + + +

+

Called before power is used in an integrated circuit (power_to_use)

COMSIG_CIRCUIT_PRE_SAVE_TO_JSON + + +

+

Called right before the integrated circuit data is converted to json. Allows modification to the data right before it is returned.

COMSIG_CIRCUIT_SET_CELL + + +

+

Called when the integrated circuit's cell is set.

COMSIG_CIRCUIT_SET_LOCKED + + +

+

Called when the integrated circuit is locked.

COMSIG_CIRCUIT_SET_ON + + +

+

Called when the integrated circuit is turned on or off.

COMSIG_CIRCUIT_SET_SHELL + + +

+

Called when the integrated circuit's shell is set.

COMSIG_CIRCUIT_SHELL_REMOVED + + +

+

Sent when a circuit is removed from its shell

COMSIG_MOVABLE_CIRCUIT_LOADED + + +

+

Called when an external object is loaded.

COMSIG_PORT_DISCONNECT + + +

+

Sent when a port disconnects from everything.

COMSIG_PORT_SET_TYPE + + +

+

Sent when the type of a port is set.

COMSIG_PORT_SET_VALUE + + +

+

Sent when the value of a port is set.

COMSIG_USB_CABLE_ATTACHED + + +

+

Attaches the USB cable to the atom. If the USB cables moves away, it will disconnect.

COMSIG_USB_CABLE_CONNECTED_TO_CIRCUIT + + +

+

Attaches the USB cable to a circuit. Producers of this are expected to set the usb_cable's +attached_circuit variable.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_clothing.html b/code/__DEFINES/dcs/signals/signals_clothing.html new file mode 100644 index 000000000000..aef2c1cba5b2 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_clothing.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_clothing.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_clothing.dm + +

+ + +
COMSIG_CLOTHING_VISOR_TOGGLE(/obj/item/clothing, visor_state) - When a clothing gets it's visor toggled.

Define Details

+

COMSIG_CLOTHING_VISOR_TOGGLE + + +

+

(/obj/item/clothing, visor_state) - When a clothing gets it's visor toggled.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_container.html b/code/__DEFINES/dcs/signals/signals_container.html new file mode 100644 index 000000000000..6d0418f86617 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_container.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_container.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_container.dm + +

+ + +
COMSIG_CONTAINER_TRY_ATTACH(atom/container, mob/user) - returns bool

Define Details

+

COMSIG_CONTAINER_TRY_ATTACH + + +

+

(atom/container, mob/user) - returns bool

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_customizable.html b/code/__DEFINES/dcs/signals/signals_customizable.html new file mode 100644 index 000000000000..4ebf9dce154e --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_customizable.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_customizable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_customizable.dm + +

+ + +
COMSIG_ATOM_CUSTOMIZEDcalled when an atom with /datum/component/customizable_reagent_holder is customized (obj/item/I)

Define Details

+

COMSIG_ATOM_CUSTOMIZED + + +

+

called when an atom with /datum/component/customizable_reagent_holder is customized (obj/item/I)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_datum.html b/code/__DEFINES/dcs/signals/signals_datum.html new file mode 100644 index 000000000000..3c8c2b151987 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_datum.html @@ -0,0 +1,97 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_datum.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_datum.dm + +

+ + + + + + + + + + + + + + + +
COMSIG_COMPONENT_ADDEDwhen a component is added to a datum: (/datum/component)
COMSIG_COMPONENT_REMOVINGbefore a component is removed from a datum because of ClearFromParent: (/datum/component)
COMSIG_PARENT_PREQDELETEDbefore a datum's Destroy() is called: (force), returning a nonzero value will cancel the qdel operation
COMSIG_PARENT_QDELETINGjust before a datum's Destroy() is called: (force), at this point none of the other components chose to interrupt qdel and Destroy will be called
COMSIG_TOPICgeneric topic handler (usr, href_list)
COMSIG_VV_TOPIChandler for vv_do_topic (usr, href_list)
COMSIG_UI_ACTfrom datum ui_act (usr, action)
COMSIG_ELEMENT_ATTACHfires on the target datum when an element is attached to it (/datum/element)
COMSIG_ELEMENT_DETACHfires on the target datum when an element is attached to it (/datum/element)
COMSIG_MERGER_ADDINGCalled on the object being added to a merger group: (datum/merger/new_merger)
COMSIG_MERGER_REMOVINGCalled on the object being removed from a merger group: (datum/merger/old_merger)
COMSIG_MERGER_REFRESH_COMPLETECalled on the merger after finishing a refresh: (list/leaving_members, list/joining_members)
COMSIG_GASMIX_MERGEDFrom /datum/gas_mixture/proc/merge: ()
COMSIG_GASMIX_REACTEDFrom /datum/gas_mixture/proc/react: ()

Define Details

+

COMSIG_COMPONENT_ADDED + + +

+

when a component is added to a datum: (/datum/component)

COMSIG_COMPONENT_REMOVING + + +

+

before a component is removed from a datum because of ClearFromParent: (/datum/component)

COMSIG_ELEMENT_ATTACH + + +

+

fires on the target datum when an element is attached to it (/datum/element)

COMSIG_ELEMENT_DETACH + + +

+

fires on the target datum when an element is attached to it (/datum/element)

COMSIG_GASMIX_MERGED + + +

+

From /datum/gas_mixture/proc/merge: ()

COMSIG_GASMIX_REACTED + + +

+

From /datum/gas_mixture/proc/react: ()

COMSIG_MERGER_ADDING + + +

+

Called on the object being added to a merger group: (datum/merger/new_merger)

COMSIG_MERGER_REFRESH_COMPLETE + + +

+

Called on the merger after finishing a refresh: (list/leaving_members, list/joining_members)

COMSIG_MERGER_REMOVING + + +

+

Called on the object being removed from a merger group: (datum/merger/old_merger)

COMSIG_PARENT_PREQDELETED + + +

+

before a datum's Destroy() is called: (force), returning a nonzero value will cancel the qdel operation

COMSIG_PARENT_QDELETING + + +

+

just before a datum's Destroy() is called: (force), at this point none of the other components chose to interrupt qdel and Destroy will be called

COMSIG_TOPIC + + +

+

generic topic handler (usr, href_list)

COMSIG_UI_ACT + + +

+

from datum ui_act (usr, action)

COMSIG_VV_TOPIC + + +

+

handler for vv_do_topic (usr, href_list)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_food.html b/code/__DEFINES/dcs/signals/signals_food.html new file mode 100644 index 000000000000..cc78fd80796d --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_food.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_food.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_food.dm + +

+ + + + + + + + +
COMSIG_ITEM_USED_AS_INGREDIENTcalled when an item is used as an ingredient: (atom/customized)
COMSIG_EDIBLE_INGREDIENT_ADDEDcalled when an edible ingredient is added: (datum/component/edible/ingredient)
COMSIG_FOOD_EATENfrom Edible component: (mob/living/eater, mob/feeder, bitecount, bitesize)
COMSIG_FOOD_CROSSEDfrom base of datum/component/edible/on_entered: (mob/crosser, bitecount)
COMSIG_FOOD_CONSUMEDfrom base of Component/edible/On_Consume: (mob/living/eater, mob/living/feeder)
COMSIG_DRINK_DRANKfrom base of obj/item/reagent_containers/food/drinks/attack(): (mob/living/M, mob/user)
COMSIG_GLASS_DRANKfrom base of obj/item/reagent_containers/glass/attack(): (mob/M, mob/user)

Define Details

+

COMSIG_DRINK_DRANK + + +

+

from base of obj/item/reagent_containers/food/drinks/attack(): (mob/living/M, mob/user)

COMSIG_EDIBLE_INGREDIENT_ADDED + + +

+

called when an edible ingredient is added: (datum/component/edible/ingredient)

COMSIG_FOOD_CONSUMED + + +

+

from base of Component/edible/On_Consume: (mob/living/eater, mob/living/feeder)

COMSIG_FOOD_CROSSED + + +

+

from base of datum/component/edible/on_entered: (mob/crosser, bitecount)

COMSIG_FOOD_EATEN + + +

+

from Edible component: (mob/living/eater, mob/feeder, bitecount, bitesize)

COMSIG_GLASS_DRANK + + +

+

from base of obj/item/reagent_containers/glass/attack(): (mob/M, mob/user)

COMSIG_ITEM_USED_AS_INGREDIENT + + +

+

called when an item is used as an ingredient: (atom/customized)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_gib.html b/code/__DEFINES/dcs/signals/signals_gib.html new file mode 100644 index 000000000000..3076797b92c7 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_gib.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_gib.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_gib.dm + +

+ + + +
COMSIG_GIBS_STREAKfrom base of /obj/effect/decal/cleanable/blood/gibs/streak(): (list/directions, list/diseases)
COMSIG_STEP_ON_BLOODCalled on mobs when they step in blood.

Define Details

+

COMSIG_GIBS_STREAK + + +

+

from base of /obj/effect/decal/cleanable/blood/gibs/streak(): (list/directions, list/diseases)

COMSIG_STEP_ON_BLOOD + + +

+

Called on mobs when they step in blood.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_global.html b/code/__DEFINES/dcs/signals/signals_global.html new file mode 100644 index 000000000000..787daeed468a --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_global.html @@ -0,0 +1,192 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_global.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_global.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_AREA_CREATEDcalled after a successful area creation by a mob: (area/created_area, area/old_area, mob/creator)
COMSIG_GLOB_NEW_Zfrom base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args)
COMSIG_GLOB_EXPANDED_WORLD_BOUNDSsent after world.maxx and/or world.maxy are expanded: (has_exapnded_world_maxx, has_expanded_world_maxy)
COMSIG_GLOB_VAR_EDITcalled after a successful var edit somewhere in the world: (list/args)
COMSIG_GLOB_EXPLOSIONcalled after an explosion happened : (epicenter, devastation_range, heavy_impact_range, light_impact_range, took, orig_dev_range, orig_heavy_range, orig_light_range)
COMSIG_GLOB_MOB_CREATEDCalled from base of /mob/Initialise : (mob)
COMSIG_GLOB_MOB_DEATHmob died somewhere : (mob/living, gibbed)
COMSIG_GLOB_LIVING_SAY_SPECIALglobal living say plug - use sparingly: (mob/speaker , message)
COMSIG_GLOB_PLAY_CINEMATICcalled by datum/cinematic/play() : (datum/cinematic/new_cinematic)
COMSIG_GLOB_BUTTON_PRESSEDingame button pressed (/obj/machinery/button/button)
COMSIG_GLOB_JOB_AFTER_SPAWNjob subsystem has spawned and equipped a new mob
COMSIG_GLOB_JOB_AFTER_LATEJOIN_SPAWNjob datum has been called to deal with the aftermath of a latejoin spawn
COMSIG_GLOB_CREWMEMBER_JOINEDcrewmember joined the game (mob/living, rank)
COMSIG_GLOB_PRE_RANDOM_EVENTRandom event is trying to roll. (/datum/round_event_control/random_event) +Called by (/datum/round_event_control/preRunEvent).
CANCEL_PRE_RANDOM_EVENTDo not allow this random event to continue.
COMSIG_GLOB_CARBON_THROW_THINGa person somewhere has thrown something : (mob/living/carbon/carbon_thrower, target)
COMSIG_GLOB_TRAPDOOR_LINKa trapdoor remote has sent out a signal to link with a trapdoor
LINKED_UPsuccessfully linked to a trapdoor!
COMSIG_GLOB_NEW_ITEMan obj/item is created! (obj/item/created_item)
COMSIG_GLOB_CLIENT_CONNECTa client (re)connected, after all /client/New() checks have passed : (client/connected_client)
COMSIG_WEATHER_TELEGRAPHa weather event of some kind occured
COMSIG_ALARM_FIREAn alarm of some form was sent (datum/alarm_handler/source, alarm_type, area/source_area)
COMSIG_ALARM_CLEARAn alarm of some form was cleared (datum/alarm_handler/source, alarm_type, area/source_area)
COMSIG_GLOB_MOB_LOGGED_INglobal mob logged in signal! (/mob/added_player)
COMSIG_GLOB_NUKE_DEVICE_ARMEDglobal signal sent when a nuclear device is armed (/obj/machinery/nuclearbomb/nuke/exploding_nuke)
COMSIG_GLOB_NUKE_DEVICE_DISARMEDglobal signal sent when a nuclear device is disarmed (/obj/machinery/nuclearbomb/nuke/disarmed_nuke)
COMSIG_GLOB_LIGHT_MECHANISM_COMPLETEDGlobal signal sent when a light mechanism is completed (try_id)
COMSIG_GLOB_GAME_STARTGlobal signal sent when SSticker enters Runlevel Game
COMSIG_GLOB_DATACORE_READYGlobal signal sent when the Datacore's initial manifest is complete
COMSIG_GLOB_MANIFEST_INJECTGlobal signal sent when the datacore is added to via manifest_inject() (datum/data/record/general, datum/data/record/medical, datum/data/record/security, datum/data/record/locked)
COMSIG_GLOB_WANTED_CRIMINALGlobal signal sent when someone is marked as wanted.
COMSIG_GLOB_HOLOMAPS_READYGlobal signal sent when SSholomaps initializes

Define Details

+

CANCEL_PRE_RANDOM_EVENT + + +

+

Do not allow this random event to continue.

COMSIG_ALARM_CLEAR + + + +

+

An alarm of some form was cleared (datum/alarm_handler/source, alarm_type, area/source_area)

COMSIG_ALARM_FIRE + + + +

+

An alarm of some form was sent (datum/alarm_handler/source, alarm_type, area/source_area)

COMSIG_AREA_CREATED + + +

+

called after a successful area creation by a mob: (area/created_area, area/old_area, mob/creator)

COMSIG_GLOB_BUTTON_PRESSED + + +

+

ingame button pressed (/obj/machinery/button/button)

COMSIG_GLOB_CARBON_THROW_THING + + +

+

a person somewhere has thrown something : (mob/living/carbon/carbon_thrower, target)

COMSIG_GLOB_CLIENT_CONNECT + + +

+

a client (re)connected, after all /client/New() checks have passed : (client/connected_client)

COMSIG_GLOB_CREWMEMBER_JOINED + + +

+

crewmember joined the game (mob/living, rank)

COMSIG_GLOB_DATACORE_READY + + +

+

Global signal sent when the Datacore's initial manifest is complete

COMSIG_GLOB_EXPANDED_WORLD_BOUNDS + + +

+

sent after world.maxx and/or world.maxy are expanded: (has_exapnded_world_maxx, has_expanded_world_maxy)

COMSIG_GLOB_EXPLOSION + + +

+

called after an explosion happened : (epicenter, devastation_range, heavy_impact_range, light_impact_range, took, orig_dev_range, orig_heavy_range, orig_light_range)

COMSIG_GLOB_GAME_START + + +

+

Global signal sent when SSticker enters Runlevel Game

COMSIG_GLOB_HOLOMAPS_READY + + +

+

Global signal sent when SSholomaps initializes

COMSIG_GLOB_JOB_AFTER_LATEJOIN_SPAWN + + +

+

job datum has been called to deal with the aftermath of a latejoin spawn

COMSIG_GLOB_JOB_AFTER_SPAWN + + +

+

job subsystem has spawned and equipped a new mob

COMSIG_GLOB_LIGHT_MECHANISM_COMPLETED + + +

+

Global signal sent when a light mechanism is completed (try_id)

COMSIG_GLOB_LIVING_SAY_SPECIAL + + +

+

global living say plug - use sparingly: (mob/speaker , message)

COMSIG_GLOB_MANIFEST_INJECT + + +

+

Global signal sent when the datacore is added to via manifest_inject() (datum/data/record/general, datum/data/record/medical, datum/data/record/security, datum/data/record/locked)

COMSIG_GLOB_MOB_CREATED + + +

+

Called from base of /mob/Initialise : (mob)

COMSIG_GLOB_MOB_DEATH + + +

+

mob died somewhere : (mob/living, gibbed)

COMSIG_GLOB_MOB_LOGGED_IN + + +

+

global mob logged in signal! (/mob/added_player)

COMSIG_GLOB_NEW_ITEM + + +

+

an obj/item is created! (obj/item/created_item)

COMSIG_GLOB_NEW_Z + + +

+

from base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args)

COMSIG_GLOB_NUKE_DEVICE_ARMED + + +

+

global signal sent when a nuclear device is armed (/obj/machinery/nuclearbomb/nuke/exploding_nuke)

COMSIG_GLOB_NUKE_DEVICE_DISARMED + + +

+

global signal sent when a nuclear device is disarmed (/obj/machinery/nuclearbomb/nuke/disarmed_nuke)

COMSIG_GLOB_PLAY_CINEMATIC + + +

+

called by datum/cinematic/play() : (datum/cinematic/new_cinematic)

COMSIG_GLOB_PRE_RANDOM_EVENT + + +

+

Random event is trying to roll. (/datum/round_event_control/random_event) +Called by (/datum/round_event_control/preRunEvent).

+

a trapdoor remote has sent out a signal to link with a trapdoor

COMSIG_GLOB_VAR_EDIT + + +

+

called after a successful var edit somewhere in the world: (list/args)

COMSIG_GLOB_WANTED_CRIMINAL + + +

+

Global signal sent when someone is marked as wanted.

COMSIG_WEATHER_TELEGRAPH + + + +

+

a weather event of some kind occured

LINKED_UP + + +

+

successfully linked to a trapdoor!

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_global_object.html b/code/__DEFINES/dcs/signals/signals_global_object.html new file mode 100644 index 000000000000..1cca9676f1bd --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_global_object.html @@ -0,0 +1,49 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_global_object.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_global_object.dm + +

+ + + + + +
COMSIG_OCCUPATIONS_DIVIDEDsignals from globally accessible objects +from SSJob when DivideOccupations is called
COMSIG_SUN_MOVEDfrom SSsun when the sun changes position : (azimuth)
COMSIG_SECURITY_LEVEL_CHANGEDfrom SSsecurity_level when the security level changes : (new_level)
COMSIG_SUPPLY_SHUTTLE_BUYfrom SSshuttle when the supply shuttle starts spawning orders : ()

Define Details

+

COMSIG_OCCUPATIONS_DIVIDED + + +

+

signals from globally accessible objects +from SSJob when DivideOccupations is called

COMSIG_SECURITY_LEVEL_CHANGED + + +

+

from SSsecurity_level when the security level changes : (new_level)

COMSIG_SUN_MOVED + + +

+

from SSsun when the sun changes position : (azimuth)

COMSIG_SUPPLY_SHUTTLE_BUY + + +

+

from SSshuttle when the supply shuttle starts spawning orders : ()

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_heretic.html b/code/__DEFINES/dcs/signals/signals_heretic.html new file mode 100644 index 000000000000..e51c77997da4 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_heretic.html @@ -0,0 +1,64 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_heretic.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_heretic.dm + +

+ + + + + + + + +
COMSIG_HERETIC_MASK_ACTHeretic signals +From /obj/item/clothing/mask/madness_mask/process : (amount)
COMSIG_HERETIC_MANSUS_GRASP_ATTACKFrom /obj/item/melee/touch_attack/mansus_fist/on_mob_hit : (mob/living/source, mob/living/target)
COMPONENT_BLOCK_HAND_USEDefault behavior is to use the hand, so return this to blocks the mansus fist from being consumed after use.
COMSIG_HERETIC_MANSUS_GRASP_ATTACK_SECONDARYFrom /obj/item/melee/touch_attack/mansus_fist/afterattack_secondary : (mob/living/source, atom/target)
COMPONENT_USE_HANDDefault behavior is to continue attack chain and do nothing else, so return this to use up the hand after use.
COMSIG_HERETIC_BLADE_ATTACKFrom /obj/item/melee/sickly_blade/afterattack (with proximity) : (mob/living/source, mob/living/target)
COMSIG_HERETIC_RANGED_BLADE_ATTACKFrom /obj/item/melee/sickly_blade/afterattack (without proximity) : (mob/living/source, mob/living/target)

Define Details

+

COMPONENT_BLOCK_HAND_USE + + +

+

Default behavior is to use the hand, so return this to blocks the mansus fist from being consumed after use.

COMPONENT_USE_HAND + + +

+

Default behavior is to continue attack chain and do nothing else, so return this to use up the hand after use.

COMSIG_HERETIC_BLADE_ATTACK + + +

+

From /obj/item/melee/sickly_blade/afterattack (with proximity) : (mob/living/source, mob/living/target)

COMSIG_HERETIC_MANSUS_GRASP_ATTACK + + +

+

From /obj/item/melee/touch_attack/mansus_fist/on_mob_hit : (mob/living/source, mob/living/target)

COMSIG_HERETIC_MANSUS_GRASP_ATTACK_SECONDARY + + +

+

From /obj/item/melee/touch_attack/mansus_fist/afterattack_secondary : (mob/living/source, atom/target)

COMSIG_HERETIC_MASK_ACT + + +

+

Heretic signals +From /obj/item/clothing/mask/madness_mask/process : (amount)

COMSIG_HERETIC_RANGED_BLADE_ATTACK + + +

+

From /obj/item/melee/sickly_blade/afterattack (without proximity) : (mob/living/source, mob/living/target)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_hydroponic.html b/code/__DEFINES/dcs/signals/signals_hydroponic.html new file mode 100644 index 000000000000..c746b6240c33 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_hydroponic.html @@ -0,0 +1,102 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_hydroponic.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_hydroponic.dm + +

+ + + + + + + + + + + + + + + + +
COMSIG_PLANT_ON_SLIPcalled when a plant with slippery skin is slipped on (mob/victim)
COMSIG_PLANT_ON_SQUASHcalled when a plant with liquid contents is squashed on (atom/target)
COMSIG_PLANT_ON_BACKFIREcalled when a plant backfires via the backfire element (mob/victim)
COMSIG_SEED_ON_GROWcalled when a seed grows in a tray (obj/machinery/hydroponics)
COMSIG_SEED_ON_PLANTEDcalled when a seed is planted in a tray (obj/machinery/hydroponics)
COMSIG_HYDROTRAY_SET_SEEDfrom base of /obj/machinery/hydroponics/set_seed() : (obj/item/new_seed)
COMSIG_HYDROTRAY_SET_SELFSUSTAININGfrom base of /obj/machinery/hydroponics/set_self_sustaining() : (new_value)
COMSIG_HYDROTRAY_SET_WEEDLEVELfrom base of /obj/machinery/hydroponics/set_weedlevel() : (new_value)
COMSIG_HYDROTRAY_SET_PESTLEVELfrom base of /obj/machinery/hydroponics/set_pestlevel() : (new_value)
COMSIG_HYDROTRAY_SET_WATERLEVELfrom base of /obj/machinery/hydroponics/set_waterlevel() : (new_value)
COMSIG_HYDROTRAY_SET_PLANT_HEALTHfrom base of /obj/machinery/hydroponics/set_plant_health() : (new_value)
COMSIG_HYDROTRAY_SET_TOXICfrom base of /obj/machinery/hydroponics/set_toxic() : (new_value)
COMSIG_HYDROTRAY_SET_PLANT_STATUSfrom base of /obj/machinery/hydroponics/set_plant_status() : (new_value)
COMSIG_HYDROTRAY_ON_HARVESTfrom base of /obj/machinery/hydroponics/update_tray() : (mob/user, product_count)
COMSIG_HYDROTRAY_PLANT_DEATHfrom base of /obj/machinery/hydroponics/plantdies()

Define Details

+

COMSIG_HYDROTRAY_ON_HARVEST + + +

+

from base of /obj/machinery/hydroponics/update_tray() : (mob/user, product_count)

COMSIG_HYDROTRAY_PLANT_DEATH + + +

+

from base of /obj/machinery/hydroponics/plantdies()

COMSIG_HYDROTRAY_SET_PESTLEVEL + + +

+

from base of /obj/machinery/hydroponics/set_pestlevel() : (new_value)

COMSIG_HYDROTRAY_SET_PLANT_HEALTH + + +

+

from base of /obj/machinery/hydroponics/set_plant_health() : (new_value)

COMSIG_HYDROTRAY_SET_PLANT_STATUS + + +

+

from base of /obj/machinery/hydroponics/set_plant_status() : (new_value)

COMSIG_HYDROTRAY_SET_SEED + + +

+

from base of /obj/machinery/hydroponics/set_seed() : (obj/item/new_seed)

COMSIG_HYDROTRAY_SET_SELFSUSTAINING + + +

+

from base of /obj/machinery/hydroponics/set_self_sustaining() : (new_value)

COMSIG_HYDROTRAY_SET_TOXIC + + +

+

from base of /obj/machinery/hydroponics/set_toxic() : (new_value)

COMSIG_HYDROTRAY_SET_WATERLEVEL + + +

+

from base of /obj/machinery/hydroponics/set_waterlevel() : (new_value)

COMSIG_HYDROTRAY_SET_WEEDLEVEL + + +

+

from base of /obj/machinery/hydroponics/set_weedlevel() : (new_value)

COMSIG_PLANT_ON_BACKFIRE + + +

+

called when a plant backfires via the backfire element (mob/victim)

COMSIG_PLANT_ON_SLIP + + +

+

called when a plant with slippery skin is slipped on (mob/victim)

COMSIG_PLANT_ON_SQUASH + + +

+

called when a plant with liquid contents is squashed on (atom/target)

COMSIG_SEED_ON_GROW + + +

+

called when a seed grows in a tray (obj/machinery/hydroponics)

COMSIG_SEED_ON_PLANTED + + +

+

called when a seed is planted in a tray (obj/machinery/hydroponics)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_janitor.html b/code/__DEFINES/dcs/signals/signals_janitor.html new file mode 100644 index 000000000000..70646d0de765 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_janitor.html @@ -0,0 +1,59 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_janitor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_janitor.dm + +

+ + + + + + + +
COMSIG_COMPONENT_CLEAN_ACTfrom base of obj/item/attack(): (/mob/living/target, /mob/living/user) +Called on an object to "clean it", such as removing blood decals/overlays, etc. The clean types bitfield is sent with it. Return TRUE if any cleaning was necessary and thus performed.
COMPONENT_CLEANEDReturned by cleanable components when they are cleaned.
COMSIG_VACUUM_BAG_ATTACHCalled on a bag being attached to a vacuum parent
COMSIG_VACUUM_BAG_DETACHCalled on a bag being detached from a vacuum parent
COMSIG_TURF_IS_WET(): Returns bitflags of wet values.
COMSIG_TURF_MAKE_DRY(max_strength, immediate, duration_decrease = INFINITY): Returns bool.

Define Details

+

COMPONENT_CLEANED + + +

+

Returned by cleanable components when they are cleaned.

COMSIG_COMPONENT_CLEAN_ACT + + +

+

from base of obj/item/attack(): (/mob/living/target, /mob/living/user) +Called on an object to "clean it", such as removing blood decals/overlays, etc. The clean types bitfield is sent with it. Return TRUE if any cleaning was necessary and thus performed.

COMSIG_TURF_IS_WET + + +

+

(): Returns bitflags of wet values.

COMSIG_TURF_MAKE_DRY + + +

+

(max_strength, immediate, duration_decrease = INFINITY): Returns bool.

COMSIG_VACUUM_BAG_ATTACH + + +

+

Called on a bag being attached to a vacuum parent

COMSIG_VACUUM_BAG_DETACH + + +

+

Called on a bag being detached from a vacuum parent

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_ladder.html b/code/__DEFINES/dcs/signals/signals_ladder.html new file mode 100644 index 000000000000..a70ff08c8dc3 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_ladder.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_ladder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_ladder.dm + +

+ + +
COMSIG_LADDER_TRAVELCalled on a mob attempting to use a ladder to go in either direction. (entrance_ladder, exit_ladder, going_up)

Define Details

+

COMSIG_LADDER_TRAVEL + + +

+

Called on a mob attempting to use a ladder to go in either direction. (entrance_ladder, exit_ladder, going_up)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_light_eater.html b/code/__DEFINES/dcs/signals/signals_light_eater.html new file mode 100644 index 000000000000..e4a144c24194 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_light_eater.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_light_eater.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_light_eater.dm + +

+ + + + + +
COMSIG_LIGHT_EATER_QUEUEfrom base of /datum/element/light_eater/proc/table_buffet: (list/light_queue, datum/light_eater)
COMSIG_LIGHT_EATER_ACTfrom base of /datum/element/light_eater/proc/devour: (datum/light_eater)
COMPONENT_BLOCK_LIGHT_EATERPrevents the default light eater behavior from running in case of immunity or custom behavior
COMSIG_LIGHT_EATER_DEVOURfrom base of /datum/element/light_eater/proc/devour: (atom/eaten_light)

Define Details

+

COMPONENT_BLOCK_LIGHT_EATER + + +

+

Prevents the default light eater behavior from running in case of immunity or custom behavior

COMSIG_LIGHT_EATER_ACT + + +

+

from base of /datum/element/light_eater/proc/devour: (datum/light_eater)

COMSIG_LIGHT_EATER_DEVOUR + + +

+

from base of /datum/element/light_eater/proc/devour: (atom/eaten_light)

COMSIG_LIGHT_EATER_QUEUE + + +

+

from base of /datum/element/light_eater/proc/table_buffet: (list/light_queue, datum/light_eater)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_machinery.html b/code/__DEFINES/dcs/signals/signals_machinery.html new file mode 100644 index 000000000000..3e54f700fbf3 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_machinery.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_machinery.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_machinery.dm + +

+ + + + +
COMSIG_FIRE_ALERTIssued by Air Alarms and Fire Alarms to communicate.
COMSIG_HOLOMAP_VIEWER_GAINEDfrom base of /datum/holomap_holder/proc/show_to: (mob/viewer)
COMSIG_HOLOMAP_VIEWER_REMOVEDfrom base of /datum/holomap_holder/proc/remove_viewer: (mob/viewer)

Define Details

+

COMSIG_FIRE_ALERT + + +

+

Issued by Air Alarms and Fire Alarms to communicate.

COMSIG_HOLOMAP_VIEWER_GAINED + + +

+

from base of /datum/holomap_holder/proc/show_to: (mob/viewer)

COMSIG_HOLOMAP_VIEWER_REMOVED + + +

+

from base of /datum/holomap_holder/proc/remove_viewer: (mob/viewer)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_medical.html b/code/__DEFINES/dcs/signals/signals_medical.html new file mode 100644 index 000000000000..f7ab1dfb2453 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_medical.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_medical.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_medical.dm + +

+ + + +
COMSIG_MOB_SURGERY_STARTEDFrom /datum/surgery/New(): (datum/surgery/surgery, surgery_location (body zone), obj/item/bodypart/targeted_limb)
COMSIG_MOB_SURGERY_STEP_SUCCESSFrom /datum/surgery_step/success(): (datum/surgery_step/step, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)

Define Details

+

COMSIG_MOB_SURGERY_STARTED + + +

+

From /datum/surgery/New(): (datum/surgery/surgery, surgery_location (body zone), obj/item/bodypart/targeted_limb)

COMSIG_MOB_SURGERY_STEP_SUCCESS + + +

+

From /datum/surgery_step/success(): (datum/surgery_step/step, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mind.html b/code/__DEFINES/dcs/signals/signals_mind.html new file mode 100644 index 000000000000..35b2ecad8a06 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mind.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mind.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mind.dm + +

+ + + + +
COMSIG_MIND_TRANSFERREDfrom mind/transfer_to. Sent after the mind has been transferred: (mob/previous_body)
COMSIG_ANTAGONIST_GAINEDCalled on the mind when an antagonist is being gained, after the antagonist list has updated (datum/antagonist/antagonist)
COMSIG_ANTAGONIST_REMOVEDCalled on the mind when an antagonist is being removed, after the antagonist list has updated (datum/antagonist/antagonist)

Define Details

+

COMSIG_ANTAGONIST_GAINED + + +

+

Called on the mind when an antagonist is being gained, after the antagonist list has updated (datum/antagonist/antagonist)

COMSIG_ANTAGONIST_REMOVED + + +

+

Called on the mind when an antagonist is being removed, after the antagonist list has updated (datum/antagonist/antagonist)

COMSIG_MIND_TRANSFERRED + + +

+

from mind/transfer_to. Sent after the mind has been transferred: (mob/previous_body)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_arcade.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_arcade.html new file mode 100644 index 000000000000..688770fc3898 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_arcade.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_arcade.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_arcade.dm + +

+ + + + +
COMSIG_MOB_PLAYED_VIDEOGAMECalled when a mob plays a videogame
COMSIG_MOB_LOST_VIDEOGAMECalled when a mob loses a videogame
COMSIG_MOB_WON_VIDEOGAMECalled when a mob wins a videogame

Define Details

+

COMSIG_MOB_LOST_VIDEOGAME + + +

+

Called when a mob loses a videogame

COMSIG_MOB_PLAYED_VIDEOGAME + + +

+

Called when a mob plays a videogame

COMSIG_MOB_WON_VIDEOGAME + + +

+

Called when a mob wins a videogame

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.html new file mode 100644 index 000000000000..cebb31b8ca88 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.html @@ -0,0 +1,217 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_CARBON_PRE_HELP_ACTCalled from /mob/living/carbon/help_shake_act, before any hugs have ocurred. (mob/living/helper)
COMPONENT_BLOCK_HELP_ACTStops the rest of help act (hugging, etc) from occuring
COMSIG_CARBON_HELP_ACTCalled from /mob/living/carbon/help_shake_act on the person being helped, after any hugs have ocurred. (mob/living/helper)
COMSIG_CARBON_HELPEDCalled from /mob/living/carbon/help_shake_act on the helper, after any hugs have ocurred. (mob/living/helped)
COMSIG_CARBON_DISARM_COLLIDEWhen a carbon mob is disarmed, this is sent to the turf we're trying to shove onto (mob/living/carbon/shover, mob/living/carbon/target, shove_blocked)
COMSIG_ON_CARBON_SLIPWhen a carbon slips. Called on /turf/open/handle_slip()
COMSIG_ON_VENDOR_CRUSHWhen a carbon gets a vending machine tilted on them
COMSIG_CARBON_ATTACH_LIMBfrom base of /obj/item/bodypart/proc/attach_limb(): (new_limb, special) allows you to fail limb attachment
COMSIG_LIMB_ATTACHFrom /obj/item/bodypart/proc/attach_limb(/mob/living/carbon/C, special)
COMSIG_LIMB_REMOVEFrom /obj/item/bodypart/proc/drop_limb(/mob/living/carbon/C, special)
COMSIG_LIMB_SPLINTEDFrom /obj/item/bodypart/proc/apply_splint()
COMSIG_LIMB_UNSPLINTEDFrom /obj/item/bodypart/proc/remove_splint()
COMSIG_CARBON_SOUNDBANGfrom base of mob/living/carbon/soundbang_act(): (list(intensity))
COMSIG_CARBON_GAIN_ORGANfrom /item/organ/proc/Insert() (/obj/item/organ/)
COMSIG_CARBON_LOSE_ORGANfrom /item/organ/proc/Remove() (/obj/item/organ/)
COMSIG_CARBON_EQUIP_HATfrom /mob/living/carbon/tryUnequipItem(obj/item/I, force, newloc, no_move, invdrop, silent)
COMSIG_CARBON_UNEQUIP_HATfrom /mob/living/carbon/tryUnequipItem(obj/item/I, force, newloc, no_move, invdrop, silent)
COMSIG_CARBON_UNEQUIP_SHOECOVERfrom /mob/living/carbon/tryUnequipItem(obj/item/I, force, newloc, no_move, invdrop, silent)
COMSIG_CARBON_EMBED_REMOVALcalled when removing a given item from a mob, from mob/living/carbon/remove_embedded_object(mob/living/carbon/target, /obj/item)
COMSIG_CARBON_CUFF_ATTEMPTEDCalled when someone attempts to cuff a carbon
COMSIG_CARBON_GAIN_MUTATIONCalled when a carbon mutates (source = dna, mutation = mutation added)
COMSIG_CARBON_LOSE_MUTATIONCalled when a carbon loses a mutation (source = dna, mutation = mutation lose)
COMSIG_CARBON_GAIN_ADDICTIONCalled when a carbon becomes addicted (source = what addiction datum, addicted_mind = mind of the addicted carbon)
COMSIG_CARBON_LOSE_ADDICTIONCalled when a carbon is no longer addicted (source = what addiction datum was lost, addicted_mind = mind of the freed carbon)
COMSIG_CARBON_GAIN_TRAUMACalled when a carbon gets a brain trauma (source = carbon, trauma = what trauma was added) - this is before on_gain()
COMSIG_CARBON_LOSE_TRAUMACalled when a carbon loses a brain trauma (source = carbon, trauma = what trauma was removed)
COMSIG_CARBON_HEALTH_UPDATECalled when a carbon updates their health (source = carbon)
COMSIG_CARBON_SANITY_UPDATECalled when a carbon updates their sanity (source = carbon)
COMSIG_CARBON_PRE_BREATHECalled when a carbon breathes, before the breath has actually occured
COMSIG_CARBON_APPLY_OVERLAYCalled from apply_overlay(cache_index, overlay)
COMSIG_CARBON_REMOVE_OVERLAYCalled from remove_overlay(cache_index, overlay)
COMSIG_HUMAN_DISARM_HITHit by successful disarm attack (mob/living/carbon/human/attacker,zone_targeted)
COMSIG_JOB_RECEIVEDWhenever EquipRanked is called, called after job is set
COMSIG_HUMAN_CORETEMP_CHANGEfrom /mob/living/carbon/human/proc/set_coretemperature(): (oldvalue, newvalue)
COMSIG_HUMAN_BURNINGfrom /datum/species/handle_fire. Called when the human is set on fire and burning clothes and stuff
COMSIG_HUMAN_MONKEYIZECalled when a human turns into a monkey, from /mob/living/carbon/proc/finish_monkeyize()
COMSIG_MONKEY_HUMANIZECalled when a monkey turns into a human, from /mob/living/carbon/proc/finish_humanize(species)
COMSIG_HUMAN_SUICIDE_ACTFrom mob/living/carbon/human/suicide()

Define Details

+

COMPONENT_BLOCK_HELP_ACT + + +

+

Stops the rest of help act (hugging, etc) from occuring

COMSIG_CARBON_APPLY_OVERLAY + + +

+

Called from apply_overlay(cache_index, overlay)

COMSIG_CARBON_ATTACH_LIMB + + +

+

from base of /obj/item/bodypart/proc/attach_limb(): (new_limb, special) allows you to fail limb attachment

COMSIG_CARBON_CUFF_ATTEMPTED + + +

+

Called when someone attempts to cuff a carbon

COMSIG_CARBON_DISARM_COLLIDE + + +

+

When a carbon mob is disarmed, this is sent to the turf we're trying to shove onto (mob/living/carbon/shover, mob/living/carbon/target, shove_blocked)

COMSIG_CARBON_EMBED_REMOVAL + + +

+

called when removing a given item from a mob, from mob/living/carbon/remove_embedded_object(mob/living/carbon/target, /obj/item)

COMSIG_CARBON_EQUIP_HAT + + +

+

from /mob/living/carbon/tryUnequipItem(obj/item/I, force, newloc, no_move, invdrop, silent)

COMSIG_CARBON_GAIN_ADDICTION + + +

+

Called when a carbon becomes addicted (source = what addiction datum, addicted_mind = mind of the addicted carbon)

COMSIG_CARBON_GAIN_MUTATION + + +

+

Called when a carbon mutates (source = dna, mutation = mutation added)

COMSIG_CARBON_GAIN_ORGAN + + +

+

from /item/organ/proc/Insert() (/obj/item/organ/)

COMSIG_CARBON_GAIN_TRAUMA + + +

+

Called when a carbon gets a brain trauma (source = carbon, trauma = what trauma was added) - this is before on_gain()

COMSIG_CARBON_HEALTH_UPDATE + + +

+

Called when a carbon updates their health (source = carbon)

COMSIG_CARBON_HELPED + + +

+

Called from /mob/living/carbon/help_shake_act on the helper, after any hugs have ocurred. (mob/living/helped)

COMSIG_CARBON_HELP_ACT + + +

+

Called from /mob/living/carbon/help_shake_act on the person being helped, after any hugs have ocurred. (mob/living/helper)

COMSIG_CARBON_LOSE_ADDICTION + + +

+

Called when a carbon is no longer addicted (source = what addiction datum was lost, addicted_mind = mind of the freed carbon)

COMSIG_CARBON_LOSE_MUTATION + + +

+

Called when a carbon loses a mutation (source = dna, mutation = mutation lose)

COMSIG_CARBON_LOSE_ORGAN + + +

+

from /item/organ/proc/Remove() (/obj/item/organ/)

COMSIG_CARBON_LOSE_TRAUMA + + +

+

Called when a carbon loses a brain trauma (source = carbon, trauma = what trauma was removed)

COMSIG_CARBON_PRE_BREATHE + + +

+

Called when a carbon breathes, before the breath has actually occured

COMSIG_CARBON_PRE_HELP_ACT + + +

+

Called from /mob/living/carbon/help_shake_act, before any hugs have ocurred. (mob/living/helper)

COMSIG_CARBON_REMOVE_OVERLAY + + +

+

Called from remove_overlay(cache_index, overlay)

COMSIG_CARBON_SANITY_UPDATE + + +

+

Called when a carbon updates their sanity (source = carbon)

COMSIG_CARBON_SOUNDBANG + + +

+

from base of mob/living/carbon/soundbang_act(): (list(intensity))

COMSIG_CARBON_UNEQUIP_HAT + + +

+

from /mob/living/carbon/tryUnequipItem(obj/item/I, force, newloc, no_move, invdrop, silent)

COMSIG_CARBON_UNEQUIP_SHOECOVER + + +

+

from /mob/living/carbon/tryUnequipItem(obj/item/I, force, newloc, no_move, invdrop, silent)

COMSIG_HUMAN_BURNING + + +

+

from /datum/species/handle_fire. Called when the human is set on fire and burning clothes and stuff

COMSIG_HUMAN_CORETEMP_CHANGE + + +

+

from /mob/living/carbon/human/proc/set_coretemperature(): (oldvalue, newvalue)

COMSIG_HUMAN_DISARM_HIT + + +

+

Hit by successful disarm attack (mob/living/carbon/human/attacker,zone_targeted)

COMSIG_HUMAN_MONKEYIZE + + +

+

Called when a human turns into a monkey, from /mob/living/carbon/proc/finish_monkeyize()

COMSIG_HUMAN_SUICIDE_ACT + + +

+

From mob/living/carbon/human/suicide()

COMSIG_JOB_RECEIVED + + +

+

Whenever EquipRanked is called, called after job is set

COMSIG_LIMB_ATTACH + + +

+

From /obj/item/bodypart/proc/attach_limb(/mob/living/carbon/C, special)

COMSIG_LIMB_REMOVE + + +

+

From /obj/item/bodypart/proc/drop_limb(/mob/living/carbon/C, special)

COMSIG_LIMB_SPLINTED + + +

+

From /obj/item/bodypart/proc/apply_splint()

COMSIG_LIMB_UNSPLINTED + + +

+

From /obj/item/bodypart/proc/remove_splint()

COMSIG_MONKEY_HUMANIZE + + +

+

Called when a monkey turns into a human, from /mob/living/carbon/proc/finish_humanize(species)

COMSIG_ON_CARBON_SLIP + + +

+

When a carbon slips. Called on /turf/open/handle_slip()

COMSIG_ON_VENDOR_CRUSH + + +

+

When a carbon gets a vending machine tilted on them

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.html new file mode 100644 index 000000000000..f938d15e6d13 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.html @@ -0,0 +1,243 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_LIVING_TRY_PUT_IN_HANDcalled on /living when attempting to pick up an item, from base of /mob/living/can_put_in_hand(): (obj/item/I)
COMPONENT_LIVING_CANT_PUT_IN_HANDCan't pick up
COMSIG_ORGAN_IMPLANTEDCalled on the organ when it is implanted into someone (mob/living/carbon/receiver)
COMSIG_ORGAN_REMOVEDCalled on the organ when it is removed from someone (mob/living/carbon/old_owner)
COMSIG_LIVING_POST_UPDATE_TRANSFORMfrom base of mob/update_transform()
COMSIG_LIVING_DOORCRUSHEDfrom /obj/structure/door/crush(): (mob/living/crushed, /obj/machinery/door/crushing_door)
COMSIG_LIVING_RESISTfrom base of mob/living/resist() (/mob/living)
COMSIG_LIVING_IGNITEDfrom base of mob/living/ignite_mob() (/mob/living)
COMSIG_LIVING_EXTINGUISHEDfrom base of mob/living/extinguish_mob() (/mob/living)
COMSIG_LIVING_ELECTROCUTE_ACTfrom base of mob/living/electrocute_act(): (shock_damage, source, siemens_coeff, flags)
COMSIG_LIVING_SHOCK_PREVENTEDsent when items with siemen coeff. of 0 block a shock: (power_source, source, siemens_coeff, dist_check)
COMSIG_LIVING_MINOR_SHOCKsent by stuff like stunbatons and tasers: ()
COMSIG_LIVING_REVIVEfrom base of mob/living/revive() (full_heal, admin_revive)
COMSIG_LIVING_REGENERATE_LIMBSfrom base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs)
COMSIG_LIVING_SET_BUCKLEDfrom base of mob/living/set_buckled(): (new_buckled)
COMSIG_LIVING_SET_BODY_POSITIONfrom base of mob/living/set_body_position()
COMSIG_LIVING_TRY_SYRINGEFrom post-can inject check of syringe after attack (mob/user)
COMSIG_LIVING_LIFEFrom living/Life(). (deltatime, times_fired)
COMSIG_LIVING_BANEDfrom base of element/bane/activate(): (item/weapon, mob/user)
COMSIG_LIVING_DEATHfrom base of mob/living/death(): (gibbed)
COMSIG_LIVING_WRITE_MEMORYfrom base of mob/living/Write_Memory(): (dead, gibbed)
COMSIG_LIVING_HEALTHSCANfrom /proc/healthscan(): (list/render_strings, mob/user, mode, advanced) +Consumers are allowed to mutate the scan_results list to add extra information
COMSIG_LIVING_STATUS_STUNfrom base of mob/living/Stun() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_KNOCKDOWNfrom base of mob/living/Knockdown() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_PARALYZEfrom base of mob/living/Paralyze() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_IMMOBILIZEfrom base of mob/living/Immobilize() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_UNCONSCIOUSfrom base of mob/living/Unconscious() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_SLEEPfrom base of mob/living/Sleeping() (amount, ignore_canstun)
COMSIG_LIVING_CAN_TRACKfrom base of /mob/living/can_track(): (mob/user)
COMSIG_LIVING_POST_FULLY_HEALfrom end of fully_heal(): (admin_revive)
COMSIG_LIVING_HANDLE_BREATHINGfrom start of /mob/living/handle_breathing(): (delta_time, times_fired)
COMSIG_LIVING_SLAM_TABLEfrom /obj/item/hand_item/slapper/attack_obj(): (source=mob/living/slammer, obj/structure/table/slammed_table)
COMSIG_LIVING_SLAP_MOBfrom /obj/item/hand_item/slapper/attack(): (source=mob/living/slapper, mob/living/slapped)
COMSIG_LIVING_EARLY_UNARMED_ATTACKfrom /mob/living/*/UnarmedAttack(), before sending COMSIG_LIVING_UNARMED_ATTACK: (mob/living/source, atom/target, proximity, modifiers) +The only reason this exists is so hulk can fire before Fists of the North Star. +Note that this is called before /mob/living/proc/can_unarmed_attack is called, so be wary of that.
COMSIG_LIVING_UNARMED_ATTACKfrom mob/living/*/UnarmedAttack(): (mob/living/source, atom/target, proximity, modifiers)
COMSIG_LIVING_MOB_BUMPFrom base of mob/living/MobBump() (mob/living)
COMSIG_LIVING_Z_IMPACTFrom base of mob/living/ZImpactDamage() (mob/living, levels, turf/t)
COMSIG_LIVING_TREAT_MESSAGEFrom mob/living/treat_message(): (list/message_args)
COMSIG_LIVING_MOB_PAINTEDFrom obj/item/toy/crayon/spraycan
COMSIG_LIVING_USE_RADIOFrom mob/living/Say()
COMSIG_LIVING_TOGGLE_COMBAT_MODEFrom mob/living/proc/set_combat_mode(): (mob/living/user, new_mode)
COMSIG_LIVING_CHANGENEXT_MOVEfrom base of /mob/living/changeNext_Move() (next_move)

Define Details

+

COMPONENT_LIVING_CANT_PUT_IN_HAND + + +

+

Can't pick up

COMSIG_LIVING_BANED + + +

+

from base of element/bane/activate(): (item/weapon, mob/user)

COMSIG_LIVING_CAN_TRACK + + +

+

from base of /mob/living/can_track(): (mob/user)

COMSIG_LIVING_CHANGENEXT_MOVE + + +

+

from base of /mob/living/changeNext_Move() (next_move)

COMSIG_LIVING_DEATH + + +

+

from base of mob/living/death(): (gibbed)

COMSIG_LIVING_DOORCRUSHED + + +

+

from /obj/structure/door/crush(): (mob/living/crushed, /obj/machinery/door/crushing_door)

COMSIG_LIVING_EARLY_UNARMED_ATTACK + + +

+

from /mob/living/*/UnarmedAttack(), before sending COMSIG_LIVING_UNARMED_ATTACK: (mob/living/source, atom/target, proximity, modifiers) +The only reason this exists is so hulk can fire before Fists of the North Star. +Note that this is called before /mob/living/proc/can_unarmed_attack is called, so be wary of that.

COMSIG_LIVING_ELECTROCUTE_ACT + + +

+

from base of mob/living/electrocute_act(): (shock_damage, source, siemens_coeff, flags)

COMSIG_LIVING_EXTINGUISHED + + +

+

from base of mob/living/extinguish_mob() (/mob/living)

COMSIG_LIVING_HANDLE_BREATHING + + +

+

from start of /mob/living/handle_breathing(): (delta_time, times_fired)

COMSIG_LIVING_HEALTHSCAN + + +

+

from /proc/healthscan(): (list/render_strings, mob/user, mode, advanced) +Consumers are allowed to mutate the scan_results list to add extra information

COMSIG_LIVING_IGNITED + + +

+

from base of mob/living/ignite_mob() (/mob/living)

COMSIG_LIVING_LIFE + + +

+

From living/Life(). (deltatime, times_fired)

COMSIG_LIVING_MINOR_SHOCK + + +

+

sent by stuff like stunbatons and tasers: ()

COMSIG_LIVING_MOB_BUMP + + +

+

From base of mob/living/MobBump() (mob/living)

COMSIG_LIVING_MOB_PAINTED + + +

+

From obj/item/toy/crayon/spraycan

COMSIG_LIVING_POST_FULLY_HEAL + + +

+

from end of fully_heal(): (admin_revive)

COMSIG_LIVING_POST_UPDATE_TRANSFORM + + +

+

from base of mob/update_transform()

COMSIG_LIVING_REGENERATE_LIMBS + + +

+

from base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs)

COMSIG_LIVING_RESIST + + +

+

from base of mob/living/resist() (/mob/living)

COMSIG_LIVING_REVIVE + + +

+

from base of mob/living/revive() (full_heal, admin_revive)

COMSIG_LIVING_SET_BODY_POSITION + + +

+

from base of mob/living/set_body_position()

COMSIG_LIVING_SET_BUCKLED + + +

+

from base of mob/living/set_buckled(): (new_buckled)

COMSIG_LIVING_SHOCK_PREVENTED + + +

+

sent when items with siemen coeff. of 0 block a shock: (power_source, source, siemens_coeff, dist_check)

COMSIG_LIVING_SLAM_TABLE + + +

+

from /obj/item/hand_item/slapper/attack_obj(): (source=mob/living/slammer, obj/structure/table/slammed_table)

COMSIG_LIVING_SLAP_MOB + + +

+

from /obj/item/hand_item/slapper/attack(): (source=mob/living/slapper, mob/living/slapped)

COMSIG_LIVING_STATUS_IMMOBILIZE + + +

+

from base of mob/living/Immobilize() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_KNOCKDOWN + + +

+

from base of mob/living/Knockdown() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_PARALYZE + + +

+

from base of mob/living/Paralyze() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_SLEEP + + +

+

from base of mob/living/Sleeping() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_STUN + + +

+

from base of mob/living/Stun() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_UNCONSCIOUS + + +

+

from base of mob/living/Unconscious() (amount, ignore_canstun)

COMSIG_LIVING_TOGGLE_COMBAT_MODE + + +

+

From mob/living/proc/set_combat_mode(): (mob/living/user, new_mode)

COMSIG_LIVING_TREAT_MESSAGE + + +

+

From mob/living/treat_message(): (list/message_args)

COMSIG_LIVING_TRY_PUT_IN_HAND + + +

+

called on /living when attempting to pick up an item, from base of /mob/living/can_put_in_hand(): (obj/item/I)

COMSIG_LIVING_TRY_SYRINGE + + +

+

From post-can inject check of syringe after attack (mob/user)

COMSIG_LIVING_UNARMED_ATTACK + + +

+

from mob/living/*/UnarmedAttack(): (mob/living/source, atom/target, proximity, modifiers)

COMSIG_LIVING_USE_RADIO + + +

+

From mob/living/Say()

COMSIG_LIVING_WRITE_MEMORY + + +

+

from base of mob/living/Write_Memory(): (dead, gibbed)

COMSIG_LIVING_Z_IMPACT + + +

+

From base of mob/living/ZImpactDamage() (mob/living, levels, turf/t)

COMSIG_ORGAN_IMPLANTED + + +

+

Called on the organ when it is implanted into someone (mob/living/carbon/receiver)

COMSIG_ORGAN_REMOVED + + +

+

Called on the organ when it is removed from someone (mob/living/carbon/old_owner)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.html new file mode 100644 index 000000000000..e825fcbb64ab --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.html @@ -0,0 +1,324 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_TRY_ALT_ACTIONCalled on user, from base of /datum/strippable_item/alternate_action() (atom/target)
POST_BASIC_MOB_UPDATE_VARSPEEDCalled on /basic when updating its speed, from base of /mob/living/basic/update_basic_mob_varspeed(): ()
COMSIG_MOB_LOGINfrom base of /mob/Login(): ()
COMSIG_MOB_LOGOUTfrom base of /mob/Logout(): ()
COMSIG_MOB_STATCHANGEfrom base of mob/set_stat(): (new_stat, old_stat)
COMSIG_MOB_CLICKONfrom base of mob/clickon(): (atom/A, params)
COMSIG_MOB_MIDDLECLICKONfrom base of mob/MiddleClickOn(): (atom/A)
COMSIG_MOB_ALTCLICKONfrom base of mob/AltClickOn(): (atom/A)
COMSIG_MOB_ALTCLICKON_SECONDARYfrom base of mob/alt_click_on_secodary(): (atom/A)
COMSIG_MOB_BOT_PRE_STEPFrom base of /mob/living/simple_animal/bot/proc/bot_step()
COMPONENT_MOB_BOT_BLOCK_PRE_STEPShould always match COMPONENT_MOVABLE_BLOCK_PRE_MOVE as these are interchangeable and used to block movement.
COMSIG_MOB_BOT_STEPFrom base of /mob/living/simple_animal/bot/proc/bot_step()
COMSIG_MOB_CLIENT_PRE_LIVING_MOVEFrom base of /client/Move()
COMSIG_MOB_CLIENT_BLOCK_PRE_LIVING_MOVEShould we stop the current living movement attempt
COMSIG_MOB_CLIENT_PRE_MOVEFrom base of /client/Move(): (list/move_args)
COMSIG_MOB_CLIENT_BLOCK_PRE_MOVEShould always match COMPONENT_MOVABLE_BLOCK_PRE_MOVE as these are interchangeable and used to block movement.
MOVE_ARG_NEW_LOCThe argument of move_args which corresponds to the loc we're moving to
MOVE_ARG_DIRECTIONThe arugment of move_args which dictates our movement direction
COMSIG_MOB_CLIENT_MOVEDFrom base of /client/Move()
COMSIG_MOB_CLIENT_CHANGE_VIEWFrom base of /client/proc/change_view() (mob/source, new_size)
COMSIG_MOB_RESET_PERSPECTIVEFrom base of /mob/proc/reset_perspective() (mob/source)
COMSIG_CLIENT_SET_EYEfrom base of /client/proc/set_eye() : (atom/old_eye, atom/new_eye)
COMSIG_VIEWDATA_UPDATEfrom base of /datum/view_data/proc/afterViewChange() : (view)
COMSIG_MOB_MIND_TRANSFERRED_INTOfrom mind/transfer_to. Sent to the receiving mob.
COMSIG_MOB_TRIED_ACCESSfrom base of obj/allowed(mob/M): (/obj) returns ACCESS_ALLOWED if mob has id access to the obj
COMSIG_MOB_RESTRICT_MAGICfrom base of mob/can_cast_magic(): (mob/user, magic_flags, charge_cost)
COMSIG_MOB_RECEIVE_MAGICfrom base of mob/can_block_magic(): (mob/user, casted_magic_flags, charge_cost)
COMSIG_MOB_HUD_CREATEDfrom base of mob/create_mob_hud(): ()
COMSIG_MOB_APPLY_DAMAGEfrom base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone)
COMSIG_MOB_ATTACK_ALIENfrom base of /mob/living/attack_alien(): (user)
COMSIG_MOB_THROWfrom base of /mob/throw_item(): (atom/target)
COMSIG_MOB_EXAMINATEfrom base of /mob/verb/examinate(): (atom/target)
COMSIG_MOB_EYECONTACTfrom /mob/living/handle_eye_contact(): (mob/living/other_mob)
COMSIG_BLOCK_EYECONTACTreturn this if you want to block printing this message to this person, if you want to print your own (does not affect the other person's message)
COMSIG_MOB_UPDATE_SIGHTfrom base of /mob/update_sight(): ()
COMSIG_MOB_SAYfrom /mob/living/say(): ()
COMSIG_MOB_DEADSAYfrom /mob/say_dead(): (mob/speaker, message)
COMSIG_MOB_EMOTEfrom /mob/living/emote(): ()
COMSIG_MOB_SWAP_HANDSfrom base of mob/swap_hand(): (obj/item)
COMSIG_MOB_POINTEDfrom base of /mob/verb/pointed: (atom/A)
COMSIG_TRY_WIRES_INTERACTMob is trying to open the wires of a target /atom, from /datum/wires/interactable(): (atom/target)
COMSIG_MOB_CLIENT_LOGINsent when a mob/login() finishes: (client)
COMSIG_TRY_STRIPCalled on user, from base of /datum/strippable_item/try_(un)equip() (atom/target, obj/item/equipping?)
COMSIG_MOB_CREAMEDFrom /datum/component/creamed/Initialize()
COMSIG_MOB_CLUMSY_SHOOT_FOOTFrom /obj/item/gun/proc/check_botched()
COMSIG_TABLE_SLAMMEDfrom /obj/item/hand_item/slapper/attack_obj(): (source=obj/structure/table/slammed_table, mob/living/slammer)
COMSIG_MOB_ATTACK_HANDfrom base of atom/attack_hand(): (mob/user, modifiers)
COMSIG_MOB_ITEM_ATTACKfrom base of /obj/item/attack(): (mob/M, mob/user)
COMSIG_MOB_ITEM_AFTERATTACKfrom base of obj/item/afterattack(): (atom/target, obj/item/weapon, proximity_flag, click_parameters)
COMSIG_MOB_ITEM_AFTERATTACK_SECONDARYfrom base of obj/item/afterattack_secondary(): (atom/target, obj/item/weapon, proximity_flag, click_parameters)
COMSIG_MOB_ITEM_ATTACK_QDELETEDfrom base of obj/item/attack_qdeleted(): (atom/target, mob/user, proximity_flag, click_parameters)
COMSIG_MOB_ATTACK_RANGEDfrom base of mob/RangedAttack(): (atom/A, modifiers)
COMSIG_MOB_ATTACK_RANGED_SECONDARYfrom base of mob/ranged_secondary_attack(): (atom/target, modifiers)
COMSIG_MOB_CTRL_CLICKEDFrom base of atom/ctrl_click(): (atom/A)
COMSIG_MOB_MOVESPEED_UPDATEDFrom base of mob/update_movespeed():area
COMSIG_MOB_SELECTED_ZONE_SETFrom /atom/movable/screen/zone_sel/proc/set_selected_zone. +Fires when the user has changed their selected body target.
COMSIG_MOB_AUTOMUTE_CHECKfrom base of [/client/proc/handle_spam_prevention] (message, mute_type)
WAIVE_AUTOMUTE_CHECKPrevents the automute system checking this client for repeated messages.
COMSIG_MOB_MOTION_SICKNESS_UPDATEfrom base of /datum/preference/toggle/motion_sickness (new_value)

Define Details

+

COMPONENT_MOB_BOT_BLOCK_PRE_STEP + + +

+

Should always match COMPONENT_MOVABLE_BLOCK_PRE_MOVE as these are interchangeable and used to block movement.

COMSIG_BLOCK_EYECONTACT + + +

+

return this if you want to block printing this message to this person, if you want to print your own (does not affect the other person's message)

COMSIG_CLIENT_SET_EYE + + +

+

from base of /client/proc/set_eye() : (atom/old_eye, atom/new_eye)

COMSIG_MOB_ALTCLICKON + + +

+

from base of mob/AltClickOn(): (atom/A)

COMSIG_MOB_ALTCLICKON_SECONDARY + + +

+

from base of mob/alt_click_on_secodary(): (atom/A)

COMSIG_MOB_APPLY_DAMAGE + + +

+

from base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone)

COMSIG_MOB_ATTACK_ALIEN + + +

+

from base of /mob/living/attack_alien(): (user)

COMSIG_MOB_ATTACK_HAND + + +

+

from base of atom/attack_hand(): (mob/user, modifiers)

COMSIG_MOB_ATTACK_RANGED + + +

+

from base of mob/RangedAttack(): (atom/A, modifiers)

COMSIG_MOB_ATTACK_RANGED_SECONDARY + + +

+

from base of mob/ranged_secondary_attack(): (atom/target, modifiers)

COMSIG_MOB_AUTOMUTE_CHECK + + +

+

from base of [/client/proc/handle_spam_prevention] (message, mute_type)

COMSIG_MOB_BOT_PRE_STEP + + +

+

From base of /mob/living/simple_animal/bot/proc/bot_step()

COMSIG_MOB_BOT_STEP + + +

+

From base of /mob/living/simple_animal/bot/proc/bot_step()

COMSIG_MOB_CLICKON + + +

+

from base of mob/clickon(): (atom/A, params)

COMSIG_MOB_CLIENT_BLOCK_PRE_LIVING_MOVE + + +

+

Should we stop the current living movement attempt

COMSIG_MOB_CLIENT_BLOCK_PRE_MOVE + + +

+

Should always match COMPONENT_MOVABLE_BLOCK_PRE_MOVE as these are interchangeable and used to block movement.

COMSIG_MOB_CLIENT_CHANGE_VIEW + + +

+

From base of /client/proc/change_view() (mob/source, new_size)

COMSIG_MOB_CLIENT_LOGIN + + +

+

sent when a mob/login() finishes: (client)

COMSIG_MOB_CLIENT_MOVED + + +

+

From base of /client/Move()

COMSIG_MOB_CLIENT_PRE_LIVING_MOVE + + +

+

From base of /client/Move()

COMSIG_MOB_CLIENT_PRE_MOVE + + +

+

From base of /client/Move(): (list/move_args)

COMSIG_MOB_CLUMSY_SHOOT_FOOT + + +

+

From /obj/item/gun/proc/check_botched()

COMSIG_MOB_CREAMED + + +

+

From /datum/component/creamed/Initialize()

COMSIG_MOB_CTRL_CLICKED + + +

+

From base of atom/ctrl_click(): (atom/A)

COMSIG_MOB_DEADSAY + + +

+

from /mob/say_dead(): (mob/speaker, message)

COMSIG_MOB_EMOTE + + +

+

from /mob/living/emote(): ()

COMSIG_MOB_EXAMINATE + + +

+

from base of /mob/verb/examinate(): (atom/target)

COMSIG_MOB_EYECONTACT + + +

+

from /mob/living/handle_eye_contact(): (mob/living/other_mob)

COMSIG_MOB_HUD_CREATED + + +

+

from base of mob/create_mob_hud(): ()

COMSIG_MOB_ITEM_AFTERATTACK + + +

+

from base of obj/item/afterattack(): (atom/target, obj/item/weapon, proximity_flag, click_parameters)

COMSIG_MOB_ITEM_AFTERATTACK_SECONDARY + + +

+

from base of obj/item/afterattack_secondary(): (atom/target, obj/item/weapon, proximity_flag, click_parameters)

COMSIG_MOB_ITEM_ATTACK + + +

+

from base of /obj/item/attack(): (mob/M, mob/user)

COMSIG_MOB_ITEM_ATTACK_QDELETED + + +

+

from base of obj/item/attack_qdeleted(): (atom/target, mob/user, proximity_flag, click_parameters)

COMSIG_MOB_LOGIN + + +

+

from base of /mob/Login(): ()

COMSIG_MOB_LOGOUT + + +

+

from base of /mob/Logout(): ()

COMSIG_MOB_MIDDLECLICKON + + +

+

from base of mob/MiddleClickOn(): (atom/A)

COMSIG_MOB_MIND_TRANSFERRED_INTO + + +

+

from mind/transfer_to. Sent to the receiving mob.

COMSIG_MOB_MOTION_SICKNESS_UPDATE + + +

+

from base of /datum/preference/toggle/motion_sickness (new_value)

COMSIG_MOB_MOVESPEED_UPDATED + + +

+

From base of mob/update_movespeed():area

COMSIG_MOB_POINTED + + +

+

from base of /mob/verb/pointed: (atom/A)

COMSIG_MOB_RECEIVE_MAGIC + + +

+

from base of mob/can_block_magic(): (mob/user, casted_magic_flags, charge_cost)

COMSIG_MOB_RESET_PERSPECTIVE + + +

+

From base of /mob/proc/reset_perspective() (mob/source)

COMSIG_MOB_RESTRICT_MAGIC + + +

+

from base of mob/can_cast_magic(): (mob/user, magic_flags, charge_cost)

COMSIG_MOB_SAY + + +

+

from /mob/living/say(): ()

COMSIG_MOB_SELECTED_ZONE_SET + + +

+

From /atom/movable/screen/zone_sel/proc/set_selected_zone. +Fires when the user has changed their selected body target.

COMSIG_MOB_STATCHANGE + + +

+

from base of mob/set_stat(): (new_stat, old_stat)

COMSIG_MOB_SWAP_HANDS + + +

+

from base of mob/swap_hand(): (obj/item)

COMSIG_MOB_THROW + + +

+

from base of /mob/throw_item(): (atom/target)

COMSIG_MOB_TRIED_ACCESS + + +

+

from base of obj/allowed(mob/M): (/obj) returns ACCESS_ALLOWED if mob has id access to the obj

COMSIG_MOB_UPDATE_SIGHT + + +

+

from base of /mob/update_sight(): ()

COMSIG_TABLE_SLAMMED + + +

+

from /obj/item/hand_item/slapper/attack_obj(): (source=obj/structure/table/slammed_table, mob/living/slammer)

COMSIG_TRY_ALT_ACTION + + +

+

Called on user, from base of /datum/strippable_item/alternate_action() (atom/target)

COMSIG_TRY_STRIP + + +

+

Called on user, from base of /datum/strippable_item/try_(un)equip() (atom/target, obj/item/equipping?)

COMSIG_TRY_WIRES_INTERACT + + +

+

Mob is trying to open the wires of a target /atom, from /datum/wires/interactable(): (atom/target)

COMSIG_VIEWDATA_UPDATE + + +

+

from base of /datum/view_data/proc/afterViewChange() : (view)

MOVE_ARG_DIRECTION + + +

+

The arugment of move_args which dictates our movement direction

MOVE_ARG_NEW_LOC + + +

+

The argument of move_args which corresponds to the loc we're moving to

POST_BASIC_MOB_UPDATE_VARSPEED + + +

+

Called on /basic when updating its speed, from base of /mob/living/basic/update_basic_mob_varspeed(): ()

WAIVE_AUTOMUTE_CHECK + + +

+

Prevents the automute system checking this client for repeated messages.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.html new file mode 100644 index 000000000000..299c56b5f873 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.dm + +

+ + + +
COMSIG_PROCESS_BORGCHARGER_OCCUPANTsent from borg recharge stations: (amount, repairs)
COMSIG_BORG_SAFE_DECONSTRUCTsent from borg mobs to itself, for tools to catch an upcoming destroy() due to safe decon (rather than detonation)

Define Details

+

COMSIG_BORG_SAFE_DECONSTRUCT + + +

+

sent from borg mobs to itself, for tools to catch an upcoming destroy() due to safe decon (rather than detonation)

COMSIG_PROCESS_BORGCHARGER_OCCUPANT + + +

+

sent from borg recharge stations: (amount, repairs)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.html new file mode 100644 index 000000000000..6ff37033debd --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.dm + +

+ + + + + + +
COMSIG_SIMPLEMOB_SENTIENCEPOTIONcalled when a simplemob is given sentience from a potion (target = person who sentienced)
COMSIG_HOSTILE_PRE_ATTACKINGTARGETbefore attackingtarget has happened, source is the attacker and target is the attacked
COMSIG_HOSTILE_POST_ATTACKINGTARGETafter attackingtarget has happened, source is the attacker and target is the attacked, extra argument for if the attackingtarget was successful
COMSIG_RAT_INTERACTfrom base of mob/living/simple_animal/hostile/regalrat: (mob/living/simple_animal/hostile/regalrat/king)
COMSIG_OOZE_EAT_ATOMFROM mob/living/simple_animal/hostile/ooze/eat_atom(): (atom/target, edible_flags)

Define Details

+

COMSIG_HOSTILE_POST_ATTACKINGTARGET + + +

+

after attackingtarget has happened, source is the attacker and target is the attacked, extra argument for if the attackingtarget was successful

COMSIG_HOSTILE_PRE_ATTACKINGTARGET + + +

+

before attackingtarget has happened, source is the attacker and target is the attacked

COMSIG_OOZE_EAT_ATOM + + +

+

FROM mob/living/simple_animal/hostile/ooze/eat_atom(): (atom/target, edible_flags)

COMSIG_RAT_INTERACT + + +

+

from base of mob/living/simple_animal/hostile/regalrat: (mob/living/simple_animal/hostile/regalrat/king)

COMSIG_SIMPLEMOB_SENTIENCEPOTION + + +

+

called when a simplemob is given sentience from a potion (target = person who sentienced)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mod.html b/code/__DEFINES/dcs/signals/signals_mod.html new file mode 100644 index 000000000000..9cf5458132a6 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mod.html @@ -0,0 +1,102 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mod.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mod.dm + +

+ + + + + + + + + + + + + + + + +
COMSIG_MOD_MODULE_SELECTEDCalled when a module is selected to be the active one from on_select(obj/item/mod/module/module)
COMSIG_MOD_DEPLOYEDCalled when a MOD user deploys one or more of its parts.
COMSIG_MOD_RETRACTEDCalled when a MOD user retracts one or more of its parts.
COMSIG_MOD_PART_DEPLOYEDCalled when a MOD deploys a part.
COMSIG_MOD_PART_RETRACTEDCalled when a MOD retracts a part.
COMSIG_MOD_ACTIVATECalled when a MOD activation is called from toggle_activate(mob/user)
MOD_CANCEL_ACTIVATECancels the suit's activation
COMSIG_MOD_MODULE_REMOVALCalled when a MOD is having modules removed from crowbar_act(mob/user, obj/crowbar)
MOD_CANCEL_REMOVALCancels the removal of modules
COMSIG_MODULE_TRIGGEREDCalled when a module attempts to activate, however it does. At the end of checks so you can add some yourself, or work on trigger behavior (mob/user)
COMSIG_MODULE_ACTIVATEDCalled when a module activates, after all checks have passed and cooldown started.
COMSIG_MODULE_DEACTIVATEDCalled when a module deactivates, after all checks have passed.
COMSIG_MODULE_USEDCalled when a module is used, after all checks have passed and cooldown started.
COMSIG_MOD_WEARER_SETCalled when the MODsuit wearer is set.
COMSIG_MOD_WEARER_UNSETCalled when the MODsuit wearer is unset.

Define Details

+

COMSIG_MODULE_ACTIVATED + + +

+

Called when a module activates, after all checks have passed and cooldown started.

COMSIG_MODULE_DEACTIVATED + + +

+

Called when a module deactivates, after all checks have passed.

COMSIG_MODULE_TRIGGERED + + +

+

Called when a module attempts to activate, however it does. At the end of checks so you can add some yourself, or work on trigger behavior (mob/user)

COMSIG_MODULE_USED + + +

+

Called when a module is used, after all checks have passed and cooldown started.

COMSIG_MOD_ACTIVATE + + +

+

Called when a MOD activation is called from toggle_activate(mob/user)

COMSIG_MOD_DEPLOYED + + +

+

Called when a MOD user deploys one or more of its parts.

COMSIG_MOD_MODULE_REMOVAL + + +

+

Called when a MOD is having modules removed from crowbar_act(mob/user, obj/crowbar)

COMSIG_MOD_MODULE_SELECTED + + +

+

Called when a module is selected to be the active one from on_select(obj/item/mod/module/module)

COMSIG_MOD_PART_DEPLOYED + + +

+

Called when a MOD deploys a part.

COMSIG_MOD_PART_RETRACTED + + +

+

Called when a MOD retracts a part.

COMSIG_MOD_RETRACTED + + +

+

Called when a MOD user retracts one or more of its parts.

COMSIG_MOD_WEARER_SET + + +

+

Called when the MODsuit wearer is set.

COMSIG_MOD_WEARER_UNSET + + +

+

Called when the MODsuit wearer is unset.

MOD_CANCEL_ACTIVATE + + +

+

Cancels the suit's activation

MOD_CANCEL_REMOVAL + + +

+

Cancels the removal of modules

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_moveloop.html b/code/__DEFINES/dcs/signals/signals_moveloop.html new file mode 100644 index 000000000000..639abdecc1ec --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_moveloop.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_moveloop.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_moveloop.dm + +

+ + + + + +
COMSIG_MOVELOOP_STARTfrom [/datum/move_loop/loop_started] ():
COMSIG_MOVELOOP_STOPfrom /datum/move_loop/stop_loop ():
COMSIG_MOVELOOP_PREPROCESS_CHECKfrom /datum/move_loop/process ():
COMSIG_MOVELOOP_POSTPROCESSfrom /datum/move_loop/process (result, visual_delay): //Result is an enum value. Enums defined in __DEFINES/movement.dm

Define Details

+

COMSIG_MOVELOOP_POSTPROCESS + + +

+

from /datum/move_loop/process (result, visual_delay): //Result is an enum value. Enums defined in __DEFINES/movement.dm

COMSIG_MOVELOOP_PREPROCESS_CHECK + + +

+

from /datum/move_loop/process ():

COMSIG_MOVELOOP_START + + +

+

from [/datum/move_loop/loop_started] ():

COMSIG_MOVELOOP_STOP + + +

+

from /datum/move_loop/stop_loop ():

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_movetype.html b/code/__DEFINES/dcs/signals/signals_movetype.html new file mode 100644 index 000000000000..df8bb0bf156f --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_movetype.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_movetype.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_movetype.dm + +

+ + + + +
COMSIG_PAUSE_FLOATING_ANIMCalled when the floating anim has to be temporarily stopped and restarted later: (timer)
COMSIG_MOVETYPE_FLAG_ENABLEDFrom base of datum/element/movetype_handler/on_movement_type_trait_gain: (flag, old_movement_type)
COMSIG_MOVETYPE_FLAG_DISABLEDFrom base of datum/element/movetype_handler/on_movement_type_trait_loss: (flag, old_movement_type)

Define Details

+

COMSIG_MOVETYPE_FLAG_DISABLED + + +

+

From base of datum/element/movetype_handler/on_movement_type_trait_loss: (flag, old_movement_type)

COMSIG_MOVETYPE_FLAG_ENABLED + + +

+

From base of datum/element/movetype_handler/on_movement_type_trait_gain: (flag, old_movement_type)

COMSIG_PAUSE_FLOATING_ANIM + + +

+

Called when the floating anim has to be temporarily stopped and restarted later: (timer)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_music.html b/code/__DEFINES/dcs/signals/signals_music.html new file mode 100644 index 000000000000..86099621fe76 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_music.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_music.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_music.dm + +

+ + + + + + +
COMSIG_INSTRUMENT_STARTsent to the instrument when a song starts playing
COMSIG_INSTRUMENT_ENDsent to the instrument when a song stops playing
COMSIG_INSTRUMENT_SHOULD_STOP_PLAYINGsent to the instrument on /should_stop_playing(): (atom/player). Return values can be found in DEFINES/song.dm
COMSIG_INSTRUMENT_REPEATsent to the instrument (and player if available) when a song repeats (datum/song)
COMSIG_INSTRUMENT_TEMPO_CHANGEsent to the instrument when tempo changes, skipped on new. (datum/song)

Define Details

+

COMSIG_INSTRUMENT_END + + +

+

sent to the instrument when a song stops playing

COMSIG_INSTRUMENT_REPEAT + + +

+

sent to the instrument (and player if available) when a song repeats (datum/song)

COMSIG_INSTRUMENT_SHOULD_STOP_PLAYING + + +

+

sent to the instrument on /should_stop_playing(): (atom/player). Return values can be found in DEFINES/song.dm

COMSIG_INSTRUMENT_START + + +

+

sent to the instrument when a song starts playing

COMSIG_INSTRUMENT_TEMPO_CHANGE + + +

+

sent to the instrument when tempo changes, skipped on new. (datum/song)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_object.html b/code/__DEFINES/dcs/signals/signals_object.html new file mode 100644 index 000000000000..f10bcd40608e --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_object.html @@ -0,0 +1,701 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_object.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_object.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_OBJ_DECONSTRUCTfrom base of obj/deconstruct(): (disassembled)
COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCHfrom base of code/game/machinery
COMSIG_OBJ_HIDEfrom base of /turf/proc/levelupdate(). (intact) true to hide and false to unhide
COMSIG_OBJ_PAINTEDfrom /obj/item/toy/crayon/spraycan/afterattack: (color_is_dark)
COMSIG_MACHINERY_BROKENfrom /obj/machinery/atom_break(damage_flag): (damage_flag)
COMSIG_MACHINERY_POWER_LOSTfrom base power_change() when power is lost
COMSIG_MACHINERY_POWER_RESTOREDfrom base power_change() when power is restored
COMSIG_MACHINERY_SET_OCCUPANTfrom /obj/machinery/set_occupant(atom/movable/O): (new_occupant)
COMSIG_MACHINERY_DESTRUCTIVE_SCANfrom /obj/machinery/destructive_scanner/proc/open(aggressive): Runs when the destructive scanner scans a group of objects. (list/scanned_atoms)
COMSIG_ARCADE_PRIZEVENDfrom /obj/machinery/computer/arcade/prizevend(mob/user, prizes = 1)
COMSIG_MACHINERY_START_PROCESSING_AIRfrom /datum/controller/subsystem/air/proc/start_processing_machine: ()
COMSIG_MACHINERY_STOP_PROCESSING_AIRfrom /datum/controller/subsystem/air/proc/stop_processing_machine: ()
COMSIG_TRY_USE_MACHINEfrom /obj/machinery/can_interact(mob/user): Called on user when attempting to interact with a machine (obj/machinery/machine)
COMPONENT_CANT_USE_MACHINE_INTERACTCan't interact with the machine
COMPONENT_CANT_USE_MACHINE_TOOLSCan't use tools on the machine
COMSIG_IV_ATTACHfrom obj/machinery/iv_drip/IV_attach(target, usr) : (attachee)
COMSIG_IV_DETACHfrom obj/machinery/iv_drip/IV_detach() : (detachee)
COMSIG_TELEPORTER_NEW_TARGETfrom /obj/machinery/computer/teleporter/proc/set_target(target, old_target)
COMSIG_SUPERMATTER_DELAM_START_ALARMfrom /obj/machinery/power/supermatter/process_atmos(); when the SM delam reaches the point of sounding alarms
COMSIG_SUPERMATTER_DELAM_ALARMfrom /obj/machinery/power/supermatter/process_atmos(); when the SM sounds an audible alarm
COMSIG_CRYO_SET_ONfrom /obj/machinery/atmospherics/components/unary/cryo_cell/set_on(bool): (on)
COMSIG_OBJ_UNFREEZEfrom /obj/proc/unfreeze()
COMSIG_VALVE_SET_OPENfrom /obj/machinery/atmospherics/components/binary/valve/toggle(): (on)
COMSIG_ATMOS_MACHINE_SET_ONfrom /obj/machinery/atmospherics/set_on(active): (on)
COMSIG_LIGHT_SWITCH_SETfrom /obj/machinery/light_switch/set_lights(), sent to every switch in the area: (status)
COMSIG_FIREALARM_ON_TRIGGERfrom /obj/machinery/fire_alarm/reset(), /obj/machinery/fire_alarm/alarm(): (status)
COMSIG_AIRLOCK_SET_BOLTfrom /obj/machinery/door/airlock/set_bolt():
COMSIG_ITEM_EQUIPPEDfrom base of obj/item/equipped(): (/mob/equipper, slot)
COMSIG_MOB_EQUIPPED_ITEMA mob has just equipped an item. Called on /mob from base of /obj/item/equipped(): (/obj/item/equipped_item, slot)
COMSIG_MOB_UNEQUIPPED_ITEMA mob has just unequipped an item.
COMSIG_ITEM_PRE_UNEQUIPcalled on /obj/item before unequip from base of [mob/proc/tryUnequipItem]: (force, atom/newloc, no_move, invdrop, silent)
COMPONENT_ITEM_BLOCK_UNEQUIPonly the pre unequip can be cancelled
COMSIG_ITEM_POST_UNEQUIPcalled on /obj/item AFTER unequip from base of [mob/proc/tryUnequipItem]: (force, atom/newloc, no_move, invdrop, silent)
COMSIG_ITEM_ON_GRINDfrom base of obj/item/on_grind(): ())
COMSIG_ITEM_ON_JUICEfrom base of obj/item/on_juice(): ()
COMSIG_ITEM_ON_COMPOSTEDfrom /obj/machinery/hydroponics/attackby(obj/item/O, mob/user, params) when an object is used as compost: (mob/user)
COMSIG_ITEM_DRIEDCalled when an item is dried by a drying rack:
COMSIG_ITEM_DROPPEDfrom base of obj/item/dropped(): (mob/user)
COMSIG_ITEM_PICKUPfrom base of obj/item/pickup(): (/mob/taker)
COMSIG_ITEM_UI_ACTION_CLICKSebt from obj/item/ui_action_click(): (mob/user, datum/action)
COMPONENT_ACTION_HANDLEDReturn to prevent the default behavior (attack_selfing) from ocurring.
COMSIG_ITEM_ATTACK_ZONEfrom base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone)
COMSIG_ITEM_HIT_REACTfrom base of obj/item/hit_reaction(): (list/args)
COMPONENT_CHECK_BLOCK_BLOCKEDHit was blocked by the component, continue to hit_reaction
COMPONENT_CHECK_BLOCK_SKIP_REACTIONHit was blocked by the component, do not continue into hit_reaction()
COMSIG_ITEM_MICROWAVE_ACTcalled on item when microwaved (): (obj/machinery/microwave/M)
COMSIG_ITEM_MICROWAVE_COOKEDcalled on item when created through microwaving (): (obj/machinery/microwave/M, cooking_efficiency)
COMSIG_ITEM_SHARPEN_ACTfrom base of item/sharpener/attackby(): (amount, max)
COMSIG_ITEM_GRILLEDCalled when an object is grilled ontop of a griddle
COMSIG_GRILL_COMPLETEDCalled when an object is turned into another item through grilling ontop of a griddle
COMSIG_GRILL_FOODCalled when an object is meant to be grilled through a grill: (atom/fry_object, grill_time)
COMSIG_BAKE_COMPLETEDCalled when an object is turned into another item through baking in an oven
COMSIG_ARMOR_PLATEDCalled when an armor plate is successfully applied to an object
COMSIG_ITEM_RECHARGEDCalled when an item gets recharged by the ammo powerup
COMSIG_ITEM_OFFERINGCalled when an item is being offered, from [/obj/item/proc/on_offered(mob/living/carbon/offerer)]
COMPONENT_OFFER_INTERRUPTInterrupts the offer proc
COMSIG_ITEM_OFFER_TAKENCalled when an someone tries accepting an offered item, from [/obj/item/proc/on_offer_taken(mob/living/carbon/offerer, mob/living/carbon/taker)]
COMPONENT_OFFER_TAKE_INTERRUPTInterrupts the offer acceptance
COMSIG_ITEM_ATTACK_EFFECTsent from obj/effect/attackby(): (/obj/effect/hit_effect, /mob/living/attacker, params)
COMSIG_TOOL_IN_USEfrom base of /obj/item/proc/tool_check_callback: (mob/living/user)
COMSIG_TOOL_START_USEfrom base of /obj/item/proc/tool_start_check: (mob/living/user)
COMSIG_ITEM_DISABLE_EMBEDfrom /obj/item/proc/disableEmbedding:
COMSIG_MINE_TRIGGEREDfrom /obj/effect/mine/proc/triggermine:
COMSIG_SUPPLYPOD_LANDEDfrom [/obj/structure/closet/supplypod/proc/preOpen]:
COMSIG_BIBLE_SMACKEDfrom /obj/item/storage/book/bible/afterattack(): (mob/user, proximity)
COMSIG_END_BIBLE_CHAINstops the bible chain from continuing. When all of the effects of the bible smacking have been moved to a signal we can kill this
COMSIG_CLOSET_INSERTClosets +From base of [/obj/structure/closet/proc/insert]: (atom/movable/inserted)
COMPONENT_CLOSET_INSERT_INTERRUPTused to interrupt insertion
COMSIG_CLOSET_PRE_OPENFrom open: (forced)
COMSIG_CLOSET_POST_OPENFrom open: (forced)
COMSIG_CLOSET_DELIVEREDa deliver_first element closet was successfully delivered
COMSIG_EIGENSTATE_ACTIVATEEigenstasium +From base of /datum/controller/subsystem/eigenstates/proc/use_eigenlinked_atom: (var/target)
COMSIG_OBJ_ATTEMPT_CHARGEcalled when the payment component tries to charge an account.
COMSIG_OBJ_ATTEMPT_CHARGE_CHANGECalled when a payment component changes value
COMSIG_ITEM_PRE_EXPORTcalled before an item is sold by the exports system.
COMPONENT_STOP_EXPORTStops the export from calling sell_object() on the item, so you can handle it manually.
COMSIG_ITEM_EXPORTEDcalled when an item is sold by the exports subsystem
COMPONENT_STOP_EXPORT_REPORTStops the export from adding the export information to the report, so you can handle it manually.
COMSIG_ITEM_UNWRAPPEDcalled when a wrapped up item is opened by hand
COMSIG_ITEM_SPLIT_PROFITcalled when getting the item's exact ratio for cargo's profit.
COMSIG_ITEM_SPLIT_PROFIT_DRYcalled when getting the item's exact ratio for cargo's profit, without selling the item.
COMSIG_ITEM_STOREDfrom base of /atom/movable/proc/on_enter_storage(): (datum/storage/storage)
COMSIG_ITEM_UNSTOREDfrom base of /atom/movable/proc/on_exit_storage(): (datum/storage/storage)
COMSIG_SHOES_STEP_ACTIONfrom [/mob/living/carbon/human/Move]: ()
COMSIG_IMPLANT_ACTIVATEDfrom base of /obj/item/implant/proc/activate(): ()
COMSIG_IMPLANT_IMPLANTINGfrom base of /obj/item/implant/proc/implant(): (list/args)
COMSIG_IMPLANT_OTHERcalled on already installed implants when a new one is being added in /obj/item/implant/proc/implant(): (list/args, obj/item/implant/new_implant)
COMSIG_IMPLANT_IMPLANTEDcalled on implants, after a successful implantation: (mob/living/target, mob/user, silent, force)
COMSIG_IMPLANT_REMOVEDcalled on implants, after an implant has been removed: (mob/living/source, silent, special)
COMSIG_PRE_MINDSHIELD_IMPLANTcalled as a mindshield is implanted: (mob/user)
COMPONENT_MINDSHIELD_PASSEDDid they successfully get mindshielded?
COMPONENT_MINDSHIELD_RESISTEDDid they resist the mindshield?
COMSIG_MINDSHIELD_IMPLANTEDcalled once a mindshield is implanted: (mob/user)
COMPONENT_MINDSHIELD_DECONVERTEDAre we the reason for deconversion?
COMSIG_IMPLANT_EXISTING_UPLINKcalled on implants being implanted into someone with an uplink implant: (datum/component/uplink)
COMSIG_TABLET_CHANGE_IDcalled on pda when the user changes the ringtone: (mob/living/user, new_ringtone)
COMSIG_RADIO_NEW_FREQUENCYcalled from base of /obj/item/radio/proc/set_frequency(): (list/args)
COMSIG_RADIO_RECEIVEcalled during SSpacketnets/proc/ImmediateSubspaceVocalSend(): (speaker, message, freq_num, data)
COMSIG_PEN_ROTATEDcalled after rotation in /obj/item/pen/attack_self(): (rotation, mob/living/carbon/user)
COMSIG_GUN_TRY_FIREcalled in /obj/item/gun/try_fire_gun (user, target, flag, params)
COMSIG_MOB_FIRED_GUNcalled in /obj/item/gun/do_fire_gun (src, target, params, zone_override)
COMSIG_GUN_FIREDcalled in /obj/item/gun/do_fire_gun (user, target, params, zone_override)
COMSIG_GUN_CHAMBER_PROCESSEDcalled in /obj/item/gun/update_chamber (src)
COMSIG_CASING_EJECTEDcalled in /obj/item/gun/ballistic/update_chamber (casing)
COMSIG_CAMERA_IMAGE_CAPTUREDfrom /obj/item/camera/captureimage(): (atom/target, mob/user)
COMSIG_GRENADE_DETONATEcalled in /obj/item/gun/do_fire_gun (user, target, params, zone_override)
COMSIG_GRENADE_ARMEDcalled in /obj/item/gun/do_fire_gun (user, target, params, zone_override)
COMSIG_PROJECTILE_SELF_ON_HITfrom base of /obj/projectile/proc/on_hit(), like COMSIG_PROJECTILE_ON_HIT but on the projectile itself and with the hit limb (if any): (atom/movable/firer, atom/target, Angle, hit_limb)
COMSIG_PROJECTILE_ON_HITfrom base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle)
COMSIG_PROJECTILE_BEFORE_FIREfrom base of /obj/projectile/proc/fire(): (obj/projectile, atom/original_target)
COMSIG_PROJECTILE_FIREfrom the base of /obj/projectile/proc/fire(): ()
COMSIG_PROJECTILE_PREHITsent to targets during the process_hit proc of projectiles
COMSIG_PROJECTILE_RANGE_OUTsent to targets during the process_hit proc of projectiles
COMSIG_EMBED_TRY_FORCEfrom /obj/item/proc/tryEmbed sent when trying to force an embed (mainly for projectiles and eating glass)
COMSIG_PELLET_CLOUD_INITsent to targets during the process_hit proc of projectiles
COMSIG_VIM_CHIME_USEDfrom /datum/action/vehicle/sealed/noise/chime/Trigger(): ()
COMSIG_VIM_BUZZ_USEDfrom /datum/action/vehicle/sealed/noise/buzz/Trigger(): ()
COMSIG_VIM_HEADLIGHTS_TOGGLEDfrom /datum/action/vehicle/sealed/headlights/vim/Trigger(): (headlights_on)
COMSIG_MECHA_ACTION_TRIGGERsent from mecha action buttons to the mecha they're linked to
COMSIG_MECHA_MELEE_CLICKsent from clicking while you have no equipment selected. Sent before cooldown and adjacency checks, so you can use this for infinite range things if you want.
COMPONENT_CANCEL_MELEE_CLICKPrevents click from happening.
COMSIG_MECHA_EQUIPMENT_CLICKsent from clicking while you have equipment selected.
COMPONENT_CANCEL_EQUIPMENT_CLICKPrevents click from happening.
COMSIG_ITEM_ATTACK_SELFfrom base of obj/item/attack_self(): (/mob)
COMSIG_ITEM_ATTACK_OBJfrom base of obj/item/attack_obj(): (/obj, /mob)
COMSIG_ITEM_PRE_ATTACKfrom base of obj/item/pre_attack(): (atom/target, mob/user, params)
COMSIG_ITEM_PRE_ATTACK_SECONDARYFrom base of [/obj/item/proc/pre_attack_secondary()]: (atom/target, mob/user, params)
COMSIG_ITEM_ATTACK_SECONDARYFrom base of [/obj/item/proc/attack_secondary()]: (atom/target, mob/user, params)
COMSIG_ITEM_AFTERATTACKfrom base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters)
COMSIG_ITEM_AFTERATTACK_SECONDARYfrom base of obj/item/afterattack_secondary(): (atom/target, mob/user, proximity_flag, click_parameters)
COMSIG_ITEM_ATTACK_QDELETEDfrom base of obj/item/attack_qdeleted(): (atom/target, mob/user, params)
COMSIG_ASSEMBLY_PULSEDfrom /obj/item/assembly/proc/pulsed()
COMSIG_MMI_SET_BRAINMOBfrom base of /obj/item/mmi/set_brainmob(): (mob/living/brain/new_brainmob)
COMSIG_SPEED_POTION_APPLIEDfrom base of /obj/item/slimepotion/speed/afterattack(): (obj/target, /obj/src, mob/user)

Define Details

+

COMPONENT_ACTION_HANDLED + + +

+

Return to prevent the default behavior (attack_selfing) from ocurring.

COMPONENT_CANCEL_EQUIPMENT_CLICK + + +

+

Prevents click from happening.

COMPONENT_CANCEL_MELEE_CLICK + + +

+

Prevents click from happening.

COMPONENT_CANT_USE_MACHINE_INTERACT + + +

+

Can't interact with the machine

COMPONENT_CANT_USE_MACHINE_TOOLS + + +

+

Can't use tools on the machine

COMPONENT_CHECK_BLOCK_BLOCKED + + +

+

Hit was blocked by the component, continue to hit_reaction

COMPONENT_CHECK_BLOCK_SKIP_REACTION + + +

+

Hit was blocked by the component, do not continue into hit_reaction()

COMPONENT_CLOSET_INSERT_INTERRUPT + + +

+

used to interrupt insertion

COMPONENT_ITEM_BLOCK_UNEQUIP + + +

+

only the pre unequip can be cancelled

COMPONENT_MINDSHIELD_DECONVERTED + + +

+

Are we the reason for deconversion?

COMPONENT_MINDSHIELD_PASSED + + +

+

Did they successfully get mindshielded?

COMPONENT_MINDSHIELD_RESISTED + + +

+

Did they resist the mindshield?

COMPONENT_OFFER_INTERRUPT + + +

+

Interrupts the offer proc

COMPONENT_OFFER_TAKE_INTERRUPT + + +

+

Interrupts the offer acceptance

COMPONENT_STOP_EXPORT + + +

+

Stops the export from calling sell_object() on the item, so you can handle it manually.

COMPONENT_STOP_EXPORT_REPORT + + +

+

Stops the export from adding the export information to the report, so you can handle it manually.

COMSIG_AIRLOCK_SET_BOLT + + +

+

from /obj/machinery/door/airlock/set_bolt():

COMSIG_ARCADE_PRIZEVEND + + +

+

from /obj/machinery/computer/arcade/prizevend(mob/user, prizes = 1)

COMSIG_ARMOR_PLATED + + +

+

Called when an armor plate is successfully applied to an object

COMSIG_ASSEMBLY_PULSED + + +

+

from /obj/item/assembly/proc/pulsed()

COMSIG_ATMOS_MACHINE_SET_ON + + +

+

from /obj/machinery/atmospherics/set_on(active): (on)

COMSIG_BAKE_COMPLETED + + +

+

Called when an object is turned into another item through baking in an oven

COMSIG_BIBLE_SMACKED + + +

+

from /obj/item/storage/book/bible/afterattack(): (mob/user, proximity)

COMSIG_CAMERA_IMAGE_CAPTURED + + +

+

from /obj/item/camera/captureimage(): (atom/target, mob/user)

COMSIG_CASING_EJECTED + + +

+

called in /obj/item/gun/ballistic/update_chamber (casing)

COMSIG_CLOSET_DELIVERED + + +

+

a deliver_first element closet was successfully delivered

COMSIG_CLOSET_INSERT + + +

+

Closets +From base of [/obj/structure/closet/proc/insert]: (atom/movable/inserted)

COMSIG_CLOSET_POST_OPEN + + +

+

From open: (forced)

COMSIG_CLOSET_PRE_OPEN + + +

+

From open: (forced)

COMSIG_CRYO_SET_ON + + +

+

from /obj/machinery/atmospherics/components/unary/cryo_cell/set_on(bool): (on)

COMSIG_EIGENSTATE_ACTIVATE + + +

+

Eigenstasium +From base of /datum/controller/subsystem/eigenstates/proc/use_eigenlinked_atom: (var/target)

COMSIG_EMBED_TRY_FORCE + + +

+

from /obj/item/proc/tryEmbed sent when trying to force an embed (mainly for projectiles and eating glass)

COMSIG_END_BIBLE_CHAIN + + +

+

stops the bible chain from continuing. When all of the effects of the bible smacking have been moved to a signal we can kill this

COMSIG_FIREALARM_ON_TRIGGER + + +

+

from /obj/machinery/fire_alarm/reset(), /obj/machinery/fire_alarm/alarm(): (status)

COMSIG_GRENADE_ARMED + + +

+

called in /obj/item/gun/do_fire_gun (user, target, params, zone_override)

COMSIG_GRENADE_DETONATE + + +

+

called in /obj/item/gun/do_fire_gun (user, target, params, zone_override)

COMSIG_GRILL_COMPLETED + + +

+

Called when an object is turned into another item through grilling ontop of a griddle

COMSIG_GRILL_FOOD + + +

+

Called when an object is meant to be grilled through a grill: (atom/fry_object, grill_time)

COMSIG_GUN_CHAMBER_PROCESSED + + +

+

called in /obj/item/gun/update_chamber (src)

COMSIG_GUN_FIRED + + +

+

called in /obj/item/gun/do_fire_gun (user, target, params, zone_override)

COMSIG_GUN_TRY_FIRE + + +

+

called in /obj/item/gun/try_fire_gun (user, target, flag, params)

COMSIG_IMPLANT_ACTIVATED + + +

+

from base of /obj/item/implant/proc/activate(): ()

+

called on implants being implanted into someone with an uplink implant: (datum/component/uplink)

COMSIG_IMPLANT_IMPLANTED + + +

+

called on implants, after a successful implantation: (mob/living/target, mob/user, silent, force)

COMSIG_IMPLANT_IMPLANTING + + +

+

from base of /obj/item/implant/proc/implant(): (list/args)

COMSIG_IMPLANT_OTHER + + +

+

called on already installed implants when a new one is being added in /obj/item/implant/proc/implant(): (list/args, obj/item/implant/new_implant)

COMSIG_IMPLANT_REMOVED + + +

+

called on implants, after an implant has been removed: (mob/living/source, silent, special)

COMSIG_ITEM_AFTERATTACK + + +

+

from base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters)

COMSIG_ITEM_AFTERATTACK_SECONDARY + + +

+

from base of obj/item/afterattack_secondary(): (atom/target, mob/user, proximity_flag, click_parameters)

COMSIG_ITEM_ATTACK_EFFECT + + +

+

sent from obj/effect/attackby(): (/obj/effect/hit_effect, /mob/living/attacker, params)

COMSIG_ITEM_ATTACK_OBJ + + +

+

from base of obj/item/attack_obj(): (/obj, /mob)

COMSIG_ITEM_ATTACK_QDELETED + + +

+

from base of obj/item/attack_qdeleted(): (atom/target, mob/user, params)

COMSIG_ITEM_ATTACK_SECONDARY + + +

+

From base of [/obj/item/proc/attack_secondary()]: (atom/target, mob/user, params)

COMSIG_ITEM_ATTACK_SELF + + +

+

from base of obj/item/attack_self(): (/mob)

COMSIG_ITEM_ATTACK_ZONE + + +

+

from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone)

COMSIG_ITEM_DISABLE_EMBED + + +

+

from /obj/item/proc/disableEmbedding:

COMSIG_ITEM_DRIED + + +

+

Called when an item is dried by a drying rack:

COMSIG_ITEM_DROPPED + + +

+

from base of obj/item/dropped(): (mob/user)

COMSIG_ITEM_EQUIPPED + + +

+

from base of obj/item/equipped(): (/mob/equipper, slot)

COMSIG_ITEM_EXPORTED + + +

+

called when an item is sold by the exports subsystem

COMSIG_ITEM_GRILLED + + +

+

Called when an object is grilled ontop of a griddle

COMSIG_ITEM_HIT_REACT + + +

+

from base of obj/item/hit_reaction(): (list/args)

COMSIG_ITEM_MICROWAVE_ACT + + +

+

called on item when microwaved (): (obj/machinery/microwave/M)

COMSIG_ITEM_MICROWAVE_COOKED + + +

+

called on item when created through microwaving (): (obj/machinery/microwave/M, cooking_efficiency)

COMSIG_ITEM_OFFERING + + +

+

Called when an item is being offered, from [/obj/item/proc/on_offered(mob/living/carbon/offerer)]

COMSIG_ITEM_OFFER_TAKEN + + +

+

Called when an someone tries accepting an offered item, from [/obj/item/proc/on_offer_taken(mob/living/carbon/offerer, mob/living/carbon/taker)]

COMSIG_ITEM_ON_COMPOSTED + + +

+

from /obj/machinery/hydroponics/attackby(obj/item/O, mob/user, params) when an object is used as compost: (mob/user)

COMSIG_ITEM_ON_GRIND + + +

+

from base of obj/item/on_grind(): ())

COMSIG_ITEM_ON_JUICE + + +

+

from base of obj/item/on_juice(): ()

COMSIG_ITEM_PICKUP + + +

+

from base of obj/item/pickup(): (/mob/taker)

COMSIG_ITEM_POST_UNEQUIP + + +

+

called on /obj/item AFTER unequip from base of [mob/proc/tryUnequipItem]: (force, atom/newloc, no_move, invdrop, silent)

COMSIG_ITEM_PRE_ATTACK + + +

+

from base of obj/item/pre_attack(): (atom/target, mob/user, params)

COMSIG_ITEM_PRE_ATTACK_SECONDARY + + +

+

From base of [/obj/item/proc/pre_attack_secondary()]: (atom/target, mob/user, params)

COMSIG_ITEM_PRE_EXPORT + + +

+

called before an item is sold by the exports system.

COMSIG_ITEM_PRE_UNEQUIP + + +

+

called on /obj/item before unequip from base of [mob/proc/tryUnequipItem]: (force, atom/newloc, no_move, invdrop, silent)

COMSIG_ITEM_RECHARGED + + +

+

Called when an item gets recharged by the ammo powerup

COMSIG_ITEM_SHARPEN_ACT + + +

+

from base of item/sharpener/attackby(): (amount, max)

COMSIG_ITEM_SPLIT_PROFIT + + +

+

called when getting the item's exact ratio for cargo's profit.

COMSIG_ITEM_SPLIT_PROFIT_DRY + + +

+

called when getting the item's exact ratio for cargo's profit, without selling the item.

COMSIG_ITEM_STORED + + +

+

from base of /atom/movable/proc/on_enter_storage(): (datum/storage/storage)

COMSIG_ITEM_UI_ACTION_CLICK + + +

+

Sebt from obj/item/ui_action_click(): (mob/user, datum/action)

COMSIG_ITEM_UNSTORED + + +

+

from base of /atom/movable/proc/on_exit_storage(): (datum/storage/storage)

COMSIG_ITEM_UNWRAPPED + + +

+

called when a wrapped up item is opened by hand

COMSIG_IV_ATTACH + + +

+

from obj/machinery/iv_drip/IV_attach(target, usr) : (attachee)

COMSIG_IV_DETACH + + +

+

from obj/machinery/iv_drip/IV_detach() : (detachee)

COMSIG_LIGHT_SWITCH_SET + + +

+

from /obj/machinery/light_switch/set_lights(), sent to every switch in the area: (status)

COMSIG_MACHINERY_BROKEN + + +

+

from /obj/machinery/atom_break(damage_flag): (damage_flag)

COMSIG_MACHINERY_DESTRUCTIVE_SCAN + + +

+

from /obj/machinery/destructive_scanner/proc/open(aggressive): Runs when the destructive scanner scans a group of objects. (list/scanned_atoms)

COMSIG_MACHINERY_POWER_LOST + + +

+

from base power_change() when power is lost

COMSIG_MACHINERY_POWER_RESTORED + + +

+

from base power_change() when power is restored

COMSIG_MACHINERY_SET_OCCUPANT + + +

+

from /obj/machinery/set_occupant(atom/movable/O): (new_occupant)

COMSIG_MACHINERY_START_PROCESSING_AIR + + +

+

from /datum/controller/subsystem/air/proc/start_processing_machine: ()

COMSIG_MACHINERY_STOP_PROCESSING_AIR + + +

+

from /datum/controller/subsystem/air/proc/stop_processing_machine: ()

COMSIG_MECHA_ACTION_TRIGGER + + +

+

sent from mecha action buttons to the mecha they're linked to

COMSIG_MECHA_EQUIPMENT_CLICK + + +

+

sent from clicking while you have equipment selected.

COMSIG_MECHA_MELEE_CLICK + + +

+

sent from clicking while you have no equipment selected. Sent before cooldown and adjacency checks, so you can use this for infinite range things if you want.

COMSIG_MINDSHIELD_IMPLANTED + + +

+

called once a mindshield is implanted: (mob/user)

COMSIG_MINE_TRIGGERED + + +

+

from /obj/effect/mine/proc/triggermine:

COMSIG_MMI_SET_BRAINMOB + + +

+

from base of /obj/item/mmi/set_brainmob(): (mob/living/brain/new_brainmob)

COMSIG_MOB_EQUIPPED_ITEM + + +

+

A mob has just equipped an item. Called on /mob from base of /obj/item/equipped(): (/obj/item/equipped_item, slot)

COMSIG_MOB_FIRED_GUN + + +

+

called in /obj/item/gun/do_fire_gun (src, target, params, zone_override)

COMSIG_MOB_UNEQUIPPED_ITEM + + +

+

A mob has just unequipped an item.

COMSIG_OBJ_ATTEMPT_CHARGE + + +

+

called when the payment component tries to charge an account.

COMSIG_OBJ_ATTEMPT_CHARGE_CHANGE + + +

+

Called when a payment component changes value

COMSIG_OBJ_DECONSTRUCT + + +

+

from base of obj/deconstruct(): (disassembled)

COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH + + +

+

from base of code/game/machinery

COMSIG_OBJ_HIDE + + +

+

from base of /turf/proc/levelupdate(). (intact) true to hide and false to unhide

COMSIG_OBJ_PAINTED + + +

+

from /obj/item/toy/crayon/spraycan/afterattack: (color_is_dark)

COMSIG_OBJ_UNFREEZE + + +

+

from /obj/proc/unfreeze()

COMSIG_PELLET_CLOUD_INIT + + +

+

sent to targets during the process_hit proc of projectiles

COMSIG_PEN_ROTATED + + +

+

called after rotation in /obj/item/pen/attack_self(): (rotation, mob/living/carbon/user)

COMSIG_PRE_MINDSHIELD_IMPLANT + + +

+

called as a mindshield is implanted: (mob/user)

COMSIG_PROJECTILE_BEFORE_FIRE + + +

+

from base of /obj/projectile/proc/fire(): (obj/projectile, atom/original_target)

COMSIG_PROJECTILE_FIRE + + +

+

from the base of /obj/projectile/proc/fire(): ()

COMSIG_PROJECTILE_ON_HIT + + +

+

from base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle)

COMSIG_PROJECTILE_PREHIT + + +

+

sent to targets during the process_hit proc of projectiles

COMSIG_PROJECTILE_RANGE_OUT + + +

+

sent to targets during the process_hit proc of projectiles

COMSIG_PROJECTILE_SELF_ON_HIT + + +

+

from base of /obj/projectile/proc/on_hit(), like COMSIG_PROJECTILE_ON_HIT but on the projectile itself and with the hit limb (if any): (atom/movable/firer, atom/target, Angle, hit_limb)

COMSIG_RADIO_NEW_FREQUENCY + + +

+

called from base of /obj/item/radio/proc/set_frequency(): (list/args)

COMSIG_RADIO_RECEIVE + + +

+

called during SSpacketnets/proc/ImmediateSubspaceVocalSend(): (speaker, message, freq_num, data)

COMSIG_SHOES_STEP_ACTION + + +

+

from [/mob/living/carbon/human/Move]: ()

COMSIG_SPEED_POTION_APPLIED + + +

+

from base of /obj/item/slimepotion/speed/afterattack(): (obj/target, /obj/src, mob/user)

COMSIG_SUPERMATTER_DELAM_ALARM + + +

+

from /obj/machinery/power/supermatter/process_atmos(); when the SM sounds an audible alarm

COMSIG_SUPERMATTER_DELAM_START_ALARM + + +

+

from /obj/machinery/power/supermatter/process_atmos(); when the SM delam reaches the point of sounding alarms

COMSIG_SUPPLYPOD_LANDED + + +

+

from [/obj/structure/closet/supplypod/proc/preOpen]:

COMSIG_TABLET_CHANGE_ID + + +

+

called on pda when the user changes the ringtone: (mob/living/user, new_ringtone)

COMSIG_TELEPORTER_NEW_TARGET + + +

+

from /obj/machinery/computer/teleporter/proc/set_target(target, old_target)

COMSIG_TOOL_IN_USE + + +

+

from base of /obj/item/proc/tool_check_callback: (mob/living/user)

COMSIG_TOOL_START_USE + + +

+

from base of /obj/item/proc/tool_start_check: (mob/living/user)

COMSIG_TRY_USE_MACHINE + + +

+

from /obj/machinery/can_interact(mob/user): Called on user when attempting to interact with a machine (obj/machinery/machine)

COMSIG_VALVE_SET_OPEN + + +

+

from /obj/machinery/atmospherics/components/binary/valve/toggle(): (on)

COMSIG_VIM_BUZZ_USED + + +

+

from /datum/action/vehicle/sealed/noise/buzz/Trigger(): ()

COMSIG_VIM_CHIME_USED + + +

+

from /datum/action/vehicle/sealed/noise/chime/Trigger(): ()

COMSIG_VIM_HEADLIGHTS_TOGGLED + + +

+

from /datum/action/vehicle/sealed/headlights/vim/Trigger(): (headlights_on)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_painting.html b/code/__DEFINES/dcs/signals/signals_painting.html new file mode 100644 index 000000000000..25761cbecf78 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_painting.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_painting.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_painting.dm + +

+ + + +
COMSIG_PAINTING_TOOL_SET_COLORfrom base of /item/proc/set_painting_tool_color(): (chosen_color)
COMSIG_PAINTING_TOOL_GET_ADDITIONAL_DATAfrom base of /item/canvas/ui_data(): (data)

Define Details

+

COMSIG_PAINTING_TOOL_GET_ADDITIONAL_DATA + + +

+

from base of /item/canvas/ui_data(): (data)

COMSIG_PAINTING_TOOL_SET_COLOR + + +

+

from base of /item/proc/set_painting_tool_color(): (chosen_color)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_radiation.html b/code/__DEFINES/dcs/signals/signals_radiation.html new file mode 100644 index 000000000000..17ddc6ee3011 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_radiation.html @@ -0,0 +1,64 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_radiation.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_radiation.dm + +

+ + + + + + +
COMSIG_IN_RANGE_OF_IRRADIATIONFrom the radiation subsystem, called before a potential irradiation. +This does not guarantee radiation can reach or will succeed, but merely that there's a radiation source within range. +(datum/radiation_pulse_information/pulse_information, insulation_to_target)
COMSIG_IN_THRESHOLD_OF_IRRADIATIONFired when the target could be irradiated, right before the chance check is rolled. +(datum/radiation_pulse_information/pulse_information)
SKIP_MINIMUM_EXPOSURE_TIME_CHECKIf this is flipped, then minimum exposure time will not be checked. +If it is not flipped, and the pulse information has a minimum exposure time, then +the countdown will begin.
COMSIG_GEIGER_COUNTER_SCANFired when scanning something with a geiger counter. +(mob/user, obj/item/geiger_counter/geiger_counter)
COMSIG_GEIGER_COUNTER_SCAN_SUCCESSFULIf not flagged by any handler, will report the subject as being free of irradiation

Define Details

+

COMSIG_GEIGER_COUNTER_SCAN + + +

+

Fired when scanning something with a geiger counter. +(mob/user, obj/item/geiger_counter/geiger_counter)

COMSIG_GEIGER_COUNTER_SCAN_SUCCESSFUL + + +

+

If not flagged by any handler, will report the subject as being free of irradiation

COMSIG_IN_RANGE_OF_IRRADIATION + + +

+

From the radiation subsystem, called before a potential irradiation. +This does not guarantee radiation can reach or will succeed, but merely that there's a radiation source within range. +(datum/radiation_pulse_information/pulse_information, insulation_to_target)

COMSIG_IN_THRESHOLD_OF_IRRADIATION + + +

+

Fired when the target could be irradiated, right before the chance check is rolled. +(datum/radiation_pulse_information/pulse_information)

SKIP_MINIMUM_EXPOSURE_TIME_CHECK + + +

+

If this is flipped, then minimum exposure time will not be checked. +If it is not flipped, and the pulse information has a minimum exposure time, then +the countdown will begin.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_reagent.html b/code/__DEFINES/dcs/signals/signals_reagent.html new file mode 100644 index 000000000000..f6843597ffa2 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_reagent.html @@ -0,0 +1,142 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_reagent.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_reagent.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_ATOM_EXPOSE_REAGENTSfrom base of atom/expose_reagents(): (/list, /datum/reagents, methods, volume_modifier, show_message)
COMPONENT_NO_EXPOSE_REAGENTSPrevents the atom from being exposed to reagents if returned on COMSIG_ATOM_EXPOSE_REAGENTS
COMSIG_ATOM_EXPOSE_REAGENTfrom base of /datum/reagent/proc/expose_atom: (/datum/reagent, reac_volume)
COMSIG_REAGENT_EXPOSE_ATOMfrom base of /datum/reagent/proc/expose_atom: (/atom, reac_volume)
COMSIG_REAGENT_EXPOSE_OBJfrom base of /datum/reagent/proc/expose_atom: (/obj, reac_volume)
COMSIG_REAGENT_EXPOSE_MOBfrom base of /datum/reagent/proc/expose_atom: (/mob/living, reac_volume, methods, show_message, touch_protection, /mob/camera/blob) // ovemind arg is only used by blob reagents.
COMSIG_REAGENT_EXPOSE_TURFfrom base of /datum/reagent/proc/expose_atom: (/turf, reac_volume)
COMSIG_ON_MULTIPLE_LIVES_RESPAWNfrom base of [/datum/component/multiple_lives/proc/respawn]: (mob/respawned_mob, gibbed, lives_left)
COMSIG_REAGENTS_PRE_ADD_REAGENTfrom base of /datum/reagents/proc/add_reagent - Sent before the reagent is added: (reagenttype, amount, reagtemp, data, no_react)
COMPONENT_CANCEL_REAGENT_ADDPrevents the reagent from being added.
COMSIG_REAGENTS_NEW_REAGENTfrom base of /datum/reagents/proc/add_reagent: (/datum/reagent, amount, reagtemp, data, no_react)
COMSIG_REAGENTS_ADD_REAGENTfrom base of /datum/reagents/proc/add_reagent: (/datum/reagent, amount, reagtemp, data, no_react)
COMSIG_REAGENTS_DEL_REAGENTfrom base of /datum/reagents/proc/del_reagent: (/datum/reagent)
COMSIG_REAGENTS_REM_REAGENTfrom base of /datum/reagents/proc/remove_reagent: (/datum/reagent, amount)
COMSIG_REAGENTS_CLEAR_REAGENTSfrom base of /datum/reagents/proc/clear_reagents: ()
COMSIG_REAGENTS_TEMP_CHANGEfrom base of /datum/reagents/proc/set_temperature: (new_temp, old_temp)
COMSIG_REAGENTS_REACTEDfrom base of /datum/reagents/proc/handle_reactions: (num_reactions)
COMSIG_REAGENTS_REACTION_STEPfrom base of /datum/reagents/proc/process: (num_reactions)
COMSIG_REAGENTS_EXPOSE_ATOMfrom base of /atom/proc/expose_reagents: (/atom, /list, methods, volume_modifier, show_message)
COMSIG_REAGENTS_EXPOSE_OBJfrom base of /obj/proc/expose_reagents: (/obj, /list, methods, volume_modifier, show_message)
COMSIG_REAGENTS_EXPOSE_MOBfrom base of /mob/living/proc/expose_reagents: (/mob/living, /list, methods, volume_modifier, show_message, touch_protection)
COMSIG_REAGENTS_EXPOSE_TURFfrom base of /turf/proc/expose_reagents: (/turf, /list, methods, volume_modifier, show_message)
COMSIG_REAGENTS_CRAFTING_PINGfrom base of [/datum/component/personal_crafting/proc/del_reqs]: ()

Define Details

+

COMPONENT_CANCEL_REAGENT_ADD + + +

+

Prevents the reagent from being added.

COMPONENT_NO_EXPOSE_REAGENTS + + +

+

Prevents the atom from being exposed to reagents if returned on COMSIG_ATOM_EXPOSE_REAGENTS

COMSIG_ATOM_EXPOSE_REAGENT + + +

+

from base of /datum/reagent/proc/expose_atom: (/datum/reagent, reac_volume)

COMSIG_ATOM_EXPOSE_REAGENTS + + +

+

from base of atom/expose_reagents(): (/list, /datum/reagents, methods, volume_modifier, show_message)

COMSIG_ON_MULTIPLE_LIVES_RESPAWN + + +

+

from base of [/datum/component/multiple_lives/proc/respawn]: (mob/respawned_mob, gibbed, lives_left)

COMSIG_REAGENTS_ADD_REAGENT + + +

+

from base of /datum/reagents/proc/add_reagent: (/datum/reagent, amount, reagtemp, data, no_react)

COMSIG_REAGENTS_CLEAR_REAGENTS + + +

+

from base of /datum/reagents/proc/clear_reagents: ()

COMSIG_REAGENTS_CRAFTING_PING + + +

+

from base of [/datum/component/personal_crafting/proc/del_reqs]: ()

COMSIG_REAGENTS_DEL_REAGENT + + +

+

from base of /datum/reagents/proc/del_reagent: (/datum/reagent)

COMSIG_REAGENTS_EXPOSE_ATOM + + +

+

from base of /atom/proc/expose_reagents: (/atom, /list, methods, volume_modifier, show_message)

COMSIG_REAGENTS_EXPOSE_MOB + + +

+

from base of /mob/living/proc/expose_reagents: (/mob/living, /list, methods, volume_modifier, show_message, touch_protection)

COMSIG_REAGENTS_EXPOSE_OBJ + + +

+

from base of /obj/proc/expose_reagents: (/obj, /list, methods, volume_modifier, show_message)

COMSIG_REAGENTS_EXPOSE_TURF + + +

+

from base of /turf/proc/expose_reagents: (/turf, /list, methods, volume_modifier, show_message)

COMSIG_REAGENTS_NEW_REAGENT + + +

+

from base of /datum/reagents/proc/add_reagent: (/datum/reagent, amount, reagtemp, data, no_react)

COMSIG_REAGENTS_PRE_ADD_REAGENT + + +

+

from base of /datum/reagents/proc/add_reagent - Sent before the reagent is added: (reagenttype, amount, reagtemp, data, no_react)

COMSIG_REAGENTS_REACTED + + +

+

from base of /datum/reagents/proc/handle_reactions: (num_reactions)

COMSIG_REAGENTS_REACTION_STEP + + +

+

from base of /datum/reagents/proc/process: (num_reactions)

COMSIG_REAGENTS_REM_REAGENT + + +

+

from base of /datum/reagents/proc/remove_reagent: (/datum/reagent, amount)

COMSIG_REAGENTS_TEMP_CHANGE + + +

+

from base of /datum/reagents/proc/set_temperature: (new_temp, old_temp)

COMSIG_REAGENT_EXPOSE_ATOM + + +

+

from base of /datum/reagent/proc/expose_atom: (/atom, reac_volume)

COMSIG_REAGENT_EXPOSE_MOB + + +

+

from base of /datum/reagent/proc/expose_atom: (/mob/living, reac_volume, methods, show_message, touch_protection, /mob/camera/blob) // ovemind arg is only used by blob reagents.

COMSIG_REAGENT_EXPOSE_OBJ + + +

+

from base of /datum/reagent/proc/expose_atom: (/obj, reac_volume)

COMSIG_REAGENT_EXPOSE_TURF + + +

+

from base of /datum/reagent/proc/expose_atom: (/turf, reac_volume)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_restaurant.html b/code/__DEFINES/dcs/signals/signals_restaurant.html new file mode 100644 index 000000000000..d4596abc3810 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_restaurant.html @@ -0,0 +1,39 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_restaurant.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_restaurant.dm + +

+ + + +
COMSIG_ITEM_IS_CORRECT_CUSTOM_ORDERRestaurant +(wanted_item) custom order signal sent when checking if the order is correct.
COMSIG_ITEM_SOLD_TO_CUSTOMER(customer, container) venue signal sent when a venue sells an item. source is the thing sold, which can be a datum, so we send container for location checks

Define Details

+

COMSIG_ITEM_IS_CORRECT_CUSTOM_ORDER + + +

+

Restaurant +(wanted_item) custom order signal sent when checking if the order is correct.

COMSIG_ITEM_SOLD_TO_CUSTOMER + + +

+

(customer, container) venue signal sent when a venue sells an item. source is the thing sold, which can be a datum, so we send container for location checks

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_scangate.html b/code/__DEFINES/dcs/signals/signals_scangate.html new file mode 100644 index 000000000000..faffce8bea84 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_scangate.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_scangate.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_scangate.dm + +

+ + + + +
COMSIG_SCANGATE_PASS_TRIGGERCalled when somebody passes through a scanner gate and it triggers
COMSIG_SCANGATE_PASS_NO_TRIGGERCalled when somebody passes through a scanner gate and it does not trigger
COMSIG_SCANGATE_SHELL_PASSCalled when something passes through a scanner gate shell

Define Details

+

COMSIG_SCANGATE_PASS_NO_TRIGGER + + +

+

Called when somebody passes through a scanner gate and it does not trigger

COMSIG_SCANGATE_PASS_TRIGGER + + +

+

Called when somebody passes through a scanner gate and it triggers

COMSIG_SCANGATE_SHELL_PASS + + +

+

Called when something passes through a scanner gate shell

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_screentips.html b/code/__DEFINES/dcs/signals/signals_screentips.html new file mode 100644 index 000000000000..a5c43964e0fa --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_screentips.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_screentips.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_screentips.dm + +

+ + + + +
COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGETA "Type-A" contextual screentip interaction. +These are used for items that are defined by their behavior. They define their contextual text within themselves, +not in their targets. +Examples include syringes (LMB to inject, RMB to draw) and health analyzers (LMB to scan health/wounds, RMB for chems) +Items can override add_item_context(), and call register_item_context() in order to easily connect to this. +Called on /obj/item with a mutable screentip context list, the hovered target, and the mob hovering. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.
COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEMA "Type-B" contextual screentip interaction. +These are atoms that are defined by what happens to them. These should define contextual text within themselves, and +not in their operating tools. +Examples include construction objects (LMB with glass to put in screen for computers). +Called on /atom with a mutable screentip context list, the item being used, and the mob hovering. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.
CONTEXTUAL_SCREENTIP_SETTells the contextual screentips system that the list context was mutated.

Define Details

+

COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM + + +

+

A "Type-B" contextual screentip interaction. +These are atoms that are defined by what happens to them. These should define contextual text within themselves, and +not in their operating tools. +Examples include construction objects (LMB with glass to put in screen for computers). +Called on /atom with a mutable screentip context list, the item being used, and the mob hovering. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.

COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET + + +

+

A "Type-A" contextual screentip interaction. +These are used for items that are defined by their behavior. They define their contextual text within themselves, +not in their targets. +Examples include syringes (LMB to inject, RMB to draw) and health analyzers (LMB to scan health/wounds, RMB for chems) +Items can override add_item_context(), and call register_item_context() in order to easily connect to this. +Called on /obj/item with a mutable screentip context list, the hovered target, and the mob hovering. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.

CONTEXTUAL_SCREENTIP_SET + + +

+

Tells the contextual screentips system that the list context was mutated.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_spatial_grid.html b/code/__DEFINES/dcs/signals/signals_spatial_grid.html new file mode 100644 index 000000000000..3b75dbfb5a6d --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_spatial_grid.html @@ -0,0 +1,39 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_spatial_grid.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_spatial_grid.dm + +

+ + + +
SPATIAL_GRID_CELL_ENTEREDCalled from base of /datum/controller/subsystem/spatial_grid/proc/enter_cell: (/atom/movable)
SPATIAL_GRID_CELL_EXITEDCalled from base of /datum/controller/subsystem/spatial_grid/proc/exit_cell: (/atom/movable)

Define Details

+

SPATIAL_GRID_CELL_ENTERED + + + +

+

Called from base of /datum/controller/subsystem/spatial_grid/proc/enter_cell: (/atom/movable)

SPATIAL_GRID_CELL_EXITED + + + +

+

Called from base of /datum/controller/subsystem/spatial_grid/proc/exit_cell: (/atom/movable)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_specie.html b/code/__DEFINES/dcs/signals/signals_specie.html new file mode 100644 index 000000000000..c5e9a2acc2bc --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_specie.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_specie.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_specie.dm + +

+ + + +
COMSIG_SPECIES_GAINfrom datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species)
COMSIG_SPECIES_LOSSfrom datum/species/on_species_loss(): (datum/species/lost_species)

Define Details

+

COMSIG_SPECIES_GAIN + + +

+

from datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species)

COMSIG_SPECIES_LOSS + + +

+

from datum/species/on_species_loss(): (datum/species/lost_species)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_spell.html b/code/__DEFINES/dcs/signals/signals_spell.html new file mode 100644 index 000000000000..9398bc7c07cb --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_spell.html @@ -0,0 +1,185 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_spell.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_spell.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_MOB_BEFORE_SPELL_CASTSent from /datum/action/cooldown/spell/before_cast() to the caster: (datum/action/cooldown/spell/spell, atom/cast_on)
COMSIG_SPELL_BEFORE_CASTSent from /datum/action/cooldown/spell/before_cast() to the spell: (atom/cast_on)
SPELL_CANCEL_CASTReturn to prevent the spell cast from continuing.
SPELL_NO_FEEDBACKReturn from before cast signals to prevent the spell from giving off sound or invocation.
SPELL_NO_IMMEDIATE_COOLDOWNReturn from before cast signals to prevent the spell from going on cooldown before aftercast.
COMSIG_MOB_SPELL_ACTIVATEDSent from /datum/action/cooldown/spell/set_click_ability() to the caster: (datum/action/cooldown/spell/spell)
SPELL_CANCEL_ACTIVATIONSame as spell_cancel_cast, as they're able to be used interchangeably
COMSIG_MOB_CAST_SPELLSent from /datum/action/cooldown/spell/cast() to the caster: (datum/action/cooldown/spell/spell, atom/cast_on)
COMSIG_SPELL_CASTSent from /datum/action/cooldown/spell/cast() to the spell: (atom/cast_on)
COMSIG_SPELL_AFTER_CASTSent from /datum/action/cooldown/spell/after_cast() to the spell: (atom/cast_on)
COMSIG_SPELL_CAST_RESETSent from /datum/action/cooldown/spell/reset_spell_cooldown() to the spell: ()
COMSIG_SPELL_PROJECTILE_HITSent from /datum/action/cooldown/spell/pointed/projectile/on_cast_hit: (atom/hit, atom/firer, obj/projectile/source)
COMSIG_SPELL_AOE_ON_CASTSent from /datum/action/cooldown/spell/aoe/cast: (list/atoms_affected, atom/caster)
COMSIG_SPELL_CONE_ON_CASTSent from /datum/action/cooldown/spell/cone/cast: (list/atoms_affected, atom/caster)
COMSIG_SPELL_CONE_ON_LAYER_EFFECTSent from /datum/action/cooldown/spell/cone/do_cone_effects: (list/atoms_affected, atom/caster, level)
COMSIG_SPELL_TOUCH_HAND_HITSent from /datum/action/cooldown/spell/touch/do_hand_hit: (atom/hit, mob/living/carbon/caster, obj/item/melee/touch_attack/hand)
COMSIG_MOB_ENTER_JAUNTSent from datum/action/cooldown/spell/jaunt/enter_jaunt, to the mob jaunting: (obj/effect/dummy/phased_mob/jaunt, datum/action/cooldown/spell/spell)
COMSIG_MOB_EJECTED_FROM_JAUNTSet from /obj/effect/dummy/phased_mob after the mob is ejected from its contents: (obj/effect/dummy/phased_mob/jaunt, mob/living/unjaunter)
COMSIG_MOB_AFTER_EXIT_JAUNTSent from datum/action/cooldown/spell/jaunt/exit_jaunt, after the mob exited jaunt: (datum/action/cooldown/spell/spell)
COMSIG_LIVING_BLOOD_CRAWL_PRE_CONSUMEDSent from/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/try_enter_jaunt, +to any unconscious / critical mobs being dragged when the jaunter enters blood: +(datum/action/cooldown/spell/jaunt/bloodcrawl/crawl, mob/living/jaunter, obj/effect/decal/cleanable/blood)
COMSIG_LIVING_BLOOD_CRAWL_CONSUMEDSent from/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/consume_victim, +to the victim being consumed by the slaughter demon. +(datum/action/cooldown/spell/jaunt/bloodcrawl/crawl, mob/living/jaunter)
COMPONENT_STOP_CONSUMPTIONReturn at any point to stop the bloodcrawl "consume" process from continuing.
COMSIG_ITEM_IMBUE_SOULSent from /datum/action/cooldown/spell/lichdom/cast(), to the item being imbued: (datum/action/cooldown/spell/spell, mob/user)
COMPONENT_BLOCK_IMBUEReturn to stop the cast and prevent the soul imbue
COMSIG_ATOM_MAGICALLY_UNLOCKEDSent from /datum/action/cooldown/spell/aoe/knock/cast(), to every nearby turf (for connect loc): (datum/action/cooldown/spell/aoe/knock/spell, mob/living/caster)
COMSIG_ITEM_MARK_RETRIEVALSent from /datum/action/cooldown/spell/summonitem/cast(), to the item being marked for recall: (datum/action/cooldown/spell/spell, mob/user)
COMPONENT_BLOCK_MARK_RETRIEVALReturn to stop the cast and prevent the item from being marked
COMSIG_ITEM_MAGICALLY_CHARGEDSent from /datum/action/cooldown/spell/charge/cast(), to the item in hand being charged: (datum/action/cooldown/spell/spell, mob/user)
COMPONENT_ITEM_CHARGEDReturn if an item was successfuly recharged
COMPONENT_ITEM_BURNT_OUTReturn if the item had a negative side effect occur while recharging

Define Details

+

COMPONENT_BLOCK_IMBUE + + +

+

Return to stop the cast and prevent the soul imbue

COMPONENT_BLOCK_MARK_RETRIEVAL + + +

+

Return to stop the cast and prevent the item from being marked

COMPONENT_ITEM_BURNT_OUT + + +

+

Return if the item had a negative side effect occur while recharging

COMPONENT_ITEM_CHARGED + + +

+

Return if an item was successfuly recharged

COMPONENT_STOP_CONSUMPTION + + +

+

Return at any point to stop the bloodcrawl "consume" process from continuing.

COMSIG_ATOM_MAGICALLY_UNLOCKED + + +

+

Sent from /datum/action/cooldown/spell/aoe/knock/cast(), to every nearby turf (for connect loc): (datum/action/cooldown/spell/aoe/knock/spell, mob/living/caster)

COMSIG_ITEM_IMBUE_SOUL + + +

+

Sent from /datum/action/cooldown/spell/lichdom/cast(), to the item being imbued: (datum/action/cooldown/spell/spell, mob/user)

COMSIG_ITEM_MAGICALLY_CHARGED + + +

+

Sent from /datum/action/cooldown/spell/charge/cast(), to the item in hand being charged: (datum/action/cooldown/spell/spell, mob/user)

COMSIG_ITEM_MARK_RETRIEVAL + + +

+

Sent from /datum/action/cooldown/spell/summonitem/cast(), to the item being marked for recall: (datum/action/cooldown/spell/spell, mob/user)

COMSIG_LIVING_BLOOD_CRAWL_CONSUMED + + +

+

Sent from/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/consume_victim, +to the victim being consumed by the slaughter demon. +(datum/action/cooldown/spell/jaunt/bloodcrawl/crawl, mob/living/jaunter)

COMSIG_LIVING_BLOOD_CRAWL_PRE_CONSUMED + + +

+

Sent from/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/try_enter_jaunt, +to any unconscious / critical mobs being dragged when the jaunter enters blood: +(datum/action/cooldown/spell/jaunt/bloodcrawl/crawl, mob/living/jaunter, obj/effect/decal/cleanable/blood)

COMSIG_MOB_AFTER_EXIT_JAUNT + + +

+

Sent from datum/action/cooldown/spell/jaunt/exit_jaunt, after the mob exited jaunt: (datum/action/cooldown/spell/spell)

COMSIG_MOB_BEFORE_SPELL_CAST + + +

+

Sent from /datum/action/cooldown/spell/before_cast() to the caster: (datum/action/cooldown/spell/spell, atom/cast_on)

COMSIG_MOB_CAST_SPELL + + +

+

Sent from /datum/action/cooldown/spell/cast() to the caster: (datum/action/cooldown/spell/spell, atom/cast_on)

COMSIG_MOB_EJECTED_FROM_JAUNT + + +

+

Set from /obj/effect/dummy/phased_mob after the mob is ejected from its contents: (obj/effect/dummy/phased_mob/jaunt, mob/living/unjaunter)

COMSIG_MOB_ENTER_JAUNT + + +

+

Sent from datum/action/cooldown/spell/jaunt/enter_jaunt, to the mob jaunting: (obj/effect/dummy/phased_mob/jaunt, datum/action/cooldown/spell/spell)

COMSIG_MOB_SPELL_ACTIVATED + + +

+

Sent from /datum/action/cooldown/spell/set_click_ability() to the caster: (datum/action/cooldown/spell/spell)

COMSIG_SPELL_AFTER_CAST + + +

+

Sent from /datum/action/cooldown/spell/after_cast() to the spell: (atom/cast_on)

COMSIG_SPELL_AOE_ON_CAST + + +

+

Sent from /datum/action/cooldown/spell/aoe/cast: (list/atoms_affected, atom/caster)

COMSIG_SPELL_BEFORE_CAST + + +

+

Sent from /datum/action/cooldown/spell/before_cast() to the spell: (atom/cast_on)

COMSIG_SPELL_CAST + + +

+

Sent from /datum/action/cooldown/spell/cast() to the spell: (atom/cast_on)

COMSIG_SPELL_CAST_RESET + + +

+

Sent from /datum/action/cooldown/spell/reset_spell_cooldown() to the spell: ()

COMSIG_SPELL_CONE_ON_CAST + + +

+

Sent from /datum/action/cooldown/spell/cone/cast: (list/atoms_affected, atom/caster)

COMSIG_SPELL_CONE_ON_LAYER_EFFECT + + +

+

Sent from /datum/action/cooldown/spell/cone/do_cone_effects: (list/atoms_affected, atom/caster, level)

COMSIG_SPELL_PROJECTILE_HIT + + +

+

Sent from /datum/action/cooldown/spell/pointed/projectile/on_cast_hit: (atom/hit, atom/firer, obj/projectile/source)

COMSIG_SPELL_TOUCH_HAND_HIT + + +

+

Sent from /datum/action/cooldown/spell/touch/do_hand_hit: (atom/hit, mob/living/carbon/caster, obj/item/melee/touch_attack/hand)

SPELL_CANCEL_ACTIVATION + + +

+

Same as spell_cancel_cast, as they're able to be used interchangeably

SPELL_CANCEL_CAST + + +

+

Return to prevent the spell cast from continuing.

SPELL_NO_FEEDBACK + + +

+

Return from before cast signals to prevent the spell from giving off sound or invocation.

SPELL_NO_IMMEDIATE_COOLDOWN + + +

+

Return from before cast signals to prevent the spell from going on cooldown before aftercast.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_storage.html b/code/__DEFINES/dcs/signals/signals_storage.html new file mode 100644 index 000000000000..60a6d5512eba --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_storage.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_storage.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_storage.dm + +

+ + + + + + + + +
COMSIG_STORAGE_DUMP_CONTENTSent when /datum/storage/dump_content_at(): (obj/item/storage_source, mob/user)
STORAGE_DUMP_HANDLEDReturn to stop the standard dump behavior.
COMSIG_STORAGE_INSERTED_ITEMSent after /datum/storage/attempt_insert(): (obj/item/inserted, mob/user, override, force)
COMSIG_STORAGE_ATTEMPT_OPENSent when /datum/storage/open_storage(): (mob/to_show, performing_quickdraw)
STORAGE_INTERRUPT_OPENInterrupt the opening.
COMSIG_STORAGE_CAN_INSERTSent when /datum/storage/can_insert(): (obj/item/to_insert, mob/user, messages, force)
STORAGE_NO_INSERTDisallow the insertion.

Define Details

+

COMSIG_STORAGE_ATTEMPT_OPEN + + +

+

Sent when /datum/storage/open_storage(): (mob/to_show, performing_quickdraw)

COMSIG_STORAGE_CAN_INSERT + + +

+

Sent when /datum/storage/can_insert(): (obj/item/to_insert, mob/user, messages, force)

COMSIG_STORAGE_DUMP_CONTENT + + +

+

Sent when /datum/storage/dump_content_at(): (obj/item/storage_source, mob/user)

COMSIG_STORAGE_INSERTED_ITEM + + +

+

Sent after /datum/storage/attempt_insert(): (obj/item/inserted, mob/user, override, force)

STORAGE_DUMP_HANDLED + + +

+

Return to stop the standard dump behavior.

STORAGE_INTERRUPT_OPEN + + +

+

Interrupt the opening.

STORAGE_NO_INSERT + + +

+

Disallow the insertion.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_subsystem.html b/code/__DEFINES/dcs/signals/signals_subsystem.html new file mode 100644 index 000000000000..282c701808c0 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_subsystem.html @@ -0,0 +1,64 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_subsystem.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_subsystem.dm + +

+ + + + + + + + +
COMSIG_SUBSYSTEM_POST_INITIALIZESubsystem signals +From base of datum/controller/subsystem/Initialize: (start_timeofday)
COMSIG_TICKER_ENTER_PREGAMECalled when the ticker enters the pre-game phase
COMSIG_TICKER_ENTER_SETTING_UPCalled when the ticker sets up the game for start
COMSIG_TICKER_ERROR_SETTING_UPCalled when the ticker fails to set up the game for start
COMSIG_TICKER_ROUND_STARTINGCalled when the round has started, but before GAME_STATE_PLAYING
COMSIG_ADDED_POINT_OF_INTERESTSent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_added : (atom/new_poi)
COMSIG_REMOVED_POINT_OF_INTERESTSent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_removed : (atom/old_poi)

Define Details

+

COMSIG_ADDED_POINT_OF_INTEREST + + +

+

Sent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_added : (atom/new_poi)

COMSIG_REMOVED_POINT_OF_INTEREST + + +

+

Sent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_removed : (atom/old_poi)

COMSIG_SUBSYSTEM_POST_INITIALIZE + + +

+

Subsystem signals +From base of datum/controller/subsystem/Initialize: (start_timeofday)

COMSIG_TICKER_ENTER_PREGAME + + +

+

Called when the ticker enters the pre-game phase

COMSIG_TICKER_ENTER_SETTING_UP + + +

+

Called when the ticker sets up the game for start

COMSIG_TICKER_ERROR_SETTING_UP + + +

+

Called when the ticker fails to set up the game for start

COMSIG_TICKER_ROUND_STARTING + + +

+

Called when the round has started, but before GAME_STATE_PLAYING

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_traitor.html b/code/__DEFINES/dcs/signals/signals_traitor.html new file mode 100644 index 000000000000..7dc823b083fd --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_traitor.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_traitor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_traitor.dm + +

+ + + + + + + + + +
COMSIG_GLOB_TRAITOR_OBJECTIVE_COMPLETEDCalled when the hack_comm_console objective is completed.
COMSIG_UPLINK_HANDLER_ON_UPDATECalled whenever the uplink handler receives any sort of update. Used by uplinks to update their UI. No arguments passed
COMSIG_TRAITOR_OBJECTIVE_PRE_GENERATECalled before the traitor objective is generated
COMSIG_TRAITOR_OBJECTIVE_COMPLETEDCalled whenever the traitor objective is completed
COMSIG_TRAITOR_OBJECTIVE_FAILEDCalled whenever the traitor objective is failed
COMSIG_TRAITOR_BUG_PLANTED_GROUNDCalled when a traitor bug is planted in an area
COMSIG_TRAITOR_BUG_PLANTED_OBJECTCalled when a traitor bug is planted
COMSIG_TRAITOR_BUG_PRE_PLANTED_OBJECTCalled before a traitor bug is planted, where it can still be overrided

Define Details

+

COMSIG_GLOB_TRAITOR_OBJECTIVE_COMPLETED + + +

+

Called when the hack_comm_console objective is completed.

COMSIG_TRAITOR_BUG_PLANTED_GROUND + + +

+

Called when a traitor bug is planted in an area

COMSIG_TRAITOR_BUG_PLANTED_OBJECT + + +

+

Called when a traitor bug is planted

COMSIG_TRAITOR_BUG_PRE_PLANTED_OBJECT + + +

+

Called before a traitor bug is planted, where it can still be overrided

COMSIG_TRAITOR_OBJECTIVE_COMPLETED + + +

+

Called whenever the traitor objective is completed

COMSIG_TRAITOR_OBJECTIVE_FAILED + + +

+

Called whenever the traitor objective is failed

COMSIG_TRAITOR_OBJECTIVE_PRE_GENERATE + + +

+

Called before the traitor objective is generated

+

Called whenever the uplink handler receives any sort of update. Used by uplinks to update their UI. No arguments passed

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_tram.html b/code/__DEFINES/dcs/signals/signals_tram.html new file mode 100644 index 000000000000..2d2b342258c0 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_tram.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_tram.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_tram.dm + +

+ + + +
COMSIG_TRAM_SET_TRAVELLINGSent from /obj/structure/industrial_lift/tram when its travelling status updates. (travelling)
COMSIG_TRAM_TRAVELSent from /obj/structure/industrial_lift/tram when it begins to travel. (obj/effect/landmark/tram/from_where, obj/effect/landmark/tram/to_where)

Define Details

+

COMSIG_TRAM_SET_TRAVELLING + + +

+

Sent from /obj/structure/industrial_lift/tram when its travelling status updates. (travelling)

COMSIG_TRAM_TRAVEL + + +

+

Sent from /obj/structure/industrial_lift/tram when it begins to travel. (obj/effect/landmark/tram/from_where, obj/effect/landmark/tram/to_where)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_transform.html b/code/__DEFINES/dcs/signals/signals_transform.html new file mode 100644 index 000000000000..393013c117a3 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_transform.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_transform.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_transform.dm + +

+ + + + + +
COMSIG_TRANSFORMING_PRE_TRANSFORMFrom /datum/component/transforming/proc/on_attack_self(obj/item/source, mob/user): (obj/item/source, mob/user, active)
COMPONENT_BLOCK_TRANSFORMReturn COMPONENT_BLOCK_TRANSFORM to prevent the item from transforming.
COMSIG_TRANSFORMING_ON_TRANSFORMFrom /datum/component/transforming/proc/do_transform(obj/item/source, mob/user): (obj/item/source, mob/user, active)
COMPONENT_NO_DEFAULT_MESSAGEReturn COMPONENT_NO_DEFAULT_MESSAGE to prevent the transforming component from displaying the default transform message / sound.

Define Details

+

COMPONENT_BLOCK_TRANSFORM + + +

+

Return COMPONENT_BLOCK_TRANSFORM to prevent the item from transforming.

COMPONENT_NO_DEFAULT_MESSAGE + + +

+

Return COMPONENT_NO_DEFAULT_MESSAGE to prevent the transforming component from displaying the default transform message / sound.

COMSIG_TRANSFORMING_ON_TRANSFORM + + +

+

From /datum/component/transforming/proc/do_transform(obj/item/source, mob/user): (obj/item/source, mob/user, active)

COMSIG_TRANSFORMING_PRE_TRANSFORM + + +

+

From /datum/component/transforming/proc/on_attack_self(obj/item/source, mob/user): (obj/item/source, mob/user, active)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_turf.html b/code/__DEFINES/dcs/signals/signals_turf.html new file mode 100644 index 000000000000..5b002c051369 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_turf.html @@ -0,0 +1,71 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_turf.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_turf.dm + +

+ + + + + + + + + +
COMSIG_TURF_CHANGEfrom base of turf/ChangeTurf(): (path, list/new_baseturfs, flags, list/post_change_callbacks). +post_change_callbacks is a list that signal handlers can mutate to append /datum/callback objects. +They will be called with the new turf after the turf has changed.
COMSIG_TURF_HAS_GRAVITYfrom base of atom/has_gravity(): (atom/asker, list/forced_gravities)
COMSIG_TURF_ON_SHUTTLE_MOVEfrom base of turf/proc/onShuttleMove(): (turf/new_turf)
COMSIG_TURF_CALCULATED_ADJACENT_ATMOSfrom /turf/proc/immediate_calculate_adjacent_turfs()
COMSIG_TURF_INDUSTRIAL_LIFT_ENTERcalled when an industrial lift enters this turf
COMSIG_TURF_DECAL_DETACHEDfrom /datum/element/decal/Detach(): (description, cleanable, directional, mutable_appearance/pic)
COMSIG_TURF_PREPARE_STEP_SOUNDfrom /datum/element/footstep/prepare_step(): (list/steps)
COMSIG_TURF_NO_LONGER_BLOCK_LIGHTCalled when turf no longer blocks light from passing through

Define Details

+

COMSIG_TURF_CALCULATED_ADJACENT_ATMOS + + +

+

from /turf/proc/immediate_calculate_adjacent_turfs()

COMSIG_TURF_CHANGE + + +

+

from base of turf/ChangeTurf(): (path, list/new_baseturfs, flags, list/post_change_callbacks). +post_change_callbacks is a list that signal handlers can mutate to append /datum/callback objects. +They will be called with the new turf after the turf has changed.

COMSIG_TURF_DECAL_DETACHED + + +

+

from /datum/element/decal/Detach(): (description, cleanable, directional, mutable_appearance/pic)

COMSIG_TURF_HAS_GRAVITY + + +

+

from base of atom/has_gravity(): (atom/asker, list/forced_gravities)

COMSIG_TURF_INDUSTRIAL_LIFT_ENTER + + +

+

called when an industrial lift enters this turf

COMSIG_TURF_NO_LONGER_BLOCK_LIGHT + + +

+

Called when turf no longer blocks light from passing through

COMSIG_TURF_ON_SHUTTLE_MOVE + + +

+

from base of turf/proc/onShuttleMove(): (turf/new_turf)

COMSIG_TURF_PREPARE_STEP_SOUND + + +

+

from /datum/element/footstep/prepare_step(): (list/steps)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_twohand.html b/code/__DEFINES/dcs/signals/signals_twohand.html new file mode 100644 index 000000000000..3460d96ecf30 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_twohand.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_twohand.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_twohand.dm + +

+ + + +
COMSIG_ITEM_WIELDfrom base of datum/component/two_handed/proc/wield(mob/living/carbon/user): (/mob/user)
COMSIG_ITEM_UNWIELDfrom base of datum/component/two_handed/proc/unwield(mob/living/carbon/user): (/mob/user)

Define Details

+

COMSIG_ITEM_UNWIELD + + +

+

from base of datum/component/two_handed/proc/unwield(mob/living/carbon/user): (/mob/user)

COMSIG_ITEM_WIELD + + +

+

from base of datum/component/two_handed/proc/wield(mob/living/carbon/user): (/mob/user)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_vehicle.html b/code/__DEFINES/dcs/signals/signals_vehicle.html new file mode 100644 index 000000000000..760e0aec7b06 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_vehicle.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_vehicle.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_vehicle.dm + +

+ + + +
COMSIG_VEHICLE_RIDDENCalled on a mob when they start riding a vehicle (obj/vehicle)
EJECT_FROM_VEHICLEReturn this to signal that the mob should be removed from the vehicle

Define Details

+

COMSIG_VEHICLE_RIDDEN + + +

+

Called on a mob when they start riding a vehicle (obj/vehicle)

EJECT_FROM_VEHICLE + + +

+

Return this to signal that the mob should be removed from the vehicle

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_wash.html b/code/__DEFINES/dcs/signals/signals_wash.html new file mode 100644 index 000000000000..d4fb04abda62 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_wash.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_wash.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_wash.dm + +

+ + +
COMSIG_COMPONENT_CLEAN_FACE_ACTcalled when you wash your face at a sink: (num/strength)

Define Details

+

COMSIG_COMPONENT_CLEAN_FACE_ACT + + +

+

called when you wash your face at a sink: (num/strength)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_xeno_control.html b/code/__DEFINES/dcs/signals/signals_xeno_control.html new file mode 100644 index 000000000000..2395fb5ea9d8 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_xeno_control.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_xeno_control.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_xeno_control.dm + +

+ + + + + + + +
COMSIG_XENO_SLIME_CLICK_CTRLfrom slime CtrlClickOn(): (/mob)
COMSIG_XENO_SLIME_CLICK_ALTfrom slime AltClickOn(): (/mob)
COMSIG_XENO_SLIME_CLICK_SHIFTfrom slime ShiftClickOn(): (/mob)
COMSIG_XENO_TURF_CLICK_SHIFTfrom turf ShiftClickOn(): (/mob)
COMSIG_XENO_TURF_CLICK_CTRLfrom turf AltClickOn(): (/mob)
COMSIG_XENO_MONKEY_CLICK_CTRLfrom monkey CtrlClickOn(): (/mob)

Define Details

+

COMSIG_XENO_MONKEY_CLICK_CTRL + + +

+

from monkey CtrlClickOn(): (/mob)

COMSIG_XENO_SLIME_CLICK_ALT + + +

+

from slime AltClickOn(): (/mob)

COMSIG_XENO_SLIME_CLICK_CTRL + + +

+

from slime CtrlClickOn(): (/mob)

COMSIG_XENO_SLIME_CLICK_SHIFT + + +

+

from slime ShiftClickOn(): (/mob)

COMSIG_XENO_TURF_CLICK_CTRL + + +

+

from turf AltClickOn(): (/mob)

COMSIG_XENO_TURF_CLICK_SHIFT + + +

+

from turf ShiftClickOn(): (/mob)

+ + + diff --git a/code/__DEFINES/directional.html b/code/__DEFINES/directional.html new file mode 100644 index 000000000000..462b21cca9bb --- /dev/null +++ b/code/__DEFINES/directional.html @@ -0,0 +1,65 @@ + + + + + + + code/__DEFINES/directional.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/directional.dm + +

+ + + + + + + + +
TEXT_NORTHNorth direction as a string "[1]"
TEXT_SOUTHSouth direction as a string "[2]"
TEXT_EASTEast direction as a string "[4]"
TEXT_WESTWest direction as a string "[8]"
REVERSE_DIRInverse direction, taking into account UP|DOWN if necessary.
MAPPING_DIRECTIONAL_HELPERSCreate directional subtypes for a path to simplify mapping.
MAPPING_DIRECTIONAL_HELPERS_ROBUSTWhen you need to prescribe very specific offsets, use this over MAPPING_DIRECTIONAL_HELPERS

Define Details

+

MAPPING_DIRECTIONAL_HELPERS + + + +

+

Create directional subtypes for a path to simplify mapping.

MAPPING_DIRECTIONAL_HELPERS_ROBUST + + + +

+

When you need to prescribe very specific offsets, use this over MAPPING_DIRECTIONAL_HELPERS

REVERSE_DIR + + + +

+

Inverse direction, taking into account UP|DOWN if necessary.

TEXT_EAST + + +

+

East direction as a string "[4]"

TEXT_NORTH + + +

+

North direction as a string "[1]"

TEXT_SOUTH + + +

+

South direction as a string "[2]"

TEXT_WEST + + +

+

West direction as a string "[8]"

+ + + diff --git a/code/__DEFINES/diseases.html b/code/__DEFINES/diseases.html new file mode 100644 index 000000000000..dc37d783c6ed --- /dev/null +++ b/code/__DEFINES/diseases.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/diseases.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/diseases.dm + +

+ + + + + + + + +
DISEASE_SEVERITY_POSITIVEDiseases that buff, heal, or at least do nothing at all
DISEASE_SEVERITY_NONTHREATDiseases that may have annoying effects, but nothing disruptive (sneezing)
DISEASE_SEVERITY_MINORDiseases that can annoy in concrete ways (dizziness)
DISEASE_SEVERITY_MEDIUMDiseases that can do minor harm, or severe annoyance (vomit)
DISEASE_SEVERITY_HARMFULDiseases that can do significant harm, or severe disruption (brainrot)
DISEASE_SEVERITY_DANGEROUSDiseases that can kill or maim if left untreated (flesh eating, blindness)
DISEASE_SEVERITY_BIOHAZARDDiseases that can quickly kill an unprepared victim (fungal tb, gbs)

Define Details

+

DISEASE_SEVERITY_BIOHAZARD + + +

+

Diseases that can quickly kill an unprepared victim (fungal tb, gbs)

DISEASE_SEVERITY_DANGEROUS + + +

+

Diseases that can kill or maim if left untreated (flesh eating, blindness)

DISEASE_SEVERITY_HARMFUL + + +

+

Diseases that can do significant harm, or severe disruption (brainrot)

DISEASE_SEVERITY_MEDIUM + + +

+

Diseases that can do minor harm, or severe annoyance (vomit)

DISEASE_SEVERITY_MINOR + + +

+

Diseases that can annoy in concrete ways (dizziness)

DISEASE_SEVERITY_NONTHREAT + + +

+

Diseases that may have annoying effects, but nothing disruptive (sneezing)

DISEASE_SEVERITY_POSITIVE + + +

+

Diseases that buff, heal, or at least do nothing at all

+ + + diff --git a/code/__DEFINES/disk.html b/code/__DEFINES/disk.html new file mode 100644 index 000000000000..830bc3257f6e --- /dev/null +++ b/code/__DEFINES/disk.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/disk.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/disk.dm + +

+ + + + + +
DATA_IDX_DESIGNSMemory location for Designs
DATA_IDX_MUTATIONSMemory location for Mutations
DATA_IDX_GENE_BUFFERMemory location for genetic buffers
ALL_DATA_INDEXESUsed to preallocate lists. Keep updated!

Define Details

+

ALL_DATA_INDEXES + + +

+

Used to preallocate lists. Keep updated!

DATA_IDX_DESIGNS + + +

+

Memory location for Designs

DATA_IDX_GENE_BUFFER + + +

+

Memory location for genetic buffers

DATA_IDX_MUTATIONS + + +

+

Memory location for Mutations

+ + + diff --git a/code/__DEFINES/dream.html b/code/__DEFINES/dream.html new file mode 100644 index 000000000000..5701d4af9c19 --- /dev/null +++ b/code/__DEFINES/dream.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dream.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dream.dm + +

+ + + + +
DREAM_GENERICDream is generic, and rollable by anyone.
DREAM_ONCE_PER_ROUNDDream can only be dreampt once per round per mind.
DREAM_CUT_SHORT_IS_COMPLETEDream is considered complete even if cut short.

Define Details

+

DREAM_CUT_SHORT_IS_COMPLETE + + +

+

Dream is considered complete even if cut short.

DREAM_GENERIC + + +

+

Dream is generic, and rollable by anyone.

DREAM_ONCE_PER_ROUND + + +

+

Dream can only be dreampt once per round per mind.

+ + + diff --git a/code/__DEFINES/drone.html b/code/__DEFINES/drone.html new file mode 100644 index 000000000000..614bdf541fda --- /dev/null +++ b/code/__DEFINES/drone.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/drone.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/drone.dm + +

+ + + + + + + + + + +
DRONE_NET_CONNECTMessage displayed when new drone spawns in drone network
DRONE_NET_DISCONNECTMessage displayed when drone in network dies
MAINTDRONEMaintenance Drone icon_state (multiple colors)
REPAIRDRONERepair Drone icon_state
SCOUTDRONEScout Drone icon_state
CLOCKDRONEClockwork Drone icon_state
MAINTDRONE_HACKEDMAINTDRONE hacked icon_state
REPAIRDRONE_HACKEDREPAIRDRONE hacked icon_state
SCOUTDRONE_HACKEDSCOUTDRONE hacked icon_state

Define Details

+

CLOCKDRONE + + +

+

Clockwork Drone icon_state

DRONE_NET_CONNECT + + +

+

Message displayed when new drone spawns in drone network

DRONE_NET_DISCONNECT + + +

+

Message displayed when drone in network dies

MAINTDRONE + + +

+

Maintenance Drone icon_state (multiple colors)

MAINTDRONE_HACKED + + +

+

MAINTDRONE hacked icon_state

REPAIRDRONE + + +

+

Repair Drone icon_state

REPAIRDRONE_HACKED + + +

+

REPAIRDRONE hacked icon_state

SCOUTDRONE + + +

+

Scout Drone icon_state

SCOUTDRONE_HACKED + + +

+

SCOUTDRONE hacked icon_state

+ + + diff --git a/code/__DEFINES/dynamic.html b/code/__DEFINES/dynamic.html new file mode 100644 index 000000000000..913d20895e76 --- /dev/null +++ b/code/__DEFINES/dynamic.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/dynamic.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dynamic.dm + +

+ + + + + + + +
ONLY_RULESETThis is the only ruleset that should be picked this round, used by admins and should not be on rulesets in code.
HIGH_IMPACT_RULESETOnly one ruleset with this flag will be picked.
LONE_RULESETThis ruleset can only be picked once. Anything that does not have a scaling_cost MUST have this.
HIJACKED_NOTHINGNo round event was hijacked this cycle
HIJACKED_TOO_RECENTThis cycle, a round event was hijacked when the last midround event was too recent.
HIJACKED_TOO_SOONThis cycle, a round event was hijacked when the next midround event is too soon.

Define Details

+

HIGH_IMPACT_RULESET + + +

+

Only one ruleset with this flag will be picked.

HIJACKED_NOTHING + + +

+

No round event was hijacked this cycle

HIJACKED_TOO_RECENT + + +

+

This cycle, a round event was hijacked when the last midround event was too recent.

HIJACKED_TOO_SOON + + +

+

This cycle, a round event was hijacked when the next midround event is too soon.

LONE_RULESET + + +

+

This ruleset can only be picked once. Anything that does not have a scaling_cost MUST have this.

ONLY_RULESET + + +

+

This is the only ruleset that should be picked this round, used by admins and should not be on rulesets in code.

+ + + diff --git a/code/__DEFINES/economy.html b/code/__DEFINES/economy.html new file mode 100644 index 000000000000..c4a7149117fb --- /dev/null +++ b/code/__DEFINES/economy.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/economy.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/economy.dm + +

+ + + + +
MAX_MAIL_PER_MINUTEHow much mail the Economy SS will create per minute, regardless of firing time.
FULL_CRATE_LETTER_ODDSProbability of using letters of envelope sprites on all letters.
PAYCHECK_ASSISTANTThe baseline cost for basically everything in the game

Define Details

+

FULL_CRATE_LETTER_ODDS + + +

+

Probability of using letters of envelope sprites on all letters.

MAX_MAIL_PER_MINUTE + + +

+

How much mail the Economy SS will create per minute, regardless of firing time.

PAYCHECK_ASSISTANT + + +

+

The baseline cost for basically everything in the game

+ + + diff --git a/code/__DEFINES/electrified_buckle.html b/code/__DEFINES/electrified_buckle.html new file mode 100644 index 000000000000..93818283e11d --- /dev/null +++ b/code/__DEFINES/electrified_buckle.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/electrified_buckle.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/electrified_buckle.dm + +

+ + + + + + + +
SHOCK_REQUIREMENT_ITEMelectrified_buckle requires a shock kit attached to it in order to shock
SHOCK_REQUIREMENT_LIVE_CABLEelectrified_buckle requires a live cable to work, and draws power from it
SHOCK_REQUIREMENT_ON_SIGNAL_RECEIVEDelectrified_buckle requires to be turned on with a signal in order to shock the buckled mob
SHOCK_REQUIREMENT_PARENT_MOB_ISALIVEelectrified_buckle requires the parent to be alive in order to shock (if parent is a mob)
SHOCK_REQUIREMENT_SIGNAL_RECEIVED_TOGGLEa signal can toggle the ability to shock on a timer
TRAIT_ELECTRIFIED_BUCKLEThis trait signifies that the object can be used to electrify things buckled to it

Define Details

+

SHOCK_REQUIREMENT_ITEM + + +

+

electrified_buckle requires a shock kit attached to it in order to shock

SHOCK_REQUIREMENT_LIVE_CABLE + + +

+

electrified_buckle requires a live cable to work, and draws power from it

SHOCK_REQUIREMENT_ON_SIGNAL_RECEIVED + + +

+

electrified_buckle requires to be turned on with a signal in order to shock the buckled mob

SHOCK_REQUIREMENT_PARENT_MOB_ISALIVE + + +

+

electrified_buckle requires the parent to be alive in order to shock (if parent is a mob)

SHOCK_REQUIREMENT_SIGNAL_RECEIVED_TOGGLE + + +

+

a signal can toggle the ability to shock on a timer

TRAIT_ELECTRIFIED_BUCKLE + + +

+

This trait signifies that the object can be used to electrify things buckled to it

+ + + diff --git a/code/__DEFINES/exosuit_fab.html b/code/__DEFINES/exosuit_fab.html new file mode 100644 index 000000000000..33f565c89f4c --- /dev/null +++ b/code/__DEFINES/exosuit_fab.html @@ -0,0 +1,137 @@ + + + + + + + code/__DEFINES/exosuit_fab.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/exosuit_fab.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + +
BORG_MODEL_SECURITYModule is compatible with Security Cyborg model
BORG_MODEL_MINERModule is compatible with Miner Cyborg model
BORG_MODEL_JANITORModule is compatible with Janitor Cyborg model
BORG_MODEL_MEDICALModule is compatible with Medical Cyborg model
BORG_MODEL_ENGINEERINGModule is compatible with Engineering Cyborg model
EXOSUIT_MODULE_RIPLEYModule is compatible with Ripley Exosuit models
EXOSUIT_MODULE_ODYSSEUSModule is compatible with Odyseeus Exosuit models
EXOSUIT_MODULE_CLARKEModule is compatible with Clarke Exosuit models
EXOSUIT_MODULE_GYGAXModule is compatible with Gygax Exosuit models
EXOSUIT_MODULE_DURANDModule is compatible with Durand Exosuit models
EXOSUIT_MODULE_HONKModule is compatible with H.O.N.K Exosuit models
EXOSUIT_MODULE_PHAZONModule is compatible with Phazon Exosuit models
EXOSUIT_MODULE_WORKINGModule is compatible with "Working" Exosuit models - Ripley and Clarke
EXOSUIT_MODULE_COMBATModule is compatible with "Combat" Exosuit models - Gygax, H.O.N.K, Durand and Phazon
EXOSUIT_MODULE_MEDICALModule is compatible with "Medical" Exosuit modelsm - Odysseus
MODULE_GENERALModule is standard in use
MODULE_ENGINEERINGModule is preferred for engineering uses
MODULE_MEDICALModule is preferred for medical uses
MODULE_SCIENCEModule is preferred for science uses
MODULE_SECURITYModule is preferred for security uses
MODULE_SUPPLYModule is preferred for supply uses
MODULE_SERVICEModule is preferred for service uses

Define Details

+

BORG_MODEL_ENGINEERING + + +

+

Module is compatible with Engineering Cyborg model

BORG_MODEL_JANITOR + + +

+

Module is compatible with Janitor Cyborg model

BORG_MODEL_MEDICAL + + +

+

Module is compatible with Medical Cyborg model

BORG_MODEL_MINER + + +

+

Module is compatible with Miner Cyborg model

BORG_MODEL_SECURITY + + +

+

Module is compatible with Security Cyborg model

EXOSUIT_MODULE_CLARKE + + +

+

Module is compatible with Clarke Exosuit models

EXOSUIT_MODULE_COMBAT + + +

+

Module is compatible with "Combat" Exosuit models - Gygax, H.O.N.K, Durand and Phazon

EXOSUIT_MODULE_DURAND + + +

+

Module is compatible with Durand Exosuit models

EXOSUIT_MODULE_GYGAX + + +

+

Module is compatible with Gygax Exosuit models

EXOSUIT_MODULE_HONK + + +

+

Module is compatible with H.O.N.K Exosuit models

EXOSUIT_MODULE_MEDICAL + + +

+

Module is compatible with "Medical" Exosuit modelsm - Odysseus

EXOSUIT_MODULE_ODYSSEUS + + +

+

Module is compatible with Odyseeus Exosuit models

EXOSUIT_MODULE_PHAZON + + +

+

Module is compatible with Phazon Exosuit models

EXOSUIT_MODULE_RIPLEY + + +

+

Module is compatible with Ripley Exosuit models

EXOSUIT_MODULE_WORKING + + +

+

Module is compatible with "Working" Exosuit models - Ripley and Clarke

MODULE_ENGINEERING + + +

+

Module is preferred for engineering uses

MODULE_GENERAL + + +

+

Module is standard in use

MODULE_MEDICAL + + +

+

Module is preferred for medical uses

MODULE_SCIENCE + + +

+

Module is preferred for science uses

MODULE_SECURITY + + +

+

Module is preferred for security uses

MODULE_SERVICE + + +

+

Module is preferred for service uses

MODULE_SUPPLY + + +

+

Module is preferred for supply uses

+ + + diff --git a/code/__DEFINES/explosions.html b/code/__DEFINES/explosions.html new file mode 100644 index 000000000000..8c2cfd75c512 --- /dev/null +++ b/code/__DEFINES/explosions.html @@ -0,0 +1,148 @@ + + + + + + + code/__DEFINES/explosions.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/explosions.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
EXPLODE_DEVASTATEThe (current) highest possible explosion severity.
EXPLODE_HEAVYThe (current) middling explosion severity.
EXPLODE_LIGHTThe (current) lowest possible explosion severity.
EXPLODE_NONEThe default explosion severity used to mark that an object is beyond the impact range of the explosion.
GIBTONITE_UNSTRUCKGibtonite has not been mined
GIBTONITE_ACTIVEGibtonite has been mined and will explode soon
GIBTONITE_STABLEGibtonite has been stablized preventing an explosion
GIBTONITE_DETONATEGibtonite will now explode
EXPLOSION_BLOCK_PROCFor object explosion block calculation
EX_ACTA wrapper for /atom/proc/ex_act to ensure that the explosion propagation and attendant signal are always handled.
EXARG_KEY_ORIGINThe origin atom of the explosion.
EXARG_KEY_EXPLOSION_CAUSEThe potential cause of the explosion, if different to origin.
EXARG_KEY_DEV_RANGEThe devastation range of the explosion.
EXARG_KEY_HEAVY_RANGEThe heavy impact range of the explosion.
EXARG_KEY_LIGHT_RANGEThe light impact range of the explosion.
EXARG_KEY_FLAME_RANGEThe flame range of the explosion.
EXARG_KEY_FLASH_RANGEThe flash range of the explosion.
EXARG_KEY_ADMIN_LOGWhether or not the explosion should be logged.
EXARG_KEY_IGNORE_CAPWhether or not the explosion should ignore the bombcap.
EXARG_KEY_SILENTWhether or not the explosion should produce sound effects and screenshake if it is large enough to warrant it.
EXARG_KEY_SMOKEWhether or not the explosion should produce smoke if it is large enough to warrant it.
EXPLODABLE_NO_DELETEMakes the explodable component queue to reset its exploding status when it detonates.
EXPLODABLE_DELETE_SELFMakes the explodable component delete itself when it detonates.
EXPLODABLE_DELETE_PARENTMakes the explodable component delete its parent when it detonates.

Define Details

+

EXARG_KEY_ADMIN_LOG + + +

+

Whether or not the explosion should be logged.

EXARG_KEY_DEV_RANGE + + +

+

The devastation range of the explosion.

EXARG_KEY_EXPLOSION_CAUSE + + +

+

The potential cause of the explosion, if different to origin.

EXARG_KEY_FLAME_RANGE + + +

+

The flame range of the explosion.

EXARG_KEY_FLASH_RANGE + + +

+

The flash range of the explosion.

EXARG_KEY_HEAVY_RANGE + + +

+

The heavy impact range of the explosion.

EXARG_KEY_IGNORE_CAP + + +

+

Whether or not the explosion should ignore the bombcap.

EXARG_KEY_LIGHT_RANGE + + +

+

The light impact range of the explosion.

EXARG_KEY_ORIGIN + + +

+

The origin atom of the explosion.

EXARG_KEY_SILENT + + +

+

Whether or not the explosion should produce sound effects and screenshake if it is large enough to warrant it.

EXARG_KEY_SMOKE + + +

+

Whether or not the explosion should produce smoke if it is large enough to warrant it.

EXPLODABLE_DELETE_PARENT + + +

+

Makes the explodable component delete its parent when it detonates.

EXPLODABLE_DELETE_SELF + + +

+

Makes the explodable component delete itself when it detonates.

EXPLODABLE_NO_DELETE + + +

+

Makes the explodable component queue to reset its exploding status when it detonates.

EXPLODE_DEVASTATE + + +

+

The (current) highest possible explosion severity.

EXPLODE_HEAVY + + +

+

The (current) middling explosion severity.

EXPLODE_LIGHT + + +

+

The (current) lowest possible explosion severity.

EXPLODE_NONE + + +

+

The default explosion severity used to mark that an object is beyond the impact range of the explosion.

EXPLOSION_BLOCK_PROC + + +

+

For object explosion block calculation

EX_ACT + + + +

+

A wrapper for /atom/proc/ex_act to ensure that the explosion propagation and attendant signal are always handled.

GIBTONITE_ACTIVE + + +

+

Gibtonite has been mined and will explode soon

GIBTONITE_DETONATE + + +

+

Gibtonite will now explode

GIBTONITE_STABLE + + +

+

Gibtonite has been stablized preventing an explosion

GIBTONITE_UNSTRUCK + + +

+

Gibtonite has not been mined

+ + + diff --git a/code/__DEFINES/external_organs.html b/code/__DEFINES/external_organs.html new file mode 100644 index 000000000000..1321b83fceec --- /dev/null +++ b/code/__DEFINES/external_organs.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/external_organs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/external_organs.dm + +

+ + + + + + +
ORGAN_COLOR_INHERITUses the parent limb's drawcolor value.
ORGAN_COLOR_OVERRIDEUses /organ/external/proc/override_color()'s return value
ORGAN_COLOR_HAIRUses the parent's haircolor
ORGAN_COLOR_STATICUses a static, pre-defined draw_color
ORGAN_COLOR_INHERIT_ALLUses the mutcolor list

Define Details

+

ORGAN_COLOR_HAIR + + +

+

Uses the parent's haircolor

ORGAN_COLOR_INHERIT + + +

+

Uses the parent limb's drawcolor value.

ORGAN_COLOR_INHERIT_ALL + + +

+

Uses the mutcolor list

ORGAN_COLOR_OVERRIDE + + +

+

Uses /organ/external/proc/override_color()'s return value

ORGAN_COLOR_STATIC + + +

+

Uses a static, pre-defined draw_color

+ + + diff --git a/code/__DEFINES/firealarm.html b/code/__DEFINES/firealarm.html new file mode 100644 index 000000000000..f0815e768916 --- /dev/null +++ b/code/__DEFINES/firealarm.html @@ -0,0 +1,82 @@ + + + + + + + code/__DEFINES/firealarm.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/firealarm.dm + +

+ + + + + + + + + + + + +
FIRE_DETECT_EMAGSent when a fire alarm is emagged
FIRE_DETECT_STOPSent when the fire detection of an area is disabled
FIRE_DETECT_STARTSent when the fire detection of an area is enabled
FIRELOCK_ALARM_TYPE_HOTDesignates a fire lock should be closed due to HEAT
FIRELOCK_ALARM_TYPE_COLDDesignates a fire lock should be closed due to COLD
FIRELOCK_ALARM_TYPE_GENERICDesignates a fire lock should be closed due unknown reasons (IE fire alarm was pulled)
FIRE_CLEARFire alert cleared by any means
FIRE_RAISED_GENERICFire alert raised by pulling the fire alarm/air alarm alert button
FIRE_RAISED_HOTFire alert raised by the air alarm (heat)
FIRE_RAISED_COLDFire alert raised by the air alarm (cold)
FIRE_RAISED_PRESSUREFire alert raised by the air alarm (pressure)

Define Details

+

FIRELOCK_ALARM_TYPE_COLD + + +

+

Designates a fire lock should be closed due to COLD

FIRELOCK_ALARM_TYPE_GENERIC + + +

+

Designates a fire lock should be closed due unknown reasons (IE fire alarm was pulled)

FIRELOCK_ALARM_TYPE_HOT + + +

+

Designates a fire lock should be closed due to HEAT

FIRE_CLEAR + + +

+

Fire alert cleared by any means

FIRE_DETECT_EMAG + + +

+

Sent when a fire alarm is emagged

FIRE_DETECT_START + + +

+

Sent when the fire detection of an area is enabled

FIRE_DETECT_STOP + + +

+

Sent when the fire detection of an area is disabled

FIRE_RAISED_COLD + + +

+

Fire alert raised by the air alarm (cold)

FIRE_RAISED_GENERIC + + +

+

Fire alert raised by pulling the fire alarm/air alarm alert button

FIRE_RAISED_HOT + + +

+

Fire alert raised by the air alarm (heat)

FIRE_RAISED_PRESSURE + + +

+

Fire alert raised by the air alarm (pressure)

+ + + diff --git a/code/__DEFINES/flags.html b/code/__DEFINES/flags.html new file mode 100644 index 000000000000..a2d29b168871 --- /dev/null +++ b/code/__DEFINES/flags.html @@ -0,0 +1,531 @@ + + + + + + + code/__DEFINES/flags.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/flags.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ALL_CARDINALSAll the cardinal direction bitflags.
ATMOS_IS_PROCESSING_1Is this object currently processing in the atmos object list?
CONDUCT_1conducts electricity (metal etc.)
NODECONSTRUCT_1For machines and structures that should not break into parts, eg, holodeck stuff
ON_BORDER_1item has priority to check when entering or leaving
NO_SCREENTIPS_1Whether or not this atom shows screentips when hovered over
PREVENT_CLICK_UNDER_1Prevent clicking things below it on the same turf eg. doors/ fulltile windows
HOLOGRAM_1specifies that this atom is a hologram that isnt real
ADMIN_SPAWNED_1was this spawned by an admin? used for stat tracking stuff.
PREVENT_CONTENTS_EXPLOSION_1should not get harmed if this gets caught by an explosion?
ALLOW_DARK_PAINTS_1Should this object be paintable with very dark colors?
UNPAINTABLE_1Should this object be unpaintable?
IS_SPINNING_1Is the thing currently spinning?
CAN_BE_DIRTY_1If a turf can be made dirty at roundstart. This is also used in areas.
HTML_USE_INITAL_ICON_1Should we use the initial icon for display? Mostly used by overlay only objects
IS_PLAYER_COLORABLE_1Can players recolor this in-game via vendors (and maybe more if support is added)?
HAS_CONTEXTUAL_SCREENTIPS_1Whether or not this atom has contextual screentips when hovered OVER
DECAL_INIT_UPDATE_EXPERIENCED_1If this atom has experienced a decal element "init finished" sourced appearance update +We use this to ensure stacked decals don't double up appearance updates for no rasin +Flag as an optimization, don't make this a trait without profiling +Yes I know this is a stupid flag, no you can't take him from me ~LemonInTheDark
CONTAMINATED_2Plasma Contamination
ATMOS_SENSITIVE_2Uses atom temperature. Opt-in.
UPDATE_NAMEUpdate the atom's name
UPDATE_DESCUpdate the atom's desc
UPDATE_ICON_STATEUpdate the atom's icon state
UPDATE_OVERLAYSUpdate the atom's overlays
UPDATE_GREYSCALEUpdate the atom's greyscaling
UPDATE_SMOOTHINGUpdate the atom's smoothing. (More accurately, queue it for an update)
UPDATE_ICONUpdate the atom's icon
RICOCHET_SHINYIf the thing can reflect light (lasers/energy)
RICOCHET_HARDIf the thing can reflect matter (bullets/bomb shrapnel)
NOJAUNTIf a turf cant be jaunted through.
NO_LAVA_GENBlocks lava rivers being generated on the turf.
NO_RUINSBlocks ruins spawning on the turf.
NO_RUSTBlocks this turf from being rusted
IS_SOLIDIs this turf is "solid". Space and lava aren't for instance
VALID_TERRITORY/////////////Area flags\\\\\\\ +If it's a valid territory for cult summoning or the CRAB-17 phone to spawn
BLOBS_ALLOWEDIf blobs can spawn there and if it counts towards their score.
CAVES_ALLOWEDIf mining tunnel generation is allowed in this area
FLORA_ALLOWEDIf flora are allowed to spawn in this area randomly through tunnel generation
MOB_SPAWN_ALLOWEDIf mobs can be spawned by natural random generation
NOTELEPORTAre you forbidden from teleporting to the area? (centcom, mobs, wizard, hand teleporter)
HIDDEN_AREAHides area from player Teleport function.
UNIQUE_AREAIf false, loading multiple maps with this area type will create multiple instances.
BLOCK_SUICIDEIf people are allowed to suicide in it. Mostly for OOC stuff like minigames
XENOBIOLOGY_COMPATIBLECan the Xenobio management console transverse this area by default?
ABDUCTOR_PROOFIf Abductors are unable to teleport in with their observation console
NO_ALERTSIf an area should be hidden from power consoles, power/atmosphere alerts, etc.
CULT_PERMITTEDIf blood cultists can draw runes or build structures on this AREA.
AREA_USES_STARLIGHTWhther this area is iluminated by starlight
PERSISTENT_ENGRAVINGSIf engravings are persistent in this area
LETPASSTHROWLet thrown things past us. ONLY MEANINGFUL ON pass_flags_self!
LETPASSCLICKSDo not intercept click attempts during Adjacent() checks. See [turf/proc/ClickCross].
PHASINGWhen moving, will Cross() everything, but won't stop or Bump() anything.
FIRE_PROOF100% immune to fire damage (but not necessarily to lava or heat)
UNACIDABLEacid can't even appear on it, let alone melt it.
ACID_PROOFacid stuck on it doesn't melt it.
INDESTRUCTIBLEdoesn't take damage
FREEZE_PROOFcan't be frozen
ZAP_LOW_POWER_GENZaps with this flag will generate less power through tesla coils
MOBILITY_MOVEcan move
MOBILITY_STANDcan, and is, standing up
MOBILITY_PICKUPcan pickup items
MOBILITY_USEcan hold and use items
MOBILITY_UIcan use interfaces like machinery
MOBILITY_STORAGEcan use storage item
MOBILITY_PULLcan pull things
MOBILITY_RESTcan rest
MOBILITY_LIEDOWNcan lie down
ISDIAGONALDIRReturns true if the dir is diagonal, false otherwise
NSCOMPONENTTrue if the dir is north or south, false therwise
EWCOMPONENTTrue if the dir is east/west, false otherwise
NSDIRFLIPFlips the dir for north/south directions
EWDIRFLIPFlips the dir for east/west directions
DIRFLIPTurns the dir by 180 degrees
MAX_BITFLAG_DIGITS33554431 (2^24 - 1) is the maximum value our bitflags can reach.
IGNORE_USER_LOC_CHANGECan do the action even if mob moves location
IGNORE_TARGET_LOC_CHANGECan do the action even if the target moves location
IGNORE_HELD_ITEMCan do the action even if the item is no longer being held
IGNORE_INCAPACITATEDCan do the action even if the mob is incapacitated (ex. handcuffed)
IGNORE_SLOWDOWNSUsed to prevent important slowdowns from being abused by drugs like kronkaine
DO_PUBLICShown to all mobs not just the user
SPACEVINE_HEAT_RESISTANTIs the spacevine / flower bud heat resistant
SPACEVINE_COLD_RESISTANTIs the spacevine / flower bud cold resistant
Z_ATMOS_IN_UPAllows air to flow IN from higher Z levels
Z_ATMOS_IN_DOWNAllows air to flow IN from lower z levels
Z_ATMOS_OUT_UPAllows air to flow OUT to higher Z levels
Z_ATMOS_OUT_DOWNAllows air to flow OUT to LOWER z levels
Z_MIMIC_BELOWShould this turf mimic the below turf?
Z_MIMIC_OVERWRITEIf this turf is mimicking, overwrite its appearance instead of using a mimic object. This is faster, but means the turf cannot have its own appearance.
Z_MIMIC_NO_AOBypass turf AO and only apply Z-AO. You probably want this on visually-empty z-turfs (like openspace).
Z_MIMIC_NO_OCCLUDEIf we're a non-OVERWRITE z-turf, allow clickthrough of this turf.
Z_MIMIC_BASETURFFake-copy baseturf instead of below turf.
ZMM_IGNOREDo not copy this movable. Atoms with INVISIBILITY_ABSTRACT implicitly do not copy.
ZMM_MANGLE_PLANESCheck this movable's overlays/underlays for explicit plane use and mangle for compatibility with Z-Mimic. If you're using emissive overlays, you probably should be using this flag. Expensive, only use if necessary.
ZMM_LOOKAHEADLook one turf ahead and one turf back when considering z-turfs that might be seeing this atom. Respects dir. Cheap, but not free.
ZMM_LOOKBESIDELook one turf to the left and right when considering z-turfs that might be seeing this atom. Respects dir. Cheap, but not free.
ZMM_NO_CACHE_ROOTWhen performing mangling, do not cache the root (depth=0) appearance. Set this on mangled types that change appearance frequently.
Z_MIMIC_DEFAULTSCommon defaults for zturfs.
ZMM_WIDE_LOADAtom is big and needs to scan one extra turf in both X and Y. This only extends the range by one turf. Cheap, but not free.

Define Details

+

ABDUCTOR_PROOF + + +

+

If Abductors are unable to teleport in with their observation console

ACID_PROOF + + +

+

acid stuck on it doesn't melt it.

ADMIN_SPAWNED_1 + + +

+

was this spawned by an admin? used for stat tracking stuff.

ALLOW_DARK_PAINTS_1 + + +

+

Should this object be paintable with very dark colors?

ALL_CARDINALS + + +

+

All the cardinal direction bitflags.

AREA_USES_STARLIGHT + + +

+

Whther this area is iluminated by starlight

ATMOS_IS_PROCESSING_1 + + +

+

Is this object currently processing in the atmos object list?

ATMOS_SENSITIVE_2 + + +

+

Uses atom temperature. Opt-in.

BLOBS_ALLOWED + + +

+

If blobs can spawn there and if it counts towards their score.

BLOCK_SUICIDE + + +

+

If people are allowed to suicide in it. Mostly for OOC stuff like minigames

CAN_BE_DIRTY_1 + + +

+

If a turf can be made dirty at roundstart. This is also used in areas.

CAVES_ALLOWED + + +

+

If mining tunnel generation is allowed in this area

CONDUCT_1 + + +

+

conducts electricity (metal etc.)

CONTAMINATED_2 + + +

+

Plasma Contamination

CULT_PERMITTED + + +

+

If blood cultists can draw runes or build structures on this AREA.

DECAL_INIT_UPDATE_EXPERIENCED_1 + + +

+

If this atom has experienced a decal element "init finished" sourced appearance update +We use this to ensure stacked decals don't double up appearance updates for no rasin +Flag as an optimization, don't make this a trait without profiling +Yes I know this is a stupid flag, no you can't take him from me ~LemonInTheDark

DIRFLIP + + + +

+

Turns the dir by 180 degrees

DO_PUBLIC + + +

+

Shown to all mobs not just the user

EWCOMPONENT + + + +

+

True if the dir is east/west, false otherwise

EWDIRFLIP + + + +

+

Flips the dir for east/west directions

FIRE_PROOF + + +

+

100% immune to fire damage (but not necessarily to lava or heat)

FLORA_ALLOWED + + +

+

If flora are allowed to spawn in this area randomly through tunnel generation

FREEZE_PROOF + + +

+

can't be frozen

HAS_CONTEXTUAL_SCREENTIPS_1 + + +

+

Whether or not this atom has contextual screentips when hovered OVER

HIDDEN_AREA + + +

+

Hides area from player Teleport function.

HOLOGRAM_1 + + +

+

specifies that this atom is a hologram that isnt real

HTML_USE_INITAL_ICON_1 + + +

+

Should we use the initial icon for display? Mostly used by overlay only objects

IGNORE_HELD_ITEM + + +

+

Can do the action even if the item is no longer being held

IGNORE_INCAPACITATED + + +

+

Can do the action even if the mob is incapacitated (ex. handcuffed)

IGNORE_SLOWDOWNS + + +

+

Used to prevent important slowdowns from being abused by drugs like kronkaine

IGNORE_TARGET_LOC_CHANGE + + +

+

Can do the action even if the target moves location

IGNORE_USER_LOC_CHANGE + + +

+

Can do the action even if mob moves location

INDESTRUCTIBLE + + +

+

doesn't take damage

ISDIAGONALDIR + + + +

+

Returns true if the dir is diagonal, false otherwise

IS_PLAYER_COLORABLE_1 + + +

+

Can players recolor this in-game via vendors (and maybe more if support is added)?

IS_SOLID + + +

+

Is this turf is "solid". Space and lava aren't for instance

IS_SPINNING_1 + + +

+

Is the thing currently spinning?

LETPASSCLICKS + + +

+

Do not intercept click attempts during Adjacent() checks. See [turf/proc/ClickCross].

LETPASSTHROW + + +

+

Let thrown things past us. ONLY MEANINGFUL ON pass_flags_self!

MAX_BITFLAG_DIGITS + + +

+

33554431 (2^24 - 1) is the maximum value our bitflags can reach.

MOBILITY_LIEDOWN + + +

+

can lie down

MOBILITY_MOVE + + +

+

can move

MOBILITY_PICKUP + + +

+

can pickup items

MOBILITY_PULL + + +

+

can pull things

MOBILITY_REST + + +

+

can rest

MOBILITY_STAND + + +

+

can, and is, standing up

MOBILITY_STORAGE + + +

+

can use storage item

MOBILITY_UI + + +

+

can use interfaces like machinery

MOBILITY_USE + + +

+

can hold and use items

MOB_SPAWN_ALLOWED + + +

+

If mobs can be spawned by natural random generation

NODECONSTRUCT_1 + + +

+

For machines and structures that should not break into parts, eg, holodeck stuff

NOJAUNT + + +

+

If a turf cant be jaunted through.

NOTELEPORT + + +

+

Are you forbidden from teleporting to the area? (centcom, mobs, wizard, hand teleporter)

NO_ALERTS + + +

+

If an area should be hidden from power consoles, power/atmosphere alerts, etc.

NO_LAVA_GEN + + +

+

Blocks lava rivers being generated on the turf.

NO_RUINS + + +

+

Blocks ruins spawning on the turf.

NO_RUST + + +

+

Blocks this turf from being rusted

NO_SCREENTIPS_1 + + +

+

Whether or not this atom shows screentips when hovered over

NSCOMPONENT + + + +

+

True if the dir is north or south, false therwise

NSDIRFLIP + + + +

+

Flips the dir for north/south directions

ON_BORDER_1 + + +

+

item has priority to check when entering or leaving

PERSISTENT_ENGRAVINGS + + +

+

If engravings are persistent in this area

PHASING + + +

+

When moving, will Cross() everything, but won't stop or Bump() anything.

PREVENT_CLICK_UNDER_1 + + +

+

Prevent clicking things below it on the same turf eg. doors/ fulltile windows

PREVENT_CONTENTS_EXPLOSION_1 + + +

+

should not get harmed if this gets caught by an explosion?

RICOCHET_HARD + + +

+

If the thing can reflect matter (bullets/bomb shrapnel)

RICOCHET_SHINY + + +

+

If the thing can reflect light (lasers/energy)

SPACEVINE_COLD_RESISTANT + + +

+

Is the spacevine / flower bud cold resistant

SPACEVINE_HEAT_RESISTANT + + +

+

Is the spacevine / flower bud heat resistant

UNACIDABLE + + +

+

acid can't even appear on it, let alone melt it.

UNIQUE_AREA + + +

+

If false, loading multiple maps with this area type will create multiple instances.

UNPAINTABLE_1 + + +

+

Should this object be unpaintable?

UPDATE_DESC + + +

+

Update the atom's desc

UPDATE_GREYSCALE + + +

+

Update the atom's greyscaling

UPDATE_ICON + + +

+

Update the atom's icon

UPDATE_ICON_STATE + + +

+

Update the atom's icon state

UPDATE_NAME + + +

+

Update the atom's name

UPDATE_OVERLAYS + + +

+

Update the atom's overlays

UPDATE_SMOOTHING + + +

+

Update the atom's smoothing. (More accurately, queue it for an update)

VALID_TERRITORY + + +

+

/////////////Area flags\\\\\\\ +If it's a valid territory for cult summoning or the CRAB-17 phone to spawn

XENOBIOLOGY_COMPATIBLE + + +

+

Can the Xenobio management console transverse this area by default?

ZAP_LOW_POWER_GEN + + +

+

Zaps with this flag will generate less power through tesla coils

ZMM_IGNORE + + +

+

Do not copy this movable. Atoms with INVISIBILITY_ABSTRACT implicitly do not copy.

ZMM_LOOKAHEAD + + +

+

Look one turf ahead and one turf back when considering z-turfs that might be seeing this atom. Respects dir. Cheap, but not free.

ZMM_LOOKBESIDE + + +

+

Look one turf to the left and right when considering z-turfs that might be seeing this atom. Respects dir. Cheap, but not free.

ZMM_MANGLE_PLANES + + +

+

Check this movable's overlays/underlays for explicit plane use and mangle for compatibility with Z-Mimic. If you're using emissive overlays, you probably should be using this flag. Expensive, only use if necessary.

ZMM_NO_CACHE_ROOT + + +

+

When performing mangling, do not cache the root (depth=0) appearance. Set this on mangled types that change appearance frequently.

ZMM_WIDE_LOAD + + +

+

Atom is big and needs to scan one extra turf in both X and Y. This only extends the range by one turf. Cheap, but not free.

Z_ATMOS_IN_DOWN + + +

+

Allows air to flow IN from lower z levels

Z_ATMOS_IN_UP + + +

+

Allows air to flow IN from higher Z levels

Z_ATMOS_OUT_DOWN + + +

+

Allows air to flow OUT to LOWER z levels

Z_ATMOS_OUT_UP + + +

+

Allows air to flow OUT to higher Z levels

Z_MIMIC_BASETURF + + +

+

Fake-copy baseturf instead of below turf.

Z_MIMIC_BELOW + + +

+

Should this turf mimic the below turf?

Z_MIMIC_DEFAULTS + + +

+

Common defaults for zturfs.

Z_MIMIC_NO_AO + + +

+

Bypass turf AO and only apply Z-AO. You probably want this on visually-empty z-turfs (like openspace).

Z_MIMIC_NO_OCCLUDE + + +

+

If we're a non-OVERWRITE z-turf, allow clickthrough of this turf.

Z_MIMIC_OVERWRITE + + +

+

If this turf is mimicking, overwrite its appearance instead of using a mimic object. This is faster, but means the turf cannot have its own appearance.

+ + + diff --git a/code/__DEFINES/fonts.html b/code/__DEFINES/fonts.html new file mode 100644 index 000000000000..b06bc0d695c4 --- /dev/null +++ b/code/__DEFINES/fonts.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/fonts.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/fonts.dm + +

+ + + + + + + + +
PEN_FONTFont used by regular pens
FOUNTAIN_PEN_FONTFont used by fancy pens
CRAYON_FONTFont used by crayons
PRINTER_FONTFont used by printers
SIGNFONTFont used when a player signs their name
CHARCOAL_FONTFont used by charcoal pens
EMOJI_SETEmoji icon set

Define Details

+

CHARCOAL_FONT + + +

+

Font used by charcoal pens

CRAYON_FONT + + +

+

Font used by crayons

EMOJI_SET + + +

+

Emoji icon set

FOUNTAIN_PEN_FONT + + +

+

Font used by fancy pens

PEN_FONT + + +

+

Font used by regular pens

PRINTER_FONT + + +

+

Font used by printers

SIGNFONT + + +

+

Font used when a player signs their name

+ + + diff --git a/code/__DEFINES/food.html b/code/__DEFINES/food.html new file mode 100644 index 000000000000..d5f19a0a36cb --- /dev/null +++ b/code/__DEFINES/food.html @@ -0,0 +1,121 @@ + + + + + + + code/__DEFINES/food.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/food.dm + +

+ + + + + + + + + + + + + + + + + + + +
FOOD_FLAGSA list of food type names, in order of their flags
FOOD_SILVER_SPAWNEDIs this food item spawned from a silver slime? Prevent it from exporting for profit from cargo.
CRAFTED_FOOD_BASE_REAGENT_MODIFIERAmount of reagents you start with on crafted food excluding the used parts
CRAFTED_FOOD_INGREDIENT_REAGENT_MODIFIERModifier of reagents you get when crafting food from the parts used
FOOD_TRASH_POPABLEFood trash flags
FOOD_LIKEDFood preference enums
VENUE_BAR_MINIMUM_REAGENTSVenue reagent requirement
FOOD_PRICE_WORTHLESSFood price classes +Foods that are meant to have no value, such as lollypops from medborgs.
FOOD_PRICE_TRASHcheap and quick foods, like those from vending machines.
FOOD_PRICE_CHEAPIn line with prices of cheap snacks and foods you find in vending machine, practically disposable.
FOOD_PRICE_NORMALHalf a crate of profit, selling 4 of these lets you buy a kitchen crate from cargo.
FOOD_PRICE_EXOTICMaking one of these should be worth the time investment, solid chunk of profit.
FOOD_PRICE_LEGENDARYLarge windfall for making something from this list.
DRINK_PRICE_STOCKDrink price classes +Drinks that are only limited by a single click of the dispenser.
DRINK_PRICE_EASYDrinks that are made through very basic processing.
DRINK_PRICE_MEDIUMDrinks that are made through more basic processing, or multiple steps.
DRINK_PRICE_HIGHDrinks that are made through rare ingredients, or high levels of processing.
ICE_CREAM_VANILLAFlavour defines (also names) for GLOB.ice_cream_flavours list access. Safer from mispelling than plain text.

Define Details

+

CRAFTED_FOOD_BASE_REAGENT_MODIFIER + + +

+

Amount of reagents you start with on crafted food excluding the used parts

CRAFTED_FOOD_INGREDIENT_REAGENT_MODIFIER + + +

+

Modifier of reagents you get when crafting food from the parts used

DRINK_PRICE_EASY + + +

+

Drinks that are made through very basic processing.

DRINK_PRICE_HIGH + + +

+

Drinks that are made through rare ingredients, or high levels of processing.

DRINK_PRICE_MEDIUM + + +

+

Drinks that are made through more basic processing, or multiple steps.

DRINK_PRICE_STOCK + + +

+

Drink price classes +Drinks that are only limited by a single click of the dispenser.

FOOD_FLAGS + + +

+

A list of food type names, in order of their flags

FOOD_LIKED + + +

+

Food preference enums

FOOD_PRICE_CHEAP + + +

+

In line with prices of cheap snacks and foods you find in vending machine, practically disposable.

FOOD_PRICE_EXOTIC + + +

+

Making one of these should be worth the time investment, solid chunk of profit.

FOOD_PRICE_LEGENDARY + + +

+

Large windfall for making something from this list.

FOOD_PRICE_NORMAL + + +

+

Half a crate of profit, selling 4 of these lets you buy a kitchen crate from cargo.

FOOD_PRICE_TRASH + + +

+

cheap and quick foods, like those from vending machines.

FOOD_PRICE_WORTHLESS + + +

+

Food price classes +Foods that are meant to have no value, such as lollypops from medborgs.

FOOD_SILVER_SPAWNED + + +

+

Is this food item spawned from a silver slime? Prevent it from exporting for profit from cargo.

FOOD_TRASH_POPABLE + + +

+

Food trash flags

ICE_CREAM_VANILLA + + +

+

Flavour defines (also names) for GLOB.ice_cream_flavours list access. Safer from mispelling than plain text.

VENUE_BAR_MINIMUM_REAGENTS + + +

+

Venue reagent requirement

+ + + diff --git a/code/__DEFINES/footsteps.html b/code/__DEFINES/footsteps.html new file mode 100644 index 000000000000..d7f77f3e50ac --- /dev/null +++ b/code/__DEFINES/footsteps.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/footsteps.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/footsteps.dm + +

+ + +
STEP_SOUND_PRIORITYthe name of the index key for priority

Define Details

+

STEP_SOUND_PRIORITY + + +

+

the name of the index key for priority

+ + + diff --git a/code/__DEFINES/generators.html b/code/__DEFINES/generators.html new file mode 100644 index 000000000000..344d8a0e3863 --- /dev/null +++ b/code/__DEFINES/generators.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/generators.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/generators.dm + +

+ + +
P_DATA_GENERATORparticle editor var modifiers

Define Details

+

P_DATA_GENERATOR + + +

+

particle editor var modifiers

+ + + diff --git a/code/__DEFINES/ghost.html b/code/__DEFINES/ghost.html new file mode 100644 index 000000000000..f890b644ebc9 --- /dev/null +++ b/code/__DEFINES/ghost.html @@ -0,0 +1,147 @@ + + + + + + + code/__DEFINES/ghost.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ghost.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
GHOST_ORBIT_CIRCLEGhosts will orbit objects in a circle
GHOST_ORBIT_TRIANGLEGhosts will orbit objects in a triangle
GHOST_ORBIT_HEXAGONGhosts will orbit objects in a hexagon
GHOST_ORBIT_SQUAREGhosts will orbit objects in a square
GHOST_ORBIT_PENTAGONGhosts will orbit objects in a pentagon
GHOST_ACCS_NONEThe main player's ghost will display as a simple white ghost
GHOST_ACCS_DIRThe main player's ghost will display as a transparent mob
GHOST_ACCS_FULLThe main player's ghost will display as a transparent mob with clothing
GHOST_ACCS_DEFAULT_OPTIONThe default ghost display selection for the main player
GHOST_OTHERS_SIMPLEThe other players ghosts will display as a simple white ghost
GHOST_OTHERS_DEFAULT_SPRITEThe other players ghosts will display as transparent mobs
GHOST_OTHERS_THEIR_SETTINGThe other players ghosts will display as transparent mobs with clothing
GHOST_OTHERS_DEFAULT_OPTIONThe default ghost display selection when viewing other players
GHOST_MAX_VIEW_RANGE_DEFAULTA ghosts max view range if they are a BYOND guest or regular account
GHOST_MAX_VIEW_RANGE_MEMBERA ghosts max view range if they are a BYOND paid member account (P2W feature)
DEADCHAT_ANNOUNCEMENTDeadchat notification for important round events (RED_ALERT, shuttle EVAC, communication announcements, etc.)
DEADCHAT_ARRIVALRATTLEDeadchat notification for new players who join the round at arrivals
DEADCHAT_DEATHRATTLEDeadchat notification for players who die during the round
DEADCHAT_LAWCHANGEDeadchat notification for when there is an AI law change
DEADCHAT_LOGIN_LOGOUTDeadchat notification for when players enter/leave the server (ignores stealth admins)
DEADCHAT_REGULARDeadchat regular ghost chat
CAMERA_NO_GHOSTSPictures taken by a camera will not display ghosts
CAMERA_SEE_GHOSTS_BASICPictures taken by a camera will display ghosts in the photo
CAMERA_SEE_GHOSTS_ORBITPictures taken by a camera will display ghosts and their orbits

Define Details

+

CAMERA_NO_GHOSTS + + +

+

Pictures taken by a camera will not display ghosts

CAMERA_SEE_GHOSTS_BASIC + + +

+

Pictures taken by a camera will display ghosts in the photo

CAMERA_SEE_GHOSTS_ORBIT + + +

+

Pictures taken by a camera will display ghosts and their orbits

DEADCHAT_ANNOUNCEMENT + + +

+

Deadchat notification for important round events (RED_ALERT, shuttle EVAC, communication announcements, etc.)

DEADCHAT_ARRIVALRATTLE + + +

+

Deadchat notification for new players who join the round at arrivals

DEADCHAT_DEATHRATTLE + + +

+

Deadchat notification for players who die during the round

DEADCHAT_LAWCHANGE + + +

+

Deadchat notification for when there is an AI law change

DEADCHAT_LOGIN_LOGOUT + + +

+

Deadchat notification for when players enter/leave the server (ignores stealth admins)

DEADCHAT_REGULAR + + +

+

Deadchat regular ghost chat

GHOST_ACCS_DEFAULT_OPTION + + +

+

The default ghost display selection for the main player

GHOST_ACCS_DIR + + +

+

The main player's ghost will display as a transparent mob

GHOST_ACCS_FULL + + +

+

The main player's ghost will display as a transparent mob with clothing

GHOST_ACCS_NONE + + +

+

The main player's ghost will display as a simple white ghost

GHOST_MAX_VIEW_RANGE_DEFAULT + + +

+

A ghosts max view range if they are a BYOND guest or regular account

GHOST_MAX_VIEW_RANGE_MEMBER + + +

+

A ghosts max view range if they are a BYOND paid member account (P2W feature)

GHOST_ORBIT_CIRCLE + + +

+

Ghosts will orbit objects in a circle

GHOST_ORBIT_HEXAGON + + +

+

Ghosts will orbit objects in a hexagon

GHOST_ORBIT_PENTAGON + + +

+

Ghosts will orbit objects in a pentagon

GHOST_ORBIT_SQUARE + + +

+

Ghosts will orbit objects in a square

GHOST_ORBIT_TRIANGLE + + +

+

Ghosts will orbit objects in a triangle

GHOST_OTHERS_DEFAULT_OPTION + + +

+

The default ghost display selection when viewing other players

GHOST_OTHERS_DEFAULT_SPRITE + + +

+

The other players ghosts will display as transparent mobs

GHOST_OTHERS_SIMPLE + + +

+

The other players ghosts will display as a simple white ghost

GHOST_OTHERS_THEIR_SETTING + + +

+

The other players ghosts will display as transparent mobs with clothing

+ + + diff --git a/code/__DEFINES/grab_defines.html b/code/__DEFINES/grab_defines.html new file mode 100644 index 000000000000..beaf624b62e5 --- /dev/null +++ b/code/__DEFINES/grab_defines.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/grab_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/grab_defines.dm + +

+ + + +
TRAIT_AGGRESSIVE_GRABApplied to movables that are aggressively grabbed OR HIGHER
TRAIT_KILL_GRABApplied to movables that are being strangled

Define Details

+

TRAIT_AGGRESSIVE_GRAB + + +

+

Applied to movables that are aggressively grabbed OR HIGHER

TRAIT_KILL_GRAB + + +

+

Applied to movables that are being strangled

+ + + diff --git a/code/__DEFINES/gravity.html b/code/__DEFINES/gravity.html new file mode 100644 index 000000000000..2ee5794e6085 --- /dev/null +++ b/code/__DEFINES/gravity.html @@ -0,0 +1,80 @@ + + + + + + + code/__DEFINES/gravity.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/gravity.dm + +

+ + + + + + + + + + + +
STAGE_ONESingularity is stage 1 (1x1)
STAGE_TWOSingularity is stage 2 (3x3)
STAGE_THREESingularity is stage 3 (5x5)
STAGE_FOURSingularity is stage 4 (7x7)
STAGE_FIVESingularity is stage 5 (9x9)
STAGE_SIXSingularity is stage 6 (11x11)
NEGATIVE_GRAVITYThe point where gravity is negative enough to pull you upwards. +That means walking checks for a ceiling instead of a floor, and you can fall "upwards"
GRAVITY_DAMAGE_THRESHOLDThe gravity strength threshold for high gravity damage.
GRAVITY_DAMAGE_SCALINGThe scaling factor for high gravity damage.
GRAVITY_DAMAGE_MAXIMUMThe maximum BRUTE damage a mob can take from high gravity per second.

Define Details

+

GRAVITY_DAMAGE_MAXIMUM + + +

+

The maximum BRUTE damage a mob can take from high gravity per second.

GRAVITY_DAMAGE_SCALING + + +

+

The scaling factor for high gravity damage.

GRAVITY_DAMAGE_THRESHOLD + + +

+

The gravity strength threshold for high gravity damage.

NEGATIVE_GRAVITY + + +

+

The point where gravity is negative enough to pull you upwards. +That means walking checks for a ceiling instead of a floor, and you can fall "upwards"

+

This should only be possible on multi-z maps because it works like shit on maps that aren't.

STAGE_FIVE + + +

+

Singularity is stage 5 (9x9)

STAGE_FOUR + + +

+

Singularity is stage 4 (7x7)

STAGE_ONE + + +

+

Singularity is stage 1 (1x1)

STAGE_SIX + + +

+

Singularity is stage 6 (11x11)

STAGE_THREE + + +

+

Singularity is stage 3 (5x5)

STAGE_TWO + + +

+

Singularity is stage 2 (3x3)

+ + + diff --git a/code/__DEFINES/greyscale.html b/code/__DEFINES/greyscale.html new file mode 100644 index 000000000000..176c24cd8225 --- /dev/null +++ b/code/__DEFINES/greyscale.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/greyscale.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/greyscale.dm + +

+ + + + + +
GAGS_CARDINAL_SMOOTHThe config will create states for cardinal smoothing
GAGS_DIAGONAL_SMOOTHThe config will create states for diagonal smoothing
GAGS_DIAGONAL_NEED_ADJACENT_CARDINALThis will make it so diagonal steps require both adjacent cardinal steps to make a state
GAGS_COMMON_BITMASKINGThe common way to bitmask features all of the modes above

Define Details

+

GAGS_CARDINAL_SMOOTH + + +

+

The config will create states for cardinal smoothing

GAGS_COMMON_BITMASKING + + +

+

The common way to bitmask features all of the modes above

GAGS_DIAGONAL_NEED_ADJACENT_CARDINAL + + +

+

This will make it so diagonal steps require both adjacent cardinal steps to make a state

GAGS_DIAGONAL_SMOOTH + + +

+

The config will create states for diagonal smoothing

+ + + diff --git a/code/__DEFINES/holomap.html b/code/__DEFINES/holomap.html new file mode 100644 index 000000000000..b38d6e072ee5 --- /dev/null +++ b/code/__DEFINES/holomap.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/holomap.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/holomap.dm + +

+ + +
HOLOMAP_SIZEDimensions of the holomap. This is NOT MEANT TO BE CHANGED, its just for readability.

Define Details

+

HOLOMAP_SIZE + + +

+

Dimensions of the holomap. This is NOT MEANT TO BE CHANGED, its just for readability.

+ + + diff --git a/code/__DEFINES/hud.html b/code/__DEFINES/hud.html new file mode 100644 index 000000000000..18514de402e3 --- /dev/null +++ b/code/__DEFINES/hud.html @@ -0,0 +1,97 @@ + + + + + + + code/__DEFINES/hud.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/hud.dm + +

+ + + + + + + + + + + + + + + +
HUD_STYLE_STANDARDStandard hud
HUD_STYLE_REDUCEDReduced hud (just hands and intent switcher)
HUD_STYLE_NOHUDNo hud (for screenshots)
HUD_VERSIONSUsed in show_hud(); Please ensure this is the same as the maximum index.
APPEARANCE_UI_IGNORE_ALPHAUsed for progress bars and chat messages
APPEARANCE_UIUsed for HUD objects
SCRN_OBJ_DEFAULTWhatever the base action datum thinks is best
SCRN_OBJ_FLOATINGFloating somewhere on the hud, not in any predefined place
SCRN_OBJ_IN_LISTIn the list of buttons stored at the top of the screen
SCRN_OBJ_IN_PALETTEIn the collapseable palette
SCRN_OBJ_INSERT_FIRSTInserted first in the list
FULLSCREEN_OVERLAY_RESOLUTION_XThe fullscreen overlay in tiles for x axis
FULLSCREEN_OVERLAY_RESOLUTION_YThe fullscreen overlay in tiles for y axis
NIGHTVISION_FOV_RANGEThe default see_in_dark given to mobs

Define Details

+

APPEARANCE_UI + + +

+

Used for HUD objects

APPEARANCE_UI_IGNORE_ALPHA + + +

+

Used for progress bars and chat messages

FULLSCREEN_OVERLAY_RESOLUTION_X + + +

+

The fullscreen overlay in tiles for x axis

FULLSCREEN_OVERLAY_RESOLUTION_Y + + +

+

The fullscreen overlay in tiles for y axis

HUD_STYLE_NOHUD + + +

+

No hud (for screenshots)

HUD_STYLE_REDUCED + + +

+

Reduced hud (just hands and intent switcher)

HUD_STYLE_STANDARD + + +

+

Standard hud

HUD_VERSIONS + + +

+

Used in show_hud(); Please ensure this is the same as the maximum index.

NIGHTVISION_FOV_RANGE + + +

+

The default see_in_dark given to mobs

SCRN_OBJ_DEFAULT + + +

+

Whatever the base action datum thinks is best

SCRN_OBJ_FLOATING + + +

+

Floating somewhere on the hud, not in any predefined place

SCRN_OBJ_INSERT_FIRST + + +

+

Inserted first in the list

SCRN_OBJ_IN_LIST + + +

+

In the list of buttons stored at the top of the screen

SCRN_OBJ_IN_PALETTE + + +

+

In the collapseable palette

+ + + diff --git a/code/__DEFINES/icon_smoothing.html b/code/__DEFINES/icon_smoothing.html new file mode 100644 index 000000000000..d3f5b49df90e --- /dev/null +++ b/code/__DEFINES/icon_smoothing.html @@ -0,0 +1,525 @@ + + + + + + + code/__DEFINES/icon_smoothing.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/icon_smoothing.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SMOOTH_CORNERSSmoothing system in where adjacencies are calculated and used to build an image by mounting each corner at runtime.
SMOOTH_BITMASKSmoothing system in where adjacencies are calculated and used to select a pre-baked icon_state, encoded by bitmasking.
SMOOTH_BORDERAtom will smooth with the borders of the map.
SMOOTH_QUEUEDAtom is currently queued to smooth.
SMOOTH_OBJSmooths with objects, and will thus need to scan turfs for contents.
S_TURF*SMOOTHING GROUPS
SMOOTH_GROUP_TURF_OPENturf/open
SMOOTH_GROUP_TURF_CHASMturf/open/chasm, /turf/open/floor/fakepit
SMOOTH_GROUP_FLOOR_LAVAturf/open/lava/smooth
SMOOTH_GROUP_FLOOR_TRANSPARENT_GLASSturf/open/floor/glass
SMOOTH_GROUP_OPEN_FLOORturf/open/floor
SMOOTH_GROUP_FLOOR_GRASSturf/open/misc/grass
SMOOTH_GROUP_FLOOR_ASHturf/open/misc/ashplanet/ash
SMOOTH_GROUP_FLOOR_ASH_ROCKYturf/open/misc/ashplanet/rocky
SMOOTH_GROUP_FLOOR_ICEturf/open/misc/ice
SMOOTH_GROUP_FLOOR_SNOWEDturf/open/floor/plating/snowed
SMOOTH_GROUP_CARPETturf/open/floor/carpet
SMOOTH_GROUP_CARPET_BLACKturf/open/floor/carpet/black
SMOOTH_GROUP_CARPET_BLUEturf/open/floor/carpet/blue
SMOOTH_GROUP_CARPET_CYANturf/open/floor/carpet/cyan
SMOOTH_GROUP_CARPET_GREENturf/open/floor/carpet/green
SMOOTH_GROUP_CARPET_ORANGEturf/open/floor/carpet/orange
SMOOTH_GROUP_CARPET_PURPLEturf/open/floor/carpet/purple
SMOOTH_GROUP_CARPET_REDturf/open/floor/carpet/red
SMOOTH_GROUP_CARPET_ROYAL_BLACKturf/open/floor/carpet/royalblack
SMOOTH_GROUP_CARPET_ROYAL_BLUEturf/open/floor/carpet/royalblue
SMOOTH_GROUP_CARPET_EXECUTIVEturf/open/floor/carpet/executive
SMOOTH_GROUP_CARPET_STELLARturf/open/floor/carpet/stellar
SMOOTH_GROUP_CARPET_DONKturf/open/floor/carpet/donk
SMOOTH_GROUP_CARPET_NEONturf/open/floor/carpet/neon
SMOOTH_GROUP_CARPET_SIMPLE_NEONturf/open/floor/carpet/neon/simple
SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITEturf/open/floor/carpet/neon/simple/white
SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACKturf/open/floor/carpet/neon/simple/black
SMOOTH_GROUP_CARPET_SIMPLE_NEON_REDturf/open/floor/carpet/neon/simple/red
SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGEturf/open/floor/carpet/neon/simple/orange
SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOWturf/open/floor/carpet/neon/simple/yellow
SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIMEturf/open/floor/carpet/neon/simple/lime
SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREENturf/open/floor/carpet/neon/simple/green
SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEALturf/open/floor/carpet/neon/simple/teal
SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYANturf/open/floor/carpet/neon/simple/cyan
SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUEturf/open/floor/carpet/neon/simple/blue
SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLEturf/open/floor/carpet/neon/simple/purple
SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLETturf/open/floor/carpet/neon/simple/violet
SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINKturf/open/floor/carpet/neon/simple/pink
SMOOTH_GROUP_CARPET_SIMPLE_NEON_NODOTSturf/open/floor/carpet/neon/simple/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE_NODOTSturf/open/floor/carpet/neon/simple/white/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK_NODOTSturf/open/floor/carpet/neon/simple/black/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED_NODOTSturf/open/floor/carpet/neon/simple/red/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE_NODOTSturf/open/floor/carpet/neon/simple/orange/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW_NODOTSturf/open/floor/carpet/neon/simple/yellow/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME_NODOTSturf/open/floor/carpet/neon/simple/lime/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN_NODOTSturf/open/floor/carpet/neon/simple/green/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL_NODOTSturf/open/floor/carpet/neon/simple/teal/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN_NODOTSturf/open/floor/carpet/neon/simple/cyan/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE_NODOTSturf/open/floor/carpet/neon/simple/blue/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE_NODOTSturf/open/floor/carpet/neon/simple/purple/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET_NODOTSturf/open/floor/carpet/neon/simple/violet/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK_NODOTSturf/open/floor/carpet/neon/simple/pink/nodots
SMOOTH_GROUP_BAMBOO_FLOOR/turf/open/floor/bamboo
SMOOTH_GROUP_CLOSED_TURFSturf/closed
SMOOTH_GROUP_SURVIVAL_TITANIUM_WALLSturf/closed/wall/mineral/titanium/survival
SMOOTH_GROUP_HOTEL_WALLSturf/closed/indestructible/hotelwall
SMOOTH_GROUP_MINERAL_WALLSturf/closed/mineral, /turf/closed/indestructible
SMOOTH_GROUP_BOSS_WALLSturf/closed/indestructible/riveted/boss
SMOOTH_GROUP_WALLSturf/closed/wall, /obj/structure/falsewall
SMOOTH_GROUP_HIERO_WALLobj/effect/temp_visual/elite_tumor_wall, /obj/effect/temp_visual/hierophant/wall
SMOOTH_GROUP_SURVIVAL_TITANIUM_PODturf/closed/wall/mineral/titanium/survival/pod, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/reinforced/shuttle/survival_pod
SMOOTH_GROUP_PAPERFRAMEobj/structure/window/paperframe, /obj/structure/mineral_door/paperframe
SMOOTH_GROUP_WINDOW_FULLTILEturf/closed/indestructible/fakeglass, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/reinforced/plasma/fulltile
SMOOTH_GROUP_WINDOW_FULLTILE_BRONZEobj/structure/window/bronze/fulltile
SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUMturf/closed/indestructible/opsglass, /obj/structure/window/reinforced/plasma/plastitanium
SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLEobj/structure/window/reinforced/shuttle
SMOOTH_GROUP_LATTICEobj/structure/lattice
SMOOTH_GROUP_CATWALKobj/structure/lattice/catwalk
SMOOTH_GROUP_GRILLEobj/structure/grille
SMOOTH_GROUP_LOW_WALLobj/structure/low_wall
SMOOTH_GROUP_AIRLOCKobj/machinery/door/airlock
SMOOTH_GROUP_SHUTTERS_BLASTDOORSobj/machinery/door/poddoor
SMOOTH_GROUP_TABLESobj/structure/table
SMOOTH_GROUP_WOOD_TABLESobj/structure/table/wood
SMOOTH_GROUP_FANCY_WOOD_TABLESobj/structure/table/wood/fancy
SMOOTH_GROUP_BRONZE_TABLESobj/structure/table/bronze
SMOOTH_GROUP_ABDUCTOR_TABLESobj/structure/table/abductor
SMOOTH_GROUP_GLASS_TABLESobj/structure/table/glass
SMOOTH_GROUP_ALIEN_NESTobj/structure/bed/nest
SMOOTH_GROUP_ALIEN_RESINobj/structure/alien/resin
SMOOTH_GROUP_ALIEN_WALLSobj/structure/alien/resin/wall, /obj/structure/alien/resin/membrane
SMOOTH_GROUP_ALIEN_WEEDSobj/structure/alien/weeds
SMOOTH_GROUP_SECURITY_BARRICADEobj/structure/barricade/security
SMOOTH_GROUP_SANDBAGSobj/structure/barricade/sandbags
SMOOTH_GROUP_HEDGE_FLUFFobj/structure/hedge
SMOOTH_GROUP_SHUTTLE_PARTSturf/closed/indestructible/opsglass, /obj/structure/shuttle, /obj/structure/window/reinforced/shuttle/survival_pod
SMOOTH_GROUP_CLEANABLE_DIRTobj/effect/decal/cleanable/dirt
SMOOTH_GROUP_INDUSTRIAL_LIFTobj/structure/industrial_lift
SETUP_SMOOTHINGPerforms the work to set smoothing_groups and canSmoothWith. +An inlined function used in both turf/Initialize and atom/Initialize.
UNWRAP_SMOOTHING_GROUPSGiven a smoothing groups variable, will set out to the actual numbers inside it

Define Details

+

SETUP_SMOOTHING + + + +

+

Performs the work to set smoothing_groups and canSmoothWith. +An inlined function used in both turf/Initialize and atom/Initialize.

SMOOTH_BITMASK + + +

+

Smoothing system in where adjacencies are calculated and used to select a pre-baked icon_state, encoded by bitmasking.

SMOOTH_BORDER + + +

+

Atom will smooth with the borders of the map.

SMOOTH_CORNERS + + +

+

Smoothing system in where adjacencies are calculated and used to build an image by mounting each corner at runtime.

SMOOTH_GROUP_ABDUCTOR_TABLES + + +

+

obj/structure/table/abductor

SMOOTH_GROUP_AIRLOCK + + +

+

obj/machinery/door/airlock

SMOOTH_GROUP_ALIEN_NEST + + +

+

obj/structure/bed/nest

SMOOTH_GROUP_ALIEN_RESIN + + +

+

obj/structure/alien/resin

SMOOTH_GROUP_ALIEN_WALLS + + +

+

obj/structure/alien/resin/wall, /obj/structure/alien/resin/membrane

SMOOTH_GROUP_ALIEN_WEEDS + + +

+

obj/structure/alien/weeds

SMOOTH_GROUP_BAMBOO_FLOOR + + +

+

/turf/open/floor/bamboo

SMOOTH_GROUP_BOSS_WALLS + + +

+

turf/closed/indestructible/riveted/boss

SMOOTH_GROUP_BRONZE_TABLES + + +

+

obj/structure/table/bronze

SMOOTH_GROUP_CARPET + + +

+

turf/open/floor/carpet

SMOOTH_GROUP_CARPET_BLACK + + +

+

turf/open/floor/carpet/black

SMOOTH_GROUP_CARPET_BLUE + + +

+

turf/open/floor/carpet/blue

SMOOTH_GROUP_CARPET_CYAN + + +

+

turf/open/floor/carpet/cyan

SMOOTH_GROUP_CARPET_DONK + + +

+

turf/open/floor/carpet/donk

SMOOTH_GROUP_CARPET_EXECUTIVE + + +

+

turf/open/floor/carpet/executive

SMOOTH_GROUP_CARPET_GREEN + + +

+

turf/open/floor/carpet/green

SMOOTH_GROUP_CARPET_NEON + + +

+

turf/open/floor/carpet/neon

SMOOTH_GROUP_CARPET_ORANGE + + +

+

turf/open/floor/carpet/orange

SMOOTH_GROUP_CARPET_PURPLE + + +

+

turf/open/floor/carpet/purple

SMOOTH_GROUP_CARPET_RED + + +

+

turf/open/floor/carpet/red

SMOOTH_GROUP_CARPET_ROYAL_BLACK + + +

+

turf/open/floor/carpet/royalblack

SMOOTH_GROUP_CARPET_ROYAL_BLUE + + +

+

turf/open/floor/carpet/royalblue

SMOOTH_GROUP_CARPET_SIMPLE_NEON + + +

+

turf/open/floor/carpet/neon/simple

SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK + + +

+

turf/open/floor/carpet/neon/simple/black

SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/black/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE + + +

+

turf/open/floor/carpet/neon/simple/blue

SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/blue/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN + + +

+

turf/open/floor/carpet/neon/simple/cyan

SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/cyan/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN + + +

+

turf/open/floor/carpet/neon/simple/green

SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/green/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME + + +

+

turf/open/floor/carpet/neon/simple/lime

SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/lime/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE + + +

+

turf/open/floor/carpet/neon/simple/orange

SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/orange/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK + + +

+

turf/open/floor/carpet/neon/simple/pink

SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/pink/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE + + +

+

turf/open/floor/carpet/neon/simple/purple

SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/purple/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED + + +

+

turf/open/floor/carpet/neon/simple/red

SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/red/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL + + +

+

turf/open/floor/carpet/neon/simple/teal

SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/teal/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET + + +

+

turf/open/floor/carpet/neon/simple/violet

SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/violet/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE + + +

+

turf/open/floor/carpet/neon/simple/white

SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/white/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW + + +

+

turf/open/floor/carpet/neon/simple/yellow

SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/yellow/nodots

SMOOTH_GROUP_CARPET_STELLAR + + +

+

turf/open/floor/carpet/stellar

SMOOTH_GROUP_CATWALK + + +

+

obj/structure/lattice/catwalk

SMOOTH_GROUP_CLEANABLE_DIRT + + +

+

obj/effect/decal/cleanable/dirt

SMOOTH_GROUP_CLOSED_TURFS + + +

+

turf/closed

SMOOTH_GROUP_FANCY_WOOD_TABLES + + +

+

obj/structure/table/wood/fancy

SMOOTH_GROUP_FLOOR_ASH + + +

+

turf/open/misc/ashplanet/ash

SMOOTH_GROUP_FLOOR_ASH_ROCKY + + +

+

turf/open/misc/ashplanet/rocky

SMOOTH_GROUP_FLOOR_GRASS + + +

+

turf/open/misc/grass

SMOOTH_GROUP_FLOOR_ICE + + +

+

turf/open/misc/ice

SMOOTH_GROUP_FLOOR_LAVA + + +

+

turf/open/lava/smooth

SMOOTH_GROUP_FLOOR_SNOWED + + +

+

turf/open/floor/plating/snowed

SMOOTH_GROUP_FLOOR_TRANSPARENT_GLASS + + +

+

turf/open/floor/glass

SMOOTH_GROUP_GLASS_TABLES + + +

+

obj/structure/table/glass

SMOOTH_GROUP_GRILLE + + +

+

obj/structure/grille

SMOOTH_GROUP_HEDGE_FLUFF + + +

+

obj/structure/hedge

SMOOTH_GROUP_HIERO_WALL + + +

+

obj/effect/temp_visual/elite_tumor_wall, /obj/effect/temp_visual/hierophant/wall

SMOOTH_GROUP_HOTEL_WALLS + + +

+

turf/closed/indestructible/hotelwall

SMOOTH_GROUP_INDUSTRIAL_LIFT + + +

+

obj/structure/industrial_lift

SMOOTH_GROUP_LATTICE + + +

+

obj/structure/lattice

SMOOTH_GROUP_LOW_WALL + + +

+

obj/structure/low_wall

SMOOTH_GROUP_MINERAL_WALLS + + +

+

turf/closed/mineral, /turf/closed/indestructible

SMOOTH_GROUP_OPEN_FLOOR + + +

+

turf/open/floor

SMOOTH_GROUP_PAPERFRAME + + +

+

obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe

SMOOTH_GROUP_SANDBAGS + + +

+

obj/structure/barricade/sandbags

SMOOTH_GROUP_SECURITY_BARRICADE + + +

+

obj/structure/barricade/security

SMOOTH_GROUP_SHUTTERS_BLASTDOORS + + +

+

obj/machinery/door/poddoor

SMOOTH_GROUP_SHUTTLE_PARTS + + +

+

turf/closed/indestructible/opsglass, /obj/structure/shuttle, /obj/structure/window/reinforced/shuttle/survival_pod

SMOOTH_GROUP_SURVIVAL_TITANIUM_POD + + +

+

turf/closed/wall/mineral/titanium/survival/pod, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/reinforced/shuttle/survival_pod

SMOOTH_GROUP_SURVIVAL_TITANIUM_WALLS + + +

+

turf/closed/wall/mineral/titanium/survival

SMOOTH_GROUP_TABLES + + +

+

obj/structure/table

SMOOTH_GROUP_TURF_CHASM + + +

+

turf/open/chasm, /turf/open/floor/fakepit

SMOOTH_GROUP_TURF_OPEN + + +

+

turf/open

SMOOTH_GROUP_WALLS + + +

+

turf/closed/wall, /obj/structure/falsewall

SMOOTH_GROUP_WINDOW_FULLTILE + + +

+

turf/closed/indestructible/fakeglass, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/reinforced/plasma/fulltile

SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE + + +

+

obj/structure/window/bronze/fulltile

SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM + + +

+

turf/closed/indestructible/opsglass, /obj/structure/window/reinforced/plasma/plastitanium

SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE + + +

+

obj/structure/window/reinforced/shuttle

SMOOTH_GROUP_WOOD_TABLES + + +

+

obj/structure/table/wood

SMOOTH_OBJ + + +

+

Smooths with objects, and will thus need to scan turfs for contents.

SMOOTH_QUEUED + + +

+

Atom is currently queued to smooth.

S_TURF + + + +

+

*SMOOTHING GROUPS

+

UNWRAP_SMOOTHING_GROUPS + + + +

+

Given a smoothing groups variable, will set out to the actual numbers inside it

+ + + diff --git a/code/__DEFINES/id_cards.html b/code/__DEFINES/id_cards.html new file mode 100644 index 000000000000..860863666309 --- /dev/null +++ b/code/__DEFINES/id_cards.html @@ -0,0 +1,81 @@ + + + + + + + code/__DEFINES/id_cards.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/id_cards.dm + +

+ + + + + + + + + + +
WILDCARD_LIMIT_GREYThe order in which these lists are defined matters. When attempting to add a wildcard access to a card +and not specifying an explicit wildcard slot in which to include it, the code will iterate over the list +and stop at the first wildcard flag that can hold the access.
WILDCARD_LIMIT_SILVERWildcard slot define for Head of Staff silver cards. Can hold 3 common, 1 command and 1 private command.
WILDCARD_LIMIT_GOLDWildcard slot define for Captain gold cards. Can hold infinite of any Captain level wildcard.
WILDCARD_LIMIT_SYNDICATEWildcard slot define for select Syndicate-affiliated cards. Can hold infinite of any Syndicate level wildcard. Syndicate includes all station accesses.
WILDCARD_LIMIT_DEATHSQUADWildcard slot define for Deathsquad black cards. Can hold infinite of any Centcom level wildcard. Centcom includes all station accesses.
WILDCARD_LIMIT_CENTCOMWildcard slot define for Centcom blue cards. Can hold infinite of any Centcom level wildcard. Centcom includes all station accesses.
WILDCARD_LIMIT_PRISONERWildcard slot define for Prisoner orange cards. No wildcard slots.
WILDCARD_LIMIT_CHAMELEONWildcard slot define for Chameleon/Agent ID grey cards. Can hold 3 common, 1 command and 1 captain access.
WILDCARD_LIMIT_ADMINWildcard slot define for admin/debug/weird, special abstract cards. Can hold infinite of any access.

Define Details

+

WILDCARD_LIMIT_ADMIN + + +

+

Wildcard slot define for admin/debug/weird, special abstract cards. Can hold infinite of any access.

WILDCARD_LIMIT_CENTCOM + + +

+

Wildcard slot define for Centcom blue cards. Can hold infinite of any Centcom level wildcard. Centcom includes all station accesses.

WILDCARD_LIMIT_CHAMELEON + + +

+

Wildcard slot define for Chameleon/Agent ID grey cards. Can hold 3 common, 1 command and 1 captain access.

WILDCARD_LIMIT_DEATHSQUAD + + +

+

Wildcard slot define for Deathsquad black cards. Can hold infinite of any Centcom level wildcard. Centcom includes all station accesses.

WILDCARD_LIMIT_GOLD + + +

+

Wildcard slot define for Captain gold cards. Can hold infinite of any Captain level wildcard.

WILDCARD_LIMIT_GREY + + +

+

The order in which these lists are defined matters. When attempting to add a wildcard access to a card +and not specifying an explicit wildcard slot in which to include it, the code will iterate over the list +and stop at the first wildcard flag that can hold the access.

+

The lower level the access, the earlier in the list it should be so that low level wildcards get +added to the lowest wildcard flag that can take them.

+

A limit of -1 means infinite slots. The system is designed to reject a wildcard when the slot limit +explicitly equal 0 for all compatible wildcard slots. +Wildcard slot define for basic grey cards. Only hold 2 common wildcards.

WILDCARD_LIMIT_PRISONER + + +

+

Wildcard slot define for Prisoner orange cards. No wildcard slots.

WILDCARD_LIMIT_SILVER + + +

+

Wildcard slot define for Head of Staff silver cards. Can hold 3 common, 1 command and 1 private command.

WILDCARD_LIMIT_SYNDICATE + + +

+

Wildcard slot define for select Syndicate-affiliated cards. Can hold infinite of any Syndicate level wildcard. Syndicate includes all station accesses.

+ + + diff --git a/code/__DEFINES/important_recursive_contents.html b/code/__DEFINES/important_recursive_contents.html new file mode 100644 index 000000000000..dabea847ac22 --- /dev/null +++ b/code/__DEFINES/important_recursive_contents.html @@ -0,0 +1,59 @@ + + + + + + + code/__DEFINES/important_recursive_contents.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/important_recursive_contents.dm + +

+ + + + + + + +
RECURSIVE_CONTENTS_AREA_SENSITIVEthe area channel of the important_recursive_contents list, everything in here will be sent a signal when their last holding object changes areas
RECURSIVE_CONTENTS_HEARING_SENSITIVEthe hearing channel of the important_recursive_contents list, everything in here will count as a hearing atom
RECURSIVE_CONTENTS_CLIENT_MOBSthe client mobs channel of the important_recursive_contents list, everything in here will be a mob with an attached client +this is given to both a clients mob, and a clients eye, both point to the clients mob
RECURSIVE_CONTENTS_ACTIVE_STORAGEthe parent of storage components currently shown to some client mob get this. gets removed when nothing is viewing the parent
RECURSIVE_CONTENTS_RADIO_NONATMOSthis is given to radio listeners of any channel that ISN'T FREQ_ATMOS_CONTROL
RECURSIVE_CONTENTS_RADIO_ATMOSthis is given to radio listents of SPECIFICALLY FREQ_ATMOS_CONTROL

Define Details

+

RECURSIVE_CONTENTS_ACTIVE_STORAGE + + +

+

the parent of storage components currently shown to some client mob get this. gets removed when nothing is viewing the parent

RECURSIVE_CONTENTS_AREA_SENSITIVE + + +

+

the area channel of the important_recursive_contents list, everything in here will be sent a signal when their last holding object changes areas

RECURSIVE_CONTENTS_CLIENT_MOBS + + +

+

the client mobs channel of the important_recursive_contents list, everything in here will be a mob with an attached client +this is given to both a clients mob, and a clients eye, both point to the clients mob

RECURSIVE_CONTENTS_HEARING_SENSITIVE + + +

+

the hearing channel of the important_recursive_contents list, everything in here will count as a hearing atom

RECURSIVE_CONTENTS_RADIO_ATMOS + + +

+

this is given to radio listents of SPECIFICALLY FREQ_ATMOS_CONTROL

RECURSIVE_CONTENTS_RADIO_NONATMOS + + +

+

this is given to radio listeners of any channel that ISN'T FREQ_ATMOS_CONTROL

+ + + diff --git a/code/__DEFINES/industrial_lift.html b/code/__DEFINES/industrial_lift.html new file mode 100644 index 000000000000..ee2450fdcb19 --- /dev/null +++ b/code/__DEFINES/industrial_lift.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/industrial_lift.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/industrial_lift.dm + +

+ + + + + + + + +
LIFT_PLATFORM_LOCKEDthe lift's controls are currently locked from user input
LIFT_PLATFORM_UNLOCKEDthe lift's controls are currently unlocked so user's can direct it
BASIC_LIFT_IDbasic lift_id, goes up and down
TRAM_LIFT_IDtram lift_id, goes left and right or north and south. maybe one day be able to turn and go up/down as well
DEBUG_LIFT_IDdebug lift_id
MAIN_STATION_TRAMthe specific_lift_id of the main station tram landmark for tramstation that spawns roundstart.
HILBERT_TRAMthe specific_lift_id of the tram on the hilbert research station

Define Details

+

BASIC_LIFT_ID + + +

+

basic lift_id, goes up and down

DEBUG_LIFT_ID + + +

+

debug lift_id

HILBERT_TRAM + + +

+

the specific_lift_id of the tram on the hilbert research station

LIFT_PLATFORM_LOCKED + + +

+

the lift's controls are currently locked from user input

LIFT_PLATFORM_UNLOCKED + + +

+

the lift's controls are currently unlocked so user's can direct it

MAIN_STATION_TRAM + + +

+

the specific_lift_id of the main station tram landmark for tramstation that spawns roundstart.

TRAM_LIFT_ID + + +

+

tram lift_id, goes left and right or north and south. maybe one day be able to turn and go up/down as well

+ + + diff --git a/code/__DEFINES/injection.html b/code/__DEFINES/injection.html new file mode 100644 index 000000000000..d51b0000262e --- /dev/null +++ b/code/__DEFINES/injection.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/injection.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/injection.dm + +

+ + + + +
INJECT_CHECK_PENETRATE_THICKThis injection can penetrate through thick clothing.
INJECT_CHECK_IGNORE_SPECIESThis injection bypasses species specific restrictions.
INJECT_TRY_SHOW_ERROR_MESSAGEWhen trying this injection, show an error message if it fails.

Define Details

+

INJECT_CHECK_IGNORE_SPECIES + + +

+

This injection bypasses species specific restrictions.

INJECT_CHECK_PENETRATE_THICK + + +

+

This injection can penetrate through thick clothing.

INJECT_TRY_SHOW_ERROR_MESSAGE + + +

+

When trying this injection, show an error message if it fails.

+ + + diff --git a/code/__DEFINES/input.html b/code/__DEFINES/input.html new file mode 100644 index 000000000000..75a69cbfdc07 --- /dev/null +++ b/code/__DEFINES/input.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/input.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/input.dm + +

+ + +
MAXIMUM_CLICK_LATENCYif the running average click latency is above this amount then clicks will never queue and will execute immediately

Define Details

+

MAXIMUM_CLICK_LATENCY + + +

+

if the running average click latency is above this amount then clicks will never queue and will execute immediately

+ + + diff --git a/code/__DEFINES/instruments.html b/code/__DEFINES/instruments.html new file mode 100644 index 000000000000..83ad69a39bdb --- /dev/null +++ b/code/__DEFINES/instruments.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/instruments.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/instruments.dm + +

+ + + + + +
CHANNELS_PER_INSTRUMENTMax number of playing notes per instrument.
INSTRUMENT_MAX_TOTAL_SUSTAINMaximum length a note should ever go for
INSTRUMENT_EXP_FALLOFF_MINThese are per decisecond.
INSTRUMENT_MIN_SUSTAIN_DROPOFFMinimum volume for when the sound is considered dead.

Define Details

+

CHANNELS_PER_INSTRUMENT + + +

+

Max number of playing notes per instrument.

INSTRUMENT_EXP_FALLOFF_MIN + + +

+

These are per decisecond.

INSTRUMENT_MAX_TOTAL_SUSTAIN + + +

+

Maximum length a note should ever go for

INSTRUMENT_MIN_SUSTAIN_DROPOFF + + +

+

Minimum volume for when the sound is considered dead.

+ + + diff --git a/code/__DEFINES/interactable.html b/code/__DEFINES/interactable.html new file mode 100644 index 000000000000..c0bc8c7b47c4 --- /dev/null +++ b/code/__DEFINES/interactable.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/interactable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/interactable.dm + +

+ + +
DEFINE_INTERACTABLEA "helper" for defining all of the needed things for mouse pointers to recognize an object is interactable

Define Details

+

DEFINE_INTERACTABLE + + + +

+

A "helper" for defining all of the needed things for mouse pointers to recognize an object is interactable

+ + + diff --git a/code/__DEFINES/interaction_flags.html b/code/__DEFINES/interaction_flags.html new file mode 100644 index 000000000000..2c28dec7f709 --- /dev/null +++ b/code/__DEFINES/interaction_flags.html @@ -0,0 +1,121 @@ + + + + + + + code/__DEFINES/interaction_flags.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/interaction_flags.dm + +

+ + + + + + + + + + + + + + + + + + + +
INTERACT_ATOM_REQUIRES_ANCHOREDwhether can_interact() checks for anchored. only works on movables.
INTERACT_ATOM_ATTACK_HANDcalls try_interact() on attack_hand() and returns that.
INTERACT_ATOM_UI_INTERACTautomatically calls and returns ui_interact() on interact().
INTERACT_ATOM_REQUIRES_DEXTERITYuser must be dextrous
INTERACT_ATOM_IGNORE_INCAPACITATEDignores incapacitated check
INTERACT_ATOM_IGNORE_RESTRAINEDincapacitated check ignores restrained
INTERACT_ATOM_CHECK_GRABincapacitated check checks grab
INTERACT_ATOM_NO_FINGERPRINT_ATTACK_HANDprevents leaving fingerprints automatically on attack_hand
INTERACT_ATOM_NO_FINGERPRINT_INTERACTadds hiddenprints instead of fingerprints on interact
INTERACT_ITEM_ATTACK_HAND_PICKUPattempt pickup on attack_hand for items
INTERACT_MACHINE_OPENcan_interact() while open
INTERACT_MACHINE_OFFLINEcan_interact() while offline
INTERACT_MACHINE_WIRES_IF_OPENtry to interact with wires if open
INTERACT_MACHINE_ALLOW_SILICONlet silicons interact
INTERACT_MACHINE_OPEN_SILICONlet silicons interact while open
INTERACT_MACHINE_REQUIRES_SILICONmust be silicon to interact
INTERACT_MACHINE_SET_MACHINEMACHINES HAVE THIS BY DEFAULT, SOMEONE SHOULD RUN THROUGH MACHINES AND REMOVE IT FROM THINGS LIKE LIGHT SWITCHES WHEN POSSIBLE!!-------------------------- +This flag determines if a machine set_machine's the user when the user uses it, making updateUsrDialog make the user re-call interact() on it. +THIS FLAG IS ON ALL MACHINES BY DEFAULT, NEEDS TO BE RE-EVALUATED LATER!!
INTERACT_MACHINE_REQUIRES_SIGHTthe user must have vision to interact (blind people need not apply)

Define Details

+

INTERACT_ATOM_ATTACK_HAND + + +

+

calls try_interact() on attack_hand() and returns that.

INTERACT_ATOM_CHECK_GRAB + + +

+

incapacitated check checks grab

INTERACT_ATOM_IGNORE_INCAPACITATED + + +

+

ignores incapacitated check

INTERACT_ATOM_IGNORE_RESTRAINED + + +

+

incapacitated check ignores restrained

INTERACT_ATOM_NO_FINGERPRINT_ATTACK_HAND + + +

+

prevents leaving fingerprints automatically on attack_hand

INTERACT_ATOM_NO_FINGERPRINT_INTERACT + + +

+

adds hiddenprints instead of fingerprints on interact

INTERACT_ATOM_REQUIRES_ANCHORED + + +

+

whether can_interact() checks for anchored. only works on movables.

INTERACT_ATOM_REQUIRES_DEXTERITY + + +

+

user must be dextrous

INTERACT_ATOM_UI_INTERACT + + +

+

automatically calls and returns ui_interact() on interact().

INTERACT_ITEM_ATTACK_HAND_PICKUP + + +

+

attempt pickup on attack_hand for items

INTERACT_MACHINE_ALLOW_SILICON + + +

+

let silicons interact

INTERACT_MACHINE_OFFLINE + + +

+

can_interact() while offline

INTERACT_MACHINE_OPEN + + +

+

can_interact() while open

INTERACT_MACHINE_OPEN_SILICON + + +

+

let silicons interact while open

INTERACT_MACHINE_REQUIRES_SIGHT + + +

+

the user must have vision to interact (blind people need not apply)

INTERACT_MACHINE_REQUIRES_SILICON + + +

+

must be silicon to interact

INTERACT_MACHINE_SET_MACHINE + + +

+

MACHINES HAVE THIS BY DEFAULT, SOMEONE SHOULD RUN THROUGH MACHINES AND REMOVE IT FROM THINGS LIKE LIGHT SWITCHES WHEN POSSIBLE!!-------------------------- +This flag determines if a machine set_machine's the user when the user uses it, making updateUsrDialog make the user re-call interact() on it. +THIS FLAG IS ON ALL MACHINES BY DEFAULT, NEEDS TO BE RE-EVALUATED LATER!!

INTERACT_MACHINE_WIRES_IF_OPEN + + +

+

try to interact with wires if open

+ + + diff --git a/code/__DEFINES/inventory.html b/code/__DEFINES/inventory.html new file mode 100644 index 000000000000..95c19ae2fcf6 --- /dev/null +++ b/code/__DEFINES/inventory.html @@ -0,0 +1,297 @@ + + + + + + + code/__DEFINES/inventory.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/inventory.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
WEIGHT_CLASS_TINYUsually items smaller then a human hand, (e.g. playing cards, lighter, scalpel, coins)
WEIGHT_CLASS_SMALLPockets can hold small and tiny items, (e.g. flashlight, multitool, grenades, GPS device)
WEIGHT_CLASS_NORMALStandard backpacks can carry tiny, small & normal items, (e.g. fire extinguisher, stun baton, gas mask, metal sheets)
WEIGHT_CLASS_BULKYItems that can be weilded or equipped but not stored in an inventory, (e.g. defibrillator, backpack, space suits)
WEIGHT_CLASS_HUGEUsually represents objects that require two hands to operate, (e.g. shotgun, two-handed melee weapons)
WEIGHT_CLASS_GIGANTICEssentially means it cannot be picked up or placed in an inventory, (e.g. mech parts, safe)
ITEM_SLOT_OCLOTHINGSuit slot (armors, costumes, space suits, etc.)
ITEM_SLOT_ICLOTHINGJumpsuit slot
ITEM_SLOT_GLOVESGlove slot
ITEM_SLOT_EYESGlasses slot
ITEM_SLOT_EARSEar slot (radios, earmuffs)
ITEM_SLOT_MASKMask slot
ITEM_SLOT_HEADHead slot (helmets, hats, etc.)
ITEM_SLOT_FEETShoe slot
ITEM_SLOT_IDID slot
ITEM_SLOT_BELTBelt slot
ITEM_SLOT_BACKBack slot
ITEM_SLOT_DEX_STORAGEDextrous simplemob "hands" (used for Drones and Dextrous Guardians)
ITEM_SLOT_NECKNeck slot (ties, bedsheets, scarves)
ITEM_SLOT_HANDSA character's hand slots
ITEM_SLOT_BACKPACKInside of a character's backpack
ITEM_SLOT_SUITSTORESuit Storage slot
ITEM_SLOT_LPOCKETLeft Pocket slot
ITEM_SLOT_RPOCKETRight Pocket slot
ITEM_SLOT_HANDCUFFEDHandcuff slot
ITEM_SLOT_LEGCUFFEDLegcuff slot (bolas, beartraps)
SLOTS_AMTTotal amount of slots
HIDEHEADGEARfor wigs, only obscures the headgear
HIDESNOUTfor lizard snouts, because some HIDEFACE clothes don't actually conceal that portion of the head.
HIDEMUTWINGShides mutant/moth wings, does not apply to functional wings
BODYPART_HIDE_FLAGSEvery flag that hides a bodypart or organ.
NO_FEMALE_UNIFORMFor when there's simply no need for a female version of this uniform.
FEMALE_UNIFORM_FULLFor the game to take off everything, disregards other flags.
FEMALE_UNIFORM_TOP_ONLYFor when you really need to avoid the game cutting off that one pixel between the legs, to avoid the comeback of the infamous "dixel".
FEMALE_UNIFORM_NO_BREASTSFor when you don't want the "breast" effect to be applied (the one that cuts two pixels in the middle of the front of the uniform when facing east or west).
CLOTHING_NO_VARIATIONNo alternative sprites based on bodytype
CLOTHING_DIGITIGRADE_VARIATIONHas a sprite for digitigrade legs specifically.
CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICONThe sprite works fine for digitigrade legs as-is.
CLOTHING_VOX_VARIATIONHas a sprite for voxes specifically.
CLOTHING_SNOUTED_VARIATIONHas a sprite for snouted heads specifically.
CLOTHING_TESHARI_VARIATIONHas a custom sprite for Teshari
AFK_THEFT_MAX_MESSAGESHow many messages you can remember while logged out before you stop remembering new ones
AFK_THEFT_FORGET_DETAILS_TIMEIf someone logs back in and there are entries older than this, just tell them they can't remember who it was or when
AFK_THEFT_NAMEThe index of the entry in 'afk_thefts' with the person's visible name at the time
AFK_THEFT_MESSAGEThe index of the entry in 'afk_thefts' with the text
AFK_THEFT_TIMEThe index of the entry in 'afk_thefts' with the time it happened
LOCATION_LPOCKETString for items placed into the left pocket.
LOCATION_RPOCKETString for items placed into the right pocket
LOCATION_BACKPACKString for items placed into the backpack.
LOCATION_HANDSString for items placed into the hands.
LOCATION_GLOVESString for items placed in the glove slot.
LOCATION_EYESString for items placed in the eye/glasses slot.
LOCATION_HEADString for items placed on the head/hat slot.
LOCATION_NECKString for items placed in the neck slot.

Define Details

+

AFK_THEFT_FORGET_DETAILS_TIME + + +

+

If someone logs back in and there are entries older than this, just tell them they can't remember who it was or when

AFK_THEFT_MAX_MESSAGES + + +

+

How many messages you can remember while logged out before you stop remembering new ones

AFK_THEFT_MESSAGE + + +

+

The index of the entry in 'afk_thefts' with the text

AFK_THEFT_NAME + + +

+

The index of the entry in 'afk_thefts' with the person's visible name at the time

AFK_THEFT_TIME + + +

+

The index of the entry in 'afk_thefts' with the time it happened

BODYPART_HIDE_FLAGS + + +

+

Every flag that hides a bodypart or organ.

CLOTHING_DIGITIGRADE_VARIATION + + +

+

Has a sprite for digitigrade legs specifically.

CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + + +

+

The sprite works fine for digitigrade legs as-is.

CLOTHING_NO_VARIATION + + +

+

No alternative sprites based on bodytype

CLOTHING_SNOUTED_VARIATION + + +

+

Has a sprite for snouted heads specifically.

CLOTHING_TESHARI_VARIATION + + +

+

Has a custom sprite for Teshari

CLOTHING_VOX_VARIATION + + +

+

Has a sprite for voxes specifically.

FEMALE_UNIFORM_FULL + + +

+

For the game to take off everything, disregards other flags.

FEMALE_UNIFORM_NO_BREASTS + + +

+

For when you don't want the "breast" effect to be applied (the one that cuts two pixels in the middle of the front of the uniform when facing east or west).

FEMALE_UNIFORM_TOP_ONLY + + +

+

For when you really need to avoid the game cutting off that one pixel between the legs, to avoid the comeback of the infamous "dixel".

HIDEHEADGEAR + + +

+

for wigs, only obscures the headgear

HIDEMUTWINGS + + +

+

hides mutant/moth wings, does not apply to functional wings

HIDESNOUT + + +

+

for lizard snouts, because some HIDEFACE clothes don't actually conceal that portion of the head.

ITEM_SLOT_BACK + + +

+

Back slot

ITEM_SLOT_BACKPACK + + +

+

Inside of a character's backpack

ITEM_SLOT_BELT + + +

+

Belt slot

ITEM_SLOT_DEX_STORAGE + + +

+

Dextrous simplemob "hands" (used for Drones and Dextrous Guardians)

ITEM_SLOT_EARS + + +

+

Ear slot (radios, earmuffs)

ITEM_SLOT_EYES + + +

+

Glasses slot

ITEM_SLOT_FEET + + +

+

Shoe slot

ITEM_SLOT_GLOVES + + +

+

Glove slot

ITEM_SLOT_HANDCUFFED + + +

+

Handcuff slot

ITEM_SLOT_HANDS + + +

+

A character's hand slots

ITEM_SLOT_HEAD + + +

+

Head slot (helmets, hats, etc.)

ITEM_SLOT_ICLOTHING + + +

+

Jumpsuit slot

ITEM_SLOT_ID + + +

+

ID slot

ITEM_SLOT_LEGCUFFED + + +

+

Legcuff slot (bolas, beartraps)

ITEM_SLOT_LPOCKET + + +

+

Left Pocket slot

ITEM_SLOT_MASK + + +

+

Mask slot

ITEM_SLOT_NECK + + +

+

Neck slot (ties, bedsheets, scarves)

ITEM_SLOT_OCLOTHING + + +

+

Suit slot (armors, costumes, space suits, etc.)

ITEM_SLOT_RPOCKET + + +

+

Right Pocket slot

ITEM_SLOT_SUITSTORE + + +

+

Suit Storage slot

LOCATION_BACKPACK + + +

+

String for items placed into the backpack.

LOCATION_EYES + + +

+

String for items placed in the eye/glasses slot.

LOCATION_GLOVES + + +

+

String for items placed in the glove slot.

LOCATION_HANDS + + +

+

String for items placed into the hands.

LOCATION_HEAD + + +

+

String for items placed on the head/hat slot.

LOCATION_LPOCKET + + +

+

String for items placed into the left pocket.

LOCATION_NECK + + +

+

String for items placed in the neck slot.

LOCATION_RPOCKET + + +

+

String for items placed into the right pocket

NO_FEMALE_UNIFORM + + +

+

For when there's simply no need for a female version of this uniform.

SLOTS_AMT + + +

+

Total amount of slots

WEIGHT_CLASS_BULKY + + +

+

Items that can be weilded or equipped but not stored in an inventory, (e.g. defibrillator, backpack, space suits)

WEIGHT_CLASS_GIGANTIC + + +

+

Essentially means it cannot be picked up or placed in an inventory, (e.g. mech parts, safe)

WEIGHT_CLASS_HUGE + + +

+

Usually represents objects that require two hands to operate, (e.g. shotgun, two-handed melee weapons)

WEIGHT_CLASS_NORMAL + + +

+

Standard backpacks can carry tiny, small & normal items, (e.g. fire extinguisher, stun baton, gas mask, metal sheets)

WEIGHT_CLASS_SMALL + + +

+

Pockets can hold small and tiny items, (e.g. flashlight, multitool, grenades, GPS device)

WEIGHT_CLASS_TINY + + +

+

Usually items smaller then a human hand, (e.g. playing cards, lighter, scalpel, coins)

+ + + diff --git a/code/__DEFINES/is_helpers.html b/code/__DEFINES/is_helpers.html new file mode 100644 index 000000000000..e8c79596084c --- /dev/null +++ b/code/__DEFINES/is_helpers.html @@ -0,0 +1,39 @@ + + + + + + + code/__DEFINES/is_helpers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/is_helpers.dm + +

+ + + +
IN_GIVEN_RANGEWithin given range, but not counting z-levels
isanimal_or_basicmobreturns whether or not the atom is either a basic mob OR simple animal

Define Details

+

IN_GIVEN_RANGE + + + +

+

Within given range, but not counting z-levels

isanimal_or_basicmob + + + +

+

returns whether or not the atom is either a basic mob OR simple animal

+ + + diff --git a/code/__DEFINES/jobs.html b/code/__DEFINES/jobs.html new file mode 100644 index 000000000000..cb7d07332a42 --- /dev/null +++ b/code/__DEFINES/jobs.html @@ -0,0 +1,84 @@ + + + + + + + code/__DEFINES/jobs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/jobs.dm + +

+ + + + + + + + + + + +
JOB_UNAVAILABLE_ANTAG_INCOMPATJob unavailable due to incompatibility with an antag role.
JOB_ASSISTANT
JOB_ANNOUNCE_ARRIVALWhether the mob is announced on arrival.
JOB_CREW_MANIFESTWhether the mob is added to the crew manifest.
JOB_EQUIP_RANKWhether the mob is equipped through SSjob.EquipRank() on spawn.
JOB_CREW_MEMBERWhether the job is considered a regular crew member of the station. Equipment such as AI and cyborgs not included.
JOB_NEW_PLAYER_JOINABLEWhether this job can be joined through the new_player menu.
JOB_REOPEN_ON_ROUNDSTART_LOSSReopens this position if we lose the player at roundstart.
JOB_ASSIGN_QUIRKSIf the player with this job can have quirks assigned to him or not. Relevant for new player joinable jobs and roundstart antags.
JOB_CAN_BE_INTERNWhether this job can be an intern.

Define Details

+

JOB_ANNOUNCE_ARRIVAL + + +

+

Whether the mob is announced on arrival.

JOB_ASSIGN_QUIRKS + + +

+

If the player with this job can have quirks assigned to him or not. Relevant for new player joinable jobs and roundstart antags.

JOB_ASSISTANT + + +

+ ======================= +WARNING WARNING WARNING +WARNING WARNING WARNING +WARNING WARNING WARNING +

These names are used as keys in many locations in the database +you cannot change them trivially without breaking job bans and +role time tracking, if you do this and get it wrong you will die +and it will hurt the entire time

JOB_CAN_BE_INTERN + + +

+

Whether this job can be an intern.

JOB_CREW_MANIFEST + + +

+

Whether the mob is added to the crew manifest.

JOB_CREW_MEMBER + + +

+

Whether the job is considered a regular crew member of the station. Equipment such as AI and cyborgs not included.

JOB_EQUIP_RANK + + +

+

Whether the mob is equipped through SSjob.EquipRank() on spawn.

JOB_NEW_PLAYER_JOINABLE + + +

+

Whether this job can be joined through the new_player menu.

JOB_REOPEN_ON_ROUNDSTART_LOSS + + +

+

Reopens this position if we lose the player at roundstart.

JOB_UNAVAILABLE_ANTAG_INCOMPAT + + +

+

Job unavailable due to incompatibility with an antag role.

+ + + diff --git a/code/__DEFINES/lag_switch.html b/code/__DEFINES/lag_switch.html new file mode 100644 index 000000000000..e4f21d12fe62 --- /dev/null +++ b/code/__DEFINES/lag_switch.html @@ -0,0 +1,77 @@ + + + + + + + code/__DEFINES/lag_switch.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/lag_switch.dm + +

+ + + + + + + + + + + +
DISABLE_DEAD_KEYLOOPStops ghosts flying around freely, they can still jump and orbit, staff exempted
DISABLE_GHOST_ZOOM_TRAYStops ghosts using zoom/t-ray verbs and resets their view if zoomed out, staff exempted
DISABLE_RUNECHATDisable runechat and enable the bubbles, speaking mobs with TRAIT_BYPASS_MEASURES exempted
DISABLE_USR_ICON2HTMLDisable icon2html procs from verbs like examine, mobs calling with TRAIT_BYPASS_MEASURES exempted
DISABLE_NON_OBSJOBSPrevents anyone from joining the game as anything but observer
SLOWMODE_SAYLimit IC/dchat spam to one message every x seconds per client, TRAIT_BYPASS_MEASURES exempted
DISABLE_PARALLAXDisables parallax, as if everyone had disabled their preference, TRAIT_BYPASS_MEASURES exempted
DISABLE_FOOTSTEPSDisables footsteps, TRAIT_BYPASS_MEASURES exempted
DISABLE_VV_ICON_PREVIEWDisable icon VV render preview. Unlikely to be of use in 90% of circumstances, unless GFI starts shitting bricks again.
KICK_GUESTSKick and prevent connections from unverified users

Define Details

+

DISABLE_DEAD_KEYLOOP + + +

+

Stops ghosts flying around freely, they can still jump and orbit, staff exempted

DISABLE_FOOTSTEPS + + +

+

Disables footsteps, TRAIT_BYPASS_MEASURES exempted

DISABLE_GHOST_ZOOM_TRAY + + +

+

Stops ghosts using zoom/t-ray verbs and resets their view if zoomed out, staff exempted

DISABLE_NON_OBSJOBS + + +

+

Prevents anyone from joining the game as anything but observer

DISABLE_PARALLAX + + +

+

Disables parallax, as if everyone had disabled their preference, TRAIT_BYPASS_MEASURES exempted

DISABLE_RUNECHAT + + +

+

Disable runechat and enable the bubbles, speaking mobs with TRAIT_BYPASS_MEASURES exempted

DISABLE_USR_ICON2HTML + + +

+

Disable icon2html procs from verbs like examine, mobs calling with TRAIT_BYPASS_MEASURES exempted

DISABLE_VV_ICON_PREVIEW + + +

+

Disable icon VV render preview. Unlikely to be of use in 90% of circumstances, unless GFI starts shitting bricks again.

KICK_GUESTS + + +

+

Kick and prevent connections from unverified users

SLOWMODE_SAY + + +

+

Limit IC/dchat spam to one message every x seconds per client, TRAIT_BYPASS_MEASURES exempted

+ + + diff --git a/code/__DEFINES/layers.html b/code/__DEFINES/layers.html new file mode 100644 index 000000000000..c5f226865412 --- /dev/null +++ b/code/__DEFINES/layers.html @@ -0,0 +1,131 @@ + + + + + + + code/__DEFINES/layers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/layers.dm + +

+ + + + + + + + + + + + + + + + + + + + + +
SEETHROUGH_PLANESlightly above the game plane but does not catch mouse clicks. Useful for certain visuals that should be clicked through, like seethrough trees
CATWALK_LATTICE_LAYERThe lattice of /obj/structure/overfloor_catwalk
CATWALK_LAYERThe rim of /obj/structure/overfloor_catwalk
LIGHTING_PLANENormal 1 per turf dynamic lighting underlays
O_LIGHTING_VISUAL_PLANELighting objects that are "free floating"
ABOVE_LIGHTING_PLANEThings that should render ignoring lighting
BYOND_LIGHTING_PLANEvisibility + hiding of things outside of light source range
EMISSIVE_PLANEThis plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas.
EMISSIVE_RENDER_TARGETThe render target used by the emissive layer.
EMISSIVE_LAYER_UNBLOCKABLEThe layer you should use if you really don't want an emissive overlay to be blocked.
PIPECRAWL_IMAGES_PLANE---------------- MISC ----------------------- +Pipecrawling images
CAMERA_STATIC_PLANEAI Camera Static
FULLSCREEN_PLANE--------------- FULLSCREEN IMAGES ------------
RUNECHAT_PLANE--------------- FULLSCREEN RUNECHAT BUBBLES ------------ +Popup Chat Messages
BALLOON_CHAT_PLANEPlane for balloon text (text that fades up)
RADIAL_CONTENT_LAYER1000 is an unimportant number, it's just to normalize copied layers
SCREENTIP_LAYERLayer for screentips
SPLASHSCREEN_PLANEPlane of the "splash" icon used that shows on the lobby screen. Nothing should ever be above this.
CINEMATIC_LAYERcinematics are "below" the splash screen
PLANE_MASTERS_GAMEPlane master controller keys

Define Details

+

ABOVE_LIGHTING_PLANE + + +

+

Things that should render ignoring lighting

BALLOON_CHAT_PLANE + + +

+

Plane for balloon text (text that fades up)

BYOND_LIGHTING_PLANE + + +

+

visibility + hiding of things outside of light source range

CAMERA_STATIC_PLANE + + +

+

AI Camera Static

CATWALK_LATTICE_LAYER + + +

+

The lattice of /obj/structure/overfloor_catwalk

CATWALK_LAYER + + +

+

The rim of /obj/structure/overfloor_catwalk

CINEMATIC_LAYER + + +

+

cinematics are "below" the splash screen

EMISSIVE_LAYER_UNBLOCKABLE + + +

+

The layer you should use if you really don't want an emissive overlay to be blocked.

EMISSIVE_PLANE + + +

+

This plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas.

EMISSIVE_RENDER_TARGET + + +

+

The render target used by the emissive layer.

FULLSCREEN_PLANE + + +

+

--------------- FULLSCREEN IMAGES ------------

LIGHTING_PLANE + + +

+

Normal 1 per turf dynamic lighting underlays

O_LIGHTING_VISUAL_PLANE + + +

+

Lighting objects that are "free floating"

PIPECRAWL_IMAGES_PLANE + + +

+

---------------- MISC ----------------------- +Pipecrawling images

PLANE_MASTERS_GAME + + +

+

Plane master controller keys

RADIAL_CONTENT_LAYER + + +

+

1000 is an unimportant number, it's just to normalize copied layers

RUNECHAT_PLANE + + +

+

--------------- FULLSCREEN RUNECHAT BUBBLES ------------ +Popup Chat Messages

SCREENTIP_LAYER + + +

+

Layer for screentips

SEETHROUGH_PLANE + + +

+

Slightly above the game plane but does not catch mouse clicks. Useful for certain visuals that should be clicked through, like seethrough trees

SPLASHSCREEN_PLANE + + +

+

Plane of the "splash" icon used that shows on the lobby screen. Nothing should ever be above this.

+ + + diff --git a/code/__DEFINES/lighting.html b/code/__DEFINES/lighting.html new file mode 100644 index 000000000000..b06947b7d567 --- /dev/null +++ b/code/__DEFINES/lighting.html @@ -0,0 +1,155 @@ + + + + + + + code/__DEFINES/lighting.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/lighting.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NO_LIGHT_SUPPORTObject doesn't use any of the light systems. Should be changed to add a light source to the object.
COMPLEX_LIGHTLight made with the lighting datums, applying a matrix.
OVERLAY_LIGHTLight made by masking the lighting darkness plane.
OVERLAY_LIGHT_DIRECTIONALLight made by masking the lighting darkness plane, and is directional.
LIGHT_ATTACHEDIs our overlay light source attached to another movable (its loc), meaning that the lighting component should go one level deeper.
AREA_LIGHTING_NONEArea is permanently black, cannot be lit ever. This shouldn't really be used, but is technically supported.
AREA_LIGHTING_DYNAMICArea is lit by lighting_object and lighting_sources
AREA_LIGHTING_STATICArea is lit by the area's base_lighting values.
LIGHTING_INTERVALfrequency, in 1/10ths of a second, of the lighting process
LIGHTING_HEIGHTheight off the ground of light sources on the pseudo-z-axis, you should probably leave this alone
LIGHTING_ROUND_VALUEValue used to round lumcounts, values smaller than 1/129 don't matter (if they do, thanks sinking points), greater values will make lighting less precise, but in turn increase performance, VERY SLIGHTLY.
LIGHTING_ICONicon used for lighting shading effects
LIGHTING_SOFT_THRESHOLDIf the max of the lighting lumcounts of each spectrum drops below this, disable luminosity on the lighting objects. +Set to zero to disable soft lighting. Luminosity changes then work if it's lit at all.
LIGHT_RANGE_FIREHow many tiles standard fires glow.
LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLEFor lighting alpha, small amounts lead to big changes. even at 128 its hard to figure out what is dark and what is light, at 64 you almost can't even tell.
LIGHTING_TILE_IS_DARKThe amount of lumcount on a tile for it to be considered dark (used to determine reading and nyctophobia)
EMISSIVE_BLOCK_GENERICUses vis_overlays to leverage caching so that very few new items need to be made for the overlay. For anything that doesn't change outline or opaque area much or at all.
EMISSIVE_BLOCK_UNIQUEUses a dedicated render_target object to copy the entire appearance in real time to the blocking layer. For things that can change in appearance a lot from the base state, like humans.
EMISSIVE_COLORThe color matrix applied to all emissive overlays. Should be solely dependent on alpha and not have RGB overlap with EM_BLOCK_COLOR.
EM_BLOCK_COLORThe color matrix applied to all emissive blockers. Should be solely dependent on alpha and not have RGB overlap with EMISSIVE_COLOR.
EMISSIVE_APPEARANCE_FLAGSA set of appearance flags applied to all emissive and emissive blocker overlays.
EM_MASK_MATRIXThe color matrix used to mask out emissive blockers on the emissive plane. Alpha should default to zero, be solely dependent on the RGB value of EMISSIVE_COLOR, and be independant of the RGB value of EM_BLOCK_COLOR.
PARSE_LIGHT_COLORParse the hexadecimal color into lumcounts of each perspective.
LIGHTING_DEFAULT_FALLOFF_CURVEThe default falloff curve for all atoms. It's a magic number you should adjust until it looks good.
LIGHTS_RANDOMLY_BROKENInclude this to have lights randomly break on initialize.

Define Details

+

AREA_LIGHTING_DYNAMIC + + +

+

Area is lit by lighting_object and lighting_sources

AREA_LIGHTING_NONE + + +

+

Area is permanently black, cannot be lit ever. This shouldn't really be used, but is technically supported.

AREA_LIGHTING_STATIC + + +

+

Area is lit by the area's base_lighting values.

COMPLEX_LIGHT + + +

+

Light made with the lighting datums, applying a matrix.

EMISSIVE_APPEARANCE_FLAGS + + +

+

A set of appearance flags applied to all emissive and emissive blocker overlays.

EMISSIVE_BLOCK_GENERIC + + +

+

Uses vis_overlays to leverage caching so that very few new items need to be made for the overlay. For anything that doesn't change outline or opaque area much or at all.

EMISSIVE_BLOCK_UNIQUE + + +

+

Uses a dedicated render_target object to copy the entire appearance in real time to the blocking layer. For things that can change in appearance a lot from the base state, like humans.

EMISSIVE_COLOR + + +

+

The color matrix applied to all emissive overlays. Should be solely dependent on alpha and not have RGB overlap with EM_BLOCK_COLOR.

EM_BLOCK_COLOR + + +

+

The color matrix applied to all emissive blockers. Should be solely dependent on alpha and not have RGB overlap with EMISSIVE_COLOR.

EM_MASK_MATRIX + + +

+

The color matrix used to mask out emissive blockers on the emissive plane. Alpha should default to zero, be solely dependent on the RGB value of EMISSIVE_COLOR, and be independant of the RGB value of EM_BLOCK_COLOR.

LIGHTING_DEFAULT_FALLOFF_CURVE + + +

+

The default falloff curve for all atoms. It's a magic number you should adjust until it looks good.

LIGHTING_HEIGHT + + +

+

height off the ground of light sources on the pseudo-z-axis, you should probably leave this alone

LIGHTING_ICON + + +

+

icon used for lighting shading effects

LIGHTING_INTERVAL + + +

+

frequency, in 1/10ths of a second, of the lighting process

LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + + +

+

For lighting alpha, small amounts lead to big changes. even at 128 its hard to figure out what is dark and what is light, at 64 you almost can't even tell.

LIGHTING_ROUND_VALUE + + +

+

Value used to round lumcounts, values smaller than 1/129 don't matter (if they do, thanks sinking points), greater values will make lighting less precise, but in turn increase performance, VERY SLIGHTLY.

LIGHTING_SOFT_THRESHOLD + + +

+

If the max of the lighting lumcounts of each spectrum drops below this, disable luminosity on the lighting objects. +Set to zero to disable soft lighting. Luminosity changes then work if it's lit at all.

LIGHTING_TILE_IS_DARK + + +

+

The amount of lumcount on a tile for it to be considered dark (used to determine reading and nyctophobia)

LIGHTS_RANDOMLY_BROKEN + + +

+

Include this to have lights randomly break on initialize.

LIGHT_ATTACHED + + +

+

Is our overlay light source attached to another movable (its loc), meaning that the lighting component should go one level deeper.

LIGHT_RANGE_FIRE + + +

+

How many tiles standard fires glow.

NO_LIGHT_SUPPORT + + +

+

Object doesn't use any of the light systems. Should be changed to add a light source to the object.

OVERLAY_LIGHT + + +

+

Light made by masking the lighting darkness plane.

OVERLAY_LIGHT_DIRECTIONAL + + +

+

Light made by masking the lighting darkness plane, and is directional.

PARSE_LIGHT_COLOR + + + +

+

Parse the hexadecimal color into lumcounts of each perspective.

+ + + diff --git a/code/__DEFINES/living.html b/code/__DEFINES/living.html new file mode 100644 index 000000000000..b04bfdbf97d8 --- /dev/null +++ b/code/__DEFINES/living.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/living.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/living.dm + +

+ + +
MOVES_ON_ITS_OWNSimple mob trait, indicating it may follow continuous move actions controlled by code instead of by user input.

Define Details

+

MOVES_ON_ITS_OWN + + +

+

Simple mob trait, indicating it may follow continuous move actions controlled by code instead of by user input.

+ + + diff --git a/code/__DEFINES/machines.html b/code/__DEFINES/machines.html new file mode 100644 index 000000000000..01a413e4ed57 --- /dev/null +++ b/code/__DEFINES/machines.html @@ -0,0 +1,109 @@ + + + + + + + code/__DEFINES/machines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/machines.dm + +

+ + + + + + + + + + + + + + + + + +
AREA_USAGE_DYNAMIC_STARTIndex of the first dynamic usage channel
AREA_USAGE_DYNAMIC_ENDIndex of the last dynamic usage channel
AREA_USAGE_STATIC_STARTIndex of the first static usage channel
AREA_USAGE_STATIC_ENDIndex of the last static usage channel
START_PROCESSING_ON_INITBitflags for a machine's preferences on when it should start processing. For use with machinery's processing_flags var. +Indicates the machine will automatically start processing right after it's Initialize() is ran.
START_PROCESSING_MANUALLYMachines with this flag will not start processing when it's spawned. Use this if you want to manually control when a machine starts processing.
AWAY_IMPRINTERImprinters for offstation roles. More limited tech tree.
COMPONENT_PRINTERFor wiremod/integrated circuits. Uses various minerals.
MC_AUTORUN_FILEModular Computer Autorun file
AIRALARM_BUILD_NO_CIRCUITAir alarm missing circuit
AIRALARM_BUILD_NO_WIRESAir alarm has circuit but is missing wires
AIRALARM_BUILD_COMPLETEAir alarm has all components but isn't completed
TLV_DONT_CHECKTLV datums wont check limits set to this
TLV_NO_DANGERthe gas mixture is within the bounds of both warning and hazard limits
TLV_OUTSIDE_WARNING_LIMITthe gas value is outside the warning limit but within the hazard limit, the air alarm will go into warning mode
TLV_OUTSIDE_HAZARD_LIMITthe gas is outside the hazard limit, the air alarm will go into hazard mode

Define Details

+

AIRALARM_BUILD_COMPLETE + + +

+

Air alarm has all components but isn't completed

AIRALARM_BUILD_NO_CIRCUIT + + +

+

Air alarm missing circuit

AIRALARM_BUILD_NO_WIRES + + +

+

Air alarm has circuit but is missing wires

AREA_USAGE_DYNAMIC_END + + +

+

Index of the last dynamic usage channel

AREA_USAGE_DYNAMIC_START + + +

+

Index of the first dynamic usage channel

AREA_USAGE_STATIC_END + + +

+

Index of the last static usage channel

AREA_USAGE_STATIC_START + + +

+

Index of the first static usage channel

AWAY_IMPRINTER + + +

+

Imprinters for offstation roles. More limited tech tree.

COMPONENT_PRINTER + + +

+

For wiremod/integrated circuits. Uses various minerals.

MC_AUTORUN_FILE + + +

+

Modular Computer Autorun file

START_PROCESSING_MANUALLY + + +

+

Machines with this flag will not start processing when it's spawned. Use this if you want to manually control when a machine starts processing.

START_PROCESSING_ON_INIT + + +

+

Bitflags for a machine's preferences on when it should start processing. For use with machinery's processing_flags var. +Indicates the machine will automatically start processing right after it's Initialize() is ran.

TLV_DONT_CHECK + + +

+

TLV datums wont check limits set to this

TLV_NO_DANGER + + +

+

the gas mixture is within the bounds of both warning and hazard limits

TLV_OUTSIDE_HAZARD_LIMIT + + +

+

the gas is outside the hazard limit, the air alarm will go into hazard mode

TLV_OUTSIDE_WARNING_LIMIT + + +

+

the gas value is outside the warning limit but within the hazard limit, the air alarm will go into warning mode

+ + + diff --git a/code/__DEFINES/magic.html b/code/__DEFINES/magic.html new file mode 100644 index 000000000000..9b4bb113bff8 --- /dev/null +++ b/code/__DEFINES/magic.html @@ -0,0 +1,178 @@ + + + + + + + code/__DEFINES/magic.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/magic.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SCHOOL_UNSETUnset / default / "not actually magic" school.
SCHOOL_HOLYHoly school (chaplain magic)
SCHOOL_MIMEMime... school? Mime magic. It counts
SCHOOL_RESTORATIONRestoration school, which is mostly healing stuff
SCHOOL_EVOCATIONEvocation school, usually involves killing or destroy stuff, usually out of thin air
SCHOOL_TRANSMUTATIONSchool of transforming stuff into other stuff
SCHOOL_TRANSLOCATIONSchool of transolcation, usually movement spells
SCHOOL_CONJURATIONConjuration spells summon items / mobs / etc somehow
SCHOOL_NECROMANCYNecromancy spells, usually involves soul / evil / bad stuff
SCHOOL_FORBIDDENOther forbidden magics, such as heretic spells
INVOCATION_NONEAllows being able to cast the spell without saying or doing anything.
INVOCATION_SHOUTForces the wizard to shout the invocation to cast the spell.
INVOCATION_WHISPERForces the wizard to whisper the invocation to cast the spell.
INVOCATION_EMOTEForces the wizard to emote to cast the spell.
SPELL_REQUIRES_WIZARD_GARBWhether the spell requires wizard clothes to cast.
SPELL_REQUIRES_HUMANWhether the spell can only be cast by humans (mob type, not species). +SPELL_REQUIRES_WIZARD_GARB comes with this flag implied, as carbons and below can't wear clothes.
SPELL_CASTABLE_AS_BRAINWhether the spell can be cast by mobs who are brains / mmis. +When applying, bear in mind most spells will not function for brains out of the box.
SPELL_CASTABLE_WHILE_PHASEDWhether the spell can be cast while phased, such as blood crawling, ethereal jaunting or using rod form.
SPELL_REQUIRES_NO_ANTIMAGICWhether the spell can be cast while the user has antimagic on them that corresponds to the spell's own antimagic flags.
SPELL_REQUIRES_OFF_CENTCOMWhether the spell can be cast on the centcom z level.
SPELL_REQUIRES_MINDWhether the spell must be cast by someone with a mind datum.
SPELL_REQUIRES_MIME_VOWWhether the spell requires the caster have a mime vow (mindless mobs will succeed this check regardless).
SPELL_CASTABLE_WITHOUT_INVOCATIONWhether the spell can be cast, even if the caster is unable to speak the invocation +(effectively making the invocation flavor, instead of required).
TELEPORT_SPELL_SKIP_SPACEWhether the teleport spell skips over space turfs
TELEPORT_SPELL_SKIP_DENSEWhether the teleport spell skips over dense turfs
TELEPORT_SPELL_SKIP_BLOCKEDWhether the teleport spell skips over blocked turfs
MAGIC_RESISTANCEDefault magic resistance that blocks normal magic (wizard, spells, magical staff projectiles)
MAGIC_RESISTANCE_MINDTinfoil hat magic resistance that blocks mental magic (telepathy / mind links, mind curses, abductors)
MAGIC_RESISTANCE_HOLYHoly magic resistance that blocks unholy magic (revenant, vampire, voice of god)

Define Details

+

INVOCATION_EMOTE + + +

+

Forces the wizard to emote to cast the spell.

INVOCATION_NONE + + +

+

Allows being able to cast the spell without saying or doing anything.

INVOCATION_SHOUT + + +

+

Forces the wizard to shout the invocation to cast the spell.

INVOCATION_WHISPER + + +

+

Forces the wizard to whisper the invocation to cast the spell.

MAGIC_RESISTANCE + + +

+

Default magic resistance that blocks normal magic (wizard, spells, magical staff projectiles)

MAGIC_RESISTANCE_HOLY + + +

+

Holy magic resistance that blocks unholy magic (revenant, vampire, voice of god)

MAGIC_RESISTANCE_MIND + + +

+

Tinfoil hat magic resistance that blocks mental magic (telepathy / mind links, mind curses, abductors)

SCHOOL_CONJURATION + + +

+

Conjuration spells summon items / mobs / etc somehow

SCHOOL_EVOCATION + + +

+

Evocation school, usually involves killing or destroy stuff, usually out of thin air

SCHOOL_FORBIDDEN + + +

+

Other forbidden magics, such as heretic spells

SCHOOL_HOLY + + +

+

Holy school (chaplain magic)

SCHOOL_MIME + + +

+

Mime... school? Mime magic. It counts

SCHOOL_NECROMANCY + + +

+

Necromancy spells, usually involves soul / evil / bad stuff

SCHOOL_RESTORATION + + +

+

Restoration school, which is mostly healing stuff

SCHOOL_TRANSLOCATION + + +

+

School of transolcation, usually movement spells

SCHOOL_TRANSMUTATION + + +

+

School of transforming stuff into other stuff

SCHOOL_UNSET + + +

+

Unset / default / "not actually magic" school.

SPELL_CASTABLE_AS_BRAIN + + +

+

Whether the spell can be cast by mobs who are brains / mmis. +When applying, bear in mind most spells will not function for brains out of the box.

SPELL_CASTABLE_WHILE_PHASED + + +

+

Whether the spell can be cast while phased, such as blood crawling, ethereal jaunting or using rod form.

SPELL_CASTABLE_WITHOUT_INVOCATION + + +

+

Whether the spell can be cast, even if the caster is unable to speak the invocation +(effectively making the invocation flavor, instead of required).

SPELL_REQUIRES_HUMAN + + +

+

Whether the spell can only be cast by humans (mob type, not species). +SPELL_REQUIRES_WIZARD_GARB comes with this flag implied, as carbons and below can't wear clothes.

SPELL_REQUIRES_MIME_VOW + + +

+

Whether the spell requires the caster have a mime vow (mindless mobs will succeed this check regardless).

SPELL_REQUIRES_MIND + + +

+

Whether the spell must be cast by someone with a mind datum.

SPELL_REQUIRES_NO_ANTIMAGIC + + +

+

Whether the spell can be cast while the user has antimagic on them that corresponds to the spell's own antimagic flags.

SPELL_REQUIRES_OFF_CENTCOM + + +

+

Whether the spell can be cast on the centcom z level.

SPELL_REQUIRES_WIZARD_GARB + + +

+

Whether the spell requires wizard clothes to cast.

TELEPORT_SPELL_SKIP_BLOCKED + + +

+

Whether the teleport spell skips over blocked turfs

TELEPORT_SPELL_SKIP_DENSE + + +

+

Whether the teleport spell skips over dense turfs

TELEPORT_SPELL_SKIP_SPACE + + +

+

Whether the teleport spell skips over space turfs

+ + + diff --git a/code/__DEFINES/maps.html b/code/__DEFINES/maps.html new file mode 100644 index 000000000000..b19027241ed5 --- /dev/null +++ b/code/__DEFINES/maps.html @@ -0,0 +1,152 @@ + + + + + + + code/__DEFINES/maps.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/maps.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
TRANSITIONEDGEDistance from edge to move to another z-level
MAP_MINXThe maploader index for the maps minimum x
MAP_MINYThe maploader index for the maps minimum y
MAP_MINZThe maploader index for the maps minimum z
MAP_MAXXThe maploader index for the maps maximum x
MAP_MAXYThe maploader index for the maps maximum y
MAP_MAXZThe maploader index for the maps maximum z
PATH_TO_NEXT_MAP_JSONPath for the next_map.json file, if someone, for some messed up reason, wants to change it.
MAP_DIRECTORY_MAPSList of directories we can load map .json files from
CUSTOM_MAP_PATHSpecial map path value for custom adminloaded stations.
ZTRAIT_SECRETboolean - does this z prevent ghosts from observing it
ZTRAIT_NOPHASEboolean - does this z prevent phasing
ZTRAIT_NOXRAYboolean - does this z prevent xray/meson/thermal vision
ZTRAITS_CENTCOMZ level traits for CentCom
ZTRAITS_STATIONZ level traits for Space Station 13
ZTRAITS_SPACEZ level traits for Deep Space
ZTRAITS_AWAYZ level traits for Away Missions
ZTRAITS_AWAY_SECRETZ level traits for Secret Away Missions
ZTRAITS_TRANSITZ level traits for the transit z level
PERLIN_LAYER_HEIGHTMap generation defines
SHELTER_DEPLOY_ALLOWEDShelter spot is allowed
SHELTER_DEPLOY_BAD_TURFSShelter spot has turfs that restrict deployment
SHELTER_DEPLOY_BAD_AREAShelter spot has areas that restrict deployment
SHELTER_DEPLOY_ANCHORED_OBJECTSShelter spot has anchored objects that restrict deployment
SHELTER_DEPLOY_OUTSIDE_MAPShelter spot is out of bounds from the maps x/y coordinates

Define Details

+

CUSTOM_MAP_PATH + + +

+

Special map path value for custom adminloaded stations.

MAP_DIRECTORY_MAPS + + +

+

List of directories we can load map .json files from

MAP_MAXX + + +

+

The maploader index for the maps maximum x

MAP_MAXY + + +

+

The maploader index for the maps maximum y

MAP_MAXZ + + +

+

The maploader index for the maps maximum z

MAP_MINX + + +

+

The maploader index for the maps minimum x

MAP_MINY + + +

+

The maploader index for the maps minimum y

MAP_MINZ + + +

+

The maploader index for the maps minimum z

PATH_TO_NEXT_MAP_JSON + + +

+

Path for the next_map.json file, if someone, for some messed up reason, wants to change it.

PERLIN_LAYER_HEIGHT + + +

+

Map generation defines

SHELTER_DEPLOY_ALLOWED + + +

+

Shelter spot is allowed

SHELTER_DEPLOY_ANCHORED_OBJECTS + + +

+

Shelter spot has anchored objects that restrict deployment

SHELTER_DEPLOY_BAD_AREA + + +

+

Shelter spot has areas that restrict deployment

SHELTER_DEPLOY_BAD_TURFS + + +

+

Shelter spot has turfs that restrict deployment

SHELTER_DEPLOY_OUTSIDE_MAP + + +

+

Shelter spot is out of bounds from the maps x/y coordinates

TRANSITIONEDGE + + +

+

Distance from edge to move to another z-level

ZTRAITS_AWAY + + +

+

Z level traits for Away Missions

ZTRAITS_AWAY_SECRET + + +

+

Z level traits for Secret Away Missions

ZTRAITS_CENTCOM + + +

+

Z level traits for CentCom

ZTRAITS_SPACE + + +

+

Z level traits for Deep Space

ZTRAITS_STATION + + +

+

Z level traits for Space Station 13

ZTRAITS_TRANSIT + + +

+

Z level traits for the transit z level

ZTRAIT_NOPHASE + + +

+

boolean - does this z prevent phasing

ZTRAIT_NOXRAY + + +

+

boolean - does this z prevent xray/meson/thermal vision

ZTRAIT_SECRET + + +

+

boolean - does this z prevent ghosts from observing it

+ + + diff --git a/code/__DEFINES/mapswitch.html b/code/__DEFINES/mapswitch.html new file mode 100644 index 000000000000..0d9d5053dc34 --- /dev/null +++ b/code/__DEFINES/mapswitch.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/mapswitch.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mapswitch.dm + +

+ + +
MAP_SWITCHUses the left operator when compiling, uses the right operator when not compiling.

Define Details

+

MAP_SWITCH + + + +

+

Uses the left operator when compiling, uses the right operator when not compiling.

+ + + diff --git a/code/__DEFINES/materials.html b/code/__DEFINES/materials.html new file mode 100644 index 000000000000..063275e77ca8 --- /dev/null +++ b/code/__DEFINES/materials.html @@ -0,0 +1,163 @@ + + + + + + + code/__DEFINES/materials.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/materials.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MAT_CATEGORY_OREIs the material from an ore? currently unused but exists atm for categorizations sake
MAT_CATEGORY_RIGIDHard materials, such as iron or silver
MAT_CATEGORY_ITEM_MATERIALMaterials that can be used to craft items
MAT_CATEGORY_BASE_RECIPESUse this flag on TRUE if you want the basic recipes
MATERIAL_INIT_MAPLOADUsed to make a material initialize at roundstart.
MATERIAL_INIT_BESPOKEUsed to make a material type able to be instantiated on demand after roundstart.
MATCONTAINER_EXAMINEIf the container shows the amount of contained materials on examine.
MATCONTAINER_NO_INSERTIf the container cannot have materials inserted through attackby().
MATCONTAINER_ANY_INTENTif the user can insert mats into the container despite the intent.
MATCONTAINER_SILENTif the user won't receive a warning when attacking the container with an unallowed item.
BREAKDOWN_ALLOYSCan reduce an alloy into its component materials.
BREAKDOWN_INCLUDE_ALCHEMYMakes the material composition include transmuted materials objects
BREAKDOWN_FLAGS_LATHEBreakdown flags used by techfabs and circuit printers.
BREAKDOWN_FLAGS_ORMBreakdown flags used by the ORM.
BREAKDOWN_FLAGS_RECYCLERBreakdown flags used by the recycler.
BREAKDOWN_FLAGS_SHEETIFIERBreakdown flags used by the sheetifier.
BREAKDOWN_FLAGS_ORE_PROCESSORBreakdown flags used by the ore processor.
BREAKDOWN_FLAGS_DRONE_DISPENSERBreakdown flags used by the drone dispenser.
BREAKDOWN_FLAGS_EXPORTBreakdown flags used when exporting materials.
MATERIAL_EFFECTSWhether a material's mechanical effects should apply to the atom. This is necessary for other flags to work.
MATERIAL_COLORApplies the material color to the atom's color. Deprecated, use MATERIAL_GREYSCALE instead
MATERIAL_ADD_PREFIXWhether a prefix describing the material should be added to the name
MATERIAL_AFFECT_STATISTICSWhether a material should affect the stats of the atom
MATERIAL_GREYSCALEApplies the material greyscale color to the atom's greyscale color.
GET_MATERIAL_REFWrapper for fetching material references. Exists exclusively so that people don't need to wrap everything in a list every time.
MATERIAL_SLOWDOWN_PLASTEELThe slowdown value of one [MINERAL_MATERIAL_AMOUNT] of plasteel.
MATERIAL_SLOWDOWN_ALIEN_ALLOYThe slowdown value of one [MINERAL_MATERIAL_AMOUNT] of alien alloy.

Define Details

+

BREAKDOWN_ALLOYS + + +

+

Can reduce an alloy into its component materials.

BREAKDOWN_FLAGS_DRONE_DISPENSER + + +

+

Breakdown flags used by the drone dispenser.

BREAKDOWN_FLAGS_EXPORT + + +

+

Breakdown flags used when exporting materials.

BREAKDOWN_FLAGS_LATHE + + +

+

Breakdown flags used by techfabs and circuit printers.

BREAKDOWN_FLAGS_ORE_PROCESSOR + + +

+

Breakdown flags used by the ore processor.

BREAKDOWN_FLAGS_ORM + + +

+

Breakdown flags used by the ORM.

BREAKDOWN_FLAGS_RECYCLER + + +

+

Breakdown flags used by the recycler.

BREAKDOWN_FLAGS_SHEETIFIER + + +

+

Breakdown flags used by the sheetifier.

BREAKDOWN_INCLUDE_ALCHEMY + + +

+

Makes the material composition include transmuted materials objects

GET_MATERIAL_REF + + + +

+

Wrapper for fetching material references. Exists exclusively so that people don't need to wrap everything in a list every time.

MATCONTAINER_ANY_INTENT + + +

+

if the user can insert mats into the container despite the intent.

MATCONTAINER_EXAMINE + + +

+

If the container shows the amount of contained materials on examine.

MATCONTAINER_NO_INSERT + + +

+

If the container cannot have materials inserted through attackby().

MATCONTAINER_SILENT + + +

+

if the user won't receive a warning when attacking the container with an unallowed item.

MATERIAL_ADD_PREFIX + + +

+

Whether a prefix describing the material should be added to the name

MATERIAL_AFFECT_STATISTICS + + +

+

Whether a material should affect the stats of the atom

MATERIAL_COLOR + + +

+

Applies the material color to the atom's color. Deprecated, use MATERIAL_GREYSCALE instead

MATERIAL_EFFECTS + + +

+

Whether a material's mechanical effects should apply to the atom. This is necessary for other flags to work.

MATERIAL_GREYSCALE + + +

+

Applies the material greyscale color to the atom's greyscale color.

MATERIAL_INIT_BESPOKE + + +

+

Used to make a material type able to be instantiated on demand after roundstart.

MATERIAL_INIT_MAPLOAD + + +

+

Used to make a material initialize at roundstart.

MATERIAL_SLOWDOWN_ALIEN_ALLOY + + +

+

The slowdown value of one [MINERAL_MATERIAL_AMOUNT] of alien alloy.

MATERIAL_SLOWDOWN_PLASTEEL + + +

+

The slowdown value of one [MINERAL_MATERIAL_AMOUNT] of plasteel.

MAT_CATEGORY_BASE_RECIPES + + +

+

Use this flag on TRUE if you want the basic recipes

MAT_CATEGORY_ITEM_MATERIAL + + +

+

Materials that can be used to craft items

MAT_CATEGORY_ORE + + +

+

Is the material from an ore? currently unused but exists atm for categorizations sake

MAT_CATEGORY_RIGID + + +

+

Hard materials, such as iron or silver

+ + + diff --git a/code/__DEFINES/maths.html b/code/__DEFINES/maths.html new file mode 100644 index 000000000000..2e67bb22f2b8 --- /dev/null +++ b/code/__DEFINES/maths.html @@ -0,0 +1,71 @@ + + + + + + + code/__DEFINES/maths.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/maths.dm + +

+ + + + + + + + +
SIGNGets the sign of x, returns -1 if negative, 0 if 0, 1 if positive
WRAP_UPIncrements a value and wraps it if it exceeds some value. Can be used to circularly iterate through a list through idx = WRAP_UP(idx, length_of_list).
TOBITSHIFTGets shift x that would be required the bitflag (1<<x)
DT_PROB_RATEConverts a probability/second chance to probability/delta_time chance +For example, if you want an event to happen with a 10% per second chance, but your proc only runs every 5 seconds, do if(prob(100*DT_PROB_RATE(0.1, 5)))
DT_PROBLike DT_PROB_RATE but easier to use, simply put if(DT_PROB(10, 5))
DIAMOND_AREAThe number of cells in a taxicab circle (rasterized diamond) of radius X.
MAPCLAMPSee above, but clamps the resulting value between omin and omax

Define Details

+

DIAMOND_AREA + + + +

+

The number of cells in a taxicab circle (rasterized diamond) of radius X.

DT_PROB + + + +

+

Like DT_PROB_RATE but easier to use, simply put if(DT_PROB(10, 5))

DT_PROB_RATE + + + +

+

Converts a probability/second chance to probability/delta_time chance +For example, if you want an event to happen with a 10% per second chance, but your proc only runs every 5 seconds, do if(prob(100*DT_PROB_RATE(0.1, 5)))

MAPCLAMP + + + +

+

See above, but clamps the resulting value between omin and omax

SIGN + + + +

+

Gets the sign of x, returns -1 if negative, 0 if 0, 1 if positive

TOBITSHIFT + + + +

+

Gets shift x that would be required the bitflag (1<<x)

WRAP_UP + + + +

+

Increments a value and wraps it if it exceeds some value. Can be used to circularly iterate through a list through idx = WRAP_UP(idx, length_of_list).

+ + + diff --git a/code/__DEFINES/matrices.html b/code/__DEFINES/matrices.html new file mode 100644 index 000000000000..290ec0cdbaaf --- /dev/null +++ b/code/__DEFINES/matrices.html @@ -0,0 +1,86 @@ + + + + + + + code/__DEFINES/matrices.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/matrices.dm + +

+ + + + + + + + + + + +
TRANSLATE_MATRIXHelper macro for creating a matrix at the given offsets. +Works at compile time.
COLOR_MATRIX_IDENTITYThe color matrix of an image which colors haven't been altered. Does nothing.
COLOR_MATRIX_INVERTColor inversion
COLOR_MATRIX_SEPIATONESepiatone
COLOR_MATRIX_GRAYSCALEGrayscale
COLOR_MATRIX_POLAROIDPolaroid colors
COLOR_MATRIX_BRGConverts reds to blue, green to red and blue to green.
COLOR_MATRIX_BLACK_WHITEBlack & White
COLOR_MATRIX_LIGHTNESSAdds/subtracts overall lightness +0 is identity, 1 makes everything white, -1 makes everything black
COLOR_MATRIX_CONTRASTChanges distance colors have from rgb(127,127,127) grey +1 is identity. 0 makes everything grey >1 blows out colors and greys

Define Details

+

COLOR_MATRIX_BLACK_WHITE + + +

+

Black & White

COLOR_MATRIX_BRG + + +

+

Converts reds to blue, green to red and blue to green.

COLOR_MATRIX_CONTRAST + + + +

+

Changes distance colors have from rgb(127,127,127) grey +1 is identity. 0 makes everything grey >1 blows out colors and greys

COLOR_MATRIX_GRAYSCALE + + +

+

Grayscale

COLOR_MATRIX_IDENTITY + + +

+

The color matrix of an image which colors haven't been altered. Does nothing.

COLOR_MATRIX_INVERT + + +

+

Color inversion

COLOR_MATRIX_LIGHTNESS + + + +

+

Adds/subtracts overall lightness +0 is identity, 1 makes everything white, -1 makes everything black

COLOR_MATRIX_POLAROID + + +

+

Polaroid colors

COLOR_MATRIX_SEPIATONE + + +

+

Sepiatone

TRANSLATE_MATRIX + + + +

+

Helper macro for creating a matrix at the given offsets. +Works at compile time.

+ + + diff --git a/code/__DEFINES/mecha.html b/code/__DEFINES/mecha.html new file mode 100644 index 000000000000..61ed412a3118 --- /dev/null +++ b/code/__DEFINES/mecha.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/mecha.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mecha.dm + +

+ + + + +
CANNOT_INTERACTblocks using equipment and melee attacking.
MMI_COMPATIBLEposibrains can drive this mecha
OMNIDIRECTIONAL_ATTACKSCan click from any direction and perform stuff

Define Details

+

CANNOT_INTERACT + + +

+

blocks using equipment and melee attacking.

MMI_COMPATIBLE + + +

+

posibrains can drive this mecha

OMNIDIRECTIONAL_ATTACKS + + +

+

Can click from any direction and perform stuff

+ + + diff --git a/code/__DEFINES/mechcomp.html b/code/__DEFINES/mechcomp.html new file mode 100644 index 000000000000..f270b6bc92d7 --- /dev/null +++ b/code/__DEFINES/mechcomp.html @@ -0,0 +1,69 @@ + + + + + + + code/__DEFINES/mechcomp.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mechcomp.dm + +

+ + + + + + + + + +
MC_LINK_RANGEThe max range that two devices can be linked.
MC_ADD_INPUTFor use in Initialize(), add inputs to our input list.
MC_WRAP_MESSAGETurn text into an mcmessage
MCACT_REMOVE_OUTPUTAn output is being removed from our interface's output list (target)
MCACT_REMOVE_INPUTAn input is being removed from our interface's input list (target)
MCACT_ADD_OUTPUTAn output is being added to our interface's output list (target)
MCACT_ADD_INPUTAn input is being added to our interface's input list (target)
MCACT_PRE_SEND_MESSAGECalled before sending a message incase we need to greeble it

Define Details

+

MCACT_ADD_INPUT + + +

+

An input is being added to our interface's input list (target)

MCACT_ADD_OUTPUT + + +

+

An output is being added to our interface's output list (target)

MCACT_PRE_SEND_MESSAGE + + +

+

Called before sending a message incase we need to greeble it

MCACT_REMOVE_INPUT + + +

+

An input is being removed from our interface's input list (target)

MCACT_REMOVE_OUTPUT + + +

+

An output is being removed from our interface's output list (target)

MC_ADD_INPUT + + + +

+

For use in Initialize(), add inputs to our input list.

+

The max range that two devices can be linked.

MC_WRAP_MESSAGE + + + +

+

Turn text into an mcmessage

+ + + diff --git a/code/__DEFINES/media.html b/code/__DEFINES/media.html new file mode 100644 index 000000000000..c24a7d1ebfc0 --- /dev/null +++ b/code/__DEFINES/media.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/media.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/media.dm + +

+ + + + + + + +
MEDIA_TAG_ALLMEDIAAll tracks share this tag. Probably shouldn't be called upon.
MEDIA_TAG_LOBBYMUSIC_COMMONCommon Lobby music tracks. MUST NOT also be rare.
MEDIA_TAG_LOBBYMUSIC_RARERARE lobby music tracks. Replaces the rarity flag. MUST NOT also be common.
MEDIA_TAG_ROUNDEND_COMMONCommon Round-End Stinger tracks.
MEDIA_TAG_ROUNDEND_RARERARE Round-End Stinger tracks. MUST NOT also be common.
MEDIA_TAG_JUKEBOXJukebox music.

Define Details

+

MEDIA_TAG_ALLMEDIA + + +

+

All tracks share this tag. Probably shouldn't be called upon.

MEDIA_TAG_JUKEBOX + + +

+

Jukebox music.

MEDIA_TAG_LOBBYMUSIC_COMMON + + +

+

Common Lobby music tracks. MUST NOT also be rare.

MEDIA_TAG_LOBBYMUSIC_RARE + + +

+

RARE lobby music tracks. Replaces the rarity flag. MUST NOT also be common.

MEDIA_TAG_ROUNDEND_COMMON + + +

+

Common Round-End Stinger tracks.

MEDIA_TAG_ROUNDEND_RARE + + +

+

RARE Round-End Stinger tracks. MUST NOT also be common.

+ + + diff --git a/code/__DEFINES/memory_defines.html b/code/__DEFINES/memory_defines.html new file mode 100644 index 000000000000..401a31e54ace --- /dev/null +++ b/code/__DEFINES/memory_defines.html @@ -0,0 +1,308 @@ + + + + + + + code/__DEFINES/memory_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/memory_defines.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MEMORY_FILEname of the file that has all the memory strings
ENGRAVING_SAVE_FILEname of the file that has all the saved engravings
PRISONER_TATTOO_SAVE_FILEname of the file that has all the prisoner tattoos
ENGRAVING_PERSISTENCE_VERSIONCurrent version of the engraving persistence json
TATTOO_PERSISTENCE_VERSIONCurrent version of the tattoo persistence json
MIN_PERSISTENT_ENGRAVINGShow many engravings will be loaded max with persistence
MEMORY_HAPPY_THRESHOLDthreshold for the memory being a happy one 8)
MEMORY_SAD_THRESHOLDthreshold for the memory being a sad one :^(
MOODLESS_MEMORYmoodlet set if the creature with the memory doesn't use mood (doesn't include mood line)
ENGRAVING_BEAUTY_TO_ART_FACTORFactor of how beauty is divided to make the engraving art value
STORY_VALUE_SHITHow cool a story is!
MEMORY_FLAG_NOLOCATIONthis memory doesn't have a location, emit that
MEMORY_FLAG_NOSTATIONNAMEthis memory shouldn't include the station name (example: revolution memory)
MEMORY_FLAG_NOPERSISTENCEthis memory is REALLY shit and should never be saved in persistence, basically apply this to all quirks.
MEMORY_FLAG_ALREADY_USEDthis memory has already been engraved, and cannot be selected for engraving again.
MEMORY_CHECK_BLINDNESSthis memory requires the target not to be blind.
MEMORY_CHECK_DEAFNESSthis memory requires the target not to be deaf.
MEMORY_CHECK_BLIND_AND_DEAFthis memory requires the target not to be both deaf and blind.
MEMORY_SKIP_UNCONSCIOUSthis memory can be memorized by unconscious people.
MEMORY_SUCCESSFUL_SURGERYA memory of completing a surgery.
MEMORY_BOMB_PRIMEDA memory of priming a bomb
MEMORY_HIGH_FIVEA memory of pulling off either a high five or a high ten
MEMORY_BORGEDA memory of getting borged
MEMORY_DEATHA memory of dying! includes time of death
MEMORY_CREAMPIEDA memory of being creampied! Mentions where
MEMORY_SLIPPEDA memory of being slipped! Mentions on what
MEMORY_SPAGHETTI_SPILLA memory of letting my spaghetti spill, how embarrasing!
MEMORY_KISSA memory of getting a kiss blown. Provides the kisser and kissee.
MEMORY_MEALA memory of a really good meal
MEMORY_DRINKA memory of a really good drink
MEMORY_FIREA memory of being lit
MEMORY_DISMEMBEREDA memory of limb loss
MEMORY_PET_DEADA memory of seeing a pet die
MEMORY_WON_REVOLUTIONA memory of leading a winning revolution
MEMORY_RECEIVED_MEDALAn award ceremony of a medal
MEMORY_MEGAFAUNA_KILLA megafauna kill!
MEMORY_GUNPOINTBeing held at gunpoint
MEMORY_GIBBEDExploding into gibs
MEMORY_VENDING_CRUSHEDCrushed by vending machine
MEMORY_SUPERMATTER_DUSTEDDusted by SM
MEMORY_NUKECODENuke ops nuke code memory
MEMORY_PLAYING_52_PICKUPA memory of having to play 52 card pickup
MEMORY_PLAYING_CARDSA memory of playing cards with others
MEMORY_ACCOUNTThese are also memories, but they're examples of what I kinda don't want to be memories. They're stuff that I had to port +over to this system from the old old and they don't make for good examples
MEMORY_QUIRK_DRUGyour memorized drug
MEMORY_ALLERGYyour allergy
STORY_ENGRAVINGwall engraving stories
STORY_CHANGELING_ABSORBchangeling memory reading
STORY_TATTOOtattoos
STORY_FLAG_DATEDinclude a date this event happened
DETAIL_WHEREGeneric memory info keys. Use these whenever one of these is the case in a story, because we add extra story piece if these exist. +The location of the memory, add these to have a chance of it being added to the story
DETAIL_PROTAGONISTThe main subject of the memory. Should be whoever has the biggest impact on the story. (As it grabs the memory from this person)
DETAIL_WHAT_BYUsually used bespokely by specific memory types and not added generically, but its generaly the object used to cause the memory. E.g. a peel to slip, the food that was eaten.
DETAIL_DEUTERAGONISTUsed whenever a memory has a secondary character. Used bespokely by actions.
DETAIL_PROTAGONIST_MOODAutomatically obtained details

Define Details

+

DETAIL_DEUTERAGONIST + + +

+

Used whenever a memory has a secondary character. Used bespokely by actions.

DETAIL_PROTAGONIST + + +

+

The main subject of the memory. Should be whoever has the biggest impact on the story. (As it grabs the memory from this person)

DETAIL_PROTAGONIST_MOOD + + +

+

Automatically obtained details

DETAIL_WHAT_BY + + +

+

Usually used bespokely by specific memory types and not added generically, but its generaly the object used to cause the memory. E.g. a peel to slip, the food that was eaten.

DETAIL_WHERE + + +

+

Generic memory info keys. Use these whenever one of these is the case in a story, because we add extra story piece if these exist. +The location of the memory, add these to have a chance of it being added to the story

ENGRAVING_BEAUTY_TO_ART_FACTOR + + +

+

Factor of how beauty is divided to make the engraving art value

ENGRAVING_PERSISTENCE_VERSION + + +

+

Current version of the engraving persistence json

ENGRAVING_SAVE_FILE + + +

+

name of the file that has all the saved engravings

MEMORY_ACCOUNT + + +

+

These are also memories, but they're examples of what I kinda don't want to be memories. They're stuff that I had to port +over to this system from the old old and they don't make for good examples

+

ideally these eventually get moved off this system... though engraving your bank account is so HILARIOUSLY dumb so maybe leave that one +your memorized bank account

MEMORY_ALLERGY + + +

+

your allergy

MEMORY_BOMB_PRIMED + + +

+

A memory of priming a bomb

MEMORY_BORGED + + +

+

A memory of getting borged

MEMORY_CHECK_BLINDNESS + + +

+

this memory requires the target not to be blind.

MEMORY_CHECK_BLIND_AND_DEAF + + +

+

this memory requires the target not to be both deaf and blind.

MEMORY_CHECK_DEAFNESS + + +

+

this memory requires the target not to be deaf.

MEMORY_CREAMPIED + + +

+

A memory of being creampied! Mentions where

MEMORY_DEATH + + +

+

A memory of dying! includes time of death

MEMORY_DISMEMBERED + + +

+

A memory of limb loss

MEMORY_DRINK + + +

+

A memory of a really good drink

MEMORY_FILE + + +

+

name of the file that has all the memory strings

MEMORY_FIRE + + +

+

A memory of being lit

MEMORY_FLAG_ALREADY_USED + + +

+

this memory has already been engraved, and cannot be selected for engraving again.

MEMORY_FLAG_NOLOCATION + + +

+

this memory doesn't have a location, emit that

MEMORY_FLAG_NOPERSISTENCE + + +

+

this memory is REALLY shit and should never be saved in persistence, basically apply this to all quirks.

MEMORY_FLAG_NOSTATIONNAME + + +

+

this memory shouldn't include the station name (example: revolution memory)

MEMORY_GIBBED + + +

+

Exploding into gibs

MEMORY_GUNPOINT + + +

+

Being held at gunpoint

MEMORY_HAPPY_THRESHOLD + + +

+

threshold for the memory being a happy one 8)

MEMORY_HIGH_FIVE + + +

+

A memory of pulling off either a high five or a high ten

MEMORY_KISS + + +

+

A memory of getting a kiss blown. Provides the kisser and kissee.

MEMORY_MEAL + + +

+

A memory of a really good meal

MEMORY_MEGAFAUNA_KILL + + +

+

A megafauna kill!

MEMORY_NUKECODE + + +

+

Nuke ops nuke code memory

MEMORY_PET_DEAD + + +

+

A memory of seeing a pet die

MEMORY_PLAYING_52_PICKUP + + +

+

A memory of having to play 52 card pickup

MEMORY_PLAYING_CARDS + + +

+

A memory of playing cards with others

MEMORY_QUIRK_DRUG + + +

+

your memorized drug

MEMORY_RECEIVED_MEDAL + + +

+

An award ceremony of a medal

MEMORY_SAD_THRESHOLD + + +

+

threshold for the memory being a sad one :^(

MEMORY_SKIP_UNCONSCIOUS + + +

+

this memory can be memorized by unconscious people.

MEMORY_SLIPPED + + +

+

A memory of being slipped! Mentions on what

MEMORY_SPAGHETTI_SPILL + + +

+

A memory of letting my spaghetti spill, how embarrasing!

MEMORY_SUCCESSFUL_SURGERY + + +

+

A memory of completing a surgery.

MEMORY_SUPERMATTER_DUSTED + + +

+

Dusted by SM

MEMORY_VENDING_CRUSHED + + +

+

Crushed by vending machine

MEMORY_WON_REVOLUTION + + +

+

A memory of leading a winning revolution

MIN_PERSISTENT_ENGRAVINGS + + +

+

how many engravings will be loaded max with persistence

MOODLESS_MEMORY + + +

+

moodlet set if the creature with the memory doesn't use mood (doesn't include mood line)

PRISONER_TATTOO_SAVE_FILE + + +

+

name of the file that has all the prisoner tattoos

STORY_CHANGELING_ABSORB + + +

+

changeling memory reading

STORY_ENGRAVING + + +

+

wall engraving stories

STORY_FLAG_DATED + + +

+

include a date this event happened

STORY_TATTOO + + +

+

tattoos

STORY_VALUE_SHIT + + +

+

How cool a story is!

TATTOO_PERSISTENCE_VERSION + + +

+

Current version of the tattoo persistence json

+ + + diff --git a/code/__DEFINES/midrounds.html b/code/__DEFINES/midrounds.html new file mode 100644 index 000000000000..b9c96caf699c --- /dev/null +++ b/code/__DEFINES/midrounds.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/midrounds.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/midrounds.dm + +

+ + +
MIDROUND_ANTAGONIST_DEATH_TO_PERMAThe amount of time before a dead antagonist is considered permanently dead

Define Details

+

MIDROUND_ANTAGONIST_DEATH_TO_PERMA + + +

+

The amount of time before a dead antagonist is considered permanently dead

+ + + diff --git a/code/__DEFINES/mob_spawn.html b/code/__DEFINES/mob_spawn.html new file mode 100644 index 000000000000..b322395162c7 --- /dev/null +++ b/code/__DEFINES/mob_spawn.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/mob_spawn.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mob_spawn.dm + +

+ + + +
CORPSE_INSTANTthis mob spawn creates the corpse instantly
CORPSE_ROUNDSTARTthis mob spawn creates the corpse during GAME_STATE_PLAYING

Define Details

+

CORPSE_INSTANT + + +

+

this mob spawn creates the corpse instantly

CORPSE_ROUNDSTART + + +

+

this mob spawn creates the corpse during GAME_STATE_PLAYING

+ + + diff --git a/code/__DEFINES/mobs.html b/code/__DEFINES/mobs.html new file mode 100644 index 000000000000..fbdbfaf6f8f8 --- /dev/null +++ b/code/__DEFINES/mobs.html @@ -0,0 +1,636 @@ + + + + + + + code/__DEFINES/mobs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mobs.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BP_BLOCK_CHANGE_SPECIESBodypart does not get replaced during set_species()
BODYTYPE_ORGANICThe limb is organic.
BODYTYPE_ROBOTICThe limb is robotic.
BODYTYPE_HUMANOIDThe limb fits the human mold. This is not meant to be literal, if the sprite "fits" on a human, it is "humanoid", regardless of origin.
BODYTYPE_DIGITIGRADEThe limb is digitigrade.
BODYTYPE_MONKEYThe limb fits the monkey mold.
BODYTYPE_SNOUTEDThe limb is snouted.
BODYTYPE_VOX_BEAKThe limb is voxed
BODYTYPE_VOX_LEGSThe limb is in the shape of a vox leg.
BODYTYPE_VOX_OTHERVox limb that isnt a head or legs.
BODYTYPE_TESHARIThe limb is small and feathery
BODYTYPE_BOXHEADIPC heads.
BODYTYPE_LARVA_PLACEHOLDERA placeholder bodytype for xeno larva, so their limbs cannot be attached to anything.
BODYTYPE_ALIENThe limb is from a xenomorph.
DIGITIGRADE_NEVERThe species does not have digitigrade legs in generation.
DIGITIGRADE_OPTIONALThe species can have digitigrade legs in generation
DIGITIGRADE_FORCEDThe species is forced to have digitigrade legs in generation.
DIGITIGRADE_LEGSDigitigrade's prefs, used in features for legs if you're meant to be a Digitigrade.
BEAT_FASTHeartbeat is beating fast for hard crit
BEAT_SLOWHeartbeat is beating slow for soft crit
BEAT_NONEHeartbeat is gone... He's dead Jim :(
NO_SLIP_WHEN_WALKINGThe mob will not slip if they're walking intent
SLIDESlipping on this will send them sliding a few tiles down
SLIDE_ICEIce slides only go one tile and don't knock you over, they're intended to cause a "slip chain" +where you slip on ice until you reach a non-slippable tile (ice puzzles)
GALOSHES_DONT_HELP[TRAIT_NO_SLIP_WATER] does not work on this slip. ONLY TRAIT_NO_SLIP_ALL will
SLIP_WHEN_CRAWLINGSlip works even if you're already on the ground
SHOCK_NOGLOVESFlags used by the flags parameter of electrocute act. +Makes it so that the shock doesn't take gloves into account.
SHOCK_TESLAUsed when the shock is from a tesla bolt.
SHOCK_ILLUSIONUsed when an illusion shocks something. Makes the shock deal stamina damage and not trigger certain secondary effects.
SHOCK_NOSTUNThe shock doesn't stun.
INCORPOREAL_MOVE_BASICnormal movement, see: /mob/living/var/incorporeal_move
INCORPOREAL_MOVE_SHADOWleaves a trail of shadows
INCORPOREAL_MOVE_JAUNTis blocked by holy water/salt
APPLY_CHEM_EFFECTApplies a Chemical Effect with the given magnitude to the mob
CHEM_EFFECT_MAGNITUDECheck chem effect presence in a mob
CE_CRYOPrevents damage from freezing. Boolean.
CE_STABLEInaprovaline
CE_BREATHLOSSBreathing depression, makes you need more air
CE_ANTIBIOTICFights off necrosis in bodyparts and organs
CE_BLOODRESTOREIron/nutriment
CE_ALCOHOLLiver filtering
CE_ALCOHOL_TOXICLiver damage
CE_PULSEIncreases or decreases heart rate
CE_ANTITOXReduces incoming toxin damage and helps with liver filtering
CE_OXYGENATEDDexalin.
CE_ANTIVIRALAnti-virus effect.
CE_BLOCKAGEGets in the way of blood circulation, higher the worse
CE_VOICELOSSLowers the subject's voice to a whisper
CE_STIMULANTMakes it harder to disarm someone
CE_ANTICOAGULANTMultiplier for bloodloss
CE_BRAIN_REGENEnables brain regeneration even in poor circumstances
RECENT_EXAMINE_MAX_WINDOWHow long it takes for an examined atom to be removed from recent_examines. Should be the max of the below time windows
EXAMINE_MORE_WINDOWIf you examine the same atom twice in this timeframe, we call examine_more() instead of examine()
EYE_CONTACT_WINDOWIf you examine another mob who's successfully examined you during this duration of time, you two try to make eye contact. Cute!
YAWN_PROPAGATION_EXAMINE_WINDOWIf you yawn while someone nearby has examined you within this time frame, it will force them to yawn as well. Tradecraft!
EYE_CONTACT_RANGEHow far away you can be to make eye contact with someone while examining
STANDING_UPMob is standing up, usually associated with lying_angle value of 0.
LYING_DOWNMob is lying down, usually associated with lying_angle values of 90 or 270.
PIXEL_Y_OFFSET_LYINGHow much a mob's sprite should be moved when they're lying down
SQUASHED_SHOULD_BE_DOWNSquash flags. For squashable element +Whether or not the squashing requires the squashed mob to be lying down
SQUASHED_SHOULD_BE_GIBBEDWhether or not to gib when the squashed mob is moved over
AI_DISPLAY_DONT_GLOWIcon state to use for ai displays that just turns them off
THROW_MODE_DISABLEDThrow modes, defines whether or not to turn off throw mode after
SIGN_ONE_HANDSign Language defines
TOTAL_LAYERSTotal number of layers for mob overlays
MUTATIONS_LAYERMutations layer - Tk headglows, cold resistance glow, etc
BODY_BEHIND_LAYERMutantrace features (tail when looking south) that must appear behind the body parts
BODYPARTS_LOW_LAYERLayer for bodyparts that should appear behind every other bodypart - Mostly, legs when facing WEST or EAST
BODYPARTS_LAYERLayer for most bodyparts, appears above BODYPARTS_LOW_LAYER and below BODYPARTS_HIGH_LAYER
BODY_ADJ_LAYERMutantrace features (snout, body markings) that must appear above the body parts
EYE_LAYEREyes!
BODY_LAYERUnderwear, undershirts, socks, eyes, lips(makeup)
FRONT_MUTATIONS_LAYERMutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
DAMAGE_LAYERDamage indicators (cuts and burns)
UNIFORM_LAYERJumpsuit clothing layer
ID_LAYERID card layer (might be deprecated)
ID_CARD_LAYERID card layer
BODYPARTS_HIGH_LAYERLayer for bodyparts that should appear above every other bodypart - Currently only used for hands
GLOVES_LAYERGloves layer
SHOES_LAYERShoes layer
EARS_LAYEREars layer (Spessmen have ears? Wow)
SUIT_LAYERSuit layer (armor, hardsuits, etc.)
GLASSES_LAYERGlasses layer
BELT_LAYERBelt layer
SUIT_STORE_LAYERSuit storage layer (tucking a gun or baton underneath your armor)
NECK_LAYERNeck layer (for wearing ties and bedsheets)
BACK_LAYERBack layer (for backpacks and equipment on your back)
HAIR_LAYERHair layer (mess with the fro and you got to go!)
FACEMASK_LAYERFacemask layer (gas masks, breath masks, etc.)
HEAD_LAYERHead layer (hats, helmets, etc.)
HANDCUFF_LAYERHandcuff layer (when your hands are cuffed)
LEGCUFF_LAYERLegcuff layer (when your feet are cuffed)
HANDS_LAYERHands layer (for the actual hand, not the arm... I think?)
BODY_FRONT_LAYERBody front layer. Usually used for mutant bodyparts that need to be in front of stuff (e.g. cat ears)
ABOVE_BODY_FRONT_GLASSES_LAYERSpecial body layer that actually require to be above the hair (e.g. lifted welding goggles)
ABOVE_BODY_FRONT_HEAD_LAYERSpecial body layer for the rare cases where something on the head needs to be above everything else (e.g. flowers)
WOUND_LAYERBleeding wound icons
HALO_LAYERBlood cult ascended halo layer, because there's currently no better solution for adding/removing
FIRE_LAYERFire layer when you're on fire
UNDER_SUIT_LAYERThe layer underneath the suit
UNDER_HEAD_LAYERThe layer underneath the head (for hats)
ABOVE_SHOES_LAYERThe layer above shoes
ABOVE_BODY_FRONT_LAYERThe layer above mutant body parts
USE_CLOSENeeds to be Adjacent() to target.
USE_DEXTERITYNeeds to be an AdvancedToolUser
USE_NEED_HANDSThe mob needs to have hands (Does not need EMPTY hands)
USE_RESTINGAllows the mob to be resting
USE_SILICON_REACHIgnore USE_CLOSE if they have silicon reach
USE_LITERACYNeeds to be literate
RESIZE_DEFAULT_SIZEThe default mob sprite size (used for shrinking or enlarging the mob sprite to regular size)
CLIENT_FROM_VARGet the client from the var
VOMIT_TOXICThe mob will vomit a green color
VOMIT_PURPLEThe mob will vomit a purple color
NO_BUCKLE_LYINGPossible value of /atom/movable/buckle_lying. If set to a different (positive-or-zero) value than this, the buckling thing will force a lying angle on the buckled.
BREATH_OKAYBreath succeeded completely
BREATH_SILENT_DAMAGINGBreath caused damage, but should not be obvious
BREATH_DAMAGINGBreath succeeded but is damaging.
BREATH_FAILEDBreath completely failed. chokies!!
MOB_ATTACKEDBY_MISSAttack missed.
MOB_ATTACKEDBY_FAILAttack completely failed (missing user, etc)

Define Details

+

ABOVE_BODY_FRONT_GLASSES_LAYER + + +

+

Special body layer that actually require to be above the hair (e.g. lifted welding goggles)

ABOVE_BODY_FRONT_HEAD_LAYER + + +

+

Special body layer for the rare cases where something on the head needs to be above everything else (e.g. flowers)

ABOVE_BODY_FRONT_LAYER + + +

+

The layer above mutant body parts

ABOVE_SHOES_LAYER + + +

+

The layer above shoes

AI_DISPLAY_DONT_GLOW + + +

+

Icon state to use for ai displays that just turns them off

APPLY_CHEM_EFFECT + + + +

+

Applies a Chemical Effect with the given magnitude to the mob

BACK_LAYER + + +

+

Back layer (for backpacks and equipment on your back)

BEAT_FAST + + +

+

Heartbeat is beating fast for hard crit

BEAT_NONE + + +

+

Heartbeat is gone... He's dead Jim :(

BEAT_SLOW + + +

+

Heartbeat is beating slow for soft crit

BELT_LAYER + + +

+

Belt layer

BODYPARTS_HIGH_LAYER + + +

+

Layer for bodyparts that should appear above every other bodypart - Currently only used for hands

BODYPARTS_LAYER + + +

+

Layer for most bodyparts, appears above BODYPARTS_LOW_LAYER and below BODYPARTS_HIGH_LAYER

BODYPARTS_LOW_LAYER + + +

+

Layer for bodyparts that should appear behind every other bodypart - Mostly, legs when facing WEST or EAST

BODYTYPE_ALIEN + + +

+

The limb is from a xenomorph.

BODYTYPE_BOXHEAD + + +

+

IPC heads.

BODYTYPE_DIGITIGRADE + + +

+

The limb is digitigrade.

BODYTYPE_HUMANOID + + +

+

The limb fits the human mold. This is not meant to be literal, if the sprite "fits" on a human, it is "humanoid", regardless of origin.

BODYTYPE_LARVA_PLACEHOLDER + + +

+

A placeholder bodytype for xeno larva, so their limbs cannot be attached to anything.

BODYTYPE_MONKEY + + +

+

The limb fits the monkey mold.

BODYTYPE_ORGANIC + + +

+

The limb is organic.

BODYTYPE_ROBOTIC + + +

+

The limb is robotic.

BODYTYPE_SNOUTED + + +

+

The limb is snouted.

BODYTYPE_TESHARI + + +

+

The limb is small and feathery

BODYTYPE_VOX_BEAK + + +

+

The limb is voxed

BODYTYPE_VOX_LEGS + + +

+

The limb is in the shape of a vox leg.

BODYTYPE_VOX_OTHER + + +

+

Vox limb that isnt a head or legs.

BODY_ADJ_LAYER + + +

+

Mutantrace features (snout, body markings) that must appear above the body parts

BODY_BEHIND_LAYER + + +

+

Mutantrace features (tail when looking south) that must appear behind the body parts

BODY_FRONT_LAYER + + +

+

Body front layer. Usually used for mutant bodyparts that need to be in front of stuff (e.g. cat ears)

BODY_LAYER + + +

+

Underwear, undershirts, socks, eyes, lips(makeup)

BP_BLOCK_CHANGE_SPECIES + + +

+

Bodypart does not get replaced during set_species()

BREATH_DAMAGING + + +

+

Breath succeeded but is damaging.

BREATH_FAILED + + +

+

Breath completely failed. chokies!!

BREATH_OKAY + + +

+

Breath succeeded completely

BREATH_SILENT_DAMAGING + + +

+

Breath caused damage, but should not be obvious

CE_ALCOHOL + + +

+

Liver filtering

CE_ALCOHOL_TOXIC + + +

+

Liver damage

CE_ANTIBIOTIC + + +

+

Fights off necrosis in bodyparts and organs

CE_ANTICOAGULANT + + +

+

Multiplier for bloodloss

CE_ANTITOX + + +

+

Reduces incoming toxin damage and helps with liver filtering

CE_ANTIVIRAL + + +

+

Anti-virus effect.

CE_BLOCKAGE + + +

+

Gets in the way of blood circulation, higher the worse

CE_BLOODRESTORE + + +

+

Iron/nutriment

CE_BRAIN_REGEN + + +

+

Enables brain regeneration even in poor circumstances

CE_BREATHLOSS + + +

+

Breathing depression, makes you need more air

CE_CRYO + + +

+

Prevents damage from freezing. Boolean.

CE_OXYGENATED + + +

+

Dexalin.

CE_PULSE + + +

+

Increases or decreases heart rate

CE_STABLE + + +

+

Inaprovaline

CE_STIMULANT + + +

+

Makes it harder to disarm someone

CE_VOICELOSS + + +

+

Lowers the subject's voice to a whisper

CHEM_EFFECT_MAGNITUDE + + + +

+

Check chem effect presence in a mob

CLIENT_FROM_VAR + + + +

+

Get the client from the var

DAMAGE_LAYER + + +

+

Damage indicators (cuts and burns)

DIGITIGRADE_FORCED + + +

+

The species is forced to have digitigrade legs in generation.

DIGITIGRADE_LEGS + + +

+

Digitigrade's prefs, used in features for legs if you're meant to be a Digitigrade.

DIGITIGRADE_NEVER + + +

+

The species does not have digitigrade legs in generation.

DIGITIGRADE_OPTIONAL + + +

+

The species can have digitigrade legs in generation

EARS_LAYER + + +

+

Ears layer (Spessmen have ears? Wow)

EXAMINE_MORE_WINDOW + + +

+

If you examine the same atom twice in this timeframe, we call examine_more() instead of examine()

EYE_CONTACT_RANGE + + +

+

How far away you can be to make eye contact with someone while examining

EYE_CONTACT_WINDOW + + +

+

If you examine another mob who's successfully examined you during this duration of time, you two try to make eye contact. Cute!

EYE_LAYER + + +

+

Eyes!

FACEMASK_LAYER + + +

+

Facemask layer (gas masks, breath masks, etc.)

FIRE_LAYER + + +

+

Fire layer when you're on fire

FRONT_MUTATIONS_LAYER + + +

+

Mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)

GALOSHES_DONT_HELP + + +

+

[TRAIT_NO_SLIP_WATER] does not work on this slip. ONLY TRAIT_NO_SLIP_ALL will

GLASSES_LAYER + + +

+

Glasses layer

GLOVES_LAYER + + +

+

Gloves layer

HAIR_LAYER + + +

+

Hair layer (mess with the fro and you got to go!)

HALO_LAYER + + +

+

Blood cult ascended halo layer, because there's currently no better solution for adding/removing

HANDCUFF_LAYER + + +

+

Handcuff layer (when your hands are cuffed)

HANDS_LAYER + + +

+

Hands layer (for the actual hand, not the arm... I think?)

HEAD_LAYER + + +

+

Head layer (hats, helmets, etc.)

ID_CARD_LAYER + + +

+

ID card layer

ID_LAYER + + +

+

ID card layer (might be deprecated)

INCORPOREAL_MOVE_BASIC + + +

+

normal movement, see: /mob/living/var/incorporeal_move

INCORPOREAL_MOVE_JAUNT + + +

+

is blocked by holy water/salt

INCORPOREAL_MOVE_SHADOW + + +

+

leaves a trail of shadows

LEGCUFF_LAYER + + +

+

Legcuff layer (when your feet are cuffed)

LYING_DOWN + + +

+

Mob is lying down, usually associated with lying_angle values of 90 or 270.

MOB_ATTACKEDBY_FAIL + + +

+

Attack completely failed (missing user, etc)

MOB_ATTACKEDBY_MISS + + +

+

Attack missed.

MUTATIONS_LAYER + + +

+

Mutations layer - Tk headglows, cold resistance glow, etc

NECK_LAYER + + +

+

Neck layer (for wearing ties and bedsheets)

NO_BUCKLE_LYING + + +

+

Possible value of /atom/movable/buckle_lying. If set to a different (positive-or-zero) value than this, the buckling thing will force a lying angle on the buckled.

NO_SLIP_WHEN_WALKING + + +

+

The mob will not slip if they're walking intent

PIXEL_Y_OFFSET_LYING + + +

+

How much a mob's sprite should be moved when they're lying down

RECENT_EXAMINE_MAX_WINDOW + + +

+

How long it takes for an examined atom to be removed from recent_examines. Should be the max of the below time windows

RESIZE_DEFAULT_SIZE + + +

+

The default mob sprite size (used for shrinking or enlarging the mob sprite to regular size)

SHOCK_ILLUSION + + +

+

Used when an illusion shocks something. Makes the shock deal stamina damage and not trigger certain secondary effects.

SHOCK_NOGLOVES + + +

+

Flags used by the flags parameter of electrocute act. +Makes it so that the shock doesn't take gloves into account.

SHOCK_NOSTUN + + +

+

The shock doesn't stun.

SHOCK_TESLA + + +

+

Used when the shock is from a tesla bolt.

SHOES_LAYER + + +

+

Shoes layer

SIGN_ONE_HAND + + +

+

Sign Language defines

SLIDE + + +

+

Slipping on this will send them sliding a few tiles down

SLIDE_ICE + + +

+

Ice slides only go one tile and don't knock you over, they're intended to cause a "slip chain" +where you slip on ice until you reach a non-slippable tile (ice puzzles)

SLIP_WHEN_CRAWLING + + +

+

Slip works even if you're already on the ground

SQUASHED_SHOULD_BE_DOWN + + +

+

Squash flags. For squashable element +Whether or not the squashing requires the squashed mob to be lying down

SQUASHED_SHOULD_BE_GIBBED + + +

+

Whether or not to gib when the squashed mob is moved over

STANDING_UP + + +

+

Mob is standing up, usually associated with lying_angle value of 0.

SUIT_LAYER + + +

+

Suit layer (armor, hardsuits, etc.)

SUIT_STORE_LAYER + + +

+

Suit storage layer (tucking a gun or baton underneath your armor)

THROW_MODE_DISABLED + + +

+

Throw modes, defines whether or not to turn off throw mode after

TOTAL_LAYERS + + +

+

Total number of layers for mob overlays

UNDER_HEAD_LAYER + + +

+

The layer underneath the head (for hats)

UNDER_SUIT_LAYER + + +

+

The layer underneath the suit

UNIFORM_LAYER + + +

+

Jumpsuit clothing layer

USE_CLOSE + + +

+

Needs to be Adjacent() to target.

USE_DEXTERITY + + +

+

Needs to be an AdvancedToolUser

USE_LITERACY + + +

+

Needs to be literate

USE_NEED_HANDS + + +

+

The mob needs to have hands (Does not need EMPTY hands)

USE_RESTING + + +

+

Allows the mob to be resting

USE_SILICON_REACH + + +

+

Ignore USE_CLOSE if they have silicon reach

VOMIT_PURPLE + + +

+

The mob will vomit a purple color

VOMIT_TOXIC + + +

+

The mob will vomit a green color

WOUND_LAYER + + +

+

Bleeding wound icons

YAWN_PROPAGATION_EXAMINE_WINDOW + + +

+

If you yawn while someone nearby has examined you within this time frame, it will force them to yawn as well. Tradecraft!

+ + + diff --git a/code/__DEFINES/mod.html b/code/__DEFINES/mod.html new file mode 100644 index 000000000000..358f51d52743 --- /dev/null +++ b/code/__DEFINES/mod.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/mod.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mod.dm + +

+ + + + + + + + +
DEFAULT_MAX_COMPLEXITYDefault value for the max_complexity var on MODsuits
DEFAULT_CHARGE_DRAINDefault cell drain per process on MODsuits
MOD_ACTIVATION_STEP_TIMEDefault time for a part to seal
MODULE_PASSIVEPassive module, just acts when put in naturally.
MODULE_USABLEUsable module, does something when you press a button.
MODULE_TOGGLEToggle module, you turn it on/off and it does stuff.
MODULE_ACTIVEActively usable module, you may only have one selected at a time.

Define Details

+

DEFAULT_CHARGE_DRAIN + + +

+

Default cell drain per process on MODsuits

DEFAULT_MAX_COMPLEXITY + + +

+

Default value for the max_complexity var on MODsuits

MODULE_ACTIVE + + +

+

Actively usable module, you may only have one selected at a time.

MODULE_PASSIVE + + +

+

Passive module, just acts when put in naturally.

MODULE_TOGGLE + + +

+

Toggle module, you turn it on/off and it does stuff.

MODULE_USABLE + + +

+

Usable module, does something when you press a button.

MOD_ACTIVATION_STEP_TIME + + +

+

Default time for a part to seal

+ + + diff --git a/code/__DEFINES/monkeys.html b/code/__DEFINES/monkeys.html new file mode 100644 index 000000000000..328e27601399 --- /dev/null +++ b/code/__DEFINES/monkeys.html @@ -0,0 +1,102 @@ + + + + + + + code/__DEFINES/monkeys.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/monkeys.dm + +

+ + + + + + + + + + + + + + + + +
MONKEY_FLEE_HEALTHbelow this health value the monkey starts to flee from enemies
MONKEY_ENEMY_VISIONhow close an enemy must be to trigger aggression
MONKEY_FLEE_VISIONhow close an enemy must be before it triggers flee
MONKEY_ITEM_SNATCH_DELAYHow long does it take the item to be taken from a mobs hand
MONKEY_CUFF_RETALIATION_PROBProbability monkey will aggro when cuffed
MONKEY_SYRINGE_RETALIATION_PROBProbability monkey will aggro when syringed
MONKEY_PULL_AGGRO_PROBprobability that monkey aggro against the mob pulling it
MONKEY_SHENANIGAN_PROBprobability that monkey will get into mischief, i.e. finding/stealing items
MONKEY_ATTACK_DISARM_PROBprobability that monkey will disarm an armed attacker
MONKEY_RECRUIT_PROBprobability that monkey will get recruited when friend is attacked
MONKEY_RETALIATE_PROBprobability for the monkey to aggro when attacked
MONKEY_HATRED_AMOUNTamount of aggro to add to an enemy when they attack user
MONKEY_RECRUIT_HATED_AMOUNTamount of aggro to add to an enemy when a monkey is recruited
MONKEY_HATRED_REDUCTION_PROBprobability of reducing aggro by one when the monkey attacks
MONKEY_RECRUIT_COOLDOWNMonkey recruit cooldown

Define Details

+

MONKEY_ATTACK_DISARM_PROB + + +

+

probability that monkey will disarm an armed attacker

MONKEY_CUFF_RETALIATION_PROB + + +

+

Probability monkey will aggro when cuffed

MONKEY_ENEMY_VISION + + +

+

how close an enemy must be to trigger aggression

MONKEY_FLEE_HEALTH + + +

+

below this health value the monkey starts to flee from enemies

MONKEY_FLEE_VISION + + +

+

how close an enemy must be before it triggers flee

MONKEY_HATRED_AMOUNT + + +

+

amount of aggro to add to an enemy when they attack user

MONKEY_HATRED_REDUCTION_PROB + + +

+

probability of reducing aggro by one when the monkey attacks

MONKEY_ITEM_SNATCH_DELAY + + +

+

How long does it take the item to be taken from a mobs hand

MONKEY_PULL_AGGRO_PROB + + +

+

probability that monkey aggro against the mob pulling it

MONKEY_RECRUIT_COOLDOWN + + +

+

Monkey recruit cooldown

MONKEY_RECRUIT_HATED_AMOUNT + + +

+

amount of aggro to add to an enemy when a monkey is recruited

MONKEY_RECRUIT_PROB + + +

+

probability that monkey will get recruited when friend is attacked

MONKEY_RETALIATE_PROB + + +

+

probability for the monkey to aggro when attacked

MONKEY_SHENANIGAN_PROB + + +

+

probability that monkey will get into mischief, i.e. finding/stealing items

MONKEY_SYRINGE_RETALIATION_PROB + + +

+

Probability monkey will aggro when syringed

+ + + diff --git a/code/__DEFINES/movement.html b/code/__DEFINES/movement.html new file mode 100644 index 000000000000..a307e3068e70 --- /dev/null +++ b/code/__DEFINES/movement.html @@ -0,0 +1,273 @@ + + + + + + + code/__DEFINES/movement.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/movement.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MIN_GLIDE_SIZEThe minimum for glide_size to be clamped to.
MAX_GLIDE_SIZEThe maximum for glide_size to be clamped to. +This shouldn't be higher than the icon size, and generally you shouldn't be changing this, but it's here just in case.
DELAY_TO_GLIDE_SIZEBroken down, here's what this does: +divides the world icon_size (32) by delay divided by ticklag to get the number of pixels something should be moving each tick. +The division result is given a min value of 1 to prevent obscenely slow glide sizes from being set +Then that's multiplied by the global glide size multiplier. 1.25 by default feels pretty close to spot on. This is just to try to get byond to behave. +The whole result is then clamped to within the range above. +Not very readable but it works
MOVEMENT_ADJUSTED_GLIDE_SIZESimilar to DELAY_TO_GLIDE_SIZE, except without the clamping, and it supports piping in an unrelated scalar
MOVEMENT_DEFAULT_PRIORITYStandard, go lower then this if you want to override, higher otherwise
MOVEMENT_SPACE_PRIORITYVery few things should override this
MOVEMENT_ABOVE_SPACE_PRIORITYHigher then the heavens
MOVEMENT_LOOP_START_FASTShould the loop act immediately following its addition?
MOVEMENT_LOOP_IGNORE_PRIORITYDo we not use the priority system?
MOVEMENT_LOOP_IGNORE_GLIDEShould we override the loop's glide?
MOVEMENT_LOOP_NO_DIR_UPDATEShould we not update our movables dir on move?
MOVEMENT_LOOP_OUTSIDE_CONTROLIs the loop moving the movable outside its control, like it's an external force? e.g. footsteps won't play if enabled.
MOVELOOP_STATUS_PAUSEDHas the loop been paused, soon to be resumed?
MOVELOOP_STATUS_RUNNINGIs the loop running? (Is true even when paused)
MOVELOOP_STATUS_QUEUEDIs the loop queued in a subsystem?
CHECK_MOVE_LOOP_FLAGSReturns a bitfield containing flags both present in flags arg and the processing_move_loop_flags move_packet variable. +Has no use outside of procs called within the movement proc chain.
CURRENTLY_Z_FALLINGcurrently_z_moving defines. Higher numbers mean higher priority. +This one is for falling down open space from stuff such as deleted tile, pit grate...
CURRENTLY_Z_MOVING_GENERICcurrently_z_moving is set to this in zMove() if 0.
CURRENTLY_Z_FALLING_FROM_MOVEThis one is for falling down open space from movement.
CURRENTLY_Z_ASCENDINGThis one is for going upstairs.
FALL_INTERCEPTEDpossible bitflag return values of [atom/proc/intercept_zImpact] calls +Stops the movable from falling further and crashing on the ground. Example: stairs.
FALL_NO_MESSAGESuppresses the "[movable] falls through [old_turf]" message because it'd make little sense in certain contexts like climbing stairs.
FALL_STOP_INTERCEPTINGUsed when the whole intercept_zImpact forvar loop should be stopped. For example: when someone falls into the supermatter and becomes dust.
FALL_RETAIN_PULLUsed when the grip on a pulled object shouldn't be broken.
ZMOVE_CHECK_PULLINGRuns recheck_grabs() by the end of [/atom/movable/proc/zMove] for every movable that's pulling something. Should be kept enabled unless you know what you are doing.
ZMOVE_CHECK_PULLEDBYChecks if pulledby is nearby. if not, stop being pulled.
ZMOVE_FALL_CHECKSflags for different checks done in /atom/movable/proc/can_z_move. Should be self-explainatory.
ZMOVE_IGNORE_OBSTACLESDoesn't call CanZPass()
ZMOVE_FEEDBACKGives players chat feedbacks if they're unable to move through z levels.
ZMOVE_ALLOW_BUCKLEDWhether we check the movable (if it exists) the living mob is buckled on or not.
ZMOVE_INCLUDE_PULLEDIncludes movables that're either pulled by the source or mobs buckled to it in the list of moving movables.
ZMOVE_ALLOW_ANCHOREDSkips check for whether the moving atom is anchored or not.
ZMOVE_SKIP_CANMOVEONTOSkip CanMoveOnto() checks
ZMOVE_FLIGHT_FLAGSFlags used in "Move Upwards" and "Move Downwards" verbs.
ZMOVE_STAIRS_FLAGSUsed when walking upstairs
ZMOVE_FALL_FLAGSUsed for falling down open space.
FIRST_DIAG_STEPThe first step of the diagnonal movement
SECOND_DIAG_STEPThe second step of the diagnonal movement
TELEPORT_CHANNEL_BLUESPACEClassic bluespace teleportation, requires a sender but no receiver
TELEPORT_CHANNEL_QUANTUMQuantum-based teleportation, requires both sender and receiver, but is free from normal disruption
TELEPORT_CHANNEL_WORMHOLEWormhole teleportation, is not disrupted by bluespace fluctuations but tends to be very random or unsafe
TELEPORT_CHANNEL_MAGICMagic teleportation, does whatever it wants (unless there's antimagic)
TELEPORT_CHANNEL_CULTCult teleportation, does whatever it wants (unless there's holiness)
TELEPORT_CHANNEL_FREEAnything else
MOVELOOP_FAILUREReturn values for moveloop Move()

Define Details

+

CHECK_MOVE_LOOP_FLAGS + + + +

+

Returns a bitfield containing flags both present in flags arg and the processing_move_loop_flags move_packet variable. +Has no use outside of procs called within the movement proc chain.

CURRENTLY_Z_ASCENDING + + +

+

This one is for going upstairs.

CURRENTLY_Z_FALLING + + +

+

currently_z_moving defines. Higher numbers mean higher priority. +This one is for falling down open space from stuff such as deleted tile, pit grate...

CURRENTLY_Z_FALLING_FROM_MOVE + + +

+

This one is for falling down open space from movement.

CURRENTLY_Z_MOVING_GENERIC + + +

+

currently_z_moving is set to this in zMove() if 0.

DELAY_TO_GLIDE_SIZE + + + +

+

Broken down, here's what this does: +divides the world icon_size (32) by delay divided by ticklag to get the number of pixels something should be moving each tick. +The division result is given a min value of 1 to prevent obscenely slow glide sizes from being set +Then that's multiplied by the global glide size multiplier. 1.25 by default feels pretty close to spot on. This is just to try to get byond to behave. +The whole result is then clamped to within the range above. +Not very readable but it works

FALL_INTERCEPTED + + +

+

possible bitflag return values of [atom/proc/intercept_zImpact] calls +Stops the movable from falling further and crashing on the ground. Example: stairs.

FALL_NO_MESSAGE + + +

+

Suppresses the "[movable] falls through [old_turf]" message because it'd make little sense in certain contexts like climbing stairs.

FALL_RETAIN_PULL + + +

+

Used when the grip on a pulled object shouldn't be broken.

FALL_STOP_INTERCEPTING + + +

+

Used when the whole intercept_zImpact forvar loop should be stopped. For example: when someone falls into the supermatter and becomes dust.

FIRST_DIAG_STEP + + +

+

The first step of the diagnonal movement

MAX_GLIDE_SIZE + + +

+

The maximum for glide_size to be clamped to. +This shouldn't be higher than the icon size, and generally you shouldn't be changing this, but it's here just in case.

MIN_GLIDE_SIZE + + +

+

The minimum for glide_size to be clamped to.

MOVELOOP_FAILURE + + +

+

Return values for moveloop Move()

MOVELOOP_STATUS_PAUSED + + +

+

Has the loop been paused, soon to be resumed?

MOVELOOP_STATUS_QUEUED + + +

+

Is the loop queued in a subsystem?

MOVELOOP_STATUS_RUNNING + + +

+

Is the loop running? (Is true even when paused)

MOVEMENT_ABOVE_SPACE_PRIORITY + + +

+

Higher then the heavens

MOVEMENT_ADJUSTED_GLIDE_SIZE + + + +

+

Similar to DELAY_TO_GLIDE_SIZE, except without the clamping, and it supports piping in an unrelated scalar

MOVEMENT_DEFAULT_PRIORITY + + +

+

Standard, go lower then this if you want to override, higher otherwise

MOVEMENT_LOOP_IGNORE_GLIDE + + +

+

Should we override the loop's glide?

MOVEMENT_LOOP_IGNORE_PRIORITY + + +

+

Do we not use the priority system?

MOVEMENT_LOOP_NO_DIR_UPDATE + + +

+

Should we not update our movables dir on move?

MOVEMENT_LOOP_OUTSIDE_CONTROL + + +

+

Is the loop moving the movable outside its control, like it's an external force? e.g. footsteps won't play if enabled.

MOVEMENT_LOOP_START_FAST + + +

+

Should the loop act immediately following its addition?

MOVEMENT_SPACE_PRIORITY + + +

+

Very few things should override this

SECOND_DIAG_STEP + + +

+

The second step of the diagnonal movement

TELEPORT_CHANNEL_BLUESPACE + + +

+

Classic bluespace teleportation, requires a sender but no receiver

TELEPORT_CHANNEL_CULT + + +

+

Cult teleportation, does whatever it wants (unless there's holiness)

TELEPORT_CHANNEL_FREE + + +

+

Anything else

TELEPORT_CHANNEL_MAGIC + + +

+

Magic teleportation, does whatever it wants (unless there's antimagic)

TELEPORT_CHANNEL_QUANTUM + + +

+

Quantum-based teleportation, requires both sender and receiver, but is free from normal disruption

TELEPORT_CHANNEL_WORMHOLE + + +

+

Wormhole teleportation, is not disrupted by bluespace fluctuations but tends to be very random or unsafe

ZMOVE_ALLOW_ANCHORED + + +

+

Skips check for whether the moving atom is anchored or not.

ZMOVE_ALLOW_BUCKLED + + +

+

Whether we check the movable (if it exists) the living mob is buckled on or not.

ZMOVE_CHECK_PULLEDBY + + +

+

Checks if pulledby is nearby. if not, stop being pulled.

ZMOVE_CHECK_PULLING + + +

+

Runs recheck_grabs() by the end of [/atom/movable/proc/zMove] for every movable that's pulling something. Should be kept enabled unless you know what you are doing.

ZMOVE_FALL_CHECKS + + +

+

flags for different checks done in /atom/movable/proc/can_z_move. Should be self-explainatory.

ZMOVE_FALL_FLAGS + + +

+

Used for falling down open space.

ZMOVE_FEEDBACK + + +

+

Gives players chat feedbacks if they're unable to move through z levels.

ZMOVE_FLIGHT_FLAGS + + +

+

Flags used in "Move Upwards" and "Move Downwards" verbs.

ZMOVE_IGNORE_OBSTACLES + + +

+

Doesn't call CanZPass()

ZMOVE_INCLUDE_PULLED + + +

+

Includes movables that're either pulled by the source or mobs buckled to it in the list of moving movables.

ZMOVE_SKIP_CANMOVEONTO + + +

+

Skip CanMoveOnto() checks

ZMOVE_STAIRS_FLAGS + + +

+

Used when walking upstairs

+ + + diff --git a/code/__DEFINES/movement_info.html b/code/__DEFINES/movement_info.html new file mode 100644 index 000000000000..53a5b7e910dc --- /dev/null +++ b/code/__DEFINES/movement_info.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/movement_info.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/movement_info.dm + +

+ + +
RESOLVE_ACTIVE_MOVEMENTFinish any active movements

Define Details

+

RESOLVE_ACTIVE_MOVEMENT + + +

+

Finish any active movements

+ + + diff --git a/code/__DEFINES/nitrile.html b/code/__DEFINES/nitrile.html new file mode 100644 index 000000000000..a78e33c8b3f2 --- /dev/null +++ b/code/__DEFINES/nitrile.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/nitrile.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/nitrile.dm + +

+ + +
CHEM_INTERACT_DELAYmultiplies the time of do_mob by NITRILE_GLOVES_MULTIPLIER if the user has the TRAIT_FASTMED

Define Details

+

CHEM_INTERACT_DELAY + + + +

+

multiplies the time of do_mob by NITRILE_GLOVES_MULTIPLIER if the user has the TRAIT_FASTMED

+ + + diff --git a/code/__DEFINES/obj_flags.html b/code/__DEFINES/obj_flags.html new file mode 100644 index 000000000000..c2b75e8e217a --- /dev/null +++ b/code/__DEFINES/obj_flags.html @@ -0,0 +1,179 @@ + + + + + + + code/__DEFINES/obj_flags.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/obj_flags.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NEEDS_PERMITUsed by security bots to determine if this item is safe for public use.
IGNORE_DIGITIGRADECan be equipped on digitigrade legs.
ITEM_HAS_CONTEXTUAL_SCREENTIPSHas contextual screentips when HOVERING OVER OTHER objects
NO_EVIDENCE_ON_ATTACKDoes not leave fingerprints or fibers on attack
LAVAPROTECTSUIT and HEAD items which stop lava from hurting the wearer
STOPSPRESSUREDAMAGESUIT and HEAD items which stop pressure damage. To stop you taking all pressure damage you must have both a suit and head item with this flag.
BLOCK_GAS_SMOKE_EFFECTBlocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
MASKINTERNALSmask allows internals
GAS_FILTERINGmask filters toxins and other harmful gases
THICKMATERIALprevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. +Example: space suits, biosuit, bombsuits, thick suits that cover your body.
VOICEBOX_TOGGLABLEThe voicebox in this clothing can be toggled.
VOICEBOX_DISABLEDThe voicebox is currently turned off.
BLOCKS_SHOVE_KNOCKDOWNPrevents shovies against a dense object from knocking the wearer down.
SNUG_FITPrevents knock-off from things like hat-throwing.
ANTI_TINFOIL_MANEUVERHats with negative effects when worn (i.e the tinfoil hat).
DANGEROUS_OBJECTClothes that cause a larger notification when placed on a person.
LARGE_WORN_ICONClothes that use large icons, for applying the proper overlays like blood
BLOCKS_SPEECHClothes that block speech (i.e the muzzle). Can be applied to any clothing piece.
STACKABLE_HELMET_EXEMPTprevents from placing on plasmaman helmet
CASTING_CLOTHESUsable as casting clothes by wizards (only matters for suits and headwear)
HEADINTERNALSThis head clothing can deliver air from an airtank
FIBERLESSDoes not leave fibers behind
ORGAN_SYNTHETICFlags for the organ_flags var on /obj/item/organ
ORGAN_CUT_AWAYThe organ is not attached to the parent.
CLOTHING_PRISTINEIntegrity defines for clothing (not flags but close enough)
FIRST_SOUNDSFlags for the pod_flags var on /obj/structure/closet/supplypod
TOY_FIREARM_OVERLAYFlags for the gun_flags var for firearms
NOT_A_REAL_GUNCurrently used to identify valid guns to steal
NO_AKIMBOCan't fire with akimbo
SHARP_EDGEDFlags for sharpness in obj/item

Define Details

+

ANTI_TINFOIL_MANEUVER + + +

+

Hats with negative effects when worn (i.e the tinfoil hat).

BLOCKS_SHOVE_KNOCKDOWN + + +

+

Prevents shovies against a dense object from knocking the wearer down.

BLOCKS_SPEECH + + +

+

Clothes that block speech (i.e the muzzle). Can be applied to any clothing piece.

BLOCK_GAS_SMOKE_EFFECT + + +

+

Blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!

CASTING_CLOTHES + + +

+

Usable as casting clothes by wizards (only matters for suits and headwear)

CLOTHING_PRISTINE + + +

+

Integrity defines for clothing (not flags but close enough)

DANGEROUS_OBJECT + + +

+

Clothes that cause a larger notification when placed on a person.

FIBERLESS + + +

+

Does not leave fibers behind

FIRST_SOUNDS + + +

+

Flags for the pod_flags var on /obj/structure/closet/supplypod

GAS_FILTERING + + +

+

mask filters toxins and other harmful gases

HEADINTERNALS + + +

+

This head clothing can deliver air from an airtank

IGNORE_DIGITIGRADE + + +

+

Can be equipped on digitigrade legs.

ITEM_HAS_CONTEXTUAL_SCREENTIPS + + +

+

Has contextual screentips when HOVERING OVER OTHER objects

LARGE_WORN_ICON + + +

+

Clothes that use large icons, for applying the proper overlays like blood

LAVAPROTECT + + +

+

SUIT and HEAD items which stop lava from hurting the wearer

MASKINTERNALS + + +

+

mask allows internals

NEEDS_PERMIT + + +

+

Used by security bots to determine if this item is safe for public use.

NOT_A_REAL_GUN + + +

+

Currently used to identify valid guns to steal

NO_AKIMBO + + +

+

Can't fire with akimbo

NO_EVIDENCE_ON_ATTACK + + +

+

Does not leave fingerprints or fibers on attack

ORGAN_CUT_AWAY + + +

+

The organ is not attached to the parent.

ORGAN_SYNTHETIC + + +

+

Flags for the organ_flags var on /obj/item/organ

SHARP_EDGED + + +

+

Flags for sharpness in obj/item

SNUG_FIT + + +

+

Prevents knock-off from things like hat-throwing.

STACKABLE_HELMET_EXEMPT + + +

+

prevents from placing on plasmaman helmet

STOPSPRESSUREDAMAGE + + +

+

SUIT and HEAD items which stop pressure damage. To stop you taking all pressure damage you must have both a suit and head item with this flag.

THICKMATERIAL + + +

+

prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. +Example: space suits, biosuit, bombsuits, thick suits that cover your body.

TOY_FIREARM_OVERLAY + + +

+

Flags for the gun_flags var for firearms

VOICEBOX_DISABLED + + +

+

The voicebox is currently turned off.

VOICEBOX_TOGGLABLE + + +

+

The voicebox in this clothing can be toggled.

+ + + diff --git a/code/__DEFINES/packetnet.html b/code/__DEFINES/packetnet.html new file mode 100644 index 000000000000..cff811723b67 --- /dev/null +++ b/code/__DEFINES/packetnet.html @@ -0,0 +1,124 @@ + + + + + + + code/__DEFINES/packetnet.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/packetnet.dm + +

+ + + + + + + + + + + + + + + + + + +
NETWORK_FLAG_GEN_IDAutomatically generate a /obj/machinery/var/net_id on initialize.
NETWORK_FLAG_USE_DATATERMINALAutomatically connect to a data terminal at lateinit. +Not having this flag and attempting to interact with +data_terminals via [/obj/machinery/proc/link_to_jack()] is illegal and will explicitly crash.
NETWORK_FLAG_POWERNET_DATANODEAdd the machine to [/datum/powernet/var/list/data_nodes] +You should have a VERY good reason for this to be set on anything not of type /obj/machinery/power
NETWORK_FLAGS_STANDARD_CONNECTIONStandard set of network flags, for use by most network-connected equipment.
PACKET_SOURCE_ADDRESSSource (sender) address of a packet
PACKET_DESTINATION_ADDRESSDestination (receiver) address of a packet
PACKET_CMDCommand (type) of a packet
PACKET_NETCLASSNetwork Class of a device, used as part of ping replies.
NETJACK_CONNECT_SUCCESSSuccessfully connected.
NETJACK_CONNECT_CONFLICTConnection rejected, Already connected to a machine
NETJACK_CONNECT_NOTSAMETURFConnection rejected, Not sharing a turf (???)
NETJACK_CONNECT_NOT_FOUNDData Terminal not found.
RECEIVE_SIGNAL_FINISHEDPacket fully handled by parent
RECEIVE_SIGNAL_CONTINUEPacket needs additional handling
MAGIC_DATA_MUST_DISCARDPacket contains volatile data where storing it may cause GC issues. +This means references to atoms, non-trivial datums like virtualspeakers, etc.
MAGIC_DATA_MUST_OBFUSCATEPacket contains data that players should never be able to see DIRECTLY. +Re-Interpretation is allowed, This is specifically for arbitrary packet capture applications where raw fields are accessible. +For example, voice signal packets, or stuff that wouldn't make sense to be parsable as raw text.
MAGIC_DATA_INVIOLABLEAll protection flags at once.

Define Details

+

MAGIC_DATA_INVIOLABLE + + +

+

All protection flags at once.

MAGIC_DATA_MUST_DISCARD + + +

+

Packet contains volatile data where storing it may cause GC issues. +This means references to atoms, non-trivial datums like virtualspeakers, etc.

MAGIC_DATA_MUST_OBFUSCATE + + +

+

Packet contains data that players should never be able to see DIRECTLY. +Re-Interpretation is allowed, This is specifically for arbitrary packet capture applications where raw fields are accessible. +For example, voice signal packets, or stuff that wouldn't make sense to be parsable as raw text.

NETJACK_CONNECT_CONFLICT + + +

+

Connection rejected, Already connected to a machine

NETJACK_CONNECT_NOTSAMETURF + + +

+

Connection rejected, Not sharing a turf (???)

NETJACK_CONNECT_NOT_FOUND + + +

+

Data Terminal not found.

NETJACK_CONNECT_SUCCESS + + +

+

Successfully connected.

NETWORK_FLAGS_STANDARD_CONNECTION + + +

+

Standard set of network flags, for use by most network-connected equipment.

NETWORK_FLAG_GEN_ID + + +

+

Automatically generate a /obj/machinery/var/net_id on initialize.

NETWORK_FLAG_POWERNET_DATANODE + + +

+

Add the machine to [/datum/powernet/var/list/data_nodes] +You should have a VERY good reason for this to be set on anything not of type /obj/machinery/power

NETWORK_FLAG_USE_DATATERMINAL + + +

+

Automatically connect to a data terminal at lateinit. +Not having this flag and attempting to interact with +data_terminals via [/obj/machinery/proc/link_to_jack()] is illegal and will explicitly crash.

PACKET_CMD + + +

+

Command (type) of a packet

PACKET_DESTINATION_ADDRESS + + +

+

Destination (receiver) address of a packet

PACKET_NETCLASS + + +

+

Network Class of a device, used as part of ping replies.

PACKET_SOURCE_ADDRESS + + +

+

Source (sender) address of a packet

RECEIVE_SIGNAL_CONTINUE + + +

+

Packet needs additional handling

RECEIVE_SIGNAL_FINISHED + + +

+

Packet fully handled by parent

+ + + diff --git a/code/__DEFINES/pain.html b/code/__DEFINES/pain.html new file mode 100644 index 000000000000..9f4c7ca54184 --- /dev/null +++ b/code/__DEFINES/pain.html @@ -0,0 +1,77 @@ + + + + + + + code/__DEFINES/pain.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/pain.dm + +

+ + + + + + + + + + + +
PAIN_THRESHOLD_DROP_ITEMChance to drop your held item passed here
PAIN_THRESHOLD_REDUCE_PARALYSISChance to reduce paralysis duration passed here
SHOCK_MIN_PAIN_TO_BEGINStage at
SHOCK_MAXIMUMMaximum shock stage value
SHOCK_AMT_FOR_FIBRILLATIONThe amount of shock required for someone to be elligible for shock-induced fibrillation
PAIN_AMT_PASSOUTThe amount of pain where the mob is rendered unconscious
PAIN_AMT_BEGIN_SLOWDOWNThe amount of pain where movement slowdown beings
BROKEN_BONE_PAIN_FACTORmax_damage * this value is the amount of pain constantly applied when the limb bone is broken
DISLOCATED_LIMB_PAIN_FACTORmax_damage * this value is the amount of pain constantly applied when the limb is dislocated
BONE_BREAK_APPLICATION_PAINThe amount of pain applied immediately when a bone breaks

Define Details

+

BONE_BREAK_APPLICATION_PAIN + + +

+

The amount of pain applied immediately when a bone breaks

BROKEN_BONE_PAIN_FACTOR + + +

+

max_damage * this value is the amount of pain constantly applied when the limb bone is broken

DISLOCATED_LIMB_PAIN_FACTOR + + +

+

max_damage * this value is the amount of pain constantly applied when the limb is dislocated

PAIN_AMT_BEGIN_SLOWDOWN + + +

+

The amount of pain where movement slowdown beings

PAIN_AMT_PASSOUT + + +

+

The amount of pain where the mob is rendered unconscious

PAIN_THRESHOLD_DROP_ITEM + + +

+

Chance to drop your held item passed here

PAIN_THRESHOLD_REDUCE_PARALYSIS + + +

+

Chance to reduce paralysis duration passed here

SHOCK_AMT_FOR_FIBRILLATION + + +

+

The amount of shock required for someone to be elligible for shock-induced fibrillation

SHOCK_MAXIMUM + + +

+

Maximum shock stage value

SHOCK_MIN_PAIN_TO_BEGIN + + +

+

Stage at

+ + + diff --git a/code/__DEFINES/paintings.html b/code/__DEFINES/paintings.html new file mode 100644 index 000000000000..4400ea1a6c6e --- /dev/null +++ b/code/__DEFINES/paintings.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/paintings.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/paintings.dm + +

+ + + + +
PAINTINGS_FILTER_AI_PORTRAITOnly returns paintings with 23x23 or 24x24 sizes fitting AI display icon.
PAINTINGS_FILTER_SEARCH_TITLESearch mode for the title of the painting
PAINTINGS_FILTER_SEARCH_CREATORDitto but for the creator's name

Define Details

+

PAINTINGS_FILTER_AI_PORTRAIT + + +

+

Only returns paintings with 23x23 or 24x24 sizes fitting AI display icon.

PAINTINGS_FILTER_SEARCH_CREATOR + + +

+

Ditto but for the creator's name

PAINTINGS_FILTER_SEARCH_TITLE + + +

+

Search mode for the title of the painting

+ + + diff --git a/code/__DEFINES/paperwork_defines.html b/code/__DEFINES/paperwork_defines.html new file mode 100644 index 000000000000..1baecb385c0c --- /dev/null +++ b/code/__DEFINES/paperwork_defines.html @@ -0,0 +1,45 @@ + + + + + + + code/__DEFINES/paperwork_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/paperwork_defines.dm + +

+ + + + +
PAPERWORK_FILE-- Paperwork defines. -- +The file containing the paperwork strings.
SYNDICATE_FAX_MACHINEString defines for admin fax machines.
ADMIN_FAX_REPLYText macro for replying to a message with a paper fax.

Define Details

+

ADMIN_FAX_REPLY + + + +

+

Text macro for replying to a message with a paper fax.

PAPERWORK_FILE + + +

+

-- Paperwork defines. -- +The file containing the paperwork strings.

SYNDICATE_FAX_MACHINE + + +

+

String defines for admin fax machines.

+ + + diff --git a/code/__DEFINES/particles.html b/code/__DEFINES/particles.html new file mode 100644 index 000000000000..4fe7be6b1356 --- /dev/null +++ b/code/__DEFINES/particles.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/particles.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/particles.dm + +

+ + +
PARTICLE_ATTACH_MOBIf we're inside something inside a mob, display off that mob too

Define Details

+

PARTICLE_ATTACH_MOB + + +

+

If we're inside something inside a mob, display off that mob too

+ + + diff --git a/code/__DEFINES/path.html b/code/__DEFINES/path.html new file mode 100644 index 000000000000..a4e47621c378 --- /dev/null +++ b/code/__DEFINES/path.html @@ -0,0 +1,55 @@ + + + + + + + code/__DEFINES/path.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/path.dm + +

+ + + + + +
CANASTARPASS_DENSITYIf set, we make the assumption that CanAStarPass() will NEVER return FALSE unless density is true
CANASTARPASS_ALWAYS_PROCIf this is set, we bypass density checks and always call the proc
CAN_STEPA helper macro to see if it's possible to step from the first turf into the second one, minding things like door access and directional windows. +Note that this can only be used inside the [datum/pathfind][pathfind datum] since it uses variables from said datum. +If you really want to optimize things, optimize this, cuz this gets called a lot. +We do early next.density check despite it being already checked in LinkBlockedWithAccess for short-circuit performance
STEP_NOT_HERE_BUT_THEREAnother helper macro for JPS, for telling when a node has forced neighbors that need expanding

Define Details

+

CANASTARPASS_ALWAYS_PROC + + +

+

If this is set, we bypass density checks and always call the proc

CANASTARPASS_DENSITY + + +

+

If set, we make the assumption that CanAStarPass() will NEVER return FALSE unless density is true

CAN_STEP + + + +

+

A helper macro to see if it's possible to step from the first turf into the second one, minding things like door access and directional windows. +Note that this can only be used inside the [datum/pathfind][pathfind datum] since it uses variables from said datum. +If you really want to optimize things, optimize this, cuz this gets called a lot. +We do early next.density check despite it being already checked in LinkBlockedWithAccess for short-circuit performance

STEP_NOT_HERE_BUT_THERE + + + +

+

Another helper macro for JPS, for telling when a node has forced neighbors that need expanding

+ + + diff --git a/code/__DEFINES/perf_test.html b/code/__DEFINES/perf_test.html new file mode 100644 index 000000000000..b51dd0eb553e --- /dev/null +++ b/code/__DEFINES/perf_test.html @@ -0,0 +1,35 @@ + + + + + + + code/__DEFINES/perf_test.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/perf_test.dm + +

+ + +
CONSUME_UNTILMacro that takes a tick usage to target, and proceses until we hit it +This lets us simulate generic load as we'd like, to make testing for overtime easier

Define Details

+

CONSUME_UNTIL + + + +

+

Macro that takes a tick usage to target, and proceses until we hit it +This lets us simulate generic load as we'd like, to make testing for overtime easier

+ + + diff --git a/code/__DEFINES/power.html b/code/__DEFINES/power.html new file mode 100644 index 000000000000..320e9ae8024c --- /dev/null +++ b/code/__DEFINES/power.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/power.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/power.dm + +

+ + + + +
WATTSconversion ratio from joules to watts
JOULESconversion ratio from watts to joules
SUPERMATTER_BULLET_ENERGYHow much the bullets damage should be multiplied by when it is added to the internal variables

Define Details

+

JOULES + + +

+

conversion ratio from watts to joules

SUPERMATTER_BULLET_ENERGY + + +

+

How much the bullets damage should be multiplied by when it is added to the internal variables

WATTS + + +

+

conversion ratio from joules to watts

+ + + diff --git a/code/__DEFINES/preferences.html b/code/__DEFINES/preferences.html new file mode 100644 index 000000000000..db9832a5be6d --- /dev/null +++ b/code/__DEFINES/preferences.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/preferences.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/preferences.dm + +

+ + + + + + + + +
PREFERENCE_CHARACTERThis preference is character specific.
PREFERENCE_PLAYERThis preference is account specific.
PREFERENCE_TAB_GAME_PREFERENCESOpen the game preferences window
PREFERENCE_TAB_KEYBINDINGSOpen the keybindings window
PREFERENCE_CATEGORY_GAME_PREFERENCESWill be put under the game preferences window.
PLAYTIME_HARDCORE_RANDOMThe time needed to unlock hardcore random mode in preferences
PLAYTIME_VETERANThe time needed to unlock the gamer cloak in preferences

Define Details

+

PLAYTIME_HARDCORE_RANDOM + + +

+

The time needed to unlock hardcore random mode in preferences

PLAYTIME_VETERAN + + +

+

The time needed to unlock the gamer cloak in preferences

PREFERENCE_CATEGORY_GAME_PREFERENCES + + +

+

Will be put under the game preferences window.

PREFERENCE_CHARACTER + + +

+

This preference is character specific.

PREFERENCE_PLAYER + + +

+

This preference is account specific.

PREFERENCE_TAB_GAME_PREFERENCES + + +

+

Open the game preferences window

PREFERENCE_TAB_KEYBINDINGS + + +

+

Open the keybindings window

+ + + diff --git a/code/__DEFINES/procpath.html b/code/__DEFINES/procpath.html new file mode 100644 index 000000000000..b81fc31ac9fa --- /dev/null +++ b/code/__DEFINES/procpath.html @@ -0,0 +1,27 @@ + + + + + + + code/__DEFINES/procpath.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__DEFINES/procpath.dm + +

+ + +
/procpathRepresents a proc or verb path.
+ + + diff --git a/code/__DEFINES/projectiles.html b/code/__DEFINES/projectiles.html new file mode 100644 index 000000000000..cf1164bee786 --- /dev/null +++ b/code/__DEFINES/projectiles.html @@ -0,0 +1,162 @@ + + + + + + + code/__DEFINES/projectiles.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/projectiles.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PROJECTILE_PIERCE_NONEDefault behavior: hit and delete self
PROJECTILE_PIERCE_HITHit the thing but go through without deleting. Causes on_hit to be called with pierced = TRUE
PROJECTILE_PIERCE_PHASEEntirely phase through the thing without ever hitting.
CALIBER_712X82MMThe caliber used by the L6 SAW.
CALIBER_46X30MMThe caliber used by the security auto-rifle.
CALIBER_9MMThe caliber used by the Nanotrasen Saber SMG, PP-95 SMG and Type U3 Uzi. Also used as the default caliber for pistols but only the stechkin APS machine pistol doesn't override it.
CALIBER_10MMThe caliber used as the default for ballistic guns. Only not overridden for the surplus rifle.
CALIBER_357The caliber used by most revolver variants.
CALIBER_38The caliber used by the detective's revolver.
CALIBER_45The caliber used by the C-20r SMG, the tommygun, and the M1911 pistol.
CALIBER_50_PISTOLThe caliber used by the desert eagle.
CALIBER_50_RIFLEThe caliber used by sniper rifles
CALIBER_75The caliber used by the gyrojet pistol.
CALIBER_N762The caliber used by one revolver variant.
CALIBER_A556The caliber used by the the M-90gl Carbine, and NT-ARG 'Boarder'.
CALIBER_A762The caliber used by bolt action rifles.
CALIBER_12GAUGEThe caliber used by shotguns.
CALIBER_40MMThe caliber used by grenade launchers.
CALIBER_84MMThe caliber used by rocket launchers.
CALIBER_LASERThe caliber used by laser guns.
CALIBER_ENERGYThe caliber used by most energy guns.
CALIBER_FOAMThe acliber used by foam force and donksoft toy guns.
CALIBER_ARROWThe caliber used by the bow and arrow.
CALIBER_HARPOONThe caliber used by the harpoon gun.
CALIBER_HOOKThe caliber used by the meat hook.
CALIBER_TENTACLEThe caliber used by the changeling tentacle mutation.
CALIBER_308_DARTThe caliber used by the tranquilizer rifle

Define Details

+

CALIBER_10MM + + +

+

The caliber used as the default for ballistic guns. Only not overridden for the surplus rifle.

CALIBER_12GAUGE + + +

+

The caliber used by shotguns.

CALIBER_308_DART + + +

+

The caliber used by the tranquilizer rifle

CALIBER_357 + + +

+

The caliber used by most revolver variants.

CALIBER_38 + + +

+

The caliber used by the detective's revolver.

CALIBER_40MM + + +

+

The caliber used by grenade launchers.

CALIBER_45 + + +

+

The caliber used by the C-20r SMG, the tommygun, and the M1911 pistol.

CALIBER_46X30MM + + +

+

The caliber used by the security auto-rifle.

CALIBER_50_PISTOL + + +

+

The caliber used by the desert eagle.

CALIBER_50_RIFLE + + +

+

The caliber used by sniper rifles

CALIBER_712X82MM + + +

+

The caliber used by the L6 SAW.

CALIBER_75 + + +

+

The caliber used by the gyrojet pistol.

CALIBER_84MM + + +

+

The caliber used by rocket launchers.

CALIBER_9MM + + +

+

The caliber used by the Nanotrasen Saber SMG, PP-95 SMG and Type U3 Uzi. Also used as the default caliber for pistols but only the stechkin APS machine pistol doesn't override it.

CALIBER_A556 + + +

+

The caliber used by the the M-90gl Carbine, and NT-ARG 'Boarder'.

CALIBER_A762 + + +

+

The caliber used by bolt action rifles.

CALIBER_ARROW + + +

+

The caliber used by the bow and arrow.

CALIBER_ENERGY + + +

+

The caliber used by most energy guns.

CALIBER_FOAM + + +

+

The acliber used by foam force and donksoft toy guns.

CALIBER_HARPOON + + +

+

The caliber used by the harpoon gun.

CALIBER_HOOK + + +

+

The caliber used by the meat hook.

CALIBER_LASER + + +

+

The caliber used by laser guns.

CALIBER_N762 + + +

+

The caliber used by one revolver variant.

CALIBER_TENTACLE + + +

+

The caliber used by the changeling tentacle mutation.

PROJECTILE_PIERCE_HIT + + +

+

Hit the thing but go through without deleting. Causes on_hit to be called with pierced = TRUE

PROJECTILE_PIERCE_NONE + + +

+

Default behavior: hit and delete self

PROJECTILE_PIERCE_PHASE + + +

+

Entirely phase through the thing without ever hitting.

+ + + diff --git a/code/__DEFINES/qdel.html b/code/__DEFINES/qdel.html new file mode 100644 index 000000000000..a95e72deeb86 --- /dev/null +++ b/code/__DEFINES/qdel.html @@ -0,0 +1,99 @@ + + + + + + + code/__DEFINES/qdel.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/qdel.dm + +

+ + + + + + + + + + + + + + + + +

Defines that give qdel hints.

+

These can be given as a return in /atom/proc/Destroy or by calling /proc/qdel.

QDEL_HINT_QUEUEqdel should queue the object for deletion.
QDEL_HINT_LETMELIVEqdel should let the object live after calling /atom/proc/Destroy.
QDEL_HINT_IWILLGCFunctionally the same as the above. qdel should assume the object will gc on its own, and not check it.
QDEL_HINT_HARDDELQdel should assume this object won't GC, and queue a hard delete using a hard reference.
GC_QUEUE_FILTERshort queue to filter out quick gc successes so they don't hang around in the main queue for 5 minutes
GC_QUEUE_CHECKmain queue that waits 5 minutes because thats the longest byond can hold a reference to our shit.
GC_QUEUE_HARDDELETEshort queue for things that hard delete instead of going thru the gc subsystem, this is purely so if they can softdelete, they will soft delete rather then wasting time with a hard delete.
GC_QUEUE_COUNTNumber of queues, used for allocating the nested lists. Don't forget to increase this if you add a new queue stage
GC_QUEUE_ITEM_QUEUE_TIMETime this item entered the queue
GC_QUEUE_ITEM_REFRef to the item
GC_QUEUE_ITEM_GCD_DESTROYEDItem's gc_destroyed var value. Used to detect ref reuse.
GC_QUEUE_ITEM_INDEX_COUNTNumber of item indexes, used for allocating the nested lists. Don't forget to increase this if you add a new queue item index
QDEL_ITEM_ADMINS_WARNEDSet when admins are told about lag causing qdels in this type.
QDEL_ITEM_SUSPENDED_FOR_LAGSet when a type can no longer be hard deleted on failure because of lag it causes while this happens.

Define Details

+

GC_QUEUE_CHECK + + +

+

main queue that waits 5 minutes because thats the longest byond can hold a reference to our shit.

GC_QUEUE_COUNT + + +

+

Number of queues, used for allocating the nested lists. Don't forget to increase this if you add a new queue stage

GC_QUEUE_FILTER + + +

+

short queue to filter out quick gc successes so they don't hang around in the main queue for 5 minutes

GC_QUEUE_HARDDELETE + + +

+

short queue for things that hard delete instead of going thru the gc subsystem, this is purely so if they can softdelete, they will soft delete rather then wasting time with a hard delete.

GC_QUEUE_ITEM_GCD_DESTROYED + + +

+

Item's gc_destroyed var value. Used to detect ref reuse.

GC_QUEUE_ITEM_INDEX_COUNT + + +

+

Number of item indexes, used for allocating the nested lists. Don't forget to increase this if you add a new queue item index

GC_QUEUE_ITEM_QUEUE_TIME + + +

+

Time this item entered the queue

GC_QUEUE_ITEM_REF + + +

+

Ref to the item

QDEL_HINT_HARDDEL + + +

+

Qdel should assume this object won't GC, and queue a hard delete using a hard reference.

QDEL_HINT_IWILLGC + + +

+

Functionally the same as the above. qdel should assume the object will gc on its own, and not check it.

QDEL_HINT_LETMELIVE + + +

+

qdel should let the object live after calling /atom/proc/Destroy.

QDEL_HINT_QUEUE + + +

+

qdel should queue the object for deletion.

QDEL_ITEM_ADMINS_WARNED + + +

+

Set when admins are told about lag causing qdels in this type.

QDEL_ITEM_SUSPENDED_FOR_LAG + + +

+

Set when a type can no longer be hard deleted on failure because of lag it causes while this happens.

+ + + diff --git a/code/__DEFINES/quirks.html b/code/__DEFINES/quirks.html new file mode 100644 index 000000000000..85f5956569cb --- /dev/null +++ b/code/__DEFINES/quirks.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/quirks.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/quirks.dm + +

+ + + + +
QUIRK_HUMAN_ONLYThis quirk can only be applied to humans
QUIRK_PROCESSESThis quirk processes on SSquirks (and should implement quirk process)
QUIRK_CHANGES_APPEARANCEThis quirk is has a visual aspect in that it changes how the player looks. Used in generating dummies.

Define Details

+

QUIRK_CHANGES_APPEARANCE + + +

+

This quirk is has a visual aspect in that it changes how the player looks. Used in generating dummies.

QUIRK_HUMAN_ONLY + + +

+

This quirk can only be applied to humans

QUIRK_PROCESSES + + +

+

This quirk processes on SSquirks (and should implement quirk process)

+ + + diff --git a/code/__DEFINES/radiation.html b/code/__DEFINES/radiation.html new file mode 100644 index 000000000000..cd12936c47ac --- /dev/null +++ b/code/__DEFINES/radiation.html @@ -0,0 +1,97 @@ + + + + + + + code/__DEFINES/radiation.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/radiation.dm + +

+ + + + + + + + + + + + + + + +
RAD_MOB_HAIRLOSSHow much stored radiation to check for hair loss
RAD_MOB_HAIRLOSS_PROBChance of you hair starting to fall out every second when over threshold
RAD_MOB_MUTATEHow much stored radiation to check for mutation
RAD_MOB_MUTATE_PROBChance of randomly mutating every second when over threshold
RAD_MOB_VOMITThe time since irradiated before checking for vomitting
RAD_MOB_VOMIT_PROBChance per second of vomitting
RAD_MOB_KNOCKDOWNHow much stored radiation to check for stunning
RAD_MOB_KNOCKDOWN_PROBChance of knockdown per second when over threshold
RAD_MOB_KNOCKDOWN_AMOUNTAmount of knockdown when it occurs
DEFAULT_RADIATION_CHANCEThe default chance something can be irradiated
URANIUM_IRRADIATION_CHANCEThe default chance for uranium structures to irradiate
URANIUM_RADIATION_MINIMUM_EXPOSURE_TIMEThe minimum exposure time before uranium structures can irradiate
PERCEIVED_RADIATION_DANGER_LOWReturn values of [proc/get_perceived_radiation_danger]
TIME_WITHOUT_RADIATION_BEFORE_RESETThe time before geiger counters reset back to normal without any radiation pulses

Define Details

+

DEFAULT_RADIATION_CHANCE + + +

+

The default chance something can be irradiated

PERCEIVED_RADIATION_DANGER_LOW + + +

+

Return values of [proc/get_perceived_radiation_danger]

RAD_MOB_HAIRLOSS + + +

+

How much stored radiation to check for hair loss

RAD_MOB_HAIRLOSS_PROB + + +

+

Chance of you hair starting to fall out every second when over threshold

RAD_MOB_KNOCKDOWN + + +

+

How much stored radiation to check for stunning

RAD_MOB_KNOCKDOWN_AMOUNT + + +

+

Amount of knockdown when it occurs

RAD_MOB_KNOCKDOWN_PROB + + +

+

Chance of knockdown per second when over threshold

RAD_MOB_MUTATE + + +

+

How much stored radiation to check for mutation

RAD_MOB_MUTATE_PROB + + +

+

Chance of randomly mutating every second when over threshold

RAD_MOB_VOMIT + + +

+

The time since irradiated before checking for vomitting

RAD_MOB_VOMIT_PROB + + +

+

Chance per second of vomitting

TIME_WITHOUT_RADIATION_BEFORE_RESET + + +

+

The time before geiger counters reset back to normal without any radiation pulses

URANIUM_IRRADIATION_CHANCE + + +

+

The default chance for uranium structures to irradiate

URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME + + +

+

The minimum exposure time before uranium structures can irradiate

+ + + diff --git a/code/__DEFINES/radio.html b/code/__DEFINES/radio.html new file mode 100644 index 000000000000..3bb8eb157861 --- /dev/null +++ b/code/__DEFINES/radio.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/radio.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/radio.dm + +

+ + +
RADIO_NO_Z_LEVEL_RESTRICTIONgive this to can_receive to specify that there is no restriction on what z level this signal is sent to

Define Details

+

RADIO_NO_Z_LEVEL_RESTRICTION + + +

+

give this to can_receive to specify that there is no restriction on what z level this signal is sent to

+ + + diff --git a/code/__DEFINES/reactions.html b/code/__DEFINES/reactions.html new file mode 100644 index 000000000000..017a811ce231 --- /dev/null +++ b/code/__DEFINES/reactions.html @@ -0,0 +1,567 @@ + + + + + + + code/__DEFINES/reactions.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/reactions.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PRIORITY_PRE_FORMATIONThe prority used to indicate that a reaction should run immediately at the start of a reaction cycle. Currently used by a jumble of decomposition reactions and purgative reactions.
PRIORITY_FORMATIONThe priority used for reactions that produce a useful or more advanced product. Goes after purgative reactions so that the purgers can be slightly more useful.
PRIORITY_POST_FORMATIONThe priority used for indicate that a reactions should run immediately before most forms of combustion. Used by two decomposition reactions and steam condensation.
PRIORITY_FIREThe priority used to indicate that a reactions should run after all other types of reactions. Exclusively used for combustion reactions that produce fire or are freon.
ATMOS_RADIATION_VOLUME_EXPAn exponent used to make large volume gas mixtures significantly less likely to release rads. Used to prevent tritfires in distro from irradiating literally the entire station with no warning.
WATER_VAPOR_CONDENSATION_POINTThe temperature required for water vapor to condense.
WATER_VAPOR_DEPOSITION_POINTThe temperature required for water vapor to condense as ice instead of water.
MIASTER_STERILIZATION_TEMPThe minimum temperature miasma begins being sterilized at.
MIASTER_STERILIZATION_MAX_HUMIDITYThe maximum ratio of water vapor to other gases miasma can be sterilized at.
MIASTER_STERILIZATION_RATE_BASEThe minimum amount of miasma that will be sterilized in a reaction tick.
MIASTER_STERILIZATION_RATE_SCALEThe temperature required to sterilize an additional mole of miasma in a reaction tick.
MIASTER_STERILIZATION_ENERGYThe amount of energy released when a mole of miasma is sterilized.
FIRE_CARBON_ENERGY_RELEASEDAmount of heat released per mole of burnt carbon into the tile
PLASMA_MINIMUM_BURN_TEMPERATUREMinimum temperature to burn plasma
PLASMA_UPPER_TEMPERATUREUpper temperature ceiling for plasmafire reaction calculations for fuel consumption
OXYGEN_BURN_RATIO_BASEThe maximum and default amount of plasma consumed as oxydizer per mole of plasma burnt.
PLASMA_OXYGEN_FULLBURNMultiplier for plasmafire with O2 moles * PLASMA_OXYGEN_FULLBURN for the maximum fuel consumption
SUPER_SATURATION_THRESHOLDThe minimum ratio of oxygen to plasma necessary to start producing tritium.
PLASMA_BURN_RATE_DELTAThe divisor for the maximum plasma burn rate. (1/9 of the plasma can burn in one reaction tick.)
FIRE_PLASMA_ENERGY_RELEASEDAmount of heat released per mole of burnt plasma into the tile
HYDROGEN_MINIMUM_BURN_TEMPERATUREThe minimum temperature hydrogen combusts at.
MINIMUM_HYDROGEN_OXYBURN_ENERGYThe minimum thermal energy necessary for hydrogen fires to use the HYDROGEN_OXYBURN_MULTIPLIER. Used to prevent overpowered hydrogen/oxygen singletank bombs to moderate success.
HYDROGEN_OXYBURN_MULTIPLIERA multiplier to released hydrogen fire energy when in an oxygen-rich mix.
HYDROGEN_BURN_OXY_FACTORWhat fraction of the oxygen content of the mix is used for the burn rate in an oxygen-poor mix.
HYDROGEN_BURN_H2_FACTORWhat fraction of the hydrogen content of the mix is used for the burn rate in an oxygen-rich mix.
FIRE_HYDROGEN_ENERGY_RELEASEDThe amount of energy released by burning one mole of hydrogen. (Before HYDROGEN_OXYBURN_MULTIPLIER is applied if applicable.)
TRITIUM_MINIMUM_BURN_TEMPERATUREThe minimum temperature tritium combusts at.
MINIMUM_TRITIUM_OXYBURN_ENERGYThe minimum thermal energy necessary for tritium fires to use the TRITIUM_OXYBURN_MULTIPLIER. Used to prevent overpowered tritium/oxygen singletank bombs to moderate success.
TRITIUM_OXYBURN_MULTIPLIERA multiplier to all secondary tritium fire effects when in an oxygen-rich mix.
TRITIUM_BURN_OXY_FACTORWhat fraction of the oxygen content of the mix is used for the burn rate in an oxygen-poor mix.
TRITIUM_BURN_TRIT_FACTORWhat fraction of the tritium content of the mix is used for the burn rate in an oxygen-rich mix.
FIRE_TRITIUM_ENERGY_RELEASEDThe amount of energy released by burning one mole of tritium. (Before TRITIUM_OXYBURN_MULTIPLIER is applied if applicable.)
TRITIUM_RADIATION_MINIMUM_MOLESThe minimum number of moles of trit that must be burnt for a tritium fire reaction to produce a radiation pulse. (0.01 moles trit or 10 moles oxygen to start producing rads.)
TRITIUM_RADIATION_RELEASE_THRESHOLDThe minimum released energy necessary for tritium to release radiation during combustion. (at a mix volume of CELL_VOLUME).
TRITIUM_RADIATION_RANGE_DIVISORA scaling factor for the range of radiation pulses produced by tritium fires.
TRITIUM_RADIATION_THRESHOLD_BASEA scaling factor for the irradiation threshold of radiation pulses produced by tritium fires.
TRITIUM_RADIATION_CHANCE_ENERGY_THRESHOLD_BASEA scaling factor for the irradiation chance from energy released. This is the energy release required for everything in range to have a 50% chance of getting irradiated.
TRITIUM_MINIMUM_RADIATION_RANGEThe minimum radiation pulse range from tritium fires.
FREON_MAXIMUM_BURN_TEMPERATUREThe maximum temperature freon can combust at.
FREON_LOWER_TEMPERATUREMinimum temperature allowed for the burn to go at max speed, we would have negative pressure otherwise
FREON_TERMINAL_TEMPERATURETerminal temperature after wich we stop the reaction
FREON_OXYGEN_FULLBURNMultiplier for freonfire with O2 moles * FREON_OXYGEN_FULLBURN for the maximum fuel consumption
FREON_BURN_RATE_DELTAThe maximum fraction of the freon in a mix that can combust each reaction tick.
FIRE_FREON_ENERGY_CONSUMEDThe amount of heat absorbed per mole of freon burnt.
HOT_ICE_FORMATION_MAXIMUM_TEMPERATUREThe maximum temperature at which freon combustion can form hot ice.
HOT_ICE_FORMATION_MINIMUM_TEMPERATUREThe minimum temperature at which freon combustion can form hot ice.
HOT_ICE_FORMATION_PROBThe chance for hot ice to form when freon reacts on a turf.
N2O_FORMATION_MIN_TEMPERATUREThe minimum temperature N2O can form from nitrogen and oxygen in the presence of BZ at.
N2O_FORMATION_MAX_TEMPERATUREThe maximum temperature N2O can form from nitrogen and oxygen in the presence of BZ at.
N2O_FORMATION_ENERGYThe amount of energy released when a mole of N2O forms from nitrogen and oxygen in the presence of BZ.
N2O_DECOMPOSITION_MIN_TEMPERATUREThe minimum temperature N2O can decompose at.
N2O_DECOMPOSITION_MAX_TEMPERATUREThe maximum temperature N2O can decompose at.
N2O_DECOMPOSITION_RATE_DIVISORThe maximum portion of the N2O that can decompose each reaction tick. (50%)
N2O_DECOMPOSITION_MIN_SCALE_TEMPOne root of the parabola used to scale N2O decomposition rates.
N2O_DECOMPOSITION_MAX_SCALE_TEMPThe other root of the parabola used to scale N2O decomposition rates.
N2O_DECOMPOSITION_SCALE_DIVISORThe divisor used to normalize the N2O decomp scaling parabola. Basically the value of the apex/nadir of (x - N2O_DECOMPOSITION_MIN_SCALE_TEMP) * (x - N2O_DECOMPOSITION_MAX_SCALE_TEMP).
N2O_DECOMPOSITION_ENERGYThe amount of energy released when one mole of N2O decomposes into nitrogen and oxygen.
BZ_FORMATION_MAX_TEMPERATUREThe maximum temperature BZ can form at. Deliberately set lower than the minimum burn temperature for most combustible gases in an attempt to prevent long fuse singlecaps.
BZ_FORMATION_ENERGYThe amount of energy ~2.5 moles of BZ forming from N2O and plasma releases.
PLUOXIUM_FORMATION_MIN_TEMPThe minimum temperature pluoxium can form from carbon dioxide, oxygen, and tritium at.
PLUOXIUM_FORMATION_MAX_TEMPThe maximum temperature pluoxium can form from carbon dioxide, oxygen, and tritium at.
PLUOXIUM_FORMATION_MAX_RATEThe maximum amount of pluoxium that can form from carbon dioxide, oxygen, and tritium per reaction tick.
PLUOXIUM_FORMATION_ENERGYThe amount of energy one mole of pluoxium forming from carbon dioxide, oxygen, and tritium releases.
NITRIUM_FORMATION_MIN_TEMPThe minimum temperature necessary for nitrium to form from tritium, nitrogen, and BZ.
NITRIUM_FORMATION_TEMP_DIVISORA scaling divisor for the rate of nitrium formation relative to mix temperature.
NITRIUM_FORMATION_ENERGYThe amount of thermal energy consumed when a mole of nitrium is formed from tritium, nitrogen, and BZ.
NITRIUM_DECOMPOSITION_MAX_TEMPThe maximum temperature nitrium can decompose into nitrogen and hydrogen at.
NITRIUM_DECOMPOSITION_TEMP_DIVISORA scaling divisor for the rate of nitrium decomposition relative to mix temperature.
NITRIUM_DECOMPOSITION_ENERGYThe amount of energy released when a mole of nitrium decomposes into nitrogen and hydrogen.
FREON_FORMATION_MIN_TEMPERATUREThe minimum temperature freon can form from plasma, CO2, and BZ at.
FREON_FORMATION_TEMP_DIVISORA scaling divisor for the rate of freon formation relative to mix temperature.
FREON_FORMATION_ENERGYThe amount of energy 2.5 moles of freon forming from plasma, CO2, and BZ consumes.
NOBLIUM_FORMATION_MIN_TEMPThe maximum temperature hyper-noblium can form from tritium and nitrogen at.
NOBLIUM_FORMATION_MAX_TEMPThe maximum temperature hyper-noblium can form from tritium and nitrogen at.
NOBLIUM_FORMATION_ENERGYThe amount of energy a single mole of hyper-noblium forming from tritium and nitrogen releases.
REACTION_OPPRESSION_THRESHOLDThe number of moles of hyper-noblium required to prevent reactions.
HALON_FORMATION_MIN_TEMPERATUREThe minimum temperature required for halon to form from tritium and BZ.
HALON_FORMATION_MAX_TEMPERATUREThe maximum temperature required for halon to form from tritium and BZ.
HALON_FORMATION_ENERGYThe amount of energy 4.25 moles of halon forming from tritium and BZ releases.
HALON_COMBUSTION_ENERGYHow much energy a mole of halon combusting consumes.
HEALIUM_FORMATION_MIN_TEMPThe minimum temperature healium can form from BZ and freon at.
HEALIUM_FORMATION_MAX_TEMPThe maximum temperature healium can form from BZ and freon at.
HEALIUM_FORMATION_ENERGYThe amount of energy three moles of healium forming from BZ and freon releases.
ZAUKER_FORMATION_MIN_TEMPERATUREThe minimum temperature zauker can form from hyper-noblium and nitrium at.
ZAUKER_FORMATION_MAX_TEMPERATUREThe maximum temperature zauker can form from hyper-noblium and nitrium at.
ZAUKER_FORMATION_TEMPERATURE_SCALEThe temperature scaling factor for zauker formation. At most this many moles of zauker can form per reaction tick per kelvin.
ZAUKER_FORMATION_ENERGYThe amount of energy half a mole of zauker forming from hypernoblium and nitrium consumes.
ZAUKER_DECOMPOSITION_MAX_RATEThe maximum number of moles of zauker that can decompose per reaction tick.
ZAUKER_DECOMPOSITION_ENERGYThe amount of energy a mole of zauker decomposing in the presence of nitrogen releases.
PN_FORMATION_MIN_TEMPERATUREThe minimum temperature proto-nitrate can form from pluoxium and hydrogen at.
PN_FORMATION_MAX_TEMPERATUREThe maximum temperature proto-nitrate can form from pluoxium and hydrogen at.
PN_FORMATION_TEMPERATURE_SCALEThe temperature scaling factor for proto-nitrate formation. At most this many moles of zauker can form per reaction tick per kelvin.
PN_FORMATION_ENERGYThe amount of energy 2.2 moles of proto-nitrate forming from pluoxium and hydrogen releases.
PN_HYDROGEN_CONVERSION_THRESHOLDThe amount of hydrogen necessary for proto-nitrate to start converting it to more proto-nitrate.
PN_HYDROGEN_CONVERSION_MAX_RATEThe maximum number of moles of hydrogen that can be converted into proto-nitrate in a single reaction tick.
PN_HYDROGEN_CONVERSION_ENERGYThe amount of energy converting a mole of hydrogen into half a mole of proto-nitrate consumes.
PN_TRITIUM_CONVERSION_MIN_TEMPThe minimum temperature proto-nitrate can convert tritium to hydrogen at.
PN_TRITIUM_CONVERSION_MAX_TEMPThe maximum temperature proto-nitrate can convert tritium to hydrogen at.
PN_TRITIUM_CONVERSION_ENERGYThe amount of energy proto-nitrate converting a mole of tritium into hydrogen releases.
PN_TRITIUM_CONVERSION_RAD_RELEASE_THRESHOLDThe minimum released energy necessary for proto-nitrate to release radiation when converting tritium. (With a reaction vessel volume of CELL_VOLUME)
PN_TRITIUM_RAD_RANGE_DIVISORA scaling factor for the range of the radiation pulses generated when proto-nitrate converts tritium to hydrogen.
PN_TRITIUM_RAD_THRESHOLD_BASEA scaling factor for the threshold of the radiation pulses generated when proto-nitrate converts tritium to hydrogen.
PN_BZASE_MIN_TEMPThe minimum temperature proto-nitrate can break BZ down at.
PN_BZASE_MAX_TEMPThe maximum temperature proto-nitrate can break BZ down at.
PN_BZASE_ENERGYThe amount of energy proto-nitrate breaking down a mole of BZ releases.
PN_BZASE_RAD_RELEASE_THRESHOLDThe minimum released energy necessary for proto-nitrate to release rads when breaking down BZ (at a mix volume of CELL_VOLUME).
PN_BZASE_RAD_RANGE_DIVISORA scaling factor for the range of the radiation pulses generated when proto-nitrate breaks down BZ.
PN_BZASE_RAD_THRESHOLD_BASEA scaling factor for the threshold of the radiation pulses generated when proto-nitrate breaks down BZ.

Define Details

+

ATMOS_RADIATION_VOLUME_EXP + + +

+

An exponent used to make large volume gas mixtures significantly less likely to release rads. Used to prevent tritfires in distro from irradiating literally the entire station with no warning.

BZ_FORMATION_ENERGY + + +

+

The amount of energy ~2.5 moles of BZ forming from N2O and plasma releases.

BZ_FORMATION_MAX_TEMPERATURE + + +

+

The maximum temperature BZ can form at. Deliberately set lower than the minimum burn temperature for most combustible gases in an attempt to prevent long fuse singlecaps.

FIRE_CARBON_ENERGY_RELEASED + + +

+

Amount of heat released per mole of burnt carbon into the tile

FIRE_FREON_ENERGY_CONSUMED + + +

+

The amount of heat absorbed per mole of freon burnt.

FIRE_HYDROGEN_ENERGY_RELEASED + + +

+

The amount of energy released by burning one mole of hydrogen. (Before HYDROGEN_OXYBURN_MULTIPLIER is applied if applicable.)

FIRE_PLASMA_ENERGY_RELEASED + + +

+

Amount of heat released per mole of burnt plasma into the tile

FIRE_TRITIUM_ENERGY_RELEASED + + +

+

The amount of energy released by burning one mole of tritium. (Before TRITIUM_OXYBURN_MULTIPLIER is applied if applicable.)

FREON_BURN_RATE_DELTA + + +

+

The maximum fraction of the freon in a mix that can combust each reaction tick.

FREON_FORMATION_ENERGY + + +

+

The amount of energy 2.5 moles of freon forming from plasma, CO2, and BZ consumes.

FREON_FORMATION_MIN_TEMPERATURE + + +

+

The minimum temperature freon can form from plasma, CO2, and BZ at.

FREON_FORMATION_TEMP_DIVISOR + + +

+

A scaling divisor for the rate of freon formation relative to mix temperature.

FREON_LOWER_TEMPERATURE + + +

+

Minimum temperature allowed for the burn to go at max speed, we would have negative pressure otherwise

FREON_MAXIMUM_BURN_TEMPERATURE + + +

+

The maximum temperature freon can combust at.

FREON_OXYGEN_FULLBURN + + +

+

Multiplier for freonfire with O2 moles * FREON_OXYGEN_FULLBURN for the maximum fuel consumption

FREON_TERMINAL_TEMPERATURE + + +

+

Terminal temperature after wich we stop the reaction

HALON_COMBUSTION_ENERGY + + +

+

How much energy a mole of halon combusting consumes.

HALON_FORMATION_ENERGY + + +

+

The amount of energy 4.25 moles of halon forming from tritium and BZ releases.

HALON_FORMATION_MAX_TEMPERATURE + + +

+

The maximum temperature required for halon to form from tritium and BZ.

HALON_FORMATION_MIN_TEMPERATURE + + +

+

The minimum temperature required for halon to form from tritium and BZ.

HEALIUM_FORMATION_ENERGY + + +

+

The amount of energy three moles of healium forming from BZ and freon releases.

HEALIUM_FORMATION_MAX_TEMP + + +

+

The maximum temperature healium can form from BZ and freon at.

HEALIUM_FORMATION_MIN_TEMP + + +

+

The minimum temperature healium can form from BZ and freon at.

HOT_ICE_FORMATION_MAXIMUM_TEMPERATURE + + +

+

The maximum temperature at which freon combustion can form hot ice.

HOT_ICE_FORMATION_MINIMUM_TEMPERATURE + + +

+

The minimum temperature at which freon combustion can form hot ice.

HOT_ICE_FORMATION_PROB + + +

+

The chance for hot ice to form when freon reacts on a turf.

HYDROGEN_BURN_H2_FACTOR + + +

+

What fraction of the hydrogen content of the mix is used for the burn rate in an oxygen-rich mix.

HYDROGEN_BURN_OXY_FACTOR + + +

+

What fraction of the oxygen content of the mix is used for the burn rate in an oxygen-poor mix.

HYDROGEN_MINIMUM_BURN_TEMPERATURE + + +

+

The minimum temperature hydrogen combusts at.

HYDROGEN_OXYBURN_MULTIPLIER + + +

+

A multiplier to released hydrogen fire energy when in an oxygen-rich mix.

MIASTER_STERILIZATION_ENERGY + + +

+

The amount of energy released when a mole of miasma is sterilized.

MIASTER_STERILIZATION_MAX_HUMIDITY + + +

+

The maximum ratio of water vapor to other gases miasma can be sterilized at.

MIASTER_STERILIZATION_RATE_BASE + + +

+

The minimum amount of miasma that will be sterilized in a reaction tick.

MIASTER_STERILIZATION_RATE_SCALE + + +

+

The temperature required to sterilize an additional mole of miasma in a reaction tick.

MIASTER_STERILIZATION_TEMP + + +

+

The minimum temperature miasma begins being sterilized at.

MINIMUM_HYDROGEN_OXYBURN_ENERGY + + +

+

The minimum thermal energy necessary for hydrogen fires to use the HYDROGEN_OXYBURN_MULTIPLIER. Used to prevent overpowered hydrogen/oxygen singletank bombs to moderate success.

MINIMUM_TRITIUM_OXYBURN_ENERGY + + +

+

The minimum thermal energy necessary for tritium fires to use the TRITIUM_OXYBURN_MULTIPLIER. Used to prevent overpowered tritium/oxygen singletank bombs to moderate success.

N2O_DECOMPOSITION_ENERGY + + +

+

The amount of energy released when one mole of N2O decomposes into nitrogen and oxygen.

N2O_DECOMPOSITION_MAX_SCALE_TEMP + + +

+

The other root of the parabola used to scale N2O decomposition rates.

N2O_DECOMPOSITION_MAX_TEMPERATURE + + +

+

The maximum temperature N2O can decompose at.

N2O_DECOMPOSITION_MIN_SCALE_TEMP + + +

+

One root of the parabola used to scale N2O decomposition rates.

N2O_DECOMPOSITION_MIN_TEMPERATURE + + +

+

The minimum temperature N2O can decompose at.

N2O_DECOMPOSITION_RATE_DIVISOR + + +

+

The maximum portion of the N2O that can decompose each reaction tick. (50%)

N2O_DECOMPOSITION_SCALE_DIVISOR + + +

+

The divisor used to normalize the N2O decomp scaling parabola. Basically the value of the apex/nadir of (x - N2O_DECOMPOSITION_MIN_SCALE_TEMP) * (x - N2O_DECOMPOSITION_MAX_SCALE_TEMP).

N2O_FORMATION_ENERGY + + +

+

The amount of energy released when a mole of N2O forms from nitrogen and oxygen in the presence of BZ.

N2O_FORMATION_MAX_TEMPERATURE + + +

+

The maximum temperature N2O can form from nitrogen and oxygen in the presence of BZ at.

N2O_FORMATION_MIN_TEMPERATURE + + +

+

The minimum temperature N2O can form from nitrogen and oxygen in the presence of BZ at.

NITRIUM_DECOMPOSITION_ENERGY + + +

+

The amount of energy released when a mole of nitrium decomposes into nitrogen and hydrogen.

NITRIUM_DECOMPOSITION_MAX_TEMP + + +

+

The maximum temperature nitrium can decompose into nitrogen and hydrogen at.

NITRIUM_DECOMPOSITION_TEMP_DIVISOR + + +

+

A scaling divisor for the rate of nitrium decomposition relative to mix temperature.

NITRIUM_FORMATION_ENERGY + + +

+

The amount of thermal energy consumed when a mole of nitrium is formed from tritium, nitrogen, and BZ.

NITRIUM_FORMATION_MIN_TEMP + + +

+

The minimum temperature necessary for nitrium to form from tritium, nitrogen, and BZ.

NITRIUM_FORMATION_TEMP_DIVISOR + + +

+

A scaling divisor for the rate of nitrium formation relative to mix temperature.

NOBLIUM_FORMATION_ENERGY + + +

+

The amount of energy a single mole of hyper-noblium forming from tritium and nitrogen releases.

NOBLIUM_FORMATION_MAX_TEMP + + +

+

The maximum temperature hyper-noblium can form from tritium and nitrogen at.

NOBLIUM_FORMATION_MIN_TEMP + + +

+

The maximum temperature hyper-noblium can form from tritium and nitrogen at.

OXYGEN_BURN_RATIO_BASE + + +

+

The maximum and default amount of plasma consumed as oxydizer per mole of plasma burnt.

PLASMA_BURN_RATE_DELTA + + +

+

The divisor for the maximum plasma burn rate. (1/9 of the plasma can burn in one reaction tick.)

PLASMA_MINIMUM_BURN_TEMPERATURE + + +

+

Minimum temperature to burn plasma

PLASMA_OXYGEN_FULLBURN + + +

+

Multiplier for plasmafire with O2 moles * PLASMA_OXYGEN_FULLBURN for the maximum fuel consumption

PLASMA_UPPER_TEMPERATURE + + +

+

Upper temperature ceiling for plasmafire reaction calculations for fuel consumption

PLUOXIUM_FORMATION_ENERGY + + +

+

The amount of energy one mole of pluoxium forming from carbon dioxide, oxygen, and tritium releases.

PLUOXIUM_FORMATION_MAX_RATE + + +

+

The maximum amount of pluoxium that can form from carbon dioxide, oxygen, and tritium per reaction tick.

PLUOXIUM_FORMATION_MAX_TEMP + + +

+

The maximum temperature pluoxium can form from carbon dioxide, oxygen, and tritium at.

PLUOXIUM_FORMATION_MIN_TEMP + + +

+

The minimum temperature pluoxium can form from carbon dioxide, oxygen, and tritium at.

PN_BZASE_ENERGY + + +

+

The amount of energy proto-nitrate breaking down a mole of BZ releases.

PN_BZASE_MAX_TEMP + + +

+

The maximum temperature proto-nitrate can break BZ down at.

PN_BZASE_MIN_TEMP + + +

+

The minimum temperature proto-nitrate can break BZ down at.

PN_BZASE_RAD_RANGE_DIVISOR + + +

+

A scaling factor for the range of the radiation pulses generated when proto-nitrate breaks down BZ.

PN_BZASE_RAD_RELEASE_THRESHOLD + + +

+

The minimum released energy necessary for proto-nitrate to release rads when breaking down BZ (at a mix volume of CELL_VOLUME).

PN_BZASE_RAD_THRESHOLD_BASE + + +

+

A scaling factor for the threshold of the radiation pulses generated when proto-nitrate breaks down BZ.

PN_FORMATION_ENERGY + + +

+

The amount of energy 2.2 moles of proto-nitrate forming from pluoxium and hydrogen releases.

PN_FORMATION_MAX_TEMPERATURE + + +

+

The maximum temperature proto-nitrate can form from pluoxium and hydrogen at.

PN_FORMATION_MIN_TEMPERATURE + + +

+

The minimum temperature proto-nitrate can form from pluoxium and hydrogen at.

PN_FORMATION_TEMPERATURE_SCALE + + +

+

The temperature scaling factor for proto-nitrate formation. At most this many moles of zauker can form per reaction tick per kelvin.

PN_HYDROGEN_CONVERSION_ENERGY + + +

+

The amount of energy converting a mole of hydrogen into half a mole of proto-nitrate consumes.

PN_HYDROGEN_CONVERSION_MAX_RATE + + +

+

The maximum number of moles of hydrogen that can be converted into proto-nitrate in a single reaction tick.

PN_HYDROGEN_CONVERSION_THRESHOLD + + +

+

The amount of hydrogen necessary for proto-nitrate to start converting it to more proto-nitrate.

PN_TRITIUM_CONVERSION_ENERGY + + +

+

The amount of energy proto-nitrate converting a mole of tritium into hydrogen releases.

PN_TRITIUM_CONVERSION_MAX_TEMP + + +

+

The maximum temperature proto-nitrate can convert tritium to hydrogen at.

PN_TRITIUM_CONVERSION_MIN_TEMP + + +

+

The minimum temperature proto-nitrate can convert tritium to hydrogen at.

PN_TRITIUM_CONVERSION_RAD_RELEASE_THRESHOLD + + +

+

The minimum released energy necessary for proto-nitrate to release radiation when converting tritium. (With a reaction vessel volume of CELL_VOLUME)

PN_TRITIUM_RAD_RANGE_DIVISOR + + +

+

A scaling factor for the range of the radiation pulses generated when proto-nitrate converts tritium to hydrogen.

PN_TRITIUM_RAD_THRESHOLD_BASE + + +

+

A scaling factor for the threshold of the radiation pulses generated when proto-nitrate converts tritium to hydrogen.

PRIORITY_FIRE + + +

+

The priority used to indicate that a reactions should run after all other types of reactions. Exclusively used for combustion reactions that produce fire or are freon.

PRIORITY_FORMATION + + +

+

The priority used for reactions that produce a useful or more advanced product. Goes after purgative reactions so that the purgers can be slightly more useful.

PRIORITY_POST_FORMATION + + +

+

The priority used for indicate that a reactions should run immediately before most forms of combustion. Used by two decomposition reactions and steam condensation.

PRIORITY_PRE_FORMATION + + +

+

The prority used to indicate that a reaction should run immediately at the start of a reaction cycle. Currently used by a jumble of decomposition reactions and purgative reactions.

REACTION_OPPRESSION_THRESHOLD + + +

+

The number of moles of hyper-noblium required to prevent reactions.

SUPER_SATURATION_THRESHOLD + + +

+

The minimum ratio of oxygen to plasma necessary to start producing tritium.

TRITIUM_BURN_OXY_FACTOR + + +

+

What fraction of the oxygen content of the mix is used for the burn rate in an oxygen-poor mix.

TRITIUM_BURN_TRIT_FACTOR + + +

+

What fraction of the tritium content of the mix is used for the burn rate in an oxygen-rich mix.

TRITIUM_MINIMUM_BURN_TEMPERATURE + + +

+

The minimum temperature tritium combusts at.

TRITIUM_MINIMUM_RADIATION_RANGE + + +

+

The minimum radiation pulse range from tritium fires.

TRITIUM_OXYBURN_MULTIPLIER + + +

+

A multiplier to all secondary tritium fire effects when in an oxygen-rich mix.

TRITIUM_RADIATION_CHANCE_ENERGY_THRESHOLD_BASE + + +

+

A scaling factor for the irradiation chance from energy released. This is the energy release required for everything in range to have a 50% chance of getting irradiated.

TRITIUM_RADIATION_MINIMUM_MOLES + + +

+

The minimum number of moles of trit that must be burnt for a tritium fire reaction to produce a radiation pulse. (0.01 moles trit or 10 moles oxygen to start producing rads.)

TRITIUM_RADIATION_RANGE_DIVISOR + + +

+

A scaling factor for the range of radiation pulses produced by tritium fires.

TRITIUM_RADIATION_RELEASE_THRESHOLD + + +

+

The minimum released energy necessary for tritium to release radiation during combustion. (at a mix volume of CELL_VOLUME).

TRITIUM_RADIATION_THRESHOLD_BASE + + +

+

A scaling factor for the irradiation threshold of radiation pulses produced by tritium fires.

WATER_VAPOR_CONDENSATION_POINT + + +

+

The temperature required for water vapor to condense.

WATER_VAPOR_DEPOSITION_POINT + + +

+

The temperature required for water vapor to condense as ice instead of water.

ZAUKER_DECOMPOSITION_ENERGY + + +

+

The amount of energy a mole of zauker decomposing in the presence of nitrogen releases.

ZAUKER_DECOMPOSITION_MAX_RATE + + +

+

The maximum number of moles of zauker that can decompose per reaction tick.

ZAUKER_FORMATION_ENERGY + + +

+

The amount of energy half a mole of zauker forming from hypernoblium and nitrium consumes.

ZAUKER_FORMATION_MAX_TEMPERATURE + + +

+

The maximum temperature zauker can form from hyper-noblium and nitrium at.

ZAUKER_FORMATION_MIN_TEMPERATURE + + +

+

The minimum temperature zauker can form from hyper-noblium and nitrium at.

ZAUKER_FORMATION_TEMPERATURE_SCALE + + +

+

The temperature scaling factor for zauker formation. At most this many moles of zauker can form per reaction tick per kelvin.

+ + + diff --git a/code/__DEFINES/reagents.html b/code/__DEFINES/reagents.html new file mode 100644 index 000000000000..2ffc6d4cc0d1 --- /dev/null +++ b/code/__DEFINES/reagents.html @@ -0,0 +1,197 @@ + + + + + + + code/__DEFINES/reagents.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/reagents.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TOUCHUsed for splashing.
VAPORUsed for vapors
INGESTWhen you be eating da reagent
INJECTDirect into the blood stream
UNHUSK_DAMAGE_THRESHOLDHealth threshold for synthflesh and rezadone to unhusk someone
SYNTHFLESH_UNHUSK_AMOUNTAmount of synthflesh required to unhusk someone
DEFAULT_REAGENT_TEMPERATUREthe default temperature at which chemicals are added to reagent holders at
CHEMICAL_QUANTISATION_LEVELstops floating point errors causing issues with checking reagent amounts
CHEMICAL_VOLUME_MINIMUMThe smallest amount of volume allowed - prevents tiny numbers
CHEMICAL_NORMAL_PHDefault pH for reagents datum
CHEMICAL_MAXIMUM_TEMPERATUREThe maximum temperature a reagent holder can attain
REAGENT_STANDARD_PURITYThe default purity of all non reacted reagents
REAGENT_DEAD_PROCESSCan process in dead mobs.
REAGENT_DONOTSPLITDo not split the chem at all during processing - ignores all purity effects
REAGENT_INVISIBLEDoesn't appear on handheld health analyzers.
REAGENT_SNEAKYNAMEWhen inverted, the inverted chem uses the name of the original chem
REAGENT_SPLITRETAINVOLRetains initial volume of chem when splitting for purity effects
REAGENT_SPECIALAny reagent marked with this cannot be put in random objects like eggs
REAGENT_NO_RANDOM_RECIPEThis reagent won't be used in most randomized recipes. Meant for reagents that could be synthetized but are normally inaccessible or TOO hard to get.
REAGENT_CLEANSDoes this reagent clean things?
REAGENT_IGNORE_MOB_SIZEUses a fixed metabolization rate that isn't reliant on mob size
REACTION_INSTANTUsed to create instant reactions
REACTION_HEAT_ARBITARYUsed to force reactions to create a specific amount of heat per 1u created. So if thermic_constant = 5, for 1u of reagent produced, the heat will be forced up arbitarily by 5 irresepective of other reagents. If you use this, keep in mind standard thermic_constant values are 100x what it should be with this enabled.
REACTION_COMPETITIVEUsed to bypass the chem_master transfer block (This is needed for competitive reactions unless you have an end state programmed). More stuff might be added later. When defining this, please add in the comments the associated reactions that it competes with
REACTION_REAL_TIME_SPLITIf a reaction will generate it's impure/inverse reagents in the middle of a reaction, as apposed to being determined on ingestion/on reaction completion
NO_OVERHEATUsed for overheat_temp - This sets the overheat so high it effectively has no overheat temperature.
END_REACTIONUsed to force an equlibrium to end a reaction in reaction_step() (i.e. in a reaction_step() proc return END_REACTION to end it)
MIN_ADDICTION_REAGENT_AMOUNTMinimum requirement for addiction buzz to be met. Addiction code only checks this once every two seconds, so this should generally be low
MIN_NICOTINE_ADDICTION_REAGENT_AMOUNTNicotine requires much less in your system to be happy
WITHDRAWAL_STAGE1_START_CYCLEAddiction start/ends
WATER_MATTERSTATE_CHANGE_TEMPThis is the center of a 1 degree deadband in which water will neither freeze to ice nor melt to liquid
GRENADE_EMPTYGrenade is empty
GRENADE_WIREDGrenade has a activation trigger
GRENADE_READYGrenade is ready to be finished

Define Details

+

CHEMICAL_MAXIMUM_TEMPERATURE + + +

+

The maximum temperature a reagent holder can attain

CHEMICAL_NORMAL_PH + + +

+

Default pH for reagents datum

CHEMICAL_QUANTISATION_LEVEL + + +

+

stops floating point errors causing issues with checking reagent amounts

CHEMICAL_VOLUME_MINIMUM + + +

+

The smallest amount of volume allowed - prevents tiny numbers

DEFAULT_REAGENT_TEMPERATURE + + +

+

the default temperature at which chemicals are added to reagent holders at

END_REACTION + + +

+

Used to force an equlibrium to end a reaction in reaction_step() (i.e. in a reaction_step() proc return END_REACTION to end it)

GRENADE_EMPTY + + +

+

Grenade is empty

GRENADE_READY + + +

+

Grenade is ready to be finished

GRENADE_WIRED + + +

+

Grenade has a activation trigger

INGEST + + +

+

When you be eating da reagent

INJECT + + +

+

Direct into the blood stream

MIN_ADDICTION_REAGENT_AMOUNT + + +

+

Minimum requirement for addiction buzz to be met. Addiction code only checks this once every two seconds, so this should generally be low

MIN_NICOTINE_ADDICTION_REAGENT_AMOUNT + + +

+

Nicotine requires much less in your system to be happy

NO_OVERHEAT + + +

+

Used for overheat_temp - This sets the overheat so high it effectively has no overheat temperature.

REACTION_COMPETITIVE + + +

+

Used to bypass the chem_master transfer block (This is needed for competitive reactions unless you have an end state programmed). More stuff might be added later. When defining this, please add in the comments the associated reactions that it competes with

REACTION_HEAT_ARBITARY + + +

+

Used to force reactions to create a specific amount of heat per 1u created. So if thermic_constant = 5, for 1u of reagent produced, the heat will be forced up arbitarily by 5 irresepective of other reagents. If you use this, keep in mind standard thermic_constant values are 100x what it should be with this enabled.

REACTION_INSTANT + + +

+

Used to create instant reactions

REACTION_REAL_TIME_SPLIT + + +

+

If a reaction will generate it's impure/inverse reagents in the middle of a reaction, as apposed to being determined on ingestion/on reaction completion

REAGENT_CLEANS + + +

+

Does this reagent clean things?

REAGENT_DEAD_PROCESS + + +

+

Can process in dead mobs.

REAGENT_DONOTSPLIT + + +

+

Do not split the chem at all during processing - ignores all purity effects

REAGENT_IGNORE_MOB_SIZE + + +

+

Uses a fixed metabolization rate that isn't reliant on mob size

REAGENT_INVISIBLE + + +

+

Doesn't appear on handheld health analyzers.

REAGENT_NO_RANDOM_RECIPE + + +

+

This reagent won't be used in most randomized recipes. Meant for reagents that could be synthetized but are normally inaccessible or TOO hard to get.

REAGENT_SNEAKYNAME + + +

+

When inverted, the inverted chem uses the name of the original chem

REAGENT_SPECIAL + + +

+

Any reagent marked with this cannot be put in random objects like eggs

REAGENT_SPLITRETAINVOL + + +

+

Retains initial volume of chem when splitting for purity effects

REAGENT_STANDARD_PURITY + + +

+

The default purity of all non reacted reagents

SYNTHFLESH_UNHUSK_AMOUNT + + +

+

Amount of synthflesh required to unhusk someone

TOUCH + + +

+

Used for splashing.

UNHUSK_DAMAGE_THRESHOLD + + +

+

Health threshold for synthflesh and rezadone to unhusk someone

VAPOR + + +

+

Used for vapors

WATER_MATTERSTATE_CHANGE_TEMP + + +

+

This is the center of a 1 degree deadband in which water will neither freeze to ice nor melt to liquid

WITHDRAWAL_STAGE1_START_CYCLE + + +

+

Addiction start/ends

+ + + diff --git a/code/__DEFINES/regex.html b/code/__DEFINES/regex.html new file mode 100644 index 000000000000..f87813b43944 --- /dev/null +++ b/code/__DEFINES/regex.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/regex.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/regex.dm + +

+ + +
REGEX_REPLACE_HANDLERUse this for every proc passed in as second argument in regex.Replace. regex.Replace does not allow calling procs by name but as of 515 using proc refs will always call the top level proc instead of overrides

Define Details

+

REGEX_REPLACE_HANDLER + + +

+

Use this for every proc passed in as second argument in regex.Replace. regex.Replace does not allow calling procs by name but as of 515 using proc refs will always call the top level proc instead of overrides

+ + + diff --git a/code/__DEFINES/religion.html b/code/__DEFINES/religion.html new file mode 100644 index 000000000000..453cf87324e5 --- /dev/null +++ b/code/__DEFINES/religion.html @@ -0,0 +1,99 @@ + + + + + + + code/__DEFINES/religion.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/religion.dm + +

+ + + + + + + + + + + + + + + +
HOLY_ROLE_DEACONrole below priests, for losing most powers of priests but still being holy.
HOLY_ROLE_PRIESTdefault priestly role
HOLY_ROLE_HIGHPRIESTthe one who designates the religion
CONDITION_CEREMONIAL_ONLYcan only use the ritual weapons the sparring chaplain makes.
CONDITION_MELEE_ONLYmelee weapon condition, default sparring condition.
CONDITION_ANY_WEAPONany weapon is cool... probably a terrible idea against security
STAKES_NONEmust use weapons the chaplain makes from their sect. no fist fighting, even! it ensures a fair fight. +just for fun
STAKES_HOLY_MATCHstandard stakes, winning gets you a point. losing counts towards standard excommunication.
STAKES_MONEY_MATCHno stakes god wise, but whomever wins gets all the money of the other
STAKES_YOUR_SOULthe winner gets the other's soul. you said this was a neutral sect, right?
CONTRACT_LEFT_FIELDthe left signing part of the contract
PUNISHMENT_OMENcurses the sinner
PUNISHMENT_LIGHTNINGsmites the sinner
PUNISHMENT_BRANDbrands the sinner

Define Details

+

CONDITION_ANY_WEAPON + + +

+

any weapon is cool... probably a terrible idea against security

CONDITION_CEREMONIAL_ONLY + + +

+

can only use the ritual weapons the sparring chaplain makes.

CONDITION_MELEE_ONLY + + +

+

melee weapon condition, default sparring condition.

CONTRACT_LEFT_FIELD + + +

+

the left signing part of the contract

HOLY_ROLE_DEACON + + +

+

role below priests, for losing most powers of priests but still being holy.

HOLY_ROLE_HIGHPRIEST + + +

+

the one who designates the religion

HOLY_ROLE_PRIEST + + +

+

default priestly role

PUNISHMENT_BRAND + + +

+

brands the sinner

PUNISHMENT_LIGHTNING + + +

+

smites the sinner

PUNISHMENT_OMEN + + +

+

curses the sinner

STAKES_HOLY_MATCH + + +

+

standard stakes, winning gets you a point. losing counts towards standard excommunication.

STAKES_MONEY_MATCH + + +

+

no stakes god wise, but whomever wins gets all the money of the other

STAKES_NONE + + +

+

must use weapons the chaplain makes from their sect. no fist fighting, even! it ensures a fair fight. +just for fun

STAKES_YOUR_SOUL + + +

+

the winner gets the other's soul. you said this was a neutral sect, right?

+ + + diff --git a/code/__DEFINES/research.html b/code/__DEFINES/research.html new file mode 100644 index 000000000000..ec4386e8274a --- /dev/null +++ b/code/__DEFINES/research.html @@ -0,0 +1,44 @@ + + + + + + + code/__DEFINES/research.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/research.dm + +

+ + + + + +

Defines for the Protolathe screens, see: /obj/machinery/rnd/production/fabricator

+

Department flags for designs. Defines which depfab can print what at roundstart

DESIGN_ID_IGNOREFor instances where we don't want a design showing up due to it being for debug/sanity purposes

Swab cell line types

+

Biopsy cell line types

+

All cell virus types

+

General defines for vatgrowing

+
VATGROWING_DANGER_MINIMUMPast how much growth can the other cell_lines affect a finished cell line negatively

Define Details

+

DESIGN_ID_IGNORE + + +

+

For instances where we don't want a design showing up due to it being for debug/sanity purposes

VATGROWING_DANGER_MINIMUM + + +

+

Past how much growth can the other cell_lines affect a finished cell line negatively

+ + + diff --git a/code/__DEFINES/research/anomalies.html b/code/__DEFINES/research/anomalies.html new file mode 100644 index 000000000000..dfeb347013d7 --- /dev/null +++ b/code/__DEFINES/research/anomalies.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/research/anomalies.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/research/anomalies.dm + +

+ + + + + + +
ANOMALY_CORE_BLUESPACEBluespace cores
ANOMALY_CORE_GRAVITATIONALGravitational cores
ANOMALY_CORE_FLUXFlux
ANOMALY_CORE_VORTEXVortex
ANOMALY_CORE_PYROPyro

Define Details

+

ANOMALY_CORE_BLUESPACE + + +

+

Bluespace cores

ANOMALY_CORE_FLUX + + +

+

Flux

ANOMALY_CORE_GRAVITATIONAL + + +

+

Gravitational cores

ANOMALY_CORE_PYRO + + +

+

Pyro

ANOMALY_CORE_VORTEX + + +

+

Vortex

+ + + diff --git a/code/__DEFINES/robots.html b/code/__DEFINES/robots.html new file mode 100644 index 000000000000..f6040204c97a --- /dev/null +++ b/code/__DEFINES/robots.html @@ -0,0 +1,359 @@ + + + + + + + code/__DEFINES/robots.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/robots.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DEFAULT_AI_LAWIDAI defines
AI_NOTIFICATION_NEW_BORGAlert when a new Cyborg is created.
AI_NOTIFICATION_NEW_MODELAlert when a Cyborg selects a model.
AI_NOTIFICATION_CYBORG_RENAMEDAlert when a Cyborg changes their name.
AI_NOTIFICATION_AI_SHELLAlert when an AI disconnects themselves from their shell.
AI_NOTIFICATION_CYBORG_DISCONNECTEDAlert when a Cyborg gets disconnected from their AI.
AI_TRANS_TO_CARDDownloading AI to InteliCard
AI_TRANS_FROM_CARDUploading AI from InteliCard
AI_MECH_HACKMalfunctioning AI hijacking mecha
BORG_LAMP_CD_RESETCyborg defines +Special value to reset cyborg's lamp_cooldown
BORG_MODULE_THREE_DISABLEDThe third module slots is disabed.
BORG_MODULE_TWO_DISABLEDThe second module slots is disabed.
BORG_MODULE_ALL_DISABLEDAll modules slots are disabled.
BORG_CHOOSE_MODULE_ONEFirst Borg module slot.
BORG_CHOOSE_MODULE_TWOSecond Borg module slot.
BORG_CHOOSE_MODULE_THREEThird Borg module slot.
ASSEMBLY_FIRST_STEPSimple Animal BOT defines
BOT_STEP_DELAYDelay between movemements
BOT_STEP_MAX_RETRIESMaximum times a bot will retry to step from its position
DEFAULT_SCAN_RANGEDefault view range for finding targets.
BOT_MODE_ONThe Bot is currently active, and will do whatever it is programmed to do.
BOT_MODE_AUTOPATROLThe Bot is currently set to automatically patrol the station.
BOT_MODE_REMOTE_ENABLEDThe Bot is currently allowed to be remote controlled by Silicon.
BOT_MODE_PAI_CONTROLLABLEThe Bot is allowed to have a pAI placed in control of it.
BOT_COVER_OPENThe Bot's cover is open and can be modified/emagged by anyone.
BOT_COVER_LOCKEDThe Bot's cover is locked, and cannot be opened without unlocking it.
BOT_COVER_EMAGGEDThe Bot is emagged.
BOT_COVER_HACKEDThe Bot has been hacked by a Silicon, emagging them, but revertable.
SEC_BOTSecutritrons (Beepsky)
ADVANCED_SEC_BOTED-209s
MULE_BOTMULEbots
FLOOR_BOTFloorbots
CLEAN_BOTCleanbots
MED_BOTMedibots
HONK_BOTHonkbots & ED-Honks
FIRE_BOTFirebots
HYGIENE_BOTHygienebots
VIBE_BOTVibe bots
BOT_IDLEIdle
BOT_HUNTFound target, hunting
BOT_TIPPEDCurrently tipped over.
BOT_START_PATROLStart patrol
BOT_PATROLPatrolling
BOT_SUMMONSummoned to a location
BOT_RESPONDINGResponding to a call from the AI
BOT_MOVINGCurrently moving
BOT_PREP_ARRESTSecbot - At target, preparing to arrest
BOT_ARRESTSecbot - Arresting target
BOT_CLEANINGCleanbot - Cleaning
BOT_SHOWERSTANCEHygienebot - Cleaning unhygienic humans
BOT_REPAIRINGFloorbots - Repairing hull breaches
BOT_HEALINGMedibots - Healing people
BOT_DELIVERMULEbot - Moving to deliver
BOT_GO_HOMEMULEbot - Returning to home
BOT_BLOCKEDMULEbot - Blocked
BOT_NAVMULEbot - Computing navigation
BOT_WAIT_FOR_NAVMULEbot - Waiting for nav computation
BOT_NO_ROUTEMULEbot - No destination beacon found (or no route)
SECBOT_DECLARE_ARRESTSWhether arrests should be broadcasted over the Security radio
SECBOT_CHECK_IDSWill arrest people who lack an ID card
SECBOT_CHECK_WEAPONSWill check for weapons, taking Weapons access into account
SECBOT_CHECK_RECORDSWill check Security record on whether to arrest
SECBOT_HANDCUFF_TARGETWhether we will stun & cuff or endlessly stun
MEDBOT_DECLARE_CRITWhether to declare if someone (we are healing) is in critical condition
MEDBOT_STATIONARY_MODEIf the bot will stand still, only healing those next to it.
MEDBOT_SPEAK_MODEWhether the bot will randomly speak from time to time. This will not actually prevent all speech.

Define Details

+

ADVANCED_SEC_BOT + + +

+

ED-209s

AI_MECH_HACK + + +

+

Malfunctioning AI hijacking mecha

AI_NOTIFICATION_AI_SHELL + + +

+

Alert when an AI disconnects themselves from their shell.

AI_NOTIFICATION_CYBORG_DISCONNECTED + + +

+

Alert when a Cyborg gets disconnected from their AI.

AI_NOTIFICATION_CYBORG_RENAMED + + +

+

Alert when a Cyborg changes their name.

AI_NOTIFICATION_NEW_BORG + + +

+

Alert when a new Cyborg is created.

AI_NOTIFICATION_NEW_MODEL + + +

+

Alert when a Cyborg selects a model.

AI_TRANS_FROM_CARD + + +

+

Uploading AI from InteliCard

AI_TRANS_TO_CARD + + +

+

Downloading AI to InteliCard

ASSEMBLY_FIRST_STEP + + +

+

Simple Animal BOT defines

BORG_CHOOSE_MODULE_ONE + + +

+

First Borg module slot.

BORG_CHOOSE_MODULE_THREE + + +

+

Third Borg module slot.

BORG_CHOOSE_MODULE_TWO + + +

+

Second Borg module slot.

BORG_LAMP_CD_RESET + + +

+

Cyborg defines +Special value to reset cyborg's lamp_cooldown

BORG_MODULE_ALL_DISABLED + + +

+

All modules slots are disabled.

BORG_MODULE_THREE_DISABLED + + +

+

The third module slots is disabed.

BORG_MODULE_TWO_DISABLED + + +

+

The second module slots is disabed.

BOT_ARREST + + +

+

Secbot - Arresting target

BOT_BLOCKED + + +

+

MULEbot - Blocked

BOT_CLEANING + + +

+

Cleanbot - Cleaning

BOT_COVER_EMAGGED + + +

+

The Bot is emagged.

BOT_COVER_HACKED + + +

+

The Bot has been hacked by a Silicon, emagging them, but revertable.

BOT_COVER_LOCKED + + +

+

The Bot's cover is locked, and cannot be opened without unlocking it.

BOT_COVER_OPEN + + +

+

The Bot's cover is open and can be modified/emagged by anyone.

BOT_DELIVER + + +

+

MULEbot - Moving to deliver

BOT_GO_HOME + + +

+

MULEbot - Returning to home

BOT_HEALING + + +

+

Medibots - Healing people

BOT_HUNT + + +

+

Found target, hunting

BOT_IDLE + + +

+

Idle

BOT_MODE_AUTOPATROL + + +

+

The Bot is currently set to automatically patrol the station.

BOT_MODE_ON + + +

+

The Bot is currently active, and will do whatever it is programmed to do.

BOT_MODE_PAI_CONTROLLABLE + + +

+

The Bot is allowed to have a pAI placed in control of it.

BOT_MODE_REMOTE_ENABLED + + +

+

The Bot is currently allowed to be remote controlled by Silicon.

BOT_MOVING + + +

+

Currently moving

BOT_NAV + + +

+

MULEbot - Computing navigation

BOT_NO_ROUTE + + +

+

MULEbot - No destination beacon found (or no route)

BOT_PATROL + + +

+

Patrolling

BOT_PREP_ARREST + + +

+

Secbot - At target, preparing to arrest

BOT_REPAIRING + + +

+

Floorbots - Repairing hull breaches

BOT_RESPONDING + + +

+

Responding to a call from the AI

BOT_SHOWERSTANCE + + +

+

Hygienebot - Cleaning unhygienic humans

BOT_START_PATROL + + +

+

Start patrol

BOT_STEP_DELAY + + +

+

Delay between movemements

BOT_STEP_MAX_RETRIES + + +

+

Maximum times a bot will retry to step from its position

BOT_SUMMON + + +

+

Summoned to a location

BOT_TIPPED + + +

+

Currently tipped over.

BOT_WAIT_FOR_NAV + + +

+

MULEbot - Waiting for nav computation

CLEAN_BOT + + +

+

Cleanbots

DEFAULT_AI_LAWID + + +

+

AI defines

DEFAULT_SCAN_RANGE + + +

+

Default view range for finding targets.

FIRE_BOT + + +

+

Firebots

FLOOR_BOT + + +

+

Floorbots

HONK_BOT + + +

+

Honkbots & ED-Honks

HYGIENE_BOT + + +

+

Hygienebots

MEDBOT_DECLARE_CRIT + + +

+

Whether to declare if someone (we are healing) is in critical condition

MEDBOT_SPEAK_MODE + + +

+

Whether the bot will randomly speak from time to time. This will not actually prevent all speech.

MEDBOT_STATIONARY_MODE + + +

+

If the bot will stand still, only healing those next to it.

MED_BOT + + +

+

Medibots

MULE_BOT + + +

+

MULEbots

SECBOT_CHECK_IDS + + +

+

Will arrest people who lack an ID card

SECBOT_CHECK_RECORDS + + +

+

Will check Security record on whether to arrest

SECBOT_CHECK_WEAPONS + + +

+

Will check for weapons, taking Weapons access into account

SECBOT_DECLARE_ARRESTS + + +

+

Whether arrests should be broadcasted over the Security radio

SECBOT_HANDCUFF_TARGET + + +

+

Whether we will stun & cuff or endlessly stun

SEC_BOT + + +

+

Secutritrons (Beepsky)

VIBE_BOT + + +

+

Vibe bots

+ + + diff --git a/code/__DEFINES/roundend.html b/code/__DEFINES/roundend.html new file mode 100644 index 000000000000..545b12fbb550 --- /dev/null +++ b/code/__DEFINES/roundend.html @@ -0,0 +1,132 @@ + + + + + + + code/__DEFINES/roundend.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/roundend.dm + +

+ + + + + + + + + + + + + + + + + + + + + + +
NUKE_NEAR_MISSNuke was detonated in space on same z-level as station
NUKE_MISS_STATIONNuke was detonated on another z-level
NUKE_SYNDICATE_BASENuke was detonated on the syndicate base
STATION_DESTROYED_NUKENuke was detonated on the station
STATION_EVACUATEDThe emergency shuttle arrived and evacuated the crew
BLOB_WINThe blob has reached critical mass and overtaken the station
BLOB_NUKEThe station's nuke was detonated destroying the blob
BLOB_DESTROYEDThe blob was destroyed by the crew
CULT_ESCAPEThe cult managed to escape alive on the shuttle
CULT_FAILUREThe cult was destroyed by the crew
CULT_SUMMONThe cult was able to summon Nar-Sie
NUKE_MISSThe nuke was detonated on another station?
OPERATIVES_KILLEDThe nuclear operatives were killed by the crew
OPERATIVE_SKIRMISHThe nuclear operatives forced the crew to evacuate without securing the disk
REVS_WINThe revolution successfully killed or exiled all the station heads of staff
REVS_LOSEThe revolution failed and all the head revs were killed or exiled
WIZARD_KILLEDThe wizard was killed by the crew
STATION_NUKEDThe station was destroyed by it's own self-destruct nuclear device
SHUTTLE_HIJACKThe emergency shuttle was successfully hijacked
GANG_DESTROYEDThe gangs on the station were thwarted
GANG_OPERATINGThe gangs on the station still exist

Define Details

+

BLOB_DESTROYED + + +

+

The blob was destroyed by the crew

BLOB_NUKE + + +

+

The station's nuke was detonated destroying the blob

BLOB_WIN + + +

+

The blob has reached critical mass and overtaken the station

CULT_ESCAPE + + +

+

The cult managed to escape alive on the shuttle

CULT_FAILURE + + +

+

The cult was destroyed by the crew

CULT_SUMMON + + +

+

The cult was able to summon Nar-Sie

GANG_DESTROYED + + +

+

The gangs on the station were thwarted

GANG_OPERATING + + +

+

The gangs on the station still exist

NUKE_MISS + + +

+

The nuke was detonated on another station?

NUKE_MISS_STATION + + +

+

Nuke was detonated on another z-level

NUKE_NEAR_MISS + + +

+

Nuke was detonated in space on same z-level as station

NUKE_SYNDICATE_BASE + + +

+

Nuke was detonated on the syndicate base

OPERATIVES_KILLED + + +

+

The nuclear operatives were killed by the crew

OPERATIVE_SKIRMISH + + +

+

The nuclear operatives forced the crew to evacuate without securing the disk

REVS_LOSE + + +

+

The revolution failed and all the head revs were killed or exiled

REVS_WIN + + +

+

The revolution successfully killed or exiled all the station heads of staff

SHUTTLE_HIJACK + + +

+

The emergency shuttle was successfully hijacked

STATION_DESTROYED_NUKE + + +

+

Nuke was detonated on the station

STATION_EVACUATED + + +

+

The emergency shuttle arrived and evacuated the crew

STATION_NUKED + + +

+

The station was destroyed by it's own self-destruct nuclear device

WIZARD_KILLED + + +

+

The wizard was killed by the crew

+ + + diff --git a/code/__DEFINES/rust_g.html b/code/__DEFINES/rust_g.html new file mode 100644 index 000000000000..bb962a4582b3 --- /dev/null +++ b/code/__DEFINES/rust_g.html @@ -0,0 +1,118 @@ + + + + + + + code/__DEFINES/rust_g.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/rust_g.dm + +

+ + + + + + + + + + + + + +
/proc/rustg_get_versionGets the version of rust_g
rustg_setup_acreplaceSets up the Aho-Corasick automaton with its default options.
rustg_setup_acreplace_with_optionsSets up the Aho-Corasick automaton using supplied options.
rustg_acreplaceRun the specified replacement engine with the provided haystack text to replace, returning replaced text.
rustg_acreplace_with_replacementsRun the specified replacement engine with the provided haystack text to replace, returning replaced text.
rustg_cnoise_generateThis proc generates a cellular automata noise grid which can be used in procedural generation methods.
rustg_dmi_icon_statesinput: must be a path, not an /icon; you have to do your own handling if it is one, as icon objects can't be directly passed to rustg.
rustg_git_revparseReturns the git hash of the given revision, ex. "HEAD".
rustg_git_commit_dateReturns the date of the given revision in the format YYYY-MM-DD. +Returns null if the revision is invalid.
/proc/rustg_unix_timestampReturns the timestamp as a string

Define Details

+

rustg_acreplace + + + +

+

Run the specified replacement engine with the provided haystack text to replace, returning replaced text.

+

Arguments:

+

rustg_acreplace_with_replacements + + + +

+

Run the specified replacement engine with the provided haystack text to replace, returning replaced text.

+

Arguments:

+

rustg_cnoise_generate + + + +

+

This proc generates a cellular automata noise grid which can be used in procedural generation methods.

+

Returns a single string that goes row by row, with values of 1 representing an alive cell, and a value of 0 representing a dead cell.

+

Arguments:

+

rustg_dmi_icon_states + + + +

+

input: must be a path, not an /icon; you have to do your own handling if it is one, as icon objects can't be directly passed to rustg.

+

output: json_encode'd list. json_decode to get a flat list with icon states in the order they're in inside the .dmi

rustg_git_commit_date + + + +

+

Returns the date of the given revision in the format YYYY-MM-DD. +Returns null if the revision is invalid.

rustg_git_revparse + + + +

+

Returns the git hash of the given revision, ex. "HEAD".

rustg_setup_acreplace + + + +

+

Sets up the Aho-Corasick automaton with its default options.

+

The search patterns list and the replacements must be of the same length when replace is run, but an empty replacements list is allowed if replacements are supplied with the replace call +Arguments:

+

rustg_setup_acreplace_with_options + + + +

+

Sets up the Aho-Corasick automaton using supplied options.

+

The search patterns list and the replacements must be of the same length when replace is run, but an empty replacements list is allowed if replacements are supplied with the replace call +Arguments:

+
+ + + diff --git a/code/__DEFINES/say.html b/code/__DEFINES/say.html new file mode 100644 index 000000000000..3cd93c08e395 --- /dev/null +++ b/code/__DEFINES/say.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/say.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/say.dm + +

+ + + + + +
MESSAGE_RANGERange to hear normal messages
WHISPER_RANGERange to hear whispers normally
EAVESDROP_EXTRA_RANGEAdditional range to partially hear whispers
MODE_RANGE_INTERCOMHow close intercoms can be for radio code use

Define Details

+

EAVESDROP_EXTRA_RANGE + + +

+

Additional range to partially hear whispers

MESSAGE_RANGE + + +

+

Range to hear normal messages

MODE_RANGE_INTERCOM + + +

+

How close intercoms can be for radio code use

WHISPER_RANGE + + +

+

Range to hear whispers normally

+ + + diff --git a/code/__DEFINES/screentips.html b/code/__DEFINES/screentips.html new file mode 100644 index 000000000000..79d5512ea259 --- /dev/null +++ b/code/__DEFINES/screentips.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/screentips.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/screentips.dm + +

+ + + + + + + + + + +
SCREENTIP_CONTEXT_LMBContext applied to LMB actions
SCREENTIP_CONTEXT_RMBContext applied to RMB actions
SCREENTIP_CONTEXT_SHIFT_LMBContext applied to Shift-LMB actions
SCREENTIP_CONTEXT_CTRL_LMBContext applied to Ctrl-LMB actions
SCREENTIP_CONTEXT_ALT_LMBContext applied to Alt-LMB actions
SCREENTIP_CONTEXT_CTRL_SHIFT_LMBContext applied to Ctrl-Shift-LMB actions
SCREENTIP_PREFERENCE_DISABLEDScreentips are always disabled
SCREENTIP_PREFERENCE_ENABLEDScreentips are always enabled
SCREENTIP_PREFERENCE_CONTEXT_ONLYScreentips are only enabled when they have context

Define Details

+

SCREENTIP_CONTEXT_ALT_LMB + + +

+

Context applied to Alt-LMB actions

SCREENTIP_CONTEXT_CTRL_LMB + + +

+

Context applied to Ctrl-LMB actions

SCREENTIP_CONTEXT_CTRL_SHIFT_LMB + + +

+

Context applied to Ctrl-Shift-LMB actions

SCREENTIP_CONTEXT_LMB + + +

+

Context applied to LMB actions

SCREENTIP_CONTEXT_RMB + + +

+

Context applied to RMB actions

SCREENTIP_CONTEXT_SHIFT_LMB + + +

+

Context applied to Shift-LMB actions

SCREENTIP_PREFERENCE_CONTEXT_ONLY + + +

+

Screentips are only enabled when they have context

SCREENTIP_PREFERENCE_DISABLED + + +

+

Screentips are always disabled

SCREENTIP_PREFERENCE_ENABLED + + +

+

Screentips are always enabled

+ + + diff --git a/code/__DEFINES/song.html b/code/__DEFINES/song.html new file mode 100644 index 000000000000..81ac228279b3 --- /dev/null +++ b/code/__DEFINES/song.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/song.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/song.dm + +

+ + + + +
STOP_PLAYINGWhen the song should stop being played
IGNORE_INSTRUMENT_CHECKSWill ignore the instrument checks and play the song anyway.
MONKEY_SONGit's what monkeys play!

Define Details

+

IGNORE_INSTRUMENT_CHECKS + + +

+

Will ignore the instrument checks and play the song anyway.

MONKEY_SONG + + +

+

it's what monkeys play!

STOP_PLAYING + + +

+

When the song should stop being played

+ + + diff --git a/code/__DEFINES/sound.html b/code/__DEFINES/sound.html new file mode 100644 index 000000000000..e589c8c959d3 --- /dev/null +++ b/code/__DEFINES/sound.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/sound.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/sound.dm + +

+ + + + + + + + +
SOUND_RANGEDefault range of a sound.
SHORT_RANGE_SOUND_EXTRARANGEdefault extra range for sounds considered to be quieter
SILENCED_SOUND_EXTRARANGEThe range deducted from sound range for things that are considered silent / sneaky
SOUND_DEFAULT_FALLOFF_DISTANCEPercentage of sound's range where no falloff is applied
SOUND_FALLOFF_EXPONENTThe default exponent of sound falloff
ANNOUNCER_AIMALFAnnouncer audio keys
SFX_BODYFALLList of all of our sound keys.

Define Details

+

ANNOUNCER_AIMALF + + +

+

Announcer audio keys

SFX_BODYFALL + + +

+

List of all of our sound keys.

SHORT_RANGE_SOUND_EXTRARANGE + + +

+

default extra range for sounds considered to be quieter

SILENCED_SOUND_EXTRARANGE + + +

+

The range deducted from sound range for things that are considered silent / sneaky

SOUND_DEFAULT_FALLOFF_DISTANCE + + +

+

Percentage of sound's range where no falloff is applied

SOUND_FALLOFF_EXPONENT + + +

+

The default exponent of sound falloff

SOUND_RANGE + + +

+

Default range of a sound.

+ + + diff --git a/code/__DEFINES/space.html b/code/__DEFINES/space.html new file mode 100644 index 000000000000..152b50e4496e --- /dev/null +++ b/code/__DEFINES/space.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/space.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/space.dm + +

+ + +
SPACE_ICON_STATEThe icon_state for space. There is 25 total icon states that vary based on the x/y/z position of the turf

Define Details

+

SPACE_ICON_STATE + + + +

+

The icon_state for space. There is 25 total icon states that vary based on the x/y/z position of the turf

+ + + diff --git a/code/__DEFINES/spatial_gridmap.html b/code/__DEFINES/spatial_gridmap.html new file mode 100644 index 000000000000..87bd2ac3b180 --- /dev/null +++ b/code/__DEFINES/spatial_gridmap.html @@ -0,0 +1,89 @@ + + + + + + + code/__DEFINES/spatial_gridmap.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/spatial_gridmap.dm + +

+ + + + + + + + + + + + +
SPATIAL_GRID_CELLSIZEeach cell in a spatial_grid is this many turfs in length and width (with world.max(x or y) being 255, 15 of these fit on each side of a z level)
GET_SPATIAL_INDEXTakes a coordinate, and spits out the spatial grid index (x or y) it's inside
GRID_INDEX_TO_COORDSchanges the cell_(x or y) vars on /datum/spatial_grid_cell to the x or y coordinate on the map for the LOWER LEFT CORNER of the grid cell. +index is from 1 to SPATIAL_GRID_CELLS_PER_SIDE
SPATIAL_GRID_CELLS_PER_SIDEnumber of grid cells per x or y side of all z levels. pass in world.maxx or world.maxy
SPATIAL_GRID_CONTENTS_TYPE_HEARINGeverything that is hearing sensitive is stored in this channel
SPATIAL_GRID_CONTENTS_TYPE_CLIENTSevery movable that has a client in it is stored in this channel
SPATIAL_GRID_CONTENTS_TYPE_RADIO_NONATMOSobjects listening to radio channels besides FREQ_ATMOS_CONTROL(Atmospheric gets it's own due to being thicc)
SPATIAL_GRID_CONTENTS_TYPE_RADIO_ATMOSobjects listening to radio channel FREQ_ATMOS_CONTROL. There's a lot. That's why they get their own bucket.
SPATIAL_GRID_CONTENTS_TYPE_ATMOSall atmos machines are stored in this channel (I'm sorry kyler)
HAS_SPATIAL_GRID_CONTENTSwhether movable is itself or containing something which should be in one of the spatial grid channels.
GRID_CELL_REMOVE_ALLremove from every list

Define Details

+

GET_SPATIAL_INDEX + + + +

+

Takes a coordinate, and spits out the spatial grid index (x or y) it's inside

GRID_CELL_REMOVE_ALL + + + +

+

remove from every list

GRID_INDEX_TO_COORDS + + + +

+

changes the cell_(x or y) vars on /datum/spatial_grid_cell to the x or y coordinate on the map for the LOWER LEFT CORNER of the grid cell. +index is from 1 to SPATIAL_GRID_CELLS_PER_SIDE

HAS_SPATIAL_GRID_CONTENTS + + + +

+

whether movable is itself or containing something which should be in one of the spatial grid channels.

SPATIAL_GRID_CELLSIZE + + +

+

each cell in a spatial_grid is this many turfs in length and width (with world.max(x or y) being 255, 15 of these fit on each side of a z level)

SPATIAL_GRID_CELLS_PER_SIDE + + + +

+

number of grid cells per x or y side of all z levels. pass in world.maxx or world.maxy

SPATIAL_GRID_CONTENTS_TYPE_ATMOS + + +

+

all atmos machines are stored in this channel (I'm sorry kyler)

SPATIAL_GRID_CONTENTS_TYPE_CLIENTS + + +

+

every movable that has a client in it is stored in this channel

SPATIAL_GRID_CONTENTS_TYPE_HEARING + + +

+

everything that is hearing sensitive is stored in this channel

SPATIAL_GRID_CONTENTS_TYPE_RADIO_ATMOS + + +

+

objects listening to radio channel FREQ_ATMOS_CONTROL. There's a lot. That's why they get their own bucket.

SPATIAL_GRID_CONTENTS_TYPE_RADIO_NONATMOS + + +

+

objects listening to radio channels besides FREQ_ATMOS_CONTROL(Atmospheric gets it's own due to being thicc)

+ + + diff --git a/code/__DEFINES/species_clothing_paths.html b/code/__DEFINES/species_clothing_paths.html new file mode 100644 index 000000000000..e4c11debc38a --- /dev/null +++ b/code/__DEFINES/species_clothing_paths.html @@ -0,0 +1,117 @@ + + + + + + + code/__DEFINES/species_clothing_paths.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/species_clothing_paths.dm + +

+ + + + + + + + + + + + + + + + + + + +
DEFAULT_UNIFORM_FILEThe dmi for humanoid uniforms
DEFAULT_SHOES_FILEThe dmi for humanoid shoes
DEFAULT_SUIT_FILEThe dmi for humanoid oversuits
DIGITIGRADE_UNIFORM_FILEThe dmi containing digitigrade uniforms
DIGITIGRADE_SHOES_FILEThe dmi containing digitigrade shoes
DIGITIGRADE_SUIT_FILEThe dmi containing digitigrade oversuits
SNOUTED_MASK_FILEThe dmi containing snouted variation masks
TESHARI_BACK_FILEThe dmi containing Teshari backpack sprites
TESHARI_BELT_FILEThe dmi containing Teshari belt sprites
TESHARI_EARS_FILEThe dmi containing Teshari ear slot sprites
TESHARI_EYES_FILEThe dmi containing Teshari eye slot sprites
TESHARI_GLOVES_FILEThe dmi containing Teshari glove sprites
TESHARI_HEAD_FILEThe dmi containing Teshari hat sprites
TESHARI_MASK_FILEThe dmi containing Teshari mask sprites
TESHARI_NECK_FILEThe dmi containing Teshari neck slot sprites
TESHARI_SHOES_FILEThe dmi containing Teshari shoe sprites
TESHARI_SUIT_FILEThe dmi containing Teshari oversuit sprites
TESHARI_UNIFORM_FILEThe dmi containing Teshari uniform sprites

Define Details

+

DEFAULT_SHOES_FILE + + +

+

The dmi for humanoid shoes

DEFAULT_SUIT_FILE + + +

+

The dmi for humanoid oversuits

DEFAULT_UNIFORM_FILE + + +

+

The dmi for humanoid uniforms

DIGITIGRADE_SHOES_FILE + + +

+

The dmi containing digitigrade shoes

DIGITIGRADE_SUIT_FILE + + +

+

The dmi containing digitigrade oversuits

DIGITIGRADE_UNIFORM_FILE + + +

+

The dmi containing digitigrade uniforms

SNOUTED_MASK_FILE + + +

+

The dmi containing snouted variation masks

TESHARI_BACK_FILE + + +

+

The dmi containing Teshari backpack sprites

TESHARI_BELT_FILE + + +

+

The dmi containing Teshari belt sprites

TESHARI_EARS_FILE + + +

+

The dmi containing Teshari ear slot sprites

TESHARI_EYES_FILE + + +

+

The dmi containing Teshari eye slot sprites

TESHARI_GLOVES_FILE + + +

+

The dmi containing Teshari glove sprites

TESHARI_HEAD_FILE + + +

+

The dmi containing Teshari hat sprites

TESHARI_MASK_FILE + + +

+

The dmi containing Teshari mask sprites

TESHARI_NECK_FILE + + +

+

The dmi containing Teshari neck slot sprites

TESHARI_SHOES_FILE + + +

+

The dmi containing Teshari shoe sprites

TESHARI_SUIT_FILE + + +

+

The dmi containing Teshari oversuit sprites

TESHARI_UNIFORM_FILE + + +

+

The dmi containing Teshari uniform sprites

+ + + diff --git a/code/__DEFINES/stamina.html b/code/__DEFINES/stamina.html new file mode 100644 index 000000000000..e61d1f6601fa --- /dev/null +++ b/code/__DEFINES/stamina.html @@ -0,0 +1,151 @@ + + + + + + + code/__DEFINES/stamina.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/stamina.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
STAMINA_CRIT_TIMETime before regen starts when in stam crit
STAMINA_REGEN_TIMETime before regen starts when hit with stam damage
STAMINA_REGENThe amount of stamina a carbon recovers every 2 seconds
STAMINA_MAXSTATS
STAMINA_EXHAUSTION_THRESHOLD_MODIFIERCarbons enter Exhaustion when their stamina drops below this percentage
STAMINA_EXHAUSTION_RECOVERY_THRESHOLD_MODIFIERCarbons will recover from Exhaustion above this point
STAMINA_EXHAUSTION_MOVESPEED_SLOWDOWNThe slowdown when a mob is exhausted
STAMINA_STUN_THRESHOLD_MODIFIERCarbons will be exposed to stamina stuns upon dropping below this percentage
STAMINA_SWING_COST_ITEMCOMBAT
STAMINA_DAMAGE_ITEMThe default stamina damage of an item
STAMINA_DAMAGE_UNARMEDThe default stamina damage of unarmed attacks
STAMINA_SWING_COST_UNARMEDThe default stamina consumption of unarmed attacks
STAMINA_CRITICAL_RATE_ITEMThe default critical hit chance of an item
STAMINA_CRITICAL_MODIFIERThe multiplier applied to damage on a critical
STAMINA_MAXIMUM_TO_SWINGThe amount of stamina at which point swinging is free.
STAMINA_STUN_TIMEThe time a mob is stunned when stamina stunned
STAMINA_SCALING_STUN_BASEThe base value of a stamina stun chance
STAMINA_SCALING_STUN_SCALERThe maximum additional stun chance based on missing stamina
STAMINA_DISARM_COSTDISARM
STAMINA_DISARM_DMGThe amount of stamina damage dealt on disarm by default.
STAMINA_SUSTAINED_RUN_GRACESPRINTING
STAMINA_SUSTAINED_SPRINT_THRESHOLDThe amount of tiles you need to move to be considered moving in a sustained sprint
STAMINA_MIN2SPRINT_MODIFERThe amount of stamina required to sprint
STAMINA_SPRINT_COSTHow much stamina is taken per tile while sprinting

Define Details

+

STAMINA_CRITICAL_MODIFIER + + +

+

The multiplier applied to damage on a critical

STAMINA_CRITICAL_RATE_ITEM + + +

+

The default critical hit chance of an item

STAMINA_CRIT_TIME + + +

+

Time before regen starts when in stam crit

STAMINA_DAMAGE_ITEM + + +

+

The default stamina damage of an item

STAMINA_DAMAGE_UNARMED + + +

+

The default stamina damage of unarmed attacks

STAMINA_DISARM_COST + + +

+

DISARM

+

How much stamina it costs to Disarm/Shove

STAMINA_DISARM_DMG + + +

+

The amount of stamina damage dealt on disarm by default.

STAMINA_EXHAUSTION_MOVESPEED_SLOWDOWN + + +

+

The slowdown when a mob is exhausted

STAMINA_EXHAUSTION_RECOVERY_THRESHOLD_MODIFIER + + +

+

Carbons will recover from Exhaustion above this point

STAMINA_EXHAUSTION_THRESHOLD_MODIFIER + + +

+

Carbons enter Exhaustion when their stamina drops below this percentage

STAMINA_MAX + + +

+

STATS

+

The default maximum stamina

STAMINA_MAXIMUM_TO_SWING + + +

+

The amount of stamina at which point swinging is free.

STAMINA_MIN2SPRINT_MODIFER + + +

+

The amount of stamina required to sprint

STAMINA_REGEN + + +

+

The amount of stamina a carbon recovers every 2 seconds

STAMINA_REGEN_TIME + + +

+

Time before regen starts when hit with stam damage

STAMINA_SCALING_STUN_BASE + + +

+

The base value of a stamina stun chance

STAMINA_SCALING_STUN_SCALER + + +

+

The maximum additional stun chance based on missing stamina

STAMINA_SPRINT_COST + + +

+

How much stamina is taken per tile while sprinting

STAMINA_STUN_THRESHOLD_MODIFIER + + +

+

Carbons will be exposed to stamina stuns upon dropping below this percentage

STAMINA_STUN_TIME + + +

+

The time a mob is stunned when stamina stunned

STAMINA_SUSTAINED_RUN_GRACE + + +

+

SPRINTING

+

The grace period where you can stop sprinting but still be considered sprinting

STAMINA_SUSTAINED_SPRINT_THRESHOLD + + +

+

The amount of tiles you need to move to be considered moving in a sustained sprint

STAMINA_SWING_COST_ITEM + + +

+

COMBAT

+

The default swing cost of an item.

STAMINA_SWING_COST_UNARMED + + +

+

The default stamina consumption of unarmed attacks

+ + + diff --git a/code/__DEFINES/stat.html b/code/__DEFINES/stat.html new file mode 100644 index 000000000000..9e05e3446517 --- /dev/null +++ b/code/__DEFINES/stat.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/stat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/stat.dm + +

+ + + + + + + + +
HEALTH_THRESHOLD_CRITSoft crit
HEALTH_THRESHOLD_FULLCRITHard crit
HEALTH_OVERKILL_DAMAGE_PER_TYPEThe amount of damage a mob can take past that which would kill it, per damage type.
SATIETY_DECAYThe rate at which satiation decays per second.
HUNGER_DECAYThe rate at which satiation decays per second.
HUNGER_LOSS_WALKHow much hunger is lost on moving (walk)
HUNGER_LOSS_RUNHow much hunger is lost on moving (run)

Define Details

+

HEALTH_OVERKILL_DAMAGE_PER_TYPE + + +

+

The amount of damage a mob can take past that which would kill it, per damage type.

HEALTH_THRESHOLD_CRIT + + +

+

Soft crit

HEALTH_THRESHOLD_FULLCRIT + + +

+

Hard crit

HUNGER_DECAY + + +

+

The rate at which satiation decays per second.

HUNGER_LOSS_RUN + + +

+

How much hunger is lost on moving (run)

HUNGER_LOSS_WALK + + +

+

How much hunger is lost on moving (walk)

SATIETY_DECAY + + +

+

The rate at which satiation decays per second.

+ + + diff --git a/code/__DEFINES/stat_tracking.html b/code/__DEFINES/stat_tracking.html new file mode 100644 index 000000000000..87bdcc0087d5 --- /dev/null +++ b/code/__DEFINES/stat_tracking.html @@ -0,0 +1,35 @@ + + + + + + + code/__DEFINES/stat_tracking.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/stat_tracking.dm + +

+ + +
SET_COST_STMTA quick helper for running the code as a statement and profiling its cost. +For example, SET_COST_STMT(var/x = do_work())

Define Details

+

SET_COST_STMT + + + +

+

A quick helper for running the code as a statement and profiling its cost. +For example, SET_COST_STMT(var/x = do_work())

+ + + diff --git a/code/__DEFINES/station.html b/code/__DEFINES/station.html new file mode 100644 index 000000000000..9d24837f021a --- /dev/null +++ b/code/__DEFINES/station.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/station.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/station.dm + +

+ + +
FUTURE_STATION_TRAITS_FILEThe data file that future station traits are stored in

Define Details

+

FUTURE_STATION_TRAITS_FILE + + +

+

The data file that future station traits are stored in

+ + + diff --git a/code/__DEFINES/status_effects.html b/code/__DEFINES/status_effects.html new file mode 100644 index 000000000000..27212e4b243d --- /dev/null +++ b/code/__DEFINES/status_effects.html @@ -0,0 +1,94 @@ + + + + + + + code/__DEFINES/status_effects.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/status_effects.dm + +

+ + + + + + + + + + + + + + +
STATUS_EFFECT_MULTIPLEif it allows multiple instances of the effect
STATUS_EFFECT_UNIQUEif it allows only one, preventing new instances
STATUS_EFFECT_REPLACEif it allows only one, but new instances replace
STATUS_EFFECT_REFRESHif it only allows one, and new instances just instead refresh the timer
STATUS_EFFECT_FAST_PROCESSProcessing flags - used to define the speed at which the status will work +This is fast - 0.2s between ticks (I believe!)
STATUS_EFFECT_NORMAL_PROCESSThis is slower and better for more intensive status effects - 1s between ticks
CURSE_BLINDINGmakes the edges of the target's screen obscured
CURSE_SPAWNINGspawns creatures that attack the target only
CURSE_WASTINGcauses gradual damage
CURSE_GRASPINGhands reach out from the sides of the screen, doing damage and stunning if they hit the target
IGNORE_RESTRAINTSIf the incapacitated status effect will ignore a mob in restraints (handcuffs)
IGNORE_STASISIf the incapacitated status effect will ignore a mob in stasis (stasis beds)
IGNORE_GRABIf the incapacitated status effect will ignore a mob being agressively grabbed

Define Details

+

CURSE_BLINDING + + +

+

makes the edges of the target's screen obscured

CURSE_GRASPING + + +

+

hands reach out from the sides of the screen, doing damage and stunning if they hit the target

CURSE_SPAWNING + + +

+

spawns creatures that attack the target only

CURSE_WASTING + + +

+

causes gradual damage

IGNORE_GRAB + + +

+

If the incapacitated status effect will ignore a mob being agressively grabbed

IGNORE_RESTRAINTS + + +

+

If the incapacitated status effect will ignore a mob in restraints (handcuffs)

IGNORE_STASIS + + +

+

If the incapacitated status effect will ignore a mob in stasis (stasis beds)

STATUS_EFFECT_FAST_PROCESS + + +

+

Processing flags - used to define the speed at which the status will work +This is fast - 0.2s between ticks (I believe!)

STATUS_EFFECT_MULTIPLE + + +

+

if it allows multiple instances of the effect

STATUS_EFFECT_NORMAL_PROCESS + + +

+

This is slower and better for more intensive status effects - 1s between ticks

STATUS_EFFECT_REFRESH + + +

+

if it only allows one, and new instances just instead refresh the timer

STATUS_EFFECT_REPLACE + + +

+

if it allows only one, but new instances replace

STATUS_EFFECT_UNIQUE + + +

+

if it allows only one, preventing new instances

+ + + diff --git a/code/__DEFINES/strippable.html b/code/__DEFINES/strippable.html new file mode 100644 index 000000000000..a53ce4f992ba --- /dev/null +++ b/code/__DEFINES/strippable.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/strippable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/strippable.dm + +

+ + + + +
STRIPPABLE_OBSCURING_NONEThis slot is not obscured.
STRIPPABLE_OBSCURING_COMPLETELYThis slot is completely obscured, and cannot be accessed.
STRIPPABLE_OBSCURING_HIDDENThis slot can't be seen, but can be accessed.

Define Details

+

STRIPPABLE_OBSCURING_COMPLETELY + + +

+

This slot is completely obscured, and cannot be accessed.

STRIPPABLE_OBSCURING_HIDDEN + + +

+

This slot can't be seen, but can be accessed.

STRIPPABLE_OBSCURING_NONE + + +

+

This slot is not obscured.

+ + + diff --git a/code/__DEFINES/subsystems.html b/code/__DEFINES/subsystems.html new file mode 100644 index 000000000000..97733ba1ff8d --- /dev/null +++ b/code/__DEFINES/subsystems.html @@ -0,0 +1,199 @@ + + + + + + + code/__DEFINES/subsystems.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/subsystems.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Defines for subsystems and overlays

+

Lots of important stuff in here, make sure you have your brain switched on +when editing this file

+DB defines
DB_MAJOR_VERSIONDB major schema version
DB_MINOR_VERSIONDB minor schema version
Timing subsystem
TIMER_UNIQUEDon't run if there is an identical unique timer active
TIMER_OVERRIDEFor unique timers: Replace the old timer rather then not start this one
TIMER_CLIENT_TIMETiming should be based on how timing progresses on clients, not the server.
TIMER_STOPPABLETimer can be stopped using deltimer()
TIMER_NO_HASH_WAITprevents distinguishing identical timers with the wait variable
TIMER_LOOPLoops the timer repeatedly until qdeleted
TIMER_DELETE_MEDelete the timer on parent datum Destroy() and when deltimer'd
TIMER_ID_NULLEmpty ID define
PROCESS_KILLUsed to trigger object removal from a processing list
Initialization subsystem
INITIALIZATION_INSSATOMSNew should not call Initialize
INITIALIZATION_INNEW_MAPLOADNew should call Initialize(TRUE)
INITIALIZATION_INNEW_REGULARNew should call Initialize(FALSE)
Initialization hints
INITIALIZE_HINT_NORMALNothing happens
INITIALIZE_HINT_LATELOADcall LateInitialize at the end of all atom Initalization
INITIALIZE_HINT_QDELCall qdel on the atom after intialization
INITIALIZE_HINT_QDEL_FORCECall qdel with a force of TRUE after initialization
INITIALIZE_IMMEDIATEtype and all subtypes should always immediately call Initialize in New()
GAME_STATE_STARTUPGame is loading
GAME_STATE_PREGAMEGame is loaded and in pregame lobby
GAME_STATE_SETTING_UPGame is attempting to start the round
GAME_STATE_PLAYINGGame has round in progress
GAME_STATE_FINISHEDGame has round finished
Overlays subsystem
addtimerCreate a new timer and add it to the queue.

Define Details

+

DB_MAJOR_VERSION + + +

+

DB major schema version

+

Update this whenever the db schema changes

+

make sure you add an update to the schema_version stable in the db changelog

DB_MINOR_VERSION + + +

+

DB minor schema version

+

Update this whenever the db schema changes

+

make sure you add an update to the schema_version stable in the db changelog

GAME_STATE_FINISHED + + +

+

Game has round finished

GAME_STATE_PLAYING + + +

+

Game has round in progress

GAME_STATE_PREGAME + + +

+

Game is loaded and in pregame lobby

GAME_STATE_SETTING_UP + + +

+

Game is attempting to start the round

GAME_STATE_STARTUP + + +

+

Game is loading

INITIALIZATION_INNEW_MAPLOAD + + +

+

New should call Initialize(TRUE)

INITIALIZATION_INNEW_REGULAR + + +

+

New should call Initialize(FALSE)

INITIALIZATION_INSSATOMS + + +

+

New should not call Initialize

INITIALIZE_HINT_LATELOAD + + +

+

call LateInitialize at the end of all atom Initalization

+

The item will be added to the late_loaders list, this is iterated over after +initalization of subsystems is complete and calls LateInitalize on the atom +see this file for the LateIntialize proc

INITIALIZE_HINT_NORMAL + + +

+

Nothing happens

INITIALIZE_HINT_QDEL + + +

+

Call qdel on the atom after intialization

INITIALIZE_HINT_QDEL_FORCE + + +

+

Call qdel with a force of TRUE after initialization

INITIALIZE_IMMEDIATE + + + +

+

type and all subtypes should always immediately call Initialize in New()

PROCESS_KILL + + +

+

Used to trigger object removal from a processing list

TIMER_CLIENT_TIME + + +

+

Timing should be based on how timing progresses on clients, not the server.

+

Tracking this is more expensive, +should only be used in conjuction with things that have to progress client side, such as +animate() or sound()

TIMER_DELETE_ME + + +

+

Delete the timer on parent datum Destroy() and when deltimer'd

TIMER_ID_NULL + + +

+

Empty ID define

TIMER_LOOP + + +

+

Loops the timer repeatedly until qdeleted

+

In most cases you want a subsystem instead, so don't use this unless you have a good reason

TIMER_NO_HASH_WAIT + + +

+

prevents distinguishing identical timers with the wait variable

+

To be used with TIMER_UNIQUE

TIMER_OVERRIDE + + +

+

For unique timers: Replace the old timer rather then not start this one

TIMER_STOPPABLE + + +

+

Timer can be stopped using deltimer()

TIMER_UNIQUE + + +

+

Don't run if there is an identical unique timer active

+

if the arguments to addtimer are the same as an existing timer, it doesn't create a new timer, +and returns the id of the existing timer

addtimer + + + +

+

Create a new timer and add it to the queue.

+
+ + + diff --git a/code/__DEFINES/surgery.html b/code/__DEFINES/surgery.html new file mode 100644 index 000000000000..313bbe39f208 --- /dev/null +++ b/code/__DEFINES/surgery.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/surgery.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/surgery.dm + +

+ + + + + + + + + + +
SURGERY_NEEDS_INCISIONBodypart needs an incision or small cut
SURGERY_NEEDS_RETRACTEDBodypart needs retracted incision or large cut
SURGERY_NEEDS_DEENCASEMENTBodypart needs a broken bone AND retracted incision or large cut
SURGERY_BLOODY_GLOVESSurgery step bloodies gloves when necessary.
SURGERY_BLOODY_BODYSurgery step bloodies gloves + suit when necessary.
SURGERY_CANNOT_FAILSurgery does not use RNG.
IMPLANT_HIGHLANDEROnly one of this type of implant may be in a target
IMPLANT_KNOWNShows implant name in body scanner
IMPLANT_HIDDENHides the implant from the body scanner completely

Define Details

+

IMPLANT_HIDDEN + + +

+

Hides the implant from the body scanner completely

IMPLANT_HIGHLANDER + + +

+

Only one of this type of implant may be in a target

IMPLANT_KNOWN + + +

+

Shows implant name in body scanner

SURGERY_BLOODY_BODY + + +

+

Surgery step bloodies gloves + suit when necessary.

SURGERY_BLOODY_GLOVES + + +

+

Surgery step bloodies gloves when necessary.

SURGERY_CANNOT_FAIL + + +

+

Surgery does not use RNG.

SURGERY_NEEDS_DEENCASEMENT + + +

+

Bodypart needs a broken bone AND retracted incision or large cut

SURGERY_NEEDS_INCISION + + +

+

Bodypart needs an incision or small cut

SURGERY_NEEDS_RETRACTED + + +

+

Bodypart needs retracted incision or large cut

+ + + diff --git a/code/__DEFINES/text.html b/code/__DEFINES/text.html new file mode 100644 index 000000000000..46eeb879c027 --- /dev/null +++ b/code/__DEFINES/text.html @@ -0,0 +1,155 @@ + + + + + + + code/__DEFINES/text.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/text.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FOURSPACESDoes 4 spaces. Used as a makeshift tabulator.
MAPTEXTPrepares a text to be used for maptext. Use this so it doesn't look hideous.
WXH_TO_HEIGHTMacro from Lummox used to get height from a MeasureText proc
SANITIZE_FILENAMERemoves characters incompatible with file names.
STRIP_HTML_SIMPLESimply removes the < and > characters, and limits the length of the message.
ADD_INFO_COLORIndex access defines for paper/var/add_info_style
PAPER_MARK_TEXTAdds a html style to a text string. Hacky, but that's how inputted text appear on paper sheets after going through the UI.
STRING_DIRECTORYFolder directory for strings
BRAIN_DAMAGE_FILEFile location for brain damage traumas
ION_FILEFile location for AI ion laws
PIRATE_NAMES_FILEFile location for pirate names
REDPILL_FILEFile location for redpill questions
ARCADE_FILEFile location for arcade names
BOOMER_FILEFile location for boomer meme catchphrases
LOCATIONS_FILEFile location for locations on the station
WANTED_FILEFile location for wanted posters messages
VISTA_FILEFile location for really dumb suggestions memes
FLESH_SCAR_FILEFile location for flesh wound descriptions
BONE_SCAR_FILEFile location for bone wound descriptions
SCAR_LOC_FILEFile location for scar wound descriptions
EXODRONE_FILEFile location for exodrone descriptions
CLOWN_NONSENSE_FILEFile location for clown honk descriptions
CULT_SHUTTLE_CURSEFile location for cult shuttle curse descriptions
strip_improperStrip out the special beyond characters for \proper and \improper +from text that will be sent to the browser.

Define Details

+

ADD_INFO_COLOR + + +

+

Index access defines for paper/var/add_info_style

ARCADE_FILE + + +

+

File location for arcade names

BONE_SCAR_FILE + + +

+

File location for bone wound descriptions

BOOMER_FILE + + +

+

File location for boomer meme catchphrases

BRAIN_DAMAGE_FILE + + +

+

File location for brain damage traumas

CLOWN_NONSENSE_FILE + + +

+

File location for clown honk descriptions

CULT_SHUTTLE_CURSE + + +

+

File location for cult shuttle curse descriptions

EXODRONE_FILE + + +

+

File location for exodrone descriptions

FLESH_SCAR_FILE + + +

+

File location for flesh wound descriptions

FOURSPACES + + +

+

Does 4 spaces. Used as a makeshift tabulator.

ION_FILE + + +

+

File location for AI ion laws

LOCATIONS_FILE + + +

+

File location for locations on the station

MAPTEXT + + + +

+

Prepares a text to be used for maptext. Use this so it doesn't look hideous.

PAPER_MARK_TEXT + + + +

+

Adds a html style to a text string. Hacky, but that's how inputted text appear on paper sheets after going through the UI.

PIRATE_NAMES_FILE + + +

+

File location for pirate names

REDPILL_FILE + + +

+

File location for redpill questions

SANITIZE_FILENAME + + + +

+

Removes characters incompatible with file names.

SCAR_LOC_FILE + + +

+

File location for scar wound descriptions

STRING_DIRECTORY + + +

+

Folder directory for strings

STRIP_HTML_SIMPLE + + + +

+

Simply removes the < and > characters, and limits the length of the message.

VISTA_FILE + + +

+

File location for really dumb suggestions memes

WANTED_FILE + + +

+

File location for wanted posters messages

WXH_TO_HEIGHT + + + +

+

Macro from Lummox used to get height from a MeasureText proc

strip_improper + + + +

+

Strip out the special beyond characters for \proper and \improper +from text that will be sent to the browser.

+ + + diff --git a/code/__DEFINES/tgs.html b/code/__DEFINES/tgs.html new file mode 100644 index 000000000000..768640aca364 --- /dev/null +++ b/code/__DEFINES/tgs.html @@ -0,0 +1,237 @@ + + + + + + + code/__DEFINES/tgs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/tgs.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TGS_FILE2TEXT_NATIVEConsumers SHOULD create this define if you want to do TGS configuration outside of this file.
TGS_EVENT_REBOOT_MODE_CHANGEBefore a reboot mode change, extras parameters are the current and new reboot mode enums.
TGS_EVENT_PORT_SWAPBefore a port change is about to happen, extra parameters is new port.
TGS_EVENT_INSTANCE_RENAMEDBefore the instance is renamed, extra parameter is the new name.
TGS_EVENT_WATCHDOG_REATTACHAfter the watchdog reattaches to DD, extra parameter is the new /datum/tgs_version of the server.
TGS_EVENT_HEALTH_CHECKWhen the watchdog sends a health check to DD. No parameters.
TGS_EVENT_REPO_RESET_ORIGINWhen the repository is reset to its origin reference. Parameters: Reference name, Commit SHA.
TGS_EVENT_REPO_CHECKOUTWhen the repository performs a checkout. Parameters: Checkout git object.
TGS_EVENT_REPO_FETCHWhen the repository performs a fetch operation. No parameters.
TGS_EVENT_REPO_MERGE_PULL_REQUESTWhen the repository test merges. Parameters: PR Number, PR Sha, (Nullable) Comment made by TGS user.
TGS_EVENT_REPO_PRE_SYNCHRONIZEBefore the repository makes a sychronize operation. Parameters: Absolute repostiory path.
TGS_EVENT_ENGINE_INSTALL_STARTBefore a engine install operation begins. Parameters: Version string of the installing engine.
TGS_EVENT_ENGINE_INSTALL_FAILWhen a engine install operation fails. Parameters: Error message
TGS_EVENT_ENGINE_ACTIVE_VERSION_CHANGEWhen the active engine version changes. Parameters: (Nullable) Version string of the current engine, version string of the new engine.
TGS_EVENT_COMPILE_STARTWhen the compiler starts running. Parameters: Game directory path, origin commit SHA.
TGS_EVENT_COMPILE_CANCELLEDWhen a compile is cancelled. No parameters.
TGS_EVENT_COMPILE_FAILUREWhen a compile fails. Parameters: Game directory path, [TRUE]/[FALSE] based on if the cause for failure was DMAPI validation.
TGS_EVENT_COMPILE_COMPLETEWhen a compile operation completes. Note, this event fires before the new .dmb is loaded into the watchdog. Consider using the TGS_EVENT_DEPLOYMENT_COMPLETE instead. Parameters: Game directory path.
TGS_EVENT_INSTANCE_AUTO_UPDATE_STARTWhen an automatic update for the current instance begins. No parameters.
TGS_EVENT_REPO_MERGE_CONFLICTWhen the repository encounters a merge conflict: Parameters: Base SHA, target SHA, base reference, target reference.
TGS_EVENT_DEPLOYMENT_COMPLETEWhen a deployment completes. No Parameters.
TGS_EVENT_WATCHDOG_SHUTDOWNBefore the watchdog shuts down. Not sent for graceful shutdowns. No parameters.
TGS_EVENT_WATCHDOG_DETACHBefore the watchdog detaches for a TGS update/restart. No parameters.
TGS_EVENT_WORLD_PRIMEWatchdog event when TgsInitializationComplete() is called. No parameters.
TGS_EVENT_REPO_SUBMODULE_UPDATEAfter a single submodule update is performed. Parameters: Updated submodule name.
TGS_EVENT_PRE_DREAM_MAKERAfter CodeModifications are applied, before DreamMaker is run. Parameters: Game directory path, origin commit sha, version string of the used engine.
TGS_EVENT_DEPLOYMENT_CLEANUPWhenever a deployment folder is deleted from disk. Parameters: Game directory path.
TGS_REBOOT_MODE_NORMALThe server will reboot normally.
TGS_REBOOT_MODE_SHUTDOWNThe server will stop running on reboot.
TGS_REBOOT_MODE_RESTARTThe watchdog will restart on reboot.
TGS_SECURITY_TRUSTEDDreamDaemon Trusted security level.
TGS_SECURITY_SAFEDreamDaemon Safe security level.
TGS_SECURITY_ULTRASAFEDreamDaemon Ultrasafe security level.
TGS_VISIBILITY_PUBLICDreamDaemon public visibility level.
TGS_VISIBILITY_PRIVATEDreamDaemon private visibility level.
TGS_VISIBILITY_INVISIBLEDreamDaemon invisible visibility level.
TGS_ENGINE_TYPE_BYONDThe Build Your Own Net Dream engine.
TGS_ENGINE_TYPE_OPENDREAMThe OpenDream engine.
TGS_TOPICConsumers MUST run this macro at the start of [/world/proc/Topic].
/datum/tgs_revision_informationRepresents git revision information.
/datum/tgs_versionRepresents a version.
/datum/tgs_revision_information/test_mergeRepresents a merge of a GitHub pull request.
/datum/tgs_chat_channelRepresents a connected chat channel.
/datum/tgs_event_handlerUser definable handler for TGS events This abstract version SHOULD be overridden to be used.
/datum/tgs_http_handlerUser definable handler for HTTP calls. This abstract version MUST be overridden to be used.
/datum/tgs_http_resultResult of a /datum/tgs_http_handler call. MUST NOT be overridden.
/datum/tgs_chat_commandUser definable chat command. This abstract version MUST be overridden to be used.
/datum/tgs_message_contentUser definable chat message. MUST NOT be overridden.
/datum/tgs_chat_embed/structureUser definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/message#embed-object for details.
/datum/tgs_chat_embed/mediaCommon datum for similar Discord embed medias.
/datum/tgs_chat_embed/footerSee https://discord.com/developers/docs/resources/message#embed-object-embed-footer-structure for details.
/datum/tgs_chat_embed/providerSee https://discord.com/developers/docs/resources/message#embed-object-embed-provider-structure for details.
/datum/tgs_chat_embed/provider/authorSee https://discord.com/developers/docs/resources/message#embed-object-embed-author-structure for details. Must have name set in New().
/datum/tgs_chat_embed/fieldSee https://discord.com/developers/docs/resources/message#embed-object-embed-field-structure for details.

Define Details

+

TGS_ENGINE_TYPE_BYOND + + +

+

The Build Your Own Net Dream engine.

TGS_ENGINE_TYPE_OPENDREAM + + +

+

The OpenDream engine.

TGS_EVENT_COMPILE_CANCELLED + + +

+

When a compile is cancelled. No parameters.

TGS_EVENT_COMPILE_COMPLETE + + +

+

When a compile operation completes. Note, this event fires before the new .dmb is loaded into the watchdog. Consider using the TGS_EVENT_DEPLOYMENT_COMPLETE instead. Parameters: Game directory path.

TGS_EVENT_COMPILE_FAILURE + + +

+

When a compile fails. Parameters: Game directory path, [TRUE]/[FALSE] based on if the cause for failure was DMAPI validation.

TGS_EVENT_COMPILE_START + + +

+

When the compiler starts running. Parameters: Game directory path, origin commit SHA.

TGS_EVENT_DEPLOYMENT_CLEANUP + + +

+

Whenever a deployment folder is deleted from disk. Parameters: Game directory path.

TGS_EVENT_DEPLOYMENT_COMPLETE + + +

+

When a deployment completes. No Parameters.

TGS_EVENT_ENGINE_ACTIVE_VERSION_CHANGE + + +

+

When the active engine version changes. Parameters: (Nullable) Version string of the current engine, version string of the new engine.

TGS_EVENT_ENGINE_INSTALL_FAIL + + +

+

When a engine install operation fails. Parameters: Error message

TGS_EVENT_ENGINE_INSTALL_START + + +

+

Before a engine install operation begins. Parameters: Version string of the installing engine.

TGS_EVENT_HEALTH_CHECK + + +

+

When the watchdog sends a health check to DD. No parameters.

TGS_EVENT_INSTANCE_AUTO_UPDATE_START + + +

+

When an automatic update for the current instance begins. No parameters.

TGS_EVENT_INSTANCE_RENAMED + + +

+

Before the instance is renamed, extra parameter is the new name.

TGS_EVENT_PORT_SWAP + + +

+

Before a port change is about to happen, extra parameters is new port.

TGS_EVENT_PRE_DREAM_MAKER + + +

+

After CodeModifications are applied, before DreamMaker is run. Parameters: Game directory path, origin commit sha, version string of the used engine.

TGS_EVENT_REBOOT_MODE_CHANGE + + +

+

Before a reboot mode change, extras parameters are the current and new reboot mode enums.

TGS_EVENT_REPO_CHECKOUT + + +

+

When the repository performs a checkout. Parameters: Checkout git object.

TGS_EVENT_REPO_FETCH + + +

+

When the repository performs a fetch operation. No parameters.

TGS_EVENT_REPO_MERGE_CONFLICT + + +

+

When the repository encounters a merge conflict: Parameters: Base SHA, target SHA, base reference, target reference.

TGS_EVENT_REPO_MERGE_PULL_REQUEST + + +

+

When the repository test merges. Parameters: PR Number, PR Sha, (Nullable) Comment made by TGS user.

TGS_EVENT_REPO_PRE_SYNCHRONIZE + + +

+

Before the repository makes a sychronize operation. Parameters: Absolute repostiory path.

TGS_EVENT_REPO_RESET_ORIGIN + + +

+

When the repository is reset to its origin reference. Parameters: Reference name, Commit SHA.

TGS_EVENT_REPO_SUBMODULE_UPDATE + + +

+

After a single submodule update is performed. Parameters: Updated submodule name.

TGS_EVENT_WATCHDOG_DETACH + + +

+

Before the watchdog detaches for a TGS update/restart. No parameters.

TGS_EVENT_WATCHDOG_REATTACH + + +

+

After the watchdog reattaches to DD, extra parameter is the new /datum/tgs_version of the server.

TGS_EVENT_WATCHDOG_SHUTDOWN + + +

+

Before the watchdog shuts down. Not sent for graceful shutdowns. No parameters.

TGS_EVENT_WORLD_PRIME + + +

+

Watchdog event when TgsInitializationComplete() is called. No parameters.

TGS_FILE2TEXT_NATIVE + + +

+

Consumers SHOULD create this define if you want to do TGS configuration outside of this file.

TGS_REBOOT_MODE_NORMAL + + +

+

The server will reboot normally.

TGS_REBOOT_MODE_RESTART + + +

+

The watchdog will restart on reboot.

TGS_REBOOT_MODE_SHUTDOWN + + +

+

The server will stop running on reboot.

TGS_SECURITY_SAFE + + +

+

DreamDaemon Safe security level.

TGS_SECURITY_TRUSTED + + +

+

DreamDaemon Trusted security level.

TGS_SECURITY_ULTRASAFE + + +

+

DreamDaemon Ultrasafe security level.

TGS_TOPIC + + +

+

Consumers MUST run this macro at the start of [/world/proc/Topic].

TGS_VISIBILITY_INVISIBLE + + +

+

DreamDaemon invisible visibility level.

TGS_VISIBILITY_PRIVATE + + +

+

DreamDaemon private visibility level.

TGS_VISIBILITY_PUBLIC + + +

+

DreamDaemon public visibility level.

+ + + diff --git a/code/__DEFINES/tgui.html b/code/__DEFINES/tgui.html new file mode 100644 index 000000000000..63244416d6b3 --- /dev/null +++ b/code/__DEFINES/tgui.html @@ -0,0 +1,100 @@ + + + + + + + code/__DEFINES/tgui.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/tgui.dm + +

+ + + + + + + + + + + + + + + +
UI_INTERACTIVEGreen eye; fully interactive
UI_UPDATEOrange eye; updates but is not interactive
UI_DISABLEDRed eye; disabled, does not update
UI_CLOSEUI Should close
TGUI_WINDOW_SOFT_LIMITMaximum number of windows that can be suspended/reused
TGUI_WINDOW_HARD_LIMITMaximum number of open windows
TGUI_PING_TIMEOUTMaximum ping timeout allowed to detect zombie windows
TGUI_REFRESH_FULL_UPDATE_COOLDOWNUsed for rate-limiting to prevent DoS by excessively refreshing a TGUI window
TGUI_WINDOW_CLOSEDWindow does not exist
TGUI_WINDOW_LOADINGWindow was just opened, but is still not ready to be sent data
TGUI_WINDOW_READYWindow is free and ready to receive data
TGUI_WINDOW_IDGet a window id based on the provided pool index
TGUI_WINDOW_INDEXGet a pool index of the provided window id
TGUI_CREATE_MESSAGECreates a message packet for sending via output()

Define Details

+

TGUI_CREATE_MESSAGE + + + +

+

Creates a message packet for sending via output()

TGUI_PING_TIMEOUT + + +

+

Maximum ping timeout allowed to detect zombie windows

TGUI_REFRESH_FULL_UPDATE_COOLDOWN + + +

+

Used for rate-limiting to prevent DoS by excessively refreshing a TGUI window

TGUI_WINDOW_CLOSED + + +

+

Window does not exist

TGUI_WINDOW_HARD_LIMIT + + +

+

Maximum number of open windows

TGUI_WINDOW_ID + + + +

+

Get a window id based on the provided pool index

TGUI_WINDOW_INDEX + + + +

+

Get a pool index of the provided window id

TGUI_WINDOW_LOADING + + +

+

Window was just opened, but is still not ready to be sent data

TGUI_WINDOW_READY + + +

+

Window is free and ready to receive data

TGUI_WINDOW_SOFT_LIMIT + + +

+

Maximum number of windows that can be suspended/reused

UI_CLOSE + + +

+

UI Should close

UI_DISABLED + + +

+

Red eye; disabled, does not update

UI_INTERACTIVE + + +

+

Green eye; fully interactive

UI_UPDATE + + +

+

Orange eye; updates but is not interactive

+ + + diff --git a/code/__DEFINES/three_dsix.html b/code/__DEFINES/three_dsix.html new file mode 100644 index 000000000000..4c9bb145fe8d --- /dev/null +++ b/code/__DEFINES/three_dsix.html @@ -0,0 +1,82 @@ + + + + + + + code/__DEFINES/three_dsix.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/three_dsix.dm + +

+ + + + + + + + + + + + +
SKILL_SOURCE_CONFUSIONConfusion status effect.
SKILL_SOURCE_FLOOREDKnockdown status effect
SKILL_SOURCE_BLINDNESSBlind
SKILL_SOURCE_CLUMSYClumsy
SKILL_SOURCE_DEATH_RESOLVEOvercome witnessing a death
SKILL_SOURCE_WITNESS_DEATHWitness a death
SKILL_SOURCE_NICOTINEHave nicotine in your blood
SKILL_SOURCE_NICOTINE_WITHDRAWLHave a nicotine withdrawl
SKILL_SOURCE_OPIOD_WITHDRAWLOpiod Withdrawl
SKILL_SOURCE_ALCHOHOL_WITHDRAWLAlchohol withdrawl
STATS_BASELINE_VALUEThe baseline value for a stat.

Define Details

+

SKILL_SOURCE_ALCHOHOL_WITHDRAWL + + +

+

Alchohol withdrawl

SKILL_SOURCE_BLINDNESS + + +

+

Blind

SKILL_SOURCE_CLUMSY + + +

+

Clumsy

SKILL_SOURCE_CONFUSION + + +

+

Confusion status effect.

SKILL_SOURCE_DEATH_RESOLVE + + +

+

Overcome witnessing a death

SKILL_SOURCE_FLOORED + + +

+

Knockdown status effect

SKILL_SOURCE_NICOTINE + + +

+

Have nicotine in your blood

SKILL_SOURCE_NICOTINE_WITHDRAWL + + +

+

Have a nicotine withdrawl

SKILL_SOURCE_OPIOD_WITHDRAWL + + +

+

Opiod Withdrawl

SKILL_SOURCE_WITNESS_DEATH + + +

+

Witness a death

STATS_BASELINE_VALUE + + +

+

The baseline value for a stat.

+ + + diff --git a/code/__DEFINES/time.html b/code/__DEFINES/time.html new file mode 100644 index 000000000000..d00fb24c3cc1 --- /dev/null +++ b/code/__DEFINES/time.html @@ -0,0 +1,212 @@ + + + + + + + code/__DEFINES/time.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/time.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MIDNIGHT_ROLLOVERnumber of deciseconds in a day
ROUND_TIMEdisplays the current time into the round, with a lot of extra code just there for ensuring it looks okay after an entire day passes
CURRENT_STATION_YEARDefine that just has the current in-universe year for use in whatever context you might want to display that in. (For example, 2022 -> 2562 given a 540 year offset)
STATION_YEAR_OFFSETHow many years into the future (or past, if you're into that) the server is
DECISECONDSThe base unit all of these defines are scaled by, because byond uses that as a unit of measurement for some fucking reason
TIMEZONE_LINTLine Islands Time
TIMEZONE_TKTTokelau Time
TIMEZONE_TOTTonga Time
TIMEZONE_NZDTNew Zealand Daylight Time
TIMEZONE_NZSTNew Zealand Standard Time
TIMEZONE_NFTNorfolk Time
TIMEZONE_LHSTLord Howe Standard Time
TIMEZONE_AESTAustralian Eastern Standard Time
TIMEZONE_ACSTAustralian Central Standard Time
TIMEZONE_ACWSTAustralian Central Western Standard Time
TIMEZONE_AWSTAustralian Western Standard Time
TIMEZONE_CXTChristmas Island Time
TIMEZONE_CCTCocos Islands Time
TIMEZONE_CESTCentral European Summer Time
TIMEZONE_UTCCoordinated Universal Time
TIMEZONE_EDTEastern Daylight Time
TIMEZONE_ESTEastern Standard Time
TIMEZONE_CDTCentral Daylight Time
TIMEZONE_CSTCentral Standard Time
TIMEZONE_MDTMountain Daylight Time
TIMEZONE_MSTMountain Standard Time
TIMEZONE_PDTPacific Daylight Time
TIMEZONE_PSTPacific Standard Time
TIMEZONE_AKDTAlaska Daylight Time
TIMEZONE_AKSTAlaska Standard Time
TIMEZONE_HDTHawaii-Aleutian Daylight Time
TIMEZONE_HSTHawaii Standard Time
TIMEZONE_CKTCook Island Time
TIMEZONE_NUTNiue Time
TIMEZONE_ANYWHERE_ON_EARTHAnywhere on Earth
ROUND_TIME_TICKSThe amount of ticks past since round start
STATION_TIME_TICKSStation time, in ticks

Define Details

+

CURRENT_STATION_YEAR + + +

+

Define that just has the current in-universe year for use in whatever context you might want to display that in. (For example, 2022 -> 2562 given a 540 year offset)

DECISECONDS + + +

+

The base unit all of these defines are scaled by, because byond uses that as a unit of measurement for some fucking reason

MIDNIGHT_ROLLOVER + + +

+

number of deciseconds in a day

ROUND_TIME + + +

+

displays the current time into the round, with a lot of extra code just there for ensuring it looks okay after an entire day passes

ROUND_TIME_TICKS + + +

+

The amount of ticks past since round start

STATION_TIME_TICKS + + +

+

Station time, in ticks

STATION_YEAR_OFFSET + + +

+

How many years into the future (or past, if you're into that) the server is

TIMEZONE_ACST + + +

+

Australian Central Standard Time

TIMEZONE_ACWST + + +

+

Australian Central Western Standard Time

TIMEZONE_AEST + + +

+

Australian Eastern Standard Time

TIMEZONE_AKDT + + +

+

Alaska Daylight Time

TIMEZONE_AKST + + +

+

Alaska Standard Time

TIMEZONE_ANYWHERE_ON_EARTH + + +

+

Anywhere on Earth

TIMEZONE_AWST + + +

+

Australian Western Standard Time

TIMEZONE_CCT + + +

+

Cocos Islands Time

TIMEZONE_CDT + + +

+

Central Daylight Time

TIMEZONE_CEST + + +

+

Central European Summer Time

TIMEZONE_CKT + + +

+

Cook Island Time

TIMEZONE_CST + + +

+

Central Standard Time

TIMEZONE_CXT + + +

+

Christmas Island Time

TIMEZONE_EDT + + +

+

Eastern Daylight Time

TIMEZONE_EST + + +

+

Eastern Standard Time

TIMEZONE_HDT + + +

+

Hawaii-Aleutian Daylight Time

TIMEZONE_HST + + +

+

Hawaii Standard Time

TIMEZONE_LHST + + +

+

Lord Howe Standard Time

TIMEZONE_LINT + + +

+

Line Islands Time

TIMEZONE_MDT + + +

+

Mountain Daylight Time

TIMEZONE_MST + + +

+

Mountain Standard Time

TIMEZONE_NFT + + +

+

Norfolk Time

TIMEZONE_NUT + + +

+

Niue Time

TIMEZONE_NZDT + + +

+

New Zealand Daylight Time

TIMEZONE_NZST + + +

+

New Zealand Standard Time

TIMEZONE_PDT + + +

+

Pacific Daylight Time

TIMEZONE_PST + + +

+

Pacific Standard Time

TIMEZONE_TKT + + +

+

Tokelau Time

TIMEZONE_TOT + + +

+

Tonga Time

TIMEZONE_UTC + + +

+

Coordinated Universal Time

+ + + diff --git a/code/__DEFINES/tools.html b/code/__DEFINES/tools.html new file mode 100644 index 000000000000..0d7b3b7525c1 --- /dev/null +++ b/code/__DEFINES/tools.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/tools.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/tools.dm + +

+ + + + + +
TOOL_RUSTSCRAPERCan be used to scrape rust off an any atom; which will result in the Rust Component being qdel'd
TOOL_ACT_TOOLTYPE_SUCCESSWhen a tooltype_act proc is successful
TOOL_ACT_SIGNAL_BLOCKINGWhen COMSIG_ATOM_TOOL_ACT blocks the act
TOOL_ACT_MELEE_CHAIN_BLOCKINGWhen TOOL_ACT_TOOLTYPE_SUCCESS or TOOL_ACT_SIGNAL_BLOCKING are set

Define Details

+

TOOL_ACT_MELEE_CHAIN_BLOCKING + + +

+

When TOOL_ACT_TOOLTYPE_SUCCESS or TOOL_ACT_SIGNAL_BLOCKING are set

TOOL_ACT_SIGNAL_BLOCKING + + +

+

When COMSIG_ATOM_TOOL_ACT blocks the act

TOOL_ACT_TOOLTYPE_SUCCESS + + +

+

When a tooltype_act proc is successful

TOOL_RUSTSCRAPER + + +

+

Can be used to scrape rust off an any atom; which will result in the Rust Component being qdel'd

+ + + diff --git a/code/__DEFINES/toys.html b/code/__DEFINES/toys.html new file mode 100644 index 000000000000..5966704ddf7c --- /dev/null +++ b/code/__DEFINES/toys.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/toys.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/toys.dm + +

+ + + + +
DICE_NOT_RIGGEDDice has a normal chance to land on any value
DICE_BASICALLY_RIGGEDDice has a higher chance to land on a rigged value
DICE_TOTALLY_RIGGEDDice has a 100% chance to land on a rigged value

Define Details

+

DICE_BASICALLY_RIGGED + + +

+

Dice has a higher chance to land on a rigged value

DICE_NOT_RIGGED + + +

+

Dice has a normal chance to land on any value

DICE_TOTALLY_RIGGED + + +

+

Dice has a 100% chance to land on a rigged value

+ + + diff --git a/code/__DEFINES/traits.html b/code/__DEFINES/traits.html new file mode 100644 index 000000000000..2e02565fd832 --- /dev/null +++ b/code/__DEFINES/traits.html @@ -0,0 +1,1280 @@ + + + + + + + code/__DEFINES/traits.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/traits.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CHEM_TRAIT_SOURCEFor use in start/stop metabolize. Since we don't want touch metabolism ending to interrupt bloodstream chems of the same type, etc.
TRAIT_KNOCKEDOUTForces the user to stay unconscious.
TRAIT_IMMOBILIZEDPrevents voluntary movement.
TRAIT_FLOOREDPrevents voluntary standing or staying up on its own.
TRAIT_FORCED_STANDINGForces user to stay standing
TRAIT_DISORIENTEDSlows the user, with additional effects based on the source.
TRAIT_HANDS_BLOCKEDPrevents usage of manipulation appendages (picking, holding or using items, manipulating storage).
TRAIT_UI_BLOCKEDInability to access UI hud elements. Turned into a trait from MOBILITY_UI to be able to track sources.
TRAIT_PULL_BLOCKEDInability to pull things. Turned into a trait from MOBILITY_PULL to be able to track sources.
TRAIT_ARMS_RESTRAINEDAbstract condition that prevents movement if being pulled and might be resisted against. Handcuffs and straight jackets, basically.
TRAIT_PERFECT_ATTACKERDoesn't miss attacks
TRAIT_EXPERIENCING_AIRFLOWThe owner is queued in SSairflow.
TRAIT_EXHAUSTEDUser's stamina is over the STAMINA_EXHAUSTION_THRESHOLD
TRAIT_SPRINTINGUser is sprinting, full speed ahead
TRAIT_NO_SPRINTUser cannot sprint
TRAIT_SOFT_CRITICAL_CONDITIONIn softcrit.
TRAIT_BLURRY_VISIONHas blurry vision until removed
TRAIT_LITERATEWhitelist for mobs that can read or write
TRAIT_ILLITERATEBlacklist for mobs that can't read or write
TRAIT_NO_VOLUNTARY_SPEECHUser cannot use the Say() verb. This is used to force speech while "muting" the client.
TRAIT_DEFIB_BLACKLISTEDBlacklisted from being revived via defibrilator
TRAIT_CHUNKYFINGERSmeans that you can't use weapons with normal trigger guards.
TRAIT_ADVANCEDTOOLUSERWhether a mob is dexterous enough to use machines and certain items or not.
TRAIT_GUN_NATURALMakes it so the mob can use guns regardless of tool user status
TRAIT_DEATHCOMACauses death-like unconsciousness
TRAIT_FAKEDEATHMakes the owner appear as dead to most forms of medical examination
TRAIT_XENO_HOSTTracks whether we're gonna be a baby alien's mummy.
TRAIT_IWASBATONEDAnti Dual-baton cooldown bypass exploit.
TRAIT_STABLEHEARTYou cannot ENTER cardiac arrest.
TRAIT_CORPSELOCKEDPrevents you from leaving your corpse
TRAIT_RESISTHEATHANDSFor when you want to be able to touch hot things, but still want fire to be an issue.
TRAIT_NOSELFIGNITIONPrevents plasmamen from self-igniting
TRAIT_VAL_CORRIN_MEMBERGets a mood boost from being in the hideout.
TRAIT_FASTMEDreduces the use time of syringes, pills, patches and medigels but only when using on someone
TRAIT_NOBREATHMob does not breathe.
TRAIT_NOEARSMob does not need ears to hear
TRAIT_ANTIMAGIC_NO_SELFBLOCKLike antimagic, but doesn't block the user from casting
TRAIT_NO_PAINSHOCKCannot experience Shock (pain version, not electrical)
TRAIT_NO_ADDICTIONDoes not get addicted
TRAIT_GOOD_HEARINGMakes whispers clearly heard from seven tiles away, the full hearing range
TRAIT_NO_SLIP_ICEStops the mob from slipping on permafrost ice (not any other ice) (but anything with SLIDE_ICE set)
TRAIT_NO_SLIP_SLIDEStop the mob from sliding around from being slipped, but not the slip part. +DOES NOT include ice slips.
TRAIT_NO_SLIP_ALLStops all slipping and sliding from ocurring
TRAIT_SIXTHSENSECan hear observers
TRAIT_HEAR_THROUGH_DARKNESSIgnores darkness for hearing
TRAIT_PARALYSIS_L_ARMThese are used for brain-based paralysis, where replacing the limb won't fix it
TRAIT_ID_APPRAISERCan examine IDs to see if they are roundstart.
TRAIT_XRAY_VISIONGives us turf, mob and object vision through walls
TRAIT_THERMAL_VISIONGives us mob vision through walls and slight night vision
TRAIT_MESON_VISIONGives us turf vision through walls and slight night vision
TRAIT_TRUE_NIGHT_VISIONGives us Night vision
TRAIT_CANNOTFACEPrevents direction changes done by face_atom()
TRAIT_NEGATES_GRAVITYNegates our gravity, letting us move normally on floors in 0-g
TRAIT_IGNORING_GRAVITYWe are ignoring gravity
IGNORING_GRAVITY_NEGATIONSources for TRAIT_IGNORING_GRAVITY
TRAIT_FORCED_GRAVITYWe have some form of forced gravity acting on us
TRAIT_REAGENT_SCANNERLets us scan reagents
TRAIT_RESEARCH_SCANNERLets us scan machine parts and tech unlocks
TRAIT_WEB_WEAVERCan weave webs into cloth
TRAIT_QUICK_CARRYWe place people into a fireman carry quicker than standard
TRAIT_QUICKER_CARRYWe place people into a fireman carry especially quickly compared to quick_carry
TRAIT_PLANT_SAFEWe can handle 'dangerous' plants in botany safely
TRAIT_DIAGNOSTIC_HUDfor something granting you a diagnostic hud
TRAIT_MEDIBOTCOMINGTHROUGHIs a medbot healing you
TRAIT_NOFLASHMakes you immune to flashes
TRAIT_XENO_IMMUNEprevents xeno huggies implanting skeletons
TRAIT_FLASH_SENSITIVEMakes you flashable from any direction
TRAIT_DETECT_STORMalways detect storm weathers
TRAIT_SPECIAL_TRAUMA_BOOSTIncreases chance of getting special traumas, makes them harder to cure
TRAIT_GAMERGODGets double arcade prizes
TRAIT_SILENT_FOOTSTEPSmakes your footsteps completely silent
TRAIT_NICE_SHOThnnnnnnnggggg..... you're pretty good....
TRAIT_TUMOR_SUPPRESSEDprevents the damage done by a brain tumor
TRAIT_PERMANENTLY_ONFIREoverrides the update_fire proc to always add fire (for lava)
TRAIT_MARTIAL_ARTS_IMMUNEnobody can use martial arts on this mob
TRAIT_DUFFEL_CURSE_PROOFYou've been cursed with a living duffelbag, and can't have more added
TRAIT_TIME_STOP_IMMUNEImmune to being afflicted by time stop (spell)
TRAIT_WEAK_SOULRevenants draining you only get a very small benefit.
TRAIT_NO_SOULThis mob has no soul
TRAIT_CANT_RIDEPrevents mob from riding mobs when buckled onto something
TRAIT_CANNOT_BE_UNBUCKLEDPrevents a mob from being unbuckled, currently only used to prevent people from falling over on the tram
TRAIT_BLOODY_MESSfrom heparin, makes open bleeding wounds rapidly spill more blood
TRAIT_COAGULATINGfrom coagulant reagents, this doesn't affect the bleeding itself but does affect the bleed warning messages
TRAIT_ANTICONVULSANTFrom anti-convulsant medication against seizures.
TRAIT_ANTENNAEThe holder of this trait has antennae or whatever that hurt a ton when noogied
TRAIT_KISS_OF_DEATHBlowing kisses actually does damage to the victim
TRAIT_GARLIC_BREATHUsed to activate french kissing
TRAIT_PLASMABURNTUsed on limbs in the process of turning a human into a plasmaman while in plasma lava
TRAIT_HOPELESSLY_ADDICTEDAddictions don't tick down, basically they're permanently addicted
TRAIT_UNNATURAL_RED_GLOWY_EYESTheir eyes glow an unnatural red colour. Currently used to set special examine text on humans. Does not guarantee the mob's eyes are coloured red, nor that there is any visible glow on their character sprite.
TRAIT_BLOODSHOT_EYESTheir eyes are bloodshot. Currently used to set special examine text on humans. Examine text is overridden by TRAIT_UNNATURAL_RED_GLOWY_EYES.
TRAIT_PRESERVE_UI_WITHOUT_CLIENTThis mob should never close UI even if it doesn't have a client
TRAIT_CAN_USE_FLIGHT_POTIONLets the mob use flight potions
TRAIT_BYPASS_MEASURESThis mob overrides certian SSlag_switch measures with this special trait
TRAIT_ALLOWED_HONORBOUND_ATTACKSomeone can safely be attacked with honorbound with ONLY a combat mode check, the trait is assuring holding a weapon and hitting won't hurt them..
TRAIT_SPARRINGThe user is sparring
TRAIT_ELITE_CHALLENGERThe user is currently challenging an elite mining mob. Prevents him from challenging another until he's either lost or won.
TRAIT_DONT_WRITE_MEMORYFor living mobs. It signals that the mob shouldn't have their data written in an external json for persistence.
TRAIT_SPRAY_PAINTABLEThis mob can be painted with the spraycan
TRAIT_BLUSHINGThis person is blushing
TRAIT_BODYPART_GRABBEDThis bodypart is being held in a grab, and reduces bleeding
TRAIT_NOBLEEDThis carbon doesn't bleed
TRAIT_AI_BAGATTACKThis atom can ignore the "is on a turf" check for simple AI datum attacks, allowing them to attack from bags or lockers as long as any other conditions are met
TRAIT_INVISIBLE_MANThis mobs bodyparts are invisible but still clickable.
TRAIT_HIDE_COSMETIC_ORGANSDon't draw external organs/species features like wings, horns, frills and stuff
TRAIT_FREE_FLOAT_MOVEMENTWhen people are floating from zero-grav or something, we can move around freely!
TRAIT_NO_TELEPORTdo_teleport will not allow this atom to teleport
TRAIT_FUGU_GLANDEDTrait used by fugu glands to avoid double buffing
TRAIT_DOUBLE_TAPWhen someone with this trait fires a ranged weapon, their fire delays and click cooldowns are halved
TRAIT_HOT_SPRING_CURSEDTrait applied to /datum/mind to stop someone from using the cursed hot springs to polymorph more than once.
TRAIT_NOT_ENGRAVABLEIf something has been engraved/cannot be engraved
TRAIT_ORBITING_FORBIDDENWhether or not orbiting is blocked or not
TRAIT_SPIDER_CONSUMEDWhether a spider's consumed this mob
TRAIT_ALIEN_SNEAKWhether we're sneaking, from the alien sneak ability. +Maybe worth generalizing into a general "is sneaky" / "is stealth" trait in the future.
TRAIT_CAN_STRIPThis mob can strip other mobs.
TRAIT_CAN_USE_NUKECan use the nuclear device's UI, regardless of a lack of hands
TRAIT_MAGICALLY_PHASEDThis mob is phased out of reality from magic, either a jaunt or rod form
TRAIT_BRAINWASHINGthis skillchip trait lets you wash brains in washing machines to heal them
TRAIT_MOVE_GROUNDMovement type traits for movables. See elements/movetype_handler.dm
TRAIT_NO_FLOATING_ANIMDisables the floating animation. See above.
TRAIT_LAVA_IMMUNEWeather immunities, also protect mobs inside them.
TRAIT_DREAMINGMob is dreaming
TRAIT_CANNOT_DREAMMob cannot dream
TRAIT_PARALYSISUsed for limb-based paralysis, where replacing the limb will fix it.
TRAIT_DISABLED_BY_WOUNDUsed for limbs.
TRAIT_FORBID_MINING_SHUTTLE_CONSOLE_OUTSIDE_STATIONMobs with this trait can't send the mining shuttle console when used outside the station itself
TRAIT_HEARING_SENSITIVEevery hearing sensitive atom has this trait
TRAIT_ACTIVE_STORAGEevery object that is currently the active storage of some client mob has this trait
TRAIT_RADIO_LISTENER_NONATMOSNon-atmos radio listeners
TRAIT_RADIO_LISTENER_ATMOSAtmos (FREQ_ATMOS_CONTROL) listeners
TRAIT_CLIMBABLEClimbable trait, given and taken by the climbable element when added or removed. Exists to be easily checked via HAS_TRAIT().
TRAIT_HONKSPAMMINGUsed by the honkspam element to avoid spamming the sound. Amusing considering its name.
TRAIT_KEEP_TOGETHERUsed for managing KEEP_TOGETHER in [/atom/var/appearance_flags]
TRAIT_MAT_TRANSMUTEDMarks the item as having been transmuted. Functionally blacklists the item from being recycled or sold for materials.
TRAIT_BANNED_FROM_CARGO_SHUTTLEIf the item will block the cargo shuttle from flying to centcom
TRAIT_MARKET_CRASHINGSSeconomy trait, if the market is crashing and people can't withdraw credits from ID cards.
TRAIT_NO_STORAGE_INSERTcannot be inserted in a storage.
TRAIT_T_RAY_VISIBLEVisible on t-ray scanners if the atom/var/level == 1
TRAIT_NEEDS_TWO_HANDSThe items needs two hands to be carried
TRAIT_UNCATCHABLECan't be catched when thrown
TRAIT_FISH_SAFE_STORAGEFish in this won't die
TRAIT_FISH_CASE_COMPATIBILEStuff that can go inside fish cases
TRAIT_PLANT_WILDMUTATEPlants that were mutated as a result of passive instability, not a mutation threshold.
TRAIT_APC_SHOCKINGIf you hit an APC with exposed internals with this item it will try to shock you
TRAIT_WIELDEDProperly wielded two handed item
TRAIT_NO_IMMOBILIZEBuckling yourself to objects with this trait won't immobilize you
TRAIT_NO_STRIPPrevents stripping this equipment
TRAIT_NO_BARCODESDisallows this item from being pricetagged with a barcode
TRAIT_ALLOW_HERETIC_CASTINGAllows heretics to cast their spells.
TRAIT_LIVING_HEARTDesignates a heart as a living heart for a heretic.
TRAIT_HIDES_VOICEWearing this item in the mask slot will make your voice Unknown
TRAIT_REPLACES_VOICEWearing this item in the mask slot will make your voice your current ID, or unknown
TRAIT_SHIFTY_EYESGives you the Shifty Eyes quirk, rarely making people who examine you think you examined them back even when you didn't
TRAIT_DRYABLETrait for dryable items
TRAIT_DRIEDTrait for dried items
TRAIT_CUSTOMIZABLE_REAGENT_HOLDERTrait for customizable reagent holder
TRAIT_MAY_CONTAIN_BLENDED_DUSTMinor trait used for beakers, or beaker-ishes. /obj/item/reagent_containers, to show that they've been used in a reagent grinder.
TRAIT_CANNOT_CRYSTALIZETrait put on /mob/living/carbon/human. If that mob has a crystal core, also known as an ethereal heart, it will not try to revive them if the mob dies.
TRAIT_FIREDOOR_STOPTrait applied to turfs when an atmos holosign is placed on them. It will stop firedoors from closing.
TRAIT_COMPONENT_MMITrait applied when the MMI component is added to an /obj/item/integrated_circuit
TRAIT_COMPONENT_PRINTERTrait applied when the MMI component is added to an /obj/item/integrated_circuit
TRAIT_CIRCUIT_UNDUPABLETrait applied when an integrated circuit/module becomes undupable
CIRCUIT_HEAR_TRAITHearing trait that is from the hearing component
TRAIT_PDA_MESSAGE_MENU_RIGGEDPDA Traits. This one makes PDAs explode if the user opens the messages menu
TRAIT_PDA_CAN_EXPLODEThis one denotes a PDA has received a rigged message and will explode when the user tries to reply to a rigged PDA message
TRAIT_DISEASELIKE_SEVERITY_MEDIUMIf present on a /mob/living/carbon, will make them appear to have a medium level disease on health HUDs.
TRAIT_TENACIOUStrait denoting someone will crawl faster in soft crit
TRAIT_UNBREAKABLEtrait denoting someone will sometimes recover out of crit
TRAIT_TABLE_RISENtrait denoting something is being risen up by a table
TRAIT_IN_CALLWhether or not the user is in a MODlink call, prevents making more calls
EXPERIMENTAL_SURGERY_TRAITTrait inherited by experimental surgeries
ROUNDSTART_TRAITcannot be removed without admin intervention
QUIRK_TRAITAny traits granted by quirks.
ADMIN_TRAIT(B)admins only.
CURSED_ITEM_TRAITThe item is magically cursed
STATUS_EFFECT_TRAITA trait given by any status effect
TRAIT_STATUS_EFFECTA trait given by a specific status effect (not sure why we need both but whatever!)
MASK_TRAITinherited from the mask
SHOES_TRAITinherited from your sweet kicks
IMPLANT_TRAITTrait inherited by implants
VEHICLE_TRAITinherited from riding vehicles
BUCKLED_TRAITtrait associated to being buckled
CHOKEHOLD_TRAITtrait associated to being held in a chokehold
RESTING_TRAITtrait associated to resting
STAT_TRAITtrait associated to a stat value or range of
BRAIN_TRAITTrait from the BRAIN
MAPPING_HELPER_TRAITobtained from mapping helper
SUIT_TRAITTrait associated to wearing a suit
LYING_DOWN_TRAITTrait associated to lying down (having a [lying_angle] of a different value than zero).
POWER_LACK_TRAITTrait associated to lacking electrical power.
MOTOR_LACK_TRAITTrait associated to lacking motor movement
MAFIA_TRAITTrait associated with mafia
HIGHLANDER_TRAITTrait associated with highlander
AIRFLOW_TRAITTrait associated with airflow/spacewind
STUMP_TRAITTrait on stumps
TRAIT_RUSTYgeneric atom traits +Trait from /datum/element/rust. Its rusty and should be applying a special overlay to denote this.
STICKY_NODROPsticky nodrop sounds like a bad soundcloud rapper's name
LACKING_LOCOMOTION_APPENDAGES_TRAITtrait associated to not having locomotion appendages nor the ability to fly or float
LACKING_MANIPULATION_APPENDAGES_TRAITtrait associated to not having fine manipulation appendages such as hands
WARPWHISTLE_TRAITTrait granted by /obj/item/warpwhistle
SOULSTONE_TRAITTrait applied by /datum/component/soulstoned
SLIME_COLDTrait applied to slimes by low temperature
TIPPED_OVERTrait applied to mobs by being tipped over
PAI_FOLDEDTrait applied to PAIs by being folded
BRAIN_UNAIDEDTrait applied to brain mobs when they lack external aid for locomotion, such as being inside a mech.
MOD_TRAITTrait applied by MODsuits.
ELEMENT_TRAITTrait applied by element
BERSERK_TRAITTrait granted by the berserker hood.
HIPPOCRATIC_OATH_TRAITTrait granted by /obj/item/rod_of_asclepius
BLOODDRUNK_TRAITTrait granted by /datum/status_effect/blooddrunk
LIPSTICK_TRAITTrait granted by lipstick
BEAUTY_ELEMENT_TRAITSelf-explainatory.
STABILIZED_LIGHT_PINK_TRAITPacifism trait given by stabilized light pink extracts.
EXPIRED_LIFE_TRAITGiven by the multiple_lives component to the previous body of the mob upon death.
ORBITING_TRAITTrait given to an atom/movable when they orbit something.
ITEM_SCALING_TRAITFrom the item_scaling element
EMP_TRAITFrom EMPs
OPTABLE_TRAITGiven by the operating table
DREAMING_SOURCEGiven by dreaming
NO_TONGUE_TRAITTrait granted by /mob/living/carbon/Initialize and +granted/removed by /obj/item/organ/tongue +Used for ensuring that carbons without tongues cannot taste anything +so it is added in Initialize, and then removed when a tongue is inserted +and readded when a tongue is removed.
MODEL_TRAITTrait granted by /mob/living/silicon/robot +Traits applied to a silicon mob by their model.
AI_ANCHOR_TRAITTrait granted by mob/living/silicon/ai +Applied when the ai anchors itself
CLOWNOP_TRAITTrait from /datum/antagonist/nukeop/clownop
THIEF_TRAITTrait from /datum/antagonist/thief
STATION_TRAIT_BANANIUM_SHIPMENTSTraits given by station traits
MARKET_CRASH_EVENT_TRAITFrom the market_crash event
TRAIT_JOB_FIRST_ID_CARDDenotes that this id card was given via the job outfit, aka the first ID this player got.
TRAIT_MAGNETIC_ID_CARDID cards with this trait will attempt to forcibly occupy the front-facing ID card slot in wallets.
CHAMELEON_ITEM_TRAITTraits granted to items due to their chameleon properties.
TRAIT_POWER_CHORDthis mob is under the effects of the power chord
TRAIT_IRRADIATEDMarks that this object is irradiated
TRAIT_HALT_RADIATION_EFFECTSHarmful radiation effects, the toxin damage and the burns, will not occur while this trait is active
TRAIT_RADIATION_PROTECTED_CLOTHINGThis clothing protects the user from radiation. +This should not be used on clothing_traits, but should be applied to the clothing itself.
TRAIT_BYPASS_EARLY_IRRADIATED_CHECKWhether or not this item will allow the radiation SS to go through standard +radiation processing as if this wasn't already irradiated. +Basically, without this, COMSIG_IN_RANGE_OF_IRRADIATION won't fire once the object is irradiated.
TRAIT_HEALS_FROM_CARP_RIFTSThis mob heals from carp rifts.
TRAIT_HEALS_FROM_CULT_PYLONSThis mob heals from cult pylons.
TRAIT_MULTIZ_SUIT_SENSORSIgnore Crew monitor Z levels
TRAIT_FINGERPRINT_PASSTHROUGHIgnores body_parts_covered during the add_fingerprint() proc. Works both on the person and the item in the glove slot.
TRAIT_FROZENthis object has been frozen
TRAIT_GONE_FISHINGCurrently fishing
TRAIT_TACKLING_WINGED_ATTACKERMakes a species be better/worse at tackling depending on their wing's status
TRAIT_TACKLING_FRAIL_ATTACKERMakes a species be frail and more likely to roll bad results if they hit a wall
TRAIT_TACKLING_TAILED_DEFENDERMakes a species be better/worse at defending against tackling depending on their tail's status
BODYPART_TRAITsome trait sorces dirived from bodyparts BODYPART_TRAIT is generic.
TRAIT_INSIDE_BODYGiven to items that are bodyparts attached to a mob, organs attached to a mob or inside a bodypart

Define Details

+

ADMIN_TRAIT + + +

+

(B)admins only.

AIRFLOW_TRAIT + + +

+

Trait associated with airflow/spacewind

AI_ANCHOR_TRAIT + + +

+

Trait granted by mob/living/silicon/ai +Applied when the ai anchors itself

BEAUTY_ELEMENT_TRAIT + + +

+

Self-explainatory.

BERSERK_TRAIT + + +

+

Trait granted by the berserker hood.

BLOODDRUNK_TRAIT + + +

+

Trait granted by /datum/status_effect/blooddrunk

BODYPART_TRAIT + + +

+

some trait sorces dirived from bodyparts BODYPART_TRAIT is generic.

BRAIN_TRAIT + + +

+

Trait from the BRAIN

BRAIN_UNAIDED + + +

+

Trait applied to brain mobs when they lack external aid for locomotion, such as being inside a mech.

BUCKLED_TRAIT + + +

+

trait associated to being buckled

CHAMELEON_ITEM_TRAIT + + +

+

Traits granted to items due to their chameleon properties.

CHEM_TRAIT_SOURCE + + + +

+

For use in start/stop metabolize. Since we don't want touch metabolism ending to interrupt bloodstream chems of the same type, etc.

CHOKEHOLD_TRAIT + + +

+

trait associated to being held in a chokehold

CIRCUIT_HEAR_TRAIT + + +

+

Hearing trait that is from the hearing component

CLOWNOP_TRAIT + + +

+

Trait from /datum/antagonist/nukeop/clownop

CURSED_ITEM_TRAIT + + + +

+

The item is magically cursed

DREAMING_SOURCE + + +

+

Given by dreaming

ELEMENT_TRAIT + + + +

+

Trait applied by element

EMP_TRAIT + + +

+

From EMPs

EXPERIMENTAL_SURGERY_TRAIT + + +

+

Trait inherited by experimental surgeries

EXPIRED_LIFE_TRAIT + + +

+

Given by the multiple_lives component to the previous body of the mob upon death.

HIGHLANDER_TRAIT + + +

+

Trait associated with highlander

HIPPOCRATIC_OATH_TRAIT + + +

+

Trait granted by /obj/item/rod_of_asclepius

IGNORING_GRAVITY_NEGATION + + +

+

Sources for TRAIT_IGNORING_GRAVITY

IMPLANT_TRAIT + + +

+

Trait inherited by implants

ITEM_SCALING_TRAIT + + +

+

From the item_scaling element

LACKING_LOCOMOTION_APPENDAGES_TRAIT + + +

+

trait associated to not having locomotion appendages nor the ability to fly or float

LACKING_MANIPULATION_APPENDAGES_TRAIT + + +

+

trait associated to not having fine manipulation appendages such as hands

LIPSTICK_TRAIT + + +

+

Trait granted by lipstick

LYING_DOWN_TRAIT + + +

+

Trait associated to lying down (having a [lying_angle] of a different value than zero).

MAFIA_TRAIT + + +

+

Trait associated with mafia

MAPPING_HELPER_TRAIT + + +

+

obtained from mapping helper

MARKET_CRASH_EVENT_TRAIT + + +

+

From the market_crash event

MASK_TRAIT + + +

+

inherited from the mask

MODEL_TRAIT + + +

+

Trait granted by /mob/living/silicon/robot +Traits applied to a silicon mob by their model.

MOD_TRAIT + + +

+

Trait applied by MODsuits.

MOTOR_LACK_TRAIT + + +

+

Trait associated to lacking motor movement

NO_TONGUE_TRAIT + + +

+

Trait granted by /mob/living/carbon/Initialize and +granted/removed by /obj/item/organ/tongue +Used for ensuring that carbons without tongues cannot taste anything +so it is added in Initialize, and then removed when a tongue is inserted +and readded when a tongue is removed.

OPTABLE_TRAIT + + +

+

Given by the operating table

ORBITING_TRAIT + + +

+

Trait given to an atom/movable when they orbit something.

PAI_FOLDED + + +

+

Trait applied to PAIs by being folded

POWER_LACK_TRAIT + + +

+

Trait associated to lacking electrical power.

QUIRK_TRAIT + + +

+

Any traits granted by quirks.

RESTING_TRAIT + + +

+

trait associated to resting

ROUNDSTART_TRAIT + + +

+

cannot be removed without admin intervention

SHOES_TRAIT + + +

+

inherited from your sweet kicks

SLIME_COLD + + +

+

Trait applied to slimes by low temperature

SOULSTONE_TRAIT + + +

+

Trait applied by /datum/component/soulstoned

STABILIZED_LIGHT_PINK_TRAIT + + +

+

Pacifism trait given by stabilized light pink extracts.

STATION_TRAIT_BANANIUM_SHIPMENTS + + +

+

Traits given by station traits

STATUS_EFFECT_TRAIT + + +

+

A trait given by any status effect

STAT_TRAIT + + +

+

trait associated to a stat value or range of

STICKY_NODROP + + +

+

sticky nodrop sounds like a bad soundcloud rapper's name

STUMP_TRAIT + + +

+

Trait on stumps

SUIT_TRAIT + + +

+

Trait associated to wearing a suit

THIEF_TRAIT + + +

+

Trait from /datum/antagonist/thief

TIPPED_OVER + + +

+

Trait applied to mobs by being tipped over

TRAIT_ACTIVE_STORAGE + + +

+

every object that is currently the active storage of some client mob has this trait

TRAIT_ADVANCEDTOOLUSER + + +

+

Whether a mob is dexterous enough to use machines and certain items or not.

TRAIT_AI_BAGATTACK + + +

+

This atom can ignore the "is on a turf" check for simple AI datum attacks, allowing them to attack from bags or lockers as long as any other conditions are met

TRAIT_ALIEN_SNEAK + + +

+

Whether we're sneaking, from the alien sneak ability. +Maybe worth generalizing into a general "is sneaky" / "is stealth" trait in the future.

TRAIT_ALLOWED_HONORBOUND_ATTACK + + +

+

Someone can safely be attacked with honorbound with ONLY a combat mode check, the trait is assuring holding a weapon and hitting won't hurt them..

TRAIT_ALLOW_HERETIC_CASTING + + +

+

Allows heretics to cast their spells.

TRAIT_ANTENNAE + + +

+

The holder of this trait has antennae or whatever that hurt a ton when noogied

TRAIT_ANTICONVULSANT + + +

+

From anti-convulsant medication against seizures.

TRAIT_ANTIMAGIC_NO_SELFBLOCK + + +

+

Like antimagic, but doesn't block the user from casting

TRAIT_APC_SHOCKING + + +

+

If you hit an APC with exposed internals with this item it will try to shock you

TRAIT_ARMS_RESTRAINED + + +

+

Abstract condition that prevents movement if being pulled and might be resisted against. Handcuffs and straight jackets, basically.

TRAIT_BANNED_FROM_CARGO_SHUTTLE + + +

+

If the item will block the cargo shuttle from flying to centcom

TRAIT_BLOODSHOT_EYES + + +

+

Their eyes are bloodshot. Currently used to set special examine text on humans. Examine text is overridden by TRAIT_UNNATURAL_RED_GLOWY_EYES.

TRAIT_BLOODY_MESS + + +

+

from heparin, makes open bleeding wounds rapidly spill more blood

TRAIT_BLURRY_VISION + + +

+

Has blurry vision until removed

TRAIT_BLUSHING + + +

+

This person is blushing

TRAIT_BODYPART_GRABBED + + +

+

This bodypart is being held in a grab, and reduces bleeding

TRAIT_BRAINWASHING + + +

+

this skillchip trait lets you wash brains in washing machines to heal them

TRAIT_BYPASS_EARLY_IRRADIATED_CHECK + + +

+

Whether or not this item will allow the radiation SS to go through standard +radiation processing as if this wasn't already irradiated. +Basically, without this, COMSIG_IN_RANGE_OF_IRRADIATION won't fire once the object is irradiated.

TRAIT_BYPASS_MEASURES + + +

+

This mob overrides certian SSlag_switch measures with this special trait

TRAIT_CANNOTFACE + + +

+

Prevents direction changes done by face_atom()

TRAIT_CANNOT_BE_UNBUCKLED + + +

+

Prevents a mob from being unbuckled, currently only used to prevent people from falling over on the tram

TRAIT_CANNOT_CRYSTALIZE + + +

+

Trait put on /mob/living/carbon/human. If that mob has a crystal core, also known as an ethereal heart, it will not try to revive them if the mob dies.

TRAIT_CANNOT_DREAM + + +

+

Mob cannot dream

TRAIT_CANT_RIDE + + +

+

Prevents mob from riding mobs when buckled onto something

TRAIT_CAN_STRIP + + +

+

This mob can strip other mobs.

TRAIT_CAN_USE_FLIGHT_POTION + + +

+

Lets the mob use flight potions

TRAIT_CAN_USE_NUKE + + +

+

Can use the nuclear device's UI, regardless of a lack of hands

TRAIT_CHUNKYFINGERS + + +

+

means that you can't use weapons with normal trigger guards.

TRAIT_CIRCUIT_UNDUPABLE + + +

+

Trait applied when an integrated circuit/module becomes undupable

TRAIT_CLIMBABLE + + +

+

Climbable trait, given and taken by the climbable element when added or removed. Exists to be easily checked via HAS_TRAIT().

TRAIT_COAGULATING + + +

+

from coagulant reagents, this doesn't affect the bleeding itself but does affect the bleed warning messages

TRAIT_COMPONENT_MMI + + +

+

Trait applied when the MMI component is added to an /obj/item/integrated_circuit

TRAIT_COMPONENT_PRINTER + + +

+

Trait applied when the MMI component is added to an /obj/item/integrated_circuit

TRAIT_CORPSELOCKED + + +

+

Prevents you from leaving your corpse

TRAIT_CUSTOMIZABLE_REAGENT_HOLDER + + +

+

Trait for customizable reagent holder

TRAIT_DEATHCOMA + + +

+

Causes death-like unconsciousness

TRAIT_DEFIB_BLACKLISTED + + +

+

Blacklisted from being revived via defibrilator

TRAIT_DETECT_STORM + + +

+

always detect storm weathers

TRAIT_DIAGNOSTIC_HUD + + +

+

for something granting you a diagnostic hud

TRAIT_DISABLED_BY_WOUND + + +

+

Used for limbs.

TRAIT_DISEASELIKE_SEVERITY_MEDIUM + + +

+

If present on a /mob/living/carbon, will make them appear to have a medium level disease on health HUDs.

TRAIT_DISORIENTED + + +

+

Slows the user, with additional effects based on the source.

TRAIT_DONT_WRITE_MEMORY + + +

+

For living mobs. It signals that the mob shouldn't have their data written in an external json for persistence.

TRAIT_DOUBLE_TAP + + +

+

When someone with this trait fires a ranged weapon, their fire delays and click cooldowns are halved

TRAIT_DREAMING + + +

+

Mob is dreaming

TRAIT_DRIED + + +

+

Trait for dried items

TRAIT_DRYABLE + + +

+

Trait for dryable items

TRAIT_DUFFEL_CURSE_PROOF + + +

+

You've been cursed with a living duffelbag, and can't have more added

TRAIT_ELITE_CHALLENGER + + +

+

The user is currently challenging an elite mining mob. Prevents him from challenging another until he's either lost or won.

TRAIT_EXHAUSTED + + +

+

User's stamina is over the STAMINA_EXHAUSTION_THRESHOLD

TRAIT_EXPERIENCING_AIRFLOW + + +

+

The owner is queued in SSairflow.

TRAIT_FAKEDEATH + + +

+

Makes the owner appear as dead to most forms of medical examination

TRAIT_FASTMED + + +

+

reduces the use time of syringes, pills, patches and medigels but only when using on someone

TRAIT_FINGERPRINT_PASSTHROUGH + + +

+

Ignores body_parts_covered during the add_fingerprint() proc. Works both on the person and the item in the glove slot.

TRAIT_FIREDOOR_STOP + + +

+

Trait applied to turfs when an atmos holosign is placed on them. It will stop firedoors from closing.

TRAIT_FISH_CASE_COMPATIBILE + + +

+

Stuff that can go inside fish cases

TRAIT_FISH_SAFE_STORAGE + + +

+

Fish in this won't die

TRAIT_FLASH_SENSITIVE + + +

+

Makes you flashable from any direction

TRAIT_FLOORED + + +

+

Prevents voluntary standing or staying up on its own.

TRAIT_FORBID_MINING_SHUTTLE_CONSOLE_OUTSIDE_STATION + + +

+

Mobs with this trait can't send the mining shuttle console when used outside the station itself

TRAIT_FORCED_GRAVITY + + +

+

We have some form of forced gravity acting on us

TRAIT_FORCED_STANDING + + +

+

Forces user to stay standing

TRAIT_FREE_FLOAT_MOVEMENT + + +

+

When people are floating from zero-grav or something, we can move around freely!

TRAIT_FROZEN + + +

+

this object has been frozen

TRAIT_FUGU_GLANDED + + +

+

Trait used by fugu glands to avoid double buffing

TRAIT_GAMERGOD + + +

+

Gets double arcade prizes

TRAIT_GARLIC_BREATH + + +

+

Used to activate french kissing

TRAIT_GONE_FISHING + + +

+

Currently fishing

TRAIT_GOOD_HEARING + + +

+

Makes whispers clearly heard from seven tiles away, the full hearing range

TRAIT_GUN_NATURAL + + +

+

Makes it so the mob can use guns regardless of tool user status

TRAIT_HALT_RADIATION_EFFECTS + + +

+

Harmful radiation effects, the toxin damage and the burns, will not occur while this trait is active

TRAIT_HANDS_BLOCKED + + +

+

Prevents usage of manipulation appendages (picking, holding or using items, manipulating storage).

TRAIT_HEALS_FROM_CARP_RIFTS + + +

+

This mob heals from carp rifts.

TRAIT_HEALS_FROM_CULT_PYLONS + + +

+

This mob heals from cult pylons.

TRAIT_HEARING_SENSITIVE + + +

+

every hearing sensitive atom has this trait

TRAIT_HEAR_THROUGH_DARKNESS + + +

+

Ignores darkness for hearing

TRAIT_HIDES_VOICE + + +

+

Wearing this item in the mask slot will make your voice Unknown

TRAIT_HIDE_COSMETIC_ORGANS + + +

+

Don't draw external organs/species features like wings, horns, frills and stuff

TRAIT_HONKSPAMMING + + +

+

Used by the honkspam element to avoid spamming the sound. Amusing considering its name.

TRAIT_HOPELESSLY_ADDICTED + + +

+

Addictions don't tick down, basically they're permanently addicted

TRAIT_HOT_SPRING_CURSED + + +

+

Trait applied to /datum/mind to stop someone from using the cursed hot springs to polymorph more than once.

TRAIT_ID_APPRAISER + + +

+

Can examine IDs to see if they are roundstart.

TRAIT_IGNORING_GRAVITY + + +

+

We are ignoring gravity

TRAIT_ILLITERATE + + +

+

Blacklist for mobs that can't read or write

TRAIT_IMMOBILIZED + + +

+

Prevents voluntary movement.

TRAIT_INSIDE_BODY + + +

+

Given to items that are bodyparts attached to a mob, organs attached to a mob or inside a bodypart

TRAIT_INVISIBLE_MAN + + +

+

This mobs bodyparts are invisible but still clickable.

TRAIT_IN_CALL + + +

+

Whether or not the user is in a MODlink call, prevents making more calls

TRAIT_IRRADIATED + + +

+

Marks that this object is irradiated

TRAIT_IWASBATONED + + +

+

Anti Dual-baton cooldown bypass exploit.

TRAIT_JOB_FIRST_ID_CARD + + +

+

Denotes that this id card was given via the job outfit, aka the first ID this player got.

TRAIT_KEEP_TOGETHER + + +

+

Used for managing KEEP_TOGETHER in [/atom/var/appearance_flags]

TRAIT_KISS_OF_DEATH + + +

+

Blowing kisses actually does damage to the victim

TRAIT_KNOCKEDOUT + + +

+

Forces the user to stay unconscious.

TRAIT_LAVA_IMMUNE + + +

+

Weather immunities, also protect mobs inside them.

TRAIT_LITERATE + + +

+

Whitelist for mobs that can read or write

TRAIT_LIVING_HEART + + +

+

Designates a heart as a living heart for a heretic.

TRAIT_MAGICALLY_PHASED + + +

+

This mob is phased out of reality from magic, either a jaunt or rod form

TRAIT_MAGNETIC_ID_CARD + + +

+

ID cards with this trait will attempt to forcibly occupy the front-facing ID card slot in wallets.

TRAIT_MARKET_CRASHING + + +

+

SSeconomy trait, if the market is crashing and people can't withdraw credits from ID cards.

TRAIT_MARTIAL_ARTS_IMMUNE + + +

+

nobody can use martial arts on this mob

TRAIT_MAT_TRANSMUTED + + +

+

Marks the item as having been transmuted. Functionally blacklists the item from being recycled or sold for materials.

TRAIT_MAY_CONTAIN_BLENDED_DUST + + +

+

Minor trait used for beakers, or beaker-ishes. /obj/item/reagent_containers, to show that they've been used in a reagent grinder.

TRAIT_MEDIBOTCOMINGTHROUGH + + +

+

Is a medbot healing you

TRAIT_MESON_VISION + + +

+

Gives us turf vision through walls and slight night vision

TRAIT_MOVE_GROUND + + +

+

Movement type traits for movables. See elements/movetype_handler.dm

TRAIT_MULTIZ_SUIT_SENSORS + + +

+

Ignore Crew monitor Z levels

TRAIT_NEEDS_TWO_HANDS + + +

+

The items needs two hands to be carried

TRAIT_NEGATES_GRAVITY + + +

+

Negates our gravity, letting us move normally on floors in 0-g

TRAIT_NICE_SHOT + + +

+

hnnnnnnnggggg..... you're pretty good....

TRAIT_NOBLEED + + +

+

This carbon doesn't bleed

TRAIT_NOBREATH + + +

+

Mob does not breathe.

TRAIT_NOEARS + + +

+

Mob does not need ears to hear

TRAIT_NOFLASH + + +

+

Makes you immune to flashes

TRAIT_NOSELFIGNITION + + +

+

Prevents plasmamen from self-igniting

TRAIT_NOT_ENGRAVABLE + + +

+

If something has been engraved/cannot be engraved

TRAIT_NO_ADDICTION + + +

+

Does not get addicted

TRAIT_NO_BARCODES + + +

+

Disallows this item from being pricetagged with a barcode

TRAIT_NO_FLOATING_ANIM + + +

+

Disables the floating animation. See above.

TRAIT_NO_IMMOBILIZE + + +

+

Buckling yourself to objects with this trait won't immobilize you

TRAIT_NO_PAINSHOCK + + +

+

Cannot experience Shock (pain version, not electrical)

TRAIT_NO_SLIP_ALL + + +

+

Stops all slipping and sliding from ocurring

TRAIT_NO_SLIP_ICE + + +

+

Stops the mob from slipping on permafrost ice (not any other ice) (but anything with SLIDE_ICE set)

TRAIT_NO_SLIP_SLIDE + + +

+

Stop the mob from sliding around from being slipped, but not the slip part. +DOES NOT include ice slips.

TRAIT_NO_SOUL + + +

+

This mob has no soul

TRAIT_NO_SPRINT + + +

+

User cannot sprint

TRAIT_NO_STORAGE_INSERT + + +

+

cannot be inserted in a storage.

TRAIT_NO_STRIP + + +

+

Prevents stripping this equipment

TRAIT_NO_TELEPORT + + +

+

do_teleport will not allow this atom to teleport

TRAIT_NO_VOLUNTARY_SPEECH + + +

+

User cannot use the Say() verb. This is used to force speech while "muting" the client.

TRAIT_ORBITING_FORBIDDEN + + +

+

Whether or not orbiting is blocked or not

TRAIT_PARALYSIS + + +

+

Used for limb-based paralysis, where replacing the limb will fix it.

TRAIT_PARALYSIS_L_ARM + + +

+

These are used for brain-based paralysis, where replacing the limb won't fix it

TRAIT_PDA_CAN_EXPLODE + + +

+

This one denotes a PDA has received a rigged message and will explode when the user tries to reply to a rigged PDA message

TRAIT_PDA_MESSAGE_MENU_RIGGED + + +

+

PDA Traits. This one makes PDAs explode if the user opens the messages menu

TRAIT_PERFECT_ATTACKER + + +

+

Doesn't miss attacks

TRAIT_PERMANENTLY_ONFIRE + + +

+

overrides the update_fire proc to always add fire (for lava)

TRAIT_PLANT_SAFE + + +

+

We can handle 'dangerous' plants in botany safely

TRAIT_PLANT_WILDMUTATE + + +

+

Plants that were mutated as a result of passive instability, not a mutation threshold.

TRAIT_PLASMABURNT + + +

+

Used on limbs in the process of turning a human into a plasmaman while in plasma lava

TRAIT_POWER_CHORD + + +

+

this mob is under the effects of the power chord

TRAIT_PRESERVE_UI_WITHOUT_CLIENT + + +

+

This mob should never close UI even if it doesn't have a client

TRAIT_PULL_BLOCKED + + +

+

Inability to pull things. Turned into a trait from MOBILITY_PULL to be able to track sources.

TRAIT_QUICKER_CARRY + + +

+

We place people into a fireman carry especially quickly compared to quick_carry

TRAIT_QUICK_CARRY + + +

+

We place people into a fireman carry quicker than standard

TRAIT_RADIATION_PROTECTED_CLOTHING + + +

+

This clothing protects the user from radiation. +This should not be used on clothing_traits, but should be applied to the clothing itself.

TRAIT_RADIO_LISTENER_ATMOS + + +

+

Atmos (FREQ_ATMOS_CONTROL) listeners

TRAIT_RADIO_LISTENER_NONATMOS + + +

+

Non-atmos radio listeners

TRAIT_REAGENT_SCANNER + + +

+

Lets us scan reagents

TRAIT_REPLACES_VOICE + + +

+

Wearing this item in the mask slot will make your voice your current ID, or unknown

TRAIT_RESEARCH_SCANNER + + +

+

Lets us scan machine parts and tech unlocks

TRAIT_RESISTHEATHANDS + + +

+

For when you want to be able to touch hot things, but still want fire to be an issue.

TRAIT_RUSTY + + +

+

generic atom traits +Trait from /datum/element/rust. Its rusty and should be applying a special overlay to denote this.

TRAIT_SHIFTY_EYES + + +

+

Gives you the Shifty Eyes quirk, rarely making people who examine you think you examined them back even when you didn't

TRAIT_SILENT_FOOTSTEPS + + +

+

makes your footsteps completely silent

TRAIT_SIXTHSENSE + + +

+

Can hear observers

TRAIT_SOFT_CRITICAL_CONDITION + + +

+

In softcrit.

TRAIT_SPARRING + + +

+

The user is sparring

TRAIT_SPECIAL_TRAUMA_BOOST + + +

+

Increases chance of getting special traumas, makes them harder to cure

TRAIT_SPIDER_CONSUMED + + +

+

Whether a spider's consumed this mob

TRAIT_SPRAY_PAINTABLE + + +

+

This mob can be painted with the spraycan

TRAIT_SPRINTING + + +

+

User is sprinting, full speed ahead

TRAIT_STABLEHEART + + +

+

You cannot ENTER cardiac arrest.

TRAIT_STATUS_EFFECT + + + +

+

A trait given by a specific status effect (not sure why we need both but whatever!)

TRAIT_TABLE_RISEN + + +

+

trait denoting something is being risen up by a table

TRAIT_TACKLING_FRAIL_ATTACKER + + +

+

Makes a species be frail and more likely to roll bad results if they hit a wall

TRAIT_TACKLING_TAILED_DEFENDER + + +

+

Makes a species be better/worse at defending against tackling depending on their tail's status

TRAIT_TACKLING_WINGED_ATTACKER + + +

+

Makes a species be better/worse at tackling depending on their wing's status

TRAIT_TENACIOUS + + +

+

trait denoting someone will crawl faster in soft crit

TRAIT_THERMAL_VISION + + +

+

Gives us mob vision through walls and slight night vision

TRAIT_TIME_STOP_IMMUNE + + +

+

Immune to being afflicted by time stop (spell)

TRAIT_TRUE_NIGHT_VISION + + +

+

Gives us Night vision

TRAIT_TUMOR_SUPPRESSED + + +

+

prevents the damage done by a brain tumor

TRAIT_T_RAY_VISIBLE + + +

+

Visible on t-ray scanners if the atom/var/level == 1

TRAIT_UI_BLOCKED + + +

+

Inability to access UI hud elements. Turned into a trait from MOBILITY_UI to be able to track sources.

TRAIT_UNBREAKABLE + + +

+

trait denoting someone will sometimes recover out of crit

TRAIT_UNCATCHABLE + + +

+

Can't be catched when thrown

TRAIT_UNNATURAL_RED_GLOWY_EYES + + +

+

Their eyes glow an unnatural red colour. Currently used to set special examine text on humans. Does not guarantee the mob's eyes are coloured red, nor that there is any visible glow on their character sprite.

TRAIT_VAL_CORRIN_MEMBER + + +

+

Gets a mood boost from being in the hideout.

TRAIT_WEAK_SOUL + + +

+

Revenants draining you only get a very small benefit.

TRAIT_WEB_WEAVER + + +

+

Can weave webs into cloth

TRAIT_WIELDED + + +

+

Properly wielded two handed item

TRAIT_XENO_HOST + + +

+

Tracks whether we're gonna be a baby alien's mummy.

TRAIT_XENO_IMMUNE + + +

+

prevents xeno huggies implanting skeletons

TRAIT_XRAY_VISION + + +

+

Gives us turf, mob and object vision through walls

VEHICLE_TRAIT + + +

+

inherited from riding vehicles

WARPWHISTLE_TRAIT + + +

+

Trait granted by /obj/item/warpwhistle

+ + + diff --git a/code/__DEFINES/turbine_defines.html b/code/__DEFINES/turbine_defines.html new file mode 100644 index 000000000000..1bda913271fa --- /dev/null +++ b/code/__DEFINES/turbine_defines.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/turbine_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/turbine_defines.dm + +

+ + + + + + + + + + +
TURBINE_RPM_CONVERSIONMultiplier for converting work into rpm and rpm into power
TURBINE_ENERGY_RECTIFICATION_MULTIPLIEREfficiency of the turbine to turn work into energy, higher values will yield more power
TURBINE_MAX_TAKEN_DAMAGEMax allowed damage per tick
TURBINE_DAMAGE_HEALINGAmount of damage healed when under the heat threshold
TURBINE_DAMAGE_ALARM_STARTAmount of damage that the machine must have to start launching alarms to the engi comms
TURBINE_WORK_CONVERSION_MULTIPLIERMultiplier when converting the gas energy into gas work
TURBINE_HEAT_CONVERSION_MULTIPLIERMultiplier when converting gas work back into heat
TURBINE_COMPRESSOR_STATOR_INTERACTION_MULTIPLIERAmount of energy removed from the work done by the stator due to the consumption from the compressor working on the gases
TURBINE_PART_TIER_ONETiers for turbine parts

Define Details

+

TURBINE_COMPRESSOR_STATOR_INTERACTION_MULTIPLIER + + +

+

Amount of energy removed from the work done by the stator due to the consumption from the compressor working on the gases

TURBINE_DAMAGE_ALARM_START + + +

+

Amount of damage that the machine must have to start launching alarms to the engi comms

TURBINE_DAMAGE_HEALING + + +

+

Amount of damage healed when under the heat threshold

TURBINE_ENERGY_RECTIFICATION_MULTIPLIER + + +

+

Efficiency of the turbine to turn work into energy, higher values will yield more power

TURBINE_HEAT_CONVERSION_MULTIPLIER + + +

+

Multiplier when converting gas work back into heat

TURBINE_MAX_TAKEN_DAMAGE + + +

+

Max allowed damage per tick

TURBINE_PART_TIER_ONE + + +

+

Tiers for turbine parts

TURBINE_RPM_CONVERSION + + +

+

Multiplier for converting work into rpm and rpm into power

TURBINE_WORK_CONVERSION_MULTIPLIER + + +

+

Multiplier when converting the gas energy into gas work

+ + + diff --git a/code/__DEFINES/turfs.html b/code/__DEFINES/turfs.html new file mode 100644 index 000000000000..9269a97e9717 --- /dev/null +++ b/code/__DEFINES/turfs.html @@ -0,0 +1,148 @@ + + + + + + + code/__DEFINES/turfs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/turfs.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + +
CHANGETURF_DEFAULT_BASETURFUse the baseturfs of the provided type
RANGE_TURFSReturns a list of turf in a square
ALL_TURFSReturns all currently loaded turfs
CORNER_BLOCKReturns a list of turfs in the rectangle specified by BOTTOM LEFT corner and height/width, checks for being outside the world border for you
CORNER_BLOCK_OFFSETReturns a list of turfs similar to CORNER_BLOCK but with offsets
Z_TURFSReturns all turfs in a zlevel
UNDERFLOOR_HIDDENThe pipes, disposals, and wires are hidden
UNDERFLOOR_VISIBLEThe pipes, disposals, and wires are visible but cannot be interacted with
UNDERFLOOR_INTERACTABLEThe pipes, disposals, and wires are visible and can be interacted with
TURF_DRYTurf is dry and mobs won't slip
TURF_WET_WATERTurf has water on the floor and mobs will slip unless walking or using galoshes
TURF_WET_PERMAFROSTTurf has a thick layer of ice on the floor and mobs will slip in the direction until they bump into something
TURF_WET_ICETurf has a thin layer of ice on the floor and mobs will slip
TURF_WET_LUBETurf has lube on the floor and mobs will slip
TURF_WET_SUPERLUBETurf has superlube on the floor and mobs will slip even if they are crawling
IS_WET_OPEN_TURFChecks if a turf is wet
MAXIMUM_WET_TIMEMaximum amount of time, (in deciseconds) a tile can be wet for.
get_turfGet the turf that A resides in, regardless of any containers.
get_areaGet the ultimate area of A, similarly to get_turf.
TURF_PATHING_PASS_DENSITYTurf will be passable if density is 0
TURF_PATHING_PASS_PROCTurf will be passable depending on [CanAStarPass] return value
TURF_PATHING_PASS_NOTurf is never passable

Define Details

+

ALL_TURFS + + + +

+

Returns all currently loaded turfs

CHANGETURF_DEFAULT_BASETURF + + +

+

Use the baseturfs of the provided type

CORNER_BLOCK + + + +

+

Returns a list of turfs in the rectangle specified by BOTTOM LEFT corner and height/width, checks for being outside the world border for you

CORNER_BLOCK_OFFSET + + + +

+

Returns a list of turfs similar to CORNER_BLOCK but with offsets

IS_WET_OPEN_TURF + + + +

+

Checks if a turf is wet

MAXIMUM_WET_TIME + + +

+

Maximum amount of time, (in deciseconds) a tile can be wet for.

RANGE_TURFS + + + +

+

Returns a list of turf in a square

TURF_DRY + + +

+

Turf is dry and mobs won't slip

TURF_PATHING_PASS_DENSITY + + +

+

Turf will be passable if density is 0

TURF_PATHING_PASS_NO + + +

+

Turf is never passable

TURF_PATHING_PASS_PROC + + +

+

Turf will be passable depending on [CanAStarPass] return value

TURF_WET_ICE + + +

+

Turf has a thin layer of ice on the floor and mobs will slip

TURF_WET_LUBE + + +

+

Turf has lube on the floor and mobs will slip

TURF_WET_PERMAFROST + + +

+

Turf has a thick layer of ice on the floor and mobs will slip in the direction until they bump into something

TURF_WET_SUPERLUBE + + +

+

Turf has superlube on the floor and mobs will slip even if they are crawling

TURF_WET_WATER + + +

+

Turf has water on the floor and mobs will slip unless walking or using galoshes

UNDERFLOOR_HIDDEN + + +

+

The pipes, disposals, and wires are hidden

UNDERFLOOR_INTERACTABLE + + +

+

The pipes, disposals, and wires are visible and can be interacted with

UNDERFLOOR_VISIBLE + + +

+

The pipes, disposals, and wires are visible but cannot be interacted with

Z_TURFS + + + +

+

Returns all turfs in a zlevel

get_area + + + +

+

Get the ultimate area of A, similarly to get_turf.

+

Use instead of A.loc.loc.

get_turf + + + +

+

Get the turf that A resides in, regardless of any containers.

+

Use in favor of A.loc or src.loc so that things work correctly when +stored inside an inventory, locker, or other container.

+ + + diff --git a/code/__DEFINES/uplink.html b/code/__DEFINES/uplink.html new file mode 100644 index 000000000000..d94265b4fec9 --- /dev/null +++ b/code/__DEFINES/uplink.html @@ -0,0 +1,48 @@ + + + + + + + code/__DEFINES/uplink.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/uplink.dm + +

+ + + + + +
UPLINK_TRAITORSThis item is purchasable to traitors
UPLINK_NUKE_OPSThis item is purchasable to nuke ops
UPLINK_CLOWN_OPSThis item is purchasable to clown ops
DISPLAY_PROGRESSIONProgression gets turned into a user-friendly form. This is just an abstract equation that makes progression not too large.

Define Details

+

DISPLAY_PROGRESSION + + + +

+

Progression gets turned into a user-friendly form. This is just an abstract equation that makes progression not too large.

+

This item is purchasable to clown ops

+

This item is purchasable to nuke ops

+

This item is purchasable to traitors

+ + + diff --git a/code/__DEFINES/vehicles.html b/code/__DEFINES/vehicles.html new file mode 100644 index 000000000000..a5ba4b4d8345 --- /dev/null +++ b/code/__DEFINES/vehicles.html @@ -0,0 +1,92 @@ + + + + + + + code/__DEFINES/vehicles.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/vehicles.dm + +

+ + + + + + + + + + + + + + +
VEHICLE_CONTROL_DRIVEcontrols the vehicles movement
VEHICLE_CONTROL_KIDNAPPEDCan't leave vehicle voluntarily, has to resist.
VEHICLE_CONTROL_MELEEmelee attacks/shoves a vehicle may have
VEHICLE_CONTROL_EQUIPMENTusing equipment/weapons on the vehicle
VEHICLE_CONTROL_SETTINGSchanging around settings and the like.
FULL_MECHA_CONTROLez define for giving a single pilot mech all the flags it needs.
RIDER_NEEDS_ARMSDoes our vehicle require arms to operate? Also used for piggybacking on humans to reserve arms on the rider
RIDER_NEEDS_LEGSDo we need legs to ride this (checks against TRAIT_FLOORED)
UNBUCKLE_DISABLED_RIDERIf the rider is disabled or loses their needed limbs, do they fall off?
CAN_KIDNAPWill this car kidnap people by ramming into them?
VIM_SOUND_COOLDOWNcooldown between uses of the sound maker
VIM_HEAL_AMOUNThow much vim heals per weld
RIDING_OFFSET_ALLThe vehicle being ridden requires pixel offsets for all directions

Define Details

+

CAN_KIDNAP + + +

+

Will this car kidnap people by ramming into them?

FULL_MECHA_CONTROL + + +

+

ez define for giving a single pilot mech all the flags it needs.

RIDER_NEEDS_ARMS + + +

+

Does our vehicle require arms to operate? Also used for piggybacking on humans to reserve arms on the rider

RIDER_NEEDS_LEGS + + +

+

Do we need legs to ride this (checks against TRAIT_FLOORED)

RIDING_OFFSET_ALL + + +

+

The vehicle being ridden requires pixel offsets for all directions

UNBUCKLE_DISABLED_RIDER + + +

+

If the rider is disabled or loses their needed limbs, do they fall off?

VEHICLE_CONTROL_DRIVE + + +

+

controls the vehicles movement

VEHICLE_CONTROL_EQUIPMENT + + +

+

using equipment/weapons on the vehicle

VEHICLE_CONTROL_KIDNAPPED + + +

+

Can't leave vehicle voluntarily, has to resist.

VEHICLE_CONTROL_MELEE + + +

+

melee attacks/shoves a vehicle may have

VEHICLE_CONTROL_SETTINGS + + +

+

changing around settings and the like.

VIM_HEAL_AMOUNT + + +

+

how much vim heals per weld

VIM_SOUND_COOLDOWN + + +

+

cooldown between uses of the sound maker

+ + + diff --git a/code/__DEFINES/verb_manager.html b/code/__DEFINES/verb_manager.html new file mode 100644 index 000000000000..1c4cb6ffb0aa --- /dev/null +++ b/code/__DEFINES/verb_manager.html @@ -0,0 +1,76 @@ + + + + + + + code/__DEFINES/verb_manager.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/verb_manager.dm + +

+ + + + + + +
VERB_OVERTIME_QUEUE_THRESHOLDverb queuing thresholds. remember that since verbs execute after SendMaps the player wont see the effects of the verbs on the game world +until SendMaps executes next tick, and then when that later update reaches them. thus most player input has a minimum latency of world.tick_lag + player ping. +however thats only for the visual effect of player input, when a verb processes the actual latency of game state changes or semantic latency is effectively 1/2 player ping, +unless that verb is queued for the next tick in which case its some number probably smaller than world.tick_lag. +so some verbs that represent player input are important enough that we only introduce semantic latency if we absolutely need to. +its for this reason why player clicks are handled in SSinput before even movement - semantic latency could cause someone to move out of range +when the verb finally processes but it was in range if the verb had processed immediately and overtimed. +queuing tick_usage threshold for verbs that are high enough priority that they only queue if the server is overtiming. +ONLY use for critical verbs
VERB_HIGH_PRIORITY_QUEUE_THRESHOLDqueuing tick_usage threshold for verbs that need lower latency more than most verbs.
VERB_DEFAULT_QUEUE_THRESHOLDdefault queuing tick_usage threshold for most verbs which can allow a small amount of latency to be processed in the next tick
TRY_QUEUE_VERBattempt to queue this verb process if the server is overloaded. evaluates to FALSE if queuing isnt necessary or if it failed. +_verification_args... are only necessary if the verb_manager subsystem youre using checks them in can_queue_verb() +if you put anything in _verification_args that ISNT explicitely put in the can_queue_verb() override of the subsystem youre using, +it will runtime.
QUEUE_OR_CALL_VERBqueue wrapper for TRY_QUEUE_VERB() when you want to call the proc if the server isnt overloaded enough to queue

Define Details

+

QUEUE_OR_CALL_VERB + + + +

+

queue wrapper for TRY_QUEUE_VERB() when you want to call the proc if the server isnt overloaded enough to queue

TRY_QUEUE_VERB + + + +

+

attempt to queue this verb process if the server is overloaded. evaluates to FALSE if queuing isnt necessary or if it failed. +_verification_args... are only necessary if the verb_manager subsystem youre using checks them in can_queue_verb() +if you put anything in _verification_args that ISNT explicitely put in the can_queue_verb() override of the subsystem youre using, +it will runtime.

VERB_DEFAULT_QUEUE_THRESHOLD + + +

+

default queuing tick_usage threshold for most verbs which can allow a small amount of latency to be processed in the next tick

VERB_HIGH_PRIORITY_QUEUE_THRESHOLD + + +

+

queuing tick_usage threshold for verbs that need lower latency more than most verbs.

VERB_OVERTIME_QUEUE_THRESHOLD + + +

+

verb queuing thresholds. remember that since verbs execute after SendMaps the player wont see the effects of the verbs on the game world +until SendMaps executes next tick, and then when that later update reaches them. thus most player input has a minimum latency of world.tick_lag + player ping. +however thats only for the visual effect of player input, when a verb processes the actual latency of game state changes or semantic latency is effectively 1/2 player ping, +unless that verb is queued for the next tick in which case its some number probably smaller than world.tick_lag. +so some verbs that represent player input are important enough that we only introduce semantic latency if we absolutely need to. +its for this reason why player clicks are handled in SSinput before even movement - semantic latency could cause someone to move out of range +when the verb finally processes but it was in range if the verb had processed immediately and overtimed. +queuing tick_usage threshold for verbs that are high enough priority that they only queue if the server is overtiming. +ONLY use for critical verbs

+ + + diff --git a/code/__DEFINES/vv.html b/code/__DEFINES/vv.html new file mode 100644 index 000000000000..8f0f65a11698 --- /dev/null +++ b/code/__DEFINES/vv.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/vv.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/vv.dm + +

+ + +
VV_ALWAYS_CONTRACT_LISTALWAYS render a reduced list, useful for fuckoff big datums that need to be condensed for the sake of client load

Define Details

+

VV_ALWAYS_CONTRACT_LIST + + +

+

ALWAYS render a reduced list, useful for fuckoff big datums that need to be condensed for the sake of client load

+ + + diff --git a/code/__DEFINES/wiremod.html b/code/__DEFINES/wiremod.html new file mode 100644 index 000000000000..f4e5bf157e49 --- /dev/null +++ b/code/__DEFINES/wiremod.html @@ -0,0 +1,207 @@ + + + + + + + code/__DEFINES/wiremod.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/wiremod.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMPONENT_TRIGGERED_BYHelper define that can only be used in /obj/item/circuit_component/input_received()
CIRCUIT_TRIGGERDefine to be placed at any proc that is triggered by a port.
PORT_TYPE_ANYCan accept any datatype. Only works for inputs, output types will runtime.
PORT_TYPE_STRINGString datatype
PORT_TYPE_NUMBERNumber datatype
PORT_TYPE_SIGNALSignal datatype
PORT_TYPE_INSTANT_SIGNALSignal datatype, with a slight variation in name to suggest it causes instant execution. Can only be an output port.
PORT_TYPE_RESPONSE_SIGNALSignal datatype, with a slight variation in name to suggest that it can be used to respond to instant execution.
PORT_TYPE_TABLETable datatype. Derivative of list, contains other lists with matching columns.
PORT_TYPE_OPTIONOptions datatype. Derivative of string.
PORT_TYPE_LISTList datatype
PORT_TYPE_ASSOC_LISTAssociative List datatype. Derivative of list.
PORT_TYPE_ATOMAtom datatype
PORT_TYPE_DATUMDatum datatype
PORT_ATOM_MAX_RANGEThe maximum range between a port and an atom
COMPONENT_MIN_RANDOM_POSThe minimum position of the x and y co-ordinates of the component in the UI
COMPONENT_MAX_RANDOM_POSThe maximum position of the x and y co-ordinates of the component in the UI
COMPONENT_MAX_POSThe maximum position in both directions that a component can be in. +Prevents someone from positioning a component at an absurdly high value.
COMPONENT_SIGNALThe value that is sent whenever a component is simply sending a signal. This can be anything, and is currently the seconds since roundstart.
SHELL_FLAG_CIRCUIT_UNREMOVABLEWhether a circuit is stuck on a shell and cannot be removed (by a user)
SHELL_FLAG_REQUIRE_ANCHORWhether the shell needs to be anchored for the circuit to be on.
SHELL_FLAG_USB_PORTWhether or not the shell has a USB port.
SHELL_FLAG_ALLOW_FAILURE_ACTIONWhether the shell allows actions to be peformed on a shell if the action fails. This will additionally block the messages from being displayed.
SHELL_FLAG_CIRCUIT_UNMODIFIABLEWhether a circuit is not able to be modified
USB_CABLE_MAX_RANGEThe maximum range a USB cable can be apart from a source
CIRCUIT_FLAG_INPUT_SIGNALCreates an input trigger that means the component won't be triggered unless the trigger is pulsed.
CIRCUIT_FLAG_OUTPUT_SIGNALCreates an output trigger that sends a pulse whenever the component is successfully triggered
CIRCUIT_FLAG_ADMINMarks a circuit component as admin only. Admins will only be able to link/unlink with these circuit components.
CIRCUIT_FLAG_HIDDENThis circuit component does not show in the menu.
CIRCUIT_FLAG_INSTANTThis circuit component has been marked as a component that has instant execution and will show up in the UI as so. This will only cause a visual change.
CIRCUIT_FLAG_REFUSE_MODULEThis circuit component can't be loaded in module component. Saves us some headaches.
DATATYPE_FLAG_ALLOW_MANUAL_INPUTThe datatype supports manual inputs
DATATYPE_FLAG_AVOID_VALUE_UPDATEThe datatype won't update the value when it is connected to the port
DATATYPE_FLAG_ALLOW_ATOM_INPUTAllows the datatype to take entity values from the circuit multitool.
DATATYPE_FLAG_COMPOSITEThe datatype has been generated and is an existing composite datatype

Define Details

+

CIRCUIT_FLAG_ADMIN + + +

+

Marks a circuit component as admin only. Admins will only be able to link/unlink with these circuit components.

CIRCUIT_FLAG_HIDDEN + + +

+

This circuit component does not show in the menu.

CIRCUIT_FLAG_INPUT_SIGNAL + + +

+

Creates an input trigger that means the component won't be triggered unless the trigger is pulsed.

CIRCUIT_FLAG_INSTANT + + +

+

This circuit component has been marked as a component that has instant execution and will show up in the UI as so. This will only cause a visual change.

CIRCUIT_FLAG_OUTPUT_SIGNAL + + +

+

Creates an output trigger that sends a pulse whenever the component is successfully triggered

CIRCUIT_FLAG_REFUSE_MODULE + + +

+

This circuit component can't be loaded in module component. Saves us some headaches.

CIRCUIT_TRIGGER + + +

+

Define to be placed at any proc that is triggered by a port.

COMPONENT_MAX_POS + + +

+

The maximum position in both directions that a component can be in. +Prevents someone from positioning a component at an absurdly high value.

COMPONENT_MAX_RANDOM_POS + + +

+

The maximum position of the x and y co-ordinates of the component in the UI

COMPONENT_MIN_RANDOM_POS + + +

+

The minimum position of the x and y co-ordinates of the component in the UI

COMPONENT_SIGNAL + + +

+

The value that is sent whenever a component is simply sending a signal. This can be anything, and is currently the seconds since roundstart.

COMPONENT_TRIGGERED_BY + + + +

+

Helper define that can only be used in /obj/item/circuit_component/input_received()

DATATYPE_FLAG_ALLOW_ATOM_INPUT + + +

+

Allows the datatype to take entity values from the circuit multitool.

DATATYPE_FLAG_ALLOW_MANUAL_INPUT + + +

+

The datatype supports manual inputs

DATATYPE_FLAG_AVOID_VALUE_UPDATE + + +

+

The datatype won't update the value when it is connected to the port

DATATYPE_FLAG_COMPOSITE + + +

+

The datatype has been generated and is an existing composite datatype

PORT_ATOM_MAX_RANGE + + +

+

The maximum range between a port and an atom

PORT_TYPE_ANY + + +

+

Can accept any datatype. Only works for inputs, output types will runtime.

PORT_TYPE_ASSOC_LIST + + + +

+

Associative List datatype. Derivative of list.

PORT_TYPE_ATOM + + +

+

Atom datatype

PORT_TYPE_DATUM + + +

+

Datum datatype

PORT_TYPE_INSTANT_SIGNAL + + +

+

Signal datatype, with a slight variation in name to suggest it causes instant execution. Can only be an output port.

PORT_TYPE_LIST + + + +

+

List datatype

PORT_TYPE_NUMBER + + +

+

Number datatype

PORT_TYPE_OPTION + + +

+

Options datatype. Derivative of string.

PORT_TYPE_RESPONSE_SIGNAL + + +

+

Signal datatype, with a slight variation in name to suggest that it can be used to respond to instant execution.

PORT_TYPE_SIGNAL + + +

+

Signal datatype

PORT_TYPE_STRING + + +

+

String datatype

PORT_TYPE_TABLE + + +

+

Table datatype. Derivative of list, contains other lists with matching columns.

SHELL_FLAG_ALLOW_FAILURE_ACTION + + +

+

Whether the shell allows actions to be peformed on a shell if the action fails. This will additionally block the messages from being displayed.

SHELL_FLAG_CIRCUIT_UNMODIFIABLE + + +

+

Whether a circuit is not able to be modified

SHELL_FLAG_CIRCUIT_UNREMOVABLE + + +

+

Whether a circuit is stuck on a shell and cannot be removed (by a user)

SHELL_FLAG_REQUIRE_ANCHOR + + +

+

Whether the shell needs to be anchored for the circuit to be on.

SHELL_FLAG_USB_PORT + + +

+

Whether or not the shell has a USB port.

USB_CABLE_MAX_RANGE + + +

+

The maximum range a USB cable can be apart from a source

+ + + diff --git a/code/__DEFINES/wounds.html b/code/__DEFINES/wounds.html new file mode 100644 index 000000000000..7ebc2481dca0 --- /dev/null +++ b/code/__DEFINES/wounds.html @@ -0,0 +1,87 @@ + + + + + + + code/__DEFINES/wounds.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/wounds.dm + +

+ + + + + + + + + + + + + +
FLUIDLOSS_BURN_WIDEFor burns from heat applied over a wider area, like from fire
FLUIDLOSS_BURN_CONCENTRATEDFor concentrated burns, like from lasers
FLUIDLOSS_BURN_REQUIREDThe amount of burn damage needed to cause fluid loss.
WOUND_REGENERATION_MODIFIERA modifier applied to wound auto healing
WOUND_DAMAGE_EXPONENTthe cornerstone of the wound threshold system, your base wound roll for any attack is rand(1, damage^this), after armor reduces said damage. See [/obj/item/bodypart/proc/check_wounding]
WOUND_MAX_CONSIDERED_DAMAGEany damage dealt over this is ignored for damage rolls unless the target has the frail quirk (35^1.4=145, for reference)
WOUND_MINIMUM_DAMAGEan attack must do this much damage after armor in order to roll for being a wound (so pressure damage/being on fire doesn't proc it)
WOUND_DISMEMBER_OUTRIGHT_THRESHIf an attack rolls this high with their wound (including mods), we try to outright dismember the limb. Note 250 is high enough that with a perfect max roll of 145 (see max cons'd damage), you'd need +100 in mods to do this
WOUND_DETERMINATION_BLEED_MODWhile someone has determination in their system, their bleed rate is slightly reduced
BLEEDING_MESSAGE_BASE_CDHow often can we annoy the player about their bleeding? This duration is extended if it's not serious bleeding
LIMB_DISMEMBERMENT_PERCENTThe percentage of damage at which a bodypart can start to be dismembered.
LIMB_AUTODISMEMBER_PERCENTThe percentage of max_damage that a limb will automatically be dismembered at

Define Details

+

BLEEDING_MESSAGE_BASE_CD + + +

+

How often can we annoy the player about their bleeding? This duration is extended if it's not serious bleeding

FLUIDLOSS_BURN_CONCENTRATED + + +

+

For concentrated burns, like from lasers

FLUIDLOSS_BURN_REQUIRED + + +

+

The amount of burn damage needed to cause fluid loss.

FLUIDLOSS_BURN_WIDE + + +

+

For burns from heat applied over a wider area, like from fire

LIMB_AUTODISMEMBER_PERCENT + + +

+

The percentage of max_damage that a limb will automatically be dismembered at

LIMB_DISMEMBERMENT_PERCENT + + +

+

The percentage of damage at which a bodypart can start to be dismembered.

WOUND_DAMAGE_EXPONENT + + +

+

the cornerstone of the wound threshold system, your base wound roll for any attack is rand(1, damage^this), after armor reduces said damage. See [/obj/item/bodypart/proc/check_wounding]

WOUND_DETERMINATION_BLEED_MOD + + +

+

While someone has determination in their system, their bleed rate is slightly reduced

WOUND_DISMEMBER_OUTRIGHT_THRESH + + +

+

If an attack rolls this high with their wound (including mods), we try to outright dismember the limb. Note 250 is high enough that with a perfect max roll of 145 (see max cons'd damage), you'd need +100 in mods to do this

WOUND_MAX_CONSIDERED_DAMAGE + + +

+

any damage dealt over this is ignored for damage rolls unless the target has the frail quirk (35^1.4=145, for reference)

WOUND_MINIMUM_DAMAGE + + +

+

an attack must do this much damage after armor in order to roll for being a wound (so pressure damage/being on fire doesn't proc it)

WOUND_REGENERATION_MODIFIER + + +

+

A modifier applied to wound auto healing

+ + + diff --git a/code/__DEFINES/xenobiology.html b/code/__DEFINES/xenobiology.html new file mode 100644 index 000000000000..da0e272bd20e --- /dev/null +++ b/code/__DEFINES/xenobiology.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/xenobiology.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/xenobiology.dm + +

+ + + + + + + +
NO_SPAWNMob cannot be spawned with a gold slime core
HOSTILE_SPAWNMob can spawned with a gold slime core with plasma reaction as a hostile creature
FRIENDLY_SPAWNMob can be spawned with a gold slime core with blood reaction as a friendly creature
SLIME_ACTIVATE_MINORJelly species slime ability that causes simple effects that require energized jelly
SLIME_ACTIVATE_MAJORJelly species slime ability that causes complex effects that require plasma jelly
LUMINESCENT_DEFAULT_GLOWDetermines how much light the jelly species emit

Define Details

+

FRIENDLY_SPAWN + + +

+

Mob can be spawned with a gold slime core with blood reaction as a friendly creature

HOSTILE_SPAWN + + +

+

Mob can spawned with a gold slime core with plasma reaction as a hostile creature

LUMINESCENT_DEFAULT_GLOW + + +

+

Determines how much light the jelly species emit

NO_SPAWN + + +

+

Mob cannot be spawned with a gold slime core

SLIME_ACTIVATE_MAJOR + + +

+

Jelly species slime ability that causes complex effects that require plasma jelly

SLIME_ACTIVATE_MINOR + + +

+

Jelly species slime ability that causes simple effects that require energized jelly

+ + + diff --git a/code/__DEFINES/zmimic.html b/code/__DEFINES/zmimic.html new file mode 100644 index 000000000000..4fb403574f89 --- /dev/null +++ b/code/__DEFINES/zmimic.html @@ -0,0 +1,51 @@ + + + + + + + code/__DEFINES/zmimic.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/zmimic.dm + +

+ + + + + +
MOVABLE_IS_BELOW_ZTURFIs this movable visible from a turf that is mimicking below? Note: this does not necessarily mean directly below.
MOVABLE_IS_ON_ZTURFIs this movable located on a turf that is mimicking below? Note: this does not necessarily mean directly on.
z_animatePerforms an animate() call on the given object and it's mimics.
z_flickPerforms a flick() call on the given object and it's mimics.

Define Details

+

MOVABLE_IS_BELOW_ZTURF + + + +

+

Is this movable visible from a turf that is mimicking below? Note: this does not necessarily mean directly below.

MOVABLE_IS_ON_ZTURF + + + +

+

Is this movable located on a turf that is mimicking below? Note: this does not necessarily mean directly on.

z_animate + + + +

+

Performs an animate() call on the given object and it's mimics.

z_flick + + + +

+

Performs a flick() call on the given object and it's mimics.

+ + + diff --git a/code/__DEFINES/~pariah_defines/chat.html b/code/__DEFINES/~pariah_defines/chat.html new file mode 100644 index 000000000000..0defeb5ea9a1 --- /dev/null +++ b/code/__DEFINES/~pariah_defines/chat.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/~pariah_defines/chat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/~pariah_defines/chat.dm + +

+ + +
examine_blockAdds a generic box around whatever message you're sending in chat. Really makes things stand out.

Define Details

+

examine_block + + + +

+

Adds a generic box around whatever message you're sending in chat. Really makes things stand out.

+ + + diff --git a/code/__DEFINES/~pariah_defines/flavor_defines.html b/code/__DEFINES/~pariah_defines/flavor_defines.html new file mode 100644 index 000000000000..810be12fa4d4 --- /dev/null +++ b/code/__DEFINES/~pariah_defines/flavor_defines.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/~pariah_defines/flavor_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/~pariah_defines/flavor_defines.dm + +

+ + +
FLAVOR_PREVIEW_LIMITHow many characters will be displayed in the flavor text preview before we cut it off?

Define Details

+

FLAVOR_PREVIEW_LIMIT + + +

+

How many characters will be displayed in the flavor text preview before we cut it off?

+ + + diff --git a/code/__DEFINES/~pariah_defines/signals.html b/code/__DEFINES/~pariah_defines/signals.html new file mode 100644 index 000000000000..c40431b88bf8 --- /dev/null +++ b/code/__DEFINES/~pariah_defines/signals.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/~pariah_defines/signals.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/~pariah_defines/signals.dm + +

+ + + +
COMSIG_GUN_AUTOFIRE_SELECTEDWhen a gun is switched to automatic fire mode
COMSIG_GUN_AUTOFIRE_DESELECTEDWhen a gun is switched off of automatic fire mode

Define Details

+

COMSIG_GUN_AUTOFIRE_DESELECTED + + +

+

When a gun is switched off of automatic fire mode

COMSIG_GUN_AUTOFIRE_SELECTED + + +

+

When a gun is switched to automatic fire mode

+ + + diff --git a/code/__DEFINES/~pariah_defines/sound.html b/code/__DEFINES/~pariah_defines/sound.html new file mode 100644 index 000000000000..5201a2b317f6 --- /dev/null +++ b/code/__DEFINES/~pariah_defines/sound.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/~pariah_defines/sound.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__DEFINES/~pariah_defines/sound.dm + +

+ + +
SFX_KEYBOARDSound effect defines, used in get_sfx.

Define Details

+

SFX_KEYBOARD + + +

+

Sound effect defines, used in get_sfx.

+ + + diff --git a/code/__HELPERS/_lists.html b/code/__HELPERS/_lists.html new file mode 100644 index 000000000000..50e138d4da7b --- /dev/null +++ b/code/__HELPERS/_lists.html @@ -0,0 +1,370 @@ + + + + + + + code/__HELPERS/_lists.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/_lists.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LAZYINITLISTInitialize the lazylist
UNSETEMPTYIf the provided list is empty, set it to null
ASSOC_UNSETEMPTYIf the provided key -> list is empty, remove it from the list
LAZYLISTDUPLICATELike LAZYCOPY - copies an input list if the list has entries, If it doesn't the assigned list is nulled
LAZYREMOVERemove an item from the list, set the list to null if empty
LAZYADDAdd an item to the list, if the list is null it will initialize it
LAZYDISTINCTADDAdds an item to the list, initalizing the list if necessary, if the item is not already in the list
LAZYORAdd an item to the list if not already present, if the list is null it will initialize it
LAZYFINDReturns the key of the submitted item in the list
LAZYACCESSreturns L[I] if L exists and I is a valid index of L, runtimes if L is not a list
LAZYSETSets the item K to the value V, if the list is null it will initialize it
LAZYSETLENSets the length of a lazylist
LAZYLENReturns the lenght of the list
LAZYNULLSets a list to null
LAZYADDASSOCAdds to the item K the value V, if the list is null it will initialize it
LAZYADDASSOCLISTThis is used to add onto lazy assoc list when the value you're adding is a /list/. This one has extra safety over lazyaddassoc because the value could be null (and thus cant be used to += objects)
LAZYREMOVEASSOCRemoves the value V from the item K, if the item K is empty will remove it from the list, if the list is empty will set the list to null
LAZYACCESSASSOCAccesses an associative list, returns null if nothing is found
QDEL_LAZYLISTQdel every item in the list before setting the list to null
LAZYCOPYUse LAZYLISTDUPLICATE instead if you want it to null with no entries
LAZYCLEARLISTConsider LAZYNULL instead
SANITIZE_LISTReturns the list if it's actually a valid list, otherwise will initialize it
LAZYORASSOCLISTPerforms an insertion on the given lazy list with the given key and value. If the value already exists, a new one will not be made.
COMPARE_KEYPassed into BINARY_INSERT to compare keys
COMPARE_VALUEPassed into BINARY_INSERT to compare values
BINARY_INSERTBinary search sorted insert +INPUT: Object to be inserted +LIST: List to insert object into +TYPECONT: The typepath of the contents of the list +COMPARE: The object to compare against, usualy the same as INPUT +COMPARISON: The variable on the objects to compare +COMPTYPE: How should the values be compared? Either COMPARE_KEY or COMPARE_VALUE.
BINARY_INSERT_PROC_COMPARECustom binary search sorted insert utilising comparison procs instead of vars. +INPUT: Object to be inserted +LIST: List to insert object into +TYPECONT: The typepath of the contents of the list +COMPARE: The object to compare against, usualy the same as INPUT +COMPARISON: The plaintext name of a proc on INPUT that takes a single argument to accept a single element from LIST and returns a positive, negative or zero number to perform a comparison. +COMPTYPE: How should the values be compared? Either COMPARE_KEY or COMPARE_VALUE.
BINARY_INSERT_DEFINEEven more custom binary search sorted insert, using defines instead of vars +INPUT: Item to be inserted +LIST: List to insert INPUT into +TYPECONT: A define setting the var to the typepath of the contents of the list +COMPARE: The item to compare against, usualy the same as INPUT +COMPARISON: A define that takes an item to compare as input, and returns their comparable value +COMPTYPE: How should the list be compared? Either COMPARE_KEY or COMPARE_VALUE.
/proc/english_listReturns a list in plain english as a string
/proc/is_type_in_listChecks for specific types in a list.
/proc/is_path_in_listChecks for specific paths in a list.
is_type_in_typecacheChecks for specific types in specifically structured (Assoc "type" = TRUE|FALSE) lists ('typecaches')
/proc/typecache_filter_listreturns a new list with only atoms that are in the typecache list
/proc/typecache_filter_list_reversereturn a new list with atoms that are not in the typecache list
/proc/typecache_filter_multi_list_exclusionsimilar to typecache_filter_list and typecache_filter_list_reverse but it supports an inclusion list and and exclusion list
/proc/typecacheofLike typesof() or subtypesof(), but returns a typecache instead of a list.
/proc/zebra_typecacheofLike typesof() or subtypesof(), but returns a typecache instead of a list. +This time it also uses the associated values given by the input list for the values of the subtypes.
/proc/pick_weightPicks a random element from a list based on a weighting system. +For example, given the following list: +A = 6, B = 3, C = 1, D = 0 +A would have a 60% chance of being picked, +B would have a 30% chance of being picked, +C would have a 10% chance of being picked, +and D would have a 0% chance of being picked. +You should only pass integers in.
/proc/expand_weightsTakes a weighted list (see above) and expands it into raw entries +This eats more memory, but saves time when actually picking from it
/proc/greatest_common_factorTakes a list of numbers as input, returns the highest value that is cleanly divides them all +Note: this implementation is expensive as heck for large numbers, I only use it because most of my usecase +Is < 10 ints
/proc/pick_n_takePick a random element from the list and remove it from the list.
/proc/popReturns the top(last) element from the list and removes it from the list (typical stack function)
/proc/peekReturns the top (last) element from the list, does not remove it from the list. Stack functionality.
/proc/next_list_itemReturns the next item in a list
/proc/previous_list_itemReturns the previous item in a list
/proc/shuffleRandomize: Return the list in a random order
/proc/shuffle_inplacesame as shuffle, but returns nothing and acts on list in place
/proc/unique_listReturn a list with no duplicate entries
/proc/unique_list_in_placesame as unique_list, but returns nothing and acts on list in place (also handles associated values properly)
/proc/sort_keyfor sorting clients or mobs by ckey
/proc/sort_recordSpecifically for record datums in a list.
/proc/sort_listsort any value in a list
/proc/sort_namesuses sort_list() but uses the var's name specifically. This should probably be using mergeAtom() instead
/proc/bitfield_to_listConverts a bitfield to a list of numbers (or words if a wordlist is provided)
KEYBYINDEXReturns the key based on the index
/proc/count_by_typereturn the amount of items of the same type inside a list
/proc/move_elementMove a single element from position from_index within a list, to position to_index +All elements in the range [1,to_index) before the move will be before the pivot afterwards +All elements in the range [to_index, L.len+1) before the move will be after the pivot afterwards +In other words, it's as if the range [from_index,to_index) have been rotated using a <<< operation common to other languages. +from_index and to_index must be in the range [1,L.len+1] +This will preserve associations ~Carnie
/proc/move_rangeMove elements [from_index,from_index+len) to [to_index-len, to_index) +Same as moveElement but for ranges of elements +This will preserve associations ~Carnie
/proc/swap_rangeMove elements from [from_index, from_index+len) to [to_index, to_index+len) +Move any elements being overwritten by the move to the now-empty elements, preserving order +Note: if the two ranges overlap, only the destination order will be preserved fully, since some elements will be within both ranges ~Carnie
/proc/reverse_rangereplaces reverseList ~Carnie
/proc/get_element_by_varreturn first thing in L which has var/varname == value +this is typecaste as list/L, but you could actually feed it an atom instead. +completely safe to use
/proc/deep_copy_listCopies a list, and all lists inside it recusively +Does not copy any other reference type
/proc/avoid_assoc_duplicate_keystakes an input_key, as text, and the list of keys already used, outputting a replacement key in the format of "[input_key] ([number_of_duplicates])" if it finds a duplicate +use this for lists of things that might have the same name, like mobs or objects, that you plan on giving to a player as input
/proc/flatten_listFlattens a keyed list into a list of it's contents
/proc/make_associativeMake a normal list an associative one
DEFAULTPICKPicks from the list, with some safeties, and returns the "default" arg if it fails
/proc/assoc_to_keysTurns an associative list into a flat list of keys
/proc/compare_listcompare two lists, returns TRUE if they are the same
/proc/special_list_filterReturns a list with items filtered from a list that can call callback
/proc/recursive_list_resolveReturns a list with all weakrefs resolved
/proc/recursive_list_resolve_elementHelper for recursive_list_resolve()
/proc/refify_listReturns a copy of the list where any element that is a datum or the world is converted into a ref
/proc/kvpify_listConverts a list into a list of assoc lists of the form ("key" = key, "value" = value) +so that list keys that are themselves lists can be fully json-encoded
/proc/deep_compare_listCompares 2 lists, returns TRUE if they are the same
/proc/weakrefify_listReturns a copy of the list where any element that is a datum is converted into a weakref
/proc/encode_text_and_nullsReturns a copy of a list where text values (except assoc-keys and string representations of lua-only values) are +wrapped in quotes and existing quote marks are escaped, +and nulls are replaced with the string "null"
/proc/assert_sortedRuntimes if the passed in list is not sorted
/proc/color_string_to_listTurns a color string such as "#FFFFFF#00FFFF" into a list of ("#FFFFFF", #00FFFF)
/proc/color_list_to_stringTurns a list such as ("#FFFFFF", #00FFFF) into a color string of "#FFFFFF#00FFFF"

Define Details

+

ASSOC_UNSETEMPTY + + + +

+

If the provided key -> list is empty, remove it from the list

BINARY_INSERT + + + +

+

Binary search sorted insert +INPUT: Object to be inserted +LIST: List to insert object into +TYPECONT: The typepath of the contents of the list +COMPARE: The object to compare against, usualy the same as INPUT +COMPARISON: The variable on the objects to compare +COMPTYPE: How should the values be compared? Either COMPARE_KEY or COMPARE_VALUE.

BINARY_INSERT_DEFINE + + + +

+

Even more custom binary search sorted insert, using defines instead of vars +INPUT: Item to be inserted +LIST: List to insert INPUT into +TYPECONT: A define setting the var to the typepath of the contents of the list +COMPARE: The item to compare against, usualy the same as INPUT +COMPARISON: A define that takes an item to compare as input, and returns their comparable value +COMPTYPE: How should the list be compared? Either COMPARE_KEY or COMPARE_VALUE.

BINARY_INSERT_PROC_COMPARE + + + +

+

Custom binary search sorted insert utilising comparison procs instead of vars. +INPUT: Object to be inserted +LIST: List to insert object into +TYPECONT: The typepath of the contents of the list +COMPARE: The object to compare against, usualy the same as INPUT +COMPARISON: The plaintext name of a proc on INPUT that takes a single argument to accept a single element from LIST and returns a positive, negative or zero number to perform a comparison. +COMPTYPE: How should the values be compared? Either COMPARE_KEY or COMPARE_VALUE.

COMPARE_KEY + + +

+

Passed into BINARY_INSERT to compare keys

COMPARE_VALUE + + +

+

Passed into BINARY_INSERT to compare values

DEFAULTPICK + + + +

+

Picks from the list, with some safeties, and returns the "default" arg if it fails

KEYBYINDEX + + + +

+

Returns the key based on the index

LAZYACCESS + + + +

+

returns L[I] if L exists and I is a valid index of L, runtimes if L is not a list

LAZYACCESSASSOC + + + +

+

Accesses an associative list, returns null if nothing is found

LAZYADD + + + +

+

Add an item to the list, if the list is null it will initialize it

LAZYADDASSOC + + + +

+

Adds to the item K the value V, if the list is null it will initialize it

LAZYADDASSOCLIST + + + +

+

This is used to add onto lazy assoc list when the value you're adding is a /list/. This one has extra safety over lazyaddassoc because the value could be null (and thus cant be used to += objects)

LAZYCLEARLIST + + + +

+

Consider LAZYNULL instead

LAZYCOPY + + + +

+

Use LAZYLISTDUPLICATE instead if you want it to null with no entries

LAZYDISTINCTADD + + + +

+

Adds an item to the list, initalizing the list if necessary, if the item is not already in the list

LAZYFIND + + + +

+

Returns the key of the submitted item in the list

LAZYINITLIST + + + +

+

Initialize the lazylist

LAZYLEN + + + +

+

Returns the lenght of the list

LAZYLISTDUPLICATE + + + +

+

Like LAZYCOPY - copies an input list if the list has entries, If it doesn't the assigned list is nulled

LAZYNULL + + + +

+

Sets a list to null

LAZYOR + + + +

+

Add an item to the list if not already present, if the list is null it will initialize it

LAZYORASSOCLIST + + + +

+

Performs an insertion on the given lazy list with the given key and value. If the value already exists, a new one will not be made.

LAZYREMOVE + + + +

+

Remove an item from the list, set the list to null if empty

LAZYREMOVEASSOC + + + +

+

Removes the value V from the item K, if the item K is empty will remove it from the list, if the list is empty will set the list to null

LAZYSET + + + +

+

Sets the item K to the value V, if the list is null it will initialize it

LAZYSETLEN + + + +

+

Sets the length of a lazylist

QDEL_LAZYLIST + + + +

+

Qdel every item in the list before setting the list to null

SANITIZE_LIST + + + +

+

Returns the list if it's actually a valid list, otherwise will initialize it

UNSETEMPTY + + + +

+

If the provided list is empty, set it to null

is_type_in_typecache + + + +

+

Checks for specific types in specifically structured (Assoc "type" = TRUE|FALSE) lists ('typecaches')

+ + + diff --git a/code/__HELPERS/_logging.html b/code/__HELPERS/_logging.html new file mode 100644 index 000000000000..fe9a6d48d7e3 --- /dev/null +++ b/code/__HELPERS/_logging.html @@ -0,0 +1,35 @@ + + + + + + + code/__HELPERS/_logging.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/_logging.dm + +

+ + + + + + + + + +
/proc/log_suspicious_loginWrites to a special log file if the log_suspicious_login config flag is set, +which is intended to contain all logins that failed under suspicious circumstances.
/proc/log_atmosLogs the contents of the gasmix to the game log, prefixed by text
/proc/log_tguiAppends a tgui-related log entry. All arguments are optional.
/proc/admin_pm_hrefReturns an adminpm link with the inserted HTML.
+ + + diff --git a/code/__HELPERS/admin.html b/code/__HELPERS/admin.html new file mode 100644 index 000000000000..f030979934f6 --- /dev/null +++ b/code/__HELPERS/admin.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/admin.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/admin.dm + +

+ + + +
/proc/is_adminReturns if the given client is an admin, REGARDLESS of if they're deadminned or not.
+ + + diff --git a/code/__HELPERS/ai.html b/code/__HELPERS/ai.html new file mode 100644 index 000000000000..107905e8b59e --- /dev/null +++ b/code/__HELPERS/ai.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/ai.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/ai.dm + +

+ + + + + +
/proc/GetBestWeaponReturns either the best weapon from the given choices or null if held weapons are better
/proc/IsEdiblereturns if something can be consumed, drink or food
+ + + diff --git a/code/__HELPERS/areas.html b/code/__HELPERS/areas.html new file mode 100644 index 000000000000..0e5aba764384 --- /dev/null +++ b/code/__HELPERS/areas.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/areas.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/areas.dm + +

+ + + + + +
/proc/get_sorted_areasReturns a sorted version of GLOB.areas, by name
/proc/get_first_open_turf_in_areaIterates over all turfs in the target area and returns the first non-dense one
+ + + diff --git a/code/__HELPERS/atlas.html b/code/__HELPERS/atlas.html new file mode 100644 index 000000000000..265a532e93ee --- /dev/null +++ b/code/__HELPERS/atlas.html @@ -0,0 +1,40 @@ + + + + + + + code/__HELPERS/atlas.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/atlas.dm + +

+ + + + + +
/var/atlasA massive nested associative list that tracks type instances, set by the below macros.
INSTANCES_OFReturns a list of tracked instances of a given value.
TRACKING_KEY_SHUTTLE_CALLERKey used for things that can call the shuttle

Define Details

+

INSTANCES_OF + + + +

+

Returns a list of tracked instances of a given value.

TRACKING_KEY_SHUTTLE_CALLER + + +

+

Key used for things that can call the shuttle

+ + + diff --git a/code/__HELPERS/atmospherics.html b/code/__HELPERS/atmospherics.html new file mode 100644 index 000000000000..f3480be52c34 --- /dev/null +++ b/code/__HELPERS/atmospherics.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/atmospherics.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/atmospherics.dm + +

+ + + +
/proc/gas_mixture_parser
+ + + diff --git a/code/__HELPERS/atoms.html b/code/__HELPERS/atoms.html new file mode 100644 index 000000000000..6a30264a69da --- /dev/null +++ b/code/__HELPERS/atoms.html @@ -0,0 +1,63 @@ + + + + + + + code/__HELPERS/atoms.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/atoms.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/get_nested_locsReturns a list of all locations (except the area) the movable is within.
/proc/can_seeStep-towards method of determining whether one atom can see another. Similar to viewers() +note: this is a line of sight algorithm, view() does not do any sort of raycasting and cannot be emulated by it accurately
/proc/get_cardinal_dirGet the cardinal direction between two atoms
/proc/get_pixel_distanceFinds the distance between two atoms, in pixels +centered = FALSE counts from turf edge to edge +centered = TRUE counts from turf center to turf center +of course mathematically this is just adding world.icon_size on again
/proc/check_wall_itemCheck if there is already a wall item on the turf loc +floor_loc = floor tile in front of the wall +dir_toward_wall = direction from the floor tile in front of the wall towards the wall +check_external = truthy if we should be checking against items coming out of the wall, rather than visually on top of the wall.
/proc/random_stepForces the atom to take a step in a random direction
/proc/is_source_facing_targetCompare source's dir, the clockwise dir of source and the anticlockwise dir of source +To the opposite dir of the dir returned by get_dir(target,source) +If one of them is a match, then source is facing target
/proc/urangeultra range (no limitations on distance, faster than range for distances > 8); including areas drastically decreases performance
/proc/spiral_rangesimilar function to range(), but with no limitations on the distance; will search spiralling outwards from the center
/proc/get_closest_atomReturns the closest atom of a specific type in a list from a source
/proc/pick_closest_pathReturns a chosen path that is the closest to a list of matches
/proc/generate_items_insideCreates new items inside an atom based on a list
/proc/getReturns the atom type in the specified loc
/proc/noopA do nothing proc
+ + + diff --git a/code/__HELPERS/bitflag_lists.html b/code/__HELPERS/bitflag_lists.html new file mode 100644 index 000000000000..bb98fe6414d0 --- /dev/null +++ b/code/__HELPERS/bitflag_lists.html @@ -0,0 +1,41 @@ + + + + + + + code/__HELPERS/bitflag_lists.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/bitflag_lists.dm + +

+ + +
SET_SMOOTHING_GROUPSSystem for storing bitflags past the 24 limit, making use of an associative list.

Define Details

+

SET_SMOOTHING_GROUPS + + + +

+

System for storing bitflags past the 24 limit, making use of an associative list.

+

Macro converts a list of integers into an associative list of bitflag entries for quicker comparison. +Example: list(0, 4, 26, 32)) => list( "0" = ( (1<<0) | (1<<4) ), "1" = ( (1<<2) | (1<<8) ) ) +Lists are cached into a global list of lists to avoid identical duplicates. +This system makes value comparisons faster than pairing every element of one list with every element of the other for evaluation.

+

Arguments:

+
+ + + diff --git a/code/__HELPERS/chat.html b/code/__HELPERS/chat.html new file mode 100644 index 000000000000..d28b7737415d --- /dev/null +++ b/code/__HELPERS/chat.html @@ -0,0 +1,37 @@ + + + + + + + code/__HELPERS/chat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/chat.dm + +

+ + + + + + +
/proc/send2chatSends a message to TGS chat channels.
/proc/send2adminchatSends a message to TGS admin chat channels.
EXAMINE_HINTHandles text formatting for item use hints in examine text

Define Details

+

EXAMINE_HINT + + + +

+

Handles text formatting for item use hints in examine text

+ + + diff --git a/code/__HELPERS/chat_filter.html b/code/__HELPERS/chat_filter.html new file mode 100644 index 000000000000..45424c9de06a --- /dev/null +++ b/code/__HELPERS/chat_filter.html @@ -0,0 +1,46 @@ + + + + + + + code/__HELPERS/chat_filter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/chat_filter.dm + +

+ + + + + + + + + + + + + + + +
/proc/is_ic_filteredGiven a text, will return what word is on the IC filter, with the reason. +Returns null if the message is OK.
/proc/is_ic_filtered_for_pdasGiven a text, will return what word is on the IC filter, ignoring words allowed on the PDA, with the reason. +Returns null if the message is OK.
/proc/is_ooc_filteredGiven a text, will return what word is on the OOC filter, with the reason. +Returns null if the message is OK.
/proc/is_soft_ic_filteredGiven a text, will return what word is on the soft IC filter, with the reason. +Returns null if the message is OK.
/proc/is_soft_ic_filtered_for_pdasGiven a text, will return what word is on the soft IC filter, ignoring words allowed on the PDA, with the reason. +Returns null if the message is OK.
/proc/is_soft_ooc_filteredGiven a text, will return that word is on the soft OOC filter, with the reason. +Returns null if the message is OK.
/proc/log_filterLogs to the filter log with the given message, match, and scope
+ + + diff --git a/code/__HELPERS/clients.html b/code/__HELPERS/clients.html new file mode 100644 index 000000000000..44b393d75967 --- /dev/null +++ b/code/__HELPERS/clients.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/clients.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/clients.dm + +

+ + + +
/proc/is_guest_keyReturns whether or not a player is a guest using their ckey as an input
+ + + diff --git a/code/__HELPERS/cmp.html b/code/__HELPERS/cmp.html new file mode 100644 index 000000000000..3cc6ee7ef4cd --- /dev/null +++ b/code/__HELPERS/cmp.html @@ -0,0 +1,50 @@ + + + + + + + code/__HELPERS/cmp.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/cmp.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/cmp_bodypart_by_body_part_ascOrders bodyparts by their body_part value, ascending.
/proc/cmp_bodyparts_display_orderOrders bodyparts by how they should be shown to players in a UI
/proc/cmp_port_order_ascOrders by integrated circuit weight
/proc/cmp_uplink_category_descOrders by uplink category weight
/proc/cmp_crafting_req_prioritySorts crafting recipe requirements before the crafting recipe is inserted into GLOB.crafting_recipes
/proc/cmp_heretic_knowledgeOrders heretic knowledge by priority
/proc/cmp_fusion_reaction_desOrders R-UST fusion by priority
/proc/cmp_zm_render_orderSort by plane, then by layer. Approximately BYOND rendering order.
/proc/cmp_pref_modulesSort modules by priority
/proc/cmp_design_nameOrders designs by name
/proc/cmp_list_lengthOrders lists by the size of lists in their contents
/proc/cmp_codex_nameOrders codex entries by name alphabetically
+ + + diff --git a/code/__HELPERS/colors.html b/code/__HELPERS/colors.html new file mode 100644 index 000000000000..58d6517849b3 --- /dev/null +++ b/code/__HELPERS/colors.html @@ -0,0 +1,37 @@ + + + + + + + code/__HELPERS/colors.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/colors.dm + +

+ + + + + + + + + + + +
/proc/is_color_darkGiven a color in the format of "#RRGGBB", will return if the color +is dark.
/proc/expand_three_digit_colorGiven a 3 character color (no hash), converts it into #RRGGBB (with hash)
/proc/random_colourReturns a random color picked from a list, has 2 modes (0 and 1), mode 1 doesn't pick white, black or gray
/proc/invert_HTML_colourInverts the colour of an HTML string
/proc/flash_colorFlash a color on the client
+ + + diff --git a/code/__HELPERS/construction.html b/code/__HELPERS/construction.html new file mode 100644 index 000000000000..d52b2adc96c4 --- /dev/null +++ b/code/__HELPERS/construction.html @@ -0,0 +1,29 @@ + + + + + + + code/__HELPERS/construction.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/construction.dm + +

+ + + +
/proc/rcd_result_with_memoryProduces a new RCD result from the given one if it can be calculated that +the RCD should speed up with the remembered form.
+ + + diff --git a/code/__HELPERS/datums.html b/code/__HELPERS/datums.html new file mode 100644 index 000000000000..21ff507de91f --- /dev/null +++ b/code/__HELPERS/datums.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/datums.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/datums.dm + +

+ + + +
/proc/is_valid_srcCheck if a datum has not been deleted and is a valid source
+ + + diff --git a/code/__HELPERS/dna.html b/code/__HELPERS/dna.html new file mode 100644 index 000000000000..6f9b4a62bb33 --- /dev/null +++ b/code/__HELPERS/dna.html @@ -0,0 +1,39 @@ + + + + + + + code/__HELPERS/dna.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/dna.dm + +

+ + + +
GET_UI_BLOCK_LENGetter macro used to get the length of a identity block
GET_UF_BLOCK_LENDitto, but for a feature.

Define Details

+

GET_UF_BLOCK_LEN + + + +

+

Ditto, but for a feature.

GET_UI_BLOCK_LEN + + + +

+

Getter macro used to get the length of a identity block

+ + + diff --git a/code/__HELPERS/files.html b/code/__HELPERS/files.html new file mode 100644 index 000000000000..075c5377e041 --- /dev/null +++ b/code/__HELPERS/files.html @@ -0,0 +1,33 @@ + + + + + + + code/__HELPERS/files.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/files.dm + +

+ + + + + + + +
/proc/md5filepathReturns the md5 of a file at a given path.
/proc/md5asfileSave file as an external file then md5 it. +Used because md5ing files stored in the rsc sometimes gives incorrect md5 results.
/proc/sanitize_filepathSanitizes the name of each node in the path.
+ + + diff --git a/code/__HELPERS/game.html b/code/__HELPERS/game.html new file mode 100644 index 000000000000..84741a8e400a --- /dev/null +++ b/code/__HELPERS/game.html @@ -0,0 +1,93 @@ + + + + + + + code/__HELPERS/game.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/game.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CULT_POLL_WAITTime before being allowed to select a new cult leader again
GET_ERROR_ROOMReturns either the error landmark or the location of the room. Needless to say, if this is used, it means things have gone awry.
/proc/get_area_nameReturns the name of the area the atom is in
/proc/cheap_hypotenuseCalculate the hypotenuse cheaply (this should be in maths.dm)
/proc/recursive_organ_check
/proc/try_move_adjacentTries to move an atom to an adjacent turf, return TRUE if successful
/proc/get_mob_by_keyReturn the mob type that is being controlled by a ckey
/proc/considered_aliveReturns true if the mob that a player is controlling is alive
/proc/considered_exiledExiled check
/proc/considered_afkChecks if a player is considered AFK
/proc/screen_textReturn an object with a new maptext (not currently in use)
/proc/remove_image_from_clientRemoves an image from a client's .images. Useful as a callback.
/proc/remove_images_from_clientsLike remove_image_from_client, but will remove the image from a list of clients
/proc/flick_overlayAdd an image to a list of clients and calls a proc to remove it after a duration
/proc/flick_overlay_viewwrapper for flick_overlay(), flicks to everyone who can see the target atom
/proc/get_active_player_countGet active players who are playing in the round
/proc/show_candidate_poll_windowShow the poll window to the candidate mobs
/proc/poll_ghost_candidatesWrapper to send all ghosts the poll to ask them if they want to be considered for a mob.
/proc/poll_candidatesCalls the show_candidate_poll_window() to all eligible ghosts
/proc/poll_candidates_for_mobReturns a list of ghosts that are eligible to take over and wish to be considered for a mob.
/proc/poll_candidates_for_mobsReturns a list of ghosts that are eligible to take over and wish to be considered for a mob.
/proc/make_bodyUses stripped down and bastardized code from respawn character
/proc/send_to_playing_playerssends a whatever to all playing players; use instead of to_chat(world, where needed)
/proc/window_flashFlash the window of a player
/proc/recursive_loc_checkRecursively checks if an item is inside a given type, even through layers of storage. Returns the atom if it finds it.
/proc/announce_arrivalSend a message in common radio when a player arrives
/proc/find_obstruction_free_locationFind an obstruction free turf that's within the range of the center. Can also condition on if it is of a certain area type.
/proc/power_failDisable power in the station APCs
/proc/send_tip_of_the_roundSends a round tip to a target. If selected_tip is null, a random tip will be sent instead (5% chance of it being silly). +Tips that starts with the @ character won't be html encoded. That's necessary for any tip containing markup tags, +just make sure they don't also have html characters like <, > and ' which will be garbled.

Define Details

+

CULT_POLL_WAIT + + +

+

Time before being allowed to select a new cult leader again

GET_ERROR_ROOM + + +

+

Returns either the error landmark or the location of the room. Needless to say, if this is used, it means things have gone awry.

+ + + diff --git a/code/__HELPERS/generators.html b/code/__HELPERS/generators.html new file mode 100644 index 000000000000..ae20af188c28 --- /dev/null +++ b/code/__HELPERS/generators.html @@ -0,0 +1,29 @@ + + + + + + + code/__HELPERS/generators.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/generators.dm + +

+ + + +
/proc/return_generator_argsreturns the arguments given to a generator and manually extracts them from the internal byond object +returns:
+ + + diff --git a/code/__HELPERS/global_lists.html b/code/__HELPERS/global_lists.html new file mode 100644 index 000000000000..4f2432ae84b4 --- /dev/null +++ b/code/__HELPERS/global_lists.html @@ -0,0 +1,32 @@ + + + + + + + code/__HELPERS/global_lists.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/global_lists.dm + +

+ + + + + + + +
/proc/make_datum_references_listsInitial Building
/proc/init_crafting_recipesInits the crafting recipe list, sorting crafting recipe requirements in the process.
/proc/init_subtypes_w_path_keysFunctions like init_subtypes, but uses the subtype's path as a key for easy access
+ + + diff --git a/code/__HELPERS/guid.html b/code/__HELPERS/guid.html new file mode 100644 index 000000000000..6707eb94058e --- /dev/null +++ b/code/__HELPERS/guid.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/guid.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/guid.dm + +

+ + + +
/proc/GUIDreturns a GUID like identifier (using a mostly made up record format) +guids are not on their own suitable for access or security tokens, as most of their bits are predictable. +(But may make a nice salt to one)
+ + + diff --git a/code/__HELPERS/honkerblast.html b/code/__HELPERS/honkerblast.html new file mode 100644 index 000000000000..05f6e7b8b8cb --- /dev/null +++ b/code/__HELPERS/honkerblast.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/honkerblast.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/honkerblast.dm + +

+ + + +
/proc/honkerblastUnleashes a honkerblast similar to the honkmech weapon, but with more granular control.
+ + + diff --git a/code/__HELPERS/html.html b/code/__HELPERS/html.html new file mode 100644 index 000000000000..56b83f082fb0 --- /dev/null +++ b/code/__HELPERS/html.html @@ -0,0 +1,43 @@ + + + + + + + code/__HELPERS/html.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/html.dm + +

+ + + + + + + +
/proc/icon_elementDisplay a DM icon in a a browser.
/proc/ellipsisInline script for an animated ellipsis
CHAT_TAGChat tag image embed, see chat_tags.dm
RADIO_TAGRadio tag image embed, see chat_tags.dm

Define Details

+

CHAT_TAG + + + +

+

Chat tag image embed, see chat_tags.dm

RADIO_TAG + + + +

+

Radio tag image embed, see chat_tags.dm

+ + + diff --git a/code/__HELPERS/icon_smoothing.html b/code/__HELPERS/icon_smoothing.html new file mode 100644 index 000000000000..c167c6dfe05b --- /dev/null +++ b/code/__HELPERS/icon_smoothing.html @@ -0,0 +1,33 @@ + + + + + + + code/__HELPERS/icon_smoothing.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/icon_smoothing.dm + +

+ + +
CAN_AREAS_SMOOTHTest if thing (an atom) can smooth with an adjacent turf. This is a macro because it is a very very hot proc.

Define Details

+

CAN_AREAS_SMOOTH + + + +

+

Test if thing (an atom) can smooth with an adjacent turf. This is a macro because it is a very very hot proc.

+ + + diff --git a/code/__HELPERS/icons.html b/code/__HELPERS/icons.html new file mode 100644 index 000000000000..c86bd9eecdf9 --- /dev/null +++ b/code/__HELPERS/icons.html @@ -0,0 +1,75 @@ + + + + + + + code/__HELPERS/icons.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/icons.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/rgb2hsvConverts an rgb color into a list storing hsva +Exists because it's useful to have a guarenteed alpha value
/proc/hsv2rgbConverts a list storing hsva into an rgb color string
/proc/getFlatIconOnly the first argument is required.
/proc/generate_icon_alpha_maskHelper proc to generate a cutout alpha mask out of an icon.
/proc/get_flat_existing_human_iconA simpler version of get_flat_human_icon() that uses an existing human as a base to create the icon. +Does not feature caching yet, since I could not think of a good way to cache them without having a possibility +of using the cached version when we don't want to, so only use this proc if you just need this flat icon +generated once and handle the caching yourself if you need to access that icon multiple times, or +refactor this proc to feature caching of icons.
/proc/generate_and_hash_rsc_filegenerates a filename for a given asset. +like generate_asset_name(), except returns the rsc reference and the rsc file hash as well as the asset name (sans extension) +used so that certain asset files dont have to be hashed twice
/proc/generate_asset_nameGenerate a filename for this asset +The same asset will always lead to the same asset name +(Generated names do not include file extention.)
/proc/icon2base64Converts an icon to base64. Operates by putting the icon in the iconCache savefile, +exporting it as text, and then parsing the base64 from that. +(This relies on byond automatically storing icons in savefiles as base64)
/proc/is_valid_dmi_filegiven a text string, returns whether it is a valid dmi icons folder path
/proc/get_icon_dmi_pathgiven an icon object, dmi file path, or atom/image/mutable_appearance, attempts to find and return an associated dmi file path. +a weird quirk about dm is that /icon objects represent both compile-time or dynamic icons in the rsc, +but stringifying rsc references returns a dmi file path +ONLY if that icon represents a completely unchanged dmi file from when the game was compiled. +so if the given object is associated with an icon that was in the rsc when the game was compiled, this returns a path. otherwise it returns ""
/proc/center_imageCenter's an image. +Requires: +The Image +The x dimension of the icon file used in the image +The y dimension of the icon file used in the image +eg: center_image(image_to_center, 32,32) +eg2: center_image(image_to_center, 96,96)
/proc/flick_overlay_staticFlickers an overlay on an atom
/proc/icon_existsChecks if the given iconstate exists in the given file, caching the result. Setting scream to TRUE will print a stack trace ONCE.
/proc/pull_apart_damage_statesThis exists purely to import sprites from a codebase like Citadel RP.
+ + + diff --git a/code/__HELPERS/jatum.html b/code/__HELPERS/jatum.html new file mode 100644 index 000000000000..27ee344f042b --- /dev/null +++ b/code/__HELPERS/jatum.html @@ -0,0 +1,32 @@ + + + + + + + code/__HELPERS/jatum.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/jatum.dm + +

+ + +
JATUM_VERSIONThe JATUM version used for serializing and deserializing

Define Details

+

JATUM_VERSION + + +

+

The JATUM version used for serializing and deserializing

+ + + diff --git a/code/__HELPERS/lighting.html b/code/__HELPERS/lighting.html new file mode 100644 index 000000000000..5d401ab6ed9d --- /dev/null +++ b/code/__HELPERS/lighting.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/lighting.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/lighting.dm + +

+ + + + + +
/proc/emissive_appearanceProduces a mutable appearance glued to the EMISSIVE_PLANE dyed to be the EMISSIVE_COLOR.
/proc/emissive_blockerProduces a mutable appearance glued to the EMISSIVE_PLANE dyed to be the EM_BLOCK_COLOR.
+ + + diff --git a/code/__HELPERS/maths.html b/code/__HELPERS/maths.html new file mode 100644 index 000000000000..7a1fd3e32ccc --- /dev/null +++ b/code/__HELPERS/maths.html @@ -0,0 +1,179 @@ + + + + + + + code/__HELPERS/maths.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/maths.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/get_angleCalculate the angle between two points and the west|east coordinate
/proc/get_pixel_anglefor getting the angle when animating something's pixel_x and pixel_y
/proc/get_lineGet a list of turfs in a line from starting_atom to ending_atom.
/proc/display_powerFormat a power value in W, kW, MW, or GW.
/proc/display_joulesFormat an energy value in J, kJ, MJ, or GJ. 1W = 1J/s.
/proc/display_energyFormat an energy value measured in Power Cell units.
/proc/anyprobchances are 1:value. anyprob(1) will always return true
/proc/bit_countcounts the number of bits in Byond's 16-bit width field, in constant time and memory!
/proc/make_tupleReturns the name of the mathematical tuple of same length as the number arg (rounded down).
DEG_TO_RADMultiplier for converting degrees to radians
RAD_TO_DEGMultiplier for converting radians to degrees
FrandA random real number between low and high inclusive
CeilValue or the next integer in a positive direction: Ceil(-1.5) = -1 , Ceil(1.5) = 2
CeilmValue or the next multiple of divisor in a positive direction. Ceilm(-1.5, 0.3) = -1.5 , Ceilm(-1.5, 0.4) = -1.2
CeilpValue or the nearest power of power in a positive direction: Ceilp(3, 2) = 4 , Ceilp(5, 3) = 9
FloorValue or the next integer in a negative direction: Floor(-1.5) = -2 , Floor(1.5) = 1
FloormValue or the next multiple of divisor in a negative direction: Floorm(-1.5, 0.3) = -1.5 , Floorm(-1.5, 0.4) = -1.6
RoundValue or the nearest integer in either direction
RoundmValue or the nearest multiple of divisor in either direction
PercentThe percentage of value in max, rounded to places: 1 = nearest 0.1 , 0 = nearest 1 , -1 = nearest 10, etc
IsIntegerTrue if value is an integer number.
IsPowerOfTwoTrue if value is a non-negative integer that is 0 or has a single bit set. 0, 1, 2, 4, 8 ...
IsEvenTrue if value is an integer that is not zero and does not have the 1 bit set
IsOddTrue if value is an integer that has the 1 bit set.
IsMultipleTrue if value is a multiple of divisor
IsInRangeTrue if value is between low and high inclusive
CscThe cosecant of degrees
SecThe secant of degrees
CotThe cotangent of degrees
/proc/Atan2The 2-argument arctangent of x and y
/proc/InterpolateReturns a linear interpolation from a to b according to weight. weight 0 is a, weight 1 is b, weight 0.5 is half-way between the two.
/proc/MeanReturns the mean of either a list or variadic arguments: Mean(list(1, 2, 3)) = 2 , Mean(1, 2, 3) = 2
/proc/VecSquareMagReturns the euclidian square magnitude of a vector of either a list or variadic arguments: VecSquareMag(list(1, 2, 3)) = 14 , VecSquareMag(1, 2, 3) = 14
/proc/VecMagReturns the euclidian magnitude of a vector of either a list or variadic arguments: VecMag(list(3, 4)) = 5 , VecMag(3, 4) = 5
FAHRENHEITConverts kelvin to farenheit

Define Details

+

Ceil + + + +

+

Value or the next integer in a positive direction: Ceil(-1.5) = -1 , Ceil(1.5) = 2

Ceilm + + + +

+

Value or the next multiple of divisor in a positive direction. Ceilm(-1.5, 0.3) = -1.5 , Ceilm(-1.5, 0.4) = -1.2

Ceilp + + + +

+

Value or the nearest power of power in a positive direction: Ceilp(3, 2) = 4 , Ceilp(5, 3) = 9

Cot + + + +

+

The cotangent of degrees

Csc + + + +

+

The cosecant of degrees

DEG_TO_RAD + + +

+

Multiplier for converting degrees to radians

FAHRENHEIT + + + +

+

Converts kelvin to farenheit

Floor + + + +

+

Value or the next integer in a negative direction: Floor(-1.5) = -2 , Floor(1.5) = 1

Floorm + + + +

+

Value or the next multiple of divisor in a negative direction: Floorm(-1.5, 0.3) = -1.5 , Floorm(-1.5, 0.4) = -1.6

Frand + + + +

+

A random real number between low and high inclusive

IsEven + + + +

+

True if value is an integer that is not zero and does not have the 1 bit set

IsInRange + + + +

+

True if value is between low and high inclusive

IsInteger + + + +

+

True if value is an integer number.

IsMultiple + + + +

+

True if value is a multiple of divisor

IsOdd + + + +

+

True if value is an integer that has the 1 bit set.

IsPowerOfTwo + + + +

+

True if value is a non-negative integer that is 0 or has a single bit set. 0, 1, 2, 4, 8 ...

Percent + + + +

+

The percentage of value in max, rounded to places: 1 = nearest 0.1 , 0 = nearest 1 , -1 = nearest 10, etc

RAD_TO_DEG + + +

+

Multiplier for converting radians to degrees

Round + + + +

+

Value or the nearest integer in either direction

Roundm + + + +

+

Value or the nearest multiple of divisor in either direction

Sec + + + +

+

The secant of degrees

+ + + diff --git a/code/__HELPERS/matrices.html b/code/__HELPERS/matrices.html new file mode 100644 index 000000000000..22a5652eab16 --- /dev/null +++ b/code/__HELPERS/matrices.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/matrices.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/matrices.dm + +

+ + + + +
/datum/decompose_matrixDatum which stores information about a matrix decomposed with decompose().
/proc/color_to_full_rgba_matrixConverts RGB shorthands into RGBA matrices complete of constants rows (ergo a 20 keys list in byond). +if return_identity_on_fail is true, stack_trace is called instead of CRASH, and an identity is returned.
+ + + diff --git a/code/__HELPERS/memory_helpers.html b/code/__HELPERS/memory_helpers.html new file mode 100644 index 000000000000..2686218ddfcc --- /dev/null +++ b/code/__HELPERS/memory_helpers.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/memory_helpers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/memory_helpers.dm + +

+ + + +
/proc/add_memory_in_rangeAdds a memory to people that can see this happening, only use this for impactful or rare events to reduce overhead.
+ + + diff --git a/code/__HELPERS/mobs.html b/code/__HELPERS/mobs.html new file mode 100644 index 000000000000..c008778bc1de --- /dev/null +++ b/code/__HELPERS/mobs.html @@ -0,0 +1,95 @@ + + + + + + + code/__HELPERS/mobs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/mobs.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FACING_SAME_DIRTwo mobs are facing the same direction
FACING_EACHOTHERTwo mobs are facing each others
FACING_INIT_FACING_TARGET_TARGET_FACING_PERPENDICULARTwo mobs one is facing a person, but the other is perpendicular
/proc/do_afterTimed action involving one mob user. Target is optional, defaulting to user.
/proc/do_after_mobTimed action involving at least one mob user and a list of targets. interaction_key is the assoc key under which the do_after is capped under, and the max interaction count is how many of this interaction you can do at once.
/proc/ishumanbasicReturns if the given target is a human. Like, a REAL human. +Not a moth, not a felinid (which are human subtypes), but a human.
/proc/active_free_borgsSilicon Mob Procs
/proc/get_temp_change_amountUsed to get the amount of change between two body temperatures
IS_IN_STASISIf a mob is in hard or soft stasis
IS_IN_HARD_STASISIf a mob is in hard stasis
SET_STASIS_LEVELSet a stasis level for a specific source.
GET_CLIENTGets the client of the mob, allowing for mocking of the client. +You only need to use this if you know you're going to be mocking clients somewhere else.
/proc/sort_mobsOrders mobs by type then by name. Accepts optional arg to sort a custom list, otherwise copies GLOB.mob_list.
/proc/get_mob_by_ckeyreturns a mob type controlled by a specified ckey
/proc/parse_zoneReturn a string for the specified body zone. Should be used for parsing non-instantiated bodyparts, otherwise use /obj/item/bodypart/var/plaintext_zone
/proc/parse_slot_flagsReturns a list of strings for a given slot flag.
/proc/check_target_facingsReturns the direction that the initiator and the target are facing
/proc/get_mob_or_brainmobReturns the occupant mob or brain from a specified input
/proc/living_player_countReturns the amount of currently living players
/proc/dviewVersion of view() which ignores darkness, because BYOND doesn't have it (I actually suggested it but it was tagged redundant, BUT HEARERS IS A T- /rant).

Define Details

+

FACING_EACHOTHER + + +

+

Two mobs are facing each others

FACING_INIT_FACING_TARGET_TARGET_FACING_PERPENDICULAR + + +

+

Two mobs one is facing a person, but the other is perpendicular

FACING_SAME_DIR + + +

+

Two mobs are facing the same direction

GET_CLIENT + + + +

+

Gets the client of the mob, allowing for mocking of the client. +You only need to use this if you know you're going to be mocking clients somewhere else.

IS_IN_HARD_STASIS + + + +

+

If a mob is in hard stasis

IS_IN_STASIS + + + +

+

If a mob is in hard or soft stasis

SET_STASIS_LEVEL + + + +

+

Set a stasis level for a specific source.

+ + + diff --git a/code/__HELPERS/nameof.html b/code/__HELPERS/nameof.html new file mode 100644 index 000000000000..d6217267877a --- /dev/null +++ b/code/__HELPERS/nameof.html @@ -0,0 +1,43 @@ + + + + + + + code/__HELPERS/nameof.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/nameof.dm + +

+ + + +
NAMEOFNAMEOF: Compile time checked variable name to string conversion +evaluates to a string equal to "X", but compile errors if X isn't a var on datum. +datum may be null, but it does need to be a typed var.
NAMEOF_STATICNAMEOF that actually works in static definitions because src::type requires src to be defined

Define Details

+

NAMEOF + + + +

+

NAMEOF: Compile time checked variable name to string conversion +evaluates to a string equal to "X", but compile errors if X isn't a var on datum. +datum may be null, but it does need to be a typed var.

NAMEOF_STATIC + + + +

+

NAMEOF that actually works in static definitions because src::type requires src to be defined

+ + + diff --git a/code/__HELPERS/names.html b/code/__HELPERS/names.html new file mode 100644 index 000000000000..aced75abdec7 --- /dev/null +++ b/code/__HELPERS/names.html @@ -0,0 +1,29 @@ + + + + + + + code/__HELPERS/names.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/names.dm + +

+ + + +
/proc/tool_behaviour_namereturns an ic name of the tool needed +Arguments:
+ + + diff --git a/code/__HELPERS/paths/jps_path.html b/code/__HELPERS/paths/jps_path.html new file mode 100644 index 000000000000..dae668f96922 --- /dev/null +++ b/code/__HELPERS/paths/jps_path.html @@ -0,0 +1,34 @@ + + + + + + + code/__HELPERS/paths/jps_path.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/paths/jps_path.dm + +

+ + + + + + + + + +
/datum/jps_nodeThe JPS Node datum represents a turf that we find interesting enough to add to the open list and possibly search for new tiles from
/proc/HeapPathWeightCompareTODO: Macro this to reduce proc overhead
/datum/pathfind/jpsThe datum used to handle the JPS pathfinding, completely self-contained
/proc/remove_clunky_diagonalsProcesses a path (list of turfs), removes any diagonal moves that would lead to a weird bump
/proc/remove_diagonalsProcesses a path (list of turfs), removes any diagonal moves
+ + + diff --git a/code/__HELPERS/paths/path.html b/code/__HELPERS/paths/path.html new file mode 100644 index 000000000000..d3c80c354c73 --- /dev/null +++ b/code/__HELPERS/paths/path.html @@ -0,0 +1,36 @@ + + + + + + + code/__HELPERS/paths/path.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/paths/path.dm + +

+ + + + + + +
/proc/jps_path_toThese are generally cheaper than looping contents so they go first +This file contains the stuff you need for using JPS (Jump Point Search) pathing, an alternative to A* that skips +over large numbers of uninteresting tiles resulting in much quicker pathfinding solutions. Mind that diagonals +cost the same as cardinal moves currently, so paths may look a bit strange, but should still be optimal.
/proc/pathfinding_finishedUses funny pass by reference bullshit to take the path created by pathfinding, and insert it into a return list +We'll be able to use this return list to tell a sleeping proc to continue execution
/datum/can_pass_infoHolds all information about what an atom can move through +Passed into CanAStarPass to provide context for a pathing attempt
+ + + diff --git a/code/__HELPERS/priority_announce.html b/code/__HELPERS/priority_announce.html new file mode 100644 index 000000000000..b76b8df04fc1 --- /dev/null +++ b/code/__HELPERS/priority_announce.html @@ -0,0 +1,31 @@ + + + + + + + code/__HELPERS/priority_announce.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/priority_announce.dm + +

+ + + + + +
/proc/priority_announceCreate an announcement to send globally or to a specified list of players.
/proc/call_emergency_meetingIf the announcer overrides alert messages, use that message. +Summon the crew for an emergency meeting
+ + + diff --git a/code/__HELPERS/qdel.html b/code/__HELPERS/qdel.html new file mode 100644 index 000000000000..f933599f9383 --- /dev/null +++ b/code/__HELPERS/qdel.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/qdel.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/qdel.dm + +

+ + + +
/proc/______qdel_list_wrapperthe underscores are to encourage people not to use this directly.
+ + + diff --git a/code/__HELPERS/radiation.html b/code/__HELPERS/radiation.html new file mode 100644 index 000000000000..ea115fe856e0 --- /dev/null +++ b/code/__HELPERS/radiation.html @@ -0,0 +1,51 @@ + + + + + + + code/__HELPERS/radiation.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/radiation.dm + +

+ + + + + + +
CAN_IRRADIATEWhether or not it's possible for this atom to be irradiated
/proc/radiation_pulseSends out a pulse of radiation, eminating from the source. +Radiation is performed by collecting all radiatables within the max range (0 means source only, 1 means adjacent, etc), +then makes their way towards them. A number, starting at 1, is multiplied +by the insulation amounts of whatever is in the way (for example, walls lowering it down). +If this number hits equal or below the threshold, then the target can no longer be irradiated. +If the number is above the threshold, then the chance is the chance that the target will be irradiated. +As a consumer, this means that max_range going up usually means you want to lower the threshold too, +as well as the other way around. +If max_range is high, but threshold is too high, then it usually won't reach the source at the max range in time. +If max_range is low, but threshold is too low, then it basically guarantees everyone nearby, even if there's walls +and such in the way, can be irradiated. +You can also pass in a minimum exposure time. If this is set, then this radiation pulse +will not irradiate the source unless they have been around any radioactive source for that +period of time.
/proc/get_perceived_radiation_dangerGets the perceived "danger" of radiation pulse, given the threshold to the target. +Returns a RADIATION_DANGER_* define, see code/__DEFINES/radiation.dm

Define Details

+

CAN_IRRADIATE + + + +

+

Whether or not it's possible for this atom to be irradiated

+ + + diff --git a/code/__HELPERS/radio.html b/code/__HELPERS/radio.html new file mode 100644 index 000000000000..fc249e4caf07 --- /dev/null +++ b/code/__HELPERS/radio.html @@ -0,0 +1,34 @@ + + + + + + + code/__HELPERS/radio.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/radio.dm + +

+ + + + + + + + + +
/proc/sanitize_frequencyEnsure the frequency is within bounds of what it should be sending/receiving at
/proc/format_frequencyFormat frequency by moving the decimal.
/proc/unformat_frequencyOpposite of format, returns as a number
/proc/return_unused_frequencyreturns a random unused frequency between MIN_FREE_FREQ & MAX_FREE_FREQ if free = TRUE, and MIN_FREQ & MAX_FREQ if FALSE
+ + + diff --git a/code/__HELPERS/randoms.html b/code/__HELPERS/randoms.html new file mode 100644 index 000000000000..57105e0b6047 --- /dev/null +++ b/code/__HELPERS/randoms.html @@ -0,0 +1,35 @@ + + + + + + + code/__HELPERS/randoms.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/randoms.dm + +

+ + + + + + + + + +
/proc/get_random_foodGet a random food item exluding the blocked ones
/proc/get_random_drinkGets a random drink excluding the blocked type
/proc/ion_numPicks a string of symbols to display as the law number for hacked or ion laws +is at the start to prevent us from changing say modes via get_message_mode()
/proc/random_nukecodeReturns a string for a random nuke code
+ + + diff --git a/code/__HELPERS/reagents.html b/code/__HELPERS/reagents.html new file mode 100644 index 000000000000..f3b472c606dc --- /dev/null +++ b/code/__HELPERS/reagents.html @@ -0,0 +1,45 @@ + + + + + + + code/__HELPERS/reagents.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/reagents.dm + +

+ + + + + + + + + + + + + + +
/proc/convert_ph_to_readable_colorConverts the pH into a tgui readable color - i.e. white and black text is readable over it. This is NOT the colourwheel for pHes however.
CONVERT_PH_TO_COLORConverts pH to universal indicator colours. This is the colorwheel for pHes
/proc/get_reagent_type_from_product_stringReturns a list of chemical_reaction datums that have the input STRING as a product
/proc/find_reagentReturns reagent datum from typepath
/proc/get_random_reagent_idReturns a random reagent object minus blacklisted reagents
/proc/get_chem_idReturns reagent datum from reagent name string
/proc/get_recipe_from_reagent_productTakes a type in and returns a list of associated recipes

Define Details

+

CONVERT_PH_TO_COLOR + + + +

+

Converts pH to universal indicator colours. This is the colorwheel for pHes

+ + + diff --git a/code/__HELPERS/ref.html b/code/__HELPERS/ref.html new file mode 100644 index 000000000000..6c91836574df --- /dev/null +++ b/code/__HELPERS/ref.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/ref.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/ref.dm + +

+ + + +
/proc/REF\ref behaviour got changed in 512 so this is necesary to replicate old behaviour. +If it ever becomes necesary to get a more performant REF(), this lies here in wait +#define REF(thing) (thing && istype(thing, /datum) && (thing:datum_flags & DF_USE_TAG) && thing:tag ? "[thing:tag]" : "\ref[thing]")
+ + + diff --git a/code/__HELPERS/sanitize_values.html b/code/__HELPERS/sanitize_values.html new file mode 100644 index 000000000000..a9f1ba32773e --- /dev/null +++ b/code/__HELPERS/sanitize_values.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/sanitize_values.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/sanitize_values.dm + +

+ + + +
/proc/sanitize_colorMakes sure the input color is text with a # at the start followed by 6 hexadecimal characters. Examples: "#ff1234", "#A38321", COLOR_GREEN_GRAY
+ + + diff --git a/code/__HELPERS/screen_objs.html b/code/__HELPERS/screen_objs.html new file mode 100644 index 000000000000..ecdb6fbfcef2 --- /dev/null +++ b/code/__HELPERS/screen_objs.html @@ -0,0 +1,40 @@ + + + + + + + code/__HELPERS/screen_objs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/screen_objs.dm + +

+ + + + + + + + + +
/proc/screen_loc_to_offsetTakes a screen loc string in the format +"+-left-offset:+-pixel,+-bottom-offset:+-pixel" +Where the :pixel is optional, and returns +A list in the format (x_offset, y_offset) +We require context to get info out of screen locs that contain relative info, so NORTH, SOUTH, etc
/proc/offset_to_screen_locTakes a list in the form (x_offset, y_offset) +And converts it to a screen loc string +Accepts an optional view string/size to force the screen_loc around, so it can't go out of scope
/proc/get_valid_screen_locationReturns a valid location to place a screen object without overflowing the viewport
/proc/cut_relative_directionTakes a screen_loc string and cut out any directions like NORTH or SOUTH
+ + + diff --git a/code/__HELPERS/see_through_maps.html b/code/__HELPERS/see_through_maps.html new file mode 100644 index 000000000000..998f424134fb --- /dev/null +++ b/code/__HELPERS/see_through_maps.html @@ -0,0 +1,57 @@ + + + + + + + code/__HELPERS/see_through_maps.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/see_through_maps.dm + +

+ + + + + + + +
SEE_THROUGH_MAP_DEFAULTDefault shape. It's one tile above the atom
SEE_THROUGH_MAP_THREE_X_THREEA 3x3 area 2 tiles above the atom (trees love to be this shape)
SEE_THROUGH_MAP_DEFAULT_TWO_TALL2 tiles above the atom
SEE_THROUGH_MAP_THREE_X_TWOtwo rows of three tiles above the atom (small but thick trees love these)
SEE_THROUGH_MAP_BILLBOARDOne row of three tiles above the atom, but offset one tile to the left because of how billboards work
SEE_THROUGH_MAP_SHIPPING_CONTAINERTwo rows of three wide, but offset one tile to the left because thats how shipping containers work

Define Details

+

SEE_THROUGH_MAP_BILLBOARD + + +

+

One row of three tiles above the atom, but offset one tile to the left because of how billboards work

SEE_THROUGH_MAP_DEFAULT + + +

+

Default shape. It's one tile above the atom

SEE_THROUGH_MAP_DEFAULT_TWO_TALL + + +

+

2 tiles above the atom

SEE_THROUGH_MAP_SHIPPING_CONTAINER + + +

+

Two rows of three wide, but offset one tile to the left because thats how shipping containers work

SEE_THROUGH_MAP_THREE_X_THREE + + +

+

A 3x3 area 2 tiles above the atom (trees love to be this shape)

SEE_THROUGH_MAP_THREE_X_TWO + + +

+

two rows of three tiles above the atom (small but thick trees love these)

+ + + diff --git a/code/__HELPERS/spatial_info.html b/code/__HELPERS/spatial_info.html new file mode 100644 index 000000000000..8096ccb79e57 --- /dev/null +++ b/code/__HELPERS/spatial_info.html @@ -0,0 +1,78 @@ + + + + + + + code/__HELPERS/spatial_info.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/spatial_info.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/turfAny floor or wall. What makes up the station and the rest of the map. +If present, a turf above that is copying this turf. Implies a Z-connection and that the turf above is a z-mimic enabled turf. +If present, the turf below that we are copying. Implies a Z-connection and that this is a z-mimic enabled turf. +If we're a non-overwrite z-turf, this holds the appearance of the bottom-most Z-turf in the z-stack. +Object used to multiply color of all OO overlays at once. +If this is a delegate (non-overwrite) Z-turf with a z-turf above, this is the delegate copy that's copying us. +If we're at the bottom of the stack, a proxy used to fake a below space turf. +Cached computed depth, used in analyzer.
/mob/oranges_ear
/proc/get_hearers_in_viewreturns every hearaing movable in view to the turf of source not taking into account lighting +useful when you need to maintain always being able to hear something if a sound is emitted from it and you can see it (and youre in range). +otherwise this is just a more expensive version of get_hearers_in_LOS()
/proc/get_hearers_in_LOSReturns a list of movable atoms that are hearing sensitive in view_radius and line of sight to source +the majority of the work is passed off to the spatial grid if view_radius > 0 +because view() isnt a raycasting algorithm, this does not hold symmetry to it. something in view might not be hearable with this. +if you want that use get_hearers_in_view() - however thats significantly more expensive
/proc/get_hearers_in_radio_rangesReturns an associative list-of-lists of radio : hearers
/proc/inLineOfSightCalculate if two atoms are in sight, returns TRUE or FALSE
/proc/circle_rangeReturns all atoms present in a circle around the center
/proc/circle_viewReturns all atoms present in a circle around the center but uses view() instead of range() (Currently not used)
/proc/get_dist_euclideanReturns the distance between two atoms
/proc/get_dist_manhattanReturns the manhattan distance between two atoms. Returns INFINITY if either are not on a turf, for BYOND get_dist() parity.
/proc/circle_range_turfsReturns a list of turfs around a center based on RANGE_TURFS()
/proc/circle_view_turfsReturns a list of turfs around a center based on view()
/proc/get_bbox_of_atomsGet a bounding box of a list of atoms.
/proc/get_hearLike view but bypasses luminosity check
/proc/get_open_turf_in_dirReturns the open turf next to the center in a specific direction
/proc/get_adjacent_open_turfsReturns a list with all the adjacent open turfs.
/proc/get_adjacent_open_areasReturns a list with all the adjacent areas by getting the adjacent open turfs
/proc/get_areas_in_rangeReturns a list with the names of the areas around a center at a certain distance +Returns the local area if no distance is indicated +Returns an empty list if the center is null
/proc/get_adjacent_areasReturns a list of all areas that are adjacent to the center atom's area, clear the list of nulls at the end.
/proc/alone_in_areaChecks if the mob provided (must_be_alone) is alone in an area
+ + + diff --git a/code/__HELPERS/spawns.html b/code/__HELPERS/spawns.html new file mode 100644 index 000000000000..4126a5d4cec6 --- /dev/null +++ b/code/__HELPERS/spawns.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/spawns.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/spawns.dm + +

+ + + +
/proc/podspawnOne proc for easy spawning of pods in the code to drop off items before whizzling (please don't proc call this in game, it will destroy you)
+ + + diff --git a/code/__HELPERS/stack_trace.html b/code/__HELPERS/stack_trace.html new file mode 100644 index 000000000000..08435355e33c --- /dev/null +++ b/code/__HELPERS/stack_trace.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/stack_trace.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/stack_trace.dm + +

+ + + +
/proc/stack_tracegives us the stack trace from CRASH() without ending the current proc.
+ + + diff --git a/code/__HELPERS/stoplag.html b/code/__HELPERS/stoplag.html new file mode 100644 index 000000000000..03ceb178dcc0 --- /dev/null +++ b/code/__HELPERS/stoplag.html @@ -0,0 +1,34 @@ + + + + + + + code/__HELPERS/stoplag.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/stoplag.dm + +

+ + + + +
DELTA_CALCIncreases delay as the server gets more overloaded, as sleeps aren't cheap and sleeping only to wake up and sleep again is wasteful
/proc/stoplagreturns the number of ticks slept

Define Details

+

DELTA_CALC + + +

+

Increases delay as the server gets more overloaded, as sleeps aren't cheap and sleeping only to wake up and sleep again is wasteful

+ + + diff --git a/code/__HELPERS/string_lists.html b/code/__HELPERS/string_lists.html new file mode 100644 index 000000000000..90cb0ffd7b56 --- /dev/null +++ b/code/__HELPERS/string_lists.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/string_lists.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/string_lists.dm + +

+ + + + + +
/proc/string_listCaches lists with non-numeric stringify-able values (text or typepath).
/proc/baseturfs_string_listA wrapper for baseturf string lists, to offer support of non list values, and a stack_trace if we have major issues
+ + + diff --git a/code/__HELPERS/text.html b/code/__HELPERS/text.html new file mode 100644 index 000000000000..c5a583afa7c1 --- /dev/null +++ b/code/__HELPERS/text.html @@ -0,0 +1,81 @@ + + + + + + + code/__HELPERS/text.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/text.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/sanitize_namereturns nothing with an alert instead of the message if it contains something in the ic filter, and sanitizes normally if the name is fine. It returns nothing so it backs out of the input the same way as if you had entered nothing.
/proc/sanitizeRuns byond's html encoding sanitization proc, after replacing new-lines and tabs for the # character.
/proc/strip_htmlRuns STRIP_HTML_SIMPLE and sanitize.
/proc/adminscrubRuns STRIP_HTML_SIMPLE and byond's sanitization proc.
/proc/htmlrendertextPerform a whitespace cleanup on the text, similar to what HTML renderers do
/proc/reject_bad_textReturns the text if properly formatted, or null else.
/proc/stripped_inputUsed to get a properly sanitized input, of max_length +no_trim is self explanatory but it prevents the input from being trimed if you intend to parse newlines or whitespace.
/proc/reject_bad_nameFilters out undesirable characters from names.
/proc/truncateTruncate a string to the given length
/proc/stringmergeThis proc replaces all instances of the "replace" character in "text" with the character in the same position within the "compare" string +"FFFFFFFFFFFFFFFFF***" and "FFFFFFFFFFFFFFF*****************FFFFFFFFFFFFFFFFFF" +is "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
/proc/int_to_wordsTakes a 1, 2 or 3 digit number and returns it in words. Don't call this directly, use convert_integer_to_words() instead.
/proc/convert_integer_to_wordsTakes an integer up to 999,999,999 and returns it in words. Works with negative numbers and 0.
/proc/random_capital_letterhandles thousands
/proc/siunitFormats a number to human readable form with the appropriate SI unit.
/proc/siunit_pressure
/proc/scramble_message_replace_charsSlightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML!
/proc/piglatin_sentenceruns piglatin_word() proc on each word in a sentence. preserves caps and punctuation
/proc/piglatin_wordtakes "word", and returns it piglatinized.
/proc/reject_bad_chattextThe procedure to check the text of the entered text on ntnrc_client.dm
/proc/format_textProperly format a string of text by using replacetext()
/proc/weight_class_to_textReturns a string based on the weight class define used as argument
/proc/sanitize_css_class_nameRemoves all non-alphanumerics from the text, keep in mind this can lead to id conflicts
/proc/text_previewProvides a preview of [string] up to [len - 3], after which it appends "..." if it pasts the length.
/proc/remove_all_tagsRemoves all tags in a string of text. +May result in some formatting errors, floating whitespace. Not perfect.
/proc/scramble_textScramble a string up. +intensity = number of times we recursively call ourselves to scramble.
+ + + diff --git a/code/__HELPERS/time.html b/code/__HELPERS/time.html new file mode 100644 index 000000000000..a7c452a621af --- /dev/null +++ b/code/__HELPERS/time.html @@ -0,0 +1,35 @@ + + + + + + + code/__HELPERS/time.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/time.dm + +

+ + + + + + + + + +
/proc/station_timeGenerate a game-world time value in deciseconds.
/proc/weekday_to_isoReturns a string day as an integer in ISO format 1 (Monday) - 7 (Sunday)
/proc/first_day_of_monthReturns the first day of the given year and month in number format, from 1 (monday) - 7 (sunday).
/proc/time_to_twelve_hourConverts a time expressed in deciseconds (like world.time) to the 12-hour time format. +the format arg is the format passed down to time2text() (e.g. "hh:mm" is hours and minutes but not seconds).
+ + + diff --git a/code/__HELPERS/traits.html b/code/__HELPERS/traits.html new file mode 100644 index 000000000000..2ca501f6d10b --- /dev/null +++ b/code/__HELPERS/traits.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/traits.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/traits.dm + +

+ + + + + +
/proc/___TraitAddDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
/proc/___TraitRemoveDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
+ + + diff --git a/code/__HELPERS/turfs.html b/code/__HELPERS/turfs.html new file mode 100644 index 000000000000..74a0221e0715 --- /dev/null +++ b/code/__HELPERS/turfs.html @@ -0,0 +1,59 @@ + + + + + + + code/__HELPERS/turfs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/turfs.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + +
/proc/get_teleport_locReturns location. Returns null if no location was found.
/proc/get_atom_on_turfReturns the top-most atom sitting on the turf. +For example, using this on a disk, which is in a bag, on a mob, +will return the mob because it's on the turf.
/proc/get_edge_target_turfReturns the turf located at the map edge in the specified direction relative to target_atom used for mass driver
/proc/get_ranged_target_turf_directGet ranged target turf, but with direct targets as opposed to directions
/proc/get_offset_target_turfreturns turf relative to target_atom offset in dx and dy tiles, bound to map limits
/proc/get_turf_pixelLets the turf this atom's ICON appears to inhabit +it takes into account: +Pixel_x/y +Matrix x/y +NOTE: if your atom has non-standard bounds then this proc +will handle it, but: +if the bounds are even, then there are an even amount of "middle" turfs, the one to the EAST, NORTH, or BOTH is picked +this may seem bad, but you're atleast as close to the center of the atom as possible, better than byond's default loc being all the way off) +if the bounds are odd, the true middle turf of the atom is returned
/proc/parse_caught_click_modifiersReturns a turf based on text inputs, original turf and viewing client
/proc/spiral_range_turfssimilar function to RANGE_TURFS(), but will search spiralling outwards from the center (like the above, but only turfs)
/proc/get_random_station_turfReturns a random turf on the station
/proc/get_safe_random_station_turfReturns a random turf on the station, excludes dense turfs (like walls) and areas that have valid_territory set to FALSE
/proc/valid_window_locationChecks whether the target turf is in a valid state to accept a directional window +or other directional pseudo-dense object such as railings.
+ + + diff --git a/code/__HELPERS/type2type.html b/code/__HELPERS/type2type.html new file mode 100644 index 000000000000..ed306b142d3a --- /dev/null +++ b/code/__HELPERS/type2type.html @@ -0,0 +1,31 @@ + + + + + + + code/__HELPERS/type2type.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/type2type.dm + +

+ + + + + +
/proc/body_zone2cover_flagsFor finding out what body parts a body zone covers, the inverse of the below basically
/proc/url2htmlloaderReturn html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.
+ + + diff --git a/code/__HELPERS/verbs.html b/code/__HELPERS/verbs.html new file mode 100644 index 000000000000..8c69ef261378 --- /dev/null +++ b/code/__HELPERS/verbs.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/verbs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/verbs.dm + +

+ + + + + +
/proc/add_verbhandles adding verbs and updating the stat panel browser
/proc/remove_verbhandles removing verb and sending it to browser to update, use this for removing verbs
+ + + diff --git a/code/__HELPERS/view.html b/code/__HELPERS/view.html new file mode 100644 index 000000000000..d877c33808c0 --- /dev/null +++ b/code/__HELPERS/view.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/view.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/__HELPERS/view.dm + +

+ + + +
/proc/view_to_pixelsTakes a string or num view, and converts it to pixel width/height in a list(pixel_width, pixel_height)
+ + + diff --git a/code/__HELPERS/weakref.html b/code/__HELPERS/weakref.html new file mode 100644 index 000000000000..37548804d0bf --- /dev/null +++ b/code/__HELPERS/weakref.html @@ -0,0 +1,33 @@ + + + + + + + code/__HELPERS/weakref.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/__HELPERS/weakref.dm + +

+ + +
IS_WEAKREF_OFChecks if potential_weakref is a weakref of thing.

Define Details

+

IS_WEAKREF_OF + + + +

+

Checks if potential_weakref is a weakref of thing.

+ + + diff --git a/code/_byond_version_compact.html b/code/_byond_version_compact.html new file mode 100644 index 000000000000..1cd84a999c85 --- /dev/null +++ b/code/_byond_version_compact.html @@ -0,0 +1,45 @@ + + + + + + + code/_byond_version_compact.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/_byond_version_compact.dm + +

+ + + + +
PROC_REFCall by name proc reference, checks if the proc exists on this type or as a global proc
TYPE_PROC_REFCall by name proc reference, checks if the proc exists on given type or as a global proc
GLOBAL_PROC_REFCall by name proc reference, checks if the proc is existing global proc

Define Details

+

GLOBAL_PROC_REF + + + +

+

Call by name proc reference, checks if the proc is existing global proc

PROC_REF + + + +

+

Call by name proc reference, checks if the proc exists on this type or as a global proc

TYPE_PROC_REF + + + +

+

Call by name proc reference, checks if the proc exists on given type or as a global proc

+ + + diff --git a/code/_compile_options.html b/code/_compile_options.html new file mode 100644 index 000000000000..8e289edb51a5 --- /dev/null +++ b/code/_compile_options.html @@ -0,0 +1,138 @@ + + + + + + + code/_compile_options.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/_compile_options.dm + +

+ + + + + + +
BYPASS_JOB_LIMITS_WHEN_DEBUGGING//////////////////// DEBUGGING & PROFILING +By using the testing("message") proc you can create debug-feedback for people with this +uncommented, but not visible in the release version) +Enables the ability to cache datum vars and retrieve later for debugging which vars changed. +If this is uncommented, will profile mapload atom initializations +Enables debug messages for every single reaction step. This is 1 message per 0.5s for a SINGLE reaction. +Useful for tracking down bugs/asking me for help in the main reaction handiler (equilibrium.dm). +Requires TESTING to be defined to work +If defined, we will compile with FULL timer debug info, rather then a limited scope +Be warned, this increases timer creation cost by 5x +If this is uncommented, force our verb processing into just the 2% of a tick +We normally reserve for it +NEVER run this on live, it's for simulating highpop only +Uncomment this to force all verbs to run into overtime all of the time +Essentially negating the reserve 2% +Requires VERB_STRESS_TEST to be defined +Uncomment this to enable a set of debugging verbs for client macros +This ability is given to all clients, and I'm not going to bother vetting how safe this is. +This will generate a compile warning. +Uncomment this to wire the ruin budgets to zero. This prevents them spawning. +Useful for measuring performance of specific systems with more reliability. +Uncomment this to assert INSTANCES_OF() is running on valid lists. +Uncomment this to enable debugging tools for map making. +Set this value to FALSE to test job requirements working.
MULTIZASForce codex SQLite generation and loading despite being a debug server. +//////////////////// REFERENCE TRACKING +Used to find the sources of harddels, quite laggy, don't be surpised if it freezes your client for a good while +Used for doing dry runs of the reference finder, to test for feature completeness +Slightly slower, higher in memory. Just not optimal +Requires REFERENCE_TRACKING to be defined +Run a lookup on things hard deleting by default. +If this is uncommented, we set up the ref tracker to be used in a live environment +And to log events to [log_dir]/harddels.log +//////////////////// UNIT TESTING +//////////////////// AUTO WIKI +If this is uncommented, Autowiki will generate edits and shut down the server. +Prefer the autowiki build target instead. +//////////////////// ZONE ATMOSPHERIC SYSTEM +Enables verbose debugging and the debug overlay. NOTE: Debug Overlay does not report MultiZAS information at this time. +Enables multi-Z air movement. Zones do not merge across Z levels.
ZMIMIC_MULTIZ_SPEECH//////////////////// ZMIMIC +Enables multi-z speech
MAX_ATOM_OVERLAYS//////////////////// MISC PERFORMANCE +A reasonable number of maximum overlays an object needs +If you think you need more, rethink it
PRELOAD_RSC0 to allow using external resources or on-demand behaviour; +1 to use the default behaviour; +2 for preloading absolutely everything;

Define Details

+

BYPASS_JOB_LIMITS_WHEN_DEBUGGING + + +

+

//////////////////// DEBUGGING & PROFILING +By using the testing("message") proc you can create debug-feedback for people with this +uncommented, but not visible in the release version) +Enables the ability to cache datum vars and retrieve later for debugging which vars changed. +If this is uncommented, will profile mapload atom initializations +Enables debug messages for every single reaction step. This is 1 message per 0.5s for a SINGLE reaction. +Useful for tracking down bugs/asking me for help in the main reaction handiler (equilibrium.dm). +Requires TESTING to be defined to work +If defined, we will compile with FULL timer debug info, rather then a limited scope +Be warned, this increases timer creation cost by 5x +If this is uncommented, force our verb processing into just the 2% of a tick +We normally reserve for it +NEVER run this on live, it's for simulating highpop only +Uncomment this to force all verbs to run into overtime all of the time +Essentially negating the reserve 2% +Requires VERB_STRESS_TEST to be defined +Uncomment this to enable a set of debugging verbs for client macros +This ability is given to all clients, and I'm not going to bother vetting how safe this is. +This will generate a compile warning. +Uncomment this to wire the ruin budgets to zero. This prevents them spawning. +Useful for measuring performance of specific systems with more reliability. +Uncomment this to assert INSTANCES_OF() is running on valid lists. +Uncomment this to enable debugging tools for map making. +Set this value to FALSE to test job requirements working.

MAX_ATOM_OVERLAYS + + +

+

//////////////////// MISC PERFORMANCE +A reasonable number of maximum overlays an object needs +If you think you need more, rethink it

MULTIZAS + + +

+

Force codex SQLite generation and loading despite being a debug server. +//////////////////// REFERENCE TRACKING +Used to find the sources of harddels, quite laggy, don't be surpised if it freezes your client for a good while +Used for doing dry runs of the reference finder, to test for feature completeness +Slightly slower, higher in memory. Just not optimal +Requires REFERENCE_TRACKING to be defined +Run a lookup on things hard deleting by default. +If this is uncommented, we set up the ref tracker to be used in a live environment +And to log events to [log_dir]/harddels.log +//////////////////// UNIT TESTING +//////////////////// AUTO WIKI +If this is uncommented, Autowiki will generate edits and shut down the server. +Prefer the autowiki build target instead. +//////////////////// ZONE ATMOSPHERIC SYSTEM +Enables verbose debugging and the debug overlay. NOTE: Debug Overlay does not report MultiZAS information at this time. +Enables multi-Z air movement. Zones do not merge across Z levels.

PRELOAD_RSC + + +

+

0 to allow using external resources or on-demand behaviour; +1 to use the default behaviour; +2 for preloading absolutely everything;

ZMIMIC_MULTIZ_SPEECH + + +

+

//////////////////// ZMIMIC +Enables multi-z speech

+ + + diff --git a/code/_debugger.html b/code/_debugger.html new file mode 100644 index 000000000000..9be88702c74c --- /dev/null +++ b/code/_debugger.html @@ -0,0 +1,27 @@ + + + + + + + code/_debugger.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_debugger.dm + +

+ + +
/datum/debugger[Additional code for the above flags]
+ + + diff --git a/code/_globalvars/bitfields.html b/code/_globalvars/bitfields.html new file mode 100644 index 000000000000..629b66385bb7 --- /dev/null +++ b/code/_globalvars/bitfields.html @@ -0,0 +1,29 @@ + + + + + + + code/_globalvars/bitfields.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_globalvars/bitfields.dm + +

+ + + + +
/datum/bitfieldSpecifies a bitfield for smarter debugging
/proc/generate_bitfieldsTurns /datum/bitfield subtypes into a list for use in debugging
+ + + diff --git a/code/_globalvars/lists/flavor_misc.html b/code/_globalvars/lists/flavor_misc.html new file mode 100644 index 000000000000..5796e3fb5a3f --- /dev/null +++ b/code/_globalvars/lists/flavor_misc.html @@ -0,0 +1,29 @@ + + + + + + + code/_globalvars/lists/flavor_misc.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_globalvars/lists/flavor_misc.dm + +

+ + + +
/proc/resolve_ai_icon_syncA form of resolve_ai_icon that is guaranteed to never sleep. +Not always accurate, but always synchronous.
+ + + diff --git a/code/_globalvars/lists/keybindings.html b/code/_globalvars/lists/keybindings.html new file mode 100644 index 000000000000..0db3d9cb869e --- /dev/null +++ b/code/_globalvars/lists/keybindings.html @@ -0,0 +1,30 @@ + + + + + + + code/_globalvars/lists/keybindings.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_globalvars/lists/keybindings.dm + +

+ + + + + +
/proc/init_keybindingsCreates and sorts all the keybinding datums
/proc/add_keybindingAdds an instanced keybinding to the global tracker
+ + + diff --git a/code/_globalvars/lists/objects.html b/code/_globalvars/lists/objects.html new file mode 100644 index 000000000000..d21a4e135681 --- /dev/null +++ b/code/_globalvars/lists/objects.html @@ -0,0 +1,30 @@ + + + + + + + code/_globalvars/lists/objects.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_globalvars/lists/objects.dm + +

+ + + + + +
/var/atmosphericsContains all atmospheric machinery, only used if DEBUG_MAPS is defined.
/var/cable_listIs a real global for speed
+ + + diff --git a/code/_globalvars/lists/slapcrafting.html b/code/_globalvars/lists/slapcrafting.html new file mode 100644 index 000000000000..18287e264a06 --- /dev/null +++ b/code/_globalvars/lists/slapcrafting.html @@ -0,0 +1,32 @@ + + + + + + + code/_globalvars/lists/slapcrafting.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_globalvars/lists/slapcrafting.dm + +

+ + + + + +
/proc/slapcraft_recipes_for_typeGets cached recipes for a type. This is a method of optimizating recipe lookup. Ugly but gets the job done. +also WARNING: This will make it so all recipes whose first step is not type checked will not work, which all recipes that I can think of will be. +If you wish to remove this and GLOB.slapcraft_firststep_recipe_cache should this cause issues, replace the return with GLOB.slapcraft_recipes
/proc/slapcraft_examine_hints_for_typeGets examine hints for this item type for slap crafting.
+ + + diff --git a/code/_globalvars/phobias.html b/code/_globalvars/phobias.html new file mode 100644 index 000000000000..bedcfab758d5 --- /dev/null +++ b/code/_globalvars/phobias.html @@ -0,0 +1,30 @@ + + + + + + + code/_globalvars/phobias.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_globalvars/phobias.dm + +

+ + + +
/proc/construct_phobia_regexCreates a regular expression to match against the given phobia +Capture group 2 = the scary word +Capture group 3 = an optional suffix on the scary word
+ + + diff --git a/code/_onclick/drag_drop.html b/code/_onclick/drag_drop.html new file mode 100644 index 000000000000..82c25cc9505d --- /dev/null +++ b/code/_onclick/drag_drop.html @@ -0,0 +1,41 @@ + + + + + + + code/_onclick/drag_drop.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/_onclick/drag_drop.dm + +

+ + + +
LENIENCY_DISTANCEDistance in pixels that we consider "acceptable" from the initial click to the release +Note: this does not account for the position of the object, just where it is on the screen
LENIENCY_TIMEAccepted time in seconds between the initial click and drag release +Go higher then this and we just don't care anymore

Define Details

+

LENIENCY_DISTANCE + + +

+

Distance in pixels that we consider "acceptable" from the initial click to the release +Note: this does not account for the position of the object, just where it is on the screen

LENIENCY_TIME + + +

+

Accepted time in seconds between the initial click and drag release +Go higher then this and we just don't care anymore

+ + + diff --git a/code/_onclick/hud/action_button.html b/code/_onclick/hud/action_button.html new file mode 100644 index 000000000000..86ea68309d5f --- /dev/null +++ b/code/_onclick/hud/action_button.html @@ -0,0 +1,27 @@ + + + + + + + code/_onclick/hud/action_button.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_onclick/hud/action_button.dm + +

+ + +
/atom/movable/screen/action_landingExists so you have a place to put your buttons when you move them around
+ + + diff --git a/code/_onclick/hud/alert.html b/code/_onclick/hud/alert.html new file mode 100644 index 000000000000..e20392d8e819 --- /dev/null +++ b/code/_onclick/hud/alert.html @@ -0,0 +1,27 @@ + + + + + + + code/_onclick/hud/alert.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_onclick/hud/alert.dm + +

+ + +
/atom/movable/screen/alert/succumbGives the player the option to succumb while in critical condition
+ + + diff --git a/code/_onclick/hud/map_popups.html b/code/_onclick/hud/map_popups.html new file mode 100644 index 000000000000..f74ae5e5540e --- /dev/null +++ b/code/_onclick/hud/map_popups.html @@ -0,0 +1,31 @@ + + + + + + + code/_onclick/hud/map_popups.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_onclick/hud/map_popups.dm + +

+ + + +
/atom/movable/screen/map_viewA screen object, which acts as a container for turfs and other things +you want to show on the map, which you usually attach to "vis_contents".
/atom/movable/screen/backgroundA generic background object. +It is also implicitly used to allocate a rectangle on the map, which will +be used for auto-scaling the map.
+ + + diff --git a/code/_onclick/hud/radial.html b/code/_onclick/hud/radial.html new file mode 100644 index 000000000000..a18a8e012b96 --- /dev/null +++ b/code/_onclick/hud/radial.html @@ -0,0 +1,27 @@ + + + + + + + code/_onclick/hud/radial.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_onclick/hud/radial.dm + +

+ + +
/datum/radial_menu_choiceCan be provided to choices in radial menus if you want to provide more information
+ + + diff --git a/code/_onclick/hud/rendering/_render_readme.html b/code/_onclick/hud/rendering/_render_readme.html new file mode 100644 index 000000000000..261c27136f21 --- /dev/null +++ b/code/_onclick/hud/rendering/_render_readme.html @@ -0,0 +1,67 @@ + + + + + + + code/_onclick/hud/rendering/_render_readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

The Render Readme + +

+ + +
    +
  1. Byond internal functionality
  2. +
  3. Known internal snowflake
  4. +
  5. The rendering solution
  6. +
  7. Render plates
  8. +
+Byond internal functionality +

This part of the guide will assume that you have read the byond reference entry for rendering at www.byond.com/docs/ref//#/{notes}/renderer

+

When you create an atom, this will always create an internal byond structure called an "appearance". This appearance you will likely be familiar with, as it is exposed through the /atom/var/appearance var. This appearance var holds data on how to render the object, ie what icon/icon_state/color etc it is using. Note that appearance vars will always copy, and do not hold a reference. When you update a var, for example lets pretend we add a filter, the appearance will be updated to include the filter. Note that, however, vis_contents objets are uniquely excluded from appearances. Then, when the filter is updated, the appearance will be recreated, and the atom marked as "dirty". After it has been updated, the SendMaps() function (sometimes also called maptick), which is a internal byond function that iterates over all objects in a clients view and in the clients.mob.contents, checks for "dirty" atoms, then resends any "dirty" appearances to clients as needed and unmarks them as dirty. This function is notoriosly slow, but we can see it's tick usage through the world.map_cpu var. We can also avoid more complex checks checking whether an object is visible on a clients screen by using the TILE_BOUND appearance flag.

+

Finally, we arrive at clientside behavior, where we have two main clientside functions: GetMapIcons, and Render. GetMapIcons is repsonsible for actual rendering calculations on the clientside, such as "Group Icons and Set bounds", which performs clientside calculations for transform matrixes. Note that particles here are handled in a separate thread and are not diplayed in the clientside profiler. Render handles the actual drawing of the screen.

+

For debugging rendering issues its reccomended you do two things: +A) Talk to someone who has inside knowledge(like lummox) about it, most of this is undocumented and bugs often +B) Use the undocumented debug printer which reads of data on icons rendering, this is very dense but can be useful in some cases. To use: Right click top tab -> Options & Messages -> Client -> Command -> Enter ".debug profile mapicons" and press Enter -> go to your Byond directory and find BYOND/cfg/mapicons.json . Yes this is one giant one-line json.

+Known internal snowflake +

The following is an incomplete list of pitfalls that come from byond snowflake that are known, this list is obviously incomplete.

+
    +
  1. Transforms are very slow on clientside. This is not usually noticable, but if you start using large amounts of them it will grind you to a halt quickly, regardless of whether its on overlays or objs
  2. +
  3. The darkness plane. The darkness plane has specific variables it needs to render correctly, and these can be found in the plane masters file. it is composed internally of two parts, a black mask over the clients screen, and a non rendering mask that blocks all luminosity=0 turfs and their contents from rendering if the SEE_BLACKNESS flag is set properly. It behaves very oddly, such as forcing itself to ALWAYS render or pre-render on blend_multiply blend mode or refusing to render the black mask properly otherwise. The blocker will always block rendering but the mask can be layered under other objects.
  4. +
  5. render_target/source. Render_target/source will only copy certain rendering instructions, and these are only defined as "etc." in the byond reference. Known non copied appearance vars include: blend_mode, plane, layer, vis_contents, mouse_opacity...
  6. +
  7. Large icons on the screen that peek over the edge will instead of only rendering partly like you would expect will instead stretch the screen while not adgusting the render buffer, which means that you can actively see as tiles and map objects are rendered. You can use this for an easy "offscreen" UI.
  8. +
  9. Numerically large filters on objects of any size will torpedo performance, even though large objects with small filters will perform massively better. (ie blur(size=20) BAD)
  10. +
  11. Texture Atlas: the texture atlas byond uses to render icons is very susceptible to corruption and can regularily replace icons with other icons or just not render at all. This can be exasperated by alt tabbing or pausing the dreamseeker process.
  12. +
  13. The renderer is awful code and lummox said he will try changing a large part of it for 515 so keep an eye on that
  14. +
  15. Byond uses DirectX 9 (Lummox said he wants to update to DirectX 11)
  16. +
  17. Particles are just fancy overlays and are not independent of their owner
  18. +
  19. Maptick items inside mob.contents are cheaper compared to most other movables
  20. +
  21. Displacement filter: The byond "displacement filter" does not, as the name would make you expect, use displacement maps, but instead uses normal maps.
  22. +
+The rendering solution +

One of the main issues with making pretty effects is how objects can only render to one plane, and how filters can only be applied to single objects. Quite simply it means we cant apply effects to multiple planes at once, and an effect to one plane only by treating it as a single unit:

+

+

A semi-fix to stop from having to apply effects to every single plane is to use the render controllers, to automatically apply filters and colors automatically onto their controlled planes.

+

The solution is thus instead we replace plane masters rendering directly to client with planes that render multiple planes onto them as objects in order to be able to affect multiple planes while treating them as a single object. This is done by relaying the plane using a "render relay" onto a "render plate" which acts as a plane master of plane masters of sorts, and since planes are rendered onto it as single objects any filters we apply to them will render over the planes, treating them as a single unit.

+

+

We can also choose to render these by decreasing the scaling all applied effects (effect_size/number_of_plates_rendered_to) then rendering it onto multiple planes:

+

+

Through these this allows us to treat planes as single objects, and lets us distort them as a single unit, most notably works wonders with the displacement filter. Specifically, here you can displacement_filter a plane onto a plate, which then will treat all the other planes rendered on that plate as a single unit.

+Render plates +

The rendering system uses two objects to unify planes: render_relay and render_plates. Render relays use render_target/source and the relay_render_to_plane proc to replicate the plane master on the render relay. This render relay is then rendered onto a render_plate, which is a plane master that renders the render_relays onto itself. This plate can then be hierachically rendered with the same process until it reaches the master render_plate, which is the plate that will actually render to the player. These plates naturally in the byond style have quirks. For example, rendering to two plates will double any effects such as color or filters, and as such you need to carefully manage how you render them. Keep in mind as well that when sorting the layers for rendering on a plane that they should not be negative, this is handled automatically in relay_render_to_plane. When debugging note that mouse_opacity can act bizzarly with this method, such as only allowing you to click things that are layered over objects on a certain plane but auomatically setting the mouse_opacity should be handling this. Note that if you decide to manipulate a plane with internal byond objects that you will have to manually extrapolate the vars that are set if you want to render them to another plane (See blackness plane for example), and that this is not documented anywhere.

+

Goodluck and godspeed with coding +- Just another contributor

+ + + diff --git a/code/_onclick/hud/rendering/plane_master.html b/code/_onclick/hud/rendering/plane_master.html new file mode 100644 index 000000000000..1e8a5f4d3c23 --- /dev/null +++ b/code/_onclick/hud/rendering/plane_master.html @@ -0,0 +1,41 @@ + + + + + + + code/_onclick/hud/rendering/plane_master.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_onclick/hud/rendering/plane_master.dm + +

+ + + + + + + + +
/atom/movable/screen/plane_master/floorContains just the floor
/atom/movable/screen/plane_master/game_worldContains most things in the game world
/atom/movable/screen/plane_master/blacknessPlane master handling byond internal blackness +vars are set as to replicate behavior when rendering to other planes +do not touch this unless you know what you are doing
/atom/movable/screen/plane_master/lightingContains all lighting objects

This system works by exploiting BYONDs color matrix filter to use layers to handle emissive blockers.

+

Emissive overlays are pasted with an atom color that converts them to be entirely some specific color. +Emissive blockers are pasted with an atom color that converts them to be entirely some different color. +Emissive overlays and emissive blockers are put onto the same plane. +The layers for the emissive overlays and emissive blockers cause them to mask eachother similar to normal BYOND objects. +A color matrix filter is applied to the emissive plane to mask out anything that isn't whatever the emissive color is. +This is then used to alpha mask the lighting plane.

/atom/movable/screen/plane_master/emissiveHandles emissive overlays and emissive blockers.
/atom/movable/screen/plane_master/parallaxContains space parallax
+ + + diff --git a/code/_onclick/hud/rendering/plane_master_controller.html b/code/_onclick/hud/rendering/plane_master_controller.html new file mode 100644 index 000000000000..de02feb46ad5 --- /dev/null +++ b/code/_onclick/hud/rendering/plane_master_controller.html @@ -0,0 +1,28 @@ + + + + + + + code/_onclick/hud/rendering/plane_master_controller.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_onclick/hud/rendering/plane_master_controller.dm + +

+ + + +
/atom/movable/plane_master_controllerAtom that manages and controls multiple planes. It's an atom so we can hook into add_filter etc. Multiple controllers can control one plane.
/atom/movable/plane_master_controller/colorblindController of all planes we're ok with changing with colorblind logic
+ + + diff --git a/code/_onclick/hud/rendering/render_plate.html b/code/_onclick/hud/rendering/render_plate.html new file mode 100644 index 000000000000..8f0462552176 --- /dev/null +++ b/code/_onclick/hud/rendering/render_plate.html @@ -0,0 +1,34 @@ + + + + + + + code/_onclick/hud/rendering/render_plate.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/_onclick/hud/rendering/render_plate.dm + +

+ + + + + + + +

Custom rendering solution to allow for advanced effects +We (ab)use plane masters and render source/target to cheaply render 2+ planes as 1 +if you want to read more read the _render_readme.md

/atom/movable/render_plane_relayRender relay object assigned to a plane master to be able to relay it's render onto other planes that are not it's own
/atom/movable/screen/plane_master/rendering_plate
/atom/movable/screen/plane_master/rendering_plate/masterthis plate renders the final screen to show to the player
/atom/movable/screen/plane_master/rendering_plate/game_worldrenders general in charachter game objects
/atom/movable/screen/plane_master/rendering_plate/non_gamerender plate for OOC stuff like ghosts, hud-screen effects, etc
+ + + diff --git a/code/controllers/configuration/config_entry.html b/code/controllers/configuration/config_entry.html new file mode 100644 index 000000000000..8c4e5afa63de --- /dev/null +++ b/code/controllers/configuration/config_entry.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/configuration/config_entry.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/configuration/config_entry.dm + +

+ + +
/datum/config_entry/str_listList config entry, used for configuring a list of strings
+ + + diff --git a/code/controllers/configuration/entries/game_options.html b/code/controllers/configuration/entries/game_options.html new file mode 100644 index 000000000000..4e348b87221d --- /dev/null +++ b/code/controllers/configuration/entries/game_options.html @@ -0,0 +1,33 @@ + + + + + + + code/controllers/configuration/entries/game_options.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/configuration/entries/game_options.dm + +

+ + + + + + + + +
/datum/config_entry/number/traitor_ideal_player_countDetermines the ideal player count for maximum progression per minute.
/datum/config_entry/number/traitor_scaling_multiplierDetermines how fast traitors scale in general.
/datum/config_entry/number/maximum_potential_objectivesDetermines how many potential objectives a traitor can have.
/datum/config_entry/number/outdated_movedelayOutdated move delay
/datum/config_entry/flag/lone_op_nagEnable the disk secure nag system?
/datum/config_entry/flag/require_captainRequire captain to start the round
/datum/config_entry/flag/require_departments_staffedRequire every department to have atleast one staff member to start the round
+ + + diff --git a/code/controllers/configuration/entries/general.html b/code/controllers/configuration/entries/general.html new file mode 100644 index 000000000000..0a288fe0d013 --- /dev/null +++ b/code/controllers/configuration/entries/general.html @@ -0,0 +1,83 @@ + + + + + + + code/controllers/configuration/entries/general.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/configuration/entries/general.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/datum/config_entry/flag/autoadminif autoadmin is enabled
/datum/config_entry/string/autoadmin_rankthe rank given to autoadmins
/datum/config_entry/string/servernameserver name (the name of the game window)
/datum/config_entry/string/serversqlnameshort form server name used for the DB
/datum/config_entry/string/stationnamestation name (the name of the station in-game)
/datum/config_entry/string/hub_subtitlethe line of text under server name on the hub
/datum/config_entry/number/lobby_countdownCountdown between lobby and the round starting.
/datum/config_entry/number/round_end_countdownPost round murder death kill countdown.
/datum/config_entry/number/eor_credits_delayTime between the round ending and credits beginning to roll
/datum/config_entry/flag/hubif the game appears on the hub or not
/datum/config_entry/number/max_hub_popPop requirement for the server to be removed from the hub
/datum/config_entry/flag/log_ooclog messages sent in OOC
/datum/config_entry/flag/log_accesslog login/logout
/datum/config_entry/flag/log_suspicious_loginConfig entry which special logging of failed logins under suspicious circumstances.
/datum/config_entry/flag/log_saylog client say
/datum/config_entry/flag/log_adminlog admin actions
/datum/config_entry/flag/log_prayerlog prayers
/datum/config_entry/flag/log_siliconlog silicons
/datum/config_entry/flag/log_toolslog usage of tools
/datum/config_entry/flag/log_graffitilog graffiti
/datum/config_entry/flag/log_gamelog game events
/datum/config_entry/flag/log_mechalog mech data
/datum/config_entry/flag/log_viruslog virology data
/datum/config_entry/flag/log_cloninglog cloning actions.
/datum/config_entry/flag/log_assetlog assets
/datum/config_entry/flag/log_votelog voting
/datum/config_entry/flag/log_whisperlog client whisper
/datum/config_entry/flag/log_attacklog attack messages
/datum/config_entry/flag/log_emotelog emotes
/datum/config_entry/flag/log_econlog economy actions
/datum/config_entry/flag/log_traitorlog traitor objectives
/datum/config_entry/flag/log_adminchatlog admin chat messages
/datum/config_entry/flag/log_pdalog pda messages
/datum/config_entry/flag/log_uplinklog uplink/spellbook/codex ciatrix purchases and refunds
/datum/config_entry/flag/log_telecommslog telecomms messages
/datum/config_entry/flag/log_twitterlog certain expliotable parrots and other such fun things in a JSON file of twitter valid phrases.
/datum/config_entry/flag/log_world_topiclog all world.Topic() calls
/datum/config_entry/flag/log_manifestlog crew manifest to separate file
/datum/config_entry/flag/log_job_debuglog roundstart divide occupations debug information to a file
/datum/config_entry/flag/log_shuttlelog shuttle related actions, ie shuttle computers, shuttle manipulator, emergency console
/datum/config_entry/flag/log_timers_on_bucket_resetlogs all timers in buckets on automatic bucket reset (Useful for timer debugging)
/datum/config_entry/flag/allow_admin_ooccolorallows admins with relevant permissions to have their own ooc colour
/datum/config_entry/flag/allow_admin_asaycolorallows admins with relevant permissions to have a personalized asay color
/datum/config_entry/flag/allow_vote_restartallow votes to restart
/datum/config_entry/flag/allow_vote_mapallow votes to change map
/datum/config_entry/number/vote_delayminimum time between voting sessions (deciseconds, 10 minute default)
/datum/config_entry/number/vote_periodlength of voting period (deciseconds, default 1 minute)
/datum/config_entry/flag/default_no_votevote does not default to nochange/norestart.
/datum/config_entry/flag/no_dead_votePrevents dead people from voting.
/datum/config_entry/flag/popup_admin_pmGives the ability to send players a maptext popup.
/datum/config_entry/flag/use_exp_restrictions_headsEnables head jobs time restrictions.
/datum/config_entry/flag/use_exp_restrictions_otherEnables non-head jobs time restrictions.
/datum/config_entry/string/rulesurlUntil we actually get a forum, we will use this as a placeholder.
/datum/config_entry/flag/panic_bunker_interviewFlag for requiring players who would otherwise be denied access by the panic bunker to complete a written interview
/datum/config_entry/flag/panic_bunker_discord_requireFlag to enable the whitelist, only allowing registered players to enter the server
/datum/config_entry/string/admin_2fa_urlURL for admins to be redirected to for 2FA
/datum/config_entry/string/webmap_communityUnique slug for the webmap
+ + + diff --git a/code/controllers/failsafe.html b/code/controllers/failsafe.html new file mode 100644 index 000000000000..5238fa5c9523 --- /dev/null +++ b/code/controllers/failsafe.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/failsafe.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/failsafe.dm + +

+ + + + + + + +
/var/FailsafeFailsafe
/proc/recover_all_SS_and_recreate_masterRecreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars
/proc/delete_all_SS_and_recreate_masterDelete all existing SS to basically start over
+ + + diff --git a/code/controllers/master.html b/code/controllers/master.html new file mode 100644 index 000000000000..525eed8e1b69 --- /dev/null +++ b/code/controllers/master.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/master.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/master.dm + +

+ + + + +
/var/DebuggerStonedMC
/datum/controller/masterStart of queue linked list +End of queue linked list (used for appending to the list) +Are we loading in a new map? +for scheduling different subsystems for different stages of the round
+ + + diff --git a/code/controllers/subsystem.html b/code/controllers/subsystem.html new file mode 100644 index 000000000000..af89c095fa29 --- /dev/null +++ b/code/controllers/subsystem.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem.dm + +

+ + +
/datum/controller/subsystemDefines a subsystem to be managed by the Master Controller
+ + + diff --git a/code/controllers/subsystem/addiction.html b/code/controllers/subsystem/addiction.html new file mode 100644 index 000000000000..e4d18c1f89cd --- /dev/null +++ b/code/controllers/subsystem/addiction.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem/addiction.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/addiction.dm + +

+ + +

This subsystem mostly exists to populate and manage the withdrawal singletons.

+ + + diff --git a/code/controllers/subsystem/ai_controllers.html b/code/controllers/subsystem/ai_controllers.html new file mode 100644 index 000000000000..40546aff7ee9 --- /dev/null +++ b/code/controllers/subsystem/ai_controllers.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/ai_controllers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/ai_controllers.dm + +

+ + + +
/var/SSai_controllersThe subsystem used to tick /datum/ai_controllers instances. Handling the re-checking of plans.
+ + + diff --git a/code/controllers/subsystem/ambience.html b/code/controllers/subsystem/ambience.html new file mode 100644 index 000000000000..67532467d0f8 --- /dev/null +++ b/code/controllers/subsystem/ambience.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/ambience.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/ambience.dm + +

+ + + +
/var/SSambienceThe subsystem used to play ambience to users every now and then, makes them real excited.
+ + + diff --git a/code/controllers/subsystem/asset_loading.html b/code/controllers/subsystem/asset_loading.html new file mode 100644 index 000000000000..981da6ddfd50 --- /dev/null +++ b/code/controllers/subsystem/asset_loading.html @@ -0,0 +1,30 @@ + + + + + + + code/controllers/subsystem/asset_loading.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/asset_loading.dm + +

+ + + +
/var/SSasset_loadingAllows us to lazyload asset datums +Anything inserted here will fully load if directly gotten +So this just serves to remove the requirement to load assets fully during init
+ + + diff --git a/code/controllers/subsystem/ban_cache.html b/code/controllers/subsystem/ban_cache.html new file mode 100644 index 000000000000..276814c74838 --- /dev/null +++ b/code/controllers/subsystem/ban_cache.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/ban_cache.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/ban_cache.dm + +

+ + + +
/var/SSban_cacheSubsystem that batches a ban cache list for clients on initialize +This way we don't need to do ban checks in series later in the code
+ + + diff --git a/code/controllers/subsystem/chat.html b/code/controllers/subsystem/chat.html new file mode 100644 index 000000000000..fc55daba11d4 --- /dev/null +++ b/code/controllers/subsystem/chat.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/chat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/chat.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/controllers/subsystem/datacore.html b/code/controllers/subsystem/datacore.html new file mode 100644 index 000000000000..cd5a19f96dee --- /dev/null +++ b/code/controllers/subsystem/datacore.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/datacore.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/datacore.dm + +

+ + +
DUMMY_HUMAN_SLOT_MANIFESTDummy mob reserve slot for manifest

Define Details

+

DUMMY_HUMAN_SLOT_MANIFEST + + +

+

Dummy mob reserve slot for manifest

+ + + diff --git a/code/controllers/subsystem/early_assets.html b/code/controllers/subsystem/early_assets.html new file mode 100644 index 000000000000..28e77f67002d --- /dev/null +++ b/code/controllers/subsystem/early_assets.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/early_assets.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/early_assets.dm + +

+ + + +
/var/SSearly_assetsInitializes any assets that need to be loaded ASAP. +This houses preference menu assets, since they can be loaded at any time, +most dangerously before the atoms SS initializes. +Thus, we want it to fail consistently in CI as if it would've if a player +opened it up early.
+ + + diff --git a/code/controllers/subsystem/economy.html b/code/controllers/subsystem/economy.html new file mode 100644 index 000000000000..b0d9345a617b --- /dev/null +++ b/code/controllers/subsystem/economy.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/economy.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/economy.dm + +

+ + + +
/proc/generate_paperworkWe only send to one fax machine in an area
+ + + diff --git a/code/controllers/subsystem/eigenstate.html b/code/controllers/subsystem/eigenstate.html new file mode 100644 index 000000000000..c7491bcc8068 --- /dev/null +++ b/code/controllers/subsystem/eigenstate.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/eigenstate.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/eigenstate.dm + +

+ + + +
/var/SSeigenstatesSubsystem used to teleport people to a linked web of itterative entries. If one entry is deleted, the 2 around it will forge a link instead.
+ + + diff --git a/code/controllers/subsystem/explosions.html b/code/controllers/subsystem/explosions.html new file mode 100644 index 000000000000..3384c6610839 --- /dev/null +++ b/code/controllers/subsystem/explosions.html @@ -0,0 +1,91 @@ + + + + + + + code/controllers/subsystem/explosions.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/explosions.dm + +

+ + + + + + + + + + + + + + + + + +
/proc/explosionMakes a given atom explode.
/proc/dyn_explosionUsing default dyn_ex scale:
QUAKE_CREAK_PROBThe probability that a quaking explosion will make the station creak per unit. Maths!
ECHO_CREAK_PROBThe probability that an echoing explosion will make the station creak per unit.
CREAK_DELAYTime taken for the hull to begin to creak after an explosion, if applicable.
FAR_LOWERLower limit for far explosion SFX volume.
FAR_UPPERUpper limit for far explosion SFX volume.
FAR_SOUND_PROBThe probability that a distant explosion SFX will be a far explosion sound rather than an echo. (0-100)
NEAR_SHAKE_CAPThe upper limit on screenshake amplitude for nearby explosions.
FAR_SHAKE_CAPThe upper limit on screenshake amplifude for distant explosions.
NEAR_SHAKE_DURATIONThe duration of the screenshake for nearby explosions.
FAR_SHAKE_DURATIONThe duration of the screenshake for distant explosions.
FREQ_LOWERThe lower limit for the randomly selected hull creaking frequency.
FREQ_UPPERThe upper limit for the randomly selected hull creaking frequency.

Define Details

+

CREAK_DELAY + + +

+

Time taken for the hull to begin to creak after an explosion, if applicable.

ECHO_CREAK_PROB + + +

+

The probability that an echoing explosion will make the station creak per unit.

FAR_LOWER + + +

+

Lower limit for far explosion SFX volume.

FAR_SHAKE_CAP + + +

+

The upper limit on screenshake amplifude for distant explosions.

FAR_SHAKE_DURATION + + +

+

The duration of the screenshake for distant explosions.

FAR_SOUND_PROB + + +

+

The probability that a distant explosion SFX will be a far explosion sound rather than an echo. (0-100)

FAR_UPPER + + +

+

Upper limit for far explosion SFX volume.

FREQ_LOWER + + +

+

The lower limit for the randomly selected hull creaking frequency.

FREQ_UPPER + + +

+

The upper limit for the randomly selected hull creaking frequency.

NEAR_SHAKE_CAP + + +

+

The upper limit on screenshake amplitude for nearby explosions.

NEAR_SHAKE_DURATION + + +

+

The duration of the screenshake for nearby explosions.

QUAKE_CREAK_PROB + + +

+

The probability that a quaking explosion will make the station creak per unit. Maths!

+ + + diff --git a/code/controllers/subsystem/fluids.html b/code/controllers/subsystem/fluids.html new file mode 100644 index 000000000000..b186b85ae808 --- /dev/null +++ b/code/controllers/subsystem/fluids.html @@ -0,0 +1,43 @@ + + + + + + + code/controllers/subsystem/fluids.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/fluids.dm + +

+ + + + + + + + + +
SS_PROCESSES_SPREADINGIndicates that a fluid subsystem processes fluid spreading.
SS_PROCESSES_EFFECTSIndicates that a fluid subsystem processes fluid effects.
/var/SSfluids
/var/SSsmokeThe subsystem responsible for processing smoke propagation and effects.
/var/SSfoamThe subsystem responsible for processing foam propagation and effects.

Define Details

+

SS_PROCESSES_EFFECTS + + +

+

Indicates that a fluid subsystem processes fluid effects.

SS_PROCESSES_SPREADING + + +

+

Indicates that a fluid subsystem processes fluid spreading.

+ + + diff --git a/code/controllers/subsystem/garbage.html b/code/controllers/subsystem/garbage.html new file mode 100644 index 000000000000..d4d655e937b9 --- /dev/null +++ b/code/controllers/subsystem/garbage.html @@ -0,0 +1,57 @@ + + + + + + + code/controllers/subsystem/garbage.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/garbage.dm + +

+ + + + + + +
Debugging GC issues +

In order to debug qdel() failures, there are several tools available. +To enable these tools, define TESTING in _compile_options.dm.

+

First is a verb called "Find References", which lists every refererence to an object in the world. This allows you to track down any indirect or obfuscated references that you might have missed.

+

Complementing this is another verb, "qdel() then Find References". +This does exactly what you'd expect; it calls qdel() on the object and then it finds all references remaining. +This is great, because it means that Destroy() will have been called before it starts to find references, +so the only references you'll find will be the ones preventing the object from qdel()ing gracefully.

+

If you have a datum or something you are not destroying directly (say via the singulo), +the next tool is QDEL_HINT_FINDREFERENCE. You can return this in Destroy() (where you would normally return ..()), +to print a list of references once it enters the GC queue.

+

Finally is a verb, "Show qdel() Log", which shows the deletion log that the garbage subsystem keeps. This is helpful if you are having race conditions or need to review the order of deletions.

+

Note that for any of these tools to work TESTING must be defined. +By using these methods of finding references, you can make your life far, far easier when dealing with qdel() failures.

/datum/qdel_itemQdel Item: Holds statistics on each type that passes thru qdel +Holds the type as a string for this type +Total number of times it's passed thru qdel. +Total amount of milliseconds spent processing this type's Destroy() +Times it was queued for soft deletion but failed to soft delete. +Different from failures because it also includes QDEL_HINT_HARDDEL deletions +Total amount of milliseconds spent hard deleting this type. +Highest time spent hard_deleting this in ms. +Number of times hard deletes took longer than the configured threshold +Number of times it's not respected force=TRUE +Number of times it's not even bother to give a qdel hint +Number of times it's slept in its destroy +Flags related to this type's trip thru qdel.

Lazylist of string metadata about the deleted objects

+
/proc/qdelShould be treated as a replacement for the 'del' keyword.
+ + + diff --git a/code/controllers/subsystem/id_access.html b/code/controllers/subsystem/id_access.html new file mode 100644 index 000000000000..e94a657c182b --- /dev/null +++ b/code/controllers/subsystem/id_access.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/id_access.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/id_access.dm + +

+ + + +
/var/SSid_accessNon-processing subsystem that holds various procs and data structures to manage ID cards, trims and access.
+ + + diff --git a/code/controllers/subsystem/init_profiler.html b/code/controllers/subsystem/init_profiler.html new file mode 100644 index 000000000000..15a9cc168f52 --- /dev/null +++ b/code/controllers/subsystem/init_profiler.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/init_profiler.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/init_profiler.dm + +

+ + + +
/var/SSinit_profilerSubsystem exists so we can separately log init time costs from the costs of general operation +Hopefully this makes sorting out what causes problems when easier
+ + + diff --git a/code/controllers/subsystem/lag_switch.html b/code/controllers/subsystem/lag_switch.html new file mode 100644 index 000000000000..a177ad913e74 --- /dev/null +++ b/code/controllers/subsystem/lag_switch.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/lag_switch.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/lag_switch.dm + +

+ + + +
/var/SSlag_switchThe subsystem for controlling drastic performance enhancements aimed at reducing server load for a smoother albeit slightly duller gaming experience
+ + + diff --git a/code/controllers/subsystem/library.html b/code/controllers/subsystem/library.html new file mode 100644 index 000000000000..93340ccaf509 --- /dev/null +++ b/code/controllers/subsystem/library.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/library.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/library.dm + +

+ + + +
/var/SSlibraryManages library data, loading bookselves, etc
+ + + diff --git a/code/controllers/subsystem/materials.html b/code/controllers/subsystem/materials.html new file mode 100644 index 000000000000..d8d8bfb033a5 --- /dev/null +++ b/code/controllers/subsystem/materials.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/materials.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/materials.dm + +

+ + +

How material datums work +Materials are now instanced datums, with an associative list of them being kept in SSmaterials. We only instance the materials once and then re-use these instances for everything.

+

These materials call on_applied() on whatever item they are applied to, common effects are adding components, changing color and changing description. This allows us to differentiate items based on the material they are made out of.area

+ + + diff --git a/code/controllers/subsystem/mouse_entered.html b/code/controllers/subsystem/mouse_entered.html new file mode 100644 index 000000000000..c2e08ad548e6 --- /dev/null +++ b/code/controllers/subsystem/mouse_entered.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/mouse_entered.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/mouse_entered.dm + +

+ + + +
/var/SSmouse_enteredDefers MouseEntered inputs to only apply to the most recently hovered over atom in the tick
+ + + diff --git a/code/controllers/subsystem/movement/ai_movement.html b/code/controllers/subsystem/movement/ai_movement.html new file mode 100644 index 000000000000..a1cd608a4313 --- /dev/null +++ b/code/controllers/subsystem/movement/ai_movement.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/movement/ai_movement.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/movement/ai_movement.dm + +

+ + + +
/var/SSai_movementThe subsystem used to tick /datum/ai_movement instances. Handling the movement of individual AI instances
+ + + diff --git a/code/controllers/subsystem/movement/move_handler.html b/code/controllers/subsystem/movement/move_handler.html new file mode 100644 index 000000000000..82bba2b787fe --- /dev/null +++ b/code/controllers/subsystem/movement/move_handler.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/movement/move_handler.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/movement/move_handler.dm + +

+ + + + +
/var/SSmove_managerActs as a namespace for movement packet/type related procs
/datum/movement_packetA packet of information that describes the current state of a moving object
+ + + diff --git a/code/controllers/subsystem/movement/movement_types.html b/code/controllers/subsystem/movement/movement_types.html new file mode 100644 index 000000000000..a3db28ec1dc0 --- /dev/null +++ b/code/controllers/subsystem/movement/movement_types.html @@ -0,0 +1,44 @@ + + + + + + + code/controllers/subsystem/movement/movement_types.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/movement/movement_types.dm + +

+ + + + + + + + + + + + +
/datum/move_loopTemplate class of the movement datums, handles the timing portion of the loops
/datum/move_loop/moveReplacement for walk()
/datum/move_loop/has_target/force_moveUsed for force-move loops
/datum/move_loop/has_target/dist_boundBase class of move_to and move_away, deals with the distance and target aspect of things
/datum/move_loop/has_target/dist_bound/move_toWrapper around walk_to()
/datum/move_loop/has_target/dist_bound/move_awayWrapper around walk_away()
/datum/move_loop/has_target/move_towardsUsed as a alternative to walk_towards
/datum/move_loop/has_target/move_towards_budgetThe actual implementation of walk_towards()
/datum/move_loop/move_randThis isn't actually the same as walk_rand +Because walk_rand is really more like walk_to_rand +It appears to pick a spot outside of range, and move towards it, then pick a new spot, etc. +I can't actually replicate this on our side, because of how bad our pathfinding is, and cause I'm not totally sure I know what it's doing. +I can just implement a random-walk though
/datum/move_loop/move_to_randWrapper around step_rand
/datum/move_loop/disposal_holderDisposal holders need to move through a chain of pipes +Rather then through the world. This supports this +If this ever changes, get rid of this, add drift component like logic to the holder +And move them to move()
+ + + diff --git a/code/controllers/subsystem/overlays.html b/code/controllers/subsystem/overlays.html new file mode 100644 index 000000000000..6f9cc30a2429 --- /dev/null +++ b/code/controllers/subsystem/overlays.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/overlays.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/overlays.dm + +

+ + + + + +
/proc/overlays2textConverts an overlay list into text for debug printing +Of note: overlays aren't actually mutable appearances, they're just appearances +Don't have access to that type tho, so this is the best you're gonna get
/proc/remove_non_canon_overlaysRecursively removes overlays that do not render to the game plane from an appearance.
+ + + diff --git a/code/controllers/subsystem/pai.html b/code/controllers/subsystem/pai.html new file mode 100644 index 000000000000..6f55942b9436 --- /dev/null +++ b/code/controllers/subsystem/pai.html @@ -0,0 +1,30 @@ + + + + + + + code/controllers/subsystem/pai.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/pai.dm + +

+ + + + +
/var/SSpaiWe get our awareness updated by the important recursive contents stuff, here we remove our membership +We get our awareness updated by the important recursive contents stuff, here we remove our membership
/datum/pai_candidateCreated when a user clicks the "pAI candidate" window
+ + + diff --git a/code/controllers/subsystem/pathfinder.html b/code/controllers/subsystem/pathfinder.html new file mode 100644 index 000000000000..bdf8f2e00991 --- /dev/null +++ b/code/controllers/subsystem/pathfinder.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/pathfinder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/pathfinder.dm + +

+ + + +
/var/SSpathfinderQueues and manages JPS pathfinding steps
+ + + diff --git a/code/controllers/subsystem/ping.html b/code/controllers/subsystem/ping.html new file mode 100644 index 000000000000..3b4b7daa21d7 --- /dev/null +++ b/code/controllers/subsystem/ping.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/ping.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/ping.dm + +

+ + +

Copyright (c) 2022 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/controllers/subsystem/points_of_interest.html b/code/controllers/subsystem/points_of_interest.html new file mode 100644 index 000000000000..60a9cf2583ea --- /dev/null +++ b/code/controllers/subsystem/points_of_interest.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/points_of_interest.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/points_of_interest.dm + +

+ + + + +
/var/SSpoints_of_interestSubsystem for managing all POIs.
/datum/point_of_interestSimple helper datum for points of interest.
+ + + diff --git a/code/controllers/subsystem/processing/acid.html b/code/controllers/subsystem/processing/acid.html new file mode 100644 index 000000000000..9bc18d634fa5 --- /dev/null +++ b/code/controllers/subsystem/processing/acid.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/processing/acid.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/processing/acid.dm + +

+ + + +
/var/SSacidThe subsystem used to tick /datum/component/acid instances.
+ + + diff --git a/code/controllers/subsystem/processing/ai_behaviors.html b/code/controllers/subsystem/processing/ai_behaviors.html new file mode 100644 index 000000000000..d8822bb39eea --- /dev/null +++ b/code/controllers/subsystem/processing/ai_behaviors.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/processing/ai_behaviors.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/processing/ai_behaviors.dm + +

+ + + +
/var/SSai_behaviorsThe subsystem used to tick /datum/ai_behavior instances. Handling the individual actions an AI can take like punching someone in the fucking NUTS
+ + + diff --git a/code/controllers/subsystem/processing/aura_healing.html b/code/controllers/subsystem/processing/aura_healing.html new file mode 100644 index 000000000000..065617ef851a --- /dev/null +++ b/code/controllers/subsystem/processing/aura_healing.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/processing/aura_healing.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/processing/aura_healing.dm + +

+ + + +
/var/SSaura_healingThe subsystem used to tick /datum/component/aura_healing instances.
+ + + diff --git a/code/controllers/subsystem/processing/clock_component.html b/code/controllers/subsystem/processing/clock_component.html new file mode 100644 index 000000000000..0e4acf4e9406 --- /dev/null +++ b/code/controllers/subsystem/processing/clock_component.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/processing/clock_component.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/processing/clock_component.dm + +

+ + + +
/var/SSclock_componentThe subsystem used to tick /datum/component/acid instances.
+ + + diff --git a/code/controllers/subsystem/processing/singulo.html b/code/controllers/subsystem/processing/singulo.html new file mode 100644 index 000000000000..aa1a6b3c7278 --- /dev/null +++ b/code/controllers/subsystem/processing/singulo.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/processing/singulo.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/processing/singulo.dm + +

+ + + +
/var/SSsinguloprocessVery rare subsystem, provides any active singularities with the timings and seclusion they need to succeed
+ + + diff --git a/code/controllers/subsystem/restaurant.html b/code/controllers/subsystem/restaurant.html new file mode 100644 index 000000000000..d9cafa968522 --- /dev/null +++ b/code/controllers/subsystem/restaurant.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem/restaurant.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/restaurant.dm + +

+ + +

This subsystem exists to serve as a holder for important info for the restaurant system for chef and bartender.

+ + + diff --git a/code/controllers/subsystem/shuttle.html b/code/controllers/subsystem/shuttle.html new file mode 100644 index 000000000000..05d2fc4f8c91 --- /dev/null +++ b/code/controllers/subsystem/shuttle.html @@ -0,0 +1,39 @@ + + + + + + + code/controllers/subsystem/shuttle.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/shuttle.dm + +

+ + + +
MAX_TRANSIT_TILE_COUNTHow many turfs to allow before we stop blocking transit requests
SOFT_TRANSIT_RESERVATION_THRESHOLDHow many turfs to allow before we start freeing up existing "soft reserved" transit docks +If we're under load we want to allow for cycling, but if not we want to preserve already generated docks for use

Define Details

+

MAX_TRANSIT_TILE_COUNT + + +

+

How many turfs to allow before we stop blocking transit requests

SOFT_TRANSIT_RESERVATION_THRESHOLD + + +

+

How many turfs to allow before we start freeing up existing "soft reserved" transit docks +If we're under load we want to allow for cycling, but if not we want to preserve already generated docks for use

+ + + diff --git a/code/controllers/subsystem/skills.html b/code/controllers/subsystem/skills.html new file mode 100644 index 000000000000..564326b8cbe5 --- /dev/null +++ b/code/controllers/subsystem/skills.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem/skills.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/skills.dm + +

+ + +

This subsystem mostly exists to populate and manage the skill singletons.

+ + + diff --git a/code/controllers/subsystem/spatial_gridmap.html b/code/controllers/subsystem/spatial_gridmap.html new file mode 100644 index 000000000000..ec1c58c5e7e9 --- /dev/null +++ b/code/controllers/subsystem/spatial_gridmap.html @@ -0,0 +1,51 @@ + + + + + + + code/controllers/subsystem/spatial_gridmap.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/spatial_gridmap.dm + +

+ + + + + + + +
NUMBER_OF_PREGENERATED_ORANGES_EARSthe subsystem creates this many /mob/oranges_ear mob instances during init. allocations that require more than this create more.
/datum/spatial_grid_cellused by /datum/controller/subsystem/spatial_grid to cover every z level so that the coordinates of every turf in the world corresponds to one of these in +the subsystems list of grid cells by z level. each one of these contains content lists holding all atoms meeting a certain criteria that is in our borders. +these datums shouldnt have significant behavior, they should just hold data. the lists are filled and emptied by the subsystem.
/var/SSspatial_grid
BOUNDING_BOX_MINthe left or bottom side index of a box composed of spatial grid cells with the given actual center x or y coordinate
BOUNDING_BOX_MAXthe right or upper side index of a box composed of spatial grid cells with the given center x or y coordinate. +outputted value cant exceed the number of cells on that axis

Define Details

+

BOUNDING_BOX_MAX + + + +

+

the right or upper side index of a box composed of spatial grid cells with the given center x or y coordinate. +outputted value cant exceed the number of cells on that axis

BOUNDING_BOX_MIN + + + +

+

the left or bottom side index of a box composed of spatial grid cells with the given actual center x or y coordinate

NUMBER_OF_PREGENERATED_ORANGES_EARS + + +

+

the subsystem creates this many /mob/oranges_ear mob instances during init. allocations that require more than this create more.

+ + + diff --git a/code/controllers/subsystem/speech_controller.html b/code/controllers/subsystem/speech_controller.html new file mode 100644 index 000000000000..6d5bc83c5e3e --- /dev/null +++ b/code/controllers/subsystem/speech_controller.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/speech_controller.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/speech_controller.dm + +

+ + + +
/var/SSspeech_controllerthe next unallocated /mob/oranges_ear that we try to allocate to assigned_atom's turf +the next atom in atoms_that_need_ears an ear assigned to it +the turf loc of the current assigned_atom. turfs are used to track oranges_ears already assigned to one location so we dont allocate more than one +because allocating more than one oranges_ear to a given loc wastes view iterations +verb_manager subsystem just for handling say's
+ + + diff --git a/code/controllers/subsystem/statpanel.html b/code/controllers/subsystem/statpanel.html new file mode 100644 index 000000000000..f9ddb8a6bdf9 --- /dev/null +++ b/code/controllers/subsystem/statpanel.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/statpanel.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/statpanel.dm + +

+ + +
/datum/object_window_infoDatum that holds and tracks info about a client's object window +Really only exists because I want to be able to do logic with signals +And need a safe place to do the registration
+ + + diff --git a/code/controllers/subsystem/tgui.html b/code/controllers/subsystem/tgui.html new file mode 100644 index 000000000000..37cfcddaf358 --- /dev/null +++ b/code/controllers/subsystem/tgui.html @@ -0,0 +1,30 @@ + + + + + + + code/controllers/subsystem/tgui.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/tgui.dm + +

+ + + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/var/SStguitgui subsystem
+ + + diff --git a/code/controllers/subsystem/timer.html b/code/controllers/subsystem/timer.html new file mode 100644 index 000000000000..c4abb3860b16 --- /dev/null +++ b/code/controllers/subsystem/timer.html @@ -0,0 +1,55 @@ + + + + + + + code/controllers/subsystem/timer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/timer.dm + +

+ + + + + + + + + + + + + +
BUCKET_LENControls how many buckets should be kept, each representing a tick. (1 minutes worth)
BUCKET_POSHelper for getting the correct bucket for a given timer
TIMER_MAXGets the maximum time at which timers will be invoked from buckets, used for deferring to secondary queue
/var/SStimer
/datum/timedeventThis is the actual timer, it contains the callback and necessary data to maintain +the timer.
/proc/_addtimerCreate a new timer and insert it in the queue. +You should not call this directly, and should instead use the addtimer macro, which includes source information.
/proc/deltimerDelete a timer
/proc/timeleftGet the remaining deciseconds on a timer

Define Details

+

BUCKET_LEN + + +

+

Controls how many buckets should be kept, each representing a tick. (1 minutes worth)

BUCKET_POS + + + +

+

Helper for getting the correct bucket for a given timer

TIMER_MAX + + + +

+

Gets the maximum time at which timers will be invoked from buckets, used for deferring to secondary queue

+ + + diff --git a/code/controllers/subsystem/verb_manager.html b/code/controllers/subsystem/verb_manager.html new file mode 100644 index 000000000000..e72e50ccac79 --- /dev/null +++ b/code/controllers/subsystem/verb_manager.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/verb_manager.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/verb_manager.dm + +

+ + + + + +
/var/SSverb_managerSSverb_manager, a subsystem that runs every tick and runs through its entire queue without yielding like SSinput. +this exists because of how the byond tick works and where user inputted verbs are put within it.
/proc/_queue_verbqueue a callback for the given verb/verblike proc and any given arguments to the specified verb subsystem, so that they process in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB() and co.
+ + + diff --git a/code/controllers/subsystem/wardrobe.html b/code/controllers/subsystem/wardrobe.html new file mode 100644 index 000000000000..d5113d20d7f5 --- /dev/null +++ b/code/controllers/subsystem/wardrobe.html @@ -0,0 +1,34 @@ + + + + + + + code/controllers/subsystem/wardrobe.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/wardrobe.dm + +

+ + + +
/var/SSwardrobeThis subsystem strives to make loading large amounts of select objects as smooth at execution as possible +It preloads a set of types to store, and caches them until requested +Doesn't catch everything mind, this is intentional. There's many types that expect to either +A: Not sit in a list for 2 hours, or B: have extra context passed into them, or for their parent to be their location +You should absolutely not spam this system, it will break things in new and wonderful ways +S close enough for government work though. +Fuck you goonstation
+ + + diff --git a/code/controllers/subsystem/wiremod_composite.html b/code/controllers/subsystem/wiremod_composite.html new file mode 100644 index 000000000000..1a322e4d38bb --- /dev/null +++ b/code/controllers/subsystem/wiremod_composite.html @@ -0,0 +1,30 @@ + + + + + + + code/controllers/subsystem/wiremod_composite.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/controllers/subsystem/wiremod_composite.dm + +

+ + + +
/var/SSwiremod_compositeThis subsystem is to handle creating and storing +composite templates that are used to create composite datatypes +for integrated circuits
+ + + diff --git a/code/controllers/subsystem/zcopy.html b/code/controllers/subsystem/zcopy.html new file mode 100644 index 000000000000..6758c8bf45be --- /dev/null +++ b/code/controllers/subsystem/zcopy.html @@ -0,0 +1,47 @@ + + + + + + + code/controllers/subsystem/zcopy.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/zcopy.dm + +

+ + + + + +
ZMIMIC_MAX_PLANE! Here be dragons.
ZMIMIC_MAX_DEPTHThe maximum depth of a single contiguous z-stack. Exceeding this will emit a warning and result in broken layering in the lower levels of that stack.
SHADOWER_DARKENING_FACTORThe multiplication factor for openturf shadower darkness. Lighting will be multiplied by this.
SHADOWER_DARKENING_COLORThe above, but as an RGB string for lighting-less turfs.

Define Details

+

SHADOWER_DARKENING_COLOR + + +

+

The above, but as an RGB string for lighting-less turfs.

SHADOWER_DARKENING_FACTOR + + +

+

The multiplication factor for openturf shadower darkness. Lighting will be multiplied by this.

ZMIMIC_MAX_DEPTH + + +

+

The maximum depth of a single contiguous z-stack. Exceeding this will emit a warning and result in broken layering in the lower levels of that stack.

ZMIMIC_MAX_PLANE + + +

+

! Here be dragons.

+ + + diff --git a/code/datums/achievements/_achievement_data.html b/code/datums/achievements/_achievement_data.html new file mode 100644 index 000000000000..f88401be51ed --- /dev/null +++ b/code/datums/achievements/_achievement_data.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/achievements/_achievement_data.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/achievements/_achievement_data.dm + +

+ + +
/datum/achievement_dataDatum that handles
+ + + diff --git a/code/datums/achievements/_awards.html b/code/datums/achievements/_awards.html new file mode 100644 index 000000000000..6d1fe80d319f --- /dev/null +++ b/code/datums/achievements/_awards.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/achievements/_awards.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/achievements/_awards.dm + +

+ + + +
/datum/award/achievementAchievements are one-off awards for usually doing cool things.
/datum/award/scoreScores are for leaderboarded things, such as killcount of a specific boss
+ + + diff --git a/code/datums/achievements/mafia_achievements.html b/code/datums/achievements/mafia_achievements.html new file mode 100644 index 000000000000..e96cebf29f23 --- /dev/null +++ b/code/datums/achievements/mafia_achievements.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/achievements/mafia_achievements.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/achievements/mafia_achievements.dm + +

+ + + +
/datum/award/achievement/mafia/assistantALL THE ACHIEVEMENTS FOR WINNING A ROUND AS A ROLE
/datum/award/achievement/mafia/universally_hatedALL THE ACHIEVEMENTS FOR MISC MAFIA ODDITIES
+ + + diff --git a/code/datums/achievements/misc_scores.html b/code/datums/achievements/misc_scores.html new file mode 100644 index 000000000000..606f6d463972 --- /dev/null +++ b/code/datums/achievements/misc_scores.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/achievements/misc_scores.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/achievements/misc_scores.dm + +

+ + + + +
/datum/award/score/hardcore_randomHow many times did we survive being a cripple?
/datum/award/score/maintenance_pillHow many maintenance pills did you eat?
/datum/award/score/intento_scoreHow high of a score on the Intento did we get?
+ + + diff --git a/code/datums/actions/action.html b/code/datums/actions/action.html new file mode 100644 index 000000000000..ca3eea7989ea --- /dev/null +++ b/code/datums/actions/action.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/actions/action.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/actions/action.dm + +

+ + +
/datum/actionA simple base for an modular behavior attached to atom or datum.
+ + + diff --git a/code/datums/actions/cooldown_action.html b/code/datums/actions/cooldown_action.html new file mode 100644 index 000000000000..5833e3a3dab4 --- /dev/null +++ b/code/datums/actions/cooldown_action.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/actions/cooldown_action.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/actions/cooldown_action.dm + +

+ + +
/datum/action/cooldownPreset for an action that has a cooldown.
+ + + diff --git a/code/datums/actions/items/stealth_box.html b/code/datums/actions/items/stealth_box.html new file mode 100644 index 000000000000..503283875b16 --- /dev/null +++ b/code/datums/actions/items/stealth_box.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/actions/items/stealth_box.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/actions/items/stealth_box.dm + +

+ + +
/datum/action/item_action/agent_boxMGS BOX!
+ + + diff --git a/code/datums/ai.html b/code/datums/ai.html new file mode 100644 index 000000000000..492d34d720f0 --- /dev/null +++ b/code/datums/ai.html @@ -0,0 +1,39 @@ + + + + + + + code/datums/ai/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

AI controllers + +

+ + +
Introduction +

Our AI controller system is an attempt at making it possible to create modularized AI that stores its behavior in datums, while keeping state and decision making in a controller. This allows a more versatile way of creating AI that doesn't rely on OOP as much, and doesn't clutter up the Life() code in Mobs.

+AI Controllers +

A datum that can be added to any atom in the game. Similarly to components, they might only support a given subtype (e.g. /mob/living), but the idea is that theoretically, you could apply a specific AI controller to a big a group of different types as possible and it would still work.

+

These datums handle both the normal movement of mobs, but also their decision making, deciding which actions they will take based on the checks you put into their SelectBehaviors proc.

+

If behaviors are selected, and the AI is in range, it will try to perform them. It runs all the behaviors it currently has in parallel; allowing for it to for example screech at someone while trying to attack them. Aslong as it has behaviors running, it will not try to generate new plans, making it not waste CPU when it already has an active goal.

+

They also hold data for any of the actions they might need to use, such as cooldowns, whether or not they're currently fighting, etcetera this is stored in the blackboard, more information on that below.

+Blackboard +

The blackboard is an associated list keyed with strings and with values of whatever you want. These store information the mob has such as "Am I attacking someone", "Do I have a weapon". By using an associated list like this, no data needs to be stored on the actions themselves, and you could make actions that work on multiple ai controllers if you so pleased by making the key to use a variable.

+AI Behavior +

AI behaviors are the actions an AI can take. These can range from "Do an emote" to "Attack this target until he is dead". They are singletons and should contain nothing but static data. Any dynamic data should be stored in the blackboard, to allow different controllers to use the same behaviors.

+Guides: +

Making Your AI: Quickly runs through how to make an ai controller for anything with a step by step development of one.

+ + + diff --git a/code/datums/ai/_ai_behavior.html b/code/datums/ai/_ai_behavior.html new file mode 100644 index 000000000000..f3d47fc3860f --- /dev/null +++ b/code/datums/ai/_ai_behavior.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/_ai_behavior.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/_ai_behavior.dm + +

+ + +
/datum/ai_behaviorAbstract class for an action an AI can take, can range from movement to grabbing a nearby weapon.
+ + + diff --git a/code/datums/ai/_ai_planning_subtree.html b/code/datums/ai/_ai_planning_subtree.html new file mode 100644 index 000000000000..7affe9df4d39 --- /dev/null +++ b/code/datums/ai/_ai_planning_subtree.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/_ai_planning_subtree.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/_ai_planning_subtree.dm + +

+ + +
/datum/ai_planning_subtreeA subtree is attached to a controller and is occasionally called by /ai_controller/SelectBehaviors(), this mainly exists to act as a way to subtype and modify SelectBehaviors() without needing to subtype the ai controller itself
+ + + diff --git a/code/datums/ai/_item_behaviors.html b/code/datums/ai/_item_behaviors.html new file mode 100644 index 000000000000..99c40a0d793a --- /dev/null +++ b/code/datums/ai/_item_behaviors.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/_item_behaviors.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/_item_behaviors.dm + +

+ + + +
/datum/ai_behavior/item_escape_graspThis behavior is for obj/items, it is used to free themselves out of the hands of whoever is holding them
/datum/ai_behavior/item_move_close_and_attackThis behavior is for obj/items, it is used to move closer to a target and throw themselves towards them.
+ + + diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.html new file mode 100644 index 000000000000..73f76ff8182d --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm + +

+ + +
/datum/ai_behavior/tipped_reactiontype of tipped reaction that is akin to puppy dog eyes
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.html b/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.html new file mode 100644 index 000000000000..f377e65a63c0 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm + +

+ + +
/datum/ai_planning_subtree/random_speech/cow/wisdomunlike normal cows, wisdom cows speak of wisdom and won't shut the fuck up
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/tipped_subtree.html b/code/datums/ai/basic_mobs/basic_subtrees/tipped_subtree.html new file mode 100644 index 000000000000..f91909a22b50 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/tipped_subtree.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/tipped_subtree.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/tipped_subtree.dm + +

+ + +
/datum/ai_planning_subtree/tip_reactionused by cows
+ + + diff --git a/code/datums/ai/basic_mobs/targetting_datums/basic_targetting_datum.html b/code/datums/ai/basic_mobs/targetting_datums/basic_targetting_datum.html new file mode 100644 index 000000000000..7024e3969e36 --- /dev/null +++ b/code/datums/ai/basic_mobs/targetting_datums/basic_targetting_datum.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/targetting_datums/basic_targetting_datum.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/targetting_datums/basic_targetting_datum.dm + +

+ + +
/datum/targetting_datumDatum for basic mobs to define what they can attack.
+ + + diff --git a/code/datums/ai/cursed/cursed_controller.html b/code/datums/ai/cursed/cursed_controller.html new file mode 100644 index 000000000000..5acad90ed19c --- /dev/null +++ b/code/datums/ai/cursed/cursed_controller.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/ai/cursed/cursed_controller.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/cursed/cursed_controller.dm + +

+ + +
/datum/ai_controller/cursedHaunted AI tries to not be interacted with, and will attack people who do. +Cursed AI instead tries to be interacted with, and will attempt to equip itself onto people. +Added by /datum/element/cursed, and as such will try to remove this element and go dormant when it finds a victim to curse
+ + + diff --git a/code/datums/ai/dog/dog_behaviors.html b/code/datums/ai/dog/dog_behaviors.html new file mode 100644 index 000000000000..f77480830f19 --- /dev/null +++ b/code/datums/ai/dog/dog_behaviors.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/ai/dog/dog_behaviors.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/dog/dog_behaviors.dm + +

+ + + + + + +
/datum/ai_behavior/fetchFetching makes the pawn chase after whatever it's targeting and pick it up when it's in range, with the dog_equip behavior
/datum/ai_behavior/deliver_itemThis behavior involves dropping off a carried item to a specified person (or place)
/datum/ai_behavior/eat_snackThis behavior involves either eating a snack we can reach, or begging someone holding a snack
/datum/ai_behavior/play_deadThis behavior involves either eating a snack we can reach, or begging someone holding a snack
/datum/ai_behavior/harassThis behavior involves either eating a snack we can reach, or begging someone holding a snack
+ + + diff --git a/code/datums/ai/generic/generic_behaviors.html b/code/datums/ai/generic/generic_behaviors.html new file mode 100644 index 000000000000..402d1239f094 --- /dev/null +++ b/code/datums/ai/generic/generic_behaviors.html @@ -0,0 +1,36 @@ + + + + + + + code/datums/ai/generic/generic_behaviors.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/generic/generic_behaviors.dm + +

+ + + + + + + + + + + +
/datum/ai_behavior/move_to_targetMoves to target then finishes
/datum/ai_behavior/use_in_handUse in hand the currently held item
/datum/ai_behavior/use_on_objectUse the currently held item, or unarmed, on a weakref to an object in the world
/datum/ai_behavior/find_and_set*find and set
/datum/ai_behavior/find_and_set/pawn_must_hold_itemVariant of find and set that fails if the living pawn doesn't hold something
/datum/ai_behavior/find_and_set/edibleVariant of find and set that also requires the item to be edible. checks hands too
/datum/ai_behavior/find_and_set/in_handsVariant of find and set that only checks in hands, search range should be excluded for this
/datum/ai_behavior/drop_itemDrops items in hands, very important for future behaviors that require the pawn to grab stuff
/datum/ai_behavior/attackThis behavior involves attacking a target.
/datum/ai_behavior/followThis behavior involves attacking a target.
+ + + diff --git a/code/datums/ai/hunting_behavior/hunting_behaviors.html b/code/datums/ai/hunting_behavior/hunting_behaviors.html new file mode 100644 index 000000000000..b101c3d1f84b --- /dev/null +++ b/code/datums/ai/hunting_behavior/hunting_behaviors.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/hunting_behavior/hunting_behaviors.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/hunting_behavior/hunting_behaviors.dm + +

+ + +
/datum/ai_behavior/find_hunt_targetLiteraly for hunting specific mobs.
+ + + diff --git a/code/datums/ai/idle_behaviors/idle_haunted.html b/code/datums/ai/idle_behaviors/idle_haunted.html new file mode 100644 index 000000000000..f3be24ecdbe5 --- /dev/null +++ b/code/datums/ai/idle_behaviors/idle_haunted.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/idle_behaviors/idle_haunted.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/idle_behaviors/idle_haunted.dm + +

+ + +
/datum/idle_behavior/idle_ghost_itemIf not held, teleport somewhere else
+ + + diff --git a/code/datums/ai/making_your_ai.html b/code/datums/ai/making_your_ai.html new file mode 100644 index 000000000000..de5b5fc06dd9 --- /dev/null +++ b/code/datums/ai/making_your_ai.html @@ -0,0 +1,238 @@ + + + + + + + code/datums/ai/making_your_ai.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/making_your_ai.md + +

+ + +
Introduction +

This is a step by step guide for making an AI Controller for your atom. It teaches the basics of each part of an AI Controller so the target for this guide is someone who doesn't know anything about Controllers and wants to hop in.

+Note on examples used +

At the moment the quality of ai datums has some dubious code lying all around, and I wanted to show the best examples. So while I walk through this with the basic cow ai as an example, I do swap to other datums involving items, generic instrument planning, and some other stuff to help explain singular concepts. I make it clear later in the guide when I'm getting back to following along with filling out the cow ai, so watch out for that.

+Starting out +

We're simply starting out with our definition of what we're modifying. Any atom can have an ai controller.

+
/mob/living/basic/cow
+	name = "cow"
+	desc = "Known for their milk, just don't tip them over."
+
+Initial AI Controller Definition +

Next, we'll want to define the AI Controller. This is the "brain" of the AI. It starts as a type, but is turned into an instance once the object is instanced.

+Object Declaraction +

For clarity, i've included all the variables we're going to set up but haven't yet as nulls. In reality, some of these are always expected to be something and you should take a look at the base controller for which.

+
/mob/living/basic/cow
+    name = "cow"
+    desc = "Known for their milk, just don't tip them over."
+
+    ai_controller = /datum/ai_controller/basic_controller/cow
+
+/datum/ai_controller/basic_controller/cow
+	blackboard = list()
+
+	ai_traits = null
+	ai_movement = null
+	idle_behavior = null
+	planning_subtrees = list()
+
+
+AI Movement & Idle Behavior +

AI Movement is a datum that decides how the AI you're making pathfinds. This has to at least be set to dumb movement, it cannot be null. We're making a basic mob, so we're just going to go inbetween complex and simple pathfinding with the basic_avoidance type.

+
/datum/ai_controller/basic_controller/cow
+	blackboard = list()
+
+	ai_traits = null
+	ai_movement = /datum/ai_movement/basic_avoidance
+	idle_behavior = null
+	planning_subtrees = list()
+
+
+

Idle Behavior is very similar, datum that decides what the AI should do when it decides it doesn't need to do anything (No planned behaviors, we'll walk through that later). Cows having some idle movement sounds nice, so we're going to pick that.

+
/datum/ai_controller/basic_controller/cow
+	blackboard = list()
+
+	ai_traits = null
+	ai_movement = /datum/ai_movement/basic_avoidance
+	idle_behavior = /datum/idle_behavior/idle_random_walk
+	planning_subtrees = list()
+
+
+AI Traits +

AI traits are flags you can set to modify generic idle and movement behavior. In this case, we want farm animals to be able to be coralled, so we're going to add the STOP_MOVING_WHEN_PULLED flag.

+
/datum/ai_controller/basic_controller/cow
+	blackboard = list()
+
+	ai_traits = STOP_MOVING_WHEN_PULLED
+	ai_movement = /datum/ai_movement/basic_avoidance
+	idle_behavior = /datum/idle_behavior/idle_random_walk
+	planning_subtrees = list()
+
+
+Blackboard? +

The blackboard is the variables of the ai controller. They are set up by the subtrees that use them, or are defaults set by the ai controller that the subtrees read. As we don't have our subtrees set up, we don't know what the blackboard should have! We're going to come back to this.

+Subtrees +

So we have all the fundamentals of the cow set in stone, but we do not have the actual behaviors that make cows... act like cows! We introduce these through subtrees. They're singletons that ai controllers hold references to that plan out each step of how an AI should act, loading up behaviors.

+

Let's take a look at a simple subtree:

+
/datum/ai_planning_subtree/item_throw_attack
+
+/datum/ai_planning_subtree/item_throw_attack/SelectBehaviors(datum/ai_controller/controller, delta_time)
+	var/obj/item/item_pawn = controller.pawn
+
+	if(!controller.blackboard[BB_ITEM_TARGET] || !DT_PROB(ITEM_AGGRO_ATTACK_CHANCE, delta_time))
+		return //no target, or didn't aggro
+
+	controller.queue_behavior(controller.blackboard[BB_ITEM_MOVE_AND_ATTACK_TYPE], BB_ITEM_TARGET, BB_ITEM_THROW_ATTEMPT_COUNT)
+	return SUBTREE_RETURN_FINISH_PLANNING
+
+

This subtree takes a blackboard named BB_ITEM_TARGET, the target of the item set by other subtrees, and if that exists alongside a probability to aggro, the subtree queues the behavior to attack that mob.

+

So, neat. When you have a target, queue an attack. This item attack subtree is pretty basic, but a more complicated one may queue different attacks depending on the target. How does this fit into the subtrees?

+

Let's look where it's used, specifically in the subtrees variable:

+
/datum/ai_controller/haunted
+    planning_subtrees = list(
+        ///this applies aggro for picking up the item
+        /datum/ai_planning_subtree/item_ghost_resist,
+        ///this picks targets from the aggro list
+        /datum/ai_planning_subtree/item_target_from_aggro_list,
+        ///this uses the target to attack.
+        /datum/ai_planning_subtree/item_throw_attack,
+    )
+
+

As you can see the subtrees go top to bottom on their processing. SUBTREE_RETURN_FINISH_PLANNING will prematurely end the subtrees, so we can be sure the ai will focus on the behaviors planned so far in a "priority list" kind of way.

+

Let's visualize this in a case where the subtrees should stop prematurely!

+
/datum/ai_controller/haunted
+    planning_subtrees = list(
+        ///someone is currently holding the item,
+        ///preventing it from attacking!
+        ///resist and end planning.
+        /datum/ai_planning_subtree/item_ghost_resist,
+        ///this does not fire this time around
+        /datum/ai_planning_subtree/item_target_from_aggro_list,
+        ///this does not fire this time around
+        /datum/ai_planning_subtree/item_throw_attack,
+    )
+
+Subtree Setup +

Subtrees also have procs for when the mob first starts using them and when they stop. You can use this to make subtrees "react" to events via signals, and this is where we set defaults for blackboards if necessary (we want lists to be empty, not null!)

+

Example:

+
/datum/ai_planning_subtree/item_ghost_resist/SetupSubtree(datum/ai_controller/controller)
+	RegisterSignal(controller.pawn, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip))
+	controller.blackboard[BB_LIKES_EQUIPPER] = FALSE
+	controller.blackboard[BB_ITEM_AGGRO_LIST] = list()
+
+/datum/ai_planning_subtree/item_ghost_resist/ForgetSubtree(datum/ai_controller/controller)
+	UnregisterSignal(controller.pawn, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED))
+
+Lil' Subtree Warning +

Do not set blackboards on the subtree! Subtrees are there to sort and optimize behavior selection, putting logic for setting blackboards is essentially skipping a behavior. I'm putting this here because unfortunately a lot of our current ai datum code has this exact mistake, and I'm hoping we can move on from it!

+

BAD:

+
	if(prob(50))
+		var/list/possible_targets = list()
+		for(var/atom/thing in view(2, living_pawn))
+			if(!thing.mouse_opacity)
+				continue
+			if(thing.IsObscured())
+				continue
+			possible_targets += thing
+		var/atom/target = pick(possible_targets)
+		if(target)
+			controller.blackboard[BB_MONKEY_CURRENT_PRESS_TARGET] = target
+			controller.queue_behavior(/datum/ai_behavior/use_on_object, BB_MONKEY_CURRENT_PRESS_TARGET)
+			return
+
+

GOOD:

+
	if(!controller.blackboard[BB_MONKEY_CURRENT_PRESS_TARGET])
+		controller.queue_behavior(/datum/ai_behavior/find_nearby, BB_MONKEY_CURRENT_PRESS_TARGET)
+		return
+
+	if(prob(50))
+		controller.queue_behavior(/datum/ai_behavior/use_on_object, BB_MONKEY_CURRENT_PRESS_TARGET)
+		return SUBTREE_RETURN_FINISH_PLANNING
+
+

As you can see we're putting the search behavior... on a behavior! and since the planning subtree passes to other subtrees afterwards, the monkey will still find things to do. The next pass, if the search behavior was successful the action can be completed.

+Behaviors for subtrees +

Finally, we've reached the final stop on this controller rabbit hole: Behaviors! These are what subtrees are planning, and the AI will do these from first planned all the way to the end, just like it runs through subtrees.

+

As before, let's take a look at a basic example of one:

+
/datum/ai_behavior/follow
+	behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_MOVE_AND_PERFORM
+	required_distance = 1
+
+/datum/ai_behavior/follow/perform(delta_time, datum/ai_controller/controller, follow_key, range_key)
+	. = ..()
+	var/mob/living/living_pawn = controller.pawn
+	if(!istype(living_pawn) || !isturf(living_pawn.loc))
+		return
+
+	var/datum/weakref/follow_ref = controller.blackboard[follow_key]
+	var/atom/movable/follow_target = follow_ref?.resolve()
+	if(!follow_target || get_dist(living_pawn, follow_target) > controller.blackboard[range_key])
+		finish_action(controller, FALSE)
+		return
+
+	var/mob/living/living_target = follow_target
+	if(istype(living_target) && (living_target.stat == DEAD))
+		finish_action(controller, TRUE)
+		return
+
+	controller.current_movement_target = living_target
+
+/datum/ai_behavior/follow/finish_action(datum/ai_controller/controller, succeeded, follow_key, range_key)
+	. = ..()
+	controller.blackboard[follow_key] = null
+
+

This behavior makes the ai move to one tile away and finish the action, only finishing the action if the target is dead (success) or out of range (fail). When the action finishes, the follow target is unset by finish_action() regardless of success. Nice!

+

The last important thing to know is that behaviors take the keys from subtree planning as arguments. They do not search for the blackboards they need themselves.

+

BAD:

+
/datum/ai_behavior/play_instrument
+
+/datum/ai_behavior/play_instrument/perform(delta_time, datum/ai_controller/controller)
+	. = ..()
+
+	//bzzt! using blackboard keys directly! let the subtree pass this in!
+	var/datum/song/song = controller.blackboard[BB_SONG_DATUM]
+
+	song.start_playing(controller.pawn)
+	finish_action(controller, TRUE)
+
+

GOOD:

+
/datum/ai_behavior/play_instrument
+
+/datum/ai_behavior/play_instrument/perform(delta_time, datum/ai_controller/controller, song_datum_key)
+	. = ..()
+
+	var/datum/song/song = controller.blackboard[song_datum_key]
+
+	song.start_playing(controller.pawn)
+	finish_action(controller, TRUE) //NOTE: you may forget, but this doesn't end the proc! return after it if you have code later
+
+"Okay, back to what we were doing!" +

Wow, what a tangent! But it's important to understand subtree planning as it is the core of our AI. We have a subtree for the cows to occasionally make sounds, which can be interrupted by the tipping subtree (since cows can be tipped!) The Blackboard stays empty for our cows, since the tipped subtree does not have any blackboards it needs to read that could change per-ai controller. The Tipping blackboards are handled by the subtree's setup.

+
/datum/ai_controller/basic_controller/cow
+	blackboard = list()
+
+	ai_traits = STOP_MOVING_WHEN_PULLED
+	ai_movement = /datum/ai_movement/basic_avoidance
+	idle_behavior = /datum/idle_behavior/idle_random_walk
+	planning_subtrees = list(
+		/datum/ai_planning_subtree/tip_reaction,
+		/datum/ai_planning_subtree/random_speech/cow,
+	)
+
+Finished Product: A COW. +

And... we're finished! The tip_reaction subtree hooks into signals and runs behaviors when the cow is tipped, the random speech occasionally plans speech, the idle behavior runs when no behaviors are planned, and the cow acts like a cow! We used a mob in this case because everyone knows how a cow works as it's a very simple creature, but AI Controllers work on anything! It's just as valid of a use case to make, say, the staff of animation apply AI Controllers to items.

+ + + diff --git a/code/datums/ai/monkey/monkey_behaviors.html b/code/datums/ai/monkey/monkey_behaviors.html new file mode 100644 index 000000000000..a0949cfcd918 --- /dev/null +++ b/code/datums/ai/monkey/monkey_behaviors.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/monkey/monkey_behaviors.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/monkey/monkey_behaviors.dm + +

+ + +
/datum/ai_behavior/disposal_mobmob refs are uids, so this is safe
+ + + diff --git a/code/datums/ai/monkey/monkey_controller.html b/code/datums/ai/monkey/monkey_controller.html new file mode 100644 index 000000000000..5fe27ac8431e --- /dev/null +++ b/code/datums/ai/monkey/monkey_controller.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/monkey/monkey_controller.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/monkey/monkey_controller.dm + +

+ + +
/datum/ai_controller/monkeyOOK OOK OOK
+ + + diff --git a/code/datums/ai/movement/_ai_movement.html b/code/datums/ai/movement/_ai_movement.html new file mode 100644 index 000000000000..17fb46ce47a3 --- /dev/null +++ b/code/datums/ai/movement/_ai_movement.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/movement/_ai_movement.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/movement/_ai_movement.dm + +

+ + +
/datum/ai_movementThis datum is an abstract class that can be overriden for different types of movement
+ + + diff --git a/code/datums/ai/movement/ai_movement_basic_avoidance.html b/code/datums/ai/movement/ai_movement_basic_avoidance.html new file mode 100644 index 000000000000..5aebd5507632 --- /dev/null +++ b/code/datums/ai/movement/ai_movement_basic_avoidance.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/movement/ai_movement_basic_avoidance.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/movement/ai_movement_basic_avoidance.dm + +

+ + +
/datum/ai_movement/basic_avoidanceUses Byond's basic obstacle avoidance mvovement
+ + + diff --git a/code/datums/ai/movement/ai_movement_dumb.html b/code/datums/ai/movement/ai_movement_dumb.html new file mode 100644 index 000000000000..e13f046aed39 --- /dev/null +++ b/code/datums/ai/movement/ai_movement_dumb.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/movement/ai_movement_dumb.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/movement/ai_movement_dumb.dm + +

+ + +
/datum/ai_movement/dumbThe most braindead type of movement, bee-line to the target with no concern of whats infront of us.
+ + + diff --git a/code/datums/ai/movement/ai_movement_jps.html b/code/datums/ai/movement/ai_movement_jps.html new file mode 100644 index 000000000000..42d22d116a36 --- /dev/null +++ b/code/datums/ai/movement/ai_movement_jps.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/movement/ai_movement_jps.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/movement/ai_movement_jps.dm + +

+ + +
/datum/ai_movement/jpsThis movement datum represents smart-pathing
+ + + diff --git a/code/datums/ai/objects/mod.html b/code/datums/ai/objects/mod.html new file mode 100644 index 000000000000..6440abb921eb --- /dev/null +++ b/code/datums/ai/objects/mod.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/objects/mod.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/objects/mod.dm + +

+ + +
/datum/ai_controller/modAn AI controller for the MODsuit pathfinder module. It's activated by implant and attaches itself to the user.
+ + + diff --git a/code/datums/ai/objects/vending_machines/vending_machine_controller.html b/code/datums/ai/objects/vending_machines/vending_machine_controller.html new file mode 100644 index 000000000000..50afc81decf1 --- /dev/null +++ b/code/datums/ai/objects/vending_machines/vending_machine_controller.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/objects/vending_machines/vending_machine_controller.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/objects/vending_machines/vending_machine_controller.dm + +

+ + +
/datum/ai_controller/vending_machineAI controller for vending machine gone rogue, Don't try using this on anything else, it wont work.
+ + + diff --git a/code/datums/ai/oldhostile/hostile_tameable.html b/code/datums/ai/oldhostile/hostile_tameable.html new file mode 100644 index 000000000000..92916d445159 --- /dev/null +++ b/code/datums/ai/oldhostile/hostile_tameable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/oldhostile/hostile_tameable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai/oldhostile/hostile_tameable.dm + +

+ + +
/datum/ai_controller/hostile_friendThis code needs to be removed at some point as it doesn't actually utilize the AI.
+ + + diff --git a/code/datums/ai_laws.html b/code/datums/ai_laws.html new file mode 100644 index 000000000000..9039f4f672e4 --- /dev/null +++ b/code/datums/ai_laws.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/ai_laws.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/ai_laws.dm + +

+ + + + +
/datum/ai_laws/default/asimovH A R M L E S S
/datum/ai_laws/default/corporateN E U T R A L
/datum/ai_laws/antimovH A R M F U L
+ + + diff --git a/code/datums/alarm.html b/code/datums/alarm.html new file mode 100644 index 000000000000..ba93e7ecf98c --- /dev/null +++ b/code/datums/alarm.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/alarm.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/alarm.dm + +

+ + +
/datum/alarm_handlerRepresents a single source of alarms, one alarm handler will only ever count for one alarm per listener
+ + + diff --git a/code/datums/announcers/_announcer.html b/code/datums/announcers/_announcer.html new file mode 100644 index 000000000000..3d4a65dd875a --- /dev/null +++ b/code/datums/announcers/_announcer.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/announcers/_announcer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/announcers/_announcer.dm + +

+ + +
/datum/centcom_announcerData holder for the announcers that can be used in a game, this can be used to have alternative announcements outside of the default e.g.the intern
+ + + diff --git a/code/datums/beam.html b/code/datums/beam.html new file mode 100644 index 000000000000..472fb41618af --- /dev/null +++ b/code/datums/beam.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/beam.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/beam.dm + +

+ + +
/datum/beam
+ + + diff --git a/code/datums/brain_damage/split_personality.html b/code/datums/brain_damage/split_personality.html new file mode 100644 index 000000000000..f0224ae92df2 --- /dev/null +++ b/code/datums/brain_damage/split_personality.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/brain_damage/split_personality.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/brain_damage/split_personality.dm + +

+ + +
/datum/brain_trauma/severe/split_personality/brainwashingBRAINWASHING
+ + + diff --git a/code/datums/browser.html b/code/datums/browser.html new file mode 100644 index 000000000000..64088885a93a --- /dev/null +++ b/code/datums/browser.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/browser.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/browser.dm + +

+ + + +
/proc/tgalertDEPRECATED: USE tgui_alert(...) INSTEAD
+ + + diff --git a/code/datums/callback.html b/code/datums/callback.html new file mode 100644 index 000000000000..69dc7c3f51a8 --- /dev/null +++ b/code/datums/callback.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/callback.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/callback.dm + +

+ + + + + +
/datum/callbackA datum that holds a proc to be called on another object, used to track proccalls to other objects
/datum/callback_selectHelper datum for the select callbacks proc
/proc/callback_selectRuns a list of callbacks asyncronously, returning only when all have finished
+ + + diff --git a/code/datums/chatmessage.html b/code/datums/chatmessage.html new file mode 100644 index 000000000000..1f5f5b4edeae --- /dev/null +++ b/code/datums/chatmessage.html @@ -0,0 +1,100 @@ + + + + + + + code/datums/chatmessage.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/chatmessage.dm + +

+ + + + + + + + + + + + + + + + + + +
CHAT_MESSAGE_SPAWN_TIMEHow long the chat message's spawn-in animation will occur for
CHAT_MESSAGE_BUMP_TIMEHow long a "Bump" animations takes
CHAT_MESSAGE_LIFESPANHow long the chat message will exist.
CHAT_MESSAGE_EOL_FADEHow long the chat message's end of life fading animation will occur for
CHAT_MESSAGE_EXP_DECAYFactor of how much the message index (number of messages) will account to exponential decay
CHAT_MESSAGE_HEIGHT_DECAYFactor of how much height will account to exponential decay
CHAT_MESSAGE_APPROX_LHEIGHTApproximate height in pixels of an 'average' line, used for height decay
CHAT_MESSAGE_WIDTHMax width of chat message in pixels
CHAT_MESSAGE_MAX_LENGTHMax length of chat message in characters
CHAT_MESSAGE_ICON_SIZEThe dimensions of the chat message icons
CHAT_LAYERBase layer of chat elements
CHAT_LAYER_MAXHighest possible layer of chat elements
CHAT_LAYER_Z_STEPMaximum precision of float before rounding errors occur (in this context)
CHAT_LAYER_MAX_ZThe number of z-layer 'slices' usable by the chat message layering
/datum/chatmessageDatum for generating a message overlay on the map
/proc/colorize_stringGets a color for a name, will return the same color for a given string consistently within a round.atom

Define Details

+

CHAT_LAYER + + +

+

Base layer of chat elements

CHAT_LAYER_MAX + + +

+

Highest possible layer of chat elements

CHAT_LAYER_MAX_Z + + +

+

The number of z-layer 'slices' usable by the chat message layering

CHAT_LAYER_Z_STEP + + +

+

Maximum precision of float before rounding errors occur (in this context)

CHAT_MESSAGE_APPROX_LHEIGHT + + +

+

Approximate height in pixels of an 'average' line, used for height decay

CHAT_MESSAGE_BUMP_TIME + + +

+

How long a "Bump" animations takes

CHAT_MESSAGE_EOL_FADE + + +

+

How long the chat message's end of life fading animation will occur for

CHAT_MESSAGE_EXP_DECAY + + +

+

Factor of how much the message index (number of messages) will account to exponential decay

CHAT_MESSAGE_HEIGHT_DECAY + + +

+

Factor of how much height will account to exponential decay

CHAT_MESSAGE_ICON_SIZE + + +

+

The dimensions of the chat message icons

CHAT_MESSAGE_LIFESPAN + + +

+

How long the chat message will exist.

CHAT_MESSAGE_MAX_LENGTH + + +

+

Max length of chat message in characters

CHAT_MESSAGE_SPAWN_TIME + + +

+

How long the chat message's spawn-in animation will occur for

CHAT_MESSAGE_WIDTH + + +

+

Max width of chat message in pixels

+ + + diff --git a/code/datums/components.html b/code/datums/components.html new file mode 100644 index 000000000000..3aed27901526 --- /dev/null +++ b/code/datums/components.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Datum Component System (DCS) + +

+ + +
Concept +

Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward it's arguments with a SendSignal() call. Now every component that want's to can also know about this happening.

+HackMD page for an introduction to the system as a whole.See/Define signals and their arguments in __DEFINES\components.dm
+ + + diff --git a/code/datums/components/COMPONENT_TEMPLATE.html b/code/datums/components/COMPONENT_TEMPLATE.html new file mode 100644 index 000000000000..43041a3f2d6b --- /dev/null +++ b/code/datums/components/COMPONENT_TEMPLATE.html @@ -0,0 +1,76 @@ + + + + + + + code/datums/components/COMPONENT_TEMPLATE.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Template file for your new component + +

+ + +

See _component.dm for detailed explanations

+
/datum/component/mycomponent
+	//can_transfer = TRUE                   // Must have PostTransfer
+	//dupe_mode = COMPONENT_DUPE_ALLOWED    // code/__DEFINES/dcs/flags.dm
+	var/myvar
+
+/datum/component/mycomponent/Initialize(myargone, myargtwo)
+	if(myargone)
+		myvar = myargone
+	if(myargtwo)
+		send_to_playing_players(myargtwo)
+
+/datum/component/mycomponent/RegisterWithParent()
+	RegisterSignal(parent, COMSIG_NOT_REAL, PROC_REF(signalproc))                                    // RegisterSignal can take a signal name by itself,
+	RegisterSignal(parent, list(COMSIG_NOT_REAL_EITHER, COMSIG_ALMOST_REAL), PROC_REF(otherproc))    // or a list of them to assign to the same proc
+
+/datum/component/mycomponent/UnregisterFromParent()
+	UnregisterSignal(parent, COMSIG_NOT_REAL)          // UnregisterSignal has similar behavior
+	UnregisterSignal(parent, list(                     // But you can just include all registered signals in one call
+		COMSIG_NOT_REAL,
+		COMSIG_NOT_REAL_EITHER,
+		COMSIG_ALMOST_REAL,
+	))
+
+/datum/component/mycomponent/proc/signalproc(datum/source)
+	SIGNAL_HANDLER
+	send_to_playing_players("[source] signaled [src]!")
+
+/*
+/datum/component/mycomponent/InheritComponent(datum/component/mycomponent/old, i_am_original, list/arguments)
+	myvar = old.myvar
+
+	if(i_am_original)
+		send_to_playing_players("No parent should have to bury their child")
+*/
+
+/*
+/datum/component/mycomponent/PreTransfer()
+	send_to_playing_players("Goodbye [parent], I'm getting adopted")
+
+/datum/component/mycomponent/PostTransfer()
+	send_to_playing_players("Hello my new parent, [parent]! It's nice to meet you!")
+*/
+
+/*
+/datum/component/mycomponent/CheckDupeComponent(datum/mycomponent/new, myargone, myargtwo)
+	if(myargone == myvar)
+		return TRUE
+*/
+
+ + + diff --git a/code/datums/components/_component.html b/code/datums/components/_component.html new file mode 100644 index 000000000000..0b255d156177 --- /dev/null +++ b/code/datums/components/_component.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/_component.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/_component.dm + +

+ + +
/datum/componentThe component datum
+ + + diff --git a/code/datums/components/acid.html b/code/datums/components/acid.html new file mode 100644 index 000000000000..db659b8f062a --- /dev/null +++ b/code/datums/components/acid.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/acid.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/acid.dm + +

+ + +
/datum/component/acid
+ + + diff --git a/code/datums/components/action_item_overlay.html b/code/datums/components/action_item_overlay.html new file mode 100644 index 000000000000..fdababd3d96e --- /dev/null +++ b/code/datums/components/action_item_overlay.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/action_item_overlay.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/action_item_overlay.dm + +

+ + +
/datum/component/action_item_overlayApply to an action to allow it to take an item +and apply it as an overlay of the action button
+ + + diff --git a/code/datums/components/admin_popup.html b/code/datums/components/admin_popup.html new file mode 100644 index 000000000000..61a5e320477e --- /dev/null +++ b/code/datums/components/admin_popup.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/components/admin_popup.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/admin_popup.dm + +

+ + + + + +
/datum/component/admin_popupApplied to clients when they receive an admin popup, alerting them to +their ticket.
/atom/movable/screen/admin_popupThe UI element for admin popups
/proc/give_admin_popupTries to give the target an admin popup. +If it fails, will send the error to the passed admin.
+ + + diff --git a/code/datums/components/anti_magic.html b/code/datums/components/anti_magic.html new file mode 100644 index 000000000000..3cbfefda1324 --- /dev/null +++ b/code/datums/components/anti_magic.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/anti_magic.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/anti_magic.dm + +

+ + +
/datum/component/anti_magicThis provides different types of magic resistance on an object
+ + + diff --git a/code/datums/components/aquarium.html b/code/datums/components/aquarium.html new file mode 100644 index 000000000000..e3f8250c9b08 --- /dev/null +++ b/code/datums/components/aquarium.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/aquarium.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/aquarium.dm + +

+ + +
/datum/component/aquarium_contentAllows movables to be inserted/displayed in aquariums.
+ + + diff --git a/code/datums/components/area_sound_manager.html b/code/datums/components/area_sound_manager.html new file mode 100644 index 000000000000..586643686a0d --- /dev/null +++ b/code/datums/components/area_sound_manager.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/area_sound_manager.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/area_sound_manager.dm + +

+ + +
/datum/component/area_sound_managerAllows you to set a theme for a set of areas without tying them to looping sounds explicitly
+ + + diff --git a/code/datums/components/areabound.html b/code/datums/components/areabound.html new file mode 100644 index 000000000000..601b81c6f672 --- /dev/null +++ b/code/datums/components/areabound.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/areabound.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/areabound.dm + +

+ + +
/datum/component/areaboundMovables with this component will automatically return to their original turf if moved outside their initial area
+ + + diff --git a/code/datums/components/atmos_reaction_recorder.html b/code/datums/components/atmos_reaction_recorder.html new file mode 100644 index 000000000000..ff3b91e80ee2 --- /dev/null +++ b/code/datums/components/atmos_reaction_recorder.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/atmos_reaction_recorder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/atmos_reaction_recorder.dm + +

+ + +
/datum/component/atmos_reaction_recorderComponent for atmos-related atoms to be able to record and transmit their reaction_results data +Use this ONLY for atoms, gasmixtures will be accessed by calling return air on the object. +Add this component after gasmixes has been initialized.
+ + + diff --git a/code/datums/components/aura_healing.html b/code/datums/components/aura_healing.html new file mode 100644 index 000000000000..6ff277c9409c --- /dev/null +++ b/code/datums/components/aura_healing.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/aura_healing.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/aura_healing.dm + +

+ + +
/datum/component/aura_healingApplies healing to those in the area. +Will provide them with an alert while they're in range, as well as +give them a healing particle. +Can be applied to those only with a trait conditionally.
+ + + diff --git a/code/datums/components/bakeable.html b/code/datums/components/bakeable.html new file mode 100644 index 000000000000..3040e8f120de --- /dev/null +++ b/code/datums/components/bakeable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/bakeable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/bakeable.dm + +

+ + +
/datum/component/bakeableThis component indicates this object can be baked in an oven.
+ + + diff --git a/code/datums/components/bloodysoles.html b/code/datums/components/bloodysoles.html new file mode 100644 index 000000000000..edea1d416a53 --- /dev/null +++ b/code/datums/components/bloodysoles.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/bloodysoles.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/bloodysoles.dm + +

+ + + +
/datum/component/bloodysolesComponent for clothing items that can pick up blood from decals and spread it around everywhere when walking, such as shoes or suits with integrated shoes.
/datum/component/bloodysoles/feetLike its parent but can be applied to carbon mobs instead of clothing items
+ + + diff --git a/code/datums/components/boomerang.html b/code/datums/components/boomerang.html new file mode 100644 index 000000000000..b672056ff9c9 --- /dev/null +++ b/code/datums/components/boomerang.html @@ -0,0 +1,34 @@ + + + + + + + code/datums/components/boomerang.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/components/boomerang.dm + +

+ + + +
BOOMERANG_REBOUND_INTERVALThe cooldown period between last_boomerang_throw and it's methods of implementing a rebound proc.
/datum/component/boomerangIf an ojvect is given the boomerang component, it should be thrown back to the thrower after either hitting it's target, or landing on the thrown tile. +Thrown objects should be thrown back to the original thrower with this component, a number of tiles defined by boomerang_throw_range.

Define Details

+

BOOMERANG_REBOUND_INTERVAL + + +

+

The cooldown period between last_boomerang_throw and it's methods of implementing a rebound proc.

+ + + diff --git a/code/datums/components/butchering.html b/code/datums/components/butchering.html new file mode 100644 index 000000000000..2c20cd98c0c9 --- /dev/null +++ b/code/datums/components/butchering.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/butchering.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/butchering.dm + +

+ + +
/datum/component/butchering/recyclerSpecial snowflake component only used for the recycler.
+ + + diff --git a/code/datums/components/caltrop.html b/code/datums/components/caltrop.html new file mode 100644 index 000000000000..75b21cdc1d05 --- /dev/null +++ b/code/datums/components/caltrop.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/caltrop.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/caltrop.dm + +

+ + +
/datum/component/caltropCaltrop element; for hurting people when they walk over this.
+ + + diff --git a/code/datums/components/clickbox.html b/code/datums/components/clickbox.html new file mode 100644 index 000000000000..7777579b64c4 --- /dev/null +++ b/code/datums/components/clickbox.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/components/clickbox.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/clickbox.dm + +

+ + +
/datum/component/clickboxThis component adds a near-invisible underlay to a movable target to expand the clickable surface of its icon without +resorting to MOUSE_OPACITY_OPAQUE. +The underlay ignores the parent's color and alpha and can be offset. +The name is a portmanteau of "click" and "hitbox", because technically this isn't an hitbox, +but it helps catch clicks, and I don't want to give it a loooong name like openspace_item_click_handler
+ + + diff --git a/code/datums/components/codeword_hearing.html b/code/datums/components/codeword_hearing.html new file mode 100644 index 000000000000..b9a655b8f83f --- /dev/null +++ b/code/datums/components/codeword_hearing.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/codeword_hearing.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/codeword_hearing.dm + +

+ + +
/datum/component/codeword_hearingComponent that allows for highlighting of words or phrases in chat based on regular expressions.
+ + + diff --git a/code/datums/components/combustible_flooder.html b/code/datums/components/combustible_flooder.html new file mode 100644 index 000000000000..396221c92161 --- /dev/null +++ b/code/datums/components/combustible_flooder.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/combustible_flooder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/combustible_flooder.dm + +

+ + +
/datum/component/combustible_flooderComponent that floods gas when ignited by fire.
+ + + diff --git a/code/datums/components/connect_containers.html b/code/datums/components/connect_containers.html new file mode 100644 index 000000000000..81b2c1b48abb --- /dev/null +++ b/code/datums/components/connect_containers.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/connect_containers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/connect_containers.dm + +

+ + +
/datum/component/connect_containersThis component behaves similar to connect_loc_behalf, but it's nested and hooks a signal onto all MOVABLES containing this atom.
+ + + diff --git a/code/datums/components/connect_loc_behalf.html b/code/datums/components/connect_loc_behalf.html new file mode 100644 index 000000000000..31a7217df094 --- /dev/null +++ b/code/datums/components/connect_loc_behalf.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/connect_loc_behalf.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/connect_loc_behalf.dm + +

+ + +
/datum/component/connect_loc_behalfThis component behaves similar to connect_loc, hooking into a signal on a tracked object's turf +It has the ability to react to that signal on behalf of a separate listener however +This has great use, primarily for components, but it carries with it some overhead +So we do it separately as it needs to hold state which is very likely to lead to bugs if it remains as an element.
+ + + diff --git a/code/datums/components/connect_mob_behalf.html b/code/datums/components/connect_mob_behalf.html new file mode 100644 index 000000000000..0acedbc40968 --- /dev/null +++ b/code/datums/components/connect_mob_behalf.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/connect_mob_behalf.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/connect_mob_behalf.dm + +

+ + +
/datum/component/connect_mob_behalfThis component behaves similar to connect_loc_behalf, but working off clients and mobs instead of loc +To be clear, we hook into a signal on a tracked client's mob +We retain the ability to react to that signal on a seperate listener, which makes this quite powerful
+ + + diff --git a/code/datums/components/connect_range.html b/code/datums/components/connect_range.html new file mode 100644 index 000000000000..f62ec598ab26 --- /dev/null +++ b/code/datums/components/connect_range.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/connect_range.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/connect_range.dm + +

+ + +
/datum/component/connect_rangeThis component behaves similar to connect_loc_behalf but for all turfs in range, hooking into a signal on each of them. +Just like connect_loc_behalf, It can react to that signal on behalf of a seperate listener. +Good for components, though it carries some overhead. Can't be an element as that may lead to bugs.
+ + + diff --git a/code/datums/components/container_item/container_item.html b/code/datums/components/container_item/container_item.html new file mode 100644 index 000000000000..47a4104c67ca --- /dev/null +++ b/code/datums/components/container_item/container_item.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/container_item/container_item.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/container_item/container_item.dm + +

+ + +
/datum/component/container_itemContainer item, an item which can be stored by specialized containers.
+ + + diff --git a/code/datums/components/container_item/tank_holder.html b/code/datums/components/container_item/tank_holder.html new file mode 100644 index 000000000000..47fb69514db8 --- /dev/null +++ b/code/datums/components/container_item/tank_holder.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/container_item/tank_holder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/container_item/tank_holder.dm + +

+ + +
/datum/component/container_item/tank_holderTank holder item - Added to an object which can be added to a tank holder.
+ + + diff --git a/code/datums/components/conveyor_movement.html b/code/datums/components/conveyor_movement.html new file mode 100644 index 000000000000..b321aeb676cf --- /dev/null +++ b/code/datums/components/conveyor_movement.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/conveyor_movement.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/conveyor_movement.dm + +

+ + +
/datum/component/conveyManages the loop caused by being on a conveyor belt +Prevents movement while you're floating, etc +Takes the direction to move, delay between steps, and time before starting to move as arguments
+ + + diff --git a/code/datums/components/cracked.html b/code/datums/components/cracked.html new file mode 100644 index 000000000000..64fc230bbbed --- /dev/null +++ b/code/datums/components/cracked.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/cracked.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/cracked.dm + +

+ + +
/datum/component/crackedTracks damage to add or remove crack overlays, when none are needed this components is qdeleted
+ + + diff --git a/code/datums/components/crafting/guncrafting.html b/code/datums/components/crafting/guncrafting.html new file mode 100644 index 000000000000..b3499e5e0fb8 --- /dev/null +++ b/code/datums/components/crafting/guncrafting.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/crafting/guncrafting.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/crafting/guncrafting.dm + +

+ + +
/obj/item/weaponcrafting/gunkitThese gun kits are printed from the security fabricator to then be used in making new weapons
+ + + diff --git a/code/datums/components/crafting/recipes.html b/code/datums/components/crafting/recipes.html new file mode 100644 index 000000000000..9053788eea48 --- /dev/null +++ b/code/datums/components/crafting/recipes.html @@ -0,0 +1,38 @@ + + + + + + + code/datums/components/crafting/recipes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/components/crafting/recipes.dm + +

+ + + + +
CRAFTING_MACHINERY_CONSUMEIf the machine is used/deleted in the crafting process
CRAFTING_MACHINERY_USEIf the machine is only "used" i.e. it checks to see if it's nearby and allows crafting, but doesn't delete it
/datum/crafting_recipe/clown_scanner_upgradeRecipe used for upgrading fake N-spect scanners to bananium HONK-spect scanners

Define Details

+

CRAFTING_MACHINERY_CONSUME + + +

+

If the machine is used/deleted in the crafting process

CRAFTING_MACHINERY_USE + + +

+

If the machine is only "used" i.e. it checks to see if it's nearby and allows crafting, but doesn't delete it

+ + + diff --git a/code/datums/components/creamed.html b/code/datums/components/creamed.html new file mode 100644 index 000000000000..14c09cac0a84 --- /dev/null +++ b/code/datums/components/creamed.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/creamed.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/creamed.dm + +

+ + +
/datum/component/creamedCreamed component
+ + + diff --git a/code/datums/components/cult_eyes.html b/code/datums/components/cult_eyes.html new file mode 100644 index 000000000000..87de77832413 --- /dev/null +++ b/code/datums/components/cult_eyes.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/cult_eyes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/cult_eyes.dm + +

+ + +
/datum/component/cult_eyesApplies and removes the glowing cult eyes
+ + + diff --git a/code/datums/components/curse_of_hunger.html b/code/datums/components/curse_of_hunger.html new file mode 100644 index 000000000000..628e9c3d1e95 --- /dev/null +++ b/code/datums/components/curse_of_hunger.html @@ -0,0 +1,43 @@ + + + + + + + code/datums/components/curse_of_hunger.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/components/curse_of_hunger.dm + +

+ + + + + +
FULL_HEALTHinital food tolerances, two dishes
HUNGER_THRESHOLD_WARNINGthe point where you can notice the item is hungry on examine.
HUNGER_THRESHOLD_TRY_EATINGthe point where the item has a chance to eat something on every tick. possibly you!
/datum/component/curse_of_hungercurse of hunger component; for very hungry items.

Define Details

+

FULL_HEALTH + + +

+

inital food tolerances, two dishes

HUNGER_THRESHOLD_TRY_EATING + + +

+

the point where the item has a chance to eat something on every tick. possibly you!

HUNGER_THRESHOLD_WARNING + + +

+

the point where you can notice the item is hungry on examine.

+ + + diff --git a/code/datums/components/customizable_reagent_holder.html b/code/datums/components/customizable_reagent_holder.html new file mode 100644 index 000000000000..de370b10c56c --- /dev/null +++ b/code/datums/components/customizable_reagent_holder.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/customizable_reagent_holder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/customizable_reagent_holder.dm + +

+ + +
/datum/component/customizable_reagent_holderWhen added to an atom, item ingredients can be put into that. +The sprite is updated and reagents are transfered.
+ + + diff --git a/code/datums/components/deadchat_control.html b/code/datums/components/deadchat_control.html new file mode 100644 index 000000000000..47b9d47b1493 --- /dev/null +++ b/code/datums/components/deadchat_control.html @@ -0,0 +1,43 @@ + + + + + + + code/datums/components/deadchat_control.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/components/deadchat_control.dm + +

+ + + + + +
DEMOCRACY_MODEWill execute a single command after the cooldown based on player votes.
ANARCHY_MODEAllows each player to do a single command every cooldown.
MUTE_DEMOCRACY_MESSAGESMutes the democracy mode messages send to orbiters at the end of each cycle. Useful for when the cooldown is so low it'd get spammy.
/datum/component/deadchat_controlDeadchat Plays Things - The Componenting

Define Details

+

ANARCHY_MODE + + +

+

Allows each player to do a single command every cooldown.

DEMOCRACY_MODE + + +

+

Will execute a single command after the cooldown based on player votes.

MUTE_DEMOCRACY_MESSAGES + + +

+

Mutes the democracy mode messages send to orbiters at the end of each cycle. Useful for when the cooldown is so low it'd get spammy.

+ + + diff --git a/code/datums/components/dejavu.html b/code/datums/components/dejavu.html new file mode 100644 index 000000000000..f9079f1b5f52 --- /dev/null +++ b/code/datums/components/dejavu.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/dejavu.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/dejavu.dm + +

+ + + +
/datum/component/dejavuA component to reset the parent to its previous state after some time passes
/datum/component/dejavu/timelinedifferently themed dejavu for modsuits.
+ + + diff --git a/code/datums/components/deployable.html b/code/datums/components/deployable.html new file mode 100644 index 000000000000..831c6adcf78d --- /dev/null +++ b/code/datums/components/deployable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/deployable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/deployable.dm + +

+ + +
/datum/component/deployableDeployable - Bring your big guns with you, and smack em' down where you want.
+ + + diff --git a/code/datums/components/diggable.html b/code/datums/components/diggable.html new file mode 100644 index 000000000000..6fb41a0271bc --- /dev/null +++ b/code/datums/components/diggable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/diggable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/diggable.dm + +

+ + +
/datum/component/diggableLets you make hitting a turf with a shovel pop something out, and scrape the turf
+ + + diff --git a/code/datums/components/drift.html b/code/datums/components/drift.html new file mode 100644 index 000000000000..226d745158f8 --- /dev/null +++ b/code/datums/components/drift.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/drift.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/drift.dm + +

+ + +
/datum/component/driftComponent that handles drifting +Manages a movement loop that actually does the legwork of moving someone +Alongside dealing with the post movement input blocking required to make things look nice
+ + + diff --git a/code/datums/components/egg_layer.html b/code/datums/components/egg_layer.html new file mode 100644 index 000000000000..0a1276bec884 --- /dev/null +++ b/code/datums/components/egg_layer.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/egg_layer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/egg_layer.dm + +

+ + +
/datum/component/egg_layerComponent that manages how many eggs to lay, what can be fed to the mob to make them lay more, and what is actually laid. +Since the only real interaction with the component is an attackby, the nice part is that we're able to make this an atom level proc. +egg_layer will loudly fail if you do not provide it the arguments, as to encourage explicicy(?)
+ + + diff --git a/code/datums/components/electrified_buckle.html b/code/datums/components/electrified_buckle.html new file mode 100644 index 000000000000..fa6cb1e21cd7 --- /dev/null +++ b/code/datums/components/electrified_buckle.html @@ -0,0 +1,39 @@ + + + + + + + code/datums/components/electrified_buckle.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/components/electrified_buckle.dm + +

+ + + + +
ELECTRIC_BUCKLE_SHOCK_STRENGTH_DIVISORdivide the power in the cable net under parent by this to determine the shock damage
ELECTRIC_BUCKLE_MINUMUM_POWERNET_STRENGTHit will not shock the mob buckled to parent if its required to use a cable to shock and the cable has less than this power availaible
/datum/component/electrified_buckleattach it to any atom/movable that can be buckled to in order to have it shock mobs buckled to it. by default it shocks mobs buckled to parent every shock_loop_time. +the parent is supposed to define its behavior with arguments in AddComponent

Define Details

+

ELECTRIC_BUCKLE_MINUMUM_POWERNET_STRENGTH + + +

+

it will not shock the mob buckled to parent if its required to use a cable to shock and the cable has less than this power availaible

ELECTRIC_BUCKLE_SHOCK_STRENGTH_DIVISOR + + +

+

divide the power in the cable net under parent by this to determine the shock damage

+ + + diff --git a/code/datums/components/engraved.html b/code/datums/components/engraved.html new file mode 100644 index 000000000000..45603c51c69c --- /dev/null +++ b/code/datums/components/engraved.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/engraved.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/engraved.dm + +

+ + +
/datum/component/engravedMUST be a component, though it doesn't look like it. SSPersistence demandeth
+ + + diff --git a/code/datums/components/explodable.html b/code/datums/components/explodable.html new file mode 100644 index 000000000000..61c77f93a871 --- /dev/null +++ b/code/datums/components/explodable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/explodable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/explodable.dm + +

+ + +
/datum/component/explodableComponent specifically for explosion sensetive things, currently only applies to heat based explosions but can later perhaps be used for things that are dangerous to handle carelessly like nitroglycerin.
+ + + diff --git a/code/datums/components/faction_granter.html b/code/datums/components/faction_granter.html new file mode 100644 index 000000000000..7083027c0f35 --- /dev/null +++ b/code/datums/components/faction_granter.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/faction_granter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/faction_granter.dm + +

+ + +
/datum/component/faction_granter
+ + + diff --git a/code/datums/components/fantasy/suffixes.html b/code/datums/components/fantasy/suffixes.html new file mode 100644 index 000000000000..541967ac96da --- /dev/null +++ b/code/datums/components/fantasy/suffixes.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/fantasy/suffixes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/fantasy/suffixes.dm + +

+ + + +
/datum/fantasy_affix/baneGood suffixes
/datum/fantasy_affix/foolBad suffixes
+ + + diff --git a/code/datums/components/food/edible.html b/code/datums/components/food/edible.html new file mode 100644 index 000000000000..6afdc0181903 --- /dev/null +++ b/code/datums/components/food/edible.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/components/food/edible.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/food/edible.dm + +

+ + +

This component makes it possible to make things edible. What this means is that you can take a bite or force someone to take a bite (in the case of items). +These items take a specific time to eat, and can do most of the things our original food items could.

+

Behavior that's still missing from this component that original food items had that should either be put into separate components or somewhere else: +Components: +Drying component (jerky etc) +Processable component (Slicing and cooking behavior essentialy, making it go from item A to B when conditions are met.)

+
Misc:
+Something for cakes (You can store things inside)
+
+ + + diff --git a/code/datums/components/food/ice_cream_holder.html b/code/datums/components/food/ice_cream_holder.html new file mode 100644 index 000000000000..0006812b12c7 --- /dev/null +++ b/code/datums/components/food/ice_cream_holder.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/food/ice_cream_holder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/food/ice_cream_holder.dm + +

+ + + +
/datum/component/ice_cream_holderIce Cream Holder: Allows the edible parent object to be used as an ice cream cone (or cup... in a next future).
/datum/ice_cream_flavour/vanillaOUR TYPES OF ICE CREAM, COME GET SOME.
+ + + diff --git a/code/datums/components/food_storage.html b/code/datums/components/food_storage.html new file mode 100644 index 000000000000..5ceda2c7df76 --- /dev/null +++ b/code/datums/components/food_storage.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/food_storage.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/food_storage.dm + +

+ + +
/datum/component/food_storage--Food storage component-- +This component lets you slide one item into large foods, such as bread, cheese wheels, or cakes. +Consuming food storages with an item inside can cause unique interactions, such as eating glass shards.
+ + + diff --git a/code/datums/components/force_move.html b/code/datums/components/force_move.html new file mode 100644 index 000000000000..d278f2c6ba28 --- /dev/null +++ b/code/datums/components/force_move.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/force_move.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/force_move.dm + +

+ + +
/datum/component/force_moveForced directional movement, but with a twist +Let's block pressure and client movements while doing it so we can't be interrupted +Supports spinning on each move, for lube related reasons
+ + + diff --git a/code/datums/components/gas_leaker.html b/code/datums/components/gas_leaker.html new file mode 100644 index 000000000000..fcdce1f18c2c --- /dev/null +++ b/code/datums/components/gas_leaker.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/gas_leaker.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/gas_leaker.dm + +

+ + +
/datum/component/gas_leakerA component to leak gas over time from damaged objects with gas storage
+ + + diff --git a/code/datums/components/geiger_sound.html b/code/datums/components/geiger_sound.html new file mode 100644 index 000000000000..b792f866cea0 --- /dev/null +++ b/code/datums/components/geiger_sound.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/geiger_sound.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/geiger_sound.dm + +

+ + +
/datum/component/geiger_soundAtoms with this component will play sounds depending on nearby radiation
+ + + diff --git a/code/datums/components/genetic_damage.html b/code/datums/components/genetic_damage.html new file mode 100644 index 000000000000..9614a6602e7a --- /dev/null +++ b/code/datums/components/genetic_damage.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/genetic_damage.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/genetic_damage.dm + +

+ + +
/datum/component/genetic_damageGenetic damage, given by DNA consoles, will start to deal toxin damage +past a certain threshold, and will go down consistently. +Adding multiple of this component will increase the total damage. +Can turn monkeys into gorillas.
+ + + diff --git a/code/datums/components/gps.html b/code/datums/components/gps.html new file mode 100644 index 000000000000..eaf82b19f405 --- /dev/null +++ b/code/datums/components/gps.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/gps.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/gps.dm + +

+ + + +
/datum/component/gpsGPS component. Atoms that have this show up on gps. Pretty simple stuff.
/datum/component/gps/itemGPS component subtype. Only gps/item's can be used to open the UI.
+ + + diff --git a/code/datums/components/hazard_area.html b/code/datums/components/hazard_area.html new file mode 100644 index 000000000000..67b2a1c1e311 --- /dev/null +++ b/code/datums/components/hazard_area.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/components/hazard_area.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/hazard_area.dm + +

+ + + +
/datum/component/hazard_areaThis is a relatively simple component that attempts to deter the parent of the component away +from a specific area or areas. By default it simply applies a penalty where all movement is +four times slower than usual and any action that would affect your 'next move' has a penalty +multiplier of 4 attached.
/datum/status_effect/hazard_areaThe dedicated status effect for the hazard_area component - use with caution and know what it does!
+ + + diff --git a/code/datums/components/heirloom.html b/code/datums/components/heirloom.html new file mode 100644 index 000000000000..58bced167599 --- /dev/null +++ b/code/datums/components/heirloom.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/heirloom.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/heirloom.dm + +

+ + +
/datum/component/heirloomHeirloom component. For use with the family heirloom quirk, tracks that an item is someone's family heirloom.
+ + + diff --git a/code/datums/components/holderloving.html b/code/datums/components/holderloving.html new file mode 100644 index 000000000000..15b7ae78064f --- /dev/null +++ b/code/datums/components/holderloving.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/holderloving.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/holderloving.dm + +

+ + +
/datum/component/holderloving
+ + + diff --git a/code/datums/components/irradiated.html b/code/datums/components/irradiated.html new file mode 100644 index 000000000000..22ebbc6e0f38 --- /dev/null +++ b/code/datums/components/irradiated.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/irradiated.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/irradiated.dm + +

+ + +
/datum/component/irradiatedThis atom is irradiated, and will glow green. +Humans will take toxin damage until all their toxin damage is cleared.
+ + + diff --git a/code/datums/components/itempicky.html b/code/datums/components/itempicky.html new file mode 100644 index 000000000000..37ebf39f2b1f --- /dev/null +++ b/code/datums/components/itempicky.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/itempicky.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/itempicky.dm + +

+ + +
/datum/component/itempickyYou can only hold whitelisted items
+ + + diff --git a/code/datums/components/knockoff.html b/code/datums/components/knockoff.html new file mode 100644 index 000000000000..a51023439c6f --- /dev/null +++ b/code/datums/components/knockoff.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/knockoff.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/knockoff.dm + +

+ + +
/datum/component/knockoffItems with this component will have a chance to get knocked off +(unequipped and sent to the ground) when the wearer is disarmed or knocked down.
+ + + diff --git a/code/datums/components/label.html b/code/datums/components/label.html new file mode 100644 index 000000000000..1f1973c0e1b4 --- /dev/null +++ b/code/datums/components/label.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/label.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/label.dm + +

+ + +
/datum/component/labelThe label component.
+ + + diff --git a/code/datums/components/light_eater.html b/code/datums/components/light_eater.html new file mode 100644 index 000000000000..f31727aa83bb --- /dev/null +++ b/code/datums/components/light_eater.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/light_eater.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/light_eater.dm + +

+ + +
/datum/component/light_eaterMakes anything it attaches to capable of removing something's ability to produce light until it is destroyed
+ + + diff --git a/code/datums/components/lock_on_cursor.html b/code/datums/components/lock_on_cursor.html new file mode 100644 index 000000000000..3a2e536d9722 --- /dev/null +++ b/code/datums/components/lock_on_cursor.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/lock_on_cursor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/lock_on_cursor.dm + +

+ + + +
/datum/component/lock_on_cursor
/atom/movable/screen/fullscreen/cursor_catcher/lock_onTracks cursor movement and passes clicks through to the turf under the cursor
+ + + diff --git a/code/datums/components/material_container.html b/code/datums/components/material_container.html new file mode 100644 index 000000000000..2357f230ee3f --- /dev/null +++ b/code/datums/components/material_container.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/components/material_container.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/material_container.dm + +

+ + +

This datum should be used for handling mineral contents of machines and whatever else is supposed to hold minerals and make use of them.

+

Variables: +amount - raw amount of the mineral this container is holding, calculated by the defined value MINERAL_MATERIAL_AMOUNT=2000. +max_amount - max raw amount of mineral this container can hold. +sheet_type - type of the mineral sheet the container handles, used for output. +parent - object that this container is being used by, used for output. +MAX_STACK_SIZE - size of a stack of mineral sheets. Constant.

+ + + diff --git a/code/datums/components/mind_linker.html b/code/datums/components/mind_linker.html new file mode 100644 index 000000000000..bb3c7d79bac2 --- /dev/null +++ b/code/datums/components/mind_linker.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/mind_linker.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/mind_linker.dm + +

+ + +
/datum/component/mind_linkerA component that handles linking multiple player's minds +into one network which allows them to talk directly to one another. +Like telepathy but for multiple people at once!
+ + + diff --git a/code/datums/components/multiple_lives.html b/code/datums/components/multiple_lives.html new file mode 100644 index 000000000000..dcdbea9e778b --- /dev/null +++ b/code/datums/components/multiple_lives.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/multiple_lives.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/multiple_lives.dm + +

+ + +
/datum/component/multiple_livesA simple component that spawns a mob of the same type and transfers itself to it when parent dies. +For more complex behaviors, use the COMSIG_ON_MULTIPLE_LIVES_RESPAWN comsig.
+ + + diff --git a/code/datums/components/omen.html b/code/datums/components/omen.html new file mode 100644 index 000000000000..10145c319fcd --- /dev/null +++ b/code/datums/components/omen.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/omen.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/omen.dm + +

+ + +
/datum/component/omenomen.dm: For when you want someone to have a really bad day
+ + + diff --git a/code/datums/components/overlay_lighting.html b/code/datums/components/overlay_lighting.html new file mode 100644 index 000000000000..70553d253a63 --- /dev/null +++ b/code/datums/components/overlay_lighting.html @@ -0,0 +1,38 @@ + + + + + + + code/datums/components/overlay_lighting.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/components/overlay_lighting.dm + +

+ + + + +
LIGHTING_ONFor switchable lights, is it on and currently emitting light?
LIGHTING_ATTACHEDIs the parent attached to something else, its loc? Then we need to keep an eye of this.
/datum/component/overlay_lightingMovable atom overlay-based lighting component.

Define Details

+

LIGHTING_ATTACHED + + +

+

Is the parent attached to something else, its loc? Then we need to keep an eye of this.

LIGHTING_ON + + +

+

For switchable lights, is it on and currently emitting light?

+ + + diff --git a/code/datums/components/palette.html b/code/datums/components/palette.html new file mode 100644 index 000000000000..8df419224798 --- /dev/null +++ b/code/datums/components/palette.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/palette.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/palette.dm + +

+ + +
/datum/component/paletteA component that stores colors for use by painting-related items like spraycans or palettes +which can be accessed through a radial menu by right clicking the item while it's held by the user mob. +Right-clicking a color will open a color input prompt to edit it. Left clicking will instead select it +and call set_painting_tool_color() on the parent for more specific object behavior.
+ + + diff --git a/code/datums/components/payment.html b/code/datums/components/payment.html new file mode 100644 index 000000000000..494b8fbcfec9 --- /dev/null +++ b/code/datums/components/payment.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/payment.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/payment.dm + +

+ + +
/datum/component/paymentHandles simple payment operations where the cost of the object in question doesn't change.
+ + + diff --git a/code/datums/components/phylactery.html b/code/datums/components/phylactery.html new file mode 100644 index 000000000000..90547e8b20b7 --- /dev/null +++ b/code/datums/components/phylactery.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/phylactery.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/phylactery.dm + +

+ + +
/datum/component/phylactery
+ + + diff --git a/code/datums/components/punchcooldown.html b/code/datums/components/punchcooldown.html new file mode 100644 index 000000000000..0f9e31c7d2aa --- /dev/null +++ b/code/datums/components/punchcooldown.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/punchcooldown.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/punchcooldown.dm + +

+ + +
/datum/component/wearertargeting/punchcooldownYour favourite Jojoke. Used for the gloves of the north star.
+ + + diff --git a/code/datums/components/radiation_countdown.html b/code/datums/components/radiation_countdown.html new file mode 100644 index 000000000000..013b37e81632 --- /dev/null +++ b/code/datums/components/radiation_countdown.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/radiation_countdown.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/radiation_countdown.dm + +

+ + +
/datum/component/radiation_countdownBegins the countdown before a target can be irradiated. +Added by the radiation subsystem when a pulse information has a minimum exposure time. +Will clear itself out after a while.
+ + + diff --git a/code/datums/components/religious_tool.html b/code/datums/components/religious_tool.html new file mode 100644 index 000000000000..d59e9075d69a --- /dev/null +++ b/code/datums/components/religious_tool.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/religious_tool.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/religious_tool.dm + +

+ + +
/datum/component/religious_toolAllows the parent to act similarly to the Altar of Gods with modularity. Invoke and Sect Selection is done via attacking with a bible. This means you cannot sacrifice Bibles (you shouldn't want to do this anyways although now that I mentioned it you probably will want to).
+ + + diff --git a/code/datums/components/rename.html b/code/datums/components/rename.html new file mode 100644 index 000000000000..88c1e9bba338 --- /dev/null +++ b/code/datums/components/rename.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/rename.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/rename.dm + +

+ + +
/datum/component/renameThe rename component.
+ + + diff --git a/code/datums/components/riding/riding.html b/code/datums/components/riding/riding.html new file mode 100644 index 000000000000..cdf07fa851d2 --- /dev/null +++ b/code/datums/components/riding/riding.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/riding/riding.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/riding/riding.dm + +

+ + +
/datum/component/ridingThis is the riding component, which is applied to a movable atom by the ridable element when a mob is successfully buckled to said movable.
+ + + diff --git a/code/datums/components/riding/riding_mob.html b/code/datums/components/riding/riding_mob.html new file mode 100644 index 000000000000..4d01d1eaaa6a --- /dev/null +++ b/code/datums/components/riding/riding_mob.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/riding/riding_mob.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/riding/riding_mob.dm + +

+ + +
/datum/component/riding/creature/humanYes, I said humans. No, this won't end well...
+ + + diff --git a/code/datums/components/rot.html b/code/datums/components/rot.html new file mode 100644 index 000000000000..0bb12dfe0c16 --- /dev/null +++ b/code/datums/components/rot.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/rot.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/rot.dm + +

+ + +
/datum/component/rotMakes a thing rotting, carries with it a start delay and some things that can halt the rot, along with infection logic
+ + + diff --git a/code/datums/components/rotation.html b/code/datums/components/rotation.html new file mode 100644 index 000000000000..65d3508c118e --- /dev/null +++ b/code/datums/components/rotation.html @@ -0,0 +1,67 @@ + + + + + + + code/datums/components/rotation.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/components/rotation.dm + +

+ + + + + + + + + +
ROTATION_REQUIRE_WRENCHIf an object needs to be rotated with a wrench
ROTATION_GHOSTS_ALLOWEDIf ghosts can rotate an object (if the ghost config is enabled)
ROTATION_IGNORE_ANCHOREDIf an object will ignore anchored for rotation (used for chairs)
ROTATION_NO_FLIPPINGIf an object will omit flipping from rotation (used for pipes since they use custom handling)
ROTATION_NEEDS_ROOMIf an object needs to have an empty spot available in target direction (used for windoors and railings)
ROTATION_CLOCKWISERotate an object clockwise
ROTATION_COUNTERCLOCKWISERotate an object counterclockwise
ROTATION_FLIPRotate an object upside down

Define Details

+

ROTATION_CLOCKWISE + + +

+

Rotate an object clockwise

ROTATION_COUNTERCLOCKWISE + + +

+

Rotate an object counterclockwise

ROTATION_FLIP + + +

+

Rotate an object upside down

ROTATION_GHOSTS_ALLOWED + + +

+

If ghosts can rotate an object (if the ghost config is enabled)

ROTATION_IGNORE_ANCHORED + + +

+

If an object will ignore anchored for rotation (used for chairs)

ROTATION_NEEDS_ROOM + + +

+

If an object needs to have an empty spot available in target direction (used for windoors and railings)

ROTATION_NO_FLIPPING + + +

+

If an object will omit flipping from rotation (used for pipes since they use custom handling)

ROTATION_REQUIRE_WRENCH + + +

+

If an object needs to be rotated with a wrench

+ + + diff --git a/code/datums/components/seclite_attachable.html b/code/datums/components/seclite_attachable.html new file mode 100644 index 000000000000..36c9ff471cbc --- /dev/null +++ b/code/datums/components/seclite_attachable.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/seclite_attachable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/seclite_attachable.dm + +

+ + +
/datum/component/seclite_attachableComponent which allows you to attach a seclight to an item, +be it a piece of clothing or a tool.
+ + + diff --git a/code/datums/components/seethrough.html b/code/datums/components/seethrough.html new file mode 100644 index 000000000000..0b32898ed345 --- /dev/null +++ b/code/datums/components/seethrough.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/seethrough.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/seethrough.dm + +

+ + +
/datum/component/seethroughA component that lets you turn an object invisible when you're standing on certain relative turfs to it, like behind a tree
+ + + diff --git a/code/datums/components/seethrough_mob.html b/code/datums/components/seethrough_mob.html new file mode 100644 index 000000000000..c7e424240895 --- /dev/null +++ b/code/datums/components/seethrough_mob.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/seethrough_mob.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/seethrough_mob.dm + +

+ + +
/datum/component/seethrough_mobA component that lets you turn your character transparent in order to see and click through yourself.
+ + + diff --git a/code/datums/components/shell.html b/code/datums/components/shell.html new file mode 100644 index 000000000000..4f87dde40e36 --- /dev/null +++ b/code/datums/components/shell.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/shell.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/shell.dm + +

+ + +
/datum/component/shellMakes an atom a shell that is able to take in an attached circuit.
+ + + diff --git a/code/datums/components/shielded.html b/code/datums/components/shielded.html new file mode 100644 index 000000000000..6560ae41b2ee --- /dev/null +++ b/code/datums/components/shielded.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/shielded.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/shielded.dm + +

+ + +
/datum/component/shieldedThe shielded component causes the parent item to nullify a certain number of attacks against the wearer, see: shielded vests.
+ + + diff --git a/code/datums/components/shy.html b/code/datums/components/shy.html new file mode 100644 index 000000000000..190e80ff7fb2 --- /dev/null +++ b/code/datums/components/shy.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/shy.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/shy.dm + +

+ + +
/datum/component/shyYou can't use items on anyone other than yourself if there are other living mobs around you
+ + + diff --git a/code/datums/components/shy_in_room.html b/code/datums/components/shy_in_room.html new file mode 100644 index 000000000000..49619911139b --- /dev/null +++ b/code/datums/components/shy_in_room.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/shy_in_room.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/shy_in_room.dm + +

+ + +
/datum/component/shy_in_roomYou can't use items on anyone other than yourself if you stand in a blacklisted room
+ + + diff --git a/code/datums/components/simple_access.html b/code/datums/components/simple_access.html new file mode 100644 index 000000000000..4e0b96c2508f --- /dev/null +++ b/code/datums/components/simple_access.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/simple_access.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/simple_access.dm + +

+ + +
/datum/component/simple_accessThis component allows us to give a mob access without giving them an ID card.
+ + + diff --git a/code/datums/components/singularity.html b/code/datums/components/singularity.html new file mode 100644 index 000000000000..a91718467f4f --- /dev/null +++ b/code/datums/components/singularity.html @@ -0,0 +1,39 @@ + + + + + + + code/datums/components/singularity.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/components/singularity.dm + +

+ + + + +
FIELD_CONTAINMENT_DISTANCEThe range at which a singularity is considered "contained" to admins
CHANCE_TO_MOVE_TO_TARGETWhat's the chance that, when a singularity moves, it'll go to its target?
/datum/component/singularityThings that maybe move around and does stuff to things around them +Used for the singularity (duh) and Nar'Sie

Define Details

+

CHANCE_TO_MOVE_TO_TARGET + + +

+

What's the chance that, when a singularity moves, it'll go to its target?

FIELD_CONTAINMENT_DISTANCE + + +

+

The range at which a singularity is considered "contained" to admins

+ + + diff --git a/code/datums/components/slippery.html b/code/datums/components/slippery.html new file mode 100644 index 000000000000..782319434019 --- /dev/null +++ b/code/datums/components/slippery.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/slippery.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/slippery.dm + +

+ + + +
/datum/component/slipperySlippery component, for making anything slippery. Of course.
/datum/component/slippery/clowningUsed for making the clown PDA only slip if the clown is wearing his shoes and the elusive banana-skin belt
+ + + diff --git a/code/datums/components/smooth_tunes.html b/code/datums/components/smooth_tunes.html new file mode 100644 index 000000000000..aec6510fbacd --- /dev/null +++ b/code/datums/components/smooth_tunes.html @@ -0,0 +1,34 @@ + + + + + + + code/datums/components/smooth_tunes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/components/smooth_tunes.dm + +

+ + + +
LONG_ENOUGH_SONGhow many lines multiplied by tempo should at least be higher than this.
/datum/component/smooth_tunesSmooth tunes component! Applied to musicians to give the songs they play special effects, according to a rite! +Comes with BARTICLES!!!

Define Details

+

LONG_ENOUGH_SONG + + +

+

how many lines multiplied by tempo should at least be higher than this.

+ + + diff --git a/code/datums/components/sound_player.html b/code/datums/components/sound_player.html new file mode 100644 index 000000000000..0db2e90d1af8 --- /dev/null +++ b/code/datums/components/sound_player.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/sound_player.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/sound_player.dm + +

+ + +
/datum/component/sound_playerSound Player component
+ + + diff --git a/code/datums/components/spinny.html b/code/datums/components/spinny.html new file mode 100644 index 000000000000..a6ec8427761a --- /dev/null +++ b/code/datums/components/spinny.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/spinny.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/spinny.dm + +

+ + +
/datum/component/spinnyspinny.dm
+ + + diff --git a/code/datums/components/spirit_holding.html b/code/datums/components/spirit_holding.html new file mode 100644 index 000000000000..03db565f10c1 --- /dev/null +++ b/code/datums/components/spirit_holding.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/spirit_holding.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/spirit_holding.dm + +

+ + +
/datum/component/spirit_holdingspirit holding component; for items to have spirits inside of them for "advice"
+ + + diff --git a/code/datums/components/squashable.html b/code/datums/components/squashable.html new file mode 100644 index 000000000000..ac229ab2be5f --- /dev/null +++ b/code/datums/components/squashable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/squashable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/squashable.dm + +

+ + +
/datum/component/squashableThis component allows something to be when crossed, for example for cockroaches.
+ + + diff --git a/code/datums/components/stationloving.html b/code/datums/components/stationloving.html new file mode 100644 index 000000000000..b63b9f0d2107 --- /dev/null +++ b/code/datums/components/stationloving.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/stationloving.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/stationloving.dm + +

+ + +
/datum/component/stationlovingTeleports the movable atom back to a safe turf on the station if it leaves the z-level or becomes inaccessible.
+ + + diff --git a/code/datums/components/subtype_picker.html b/code/datums/components/subtype_picker.html new file mode 100644 index 000000000000..b4c085a5e8ab --- /dev/null +++ b/code/datums/components/subtype_picker.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/subtype_picker.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/subtype_picker.dm + +

+ + +
/datum/component/subtype_pickersubtype picker component allows for an item to transform into its subtypes (this is not enforced and you can turn in whatever types, but +i used this name as it was incredibly accurate for current usage of the behavior)
+ + + diff --git a/code/datums/components/tackle.html b/code/datums/components/tackle.html new file mode 100644 index 000000000000..ef81e07005f1 --- /dev/null +++ b/code/datums/components/tackle.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/components/tackle.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/components/tackle.dm + +

+ + + +
MAX_TABLE_MESSEShow many things can we knock off a table at once by diving into it?
/datum/component/tacklerFor when you want to throw a person at something and have fun stuff happen

Define Details

+

MAX_TABLE_MESSES + + +

+

how many things can we knock off a table at once by diving into it?

+ + + diff --git a/code/datums/components/tameable.html b/code/datums/components/tameable.html new file mode 100644 index 000000000000..fc5ec7544c50 --- /dev/null +++ b/code/datums/components/tameable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/tameable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/tameable.dm + +

+ + +
/datum/component/tameableThis component lets you make specific mobs tameable by feeding them
+ + + diff --git a/code/datums/components/tattoo.html b/code/datums/components/tattoo.html new file mode 100644 index 000000000000..3f3f1d6af339 --- /dev/null +++ b/code/datums/components/tattoo.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/tattoo.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/tattoo.dm + +

+ + +
/datum/component/tattoo
+ + + diff --git a/code/datums/components/technointrovert.html b/code/datums/components/technointrovert.html new file mode 100644 index 000000000000..38b3519c66f8 --- /dev/null +++ b/code/datums/components/technointrovert.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/technointrovert.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/technointrovert.dm + +

+ + +
/datum/component/technointrovertYou can't use machines unless they are in a whitelist
+ + + diff --git a/code/datums/components/technoshy.html b/code/datums/components/technoshy.html new file mode 100644 index 000000000000..61ece3eb8089 --- /dev/null +++ b/code/datums/components/technoshy.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/technoshy.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/technoshy.dm + +

+ + +
/datum/component/technoshyYou can't use machines when they've been touched within the last [unused_duration], unless it was by a mob in [whitelist]
+ + + diff --git a/code/datums/components/tippable.html b/code/datums/components/tippable.html new file mode 100644 index 000000000000..2c96c65fcb10 --- /dev/null +++ b/code/datums/components/tippable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/tippable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/tippable.dm + +

+ + +
/datum/component/tippableTippable component. For making mobs able to be tipped, like cows and medibots.
+ + + diff --git a/code/datums/components/trapdoor.html b/code/datums/components/trapdoor.html new file mode 100644 index 000000000000..249d375adae8 --- /dev/null +++ b/code/datums/components/trapdoor.html @@ -0,0 +1,41 @@ + + + + + + + code/datums/components/trapdoor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/components/trapdoor.dm + +

+ + + + + + +
IS_OPENmakes this file more legible
TRAPDOOR_LINKING_SEARCH_RANGEdistance a trapdoor will accept a link request.
/datum/component/trapdoor
/obj/item/trapdoor_remote
/obj/item/trapdoor_remote/preloadedsubtype with internals already included. If you're giving a department a roundstart trapdoor, this is what you want

Define Details

+

IS_OPEN + + + +

+

makes this file more legible

TRAPDOOR_LINKING_SEARCH_RANGE + + +

+

distance a trapdoor will accept a link request.

+ + + diff --git a/code/datums/components/udder.html b/code/datums/components/udder.html new file mode 100644 index 000000000000..24ed24cc4d6e --- /dev/null +++ b/code/datums/components/udder.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/udder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/udder.dm + +

+ + + + +
/datum/component/udderUdder component; for farm animals to generate milk.
/obj/item/udderAbstract item that is held in nullspace and manages reagents. Created by udder component. +While perhaps reagents created by udder component COULD be managed in the mob, it would be somewhat finnicky and I actually like the abstract udders.
/obj/item/udder/slugSlug "udders". I'm so sorry it has to be this way
+ + + diff --git a/code/datums/components/uplink.html b/code/datums/components/uplink.html new file mode 100644 index 000000000000..587e7a6e09fd --- /dev/null +++ b/code/datums/components/uplink.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/uplink.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/uplink.dm + +

+ + +
/datum/component/uplinkUplinks
+ + + diff --git a/code/datums/components/usb_port.html b/code/datums/components/usb_port.html new file mode 100644 index 000000000000..06ceafc96254 --- /dev/null +++ b/code/datums/components/usb_port.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/usb_port.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/usb_port.dm + +

+ + +
/datum/component/usb_portOpens up a USB port that can be connected to by circuits, creating registerable circuit components
+ + + diff --git a/code/datums/components/vacuum.html b/code/datums/components/vacuum.html new file mode 100644 index 000000000000..14977e81058d --- /dev/null +++ b/code/datums/components/vacuum.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/vacuum.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/components/vacuum.dm + +

+ + +
/datum/component/vacuumAdds a vacuum functionality to an atom, requires a trashbag to be linked +using signals
+ + + diff --git a/code/datums/datum.html b/code/datums/datum.html new file mode 100644 index 000000000000..fece7e80384d --- /dev/null +++ b/code/datums/datum.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/datum.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/datum.dm + +

+ + + + + + + + + + +
/datumThe absolute base class for everything
/proc/json_serialize_datumConvert a datum into a json blob
/proc/json_deserialize_datumConvert a list of json to datum
/proc/end_cooldownCallback called by a timer to end an associative-list-indexed cooldown.
/proc/reset_cooldownProc used by stoppable timers to end a cooldown before the time has ran out.
+ + + diff --git a/code/datums/diseases/advance/symptoms/beard.html b/code/datums/diseases/advance/symptoms/beard.html new file mode 100644 index 000000000000..bfe3b22b65d9 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/beard.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/beard.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/beard.dm + +

+ + +
/datum/symptom/beard
+ + + diff --git a/code/datums/diseases/advance/symptoms/chills.html b/code/datums/diseases/advance/symptoms/chills.html new file mode 100644 index 000000000000..50810a3478db --- /dev/null +++ b/code/datums/diseases/advance/symptoms/chills.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/chills.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/chills.dm + +

+ + +
/datum/symptom/chills
+ + + diff --git a/code/datums/diseases/advance/symptoms/choking.html b/code/datums/diseases/advance/symptoms/choking.html new file mode 100644 index 000000000000..65b83c94643e --- /dev/null +++ b/code/datums/diseases/advance/symptoms/choking.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/choking.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/choking.dm + +

+ + +
/datum/symptom/choking*Choking
+ + + diff --git a/code/datums/diseases/advance/symptoms/confusion.html b/code/datums/diseases/advance/symptoms/confusion.html new file mode 100644 index 000000000000..bafe1aff38c9 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/confusion.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/confusion.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/confusion.dm + +

+ + +
/datum/symptom/confusion*Confusion
+ + + diff --git a/code/datums/diseases/advance/symptoms/cough.html b/code/datums/diseases/advance/symptoms/cough.html new file mode 100644 index 000000000000..3ace108e680d --- /dev/null +++ b/code/datums/diseases/advance/symptoms/cough.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/cough.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/cough.dm + +

+ + +
/datum/symptom/cough*Coughing
+ + + diff --git a/code/datums/diseases/advance/symptoms/deafness.html b/code/datums/diseases/advance/symptoms/deafness.html new file mode 100644 index 000000000000..a0a86c07ebd3 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/deafness.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/deafness.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/deafness.dm + +

+ + +
/datum/symptom/deafness*Deafness
+ + + diff --git a/code/datums/diseases/advance/symptoms/disfiguration.html b/code/datums/diseases/advance/symptoms/disfiguration.html new file mode 100644 index 000000000000..d2df2b582700 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/disfiguration.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/disfiguration.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/disfiguration.dm + +

+ + +
/datum/symptom/disfiguration*Disfiguration
+ + + diff --git a/code/datums/diseases/advance/symptoms/dizzy.html b/code/datums/diseases/advance/symptoms/dizzy.html new file mode 100644 index 000000000000..266092026998 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/dizzy.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/dizzy.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/dizzy.dm + +

+ + +
/datum/symptom/dizzy*Dizziness
+ + + diff --git a/code/datums/diseases/advance/symptoms/fever.html b/code/datums/diseases/advance/symptoms/fever.html new file mode 100644 index 000000000000..98252408ed84 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/fever.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/fever.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/fever.dm + +

+ + +
/datum/symptom/fever*Fever
+ + + diff --git a/code/datums/diseases/advance/symptoms/fire.html b/code/datums/diseases/advance/symptoms/fire.html new file mode 100644 index 000000000000..92120de78e63 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/fire.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/fire.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/fire.dm + +

+ + +
/datum/symptom/fire*Spontaneous Combustion
+ + + diff --git a/code/datums/diseases/advance/symptoms/heal.html b/code/datums/diseases/advance/symptoms/heal.html new file mode 100644 index 000000000000..65683a40e986 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/heal.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/diseases/advance/symptoms/heal.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/diseases/advance/symptoms/heal.dm + +

+ + + +
HEALING_PER_MOLDetermines the rate at which Plasma Fixation heals based on the amount of plasma in the air
/datum/symptom/heal/radiationPlasma End

Define Details

+

HEALING_PER_MOL + + +

+

Determines the rate at which Plasma Fixation heals based on the amount of plasma in the air

+ + + diff --git a/code/datums/dna.html b/code/datums/dna.html new file mode 100644 index 000000000000..b95f3b78e5d5 --- /dev/null +++ b/code/datums/dna.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/dna.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/dna.dm + +

+ + +
/datum/dnaDNA DATUM
+ + + diff --git a/code/datums/elements/ELEMENT_TEMPLATE.html b/code/datums/elements/ELEMENT_TEMPLATE.html new file mode 100644 index 000000000000..ac94dec0c255 --- /dev/null +++ b/code/datums/elements/ELEMENT_TEMPLATE.html @@ -0,0 +1,46 @@ + + + + + + + code/datums/elements/ELEMENT_TEMPLATE.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Template file for your new element + +

+ + +

See _element.dm for detailed explanations

+
/datum/element/myelement
+	element_flags = ELEMENT_BESPOKE | ELEMENT_COMPLEX_DETACH | ELEMENT_DETACH_ON_HOST_DESTROY | ELEMENT_NOTAREALFLAG    // code/__DEFINES/dcs/flags.dm
+	//id_arg_index = 2                                                                                  // Use with ELEMENT_BESPOKE
+	var/list/myvar = list()
+
+/datum/element/myelement/Attach(datum/target)
+	if(!ismovable(target))
+		return COMPONENT_INCOMPATIBLE
+	RegisterSignal(target, COMSIG_MOVABLE_MOVED, myproc)
+	to_chat(target, "Hey, you're in your element.")
+
+/datum/element/myelement/Detach(datum/source)
+	UnregisterSignal(source, COMSIG_MOVABLE_MOVED)
+	to_chat(source, "You feel way out of your element.")
+
+/datum/element/myelement/proc/myproc(datum/source)
+	SIGNAL_HANDLER
+	playsound(source, 'sound/effects/gong.ogg', 50, TRUE)
+
+ + + diff --git a/code/datums/elements/_element.html b/code/datums/elements/_element.html new file mode 100644 index 000000000000..23b9c8ce46de --- /dev/null +++ b/code/datums/elements/_element.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/_element.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/_element.dm + +

+ + +
/datum/elementA holder for simple behaviour that can be attached to many different types
+ + + diff --git a/code/datums/elements/animal_variety.html b/code/datums/elements/animal_variety.html new file mode 100644 index 000000000000..854517b1d2a3 --- /dev/null +++ b/code/datums/elements/animal_variety.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/animal_variety.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/animal_variety.dm + +

+ + +
/datum/element/animal_varietybespoke element that picks an suffix to append onto the icon state from a list given on creation, among some pixel shifting stuff +basically you will see VARIETY in a batch of simplemobs.
+ + + diff --git a/code/datums/elements/atmos_requirements.html b/code/datums/elements/atmos_requirements.html new file mode 100644 index 000000000000..f389d35b68dd --- /dev/null +++ b/code/datums/elements/atmos_requirements.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/atmos_requirements.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/atmos_requirements.dm + +

+ + +
/datum/element/atmos_requirementsAtmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage +Leaving something at 0 means it's off - has no maximum. +This damage is taken when atmos doesn't fit all the requirements above.
+ + + diff --git a/code/datums/elements/backblast.html b/code/datums/elements/backblast.html new file mode 100644 index 000000000000..dd74f6b82002 --- /dev/null +++ b/code/datums/elements/backblast.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/backblast.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/backblast.dm + +

+ + +
/datum/element/backblastWhen attached to a gun and the gun is successfully fired, this element creates a "backblast" of fire and pain, like you'd find in a rocket launcher or recoilless rifle
+ + + diff --git a/code/datums/elements/bane.html b/code/datums/elements/bane.html new file mode 100644 index 000000000000..dc99492f6eaa --- /dev/null +++ b/code/datums/elements/bane.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/bane.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/bane.dm + +

+ + +
/datum/element/baneDeals extra damage to mobs of a certain type or species.
+ + + diff --git a/code/datums/elements/basic_body_temp_sensitive.html b/code/datums/elements/basic_body_temp_sensitive.html new file mode 100644 index 000000000000..9b24aa717b2e --- /dev/null +++ b/code/datums/elements/basic_body_temp_sensitive.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/basic_body_temp_sensitive.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/basic_body_temp_sensitive.dm + +

+ + +
/datum/element/basic_body_temp_sensitiveWhen attached to a basic mob, it gives it the ability to be hurt by cold/hot body temperatures
+ + + diff --git a/code/datums/elements/beauty.html b/code/datums/elements/beauty.html new file mode 100644 index 000000000000..2fea70ec058d --- /dev/null +++ b/code/datums/elements/beauty.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/beauty.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/beauty.dm + +

+ + +
/datum/element/beautyBeauty element. It makes the indoor area the parent is in prettier or uglier depending on the beauty var value. +Clean and well decorated areas lead to positive moodlets for passerbies; +Shabbier, dirtier ones lead to negative moodlets EXCLUSIVE to characters with the snob quirk.
+ + + diff --git a/code/datums/elements/bed_tucking.html b/code/datums/elements/bed_tucking.html new file mode 100644 index 000000000000..b84bd578f8f2 --- /dev/null +++ b/code/datums/elements/bed_tucking.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/bed_tucking.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/bed_tucking.dm + +

+ + +
/datum/element/bed_tuckableTucking element, for things that can be tucked into bed.
+ + + diff --git a/code/datums/elements/blood_walk.html b/code/datums/elements/blood_walk.html new file mode 100644 index 000000000000..39efacd24174 --- /dev/null +++ b/code/datums/elements/blood_walk.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/blood_walk.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/blood_walk.dm + +

+ + +
/datum/element/blood_walkBlood walk, a bespoke element that causes you to make blood wherever you walk.
+ + + diff --git a/code/datums/elements/bump_click.html b/code/datums/elements/bump_click.html new file mode 100644 index 000000000000..02279f3bab14 --- /dev/null +++ b/code/datums/elements/bump_click.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/bump_click.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/bump_click.dm + +

+ + +
/datum/element/bump_clickBump click bespoke element
+ + + diff --git a/code/datums/elements/chemical_transfer.html b/code/datums/elements/chemical_transfer.html new file mode 100644 index 000000000000..3aecb1beb045 --- /dev/null +++ b/code/datums/elements/chemical_transfer.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/chemical_transfer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/chemical_transfer.dm + +

+ + +
/datum/element/chemical_transfer
+ + + diff --git a/code/datums/elements/chewable.html b/code/datums/elements/chewable.html new file mode 100644 index 000000000000..b313dd667475 --- /dev/null +++ b/code/datums/elements/chewable.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/chewable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/chewable.dm + +

+ + +
/datum/element/chewableAnything with this element will provide the reagents inside the +item to the user when it is equipped.
+ + + diff --git a/code/datums/elements/connect_loc.html b/code/datums/elements/connect_loc.html new file mode 100644 index 000000000000..a3dac25a42c0 --- /dev/null +++ b/code/datums/elements/connect_loc.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/connect_loc.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/connect_loc.dm + +

+ + +
/datum/element/connect_locThis element hooks a signal onto the loc the current object is on. +When the object moves, it will unhook the signal and rehook it to the new object.
+ + + diff --git a/code/datums/elements/crackable.html b/code/datums/elements/crackable.html new file mode 100644 index 000000000000..b4ed6c98c340 --- /dev/null +++ b/code/datums/elements/crackable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/crackable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/crackable.dm + +

+ + +
/datum/element/crackableAdds crack overlays to an object when integrity gets low
+ + + diff --git a/code/datums/elements/curse_announcement.html b/code/datums/elements/curse_announcement.html new file mode 100644 index 000000000000..8f3a3afd2dba --- /dev/null +++ b/code/datums/elements/curse_announcement.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/curse_announcement.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/curse_announcement.dm + +

+ + +
/datum/element/curse_announcementBespoke element that sends a harrowing message when you first pick up an item, applying a spooky color outline and renaming the item. +For most items, it will announce when picked up. If the item can be equipped, though, it will only announce when the item is worn. +Possible improvements for the future: add an option to allow the cursed affix to be a prefix. right now only coded for suffixes
+ + + diff --git a/code/datums/elements/cursed.html b/code/datums/elements/cursed.html new file mode 100644 index 000000000000..18629447dc3a --- /dev/null +++ b/code/datums/elements/cursed.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/cursed.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/cursed.dm + +

+ + +
/datum/element/cursedAttaching this element to something will make it float, and get a special ai controller!
+ + + diff --git a/code/datums/elements/death_drops.html b/code/datums/elements/death_drops.html new file mode 100644 index 000000000000..ca0f0ef0c18a --- /dev/null +++ b/code/datums/elements/death_drops.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/death_drops.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/death_drops.dm + +

+ + +
/datum/element/death_drops
+ + + diff --git a/code/datums/elements/delete_on_drop.html b/code/datums/elements/delete_on_drop.html new file mode 100644 index 000000000000..61ec8a7c7c4e --- /dev/null +++ b/code/datums/elements/delete_on_drop.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/delete_on_drop.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/delete_on_drop.dm + +

+ + +
/datum/element/delete_on_dropAttaches to an item, if that item is dropped on the floor delete it
+ + + diff --git a/code/datums/elements/deliver_first.html b/code/datums/elements/deliver_first.html new file mode 100644 index 000000000000..1c86cb10f7c1 --- /dev/null +++ b/code/datums/elements/deliver_first.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/elements/deliver_first.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/elements/deliver_first.dm + +

+ + +
DENY_SOUND_COOLDOWN

Define Details

+

DENY_SOUND_COOLDOWN + + +

+ deliver first element! +

bespoke element (1 per set of specific arguments in existence) that makes crates unable to be sold UNTIL they are opened once (to where this element, and the block, are removed) +Used for non-cargo orders to not get turned into a quick buck

+

for the future coders or just me: please convert this into a component to allow for more feedback on the crate's status (clicking when unlocked, overlays, etc)

+ + + diff --git a/code/datums/elements/drag_pickup.html b/code/datums/elements/drag_pickup.html new file mode 100644 index 000000000000..62f7a8e67a83 --- /dev/null +++ b/code/datums/elements/drag_pickup.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/drag_pickup.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/drag_pickup.dm + +

+ + +
/datum/element/drag_pickupdrag_pickup element; for allowing things to be picked up by dragging.
+ + + diff --git a/code/datums/elements/eyestab.html b/code/datums/elements/eyestab.html new file mode 100644 index 000000000000..2e4bb89d873d --- /dev/null +++ b/code/datums/elements/eyestab.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/eyestab.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/eyestab.dm + +

+ + +
/datum/element/eyestabAn element that lets you stab people in the eyes when targeting them
+ + + diff --git a/code/datums/elements/firestacker.html b/code/datums/elements/firestacker.html new file mode 100644 index 000000000000..a91c259d52c2 --- /dev/null +++ b/code/datums/elements/firestacker.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/firestacker.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/firestacker.dm + +

+ + +
/datum/element/firestackerCan be applied to /atom/movable subtypes to make them apply fire stacks to things they hit
+ + + diff --git a/code/datums/elements/food/venue_price.html b/code/datums/elements/food/venue_price.html new file mode 100644 index 000000000000..a0189e7b7630 --- /dev/null +++ b/code/datums/elements/food/venue_price.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/food/venue_price.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/food/venue_price.dm + +

+ + +
/datum/element/venue_priceThis component can be used to give something value for venues
+ + + diff --git a/code/datums/elements/footstep.html b/code/datums/elements/footstep.html new file mode 100644 index 000000000000..f17032a337b0 --- /dev/null +++ b/code/datums/elements/footstep.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/footstep.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/footstep.dm + +

+ + +
/datum/element/footstepFootstep element. Plays footsteps at parents location when it is appropriate.
+ + + diff --git a/code/datums/elements/footstep_override.html b/code/datums/elements/footstep_override.html new file mode 100644 index 000000000000..9f1d726d358b --- /dev/null +++ b/code/datums/elements/footstep_override.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/footstep_override.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/footstep_override.dm + +

+ + +
/datum/element/footstep_overrideWhen attached, the footstep sound played by the footstep element will be replaced by this one's
+ + + diff --git a/code/datums/elements/frozen.html b/code/datums/elements/frozen.html new file mode 100644 index 000000000000..db3bc29eb9bf --- /dev/null +++ b/code/datums/elements/frozen.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/frozen.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/frozen.dm + +

+ + +
/datum/element/frozensimple element to handle frozen obj's
+ + + diff --git a/code/datums/elements/haunted.html b/code/datums/elements/haunted.html new file mode 100644 index 000000000000..8d7d33cc3794 --- /dev/null +++ b/code/datums/elements/haunted.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/haunted.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/haunted.dm + +

+ + +
/datum/element/hauntedAttaching this element to something will make it float, get a special ai controller, and gives it a spooky outline.
+ + + diff --git a/code/datums/elements/honkspam.html b/code/datums/elements/honkspam.html new file mode 100644 index 000000000000..61cde875aec7 --- /dev/null +++ b/code/datums/elements/honkspam.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/honkspam.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/honkspam.dm + +

+ + +
/datum/element/honkspamAttachable to items. Plays a bikehorn sound whenever attack_self is called (with a cooldown).
+ + + diff --git a/code/datums/elements/human_biter.html b/code/datums/elements/human_biter.html new file mode 100644 index 000000000000..049a6b2e609c --- /dev/null +++ b/code/datums/elements/human_biter.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/human_biter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/human_biter.dm + +

+ + +
/datum/element/human_biterAllows carbons with heads to attempt to bite mobs if attacking with cuffed hands / missing arms
+ + + diff --git a/code/datums/elements/item_scaling.html b/code/datums/elements/item_scaling.html new file mode 100644 index 000000000000..c794e5a0c923 --- /dev/null +++ b/code/datums/elements/item_scaling.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/item_scaling.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/item_scaling.dm + +

+ + +
/datum/element/item_scalingElement for scaling item appearances in the overworld or in inventory/storage.
+ + + diff --git a/code/datums/elements/kneecapping.html b/code/datums/elements/kneecapping.html new file mode 100644 index 000000000000..41f39cc15434 --- /dev/null +++ b/code/datums/elements/kneecapping.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/kneecapping.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/kneecapping.dm + +

+ + +
/datum/element/kneecappingKneecapping element replaces the item's secondary attack with an aimed attack at the kneecaps under certain circumstances.
+ + + diff --git a/code/datums/elements/kneejerk.html b/code/datums/elements/kneejerk.html new file mode 100644 index 000000000000..17e10623331b --- /dev/null +++ b/code/datums/elements/kneejerk.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/kneejerk.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/kneejerk.dm + +

+ + +
/datum/element/kneejerkAn element which enables certain items to tap people on their knees to measure brain health
+ + + diff --git a/code/datums/elements/knockback.html b/code/datums/elements/knockback.html new file mode 100644 index 000000000000..a8f37ccf7ab7 --- /dev/null +++ b/code/datums/elements/knockback.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/knockback.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/knockback.dm + +

+ + +
/datum/element/knockbackMobs and items with this element will knock movable targets they hit away from them. +Guns and turrets will instead fire projectiles with similar effects.
+ + + diff --git a/code/datums/elements/lifesteal.html b/code/datums/elements/lifesteal.html new file mode 100644 index 000000000000..3871d789aec5 --- /dev/null +++ b/code/datums/elements/lifesteal.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/lifesteal.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/lifesteal.dm + +

+ + +
/datum/element/lifestealHeals the user (if attached to an item) or the mob itself (if attached to a hostile simple mob) +by a flat amount whenever a successful attack is performed against another living mob.
+ + + diff --git a/code/datums/elements/light_blocking.html b/code/datums/elements/light_blocking.html new file mode 100644 index 000000000000..df57e7286787 --- /dev/null +++ b/code/datums/elements/light_blocking.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/light_blocking.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/light_blocking.dm + +

+ + +
/datum/element/light_blockingAttached to movable atoms with opacity. Listens to them move and updates their old and new turf loc's opacity accordingly.
+ + + diff --git a/code/datums/elements/light_eaten.html b/code/datums/elements/light_eaten.html new file mode 100644 index 000000000000..3bbc94cf847a --- /dev/null +++ b/code/datums/elements/light_eaten.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/light_eaten.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/light_eaten.dm + +

+ + +
/datum/element/light_eatenMakes anything that it attaches to incapable of producing light
+ + + diff --git a/code/datums/elements/light_eater.html b/code/datums/elements/light_eater.html new file mode 100644 index 000000000000..1e2406e029e5 --- /dev/null +++ b/code/datums/elements/light_eater.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/light_eater.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/light_eater.dm + +

+ + +
/datum/element/light_eaterMakes anything it attaches to capable of permanently removing something's ability to produce light.
+ + + diff --git a/code/datums/elements/mirage_border.html b/code/datums/elements/mirage_border.html new file mode 100644 index 000000000000..33e31f49b13e --- /dev/null +++ b/code/datums/elements/mirage_border.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/mirage_border.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/mirage_border.dm + +

+ + +
/datum/element/mirage_borderCreates a mirage effect allowing you to see around the world border, by adding the opposite side to its vis_contents.
+ + + diff --git a/code/datums/elements/movement_turf_changer.html b/code/datums/elements/movement_turf_changer.html new file mode 100644 index 000000000000..565da05e8c7f --- /dev/null +++ b/code/datums/elements/movement_turf_changer.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/movement_turf_changer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/movement_turf_changer.dm + +

+ + +
/datum/element/movement_turf_changermovement_turf_changer element; which makes the movement of a movable atom change the turf it moved to
+ + + diff --git a/code/datums/elements/movetype_handler.html b/code/datums/elements/movetype_handler.html new file mode 100644 index 000000000000..c0c82768b17e --- /dev/null +++ b/code/datums/elements/movetype_handler.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/elements/movetype_handler.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/movetype_handler.dm + +

+ + +
/datum/element/movetype_handlerAn element that enables and disables movetype bitflags whenever the relative traits are added or removed. +It also handles the +2/-2 pixel y anim loop typical of mobs possessing the FLYING or FLOATING movetypes. +This element is necessary for the TRAIT_MOVE_ traits to work correctly, so make sure to attach this element +before adding them to non-living movables.
+ + + diff --git a/code/datums/elements/obj_regen.html b/code/datums/elements/obj_regen.html new file mode 100644 index 000000000000..7a5e507b9c8d --- /dev/null +++ b/code/datums/elements/obj_regen.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/obj_regen.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/obj_regen.dm + +

+ + +
/datum/element/obj_regenObject integrity regeneration element added by alien alloy.
+ + + diff --git a/code/datums/elements/openspace_item_click_handler.html b/code/datums/elements/openspace_item_click_handler.html new file mode 100644 index 000000000000..59f6690cabee --- /dev/null +++ b/code/datums/elements/openspace_item_click_handler.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/openspace_item_click_handler.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/openspace_item_click_handler.dm + +

+ + +
/datum/element/openspace_item_click_handlerallow players to easily use items such as iron rods, rcds on open space without +having to pixelhunt for portions not occupied by object or mob visuals.
+ + + diff --git a/code/datums/elements/pet_bonus.html b/code/datums/elements/pet_bonus.html new file mode 100644 index 000000000000..aad9fb78b18d --- /dev/null +++ b/code/datums/elements/pet_bonus.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/pet_bonus.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/pet_bonus.dm + +

+ + +
/datum/element/pet_bonusBespoke element that plays a fun message, sends a heart out, and gives a stronger mood bonus when you pet this animal. +I may have been able to make this work for carbons, but it would have been interjecting on some help mode interactions anyways.
+ + + diff --git a/code/datums/elements/plant_backfire.html b/code/datums/elements/plant_backfire.html new file mode 100644 index 000000000000..f15e2b600331 --- /dev/null +++ b/code/datums/elements/plant_backfire.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/elements/plant_backfire.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/plant_backfire.dm + +

+ + +
/datum/element/plant_backfire-- Plant backfire element -- +Certain high-danger plants, like death-nettles, will backfire and harm the holder if they're not properly protected. +If a user is protected with something like leather gloves, they can handle them normally. +If they're not protected properly, we invoke a callback on the user, harming or inconveniencing them.
+ + + diff --git a/code/datums/elements/point_of_interest.html b/code/datums/elements/point_of_interest.html new file mode 100644 index 000000000000..ab93cd5bcad3 --- /dev/null +++ b/code/datums/elements/point_of_interest.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/point_of_interest.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/point_of_interest.dm + +

+ + +
/datum/element/point_of_interestDesignates the atom as a "point of interest", meaning it can be directly orbited
+ + + diff --git a/code/datums/elements/prevent_attacking_of_types.html b/code/datums/elements/prevent_attacking_of_types.html new file mode 100644 index 000000000000..6b76e07a6dd7 --- /dev/null +++ b/code/datums/elements/prevent_attacking_of_types.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/prevent_attacking_of_types.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/prevent_attacking_of_types.dm + +

+ + +
/datum/element/prevent_attacking_of_typesThis hostile will not be able to attack a given typecache, and will receive +a balloon alert when it tries to.
+ + + diff --git a/code/datums/elements/radiation_protected_clothing.html b/code/datums/elements/radiation_protected_clothing.html new file mode 100644 index 000000000000..4cca5320100f --- /dev/null +++ b/code/datums/elements/radiation_protected_clothing.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/radiation_protected_clothing.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/radiation_protected_clothing.dm + +

+ + +
/datum/element/radiation_protected_clothingMarks the item as being radiation protected. +Adds the TRAIT_RADIATION_PROTECTED_CLOTHING trait, as well as adding an +extra bit to the examine descrpition.
+ + + diff --git a/code/datums/elements/radioactive.html b/code/datums/elements/radioactive.html new file mode 100644 index 000000000000..629f9970e310 --- /dev/null +++ b/code/datums/elements/radioactive.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/radioactive.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/radioactive.dm + +

+ + +
/datum/element/radioactiveThis atom will regularly pulse radiation. +As this is only applied on uranium objects for now, this defaults to uranium constants.
+ + + diff --git a/code/datums/elements/ranged_attacks.html b/code/datums/elements/ranged_attacks.html new file mode 100644 index 000000000000..6ad063a0df7b --- /dev/null +++ b/code/datums/elements/ranged_attacks.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/ranged_attacks.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/ranged_attacks.dm + +

+ + +
/datum/element/ranged_attacksThis proc is used by basic mobs to give them a simple ranged attack! In theory this could be extended to
+ + + diff --git a/code/datums/elements/ridable.html b/code/datums/elements/ridable.html new file mode 100644 index 000000000000..614b8037f56f --- /dev/null +++ b/code/datums/elements/ridable.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/ridable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/ridable.dm + +

+ + +
/datum/element/ridableThis element is used to indicate that a movable atom can be mounted by mobs in order to ride it. The movable is considered mounted when a mob is buckled to it, +at which point a riding component is created on the movable, and that component handles the actual riding behavior.
+ + + diff --git a/code/datums/elements/rust.html b/code/datums/elements/rust.html new file mode 100644 index 000000000000..bb9ec8b0bd75 --- /dev/null +++ b/code/datums/elements/rust.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/rust.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/rust.dm + +

+ + +
/datum/element/rustAdding this element to an atom will have it automatically render an overlay. +The overlay can be specified in new as the first paramter; if not set it defaults to rust_overlay's rust_default
+ + + diff --git a/code/datums/elements/screentips.html b/code/datums/elements/screentips.html new file mode 100644 index 000000000000..f1f4755024c0 --- /dev/null +++ b/code/datums/elements/screentips.html @@ -0,0 +1,118 @@ + + + + + + + code/datums/elements/screentips/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Contextual screentips (and when to not use this folder) + +

+ + +

Contextual screentips provide information in the form of text at the top of your screen to inform you of the possibilities of an item. The "contextual" here refers to this being handled entirely through code, what it displays and when is completely up to you.

+The elements (and this folder) +

This folder provides several useful shortcuts to be able to handle 95% of situations.

+/datum/element/contextual_screentip_bare_hands +

This element is used to display screentips when the user hovers over the object with nothing in their active hand.

+

It takes parameters in the form of both non-combat mode and, optionally, combat mode.

+

Example:

+
/obj/machinery/firealarm/Initialize(mapload)
+	. = ..()
+
+	AddElement( \
+		/datum/element/contextual_screentip_bare_hands, \
+		lmb_text = "Turn on", \
+		rmb_text = "Turn off", \
+	)
+
+

This will display "LMB: Turn on | RMB: Turn off" when the user hovers over a fire alarm with an empty active hand.

+/datum/element/contextual_screentip_tools +

This element takes a map of tool behaviors to context lists. These will be displayed when the user hovers over the object with an item that has the tool behavior.

+

Example:

+
/obj/structure/table/Initialize(mapload)
+	if (!(flags_1 & NODECONSTRUCT_1))
+		var/static/list/tool_behaviors = list(
+			TOOL_SCREWDRIVER = list(
+				SCREENTIP_CONTEXT_RMB = "Disassemble",
+			),
+
+			TOOL_WRENCH = list(
+				SCREENTIP_CONTEXT_RMB = "Deconstruct",
+			),
+		)
+
+		AddElement(/datum/element/contextual_screentip_tools, tool_behaviors)
+
+

This will display "RMB: Deconstruct" when the user hovers over a table with a wrench.

+/datum/element/contextual_screentip_item_typechecks +

This element takes a map of item typepaths to context lists. These will be displayed when the user hovers over the object with the selected item.

+

Example:

+
/obj/item/restraints/handcuffs/cable/Initialize(mapload)
+	. = ..()
+
+	var/static/list/hovering_item_typechecks = list(
+		/obj/item/stack/rods = list(
+			SCREENTIP_CONTEXT_LMB = "Craft wired rod",
+		),
+
+		/obj/item/stack/sheet/iron = list(
+			SCREENTIP_CONTEXT_LMB = "Craft bola",
+		),
+	)
+
+	AddElement(/datum/element/contextual_screentip_item_typechecks, hovering_item_typechecks)
+
+

This will display "LMB: Craft bola" when the user hovers over cable restraints with metal in their hand.

+The basic system (and when to not use this folder) +

The basic system acknowledges the following two interactions:

+Self-defining items (Type A) +

These are items that are defined by their behavior. These should define their contextual text within themselves, and not in their targets.

+
    +
  • Stun batons (LMB to stun, RMB to harm)
  • +
  • Syringes (LMB to inject, RMB to draw)
  • +
  • Health analyzers (LMB to scan for health/wounds [another piece of context], RMB to scans for chemicals)
  • +
+Receiving action defining objects (Type B) +

These are objects (not necessarily items) that are defined by what happens to them. These should define their contextual text within themselves, and not in their operating tools.

+
    +
  • Tables (RMB with wrench to deconstruct)
  • +
  • Construction objects (LMB with glass to put in screen for computers)
  • +
  • Carbon copies (RMB to take a copy)
  • +
+
+

Both of these are supported, and can be hooked to through several means.

+

Note that you must return CONTEXTUAL_SCREENTIP_SET if you change the contextual screentip at all, otherwise you may not see it.

+COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET +

This signal is registered on items, and receives the hovering object, provided in the form of obj/item/source, list/context, atom/target, mob/living/user.

+/atom/proc/register_item_context(), and /atom/proc/add_item_context() +

/atom/proc/add_item_context() is a proc intended to be overridden to easily create Type-B interactions (ones where atoms are hovered over by items). It receives the exact same arguments as COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET: obj/item/source, list/context, atom/target, mob/living/user.

+

In order for your add_item_context() method to be run, you must call register_item_context().

+COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM +

This signal is registered on atoms, and receives what the user is hovering with, provided in the form of atom/source, list/context, obj/item/held_item, mob/living/user.

+/atom/proc/register_context(), and /atom/proc/add_context() +

/atom/proc/add_context() is a proc intended to be overridden to easily create Type-B interactions (ones where atoms are hovered over by items). It receives the exact same arguments as COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM: atom/source, list/context, obj/item/held_item, mob/living/user.

+

In order for your add_context() method to be run, you must call register_context().

+
+

When using any of these methods, you will receive a mutable context list.

+Context lists +

Context lists are lists with keys mapping from SCREENTIP_CONTEXT_* to a string. You can find these keys in code/__DEFINES/screentips.dm.

+

The signals and add_context() variants mutate the list directly, while shortcut elements will just have you pass them in directly.

+

For example:

+
context[SCREENTIP_CONTEXT_LMB] = "Open"
+context[SCREENTIP_CONTEXT_RMB] = "Destroy"
+
+ + + diff --git a/code/datums/elements/screentips/contextual_screentip_bare_hands.html b/code/datums/elements/screentips/contextual_screentip_bare_hands.html new file mode 100644 index 000000000000..2b5210684354 --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_bare_hands.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/screentips/contextual_screentip_bare_hands.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/screentips/contextual_screentip_bare_hands.dm + +

+ + +
/datum/element/contextual_screentip_bare_handsApply basic contextual screentips when the user hovers over this item with an empty hand. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
+ + + diff --git a/code/datums/elements/screentips/contextual_screentip_item_typechecks.html b/code/datums/elements/screentips/contextual_screentip_item_typechecks.html new file mode 100644 index 000000000000..1cc5c3d33bc0 --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_item_typechecks.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/screentips/contextual_screentip_item_typechecks.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/screentips/contextual_screentip_item_typechecks.dm + +

+ + +
/datum/element/contextual_screentip_item_typechecksApply basic contextual screentips when the user hovers over this item with a provided item. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
+ + + diff --git a/code/datums/elements/screentips/contextual_screentip_tools.html b/code/datums/elements/screentips/contextual_screentip_tools.html new file mode 100644 index 000000000000..58095af5824f --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_tools.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/screentips/contextual_screentip_tools.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/screentips/contextual_screentip_tools.dm + +

+ + +
/datum/element/contextual_screentip_toolsApply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
+ + + diff --git a/code/datums/elements/series.html b/code/datums/elements/series.html new file mode 100644 index 000000000000..d489a559db44 --- /dev/null +++ b/code/datums/elements/series.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/series.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/series.dm + +

+ + +
/datum/element/series
+ + + diff --git a/code/datums/elements/simple_flying.html b/code/datums/elements/simple_flying.html new file mode 100644 index 000000000000..7874be80a8e2 --- /dev/null +++ b/code/datums/elements/simple_flying.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/simple_flying.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/simple_flying.dm + +

+ + +
/datum/element/simple_flyingNon bespoke element (1 in existence) that makes animals fly while living and... not while dead! +Note: works for carbons and above, but please do something better. humans have wings got dangit!
+ + + diff --git a/code/datums/elements/smell.html b/code/datums/elements/smell.html new file mode 100644 index 000000000000..887d3faf242b --- /dev/null +++ b/code/datums/elements/smell.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/smell.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/smell.dm + +

+ + +
/obj/effect/abstract/smell_holderAn object for placing smells in the world that aren't attached to a physical object
+ + + diff --git a/code/datums/elements/soft_landing.html b/code/datums/elements/soft_landing.html new file mode 100644 index 000000000000..e9f37916e3f6 --- /dev/null +++ b/code/datums/elements/soft_landing.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/soft_landing.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/soft_landing.dm + +

+ + +
/datum/element/soft_landing
+ + + diff --git a/code/datums/elements/squish.html b/code/datums/elements/squish.html new file mode 100644 index 000000000000..fa892f9f16d4 --- /dev/null +++ b/code/datums/elements/squish.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/squish.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/squish.dm + +

+ + +
/datum/element/squishsquish.dm
+ + + diff --git a/code/datums/elements/strippable.html b/code/datums/elements/strippable.html new file mode 100644 index 000000000000..a823da770276 --- /dev/null +++ b/code/datums/elements/strippable.html @@ -0,0 +1,36 @@ + + + + + + + code/datums/elements/strippable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/strippable.dm + +

+ + + + + + + + + + + +
/datum/element/strippableAn element for atoms that, when dragged and dropped onto a mob, opens a strip panel.
/datum/strippable_itemA representation of an item that can be stripped down
/datum/strippable_item/mob_item_slotA preset for equipping items onto mob slots
/proc/start_unequip_mobA utility function for /datum/strippable_items to start unequipping an item from a mob.
/proc/finish_unequip_mobA utility function for /datum/strippable_items to finish unequipping an item from a mob.
/datum/strip_menuA representation of the stripping UI
/proc/create_strippable_listCreates an assoc list of keys to /datum/strippable_item
+ + + diff --git a/code/datums/elements/tenacious.html b/code/datums/elements/tenacious.html new file mode 100644 index 000000000000..9c974516d70b --- /dev/null +++ b/code/datums/elements/tenacious.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/tenacious.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/tenacious.dm + +

+ + +
/datum/element/tenacioustenacious element; which makes the parent move faster while crawling
+ + + diff --git a/code/datums/elements/tool_flash.html b/code/datums/elements/tool_flash.html new file mode 100644 index 000000000000..6b171fafaa28 --- /dev/null +++ b/code/datums/elements/tool_flash.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/tool_flash.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/tool_flash.dm + +

+ + +
/datum/element/tool_flashTool flash bespoke element
+ + + diff --git a/code/datums/elements/undertile.html b/code/datums/elements/undertile.html new file mode 100644 index 000000000000..cbae5c4a0659 --- /dev/null +++ b/code/datums/elements/undertile.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/elements/undertile.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/elements/undertile.dm + +

+ + + +
ALPHA_UNDERTILEThe alpha we give to stuff under tiles, if they want it
/datum/element/undertileAdd to an object if you want to be able to be hidden under tiles

Define Details

+

ALPHA_UNDERTILE + + +

+

The alpha we give to stuff under tiles, if they want it

+ + + diff --git a/code/datums/elements/venomous.html b/code/datums/elements/venomous.html new file mode 100644 index 000000000000..5f21a2ddea92 --- /dev/null +++ b/code/datums/elements/venomous.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/venomous.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/venomous.dm + +

+ + +
/datum/element/venomousVenomous element; which makes the attacks of the simplemob attached poison the enemy.
+ + + diff --git a/code/datums/elements/volatile_gas_storage.html b/code/datums/elements/volatile_gas_storage.html new file mode 100644 index 000000000000..b47bf7c451bc --- /dev/null +++ b/code/datums/elements/volatile_gas_storage.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/volatile_gas_storage.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/volatile_gas_storage.dm + +

+ + +
/datum/element/volatile_gas_storageAn element to make an /obj explode based on gas pressure when broken
+ + + diff --git a/code/datums/elements/weather_listener.html b/code/datums/elements/weather_listener.html new file mode 100644 index 000000000000..2309ad60a68c --- /dev/null +++ b/code/datums/elements/weather_listener.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/weather_listener.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/elements/weather_listener.dm + +

+ + +
/datum/element/weather_listenerThis element just handles creating and destroying an area sound manager that's hooked into weather stuff
+ + + diff --git a/code/datums/emotes.html b/code/datums/emotes.html new file mode 100644 index 000000000000..d46afee136ed --- /dev/null +++ b/code/datums/emotes.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/emotes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/emotes.dm + +

+ + +
/datum/emoteMost of the text that's not someone talking is based off of this.
+ + + diff --git a/code/datums/greyscale.html b/code/datums/greyscale.html new file mode 100644 index 000000000000..4f3fc08037f4 --- /dev/null +++ b/code/datums/greyscale.html @@ -0,0 +1,116 @@ + + + + + + + code/datums/greyscale/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Greyscale Auto-Generated Sprites (GAGS) + +

+ + +

If you're wanting to add easy recolors for your sprite then this is the system for you. Features include:

+
    +
  • Multiple color layers so your sprite can be generated from more than one color.
  • +
  • Mixed greyscale and colored sprite layers; You can choose to only greyscale a part of the sprite or have premade filters applied to layers.
  • +
  • Blend modes; Instead of just putting layers of sprites on top of eachother you can use the more advanced blend modes.
  • +
  • Reusable configurations; You can reference greyscale sprites from within the configuration of another, allowing you to have a bunch of styles with minimal additional configuration.
  • +
  • Bitmasked icons can be generated from bitmasked source files. In order to do this, add "bitmask_config" key to your icon state metadata with an integer value equal to a bitfield of flags from code/__DEFINES/greyscale.dm. The common one that walls and windows use is 7 (first three flags). After this you need to set "bitmask" = true in your layer data to have that layer use a bitmasked variant. You can mix bitmasked layers and non-bitmasked layers.
  • +
+Other Documents + +Broad overview +

There are three main parts to GAGS that you'll need to be aware of when adding a new greyscale sprite:

+
    +
  • The json configuration
  • +
+

All configuration files can be found in code/datums/greyscale/json_configs and is where you control how your icons are combined together along with the colors specified from in code.

+
    +
  • The dmi file
  • +
+

It contains the sprites that will be used as the basis for the rest of the generation process. You can only have one dmi file specified per configuration but if you want to split up your sprites you can reference other configurations instead.

+
    +
  • The configuration type
  • +
+

This is simply some pointers in the code linking together your dmi and the json configuration.

+Json Configuration File +

The json is made up of some metadata and a list of layers used while creating the sprite. Inner lists are processed as their own chunk before being applied elsewhere, this is useful when you start using more advanced blend modes. Most of the time though you're just going to want a list of icons overlaid on top of eachother.

+
{
+	"icon_state_name": 
+	{
+		"layers":
+		[
+			{
+				"type": "reference",
+				"reference_type": "/datum/greyscale_config/some_other_config",
+				"blend_mode": "overlay",
+				"color_ids": [ 1 ]
+			},
+			[
+				{
+					"type": "icon_state",
+					"icon_state": "highlights",
+					"blend_mode": "overlay",
+					"color_ids": [ 2 ]
+				},
+				{
+					"type": "reference",
+					"reference_type": "/datum/greyscale_config/sparkle_effect",
+					"blend_mode": "add"
+				}
+			]
+		]
+	}
+}
+
+

In this example, we start off by creating a sprite specified by a different configuration. The "type" key is required to specify the kind of layer you defining. Once that is done, the next two layers are grouped together, so they will be generated into one sprite before being applied to any sprites outside their group. You can think of it as an order of operations.

+

The first of the two in the inner group is an "icon_state", this means that the icon will be retrieved from the associated dmi file using the "icon_state" key.

+

The last layer is another reference type. Note that you don't need to give colors to every layer if the layer does not need any colors applied to it.

+

"blend_mode" and "color_ids" are special, all layer types have them. The blend mode is what controls how that layer's finished product gets merged together with the rest of the sprite. The color ids control what colors are passed in to the layer.

+

Once it is done generating it will be placed in an icon file with the icon state of "icon_state_name". You can use any name you like here.

+Dmi File +

There are no special requirements from the dmi file to work with this system. You just need to specify the icon file in code and the icon_state in the json configuration.

+Dm Code +

While the amount of dm code required to make a greyscale sprite was minimized as much as possible, some small amount is required anyway if you want anything to use it.

+

As an example:

+
/datum/greyscale_config/canister
+	icon_file = 'icons/obj/atmospherics/canisters/default.dmi'
+	json_config = 'code/datums/greyscale/json_configs/canister_default.json'
+
+

And that's all you need to make it usable by other code:

+
/obj/machinery/portable_atmospherics/canister
+	...
+	greyscale_config = /datum/greyscale_config/canister
+	greyscale_colors = "#ee4242"
+
+

More configurations can be found in code/datums/greyscale/greyscale_configs.dm

+

If you want your item to be colorable in a vending machine (or other places if there's ever any support added for that), you should do it like this:

+
/obj/item/clothing/head/beret
+	...
+	flags_1 = IS_PLAYER_COLORABLE_1
+
+

However, be extremely careful, as this requires that you put all of the object's flags_1 flags in that statement all over again. It's ugly, I know, but there's no +better way to do this with BYOND just yet. You can put multiple flags like this (not real flags):

+
/obj/item/clothing/head/beret
+	...
+	flags_1 = IS_PLAYER_COLORABLE_1 | THIS_IS_A_FAKE_FLAG | THIS_IS_ANOTHER_FAKE_FLAG
+
+Debugging +

If you're making a new greyscale sprite you sometimes want to be able to see how layers got generated or maybe you're just tweaking some colors. Rather than rebooting the server with every change there is a greyscale modification menu that can be found in the vv dropdown menu for the greyscale object. Here you can change colors, preview the results, and reload everything from their files.

+ + + diff --git a/code/datums/greyscale/_greyscale_config.html b/code/datums/greyscale/_greyscale_config.html new file mode 100644 index 000000000000..248ee335f2f6 --- /dev/null +++ b/code/datums/greyscale/_greyscale_config.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/greyscale/_greyscale_config.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/greyscale/_greyscale_config.dm + +

+ + +
/datum/greyscale_configA datum tying together a greyscale configuration and dmi file. Required for using GAGS and handles the code interactions.
+ + + diff --git a/code/datums/greyscale/json_reader.html b/code/datums/greyscale/json_reader.html new file mode 100644 index 000000000000..1112479e2fb4 --- /dev/null +++ b/code/datums/greyscale/json_reader.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/greyscale/json_reader.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/greyscale/json_reader.dm + +

+ + +
/datum/json_readerTakes a json list and extracts a single value. +Subtypes represent different conversions of that value.
+ + + diff --git a/code/datums/greyscale/layer.html b/code/datums/greyscale/layer.html new file mode 100644 index 000000000000..6400ddc92cea --- /dev/null +++ b/code/datums/greyscale/layer.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/greyscale/layer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/greyscale/layer.dm + +

+ + + +
/datum/greyscale_layer/icon_stateThe most basic greyscale layer; a layer which is created from a single icon_state in the given icon file
/datum/greyscale_layer/referenceA layer created by using another greyscale icon's configuration
+ + + diff --git a/code/datums/greyscale/state.html b/code/datums/greyscale/state.html new file mode 100644 index 000000000000..c291cd0bebf3 --- /dev/null +++ b/code/datums/greyscale/state.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/greyscale/state.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/greyscale/state.dm + +

+ + +
/datum/greyscale_stateAn icon state information for GAGS system
+ + + diff --git a/code/datums/helper_datums/stack_end_detector.html b/code/datums/helper_datums/stack_end_detector.html new file mode 100644 index 000000000000..db8c119e41d9 --- /dev/null +++ b/code/datums/helper_datums/stack_end_detector.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/helper_datums/stack_end_detector.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/helper_datums/stack_end_detector.dm + +

+ + + +
/datum/stack_end_detectorStack End Detector. +Can detect if a given code stack has exited, used by the mc for stack overflow detection.
/datum/stack_canaryStack canary. Will go away if the stack it was primed by is ended by byond for return or stack overflow reasons.
+ + + diff --git a/code/datums/helper_datums/teleport.html b/code/datums/helper_datums/teleport.html new file mode 100644 index 000000000000..1b9767f53b1a --- /dev/null +++ b/code/datums/helper_datums/teleport.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/helper_datums/teleport.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/helper_datums/teleport.dm + +

+ + + +
/proc/is_safe_turfChecks if a given turf is a "safe" location
+ + + diff --git a/code/datums/id_trim/_id_trim.html b/code/datums/id_trim/_id_trim.html new file mode 100644 index 000000000000..cfcc216ade38 --- /dev/null +++ b/code/datums/id_trim/_id_trim.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/id_trim/_id_trim.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/id_trim/_id_trim.dm + +

+ + +
/datum/id_trimSimple datum that holds the basic information associated with an ID card trim.
+ + + diff --git a/code/datums/id_trim/admin.html b/code/datums/id_trim/admin.html new file mode 100644 index 000000000000..bdbf859f076d --- /dev/null +++ b/code/datums/id_trim/admin.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/id_trim/admin.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/id_trim/admin.dm + +

+ + + +
/datum/id_trim/adminTrim for admins and debug cards. Has every single access in the game.
/datum/id_trim/highlanderTrim for highlander cards, used during the highlander adminbus event.
+ + + diff --git a/code/datums/id_trim/centcom.html b/code/datums/id_trim/centcom.html new file mode 100644 index 000000000000..7926a13da765 --- /dev/null +++ b/code/datums/id_trim/centcom.html @@ -0,0 +1,49 @@ + + + + + + + code/datums/id_trim/centcom.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/id_trim/centcom.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + +
/datum/id_trim/centcomTrim for basic Centcom cards.
/datum/id_trim/centcom/vipTrim for Centcom VIPs
/datum/id_trim/centcom/custodianTrim for Centcom Custodians.
/datum/id_trim/centcom/thunderdome_overseerTrim for Centcom Thunderdome Overseers.
/datum/id_trim/centcom/officialTrim for Centcom Officials.
/datum/id_trim/centcom/internTrim for Centcom Interns.
/datum/id_trim/centcom/intern/headTrim for Centcom Head Interns. Different assignment, common station access added on.
/datum/id_trim/centcom/bounty_hunterTrim for Bounty Hunters hired by centcom.
/datum/id_trim/centcom/bartenderTrim for Centcom Bartenders.
/datum/id_trim/centcom/medical_officerTrim for Centcom Medical Officers.
/datum/id_trim/centcom/research_officerTrim for Centcom Research Officers.
/datum/id_trim/centcom/specops_officerTrim for Centcom Specops Officers. All Centcom and Station Access.
/datum/id_trim/centcom/admiralTrim for Centcom (Soviet) Admirals. All Centcom and Station Access.
/datum/id_trim/centcom/commanderTrim for Centcom Commanders. All Centcom and Station Access.
/datum/id_trim/centcom/deathsquadTrim for Deathsquad officers. All Centcom and Station Access.
/datum/id_trim/centcom/ertTrim for generic ERT interns. No universal ID card changing access.
/datum/id_trim/centcom/ert/commanderTrim for ERT Commanders. All station and centcom access.
/datum/id_trim/centcom/ert/securityTrim for generic ERT seccies. No universal ID card changing access.
/datum/id_trim/centcom/ert/engineerTrim for generic ERT engineers. No universal ID card changing access.
/datum/id_trim/centcom/ert/medicalTrim for generic ERT medics. No universal ID card changing access.
/datum/id_trim/centcom/ert/chaplainTrim for generic ERT chaplains. No universal ID card changing access.
/datum/id_trim/centcom/ert/janitorTrim for generic ERT janitors. No universal ID card changing access.
/datum/id_trim/centcom/ert/clownTrim for generic ERT clowns. No universal ID card changing access.
+ + + diff --git a/code/datums/id_trim/families.html b/code/datums/id_trim/families.html new file mode 100644 index 000000000000..7d9e7ab12d07 --- /dev/null +++ b/code/datums/id_trim/families.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/id_trim/families.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/id_trim/families.dm + +

+ + +
/datum/id_trim/space_policeTrim for the families space police. Has all access.
+ + + diff --git a/code/datums/id_trim/jobs.html b/code/datums/id_trim/jobs.html new file mode 100644 index 000000000000..fee915088dbd --- /dev/null +++ b/code/datums/id_trim/jobs.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/id_trim/jobs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/id_trim/jobs.dm + +

+ + + + +
/datum/id_trim/jobThis file contains all the trims associated with station jobs. +It also contains special prisoner trims and the miner's spare ID trim. +ID Trims for station jobs.
/datum/id_trim/job/security_officerSec officers have departmental variants. They each have their own trims with bonus departmental accesses.
/datum/id_trim/job/shaft_miner/spareID card obtained from the mining Disney dollar points vending machine.
+ + + diff --git a/code/datums/id_trim/outfits.html b/code/datums/id_trim/outfits.html new file mode 100644 index 000000000000..80ad2208c9a9 --- /dev/null +++ b/code/datums/id_trim/outfits.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/id_trim/outfits.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/id_trim/outfits.dm + +

+ + + + + + + +
/datum/id_trim/reaper_assassinThis file contains all the trims associated with outfits. +Trim for the assassin outfit.
/datum/id_trim/mobsterTrim for the mobster outfit.
/datum/id_trim/vrTrim for VR outfits.
/datum/id_trim/vr/operativeTrim for VR outfits.
/datum/id_trim/tunnel_clownTrim for the Tunnel Clown! outfit. Has all access.
/datum/id_trim/bounty_hunterTrim for Bounty Hunters NOT hired by centcom. (?)
+ + + diff --git a/code/datums/id_trim/ruins.html b/code/datums/id_trim/ruins.html new file mode 100644 index 000000000000..e2a314be5e32 --- /dev/null +++ b/code/datums/id_trim/ruins.html @@ -0,0 +1,48 @@ + + + + + + + code/datums/id_trim/ruins.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/id_trim/ruins.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + +
/datum/id_trim/awayGeneric away/pffstation trim.
/datum/id_trim/away/hotelTrim for the hotel ruin. Not Hilbert's Hotel.
/datum/id_trim/away/hotel/securityTrim for the hotel ruin. Not Hilbert's Hotel.
/datum/id_trim/away/old/secTrim for the oldstation ruin/Charlie station
/datum/id_trim/away/old/sciTrim for the oldstation ruin/Charlie station
/datum/id_trim/away/old/engTrim for the oldstation ruin/Charlie station
/datum/id_trim/away/old/apcTrim for the oldstation ruin/Charlie station
/datum/id_trim/away/cat_surgeonTrim for the cat surgeon ruin.
/datum/id_trim/away/hilbertTrim for Hilber in Hilbert's Hotel.
/datum/id_trim/lifeguardTrim for beach bum lifeguards.
/datum/id_trim/space_bartenderTrim for beach bum bartenders.
/datum/id_trim/centcom/corpse/bridge_officerTrim for various Centcom corpses.
/datum/id_trim/centcom/corpse/commanderTrim for various Centcom corpses.
/datum/id_trim/centcom/corpse/private_securityTrim for various Centcom corpses.
/datum/id_trim/centcom/corpse/private_security/tradepost_officerTrim for various Centcom corpses.
/datum/id_trim/centcom/corpse/assaultTrim for various Centcom corpses.
/datum/id_trim/engioutpostTrim for various various ruins.
/datum/id_trim/job/station_engineer/gunnerTrim for various various ruins.
/datum/id_trim/pirateTrim for pirates.
/datum/id_trim/pirate/silverscaleTrim for pirates.
/datum/id_trim/pirate/captainTrim for the pirate captain.
/datum/id_trim/pirate/captain/silverscaleTrim for the pirate captain.
+ + + diff --git a/code/datums/id_trim/syndicate.html b/code/datums/id_trim/syndicate.html new file mode 100644 index 000000000000..d492054e0581 --- /dev/null +++ b/code/datums/id_trim/syndicate.html @@ -0,0 +1,36 @@ + + + + + + + code/datums/id_trim/syndicate.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/id_trim/syndicate.dm + +

+ + + + + + + + + + + +
/datum/id_trim/syndicomTrim for Syndicate mobs, outfits and corpses.
/datum/id_trim/syndicom/crewTrim for Syndicate mobs, outfits and corpses.
/datum/id_trim/syndicom/captainTrim for Syndicate mobs, outfits and corpses.
/datum/id_trim/battlecruiserTrim for Syndicate mobs, outfits and corpses.
/datum/id_trim/battlecruiser/captainTrim for Syndicate mobs, outfits and corpses.
/datum/id_trim/chameleonTrim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
/datum/id_trim/chameleon/operativeTrim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
/datum/id_trim/chameleon/operative/clownTrim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
/datum/id_trim/chameleon/operative/clown_leaderTrim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
/datum/id_trim/chameleon/operative/nuke_leaderTrim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
+ + + diff --git a/code/datums/looping_sounds/_looping_sound.html b/code/datums/looping_sounds/_looping_sound.html new file mode 100644 index 000000000000..8794a4371e83 --- /dev/null +++ b/code/datums/looping_sounds/_looping_sound.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/looping_sounds/_looping_sound.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/looping_sounds/_looping_sound.dm + +

+ + +
/datum/looping_soundA datum for sounds that need to loop, with a high amount of configurability.
+ + + diff --git a/code/datums/looping_sounds/acid.html b/code/datums/looping_sounds/acid.html new file mode 100644 index 000000000000..74addff817da --- /dev/null +++ b/code/datums/looping_sounds/acid.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/looping_sounds/acid.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/looping_sounds/acid.dm + +

+ + +
/datum/looping_sound/acidSoundloop for the acid component.
+ + + diff --git a/code/datums/map_config.html b/code/datums/map_config.html new file mode 100644 index 000000000000..1c7a7fa846ad --- /dev/null +++ b/code/datums/map_config.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/map_config.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/map_config.dm + +

+ + + + + +
/proc/load_default_map_configProc that simply loads the default map config, which should always be functional.
/proc/load_map_configProc handling the loading of map configs. Will return the default map config using /proc/load_default_map_config if the loading of said file fails for any reason whatsoever, so we always have a working map for the server to run.
+ + + diff --git a/code/datums/mapgen/JungleGenerator.html b/code/datums/mapgen/JungleGenerator.html new file mode 100644 index 000000000000..beaa57c59b66 --- /dev/null +++ b/code/datums/mapgen/JungleGenerator.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mapgen/JungleGenerator.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/mapgen/JungleGenerator.dm + +

+ + +
/datum/map_generator/jungle_generatorSpawning isn't done in procs to save on overhead on the 60k turfs we're going through.
+ + + diff --git a/code/datums/mapgen/_MapGenerator.html b/code/datums/mapgen/_MapGenerator.html new file mode 100644 index 000000000000..40dcba06851e --- /dev/null +++ b/code/datums/mapgen/_MapGenerator.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mapgen/_MapGenerator.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/mapgen/_MapGenerator.dm + +

+ + +
/datum/map_generatorThis type is responsible for any map generation behavior that is done in areas, override this to allow for area-specific map generation. This generation is ran by areas in initialize.
+ + + diff --git a/code/datums/mapgen/biomes/_biome.html b/code/datums/mapgen/biomes/_biome.html new file mode 100644 index 000000000000..cfdf79c30d4a --- /dev/null +++ b/code/datums/mapgen/biomes/_biome.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mapgen/biomes/_biome.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/mapgen/biomes/_biome.dm + +

+ + +
/datum/biomeThis datum handles the transitioning from a turf to a specific biome, and handles spawning decorative structures and mobs.
+ + + diff --git a/code/datums/martial/cqc.html b/code/datums/martial/cqc.html new file mode 100644 index 000000000000..1c10237e70da --- /dev/null +++ b/code/datums/martial/cqc.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/martial/cqc.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/martial/cqc.dm + +

+ + +
/datum/martial_art/cqc/under_siegeSubtype of CQC. Only used for the chef.
+ + + diff --git a/code/datums/materials/_material.html b/code/datums/materials/_material.html new file mode 100644 index 000000000000..17df5d025f8e --- /dev/null +++ b/code/datums/materials/_material.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/materials/_material.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/materials/_material.dm + +

+ + +

Material datum

+

Simple datum which is instanced once per type and is used for every object of said material. It has a variety of variables that define behavior. Subtyping from this makes it easier to create your own materials.

+ + + diff --git a/code/datums/materials/alloys.html b/code/datums/materials/alloys.html new file mode 100644 index 000000000000..7ef488b105fa --- /dev/null +++ b/code/datums/materials/alloys.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/materials/alloys.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/materials/alloys.dm + +

+ + + + + + + + +
/datum/material/alloyMaterials made from other materials.
/datum/material/alloy/plasteel
/datum/material/alloy/plastitanium
/datum/material/alloy/plasmaglass
/datum/material/alloy/titaniumglass
/datum/material/alloy/plastitaniumglass
/datum/material/alloy/alien
+ + + diff --git a/code/datums/materials/basemats.html b/code/datums/materials/basemats.html new file mode 100644 index 000000000000..18e247208998 --- /dev/null +++ b/code/datums/materials/basemats.html @@ -0,0 +1,39 @@ + + + + + + + code/datums/materials/basemats.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/materials/basemats.dm + +

+ + + + + + + + + + + + + + +
/datum/material/ironHas no special properties.
/datum/material/glassBreaks extremely easily but is transparent.
/datum/material/silverHas no special properties. Could be good against vampires in the future perhaps.
/datum/material/goldSlight force increase
/datum/material/diamondHas no special properties
/datum/material/uraniumIs slightly radioactive
/datum/material/plasmaAdds firestacks on hit (Still needs support to turn into gas on destruction)
/datum/material/bluespaceCan cause bluespace effects on use. (Teleportation) (Not yet implemented)
/datum/material/bananiumHonks and slips
/datum/material/titaniumMediocre force increase
/datum/material/plasticForce decrease
/datum/material/biomassForce decrease and mushy sound effect. (Not yet implemented)
/datum/material/mythrilRPG Magic.
+ + + diff --git a/code/datums/materials/meat.html b/code/datums/materials/meat.html new file mode 100644 index 000000000000..e1c066c0222d --- /dev/null +++ b/code/datums/materials/meat.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/materials/meat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/materials/meat.dm + +

+ + +
/datum/material/meatIt's gross, gets the name of it's owner, and is all kinds of fucked up
+ + + diff --git a/code/datums/memory/memory.html b/code/datums/memory/memory.html new file mode 100644 index 000000000000..ea5132641b43 --- /dev/null +++ b/code/datums/memory/memory.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/memory/memory.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/memory/memory.dm + +

+ + +
/datum/memorylittle tidbits of past events generated by the player doing things. can be used in engravings, dreams, and changeling succs. +all of those things are supposed to be taken vaguely (engravings crossround and should not include names, dreams and succs are memory goop) +and as such the generated text of the memory is vague. also, no references held so hard delling isn't an issue, thank god
+ + + diff --git a/code/datums/memory/memory_design.html b/code/datums/memory/memory_design.html new file mode 100644 index 000000000000..32f3f8723b4e --- /dev/null +++ b/code/datums/memory/memory_design.html @@ -0,0 +1,79 @@ + + + + + + + code/datums/memory/memory_design.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/memory/memory_design.md + +

+ + +
What are memories? +

Memories are events that happen to spacemen that are stored in their mind. They are then turned into generated stories that spessmen can engrave into walls, tattoo onto limbs, changelings can absorb people and read memories, etc.

+

One thing i'd keep in mind is that stories are not memories. Memories persist and can be turned into stories of different types (engravings, tats) but stories are simply the output strings of memories.

+How to add a memory: +

Here's a quick step by step guide on adding a memory. It's purposefully been made to be pretty easy! I'm going to be explaining memories with the surgery memory, it's a great example of a memory.

+Add defines and memory text +

For the define file

+

#define MEMORY_SUCCESSFUL_SURGERY "surgery"

+

this define is used in the proc for adding a memory to someone.

+

#define DETAIL_SURGERY_TYPE "SURGERY_TYPE"

+

this define is going to be the name of the surgery used, it's passed to the memory through the proc. See the next step for a more in-depth explanation.

+

For the memory json

+

Keys are in the memory defines, and are also sent by the memory proc. The only one that is not sent by the specific memory is %MOOD which is replaced by a string of the %PROTAGONIST's moods.

+

surgery example

+

Note that the memory key consists of the memory define, and then:

+
    +
  • names - name of the story
  • +
  • starts - the first sentence of the generated story, it should describe what is happening in the memory
  • +
  • moods - comes after starts, should include %MOOD to show how the %PROTAGONIST feels during the memory.
  • +
+Add proc to store memory +

Here's an in-codebase example of a memory.

+
surgeon.mind.add_memory(
+	// argument 1
+	MEMORY_SUCCESSFUL_SURGERY,
+	// argument 2
+	list(
+		DETAIL_PROTAGONIST = surgeon,
+		DETAIL_DEUTERAGONIST = target,
+		DETAIL_SURGERY_TYPE = src,
+	),
+	// argument 3
+	story_value = STORY_VALUE_OKAY,
+	// argument 4, you do not need to include this if there are no flags BUT for the sake of teaching the proc this is included for the example.
+	memory_flags = NONE
+)
+
+

First argument is the memory type, basically what is happening. It is a define equal to the memory json key with all the flavor text.

+

Second argument is the elements in the memory. You will almost always have a PROTAGONIST, or the main character in the memory. The second most important character is is the DEUTERAGONIST. In the case of this memory, the protag is the surgeon and the deuterag is the patient. Makes sense! There are also non generic memory information, which is shown by the DETAIL_SURGERY_TYPE entry. This will send the name of the surgery to the memory, so it has that information when creating a story.

+

Third argument is the story value, or how good of a memory it is. We make really easy memories or roundstart memories like account info worth very little so they show up less often, to offset the fact that they are easy

+

Fourth argument are some memory flags, these can be used to cut story generation out where it doesn't make sense (gibbing not sending moods, roundstart memories not sending location, etc)

+Ways to expand this system in the future: +
    +
  • Make engraving generic to atoms, not just walls.
  • +
  • Tattoos could use overlay sprites on the limb.
  • +
  • Tattoos working on simple animals?
  • +
  • More wall engraving sprites
  • +
  • Maybe implement engravings into fantasy affixes? A certain fellow by the name of fikou has worked on RPG stats, that combined with engraved high quality items would be awesome.
  • +
  • readd special role text:
  • +
+
if(target.mind?.special_role)
+	return "\the [lowertext(target.mind?.special_role)]"
+
+ + + diff --git a/code/datums/mergers/_merger.html b/code/datums/mergers/_merger.html new file mode 100644 index 000000000000..aebadbe37a12 --- /dev/null +++ b/code/datums/mergers/_merger.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mergers/_merger.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/mergers/_merger.dm + +

+ + +
/datum/mergerA datum that tracks a type or types of objects in a cluster
+ + + diff --git a/code/datums/mocking/client.html b/code/datums/mocking/client.html new file mode 100644 index 000000000000..b9722d54300d --- /dev/null +++ b/code/datums/mocking/client.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mocking/client.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/mocking/client.dm + +

+ + +
/datum/client_interfaceThis should match the interface of /client wherever necessary.
+ + + diff --git a/code/datums/movement_detector.html b/code/datums/movement_detector.html new file mode 100644 index 000000000000..c2956c0d43e3 --- /dev/null +++ b/code/datums/movement_detector.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/movement_detector.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/movement_detector.dm + +

+ + +
/datum/movement_detectorA datum to handle the busywork of registering signals to handle in depth tracking of a movable
+ + + diff --git a/code/datums/mutable_appearance.html b/code/datums/mutable_appearance.html new file mode 100644 index 000000000000..4ba7362bd96b --- /dev/null +++ b/code/datums/mutable_appearance.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/mutable_appearance.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/mutable_appearance.dm + +

+ + + +
/proc/mutable_appearanceHelper similar to image()
+ + + diff --git a/code/datums/mutations/holy_mutation/burdened.html b/code/datums/mutations/holy_mutation/burdened.html new file mode 100644 index 000000000000..813fbda1ac07 --- /dev/null +++ b/code/datums/mutations/holy_mutation/burdened.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mutations/holy_mutation/burdened.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/mutations/holy_mutation/burdened.dm + +

+ + +
/datum/mutation/human/burdenedBurdened grants some more mutations upon injuring yourself sufficiently
+ + + diff --git a/code/datums/mutations/holy_mutation/honorbound.html b/code/datums/mutations/holy_mutation/honorbound.html new file mode 100644 index 000000000000..c77aa5c1c15f --- /dev/null +++ b/code/datums/mutations/holy_mutation/honorbound.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mutations/holy_mutation/honorbound.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/mutations/holy_mutation/honorbound.dm + +

+ + +
/datum/mutation/human/honorboundHonorbound prevents you from attacking the unready, the just, or the innocent
+ + + diff --git a/code/datums/mutations/hulk.html b/code/datums/mutations/hulk.html new file mode 100644 index 000000000000..378ef3b82d89 --- /dev/null +++ b/code/datums/mutations/hulk.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/mutations/hulk.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/mutations/hulk.dm + +

+ + +
HULK_TAILTHROW_STEPSHow many steps it takes to throw the mob

Define Details

+

HULK_TAILTHROW_STEPS + + +

+

How many steps it takes to throw the mob

+ + + diff --git a/code/datums/mutations/sight.html b/code/datums/mutations/sight.html new file mode 100644 index 000000000000..c3ee53f2972e --- /dev/null +++ b/code/datums/mutations/sight.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/mutations/sight.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/mutations/sight.dm + +

+ + + + + + +
/datum/mutation/human/blindBlind makes you blind. Who knew?
/datum/mutation/human/thermalThermal Vision lets you see mobs through walls
/datum/mutation/human/xrayX-ray Vision lets you see through walls.
/datum/mutation/human/laser_eyesLaser Eyes lets you shoot lasers from your eyes!
/obj/projectile/beam/laser_eyesProjectile type used by laser eyes
+ + + diff --git a/code/datums/mutations/telekinesis.html b/code/datums/mutations/telekinesis.html new file mode 100644 index 000000000000..db2c67216937 --- /dev/null +++ b/code/datums/mutations/telekinesis.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mutations/telekinesis.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/mutations/telekinesis.dm + +

+ + +
/datum/mutation/human/telekinesisTelekinesis lets you interact with objects from range, and gives you a light blue halo around your head.
+ + + diff --git a/code/datums/outfit.html b/code/datums/outfit.html new file mode 100644 index 000000000000..0bcc914f6414 --- /dev/null +++ b/code/datums/outfit.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/outfit.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/outfit.dm + +

+ + +
/datum/outfitThis is a clean system of applying outfits to mobs, if you need to equip someone in a uniform +this is the way to do it cleanly and properly.
+ + + diff --git a/code/datums/position_point_vector.html b/code/datums/position_point_vector.html new file mode 100644 index 000000000000..ef3c2176f235 --- /dev/null +++ b/code/datums/position_point_vector.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/position_point_vector.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/position_point_vector.dm + +

+ + + +
/datum/positionFor positions with map x/y/z and pixel x/y so you don't have to return lists. Could use addition/subtraction in the future I guess.
/datum/pointA precise point on the map in absolute pixel locations based on world.icon_size. Pixels are FROM THE EDGE OF THE MAP!
+ + + diff --git a/code/datums/proximity_monitor/field.html b/code/datums/proximity_monitor/field.html new file mode 100644 index 000000000000..8116538150b5 --- /dev/null +++ b/code/datums/proximity_monitor/field.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/proximity_monitor/field.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/proximity_monitor/field.dm + +

+ + +
/datum/proximity_monitor/advancedMovable and easily code-modified fields! Allows for custom AOE effects that affect movement +and anything inside of them, and can do custom turf effects! +Supports automatic recalculation/reset on movement.
+ + + diff --git a/code/datums/proximity_monitor/fields/timestop.html b/code/datums/proximity_monitor/fields/timestop.html new file mode 100644 index 000000000000..31f538835d62 --- /dev/null +++ b/code/datums/proximity_monitor/fields/timestop.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/proximity_monitor/fields/timestop.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/proximity_monitor/fields/timestop.dm + +

+ + +
/obj/effect/timestop/channelledindefinite version, but only if no immune atoms move.
+ + + diff --git a/code/datums/quirks/_quirk.html b/code/datums/quirks/_quirk.html new file mode 100644 index 000000000000..9a66790eb1d2 --- /dev/null +++ b/code/datums/quirks/_quirk.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/quirks/_quirk.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/quirks/_quirk.dm + +

+ + +
/datum/quirk/item_quirkSubtype quirk that has some bonus logic to spawn items for the player.
+ + + diff --git a/code/datums/quirks/bane.html b/code/datums/quirks/bane.html new file mode 100644 index 000000000000..3458eb71d4cb --- /dev/null +++ b/code/datums/quirks/bane.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/quirks/bane.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/quirks/bane.dm + +

+ + + +
/datum/quirk/item_quirk/junkieIf this is defined, reagent_id will be unused and the defined reagent type will be instead. +actual instanced version of the reagent +Where the drug spawned +If this is defined before pill generation, pill generation will be skipped. This is the type of the pill bottle. +where the accessory spawned +If this is null, an accessory won't be spawned. +how frequently the quirk processes +ticker for processing
/datum/quirk/item_quirk/junkie/smokerMax that shit out
+ + + diff --git a/code/datums/station_alert.html b/code/datums/station_alert.html new file mode 100644 index 000000000000..41eab5ee1d94 --- /dev/null +++ b/code/datums/station_alert.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/station_alert.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/station_alert.dm + +

+ + +
/datum/station_alertOur parent might want to fuck with these numbers
+ + + diff --git a/code/datums/station_integrity.html b/code/datums/station_integrity.html new file mode 100644 index 000000000000..61947090786e --- /dev/null +++ b/code/datums/station_integrity.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/station_integrity.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/station_integrity.dm + +

+ + +
/datum/station_stateFor counting up how much of the station exists at the start of the shift, and how much is left behind by the end of it.
+ + + diff --git a/code/datums/station_traits/_station_trait.html b/code/datums/station_traits/_station_trait.html new file mode 100644 index 000000000000..8e7d7758090a --- /dev/null +++ b/code/datums/station_traits/_station_trait.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/station_traits/_station_trait.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/station_traits/_station_trait.dm + +

+ + +
/datum/station_traitBase class of station traits. These are used to influence rounds in one way or the other by influencing the levers of the station.
+ + + diff --git a/code/datums/station_traits/negative_traits.html b/code/datums/station_traits/negative_traits.html new file mode 100644 index 000000000000..ec748961a2da --- /dev/null +++ b/code/datums/station_traits/negative_traits.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/station_traits/negative_traits.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/station_traits/negative_traits.dm + +

+ + +
/datum/station_trait/revenge_of_pun_punThe bot's language holder - so we can randomize and change their language
+ + + diff --git a/code/datums/status_effects/_status_effect.html b/code/datums/status_effects/_status_effect.html new file mode 100644 index 000000000000..e334df84ece1 --- /dev/null +++ b/code/datums/status_effects/_status_effect.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/status_effects/_status_effect.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/status_effects/_status_effect.dm + +

+ + + +
/datum/status_effectStatus effects are used to apply temporary or permanent effects to mobs. +This file contains their code, plus code for applying and removing them.
/atom/movable/screen/alert/status_effectAlert base type for status effect alerts
+ + + diff --git a/code/datums/status_effects/buffs.html b/code/datums/status_effects/buffs.html new file mode 100644 index 000000000000..92ace83023a2 --- /dev/null +++ b/code/datums/status_effects/buffs.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/status_effects/buffs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/status_effects/buffs.dm + +

+ + + + +
/datum/status_effect/protective_bladesSummons multiple foating knives around the owner. +Each knife will block an attack straight up.
/datum/status_effect/protective_blades/rechargingA subtype that doesn't self-delete / disappear when all blades are gone +It instead regenerates over time back to the max after blades are consumed
/datum/status_effect/limited_buff/health_buffthis buff provides a max health buff and a heal.
+ + + diff --git a/code/datums/status_effects/debuffs/confusion.html b/code/datums/status_effects/debuffs/confusion.html new file mode 100644 index 000000000000..f4c8ad07638b --- /dev/null +++ b/code/datums/status_effects/debuffs/confusion.html @@ -0,0 +1,43 @@ + + + + + + + code/datums/status_effects/debuffs/confusion.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/status_effects/debuffs/confusion.dm + +

+ + + + + +
CONFUSION_FULL_THRESHOLDThe threshold in which all of our movements are fully randomized, in seconds.
CONFUSION_SIDEWAYS_MOVE_PROB_PER_SECONDA multiplier applied on how much time is left (in seconds) that determines the chance of moving sideways randomly
CONFUSION_DIAGONAL_MOVE_PROB_PER_SECONDA multiplier applied on how much time is left (in seconds) that determines the chance of moving diagonally randomly
/datum/status_effect/confusionA status effect used for adding confusion to a mob.

Define Details

+

CONFUSION_DIAGONAL_MOVE_PROB_PER_SECOND + + +

+

A multiplier applied on how much time is left (in seconds) that determines the chance of moving diagonally randomly

CONFUSION_FULL_THRESHOLD + + +

+

The threshold in which all of our movements are fully randomized, in seconds.

CONFUSION_SIDEWAYS_MOVE_PROB_PER_SECOND + + +

+

A multiplier applied on how much time is left (in seconds) that determines the chance of moving sideways randomly

+ + + diff --git a/code/datums/status_effects/debuffs/debuffs.html b/code/datums/status_effects/debuffs/debuffs.html new file mode 100644 index 000000000000..0c434de41426 --- /dev/null +++ b/code/datums/status_effects/debuffs/debuffs.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/debuffs/debuffs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/status_effects/debuffs/debuffs.dm + +

+ + +
/datum/status_effect/incapacitating/incapacitatedThis status effect represents anything that leaves a character unable to perform basic tasks (interrupting do-afters, for example), but doesn't incapacitate them further than that (no stuns etc..)
+ + + diff --git a/code/datums/status_effects/debuffs/drugginess.html b/code/datums/status_effects/debuffs/drugginess.html new file mode 100644 index 000000000000..74ec59398d0a --- /dev/null +++ b/code/datums/status_effects/debuffs/drugginess.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/status_effects/debuffs/drugginess.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/status_effects/debuffs/drugginess.dm + +

+ + + +
/datum/status_effect/drugginessDrugginess / "high" effect, makes your screen rainbow
/atom/movable/screen/alert/status_effect/highThe status effect for "drugginess"
+ + + diff --git a/code/datums/status_effects/debuffs/drunk.html b/code/datums/status_effects/debuffs/drunk.html new file mode 100644 index 000000000000..dd105b6e6941 --- /dev/null +++ b/code/datums/status_effects/debuffs/drunk.html @@ -0,0 +1,39 @@ + + + + + + + code/datums/status_effects/debuffs/drunk.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/status_effects/debuffs/drunk.dm + +

+ + + + + + +
TIPSY_THRESHOLDThe threshld which determine if someone is tipsy vs drunk
/datum/status_effect/inebriatedThe drunk status effect. +Slowly decreases in drunk_value over time, causing effects based on that value.
/datum/status_effect/inebriated/tipsyStage 1 of drunk, applied at drunk values between 0 and 6. +Basically is the "drunk but no side effects" stage.
/datum/status_effect/inebriated/drunkStage 2 of being drunk, applied at drunk values between 6 and onward. +Has all the main side effects of being drunk, scaling up as they get more drunk.
/atom/movable/screen/alert/status_effect/drunkStatus effect for being fully drunk (not tipsy).

Define Details

+

TIPSY_THRESHOLD + + +

+

The threshld which determine if someone is tipsy vs drunk

+ + + diff --git a/code/datums/status_effects/debuffs/strandling.html b/code/datums/status_effects/debuffs/strandling.html new file mode 100644 index 000000000000..a1728d5c8cee --- /dev/null +++ b/code/datums/status_effects/debuffs/strandling.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/status_effects/debuffs/strandling.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/datums/status_effects/debuffs/strandling.dm + +

+ + +
STRANGLING_TOOL_MULTIPLIERA multiplier to the time it takes to remove durathread strangling when using a tool instead of your hands

Define Details

+

STRANGLING_TOOL_MULTIPLIER + + +

+

A multiplier to the time it takes to remove durathread strangling when using a tool instead of your hands

+ + + diff --git a/code/datums/status_effects/grouped_effect.html b/code/datums/status_effects/grouped_effect.html new file mode 100644 index 000000000000..c317e1f08783 --- /dev/null +++ b/code/datums/status_effects/grouped_effect.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/grouped_effect.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/status_effects/grouped_effect.dm + +

+ + +
/datum/status_effect/groupedStatus effect from multiple sources, when all sources are removed, so is the effect
+ + + diff --git a/code/datums/status_effects/limited_effect.html b/code/datums/status_effects/limited_effect.html new file mode 100644 index 000000000000..d568c932f26f --- /dev/null +++ b/code/datums/status_effects/limited_effect.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/limited_effect.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/status_effects/limited_effect.dm + +

+ + +
/datum/status_effect/limited_buffThese effects reapply their on_apply() effect when refreshed while stacks < max_stacks.
+ + + diff --git a/code/datums/status_effects/neutral.html b/code/datums/status_effects/neutral.html new file mode 100644 index 000000000000..78cdd613084c --- /dev/null +++ b/code/datums/status_effects/neutral.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/neutral.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/status_effects/neutral.dm + +

+ + +
/datum/status_effect/tinlux_lightMakes the mob luminescent for the duration of the effect.
+ + + diff --git a/code/datums/status_effects/song_effects.html b/code/datums/status_effects/song_effects.html new file mode 100644 index 000000000000..5397eab1d6b0 --- /dev/null +++ b/code/datums/status_effects/song_effects.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/song_effects.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/status_effects/song_effects.dm + +

+ + +
/datum/status_effect/songType of status effect applied by music played by the festival sect. Stacks upon itself, and removes all other song subtypes other than itself.
+ + + diff --git a/code/datums/status_effects/stacking_effect.html b/code/datums/status_effects/stacking_effect.html new file mode 100644 index 000000000000..d2338649489c --- /dev/null +++ b/code/datums/status_effects/stacking_effect.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/stacking_effect.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/status_effects/stacking_effect.dm + +

+ + +
/datum/status_effect/stackingStatus effects that can stack.
+ + + diff --git a/code/datums/status_effects/wound_effects.html b/code/datums/status_effects/wound_effects.html new file mode 100644 index 000000000000..a6398e39289e --- /dev/null +++ b/code/datums/status_effects/wound_effects.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/wound_effects.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/status_effects/wound_effects.dm + +

+ + +
/atom/movable/screen/alert/status_effect/woundWOUNDS
+ + + diff --git a/code/datums/storage/storage.html b/code/datums/storage/storage.html new file mode 100644 index 000000000000..ff7b2e50d3d8 --- /dev/null +++ b/code/datums/storage/storage.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/storage/storage.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/storage/storage.dm + +

+ + +
/datum/storageDatumized Storage +Eliminates the need for custom signals specifically for the storage component, and attaches a storage variable (atom_storage) to every atom. +If you're looking to create custom storage type behaviors, check ../subtypes
+ + + diff --git a/code/datums/storage/subtypes/cards.html b/code/datums/storage/subtypes/cards.html new file mode 100644 index 000000000000..7ae731bc194e --- /dev/null +++ b/code/datums/storage/subtypes/cards.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/storage/subtypes/cards.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/storage/subtypes/cards.dm + +

+ + +
/datum/storage/tcgA storage component to be used on card piles, for use as hands/decks/discard piles. Don't use on something that's not a card pile!
+ + + diff --git a/code/datums/storage/subtypes/holster.html b/code/datums/storage/subtypes/holster.html new file mode 100644 index 000000000000..1d08a48e4fa0 --- /dev/null +++ b/code/datums/storage/subtypes/holster.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/storage/subtypes/holster.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/storage/subtypes/holster.dm + +

+ + +
/datum/storage/holsterA type of storage where a number of slots are reserved for a specific type of item
+ + + diff --git a/code/datums/verb_callbacks.html b/code/datums/verb_callbacks.html new file mode 100644 index 000000000000..e4c3566d72c6 --- /dev/null +++ b/code/datums/verb_callbacks.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/verb_callbacks.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/verb_callbacks.dm + +

+ + +
/datum/callback/verb_callbacklike normal callbacks but they also record their creation time for measurement purposes +they also require the same usr/user that made the callback to both still exist and to still have a client in order to execute
+ + + diff --git a/code/datums/view.html b/code/datums/view.html new file mode 100644 index 000000000000..dcad6d58b518 --- /dev/null +++ b/code/datums/view.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/view.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/view.dm + +

+ + +
/datum/view_dataContainer for client viewsize
+ + + diff --git a/code/datums/voice_of_god_command.html b/code/datums/voice_of_god_command.html new file mode 100644 index 000000000000..d31a22d42614 --- /dev/null +++ b/code/datums/voice_of_god_command.html @@ -0,0 +1,59 @@ + + + + + + + code/datums/voice_of_god_command.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/voice_of_god_command.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/voice_of_godVOICE OF GOD
/datum/voice_of_god_commandVoice of god command datums that are used in [/proc/voice_of_god()]
/datum/voice_of_god_command/knockdownThis command knocks the listeners down.
/datum/voice_of_god_command/immobilizeThis command stops the listeners from moving.
/datum/voice_of_god_command/vomitThis command makes carbon listeners throw up like Mr. Creosote.
/datum/voice_of_god_command/silenceThis command silences the listeners. Thrice as effective is the user is a mime or archivist.
/datum/voice_of_god_command/hallucinateThis command makes the listeners see others as corgis, carps, skellies etcetera etcetera.
/datum/voice_of_god_command/wake_upThis command wakes up the listeners.
/datum/voice_of_god_command/healThis command heals the listeners for 10 points of total damage.
/datum/voice_of_god_command/bruteThis command applies 15 points of brute damage to the listeners. There's subtle theological irony in this being more powerful than healing.
/datum/voice_of_god_command/bleedThis command makes carbon listeners bleed from a random body part.
/datum/voice_of_god_command/burnThis command sets the listeners ablaze.
/datum/voice_of_god_command/hotThis command heats the listeners up like boiling water.
/datum/voice_of_god_command/coldThis command cools the listeners down like freezing water.
/datum/voice_of_god_command/repulseThis command throws the listeners away from the user.
/datum/voice_of_god_command/attractThis command throws the listeners at the user.
/datum/voice_of_god_command/who_are_youThis command forces the listeners to say their true name (so masks and hoods won't help).
/datum/voice_of_god_command/say_my_nameThis command forces the listeners to say the user's name
/datum/voice_of_god_command/knock_knockThis command forces the listeners to say "Who's there?".
/datum/voice_of_god_command/state_lawsThis command forces silicon listeners to state all their laws.
/datum/voice_of_god_command/moveThis command forces the listeners to take step in a direction chosen by the user, otherwise a random cardinal one.
/datum/voice_of_god_command/walkThis command forces the listeners to switch to walk intent.
/datum/voice_of_god_command/runThis command forces the listeners to switch to run intent.
/datum/voice_of_god_command/throw_catchThis command turns the listeners' throw mode on.
/datum/voice_of_god_command/speakThis command forces the listeners to say a brain damage line.
/datum/voice_of_god_command/getupThis command forces the listeners to get the fuck up, resetting all stuns.
/datum/voice_of_god_command/sitThis command forces each listener to buckle to a chair found on the same tile.
/datum/voice_of_god_command/standThis command forces each listener to unbuckle from whatever they are buckled to.
/datum/voice_of_god_command/jumpThis command forces the listener to do the jump emote 3/4 of the times or reply "HOW HIGH?!!".
/datum/voice_of_god_command/honkThis command plays a bikehorn sound after 2 seconds and a half have passed, and also slips listeners if the user is a clown.
/datum/voice_of_god_command/multispinThis command spins the listeners 1800° degrees clockwise.
/datum/voice_of_god_command/emoteSupertype of all those commands that make people emote and nothing else. Fuck copypasta.
+ + + diff --git a/code/datums/vote.html b/code/datums/vote.html new file mode 100644 index 000000000000..096ea6396f6c --- /dev/null +++ b/code/datums/vote.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/vote.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/vote.dm + +

+ + + + + +
/datum/vote/customCustom votes, just for typechecking niceness
/datum/vote/change_mapVote datum for changing the map
/datum/vote/crew_transferAutomatic vote for calling the shuttle
/datum/vote/restartVote for restarting the server
+ + + diff --git a/code/datums/weakrefs.html b/code/datums/weakrefs.html new file mode 100644 index 000000000000..25f4bb68f583 --- /dev/null +++ b/code/datums/weakrefs.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/weakrefs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/weakrefs.dm + +

+ + + + +
/proc/WEAKREFCreates a weakref to the given input. +See /datum/weakref's documentation for more information.
/datum/weakrefA weakref holds a non-owning reference to a datum. +The datum can be referenced again using resolve().
+ + + diff --git a/code/datums/weather/weather.html b/code/datums/weather/weather.html new file mode 100644 index 000000000000..f77e2e0d4c4a --- /dev/null +++ b/code/datums/weather/weather.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/weather/weather.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/weather/weather.dm + +

+ + +
/datum/weatherCauses weather to occur on a z level in certain area types
+ + + diff --git a/code/datums/wires/fax.html b/code/datums/wires/fax.html new file mode 100644 index 000000000000..4eaca650db8e --- /dev/null +++ b/code/datums/wires/fax.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/wires/fax.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/datums/wires/fax.dm + +

+ + +
/datum/wires/faxWires for the fax machine
+ + + diff --git a/code/game/area/areas.html b/code/game/area/areas.html new file mode 100644 index 000000000000..d4227d340dd3 --- /dev/null +++ b/code/game/area/areas.html @@ -0,0 +1,29 @@ + + + + + + + code/game/area/areas.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/area/areas.dm + +

+ + + + +
/areaA grouping of tiles into a logical space, mostly used by map editors
/proc/process_teleport_locsGenerate a list of turfs you can teleport to from the areas list
+ + + diff --git a/code/game/area/areas/mining.html b/code/game/area/areas/mining.html new file mode 100644 index 000000000000..459729b90435 --- /dev/null +++ b/code/game/area/areas/mining.html @@ -0,0 +1,27 @@ + + + + + + + code/game/area/areas/mining.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/area/areas/mining.dm + +

+ + +
/area/mineMine areas
+ + + diff --git a/code/game/area/areas/shuttles.html b/code/game/area/areas/shuttles.html new file mode 100644 index 000000000000..2cc8d9e86a34 --- /dev/null +++ b/code/game/area/areas/shuttles.html @@ -0,0 +1,32 @@ + + + + + + + code/game/area/areas/shuttles.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/area/areas/shuttles.dm + +

+ + + + + + +
/area/shuttle/syndicateMulti-area shuttles +Syndicate infiltrator
/area/shuttle/piratePirate Shuttle
/area/shuttle/hunterBounty Hunter Shuttles
/area/shuttle/abandonedWhite Ship
/area/shuttle/transitSingle-area shuttles
+ + + diff --git a/code/game/atoms.html b/code/game/atoms.html new file mode 100644 index 000000000000..ad2c68d8526b --- /dev/null +++ b/code/game/atoms.html @@ -0,0 +1,32 @@ + + + + + + + code/game/atoms.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/atoms.dm + +

+ + + + + + + +
/atomThe base type for nearly all physical objects in SS13

Tool-specific behavior procs.

/proc/log_directed_talkHelper for logging of messages with only one sender and receiver
/proc/log_combatLog a combat message in the attack log
+ + + diff --git a/code/game/data_huds.html b/code/game/data_huds.html new file mode 100644 index 000000000000..c362dc9f083c --- /dev/null +++ b/code/game/data_huds.html @@ -0,0 +1,28 @@ + + + + + + + code/game/data_huds.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/data_huds.dm + +

+ + + +
/proc/RoundDiagBarDiagnostic HUDs!
+ + + diff --git a/code/game/gamemodes/bloodbrothers.html b/code/game/gamemodes/bloodbrothers.html new file mode 100644 index 000000000000..687300832af0 --- /dev/null +++ b/code/game/gamemodes/bloodbrothers.html @@ -0,0 +1,32 @@ + + + + + + + code/game/gamemodes/bloodbrothers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/gamemodes/bloodbrothers.dm + +

+ + +
BROTHER_SCALING_COEFFWhat percentage of the crew can become bros :flooshed:.

Define Details

+

BROTHER_SCALING_COEFF + + +

+

What percentage of the crew can become bros :flooshed:.

+ + + diff --git a/code/game/gamemodes/bloodcult.html b/code/game/gamemodes/bloodcult.html new file mode 100644 index 000000000000..3051809b77f1 --- /dev/null +++ b/code/game/gamemodes/bloodcult.html @@ -0,0 +1,32 @@ + + + + + + + code/game/gamemodes/bloodcult.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/gamemodes/bloodcult.dm + +

+ + +
CULT_SCALING_COEFFWhat percentage of the crew can become culists.

Define Details

+

CULT_SCALING_COEFF + + +

+

What percentage of the crew can become culists.

+ + + diff --git a/code/game/gamemodes/changelings.html b/code/game/gamemodes/changelings.html new file mode 100644 index 000000000000..c6f207d56f2f --- /dev/null +++ b/code/game/gamemodes/changelings.html @@ -0,0 +1,32 @@ + + + + + + + code/game/gamemodes/changelings.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/gamemodes/changelings.dm + +

+ + +
CHANGELING_SCALING_COEFFWhat percentage of the crew can become changelings.

Define Details

+

CHANGELING_SCALING_COEFF + + +

+

What percentage of the crew can become changelings.

+ + + diff --git a/code/game/gamemodes/dynamic.html b/code/game/gamemodes/dynamic.html new file mode 100644 index 000000000000..719ef6b70280 --- /dev/null +++ b/code/game/gamemodes/dynamic.html @@ -0,0 +1,213 @@ + + + + + + + code/game/gamemodes/dynamic/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Dynamic Mode + +

+ + +
Roundstart +

Dynamic rolls threat based on a special sauce formula:

+
+

[dynamic_curve_width][/datum/controller/global_vars/var/dynamic_curve_width] * tan((3.1416 * (rand() - 0.5) * 57.2957795)) + [dynamic_curve_centre][/datum/controller/global_vars/var/dynamic_curve_centre]

+
+

This threat is split into two separate budgets--round_start_budget and mid_round_budget. For example, a round with 50 threat might be split into a 30 roundstart budget, and a 20 midround budget. The roundstart budget is used to apply antagonists applied on readied players when the roundstarts (/datum/dynamic_ruleset/roundstart). The midround budget is used for two types of rulesets:

+
    +
  • /datum/dynamic_ruleset/midround - Rulesets that apply to either existing alive players, or to ghosts. Think Blob or Space Ninja, which poll ghosts asking if they want to play as these roles.
  • +
  • /datum/dynamic_ruleset/latejoin - Rulesets that apply to the next player that joins. Think Syndicate Infiltrator, which converts a player just joining an existing round into traitor.
  • +
+

This split is done with a similar method, known as the "lorentz distribution", exists to create a bell curve that ensures that while most rounds will have a threat level around ~50, chaotic and tame rounds still exist for variety.

+

The process of creating these numbers occurs in /datum/game_mode/dynamic/proc/generate_threat (for creating the threat level) and /datum/game_mode/dynamic/proc/generate_budgets (for splitting the threat level into budgets).

+Deciding roundstart threats +

In /datum/game_mode/dynamic/proc/roundstart() (called when no admin chooses the rulesets explicitly), Dynamic uses the available roundstart budget to pick threats. This is done through the following system:

+
    +
  • All roundstart rulesets (remember, /datum/dynamic_ruleset/roundstart) are put into an associative list with their weight as the values (drafted_rules).
  • +
  • Until there is either no roundstart budget left, or until there is no ruleset we can choose from with the available threat, a pickweight is done based on the drafted_rules. If the same threat is picked twice, it will "scale up". The meaning of this depends on the ruleset itself, using the scaled_times variable; traitors for instance will create more the higher they scale. +
      +
    • If a ruleset is chosen with the HIGH_IMPACT_RULESET in its flags, then all other HIGH_IMPACT_RULESETs will be removed from drafted_rules. This is so that only one can ever be chosen.
    • +
    • If a ruleset has LONE_RULESET in its flags, then it will be removed from drafted_rules. This is to ensure it will only ever be picked once. An example of this in use is Wizard, to avoid creating multiple wizards.
    • +
    +
  • +
  • After all roundstart threats are chosen, /datum/dynamic_ruleset/proc/picking_roundstart_rule is called for each, passing in the ruleset and the number of times it is scaled. +
      +
    • In this stage, pre_execute is called, which is the function that will determine what players get what antagonists. If this function returns FALSE for whatever reason (in the case of an error), then its threat is refunded.
    • +
    +
  • +
+

After this process is done, any leftover roundstart threat will be given to the existing midround budget (done in /datum/game_mode/dynamic/pre_setup()).

+Deciding midround threats +

Latejoin and midround injection cooldowns are set using exponential distribution between

+
    +
  • 5 minutes and 25 for latejoin (configurable as latejoin_delay_min and latejoin_delay_max)
  • +
  • 15 minutes and 35 for midround (configurable as midround_delay_min and midround_delay_max)
  • +
+

this value is then added to world.time and assigned to the injection cooldown variables.

+

rigged_roundstart is called instead if there are forced rules (an admin set the mode)

+
    +
  1. [setup_parameters][/datum/game_mode/proc/setup_parameters]()
  2. +
  3. pre_setup()
  4. +
  5. [roundstart][/datum/game_mode/dynamic/proc/roundstart]() OR rigged_roundstart()
  6. +
  7. picking_roundstart_rule(drafted_rules)
  8. +
  9. post_setup()
  10. +
+Rule Processing +

Calls rule_process on every rule which is in the current_rules list. +Every sixty seconds, update_playercounts() +Midround injection time is checked against world.time to see if an injection should happen. +If midround injection time is lower than world.time, it updates playercounts again, then tries to inject and generates a new cooldown regardless of whether a rule is picked.

+Latejoin +

make_antag_chance(newPlayer) -> (For each latespawn rule...) +-> acceptable(living players, threat_level) -> trim_candidates() -> ready(forced=FALSE) +**If true, add to drafted rules +**NOTE that acceptable uses threat_level not threat! +**NOTE Latejoin timer is ONLY reset if at least one rule was drafted. +**NOTE the new_player.dm AttemptLateSpawn() calls OnPostSetup for all roles (unless assigned role is MODE)

+

(After collecting all draftble rules...) +-> picking_latejoin_ruleset(drafted_rules) -> spend threat -> ruleset.execute()

+Midround +

process() -> (For each midround rule... +-> acceptable(living players, threat_level) -> trim_candidates() -> ready(forced=FALSE) +(After collecting all draftble rules...) +-> picking_midround_ruleset(drafted_rules) -> spend threat -> ruleset.execute()

+Forced +

For latejoin, it simply sets forced_latejoin_rule +make_antag_chance(newPlayer) -> trim_candidates() -> ready(forced=TRUE) **NOTE no acceptable() call

+

For midround, calls the below proc with forced = TRUE +picking_specific_rule(ruletype,forced) -> forced OR acceptable(living_players, threat_level) -> trim_candidates() -> ready(forced) -> spend threat -> execute() +**NOTE specific rule can be called by RS traitor->MR autotraitor w/ forced=FALSE +**NOTE that due to short circuiting acceptable() need not be called if forced.

+Ruleset +

acceptable(population,threat) just checks if enough threat_level for population indice. +**NOTE that we currently only send threat_level as the second arg, not threat. +ready(forced) checks if enough candidates and calls the map's map_ruleset(dynamic_ruleset) at the parent level

+

trim_candidates() varies significantly according to the ruleset type +Roundstart: All candidates are new_player mobs. Check them for standard stuff: connected, desire role, not banned, etc. +**NOTE Roundstart deals with both candidates (trimmed list of valid players) and mode.candidates (everyone readied up). Don't confuse them! +Latejoin: Only one candidate, the latejoiner. Standard checks. +Midround: Instead of building a single list candidates, candidates contains four lists: living, dead, observing, and living antags. Standard checks in trim_list(list).

+

Midround - Rulesets have additional types +/from_ghosts: execute() -> send_applications() -> review_applications() -> finish_setup(mob/newcharacter, index) -> setup_role(role) +**NOTE: execute() here adds dead players and observers to candidates list

+Configuration and variablesConfiguration +

Configuration can be done through a config/dynamic.json file. One is provided as example in the codebase. This config file, loaded in /datum/game_mode/dynamic/pre_setup(), directly overrides the values in the codebase, and so is perfect for making some rulesets harder/easier to get, turning them off completely, changing how much they cost, etc.

+

The format of this file is:

+
{
+	"Dynamic": {
+		/* Configuration in here will directly override `/datum/game_mode/dynamic` itself. */
+		/* Keys are variable names, values are their new values. */
+	},
+
+	"Roundstart": {
+		/* Configuration in here will apply to `/datum/dynamic_ruleset/roundstart` instances. */
+		/* Keys are the ruleset names, values are another associative list with keys being variable names and values being new values. */
+		"Wizard": {
+			/* I, a head admin, have died to wizard, and so I made it cost a lot more threat than it does in the codebase. */
+			"cost": 80
+		}
+	},
+
+	"Midround": {
+		/* Same as "Roundstart", but for `/datum/dynamic_ruleset/midround` instead. */
+	},
+
+	"Latejoin": {
+		/* Same as "Roundstart", but for `/datum/dynamic_ruleset/latejoin` instead. */
+	}
+}
+
+

Note: Comments are not possible in this format, and are just in this document for the sake of readability.

+Rulesets +

Rulesets have the following variables notable to developers and those interested in tuning.

+
    +
  • required_candidates - The number of people that must be willing (in their preferences) to be an antagonist with this ruleset. If the candidates do not meet this requirement, then the ruleset will not bother to be drafted.
  • +
  • antag_cap - Judges the amount of antagonists to apply, for both solo and teams. Note that some antagonists (such as traitors, lings, heretics, etc) will add more based on how many times they've been scaled. Written as a linear equation--ceil(x/denominator) + offset, or as a fixed constant. If written as a linear equation, will be in the form of list("denominator" = denominator, "offset" = offset). +
      +
    • Examples include: +
        +
      • Traitor: antag_cap = list("denominator" = 24). This means that for every 24 players, 1 traitor will be added (assuming no scaling).
      • +
      • Nuclear Emergency: antag_cap = list("denominator" = 18, "offset" = 1). For every 18 players, 1 nuke op will be added. Starts at 1, meaning at 30 players, 3 nuke ops will be created, rather than 2.
      • +
      • Revolution: antag_cap = 3. There will always be 3 rev-heads, no matter what.
      • +
      +
    • +
    +
  • +
  • minimum_required_age - The minimum age in order to apply for the ruleset.
  • +
  • weight - How likely this ruleset is to be picked. A higher weight results in a higher chance of drafting.
  • +
  • cost - The initial cost of the ruleset. This cost is taken from either the roundstart or midround budget, depending on the ruleset.
  • +
  • scaling_cost - Cost for every additional application of this ruleset. +
      +
    • Suppose traitors has a cost of 8, and a scaling_cost of 5. This means that buying 1 application of the traitor ruleset costs 8 threat, but buying two costs 13 (8 + 5). Buying it a third time is 18 (8 + 5 + 5), etc.
    • +
    +
  • +
  • pop_per_requirement - The range of population each value in requirements represents. By default, this is 6. +
      +
    • If the value is five the range is 0-4, 5-9, 10-14, 15-19, 20-24, 25-29, 30-34, 35-39, 40-54, 45+.
    • +
    • If it is six the range is 0-5, 6-11, 12-17, 18-23, 24-29, 30-35, 36-41, 42-47, 48-53, 54+.
    • +
    • If it is seven the range is 0-6, 7-13, 14-20, 21-27, 28-34, 35-41, 42-48, 49-55, 56-62, 63+.
    • +
    +
  • +
  • requirements - A list that represents, per population range (see: pop_per_requirement), how much threat is required to consider this ruleset. This is independent of how much it'll actually cost. This uses threat level, not the budget--meaning if a round has 50 threat level, but only 10 points of round start threat, a ruleset with a requirement of 40 can still be picked if it can be bought. +
      +
    • Suppose wizard has a requirements of list(90,90,70,40,30,20,10,10,10,10). This means that, at 0-5 and 6-11 players, A station must have 90 threat in order for a wizard to be possible. At 12-17, 70 threat is required instead, etc.
    • +
    +
  • +
  • restricted_roles - A list of jobs that can't be drafted by this ruleset. For example, cyborgs cannot be changelings, and so are in the restricted_roles.
  • +
  • protected_roles - Serves the same purpose of restricted_roles, except it can be turned off through configuration (protect_roles_from_antagonist). For example, security officers shouldn't be made traitor, so they are in Traitor's protected_roles. +
      +
    • When considering putting a role in protected_roles or restricted_roles, the rule of thumb is if it is technically infeasible to support that job in that role. There's no technical reason a security officer can't be a traitor, and so they are simply in protected_roles. There are technical reasons a cyborg can't be a changeling, so they are in restricted_roles instead.
    • +
    +
  • +
+Dynamic +

The "Dynamic" key has the following configurable values:

+
    +
  • pop_per_requirement - The default value of pop_per_requirement for any ruleset that does not explicitly set it. Defaults to 6.
  • +
  • latejoin_delay_min, latejoin_delay_max - The time range, in deciseconds (take your seconds, and multiply by 10), for a latejoin to attempt rolling. Once this timer is finished, a new one will be created within the same range. +
      +
    • Suppose you have a latejoin_delay_min of 600 (60 seconds, 1 minute) and a latejoin_delay_max of 1800 (180 seconds, 3 minutes). Once the round starts, a random number in this range will be picked--let's suppose 1.5 minutes. After 1.5 minutes, Dynamic will decide if a latejoin threat should be created (a probability of /datum/game_mode/dynamic/proc/get_injection_chance()). Regardless of its decision, a new timer will be started within the range of 1 to 3 minutes, repeatedly.
    • +
    +
  • +
  • midround_delay_min, midround_delay_max - Same as latejoin_delay_min and latejoin_delay_max, except for midround threats instead of latejoin ones.
  • +
  • higher_injection_chance, higher_injection_chance_minimum_threat - Manipulates the injection chance (/datum/game_mode/dynamic/proc/get_injection_chance()). If the current midround budget is above higher_injection_chance_minimum_threat, then this chance will be increased by higher_injection_chance. +
      +
    • For example: suppose you have a higher_injection_chance_minimum_threat of 70, and a higher_injection_chance of 15. This means that, if when a midround threat is trying to roll, there is 75 midround budget left, then the injection chance will go up 15%.
    • +
    +
  • +
  • lower_injection_chance, lower_injection_chance_minimum_threat - The inverse of the higher_injection_chance variables. If the current midround budget is below lower_injection_chance, then the chance is lowered by lower_injection_chance_minimum_threat. +
      +
    • For example: suppose you have a lower_injection_chance_minimum_threat of 30, and a lower_injection_chance of 15. This means if there is 20 midround budget left, then the chance will lower by 15%.
    • +
    +
  • +
  • threat_curve_centre - A number between -5 and +5. A negative value will give a more peaceful round and a positive value will give a round with higher threat.
  • +
  • threat_curve_width - A number between 0.5 and 4. Higher value will favour extreme rounds and lower value rounds closer to the average.
  • +
  • roundstart_split_curve_centre - A number between -5 and +5. Equivalent to threat_curve_centre, but for the budget split. A negative value will weigh towards midround rulesets, and a positive value will weight towards roundstart ones.
  • +
  • roundstart_split_curve_width - A number between 0.5 and 4. Equivalent to threat_curve_width, but for the budget split. Higher value will favour more variance in splits and lower value rounds closer to the average.
  • +
  • random_event_hijack_minimum - The minimum amount of time for antag random events to be hijacked. (See Random Event Hijacking)
  • +
  • random_event_hijack_maximum - The maximum amount of time for antag random events to be hijacked. (See Random Event Hijacking)
  • +
  • hijacked_random_event_injection_chance - The amount of injection chance to give to Dynamic when a random event is hijacked. (See Random Event Hijacking)
  • +
  • max_threat_level - Sets the maximum amount of threat that can be rolled. Defaults to 100. You should only use this to lower the maximum threat, as raising it higher will not do anything.
  • +
+Random Event "Hijacking" +

Random events have the potential to be hijacked by Dynamic to keep the pace of midround injections, while also allowing greenshifts to contain some antagonists.

+

/datum/round_event_control/dynamic_should_hijack is a variable to random events to allow Dynamic to hijack them, and defaults to FALSE. This is set to TRUE for random events that spawn antagonists.

+

In /datum/game_mode/dynamic/on_pre_random_event (in dynamic_hijacking.dm), Dynamic hooks to random events. If the dynamic_should_hijack variable is TRUE, the following sequence of events occurs:

+

Flow chart to describe the chain of events for Dynamic 2021 to take

+

n is a random value between random_event_hijack_minimum and random_event_hijack_maximum. Injection chance, should it need to be raised, is increased by hijacked_random_event_injection_chance.

+ + + diff --git a/code/game/gamemodes/dynamic/dynamic_logging.html b/code/game/gamemodes/dynamic/dynamic_logging.html new file mode 100644 index 000000000000..c0578364174e --- /dev/null +++ b/code/game/gamemodes/dynamic/dynamic_logging.html @@ -0,0 +1,29 @@ + + + + + + + code/game/gamemodes/dynamic/dynamic_logging.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/gamemodes/dynamic/dynamic_logging.dm + +

+ + + +
/datum/dynamic_snapshotA "snapshot" of dynamic at an important point in time. +Exported to JSON in the dynamic.json log file.
/datum/dynamic_snapshot_rulesetA ruleset chosen during a snapshot
+ + + diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.html b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.html new file mode 100644 index 000000000000..115ac79428ce --- /dev/null +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.html @@ -0,0 +1,41 @@ + + + + + + + code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm + +

+ + + + + + + +
MALF_ION_PROBProbability the AI going malf will be accompanied by an ion storm announcement and some ion laws.
REPLACE_LAW_WITH_ION_PROBThe probability to replace an existing law with an ion law instead of adding a new ion law.
/datum/dynamic_ruleset/midround/blob_infectionInfects a random player, making them explode into a blob.
/datum/dynamic_ruleset/midround/from_ghosts/revenantRevenant ruleset
/datum/dynamic_ruleset/midround/from_ghosts/sentient_diseaseSentient Disease ruleset
/datum/dynamic_ruleset/midround/obsessedObsessed ruleset

Define Details

+

MALF_ION_PROB + + +

+

Probability the AI going malf will be accompanied by an ion storm announcement and some ion laws.

REPLACE_LAW_WITH_ION_PROB + + +

+

The probability to replace an existing law with an ion law instead of adding a new ion law.

+ + + diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.html b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.html new file mode 100644 index 000000000000..c137de3ba433 --- /dev/null +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.html @@ -0,0 +1,28 @@ + + + + + + + code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm + +

+ + +
/datum/dynamic_ruleset/roundstart/traitorProbability the AI going malf will be accompanied by an ion storm announcement and some ion laws. +The probability to replace an existing law with an ion law instead of adding a new ion law.
+ + + diff --git a/code/game/gamemodes/heretics.html b/code/game/gamemodes/heretics.html new file mode 100644 index 000000000000..ed7308118379 --- /dev/null +++ b/code/game/gamemodes/heretics.html @@ -0,0 +1,32 @@ + + + + + + + code/game/gamemodes/heretics.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/gamemodes/heretics.dm + +

+ + +
HERETIC_SCALING_COEFFWhat percentage of the crew can become heretics.

Define Details

+

HERETIC_SCALING_COEFF + + +

+

What percentage of the crew can become heretics.

+ + + diff --git a/code/game/gamemodes/mixed.html b/code/game/gamemodes/mixed.html new file mode 100644 index 000000000000..b2cd7dca4c2c --- /dev/null +++ b/code/game/gamemodes/mixed.html @@ -0,0 +1,32 @@ + + + + + + + code/game/gamemodes/mixed.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/gamemodes/mixed.dm + +

+ + +
MIXED_ANTAG_COEFFWhat percentage of the pop can become antags

Define Details

+

MIXED_ANTAG_COEFF + + +

+

What percentage of the pop can become antags

+ + + diff --git a/code/game/gamemodes/nuclear_emergency.html b/code/game/gamemodes/nuclear_emergency.html new file mode 100644 index 000000000000..669bfbb54e80 --- /dev/null +++ b/code/game/gamemodes/nuclear_emergency.html @@ -0,0 +1,32 @@ + + + + + + + code/game/gamemodes/nuclear_emergency.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/gamemodes/nuclear_emergency.dm + +

+ + +
NUKIE_SCALING_COEFFWhat percentage of the crew can become traitors.

Define Details

+

NUKIE_SCALING_COEFF + + +

+

What percentage of the crew can become traitors.

+ + + diff --git a/code/game/gamemodes/objectives/_objective.html b/code/game/gamemodes/objectives/_objective.html new file mode 100644 index 000000000000..4bd91e961af6 --- /dev/null +++ b/code/game/gamemodes/objectives/_objective.html @@ -0,0 +1,28 @@ + + + + + + + code/game/gamemodes/objectives/_objective.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/gamemodes/objectives/_objective.dm + +

+ + + +
/datum/objective/escapeEscape. Should not be given to anyone straight up. Exists for Escape with Identity.
/datum/objective/surviveTo be used as a template. Do not give directly.
+ + + diff --git a/code/game/gamemodes/objectives/protect_object.html b/code/game/gamemodes/objectives/protect_object.html new file mode 100644 index 000000000000..d0a95178dc74 --- /dev/null +++ b/code/game/gamemodes/objectives/protect_object.html @@ -0,0 +1,27 @@ + + + + + + + code/game/gamemodes/objectives/protect_object.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/gamemodes/objectives/protect_object.dm + +

+ + +
/datum/objective/protect_objectPrevent a thing from being qdeleted. For ashwalkers, primarily.
+ + + diff --git a/code/game/gamemodes/revolution.html b/code/game/gamemodes/revolution.html new file mode 100644 index 000000000000..606f8d1fa3cf --- /dev/null +++ b/code/game/gamemodes/revolution.html @@ -0,0 +1,32 @@ + + + + + + + code/game/gamemodes/revolution.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/gamemodes/revolution.dm + +

+ + +
REVOLUTION_MAX_HEADREVSThe absolute cap of headrevs.

Define Details

+

REVOLUTION_MAX_HEADREVS + + +

+

The absolute cap of headrevs.

+ + + diff --git a/code/game/gamemodes/traitor.html b/code/game/gamemodes/traitor.html new file mode 100644 index 000000000000..b069393dabb8 --- /dev/null +++ b/code/game/gamemodes/traitor.html @@ -0,0 +1,32 @@ + + + + + + + code/game/gamemodes/traitor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/gamemodes/traitor.dm + +

+ + +
TRAITOR_SCALING_COEFFWhat percentage of the crew can become traitors.

Define Details

+

TRAITOR_SCALING_COEFF + + +

+

What percentage of the crew can become traitors.

+ + + diff --git a/code/game/gamemodes/wizard.html b/code/game/gamemodes/wizard.html new file mode 100644 index 000000000000..3edaf2691a48 --- /dev/null +++ b/code/game/gamemodes/wizard.html @@ -0,0 +1,32 @@ + + + + + + + code/game/gamemodes/wizard.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/gamemodes/wizard.dm + +

+ + +
WIZARD_SCALING_COEFFWhat percentage of the crew can become traitors.

Define Details

+

WIZARD_SCALING_COEFF + + +

+

What percentage of the crew can become traitors.

+ + + diff --git a/code/game/machinery/PDApainter.html b/code/game/machinery/PDApainter.html new file mode 100644 index 000000000000..a71755ef7768 --- /dev/null +++ b/code/game/machinery/PDApainter.html @@ -0,0 +1,31 @@ + + + + + + + code/game/machinery/PDApainter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/PDApainter.dm + +

+ + + + + + +
/obj/machinery/pdapainterBasic machine used to paint PDAs and re-trim ID cards.
/obj/machinery/pdapainter/securitySecurity departmental variant. Limited to PDAs defined in the SSid_access.sub_department_managers_tgui data structure.
/obj/machinery/pdapainter/medbayMedical departmental variant. Limited to PDAs defined in the SSid_access.sub_department_managers_tgui data structure.
/obj/machinery/pdapainter/researchScience departmental variant. Limited to PDAs defined in the SSid_access.sub_department_managers_tgui data structure.
/obj/machinery/pdapainter/engineeringEngineering departmental variant. Limited to PDAs defined in the SSid_access.sub_department_managers_tgui data structure.
+ + + diff --git a/code/game/machinery/_machinery.html b/code/game/machinery/_machinery.html new file mode 100644 index 000000000000..3b22fe720d86 --- /dev/null +++ b/code/game/machinery/_machinery.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/_machinery.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/_machinery.dm + +

+ + +
/obj/machineryMachines in the world, such as computers, pipes, and airlocks.
+ + + diff --git a/code/game/machinery/announcement_system.html b/code/game/machinery/announcement_system.html new file mode 100644 index 000000000000..d5305ce63eca --- /dev/null +++ b/code/game/machinery/announcement_system.html @@ -0,0 +1,34 @@ + + + + + + + code/game/machinery/announcement_system.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/announcement_system.dm + +

+ + + + + + + + + +
/proc/aas_pda_messageGet an announcement system and call pda_message()
/proc/aas_mass_pda_messageGet an announcement system and call mass_pda_message()
/proc/aas_pda_message_nameSend an ASS pda message to a given name
/proc/aas_pda_message_departmentSend an ASS pda message to an entire department
+ + + diff --git a/code/game/machinery/computer/arcade/orion_event.html b/code/game/machinery/computer/arcade/orion_event.html new file mode 100644 index 000000000000..ae807e7501bc --- /dev/null +++ b/code/game/machinery/computer/arcade/orion_event.html @@ -0,0 +1,34 @@ + + + + + + + code/game/machinery/computer/arcade/orion_event.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/computer/arcade/orion_event.dm + +

+ + + + + + + + + +
/datum/orion_event/engine_partEngine Breakdown - spend one engine part or wait 3 days (harmless emag effect)
/datum/orion_event/electronic_partMalfunction - spend one engine part or wait 3 days (emag effect randomizes some stats)
/datum/orion_event/hull_partCollision - spend one engine part or wait 3 days (has a nasty emag effect)
/datum/orion_event/black_holeBlack Hole - final (emag can spawn singulo, see death event)
/datum/orion_event/black_hole_deathYou died to a black hole, have some fluff text
/datum/orion_event/space_portYou found a space port!
/datum/orion_event/space_port/tau_cetiYou found the midway mark!
/datum/orion_event/space_port_raidYou raided a space port!
+ + + diff --git a/code/game/machinery/computer/arena.html b/code/game/machinery/computer/arena.html new file mode 100644 index 000000000000..6d6ae7692100 --- /dev/null +++ b/code/game/machinery/computer/arena.html @@ -0,0 +1,29 @@ + + + + + + + code/game/machinery/computer/arena.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/computer/arena.dm + +

+ + + + +
/obj/effect/landmark/arenaArena related landmarks
/obj/machinery/computer/arenaController for admin event arenas
/obj/machinery/arena_spawnArena spawnpoint
+ + + diff --git a/code/game/machinery/computer/atmos_computers/_air_sensor.html b/code/game/machinery/computer/atmos_computers/_air_sensor.html new file mode 100644 index 000000000000..f358e65a8ee7 --- /dev/null +++ b/code/game/machinery/computer/atmos_computers/_air_sensor.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/computer/atmos_computers/_air_sensor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/computer/atmos_computers/_air_sensor.dm + +

+ + +
/obj/machinery/air_sensorGas tank air sensor. +These always hook to monitors, be mindful of them
+ + + diff --git a/code/game/machinery/computer/atmos_computers/_atmos_control.html b/code/game/machinery/computer/atmos_computers/_atmos_control.html new file mode 100644 index 000000000000..bdf7e668fb54 --- /dev/null +++ b/code/game/machinery/computer/atmos_computers/_atmos_control.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/computer/atmos_computers/_atmos_control.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/computer/atmos_computers/_atmos_control.dm + +

+ + +
/obj/machinery/computer/atmos_control/fixedVegetable
+ + + diff --git a/code/game/machinery/computer/chef_orders/order_datum.html b/code/game/machinery/computer/chef_orders/order_datum.html new file mode 100644 index 000000000000..05dcf1a1841a --- /dev/null +++ b/code/game/machinery/computer/chef_orders/order_datum.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/computer/chef_orders/order_datum.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/computer/chef_orders/order_datum.dm + +

+ + +
/datum/orderable_itemA datum for chef ordering options from the chef's computer.
+ + + diff --git a/code/game/machinery/computer/communications.html b/code/game/machinery/computer/communications.html new file mode 100644 index 000000000000..033c939fd2bb --- /dev/null +++ b/code/game/machinery/computer/communications.html @@ -0,0 +1,47 @@ + + + + + + + code/game/machinery/computer/communications.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/machinery/computer/communications.dm + +

+ + + + + +
HACK_SLEEPERDefines for the various hack results.
MIN_GHOSTS_FOR_FUGITIVESThe minimum number of ghosts / observers to have the chance of spawning fugitives.
MAX_PERCENT_GHOSTS_FOR_SLEEPERThe maximum percentage of the population to be ghosts before we no longer have the chance of spawning Sleeper Agents.
HACK_THREAT_INJECTION_AMOUNTThe amount of threat injected by a hack, if chosen.

Define Details

+

HACK_SLEEPER + + +

+

Defines for the various hack results.

HACK_THREAT_INJECTION_AMOUNT + + +

+

The amount of threat injected by a hack, if chosen.

MAX_PERCENT_GHOSTS_FOR_SLEEPER + + +

+

The maximum percentage of the population to be ghosts before we no longer have the chance of spawning Sleeper Agents.

MIN_GHOSTS_FOR_FUGITIVES + + +

+

The minimum number of ghosts / observers to have the chance of spawning fugitives.

+ + + diff --git a/code/game/machinery/computer/crew.html b/code/game/machinery/computer/crew.html new file mode 100644 index 000000000000..2e4a0e13b8b2 --- /dev/null +++ b/code/game/machinery/computer/crew.html @@ -0,0 +1,37 @@ + + + + + + + code/game/machinery/computer/crew.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/machinery/computer/crew.dm + +

+ + + +
SENSORS_UPDATE_PERIODHow often the sensor data is updated
UNKNOWN_JOB_IDThe job sorting ID associated with otherwise unknown jobs

Define Details

+

SENSORS_UPDATE_PERIOD + + +

+

How often the sensor data is updated

UNKNOWN_JOB_ID + + +

+

The job sorting ID associated with otherwise unknown jobs

+ + + diff --git a/code/game/machinery/computer/dna_console.html b/code/game/machinery/computer/dna_console.html new file mode 100644 index 000000000000..ab7a1649e2a2 --- /dev/null +++ b/code/game/machinery/computer/dna_console.html @@ -0,0 +1,122 @@ + + + + + + + code/game/machinery/computer/dna_console.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/machinery/computer/dna_console.dm + +

+ + + + + + + + + + + + + + + + + + + + +
INJECTOR_TIMEOUTBase timeout for creating mutation activators and other injectors
NUMBER_OF_BUFFERSMaximum number of genetic makeup storage slots in DNA Console
SCRAMBLE_TIMEOUTTimeout for DNA Scramble in DNA Consoles
JOKER_TIMEOUTTimeout for using the Joker feature to solve a gene in DNA Console
JOKER_UPGRADEHow much time DNA Scanner upgrade tiers remove from JOKER_TIMEOUT
GENETIC_DAMAGE_STRENGTH_MAXMaximum value for genetic damage strength when pulsing enzymes
GENETIC_DAMAGE_STRENGTH_MULTIPLIERLarger multipliers will affect the range of values when pulsing enzymes
GENETIC_DAMAGE_DURATION_MAXMaximum value for the genetic damage pulse duration when pulsing enzymes
GENETIC_DAMAGE_ACCURACY_MULTIPLIERLarge values reduce pulse accuracy and may pulse other enzymes than selected
STATUS_TRANSFORMINGSpecial status indicating a scanner occupant is transforming eg. from monkey to human
GENETIC_DAMAGE_IRGENETIC_DAMAGE_MULTIPLIERMultiplier for how much genetic damage received from DNA Console functionality
SEARCH_OCCUPANTFlag for the mutation ref search system. Search will include scanner occupant
SEARCH_STOREDFlag for the mutation ref search system. Search will include console storage
SEARCH_inserted_diskFlag for the mutation ref search system. Search will include inserted_disk storage
SEARCH_ADV_INJFlag for the mutation ref search system. Search will include advanced injector mutations
ENZYME_COPY_BASE_COOLDOWNThe base cooldown of the ability to copy enzymes and genetic makeup to people.
CLEAR_GENEInput from tgui interface. X the gene out.
NEXT_GENEInput from tgui interface. Progress to the next gene.
PREV_GENEInput from tgui interface. Progress to previous gene.

Define Details

+

CLEAR_GENE + + +

+

Input from tgui interface. X the gene out.

ENZYME_COPY_BASE_COOLDOWN + + +

+

The base cooldown of the ability to copy enzymes and genetic makeup to people.

GENETIC_DAMAGE_ACCURACY_MULTIPLIER + + +

+

Large values reduce pulse accuracy and may pulse other enzymes than selected

GENETIC_DAMAGE_DURATION_MAX + + +

+

Maximum value for the genetic damage pulse duration when pulsing enzymes

GENETIC_DAMAGE_IRGENETIC_DAMAGE_MULTIPLIER + + +

+

Multiplier for how much genetic damage received from DNA Console functionality

GENETIC_DAMAGE_STRENGTH_MAX + + +

+

Maximum value for genetic damage strength when pulsing enzymes

GENETIC_DAMAGE_STRENGTH_MULTIPLIER + + +

+

Larger multipliers will affect the range of values when pulsing enzymes

INJECTOR_TIMEOUT + + +

+

Base timeout for creating mutation activators and other injectors

JOKER_TIMEOUT + + +

+

Timeout for using the Joker feature to solve a gene in DNA Console

JOKER_UPGRADE + + +

+

How much time DNA Scanner upgrade tiers remove from JOKER_TIMEOUT

NEXT_GENE + + +

+

Input from tgui interface. Progress to the next gene.

NUMBER_OF_BUFFERS + + +

+

Maximum number of genetic makeup storage slots in DNA Console

PREV_GENE + + +

+

Input from tgui interface. Progress to previous gene.

SCRAMBLE_TIMEOUT + + +

+

Timeout for DNA Scramble in DNA Consoles

SEARCH_ADV_INJ + + +

+

Flag for the mutation ref search system. Search will include advanced injector mutations

SEARCH_OCCUPANT + + +

+

Flag for the mutation ref search system. Search will include scanner occupant

SEARCH_STORED + + +

+

Flag for the mutation ref search system. Search will include console storage

SEARCH_inserted_disk + + +

+

Flag for the mutation ref search system. Search will include inserted_disk storage

STATUS_TRANSFORMING + + +

+

Special status indicating a scanner occupant is transforming eg. from monkey to human

+ + + diff --git a/code/game/machinery/datanet.html b/code/game/machinery/datanet.html new file mode 100644 index 000000000000..7293e4a78930 --- /dev/null +++ b/code/game/machinery/datanet.html @@ -0,0 +1,39 @@ + + + + + + + code/game/machinery/datanet/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Data Networks, or: Why the OSI Model is for Pussies + +

+ + +
Important VariablesData +

These are the basic entries in a signal's data list, which are required for standard network transport.

+

s_addr - Source Address, the ID of the machine that transmitted the packet. +d_addr - Destination Address, who are we sending this to, PING has special behaviour. +command - Command, a general purpose field that is usually the 'type' of data being transmitted.

+

Example:

+
{
+	"s_addr":00000001, // We are being sent by device 1 
+	"d_addr":00000002, // intended for device 2
+	"command":"do_thing", // and we want them to "do_thing"
+	"other_fields":"Are implimentation specific."
+}
+
+ + + diff --git a/code/game/machinery/datanet/p2p_phones/_p2p_phones.html b/code/game/machinery/datanet/p2p_phones/_p2p_phones.html new file mode 100644 index 000000000000..9c3722f493e6 --- /dev/null +++ b/code/game/machinery/datanet/p2p_phones/_p2p_phones.html @@ -0,0 +1,72 @@ + + + + + + + code/game/machinery/datanet/p2p_phones/_p2p_phones.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/machinery/datanet/p2p_phones/_p2p_phones.dm + +

+ + + + + + + + + + +
STATE_WAITINGIdle
STATE_ORIGINATECalling remote station
STATE_ANSWERBeing called by remote station
STATE_CONNECTEDCall active
STATE_HANGUPFar side hung up
STATE_FARBUSYFar side busy, Temporary state
HANDSET_ONHOOKHandset is on the phone.
HANDSET_OFFHOOKHandset is off the phone, but still around
HANDSET_MISSINGHandset missing or in invalid state

Define Details

+

HANDSET_MISSING + + +

+

Handset missing or in invalid state

HANDSET_OFFHOOK + + +

+

Handset is off the phone, but still around

HANDSET_ONHOOK + + +

+

Handset is on the phone.

STATE_ANSWER + + +

+

Being called by remote station

STATE_CONNECTED + + +

+

Call active

STATE_FARBUSY + + +

+

Far side busy, Temporary state

STATE_HANGUP + + +

+

Far side hung up

STATE_ORIGINATE + + +

+

Calling remote station

STATE_WAITING + + +

+

Idle

+ + + diff --git a/code/game/machinery/deployable.html b/code/game/machinery/deployable.html new file mode 100644 index 000000000000..f3e982a6e00b --- /dev/null +++ b/code/game/machinery/deployable.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/deployable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/deployable.dm + +

+ + +
/obj/structure/barricade/woodenBARRICADE TYPES
+ + + diff --git a/code/game/machinery/doors/airlock.html b/code/game/machinery/doors/airlock.html new file mode 100644 index 000000000000..d280b5321f02 --- /dev/null +++ b/code/game/machinery/doors/airlock.html @@ -0,0 +1,59 @@ + + + + + + + code/game/machinery/doors/airlock.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/machinery/doors/airlock.dm + +

+ + + + + + + + +
/proc/get_airlock_overlayOverlay cache. Why isn't this just in /obj/machinery/door/airlock? Because its used just a +tiny bit in door_assembly.dm Refactored so you don't have to make a null copy of airlock +to get to the damn thing +Someone, for the love of god, profile this. Is there a reason to cache mutable_appearance +if so, why are we JUST doing the airlocks when we can put this in mutable_appearance.dm for +everything
AIRLOCK_SEAL_MULTIPLIERHow much extra health airlocks get when braced with a seal
AIRLOCK_DAMAGE_DEFLECTION_RReinforced airlocks ignore damage below this value
AIRLOCK_DENY_ANIMATION_TIMEThe amount of time for the airlock deny animation to show
DOOR_CLOSE_WAITTime before a door closes, if not overridden
DOOR_VISION_DISTANCEThe maximum distance a door will see out to

Define Details

+

AIRLOCK_DAMAGE_DEFLECTION_R + + +

+

Reinforced airlocks ignore damage below this value

AIRLOCK_DENY_ANIMATION_TIME + + +

+

The amount of time for the airlock deny animation to show

AIRLOCK_SEAL_MULTIPLIER + + +

+

How much extra health airlocks get when braced with a seal

DOOR_CLOSE_WAIT + + +

+

Time before a door closes, if not overridden

DOOR_VISION_DISTANCE + + +

+

The maximum distance a door will see out to

+ + + diff --git a/code/game/machinery/doors/airlock_types.html b/code/game/machinery/doors/airlock_types.html new file mode 100644 index 000000000000..d8c54109ff88 --- /dev/null +++ b/code/game/machinery/doors/airlock_types.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/doors/airlock_types.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/doors/airlock_types.dm + +

+ + + +
/obj/machinery/door/airlock/external/ruinAccess free external airlock
/obj/machinery/door/airlock/external/glass/ruinAccess free external glass airlock
+ + + diff --git a/code/game/machinery/doors/door.html b/code/game/machinery/doors/door.html new file mode 100644 index 000000000000..0236e1ea1a7f --- /dev/null +++ b/code/game/machinery/doors/door.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/doors/door.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/machinery/doors/door.dm + +

+ + +
DOOR_CLOSE_WAITDefault wait until doors autoclose

Define Details

+

DOOR_CLOSE_WAIT + + +

+

Default wait until doors autoclose

+ + + diff --git a/code/game/machinery/doors/firedoor.html b/code/game/machinery/doors/firedoor.html new file mode 100644 index 000000000000..be1a9b45ad88 --- /dev/null +++ b/code/game/machinery/doors/firedoor.html @@ -0,0 +1,37 @@ + + + + + + + code/game/machinery/doors/firedoor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/machinery/doors/firedoor.dm + +

+ + + +
DEFAULT_STEP_TIMEdefault time for each step
DETECT_COOLDOWN_STEP_TIMEWait time before we can detect an issue again, after a recent clear.

Define Details

+

DEFAULT_STEP_TIME + + +

+

default time for each step

DETECT_COOLDOWN_STEP_TIME + + +

+

Wait time before we can detect an issue again, after a recent clear.

+ + + diff --git a/code/game/machinery/fax_machine.html b/code/game/machinery/fax_machine.html new file mode 100644 index 000000000000..9f1c1c2a7e9a --- /dev/null +++ b/code/game/machinery/fax_machine.html @@ -0,0 +1,50 @@ + + + + + + + code/game/machinery/fax_machine.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/machinery/fax_machine.dm + +

+ + + + + + + + +
FAX_COOLDOWN_TIMECooldown for fax time between faxes.
FAX_UNREAD_ALERT_TIMEThe time between alerts that the machine contains an unread message.
MAX_DISPLAYED_PAPER_CHARSThe max amount of chars displayed in a fax message in the UI
VV_SEND_FAXVV dropdowns for the fax machine
/datum/design/board/fax_machineFax machine design, for techwebs.
/obj/item/circuitboard/machine/fax_machineFax machine circuit.
/obj/machinery/fax_machineFax machine. Sends messages, receives messages, sends paperwork, receives paperwork.

Define Details

+

FAX_COOLDOWN_TIME + + +

+

Cooldown for fax time between faxes.

FAX_UNREAD_ALERT_TIME + + +

+

The time between alerts that the machine contains an unread message.

MAX_DISPLAYED_PAPER_CHARS + + +

+

The max amount of chars displayed in a fax message in the UI

VV_SEND_FAX + + +

+

VV dropdowns for the fax machine

+ + + diff --git a/code/game/machinery/iv_drip.html b/code/game/machinery/iv_drip.html new file mode 100644 index 000000000000..08de2bf58edc --- /dev/null +++ b/code/game/machinery/iv_drip.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/iv_drip.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/iv_drip.dm + +

+ + +
/obj/machinery/iv_dripUniversal IV that can drain blood or feed reagents over a period of time from or to a replaceable container
+ + + diff --git a/code/game/machinery/limbgrower.html b/code/game/machinery/limbgrower.html new file mode 100644 index 000000000000..369818d9a3b8 --- /dev/null +++ b/code/game/machinery/limbgrower.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/limbgrower.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/limbgrower.dm + +

+ + +
/obj/machinery/limbgrowerThe limbgrower. Makes organd and limbs with synthflesh and chems. +See [limbgrower_designs.dm] for everything we can make.
+ + + diff --git a/code/game/machinery/newscaster/newscaster_data.html b/code/game/machinery/newscaster/newscaster_data.html new file mode 100644 index 000000000000..eb5fd5c8572e --- /dev/null +++ b/code/game/machinery/newscaster/newscaster_data.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/newscaster/newscaster_data.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/newscaster/newscaster_data.dm + +

+ + +
/datum/station_requestA combined all in one datum that stores everything about the request, the requester's account, as well as the requestee's account +All of this is passed to the Request Console UI in order to present in organized way.
+ + + diff --git a/code/game/machinery/porta_turret/portable_turret_cover.html b/code/game/machinery/porta_turret/portable_turret_cover.html new file mode 100644 index 000000000000..833cd3d9072a --- /dev/null +++ b/code/game/machinery/porta_turret/portable_turret_cover.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/porta_turret/portable_turret_cover.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/porta_turret/portable_turret_cover.dm + +

+ + +
/obj/machinery/porta_turret_coverPORTABLE TURRET COVER
+ + + diff --git a/code/game/machinery/roulette_machine.html b/code/game/machinery/roulette_machine.html new file mode 100644 index 000000000000..435161c549bf --- /dev/null +++ b/code/game/machinery/roulette_machine.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/roulette_machine.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/roulette_machine.dm + +

+ + +
/obj/machinery/rouletteMachine that lets you play roulette. Odds are pre-defined to be the same as European Roulette without the "En Prison" rule
+ + + diff --git a/code/game/machinery/shieldgen.html b/code/game/machinery/shieldgen.html new file mode 100644 index 000000000000..cf530ed6258a --- /dev/null +++ b/code/game/machinery/shieldgen.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/shieldgen.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/shieldgen.dm + +

+ + +
/obj/machinery/shieldwallContainment Field START
+ + + diff --git a/code/game/machinery/slotmachine.html b/code/game/machinery/slotmachine.html new file mode 100644 index 000000000000..8330c20af3c0 --- /dev/null +++ b/code/game/machinery/slotmachine.html @@ -0,0 +1,40 @@ + + + + + + + code/game/machinery/slotmachine.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/machinery/slotmachine.dm + +

+ + +
SPIN_PRICE*
+| Slot Machines | +| Original code by Glloyd | +| Tgstation port by Miauw | +*

Define Details

+

SPIN_PRICE + + +

+

*
+| Slot Machines | +| Original code by Glloyd | +| Tgstation port by Miauw | +*

+ + + diff --git a/code/game/machinery/spaceheater.html b/code/game/machinery/spaceheater.html new file mode 100644 index 000000000000..a7f7c7dc80c6 --- /dev/null +++ b/code/game/machinery/spaceheater.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/spaceheater.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/spaceheater.dm + +

+ + +
/obj/machinery/space_heater/improvised_chem_heaterFor use with heating reagents in a ghetto way
+ + + diff --git a/code/game/machinery/status_display.html b/code/game/machinery/status_display.html new file mode 100644 index 000000000000..67092e4993ee --- /dev/null +++ b/code/game/machinery/status_display.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/status_display.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/status_display.dm + +

+ + + + + + + +
/obj/machinery/status_displayStatus display which can show images and scrolling text.
/obj/effect/overlay/status_display_textNice overlay to make text smoothly scroll with no client updates after setup.
/obj/machinery/status_display/evacEvac display which shows shuttle timer or message set by Command.
/obj/machinery/status_display/supplySupply display which shows the status of the supply shuttle.
/obj/machinery/status_display/shuttleGeneral-purpose shuttle status display.
/obj/machinery/status_display/aiPictograph display which the AI can use to emote.
+ + + diff --git a/code/game/machinery/syndicatebomb.html b/code/game/machinery/syndicatebomb.html new file mode 100644 index 000000000000..70f0143ef639 --- /dev/null +++ b/code/game/machinery/syndicatebomb.html @@ -0,0 +1,30 @@ + + + + + + + code/game/machinery/syndicatebomb.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/syndicatebomb.dm + +

+ + + + + +
/obj/machinery/syndicatebomb/trainingBomb Subtypes
/obj/item/bombcoreBomb Cores
/obj/item/bombcore/trainingBomb Core Subtypes
/obj/item/syndicatedetonatorSyndicate Detonator (aka the big red button)
+ + + diff --git a/code/game/machinery/teambuilder.html b/code/game/machinery/teambuilder.html new file mode 100644 index 000000000000..8e5ecf5c20f1 --- /dev/null +++ b/code/game/machinery/teambuilder.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/teambuilder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/machinery/teambuilder.dm + +

+ + +
/obj/machinery/teambuilderSimple admin tool that enables players to be assigned to a VERY SHITTY, very visually distinct team, quickly and affordably.
+ + + diff --git a/code/game/objects/effects/anomalies.html b/code/game/objects/effects/anomalies.html new file mode 100644 index 000000000000..33334720fc00 --- /dev/null +++ b/code/game/objects/effects/anomalies.html @@ -0,0 +1,32 @@ + + + + + + + code/game/objects/effects/anomalies.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/effects/anomalies.dm + +

+ + +
ANOMALY_MOVECHANCEChance of taking a step per second

Define Details

+

ANOMALY_MOVECHANCE + + +

+

Chance of taking a step per second

+ + + diff --git a/code/game/objects/effects/cursor_catcher.html b/code/game/objects/effects/cursor_catcher.html new file mode 100644 index 000000000000..6b56ca02d5f0 --- /dev/null +++ b/code/game/objects/effects/cursor_catcher.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/cursor_catcher.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/cursor_catcher.dm + +

+ + +
/atom/movable/screen/fullscreen/cursor_catcherAn effect which tracks the cursor's location on the screen
+ + + diff --git a/code/game/objects/effects/decals/turfdecal/markings.html b/code/game/objects/effects/decals/turfdecal/markings.html new file mode 100644 index 000000000000..9b044b597faa --- /dev/null +++ b/code/game/objects/effects/decals/turfdecal/markings.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/effects/decals/turfdecal/markings.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/decals/turfdecal/markings.dm + +

+ + + +
/obj/effect/turf_decal/raven_ship_signNTSS RAVEN EMERGENCY SHUTTLE LOGO
/obj/effect/turf_decal/syndicateemblem/bottom/leftSYNDICATE EMBLEM
+ + + diff --git a/code/game/objects/effects/decals/turfdecal/tilecoloring.html b/code/game/objects/effects/decals/turfdecal/tilecoloring.html new file mode 100644 index 000000000000..e0cf22cae795 --- /dev/null +++ b/code/game/objects/effects/decals/turfdecal/tilecoloring.html @@ -0,0 +1,45 @@ + + + + + + + code/game/objects/effects/decals/turfdecal/tilecoloring.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/decals/turfdecal/tilecoloring.dm + +

+ + + + + + + + + + + + + + + + + + + + +
/obj/effect/turf_decal/tile/blueBlue tiles
/obj/effect/turf_decal/tile/greenGreen tiles
/obj/effect/turf_decal/tile/yellowYellow tiles
/obj/effect/turf_decal/tile/redRed tiles
/obj/effect/turf_decal/tile/barBar tiles
/obj/effect/turf_decal/tile/purplePurple tiles
/obj/effect/turf_decal/tile/brownBrown tiles
/obj/effect/turf_decal/tile/neutralNeutral tiles
/obj/effect/turf_decal/tile/darkDark tiles
/obj/effect/turf_decal/tile/randomRandom tiles
/obj/effect/turf_decal/trimlineTrimlines
/obj/effect/turf_decal/trimline/whiteWhite trimlines
/obj/effect/turf_decal/trimline/redRed trimlines
/obj/effect/turf_decal/trimline/greenGreen trimlines
/obj/effect/turf_decal/trimline/blueBlue trimlines
/obj/effect/turf_decal/trimline/yellowYellow trimlines
/obj/effect/turf_decal/trimline/purplePurple trimlines
/obj/effect/turf_decal/trimline/brownBrown trimlines
/obj/effect/turf_decal/trimline/neutralNeutral trimlines
+ + + diff --git a/code/game/objects/effects/effect_system/effects_other.html b/code/game/objects/effects/effect_system/effects_other.html new file mode 100644 index 000000000000..799bc357468c --- /dev/null +++ b/code/game/objects/effects/effect_system/effects_other.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/effects/effect_system/effects_other.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/effect_system/effects_other.dm + +

+ + +
/datum/effect_system/trail_follow///// Attach a trail to any object, that spawns when it moves (like for the jetpack) +just pass in the object to attach it to in set_up +Then do start() to start it and stop() to stop it, obviously +and don't call start() in a loop that will be repeated otherwise it'll get spammed!
+ + + diff --git a/code/game/objects/effects/effect_system/effects_water.html b/code/game/objects/effects/effect_system/effects_water.html new file mode 100644 index 000000000000..bb63ea2ff26c --- /dev/null +++ b/code/game/objects/effects/effect_system/effects_water.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/effect_system/effects_water.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/effect_system/effects_water.dm + +

+ + +
/obj/effect/particle_effect/water/extinguisherExtinguisher snowflake
+ + + diff --git a/code/game/objects/effects/effect_system/fluid_spread/effects_foam.html b/code/game/objects/effects/effect_system/fluid_spread/effects_foam.html new file mode 100644 index 000000000000..9c1cb7ecc7fa --- /dev/null +++ b/code/game/objects/effects/effect_system/fluid_spread/effects_foam.html @@ -0,0 +1,59 @@ + + + + + + + code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm + +

+ + + + + + + + + + + + + + + + + + + + + +
MINIMUM_FOAM_DILUTION_RANGEThe minimum foam range required to start diluting the reagents past the minimum dilution rate.
MINIMUM_FOAM_DILUTIONThe minumum foam-area based divisor used to decrease foam exposure volume.
FOAM_REAGENT_SCALEThe effective scaling of the reagents in the foam. (Total delivered at or below MINIMUM_FOAM_DILUTION)
/obj/effect/particle_effect/fluid/foam
/datum/effect_system/fluid_spread/foamA factory for foam fluid floods.
/obj/effect/particle_effect/fluid/foam/short_lifeA foam variant which dissipates quickly.
/obj/effect/particle_effect/fluid/foam/long_lifeA foam variant which lasts for an extended amount of time.
/datum/effect_system/fluid_spread/foam/longA factory which produces foam with an extended lifespan.
/obj/effect/particle_effect/fluid/foam/firefightingA variant of foam which absorbs plasma in the air if there is a fire.
/datum/effect_system/fluid_spread/foam/firefightingA factory which produces firefighting foam
/obj/effect/particle_effect/fluid/foam/metalA foam variant which
/datum/effect_system/fluid_spread/foam/metalA factory which produces aluminium metal foam.
/obj/structure/foamedmetalFOAM STRUCTURE. Formed by metal foams. Dense and opaque, but easy to break
/obj/effect/particle_effect/fluid/foam/metal/ironA metal foam variant which produces slightly sturdier walls.
/datum/effect_system/fluid_spread/foam/metal/ironA factory which produces iron metal foam.
/obj/structure/foamedmetal/ironA variant of metal foam walls with higher durability.
/obj/effect/particle_effect/fluid/foam/metal/smartA variant of metal foam which only produces walls at area boundaries.
/datum/effect_system/fluid_spread/foam/metal/smartA factory which produces smart aluminium metal foam.
/obj/effect/particle_effect/fluid/foam/metal/resinA foam variant which produces atmos resin walls.
/obj/structure/foamedmetal/resinAtmos Backpack Resin, transparent, prevents atmos and filters the air

Define Details

+

FOAM_REAGENT_SCALE + + +

+

The effective scaling of the reagents in the foam. (Total delivered at or below MINIMUM_FOAM_DILUTION)

MINIMUM_FOAM_DILUTION + + +

+

The minumum foam-area based divisor used to decrease foam exposure volume.

MINIMUM_FOAM_DILUTION_RANGE + + +

+

The minimum foam range required to start diluting the reagents past the minimum dilution rate.

+ + + diff --git a/code/game/objects/effects/effect_system/fluid_spread/effects_smoke.html b/code/game/objects/effects/effect_system/fluid_spread/effects_smoke.html new file mode 100644 index 000000000000..05537b6e2272 --- /dev/null +++ b/code/game/objects/effects/effect_system/fluid_spread/effects_smoke.html @@ -0,0 +1,50 @@ + + + + + + + code/game/objects/effects/effect_system/fluid_spread/effects_smoke.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/effect_system/fluid_spread/effects_smoke.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
/obj/effect/particle_effect/fluid/smokeA fluid which spreads through the air affecting every mob it engulfs.
/datum/effect_system/fluid_spread/smokeA factory which produces clouds of smoke.
/datum/effect_system/fluid_spread/smoke/transparentSame as the base type, but the smoke produced is not opaque
/obj/effect/particle_effect/fluid/smoke/transparentSame as the base type, but is not opaque.
/proc/do_smokeA helper proc used to spawn small puffs of smoke.
/obj/effect/particle_effect/fluid/smoke/quickSmoke that dissipates as quickly as possible.
/datum/effect_system/fluid_spread/smoke/quickA factory which produces smoke that dissipates as quickly as possible.
/obj/effect/particle_effect/fluid/smoke/badSmoke that makes you cough and reduces the power of lasers.
/datum/effect_system/fluid_spread/smoke/badA factory which produces smoke that makes you cough.
/obj/effect/particle_effect/fluid/smoke/bad/greenGreen smoke that makes you cough.
/datum/effect_system/fluid_spread/smoke/bad/greenA factory which produces green smoke that makes you cough.
/obj/effect/particle_effect/fluid/smoke/bad/blackBlack smoke that makes you cough. (Actually dark grey)
/datum/effect_system/fluid_spread/smoke/bad/blackA factory which produces black smoke that makes you cough.
/obj/effect/particle_effect/fluid/smoke/freezingLight blue, transparent smoke which is usually paired with a blast that chills every turf in the area.
/datum/effect_system/fluid_spread/smoke/freezingA factory which produces light blue, transparent smoke and a blast that chills every turf in the area.
/datum/effect_system/fluid_spread/smoke/freezing/deconA variant of the base freezing smoke formerly used by the vent decontamination event.
/obj/effect/particle_effect/fluid/smoke/sleepingSmoke which knocks you out if you breathe it in.
/datum/effect_system/fluid_spread/smoke/sleepingA factory which produces sleeping smoke.
/obj/effect/particle_effect/fluid/smoke/chemSmoke which contains reagents which it applies to everything it comes into contact with.
/proc/do_chem_smokeHelper to quickly create a cloud of reagent smoke
/datum/effect_system/fluid_spread/smoke/chemA factory which produces clouds of chemical bearing smoke.
/obj/effect/particle_effect/fluid/smoke/chem/quickA version of chemical smoke with a very short lifespan.
+ + + diff --git a/code/game/objects/effects/effect_system/fluid_spread/fluid_spread.html b/code/game/objects/effects/effect_system/fluid_spread/fluid_spread.html new file mode 100644 index 000000000000..b34dd9bfa634 --- /dev/null +++ b/code/game/objects/effects/effect_system/fluid_spread/fluid_spread.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/effects/effect_system/fluid_spread/fluid_spread.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/effect_system/fluid_spread/fluid_spread.dm + +

+ + + + +
/datum/fluid_groupSMOKE SYSTEMS +A group of fluid objects.
/obj/effect/particle_effect/fluidA particle effect that belongs to a fluid group.
/datum/effect_system/fluid_spreadA factory which produces fluid groups.
+ + + diff --git a/code/game/objects/effects/effects.html b/code/game/objects/effects/effects.html new file mode 100644 index 000000000000..7fc47979dba0 --- /dev/null +++ b/code/game/objects/effects/effects.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/effects.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/effects.dm + +

+ + +
/obj/effect/abstractThe abstract effect ignores even more effects and is often typechecked for atoms that should truly not be fucked with.
+ + + diff --git a/code/game/objects/effects/forcefields.html b/code/game/objects/effects/forcefields.html new file mode 100644 index 000000000000..3e333c68a8f0 --- /dev/null +++ b/code/game/objects/effects/forcefields.html @@ -0,0 +1,31 @@ + + + + + + + code/game/objects/effects/forcefields.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/forcefields.dm + +

+ + + + + +
/obj/effect/forcefield/wizardThe wizard's forcefield, summoned by forcewall
/obj/effect/forcefield/cultCult forcefields
/obj/effect/forcefield/cult/permanentA form of the cult forcefield that lasts permanently. +Used on the Shuttle 667.
/obj/effect/forcefield/mimeMime forcefields (invisible walls)
+ + + diff --git a/code/game/objects/effects/info.html b/code/game/objects/effects/info.html new file mode 100644 index 000000000000..fa7c519cafdb --- /dev/null +++ b/code/game/objects/effects/info.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/info.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/info.dm + +

+ + +
/obj/effect/abstract/infoAn info button that, when clicked, puts some text in the user's chat
+ + + diff --git a/code/game/objects/effects/landmarks.html b/code/game/objects/effects/landmarks.html new file mode 100644 index 000000000000..3ca48a2cbc28 --- /dev/null +++ b/code/game/objects/effects/landmarks.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/effects/landmarks.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/landmarks.dm + +

+ + + +
/obj/effect/landmark/unit_test_bottom_leftMarks the bottom left of the testing zone. +In landmarks.dm and not unit_test.dm so it is always active in the mapping tools.
/obj/effect/landmark/unit_test_top_rightMarks the top right of the testing zone. +In landmarks.dm and not unit_test.dm so it is always active in the mapping tools.
+ + + diff --git a/code/game/objects/effects/mines.html b/code/game/objects/effects/mines.html new file mode 100644 index 000000000000..27c279f2924f --- /dev/null +++ b/code/game/objects/effects/mines.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/mines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/mines.dm + +

+ + +
/obj/effect/mine/shrapnelThese mines spawn pellet_clouds around them when triggered
+ + + diff --git a/code/game/objects/effects/overlays.html b/code/game/objects/effects/overlays.html new file mode 100644 index 000000000000..fd8aaf1fedfb --- /dev/null +++ b/code/game/objects/effects/overlays.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/overlays.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/overlays.dm + +

+ + +
/obj/effect/overlay/closet_doorDoor overlay for animating closets
+ + + diff --git a/code/game/objects/effects/particle_holder.html b/code/game/objects/effects/particle_holder.html new file mode 100644 index 000000000000..69ff25406f66 --- /dev/null +++ b/code/game/objects/effects/particle_holder.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/effects/particle_holder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/particle_holder.dm + +

+ + +
/obj/effect/abstract/particle_holderobjects can only have one particle on them at a time, so we use these abstract effects to hold and display the effects. You know, so multiple particle effects can exist at once. +also because some objects do not display particles due to how their visuals are built
+ + + diff --git a/code/game/objects/effects/spawners/random.html b/code/game/objects/effects/spawners/random.html new file mode 100644 index 000000000000..3d7e9198af99 --- /dev/null +++ b/code/game/objects/effects/spawners/random.html @@ -0,0 +1,340 @@ + + + + + + + code/game/objects/effects/spawners/random/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Random Spawners + +

+ + +
About +

Random spawners are an organized tool primarily for mapping to enhance replayability. The spawners can create objects, effects, and structures with different tweakable settings to get the desired outcome. You can make a spawner determine direction, rarity, number of items to spawn, pixel spacing between items, and even spread it over a large tile radius. This lets you control the atmosphere of a location. You could for instance spawn different piles of trash in maint or spawn decoration items for a room to give it more randomized flavor. The choice is yours!

+

(note the audience of this README is directed towards mappers who lack knowledge of coding)

+Variables +

The following variables are defined in code/game/objects/effects/spawners/random/random.dm that control how a spawner works.

+
    +
  • loot - a list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)
  • +
  • loot_type_path - this combines the subtypes AND type list with the loot list
  • +
  • loot_subtype_path - this combines ONLY the subtypes (excludes the loot_subtype_path) with the loot list
  • +
  • spawn_loot_count - how many items will be spawned
  • +
  • spawn_loot_double - if the same item can be spawned twice from the loot list
  • +
  • spawn_loot_split - whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself
  • +
  • spawn_all_loot - whether the spawner should spawn all the loot in the list (ignores spawn_loot_count)
  • +
  • spawn_loot_chance - the chance for the spawner to create loot (ignores spawn_loot_count)
  • +
  • spawn_scatter_radius - determines how big of a range (in tiles) we should scatter things in
  • +
+

These variables are set to the following default values for the base random.dm object that all objects inherit from:

+
	/// these three loot values are all empty
+	var/list/loot
+	var/loot_type_path
+	var/loot_subtype_path
+
+	var/spawn_loot_count = 1 // by default one item will be selected from the loot list
+	var/spawn_loot_double = TRUE // by default duplicate items CAN be spawned from the loot list
+	var/spawn_loot_split = FALSE // by default items will NOT spread out on the same tile
+	var/spawn_all_loot = FALSE // by default the spawner will only spawn the number of items set in spawn_loot_count
+	var/spawn_loot_chance = 100 // by default the spawner has a 100% chance to spawn the item(s)
+	var/spawn_scatter_radius = 0 // by default the spawner will spawn the items ONLY on the tile it is on
+
+

However there are some categories that overwrite these default values so pay attention to the folder or category you group your spawner in. For instance the obj/effect/spawner/random/techstorage category overwrites the spawn_all_loot and the spawn_loot_split variables.

+
// Tech storage circuit board spawners
+/obj/effect/spawner/random/techstorage
+	name = "generic circuit board spawner"
+	spawn_loot_split = TRUE
+	spawn_all_loot = TRUE
+
+

This means any spawner you create under the techstorage will also have those variables set to that by default. This can be overridden quite easily just be resetting the variables back to the normal state like so:

+
/obj/effect/spawner/random/techstorage/data_disk
+	name = "data disk spawner"
+	spawn_all_loot = FALSE // now our loot won't all be spawned
+	loot = list(
+		/obj/item/disk/data = 49,
+		/obj/item/disk/nuclear/fake/obvious = 1,
+	)
+
+Template +

All the random spawners follow the same template format to keep things consistent and unison.

+
/obj/effect/spawner/random/INSERT_SPAWNER_GROUP/INSERT_SPAWNER_NAME
+	name = "INSERT_SPAWNER_NAME spawner"
+	loot = list(
+		/obj/item/PATH/INSERT_OBJ_1,
+		/obj/item/PATH/INSERT_OBJ_2,
+		/obj/item/PATH/INSERT_OBJ_3,
+	)
+
+

All the capitalized code is the parts where you are supposed to swap out with your objects like so:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture,
+		/obj/item/stack/medical/mesh,
+		/obj/item/stack/medical/gauze,
+	)
+
+

Find the path to different objects and add them to the list but try to be consistent with the types of the object and the spawner. For example a medical spawner shouldn't have a emag in the loot list. (use an antag spawner for that instead!)

+Probability +

Be aware that the loot list uses a weighted chance formula to determine probability. So if there are no numbers set in the loot list then each object defaults to 1 and has the same probability to be selected. For our above example for the minor_healing spawner each medical item has a 1/3 chance to be spawned. But if we rearranged the values to this:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture = 2,
+		/obj/item/stack/medical/mesh = 1,
+		/obj/item/stack/medical/gauze = 1,
+	)
+
+

Then now suture has a 50% chance of being spawned (2/4), mesh has a 25% chance of being spawned (1/4), and gauze also has a 25% chance of being spawned (1/4). If we add another item into the mix then we get the following:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture = 2,
+		/obj/item/stack/medical/mesh = 1,
+		/obj/item/stack/medical/gauze = 1,
+		/obj/item/reagent_containers/syringe = 1,
+	)
+
+

Suture is 40% (2/5), Mesh is 20% (1/5), Gauze is 20% (1/5), and Syringe is 20% (1/5). A weighted list has the advantage of not needing to update every item in the list when adding a new item. If the list was based on a straight percent values, then each new item would require to manually go and edit ALL the items in the list. For big lists that would become very tedious. This is why we use weighted lists to determine probability!

+Style +

Here are some simple guidelines that you should stick to when making a new spawner:

+If ALL the items have the same chance, we should not set a weighted value to the item +

Do not put /obj/item/ = 1 unless other items have different spawn chances

+

Good:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture = 2,
+		/obj/item/stack/medical/mesh = 1,
+		/obj/item/stack/medical/gauze = 1,
+		/obj/item/reagent_containers/syringe = 1,
+	)
+
+

Also Good:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture,
+		/obj/item/stack/medical/mesh,
+		/obj/item/stack/medical/gauze,
+		/obj/item/reagent_containers/syringe,
+	)
+
+

Bad:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture = 1,
+		/obj/item/stack/medical/mesh = 1,
+		/obj/item/stack/medical/gauze = 1,
+		/obj/item/reagent_containers/syringe = 1,
+	)
+
+Sort the list from highest probability to lowest +

Sort from top to bottom. The rarest items for your spawner should be at the bottom of the list.

+

Good:

+
/obj/effect/spawner/random/contraband/armory
+	name = "armory loot spawner"
+	loot = list(
+		/obj/item/gun/ballistic/automatic/pistol = 8,
+		/obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+		/obj/item/storage/box/syndie_kit/throwing_weapons = 3,
+		/obj/item/grenade/clusterbuster/teargas = 2,
+		/obj/item/grenade/clusterbuster = 2,
+		/obj/item/gun/ballistic/automatic/pistol/deagle = 1,
+		/obj/item/gun/ballistic/revolver/mateba = 1,
+	)
+
+

Bad:

+
/obj/effect/spawner/random/contraband/armory
+	name = "armory loot spawner"
+	loot = list(
+		/obj/item/storage/box/syndie_kit/throwing_weapons = 3,
+		/obj/item/gun/ballistic/automatic/pistol = 8,
+		/obj/item/gun/ballistic/revolver/mateba = 1,
+		/obj/item/grenade/clusterbuster/teargas = 2,
+		/obj/item/gun/ballistic/automatic/pistol/deagle = 1,
+		/obj/item/grenade/clusterbuster = 2,
+		/obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+	)
+
+Always put the loot list at the bottom of your spawner +

This is just to keep things organized.

+

Good:

+
/obj/effect/spawner/random/food_or_drink/donkpockets
+	name = "donk pocket box spawner"
+	spawn_loot_double = FALSE
+	loot = list(
+		/obj/item/storage/box/donkpockets/donkpocketspicy,
+		/obj/item/storage/box/donkpockets/donkpocketteriyaki,
+		/obj/item/storage/box/donkpockets/donkpocketpizza,
+		/obj/item/storage/box/donkpockets/donkpocketberry,
+		/obj/item/storage/box/donkpockets/donkpockethonk,
+	)
+
+

Bad:

+
/obj/effect/spawner/random/food_or_drink/donkpockets
+	name = "donk pocket box spawner"
+	loot = list(
+		/obj/item/storage/box/donkpockets/donkpocketspicy,
+		/obj/item/storage/box/donkpockets/donkpocketteriyaki,
+		/obj/item/storage/box/donkpockets/donkpocketpizza,
+		/obj/item/storage/box/donkpockets/donkpocketberry,
+		/obj/item/storage/box/donkpockets/donkpockethonk,
+	)
+	spawn_loot_double = FALSE
+
+Always put a comma at the last item in the loot list +

This will make it easier for people to add items to your spawner later without getting frustrating code errors.

+

Good:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture,
+		/obj/item/stack/medical/mesh,
+		/obj/item/stack/medical/gauze,
+	)
+
+

Bad:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture,
+		/obj/item/stack/medical/mesh,
+		/obj/item/stack/medical/gauze  // if someone adds an item to the list later it will cause an error
+	)
+
+Keep the same tab formatting for the loot list (unless there is only one item) +

Again, this is just good code organization. If there is only one item, then encase that item in loot = list(item)

+

Good:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture,
+		/obj/item/stack/medical/mesh,
+		/obj/item/stack/medical/gauze,
+	)
+
+

Also Good:

+
/obj/effect/spawner/random/structure/crate_abandoned
+	icon = 'icons/effects/landmarks_static.dmi'
+	icon_state = "loot_site"
+	spawn_loot_chance = 20
+	loot = list(/obj/structure/closet/crate/secure/loot)
+
+

Bad:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+	/obj/item/stack/medical/suture,
+	/obj/item/stack/medical/mesh,
+	/obj/item/stack/medical/gauze,
+	)
+
+

Also Bad:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(/obj/item/stack/medical/suture,
+		/obj/item/stack/medical/mesh,
+		/obj/item/stack/medical/gauze,)
+
+Try to keep the total combined weight of your loot list to sane values (Aim for 5, 10, 20, 50, or 100) +

This makes the math probability easier for people to calculate. (this is recommended, but not always possible)

+

Good:

+
/obj/effect/spawner/random/trash/cigbutt
+	name = "cigarette butt spawner"
+	loot = list(
+		/obj/item/cigbutt = 65,
+		/obj/item/cigbutt/roach = 20,
+		/obj/item/cigbutt/cigarbutt = 15,
+	)
+
+

Also Good:

+
/obj/effect/spawner/random/trash/botanical_waste
+	name = "botanical waste spawner"
+	loot = list(
+		/obj/item/grown/bananapeel = 6,
+		/obj/item/grown/corncob = 3,
+		/obj/item/food/grown/bungopit = 1,
+	)
+
+

Bad:

+
/obj/effect/spawner/random/entertainment/money_large
+	name = "large money spawner"
+	loot = list(
+		/obj/item/stack/spacecash/c1 = 521,
+		/obj/item/stack/spacecash/c10 = 378,
+		/obj/item/stack/spacecash/c20 = 212,
+		/obj/item/stack/spacecash/c50 = 205,
+		/obj/item/stack/spacecash/c100 = 71,
+		/obj/item/stack/spacecash/c200 = 60,
+		/obj/item/stack/spacecash/c500 = 57,
+		/obj/item/stack/spacecash/c1000 = 41,
+		/obj/item/stack/spacecash/c10000 = 12,
+	)
+
+Do not put empty items in the loot list +

Instead use the spawn_loot_chance var to control the chance for the spawner to spawn nothing.

+

Good:

+
/obj/effect/spawner/random/structure/crate_abandoned
+	name = "locked crate spawner"
+	spawn_loot_chance = 20
+	loot = list(/obj/structure/closet/crate/secure/loot)
+
+

Bad:

+
/obj/effect/spawner/lootdrop/crate_spawner
+	name = "lootcrate spawner"
+	loot = list(
+		"" = 80
+		/obj/structure/closet/crate/secure/loot = 20,
+	)
+
+Avoid making a spawner that is a duplicate +

We don't want copy-cat spawners that are almost identical. Instead merge spawners together if possible.

+

Good:

+
/obj/effect/spawner/random/contraband/armory
+	name = "armory loot spawner"
+	icon_state = "pistol"
+	loot = list(
+		/obj/item/gun/ballistic/automatic/pistol = 8,
+		/obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+		/obj/item/storage/box/syndie_kit/throwing_weapons = 3,
+		/obj/item/grenade/clusterbuster/teargas = 2,
+		/obj/item/grenade/clusterbuster = 2,
+		/obj/item/gun/ballistic/automatic/pistol/deagle,
+		/obj/item/gun/ballistic/revolver/mateba,
+	)
+
+

Bad:

+
/obj/effect/spawner/lootdrop/armory_contraband
+	loot = list(
+		/obj/item/gun/ballistic/automatic/pistol = 8,
+		/obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+		/obj/item/gun/ballistic/automatic/pistol/deagle,
+		/obj/item/gun/ballistic/revolver/mateba
+	)
+
+/obj/effect/spawner/lootdrop/armory_contraband/metastation
+	loot = list(
+		/obj/item/gun/ballistic/automatic/pistol = 8,
+		/obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+		/obj/item/storage/box/syndie_kit/throwing_weapons = 3,
+		/obj/item/gun/ballistic/automatic/pistol/deagle,
+		/obj/item/gun/ballistic/revolver/mateba
+	)
+
+
+ + + diff --git a/code/game/objects/effects/spawners/random/random.html b/code/game/objects/effects/spawners/random/random.html new file mode 100644 index 000000000000..3295c3b8aa6d --- /dev/null +++ b/code/game/objects/effects/spawners/random/random.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/spawners/random/random.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/spawners/random/random.dm + +

+ + +
/obj/effect/spawner/randomBase class for all random spawners.
+ + + diff --git a/code/game/objects/effects/temporary_visuals/temporary_visual.html b/code/game/objects/effects/temporary_visuals/temporary_visual.html new file mode 100644 index 000000000000..e0d9fd5f5854 --- /dev/null +++ b/code/game/objects/effects/temporary_visuals/temporary_visual.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/temporary_visuals/temporary_visual.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/effects/temporary_visuals/temporary_visual.dm + +

+ + +
/obj/effect/temp_visualtemporary visual effects
+ + + diff --git a/code/game/objects/items.html b/code/game/objects/items.html new file mode 100644 index 000000000000..49b8a1eec36f --- /dev/null +++ b/code/game/objects/items.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/items.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/items.dm + +

+ + + +
/obj/itemAnything you can pick up and hold.
MAX_MATS_PER_BITEHow many different types of mats will be counted in a bite?

Define Details

+

MAX_MATS_PER_BITE + + +

+

How many different types of mats will be counted in a bite?

+ + + diff --git a/code/game/objects/items/AI_modules.html b/code/game/objects/items/AI_modules.html new file mode 100644 index 000000000000..c9cd9a32f05b --- /dev/null +++ b/code/game/objects/items/AI_modules.html @@ -0,0 +1,57 @@ + + + + + + + code/game/objects/items/AI_modules.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/AI_modules.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/obj/item/ai_module/suppliedModules
/obj/item/ai_module/supplied/safeguardSafeguard
/obj/item/ai_module/zeroth/onehumanOneHuman
/obj/item/ai_module/supplied/protect_stationProtectStation
/obj/item/ai_module/supplied/quarantineQuarantine
/obj/item/ai_module/supplied/oxygenOxygenIsToxicToHumans
/obj/item/ai_module/supplied/freeformNew Freeform
/obj/item/ai_module/removeLaw Removal
/obj/item/ai_module/resetReset
/obj/item/ai_module/reset/purgePurge
/obj/item/ai_module/coreFull Core Boards
/obj/item/ai_module/core/full/asimovAsimov
/obj/item/ai_module/core/full/corpCorporate
/obj/item/ai_module/core/full/paladinP.A.L.A.D.I.N. 3.5e
/obj/item/ai_module/core/full/paladin_devotionP.A.L.A.D.I.N. 5e
/obj/item/ai_module/core/full/customCustom
/obj/item/ai_module/core/full/tyrantT.Y.R.A.N.T.
/obj/item/ai_module/core/full/robocopRobocop
/obj/item/ai_module/core/full/antimovAntimov
/obj/item/ai_module/core/freeformcoreFreeform Core
/obj/item/ai_module/syndicateHacked AI Module
/obj/item/ai_module/toy_aiIon Module
/obj/item/ai_module/core/full/droneMother Drone
/obj/item/ai_module/core/full/hippocraticRobodoctor
/obj/item/ai_module/core/full/reporterReporter
/obj/item/ai_module/core/full/thermurderdynamicThermodynamic
/obj/item/ai_module/core/full/liveandletliveLive And Let Live
/obj/item/ai_module/core/full/balanceGuardian of Balance
/obj/item/ai_module/core/full/hulkamaniaH.O.G.A.N.
/obj/item/ai_module/core/full/overlordOverlord
/obj/item/ai_module/core/full/ten_commandmentsTen Commandments
+ + + diff --git a/code/game/objects/items/RCD.html b/code/game/objects/items/RCD.html new file mode 100644 index 000000000000..5e9e37a90aa6 --- /dev/null +++ b/code/game/objects/items/RCD.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/RCD.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/RCD.dm + +

+ + + +
/proc/rcd_scanGlobal proc that generates RCD hologram in a range.
+ + + diff --git a/code/game/objects/items/RSF.html b/code/game/objects/items/RSF.html new file mode 100644 index 000000000000..7cfcd57cd677 --- /dev/null +++ b/code/game/objects/items/RSF.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/items/RSF.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/items/RSF.dm + +

+ + +
OBJECT_OR_LIST_ELEMENTExtracts the related object from an associated list of objects and values, or lists and objects.

Define Details

+

OBJECT_OR_LIST_ELEMENT + + + +

+

Extracts the related object from an associated list of objects and values, or lists and objects.

+ + + diff --git a/code/game/objects/items/broom.html b/code/game/objects/items/broom.html new file mode 100644 index 000000000000..fdcfe30ec06b --- /dev/null +++ b/code/game/objects/items/broom.html @@ -0,0 +1,32 @@ + + + + + + + code/game/objects/items/broom.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/items/broom.dm + +

+ + +
BROOM_PUSH_LIMITMax number of atoms a broom can sweep at once

Define Details

+

BROOM_PUSH_LIMIT + + +

+

Max number of atoms a broom can sweep at once

+ + + diff --git a/code/game/objects/items/cards_ids.html b/code/game/objects/items/cards_ids.html new file mode 100644 index 000000000000..603d0083f5ff --- /dev/null +++ b/code/game/objects/items/cards_ids.html @@ -0,0 +1,41 @@ + + + + + + + code/game/objects/items/cards_ids.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/items/cards_ids.dm + +

+ + + + + +
ID_ICON_BORDERSx1, y1, x2, y2 - Represents the bounding box for the ID card's non-transparent portion of its various icon_states. +Used to crop the ID card's transparency away when chaching the icon for better use in tgui chat.
INTERN_THRESHOLD_FALLBACK_HOURSFallback time if none of the config entries are set for USE_LOW_LIVING_HOUR_INTERN
/obj/item/card/id"Retro" ID card that renders itself as the icon state with no overlays.
/obj/item/card/id/advanced/chameleon/blackA special variant of the classic chameleon ID card which accepts all access.

Define Details

+

ID_ICON_BORDERS + + +

+

x1, y1, x2, y2 - Represents the bounding box for the ID card's non-transparent portion of its various icon_states. +Used to crop the ID card's transparency away when chaching the icon for better use in tgui chat.

INTERN_THRESHOLD_FALLBACK_HOURS + + +

+

Fallback time if none of the config entries are set for USE_LOW_LIVING_HOUR_INTERN

+ + + diff --git a/code/game/objects/items/devices/multitool.html b/code/game/objects/items/devices/multitool.html new file mode 100644 index 000000000000..b97c1cbf6b54 --- /dev/null +++ b/code/game/objects/items/devices/multitool.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/devices/multitool.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/devices/multitool.dm + +

+ + +
/obj/item/multitoolMultitool -- A multitool is used for hacking electronic devices.
+ + + diff --git a/code/game/objects/items/devices/polycircuit.html b/code/game/objects/items/devices/polycircuit.html new file mode 100644 index 000000000000..627612dd00b8 --- /dev/null +++ b/code/game/objects/items/devices/polycircuit.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/devices/polycircuit.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/devices/polycircuit.dm + +

+ + +
/obj/item/stack/circuit_stackArray of pAI candidates +The object containing the candidate data.
+ + + diff --git a/code/game/objects/items/devices/radio/radio.html b/code/game/objects/items/devices/radio/radio.html new file mode 100644 index 000000000000..db1120139202 --- /dev/null +++ b/code/game/objects/items/devices/radio/radio.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/devices/radio/radio.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/devices/radio/radio.dm + +

+ + +
/obj/item/radio/borgBorg Radios
+ + + diff --git a/code/game/objects/items/devices/scanners/gas_analyzer.html b/code/game/objects/items/devices/scanners/gas_analyzer.html new file mode 100644 index 000000000000..dd435330563d --- /dev/null +++ b/code/game/objects/items/devices/scanners/gas_analyzer.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/devices/scanners/gas_analyzer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/devices/scanners/gas_analyzer.dm + +

+ + + +
/proc/atmos_scanOutputs a message to the user describing the target's gasmixes.
+ + + diff --git a/code/game/objects/items/dice.html b/code/game/objects/items/dice.html new file mode 100644 index 000000000000..417431906e38 --- /dev/null +++ b/code/game/objects/items/dice.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/dice.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/dice.dm + +

+ + + +
/obj/item/storage/diceholding bag for dice
/obj/item/dicethis is a prototype for dice, for a real d6 use "/obj/item/dice/d6"
+ + + diff --git a/code/game/objects/items/dna_probe.html b/code/game/objects/items/dna_probe.html new file mode 100644 index 000000000000..ad98e1db5f6c --- /dev/null +++ b/code/game/objects/items/dna_probe.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/dna_probe.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/dna_probe.dm + +

+ + + +
/obj/item/dna_probeDNA Probe
/obj/item/dna_probe/carp_scannerUsed for scanning carps, and then turning yourself into one.
+ + + diff --git a/code/game/objects/items/food/_food.html b/code/game/objects/items/food/_food.html new file mode 100644 index 000000000000..bce2b19f9918 --- /dev/null +++ b/code/game/objects/items/food/_food.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/_food.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/food/_food.dm + +

+ + +
/obj/item/foodAbstract class to allow us to easily create all the generic "normal" food without too much copy pasta of adding more components
+ + + diff --git a/code/game/objects/items/food/donkpocket.html b/code/game/objects/items/food/donkpocket.html new file mode 100644 index 000000000000..6e36d06639d7 --- /dev/null +++ b/code/game/objects/items/food/donkpocket.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/donkpocket.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/food/donkpocket.dm + +

+ + +
/obj/item/food/donkpocketDONK POCKETS
+ + + diff --git a/code/game/objects/items/food/donuts.html b/code/game/objects/items/food/donuts.html new file mode 100644 index 000000000000..8e9f0ae6ca94 --- /dev/null +++ b/code/game/objects/items/food/donuts.html @@ -0,0 +1,34 @@ + + + + + + + code/game/objects/items/food/donuts.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/items/food/donuts.dm + +

+ + + + +
DONUT_SPRINKLE_CHANCEDONUTS
/obj/item/food/donut/jellyJELLY DONUTS
/obj/item/food/donut/jelly/slimejellySLIME DONUTS

Define Details

+

DONUT_SPRINKLE_CHANCE + + +

+

DONUTS

+ + + diff --git a/code/game/objects/items/food/egg.html b/code/game/objects/items/food/egg.html new file mode 100644 index 000000000000..d87986e538a0 --- /dev/null +++ b/code/game/objects/items/food/egg.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/egg.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/food/egg.dm + +

+ + +
/obj/item/food/chocolateeggEGGS
+ + + diff --git a/code/game/objects/items/food/meat.html b/code/game/objects/items/food/meat.html new file mode 100644 index 000000000000..9c7cc87abf37 --- /dev/null +++ b/code/game/objects/items/food/meat.html @@ -0,0 +1,35 @@ + + + + + + + code/game/objects/items/food/meat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/food/meat.dm + +

+ + + + + + + + + + +
/obj/item/food/cubancarpFISH
/obj/item/food/tofuMEATS AND ALIKE
/obj/item/food/patty/plainExists purely for the crafting recipe (because itll take subtypes)
/obj/item/food/monkeycube/syndicateinternal proc called by a monkeycube's suicide_act using a timer and callback. takes as argument the mob/living who activated the suicide
/obj/item/food/kebabKEBABS AND OTHER SKEWERS
/obj/item/food/meat/slab/humanHUMAN MEATS
/obj/item/food/meat/slab/synthmeatOTHER MEATS
/obj/item/food/meat/steakMEAT STEAKS
/obj/item/food/meat/rawcutletMEAT CUTLETS
+ + + diff --git a/code/game/objects/items/food/misc.html b/code/game/objects/items/food/misc.html new file mode 100644 index 000000000000..d63d5098bbd3 --- /dev/null +++ b/code/game/objects/items/food/misc.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/misc.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/food/misc.dm + +

+ + +
/obj/item/food/cheeseOTHER
+ + + diff --git a/code/game/objects/items/food/pastries.html b/code/game/objects/items/food/pastries.html new file mode 100644 index 000000000000..05c9e47323ba --- /dev/null +++ b/code/game/objects/items/food/pastries.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/food/pastries.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/food/pastries.dm + +

+ + + + +
/obj/item/food/muffinMUFFINS
/obj/item/food/wafflesWAFFLES
/obj/item/food/cookieOTHER
+ + + diff --git a/code/game/objects/items/food/salad.html b/code/game/objects/items/food/salad.html new file mode 100644 index 000000000000..8d7246aeb507 --- /dev/null +++ b/code/game/objects/items/food/salad.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/salad.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/food/salad.dm + +

+ + +
/obj/item/food/saladSALAD
+ + + diff --git a/code/game/objects/items/food/snacks.html b/code/game/objects/items/food/snacks.html new file mode 100644 index 000000000000..361d7ecc6a4a --- /dev/null +++ b/code/game/objects/items/food/snacks.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/snacks.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/food/snacks.dm + +

+ + +
/obj/item/food/candySNACKS FROM VENDING MACHINES
+ + + diff --git a/code/game/objects/items/food/spaghetti.html b/code/game/objects/items/food/spaghetti.html new file mode 100644 index 000000000000..8dad22a41c6c --- /dev/null +++ b/code/game/objects/items/food/spaghetti.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/spaghetti.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/food/spaghetti.dm + +

+ + +
/obj/item/food/spaghettispaghetti prototype used by all subtypes
+ + + diff --git a/code/game/objects/items/granters/_granters.html b/code/game/objects/items/granters/_granters.html new file mode 100644 index 000000000000..d771c4dee75d --- /dev/null +++ b/code/game/objects/items/granters/_granters.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/granters/_granters.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/granters/_granters.dm + +

+ + +
/obj/item/book/granterBooks that teach things.
+ + + diff --git a/code/game/objects/items/granters/magic/_spell_granter.html b/code/game/objects/items/granters/magic/_spell_granter.html new file mode 100644 index 000000000000..ef55a639f71f --- /dev/null +++ b/code/game/objects/items/granters/magic/_spell_granter.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/granters/magic/_spell_granter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/granters/magic/_spell_granter.dm + +

+ + + +
/obj/item/book/granter/action/spell/randomSimple granter that's replaced with a random spell granter on Initialize.
/obj/item/book/granter/action/spell/true_randomA more volatile granter that can potentially have any spell within. Use wisely.
+ + + diff --git a/code/game/objects/items/grenades/_grenade.html b/code/game/objects/items/grenades/_grenade.html new file mode 100644 index 000000000000..61c1d213960c --- /dev/null +++ b/code/game/objects/items/grenades/_grenade.html @@ -0,0 +1,38 @@ + + + + + + + code/game/objects/items/grenades/_grenade.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/items/grenades/_grenade.dm + +

+ + + + +
GRENADE_DUDThe grenade cannot detonate at all. It is innately nonfunctional.
GRENADE_USEDThe grenade has been used and as such cannot detonate.
/obj/item/grenadeBase class for all grenades.

Define Details

+

GRENADE_DUD + + +

+

The grenade cannot detonate at all. It is innately nonfunctional.

GRENADE_USED + + +

+

The grenade has been used and as such cannot detonate.

+ + + diff --git a/code/game/objects/items/grenades/chem_grenade.html b/code/game/objects/items/grenades/chem_grenade.html new file mode 100644 index 000000000000..e23785eb38c2 --- /dev/null +++ b/code/game/objects/items/grenades/chem_grenade.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/grenades/chem_grenade.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/grenades/chem_grenade.dm + +

+ + +
/obj/item/grenade/chem_grenade/metalfoamPREMADE GRENADES
+ + + diff --git a/code/game/objects/items/grenades/smokebomb.html b/code/game/objects/items/grenades/smokebomb.html new file mode 100644 index 000000000000..788937da8ad8 --- /dev/null +++ b/code/game/objects/items/grenades/smokebomb.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/grenades/smokebomb.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/grenades/smokebomb.dm + +

+ + +
/obj/item/grenade/smokebombThis is smoke bomb, mezum koman. It is a grenade subtype. All craftmanship is of the highest quality. +It menaces with spikes of iron. On it is a depiction of an assistant. +The assistant is bleeding. The assistant has a painful expression. The assistant is dead.
+ + + diff --git a/code/game/objects/items/hand_items.html b/code/game/objects/items/hand_items.html new file mode 100644 index 000000000000..9588f0d2a415 --- /dev/null +++ b/code/game/objects/items/hand_items.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/hand_items.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/hand_items.dm + +

+ + + +
/obj/item/hand_itemFor all of the items that are really just the user's hand used in different ways, mostly (all, really) from emotes
/obj/item/hand_item/slapper/secret_handshakeGangster secret handshakes.
+ + + diff --git a/code/game/objects/items/handcuffs.html b/code/game/objects/items/handcuffs.html new file mode 100644 index 000000000000..61f16eec36e0 --- /dev/null +++ b/code/game/objects/items/handcuffs.html @@ -0,0 +1,50 @@ + + + + + + + code/game/objects/items/handcuffs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/handcuffs.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
/obj/item/restraintsParent class for handcuffs and handcuff accessories
/obj/item/restraints/handcuffsStuff that makes humans unable to use hands
/obj/item/restraints/handcuffs/alienAbductor reskin of the handcuffs.
/obj/item/restraints/handcuffs/fakeFake handcuffs that can be removed near-instantly.
/obj/item/restraints/handcuffs/cableGhetto handcuffs. Removing those is faster.
/obj/item/restraints/handcuffs/cable/sinewPrimal ghetto handcuffs
/obj/item/restraints/handcuffs/cable/redRed cable restraints
/obj/item/restraints/handcuffs/cable/yellowYellow cable restraints
/obj/item/restraints/handcuffs/cable/blueBlue cable restraints
/obj/item/restraints/handcuffs/cable/greenGreen cable restraints
/obj/item/restraints/handcuffs/cable/pinkPink cable restraints
/obj/item/restraints/handcuffs/cable/orangeOrange (the color) cable restraints
/obj/item/restraints/handcuffs/cable/cyanCyan cable restraints
/obj/item/restraints/handcuffs/cable/whiteWhite cable restraints
/obj/item/restraints/handcuffs/cable/ziptiesOne-use handcuffs that take 45 seconds to resist out of instead of one minute. This turns into the used version when applied.
/obj/item/restraints/handcuffs/cable/zipties/usedWhat zipties turn into when applied. These can't be used to cuff people.
/obj/item/restraints/handcuffs/cable/zipties/fakeOne-use handcuffs that is very easy to break out of, meant as a one-use alternative to regular fake handcuffs.
/obj/item/restraints/handcuffs/tapeHandcuffs applied when restraining someone with tape, easier to escape from than zipties and single use.
/obj/item/restraints/legcuffsParent class for everything that can legcuff carbons. Can't legcuff anything itself.
/obj/item/restraints/legcuffs/beartrapThis opens, closes, and bites people's legs.
/obj/item/restraints/legcuffs/beartrap/energyThis closes on people's legs.
/obj/item/restraints/legcuffs/bola/tacticalA traitor variant of the bola.
/obj/item/restraints/legcuffs/bola/energyA security variant of the bola.
/obj/item/restraints/legcuffs/bola/gonbolaA pacifying variant of the bola.
+ + + diff --git a/code/game/objects/items/implants/implant.html b/code/game/objects/items/implants/implant.html new file mode 100644 index 000000000000..7ec988b9dbd3 --- /dev/null +++ b/code/game/objects/items/implants/implant.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/implants/implant.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/implants/implant.dm + +

+ + +
/obj/item/implantParent class for all implants
+ + + diff --git a/code/game/objects/items/implants/implant_clown.html b/code/game/objects/items/implants/implant_clown.html new file mode 100644 index 000000000000..be8f949f84c4 --- /dev/null +++ b/code/game/objects/items/implants/implant_clown.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/implants/implant_clown.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/implants/implant_clown.dm + +

+ + + + +
/obj/item/implant/sad_tromboneA passive implant that plays sound/misc/sadtrombone.ogg when you deathgasp for any reason
/obj/item/implanter/sad_tromboneImplanter that spawns with a sad trombone implant, as well as an appropriate name
/obj/item/implantcase/sad_tromboneImplant case that spawns with a sad trombone implant, as well as an appropriate name and description
+ + + diff --git a/code/game/objects/items/implants/implant_exile.html b/code/game/objects/items/implants/implant_exile.html new file mode 100644 index 000000000000..939b4f4ede99 --- /dev/null +++ b/code/game/objects/items/implants/implant_exile.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/implants/implant_exile.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/implants/implant_exile.dm + +

+ + +
/obj/item/implant/exile/noteleportUsed to help the staff of the space hotel resist the urge to use the space hotel's incredibly alluring roundstart teleporter to ignore their flavor/greeting text and come to the station.
+ + + diff --git a/code/game/objects/items/implants/implantcase.html b/code/game/objects/items/implants/implantcase.html new file mode 100644 index 000000000000..5e9cd14a09e1 --- /dev/null +++ b/code/game/objects/items/implants/implantcase.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/implants/implantcase.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/implants/implantcase.dm + +

+ + + + +
/obj/item/implantcaseItem used to store implants. Can be renamed with a pen. Implants are moved between those and implanters when a mob uses an implanter on a case.
/obj/item/implantcase/trackingAn implant case that spawns with a tracking implant, as well as an appropriate name and description.
/obj/item/implantcase/weapons_authAn implant case that spawns with a firearms authentication implant, as well as an appropriate name and description.
+ + + diff --git a/code/game/objects/items/implants/implanter.html b/code/game/objects/items/implants/implanter.html new file mode 100644 index 000000000000..d3b49fe318d4 --- /dev/null +++ b/code/game/objects/items/implants/implanter.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/implants/implanter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/implants/implanter.dm + +

+ + +
/obj/item/implanterPlayers can use this item to put obj/item/implant's in living mobs. Can be renamed with a pen.
+ + + diff --git a/code/game/objects/items/inspector.html b/code/game/objects/items/inspector.html new file mode 100644 index 000000000000..ace1719dd898 --- /dev/null +++ b/code/game/objects/items/inspector.html @@ -0,0 +1,31 @@ + + + + + + + code/game/objects/items/inspector.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/inspector.dm + +

+ + + + + + +
/obj/item/inspectorCreates reports for area inspection bounties.
/obj/item/inspector/clownA clown variant of the N-spect scanner
/obj/item/inspector/clown/bananiumAn upgraded version of the fake N-spect scanner
/obj/item/paper/fake_reportReports printed by fake N-spect scanner
/obj/item/paper/fake_report/waterFake report but it turns into water under certain circumstances.
+ + + diff --git a/code/game/objects/items/mail.html b/code/game/objects/items/mail.html new file mode 100644 index 000000000000..5b3cedc3631f --- /dev/null +++ b/code/game/objects/items/mail.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/items/mail.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/mail.dm + +

+ + + + + +
/obj/item/mailMail is tamper-evident and unresealable, postmarked by CentCom for an individual recepient.
/obj/structure/closet/crate/mailCrate for mail from CentCom.
/obj/structure/closet/crate/mail/fullCrate for mail that automatically generates a lot of mail. Usually only normal mail, but on lowpop it may end up just being junk.
/obj/item/storage/bag/mailMailbag.
+ + + diff --git a/code/game/objects/items/manuals.html b/code/game/objects/items/manuals.html new file mode 100644 index 000000000000..66cf46cf740c --- /dev/null +++ b/code/game/objects/items/manuals.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/manuals.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/manuals.dm + +

+ + +
/obj/item/book/manualMANUALS (BOOKS)
+ + + diff --git a/code/game/objects/items/melee/energy.html b/code/game/objects/items/melee/energy.html new file mode 100644 index 000000000000..18067683756a --- /dev/null +++ b/code/game/objects/items/melee/energy.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/melee/energy.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/melee/energy.dm + +

+ + + + +
/obj/item/melee/energy/axeEnergy axe - extremely strong.
/obj/item/melee/energy/swordEnergy swords.
/obj/item/melee/energy/bladeEnergy blades, which are effectively perma-extended energy swords
+ + + diff --git a/code/game/objects/items/offhand.html b/code/game/objects/items/offhand.html new file mode 100644 index 000000000000..cb36919fd9b2 --- /dev/null +++ b/code/game/objects/items/offhand.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/offhand.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/offhand.dm + +

+ + +
/obj/item/offhandThe offhand dummy item for two handed items
+ + + diff --git a/code/game/objects/items/pitchfork.html b/code/game/objects/items/pitchfork.html new file mode 100644 index 000000000000..ed1497a553dc --- /dev/null +++ b/code/game/objects/items/pitchfork.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/pitchfork.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/pitchfork.dm + +

+ + +
/obj/item/pitchforkPitchfork item
+ + + diff --git a/code/game/objects/items/plunger.html b/code/game/objects/items/plunger.html new file mode 100644 index 000000000000..2838393b4db2 --- /dev/null +++ b/code/game/objects/items/plunger.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/plunger.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/plunger.dm + +

+ + +
/obj/item/plunger/reinforcedA faster reinforced plunger
+ + + diff --git a/code/game/objects/items/robot/ai_upgrades.html b/code/game/objects/items/robot/ai_upgrades.html new file mode 100644 index 000000000000..19c33aa94b4d --- /dev/null +++ b/code/game/objects/items/robot/ai_upgrades.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/robot/ai_upgrades.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/robot/ai_upgrades.dm + +

+ + +
/obj/item/malf_upgradeAI Upgrades
+ + + diff --git a/code/game/objects/items/robot/items/storage.html b/code/game/objects/items/robot/items/storage.html new file mode 100644 index 000000000000..f5438b13459a --- /dev/null +++ b/code/game/objects/items/robot/items/storage.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/robot/items/storage.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/robot/items/storage.dm + +

+ + +
/obj/item/borg/apparatus/organ_storageallows medical cyborgs to manipulate organs without hands
+ + + diff --git a/code/game/objects/items/robot/robot_upgrades.html b/code/game/objects/items/robot/robot_upgrades.html new file mode 100644 index 000000000000..951adff5495c --- /dev/null +++ b/code/game/objects/items/robot/robot_upgrades.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/robot/robot_upgrades.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/robot/robot_upgrades.dm + +

+ + + +
/obj/item/borg/upgrade/defib/backpackA version of the above that also acts as a holder of an actual defibrillator item used in place of the upgrade chip.
/obj/item/borg_restart_boardThis isn't an upgrade or part of the same path, but I'm gonna just stick it here because it's a tool used on cyborgs.
+ + + diff --git a/code/game/objects/items/secret_documents.html b/code/game/objects/items/secret_documents.html new file mode 100644 index 000000000000..bfd6229691a6 --- /dev/null +++ b/code/game/objects/items/secret_documents.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/items/secret_documents.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/secret_documents.dm + +

+ + + + + + + + +
/obj/item/documentsIndestructible antag objective that can be photocopied.
/obj/item/documents/nanotrasenDaedalus documents
/obj/item/documents/syndicateSyndicate documents
/obj/item/documents/syndicate/redSyndicate documents with a red seal
/obj/item/documents/syndicate/blueSyndicate documents with a blue seal
/obj/item/documents/syndicate/miningSyndicate mining documents
/obj/item/documents/photocopyOutcome of photocopying documents. Can be copied, and can have a blue/red seal forged.
+ + + diff --git a/code/game/objects/items/sharpener.html b/code/game/objects/items/sharpener.html new file mode 100644 index 000000000000..969335c12a4e --- /dev/null +++ b/code/game/objects/items/sharpener.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/sharpener.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/sharpener.dm + +

+ + + +
/obj/item/sharpenerItems used for sharpening stuff
/obj/item/sharpener/superExtremely powerful admin-only whetstone
+ + + diff --git a/code/game/objects/items/stacks/medical.html b/code/game/objects/items/stacks/medical.html new file mode 100644 index 000000000000..23d8b7dbb160 --- /dev/null +++ b/code/game/objects/items/stacks/medical.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/stacks/medical.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/stacks/medical.dm + +

+ + +
/obj/item/stack/medical/sutureSutures close small cut or puncture wounds.
+ + + diff --git a/code/game/objects/items/stacks/sheets/mineral.html b/code/game/objects/items/stacks/sheets/mineral.html new file mode 100644 index 000000000000..1b1ee797fd1b --- /dev/null +++ b/code/game/objects/items/stacks/sheets/mineral.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/stacks/sheets/mineral.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/stacks/sheets/mineral.dm + +

+ + +
/obj/item/stack/sheet/mineral/runiteOthers
+ + + diff --git a/code/game/objects/items/stacks/stack.html b/code/game/objects/items/stacks/stack.html new file mode 100644 index 000000000000..2a71d35d337a --- /dev/null +++ b/code/game/objects/items/stacks/stack.html @@ -0,0 +1,37 @@ + + + + + + + code/game/objects/items/stacks/stack.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/items/stacks/stack.dm + +

+ + + +
STACK_CHECK_CARDINALSChecks if there is an object of the result type in any of the cardinal directions
STACK_CHECK_ADJACENTChecks if there is an object of the result type within one tile

Define Details

+

STACK_CHECK_ADJACENT + + +

+

Checks if there is an object of the result type within one tile

STACK_CHECK_CARDINALS + + +

+

Checks if there is an object of the result type in any of the cardinal directions

+ + + diff --git a/code/game/objects/items/stacks/tiles/light.html b/code/game/objects/items/stacks/tiles/light.html new file mode 100644 index 000000000000..8b7c3db3bf96 --- /dev/null +++ b/code/game/objects/items/stacks/tiles/light.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/stacks/tiles/light.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/stacks/tiles/light.dm + +

+ + +
/obj/item/stack/tile/lightIf we can't create a window out of this type, return FALSE to not affect attack chain. +Dense turf (most likely closed). Why check types of if you can check .density +Something we were mounting the window on was deleted, or unanchored
+ + + diff --git a/code/game/objects/items/stacks/tiles/tile_types.html b/code/game/objects/items/stacks/tiles/tile_types.html new file mode 100644 index 000000000000..84572c3287e2 --- /dev/null +++ b/code/game/objects/items/stacks/tiles/tile_types.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/stacks/tiles/tile_types.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/stacks/tiles/tile_types.dm + +

+ + + +
/obj/item/stack/tileTILE STACKS
/obj/item/stack/tile/emissive_testFloor tiles used to test emissive turfs.
+ + + diff --git a/code/game/objects/items/storage/boxes.html b/code/game/objects/items/storage/boxes.html new file mode 100644 index 000000000000..631c6b453847 --- /dev/null +++ b/code/game/objects/items/storage/boxes.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/storage/boxes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/storage/boxes.dm + +

+ + +
/obj/item/storage/box/clownclown box & honkbot assembly
+ + + diff --git a/code/game/objects/items/storage/holster_items.html b/code/game/objects/items/storage/holster_items.html new file mode 100644 index 000000000000..9703764b388e --- /dev/null +++ b/code/game/objects/items/storage/holster_items.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/storage/holster_items.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/storage/holster_items.dm + +

+ + + + +
/obj/item/storage/belt/holster/shoulderDetective's shoulder holster.
/obj/item/storage/belt/holster/shoulder/genericGeneric shoulder holster for holding small arms
/obj/item/storage/belt/holster/securitySecurity sidearm + gear belt.
+ + + diff --git a/code/game/objects/items/storage/medkit.html b/code/game/objects/items/storage/medkit.html new file mode 100644 index 000000000000..e3896960fa13 --- /dev/null +++ b/code/game/objects/items/storage/medkit.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/storage/medkit.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/storage/medkit.dm + +

+ + +
/obj/item/storage/pill_bottle/lsdpsychPsychologist inventory pillbottles
+ + + diff --git a/code/game/objects/items/storage/secure.html b/code/game/objects/items/storage/secure.html new file mode 100644 index 000000000000..88b04a59f736 --- /dev/null +++ b/code/game/objects/items/storage/secure.html @@ -0,0 +1,31 @@ + + + + + + + code/game/objects/items/storage/secure.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/storage/secure.dm + +

+ + + + + + +
/obj/item/storage/secureGeneric Safe
/obj/item/storage/secure/briefcaseSecure Briefcase
/obj/item/storage/secure/briefcase/syndieSyndie variant of Secure Briefcase. Contains space cash, slightly more robust.
/obj/item/storage/secure/safeSecure Safe
/obj/item/storage/secure/safe/caps_spareThis safe is meant to be damn robust. To break in, you're supposed to get creative, or use acid or an explosion.
+ + + diff --git a/code/game/objects/items/storage/uplink_kits.html b/code/game/objects/items/storage/uplink_kits.html new file mode 100644 index 000000000000..047ff02475c4 --- /dev/null +++ b/code/game/objects/items/storage/uplink_kits.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/storage/uplink_kits.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/storage/uplink_kits.dm + +

+ + +
/obj/item/storage/backpack/duffelbag/syndie/sabotageSubtype for the sabotage bundle. Contains three C4, two X4 and 6 signalers
+ + + diff --git a/code/game/objects/items/tanks/tanks.html b/code/game/objects/items/tanks/tanks.html new file mode 100644 index 000000000000..b58c7194b4bd --- /dev/null +++ b/code/game/objects/items/tanks/tanks.html @@ -0,0 +1,34 @@ + + + + + + + code/game/objects/items/tanks/tanks.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/items/tanks/tanks.dm + +

+ + + +
ASSUME_AIR_DT_FACTORHow much time (in seconds) is assumed to pass while assuming air. Used to scale overpressure/overtemp damage when assuming air.
/obj/item/tankHandheld gas canisters +Can rupture explosively if overpressurized

Define Details

+

ASSUME_AIR_DT_FACTOR + + +

+

How much time (in seconds) is assumed to pass while assuming air. Used to scale overpressure/overtemp damage when assuming air.

+ + + diff --git a/code/game/objects/items/tcg/tcg.html b/code/game/objects/items/tcg/tcg.html new file mode 100644 index 000000000000..b873e139d639 --- /dev/null +++ b/code/game/objects/items/tcg/tcg.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/tcg/tcg.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/tcg/tcg.dm + +

+ + +
/obj/item/tcgcard_deckA stack item that's not actually a stack because ORDER MATTERS with a deck of cards! +The "top" card of the deck will always be the bottom card in the stack for our purposes.
+ + + diff --git a/code/game/objects/items/tools/weldingtool.html b/code/game/objects/items/tools/weldingtool.html new file mode 100644 index 000000000000..ece7b8149c57 --- /dev/null +++ b/code/game/objects/items/tools/weldingtool.html @@ -0,0 +1,32 @@ + + + + + + + code/game/objects/items/tools/weldingtool.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/items/tools/weldingtool.dm + +

+ + +
WELDER_FUEL_BURN_INTERVALHow many seconds between each fuel depletion tick ("use" proc)

Define Details

+

WELDER_FUEL_BURN_INTERVAL + + +

+

How many seconds between each fuel depletion tick ("use" proc)

+ + + diff --git a/code/game/objects/items/tools/wirebrush.html b/code/game/objects/items/tools/wirebrush.html new file mode 100644 index 000000000000..1ce999234156 --- /dev/null +++ b/code/game/objects/items/tools/wirebrush.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/tools/wirebrush.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/items/tools/wirebrush.dm + +

+ + +
/obj/item/wirebrushThe wirebrush is a tool whose sole purpose is to remove rust from anything that is rusty. +Because of the inherent nature of hard countering rust heretics it does it very slowly.
+ + + diff --git a/code/game/objects/items/toy_mechs.html b/code/game/objects/items/toy_mechs.html new file mode 100644 index 000000000000..7f8a638a07f6 --- /dev/null +++ b/code/game/objects/items/toy_mechs.html @@ -0,0 +1,39 @@ + + + + + + + code/game/objects/items/toy_mechs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/items/toy_mechs.dm + +

+ + + +
SPECIAL_ATTACK_HEALMech prizes + MECHA COMBAT!! +Mech battle special attack types.
MAX_BATTLE_LENGTHMax length of a mech battle

Define Details

+

MAX_BATTLE_LENGTH + + +

+

Max length of a mech battle

SPECIAL_ATTACK_HEAL + + +

+

Mech prizes + MECHA COMBAT!! +Mech battle special attack types.

+ + + diff --git a/code/game/objects/structures.html b/code/game/objects/structures.html new file mode 100644 index 000000000000..9176546174e7 --- /dev/null +++ b/code/game/objects/structures.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures.dm + +

+ + +
/obj/structureInert structures, such as girders, machine frames, and crates/lockers.
+ + + diff --git a/code/game/objects/structures/aliens.html b/code/game/objects/structures/aliens.html new file mode 100644 index 000000000000..bf590189dd20 --- /dev/null +++ b/code/game/objects/structures/aliens.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/aliens.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/aliens.dm + +

+ + + +
/obj/structure/alien/resin/wall/immovablemeant for anywhere that has simplemobs who can push aside structures
/obj/structure/alien/resin/membrane/creatureUsed in the big derelict ruin exclusively.
+ + + diff --git a/code/game/objects/structures/beds_chairs/chair.html b/code/game/objects/structures/beds_chairs/chair.html new file mode 100644 index 000000000000..2501d31c64f0 --- /dev/null +++ b/code/game/objects/structures/beds_chairs/chair.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/beds_chairs/chair.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/beds_chairs/chair.dm + +

+ + +
/obj/structure/chair/greyscaleMaterial chair
+ + + diff --git a/code/game/objects/structures/bonfire.html b/code/game/objects/structures/bonfire.html new file mode 100644 index 000000000000..6978f7ecf336 --- /dev/null +++ b/code/game/objects/structures/bonfire.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/structures/bonfire.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/bonfire.dm + +

+ + + +
BONFIRE_FIRE_STACK_STRENGTHhow many fire stacks are applied when you step into a bonfire
/obj/structure/bonfire

Define Details

+

BONFIRE_FIRE_STACK_STRENGTH + + +

+

how many fire stacks are applied when you step into a bonfire

+ + + diff --git a/code/game/objects/structures/cannons/cannon.html b/code/game/objects/structures/cannons/cannon.html new file mode 100644 index 000000000000..aa4a562b8ed6 --- /dev/null +++ b/code/game/objects/structures/cannons/cannon.html @@ -0,0 +1,37 @@ + + + + + + + code/game/objects/structures/cannons/cannon.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/cannons/cannon.dm + +

+ + + +
BAD_FUEL_DAMAGE_TAXhow much projectile damage is lost when using a bad fuel
BAD_FUEL_EXPLODE_PROBABILTYextra chance it explodes upon firing

Define Details

+

BAD_FUEL_DAMAGE_TAX + + +

+

how much projectile damage is lost when using a bad fuel

BAD_FUEL_EXPLODE_PROBABILTY + + +

+

extra chance it explodes upon firing

+ + + diff --git a/code/game/objects/structures/construction_console/construction_actions.html b/code/game/objects/structures/construction_console/construction_actions.html new file mode 100644 index 000000000000..8cde706bf91f --- /dev/null +++ b/code/game/objects/structures/construction_console/construction_actions.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/construction_console/construction_actions.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/construction_console/construction_actions.dm + +

+ + + +
/datum/action/innate/constructionGeneric construction action for base construction consoles.
/datum/action/innate/construction/place_structureGeneric action used with base construction consoles to build anything that can't be built with an RCD
+ + + diff --git a/code/game/objects/structures/construction_console/construction_console.html b/code/game/objects/structures/construction_console/construction_console.html new file mode 100644 index 000000000000..68d61ace9b0f --- /dev/null +++ b/code/game/objects/structures/construction_console/construction_console.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/structures/construction_console/construction_console.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/construction_console/construction_console.dm + +

+ + + + +
/obj/machinery/computer/camera_advanced/base_constructionCamera console used to control a base building drone
/mob/camera/ai_eye/remote/base_constructionA mob used by /obj/machinery/computer/camera_advanced/base_construction for building in specific areas.
/obj/item/construction/rcd/internalBase console's internal RCD. Has a large material capacity and a fast buildspeed.
+ + + diff --git a/code/game/objects/structures/construction_console/construction_console_centcom.html b/code/game/objects/structures/construction_console/construction_console_centcom.html new file mode 100644 index 000000000000..2d9fd8ec3542 --- /dev/null +++ b/code/game/objects/structures/construction_console/construction_console_centcom.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/construction_console/construction_console_centcom.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/construction_console/construction_console_centcom.dm + +

+ + +
/obj/machinery/computer/camera_advanced/base_construction/centcomadmin-only base consturctino console subtype for building anywhere!
+ + + diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.html b/code/game/objects/structures/crates_lockers/closets/bodybag.html new file mode 100644 index 000000000000..aa8f5a9c9685 --- /dev/null +++ b/code/game/objects/structures/crates_lockers/closets/bodybag.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/crates_lockers/closets/bodybag.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/crates_lockers/closets/bodybag.dm + +

+ + + +
/obj/structure/closet/body_bag/environmentalEnvironmental bags. They protect against bad weather.
/obj/structure/closet/body_bag/environmental/prisonerSecurable enviro. bags
+ + + diff --git a/code/game/objects/structures/deployable_turret.html b/code/game/objects/structures/deployable_turret.html new file mode 100644 index 000000000000..b7f0f23e3bc2 --- /dev/null +++ b/code/game/objects/structures/deployable_turret.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/deployable_turret.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/deployable_turret.dm + +

+ + +
/obj/machinery/deployable_turretDEPLOYABLE TURRET (FORMERLY MANNED TURRET)
+ + + diff --git a/code/game/objects/structures/fluff.html b/code/game/objects/structures/fluff.html new file mode 100644 index 000000000000..c79ea7ddc2ea --- /dev/null +++ b/code/game/objects/structures/fluff.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/fluff.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/fluff.dm + +

+ + +
/obj/structure/fluffFluff structures serve no purpose and exist only for enriching the environment. By default, they can be deconstructed with a wrench.
+ + + diff --git a/code/game/objects/structures/girders.html b/code/game/objects/structures/girders.html new file mode 100644 index 000000000000..fbba55a0b39e --- /dev/null +++ b/code/game/objects/structures/girders.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/girders.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/girders.dm + +

+ + +
/obj/structure/girder/cultcult girder
+ + + diff --git a/code/game/objects/structures/grille.html b/code/game/objects/structures/grille.html new file mode 100644 index 000000000000..8581edd08209 --- /dev/null +++ b/code/game/objects/structures/grille.html @@ -0,0 +1,32 @@ + + + + + + + code/game/objects/structures/grille.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/grille.dm + +

+ + +
CLEAR_TILE_MOVE_LIMITMax number of unanchored items that will be moved from a tile when attempting to add a window to a grille.

Define Details

+

CLEAR_TILE_MOVE_LIMIT + + +

+

Max number of unanchored items that will be moved from a tile when attempting to add a window to a grille.

+ + + diff --git a/code/game/objects/structures/guillotine.html b/code/game/objects/structures/guillotine.html new file mode 100644 index 000000000000..5eb546ad0c25 --- /dev/null +++ b/code/game/objects/structures/guillotine.html @@ -0,0 +1,57 @@ + + + + + + + code/game/objects/structures/guillotine.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/guillotine.dm + +

+ + + + + + + +
GUILLOTINE_BLADE_MAX_SHARPThis is maxiumum sharpness and will decapitate without failure
GUILLOTINE_DECAP_MIN_SHARPMinimum amount of sharpness for decapitation. Any less and it will just do severe brute damage
GUILLOTINE_ANIMATION_LENGTHHow long the guillotine animation lasts
GUILLOTINE_HEAD_OFFSETHow much we need to move the player to center their head
GUILLOTINE_LAYER_DIFFHow much to increase/decrease a head when it's buckled/unbuckled
GUILLOTINE_ACTIVATE_DELAYDelay for executing someone

Define Details

+

GUILLOTINE_ACTIVATE_DELAY + + +

+

Delay for executing someone

GUILLOTINE_ANIMATION_LENGTH + + +

+

How long the guillotine animation lasts

GUILLOTINE_BLADE_MAX_SHARP + + +

+

This is maxiumum sharpness and will decapitate without failure

GUILLOTINE_DECAP_MIN_SHARP + + +

+

Minimum amount of sharpness for decapitation. Any less and it will just do severe brute damage

GUILLOTINE_HEAD_OFFSET + + +

+

How much we need to move the player to center their head

GUILLOTINE_LAYER_DIFF + + +

+

How much to increase/decrease a head when it's buckled/unbuckled

+ + + diff --git a/code/game/objects/structures/loom.html b/code/game/objects/structures/loom.html new file mode 100644 index 000000000000..8dcd510e97fb --- /dev/null +++ b/code/game/objects/structures/loom.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/loom.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/loom.dm + +

+ + +
/obj/structure/loomThis is a loom. It's usually made out of wood and used to weave fabric like durathread or cotton into their respective cloth types.
+ + + diff --git a/code/game/objects/structures/maintenance.html b/code/game/objects/structures/maintenance.html new file mode 100644 index 000000000000..a68067e60872 --- /dev/null +++ b/code/game/objects/structures/maintenance.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/maintenance.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/maintenance.dm + +

+ + +
/obj/structure/moisture_trap
+ + + diff --git a/code/game/objects/structures/mystery_box.html b/code/game/objects/structures/mystery_box.html new file mode 100644 index 000000000000..715ab759be3c --- /dev/null +++ b/code/game/objects/structures/mystery_box.html @@ -0,0 +1,68 @@ + + + + + + + code/game/objects/structures/mystery_box.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/mystery_box.dm + +

+ + + + + + + + + + +
MYSTERY_BOX_COOLING_DOWNClosed, can't interact
MYSTERY_BOX_STANDBYClosed, ready to be interacted with
MYSTERY_BOX_CHOOSINGThe box is choosing the prize
MYSTERY_BOX_PRESENTINGThe box is presenting the prize, for someone to claim it
MBOX_DURATION_CHOOSINGHow long the box takes to decide what the prize is
MBOX_DURATION_PRESENTINGHow long the box takes to start expiring the offer, though it's still valid until MBOX_DURATION_EXPIRING finishes. Timed to the sound clips
MBOX_DURATION_EXPIRINGHow long the box takes to start lowering the prize back into itself. When this finishes, the prize is gone
MBOX_DURATION_STANDBYHow long after the box closes until it can go again
/obj/mystery_box_itemThis represents the item that comes out of the box and is constantly changing before the box finishes deciding. Can probably be just an /atom or /movable.

Define Details

+

MBOX_DURATION_CHOOSING + + +

+

How long the box takes to decide what the prize is

MBOX_DURATION_EXPIRING + + +

+

How long the box takes to start lowering the prize back into itself. When this finishes, the prize is gone

MBOX_DURATION_PRESENTING + + +

+

How long the box takes to start expiring the offer, though it's still valid until MBOX_DURATION_EXPIRING finishes. Timed to the sound clips

MBOX_DURATION_STANDBY + + +

+

How long after the box closes until it can go again

MYSTERY_BOX_CHOOSING + + +

+

The box is choosing the prize

MYSTERY_BOX_COOLING_DOWN + + +

+

Closed, can't interact

MYSTERY_BOX_PRESENTING + + +

+

The box is presenting the prize, for someone to claim it

MYSTERY_BOX_STANDBY + + +

+

Closed, ready to be interacted with

+ + + diff --git a/code/game/objects/structures/safe.html b/code/game/objects/structures/safe.html new file mode 100644 index 000000000000..197826b1c7ad --- /dev/null +++ b/code/game/objects/structures/safe.html @@ -0,0 +1,37 @@ + + + + + + + code/game/objects/structures/safe.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/safe.dm + +

+ + + +
SOUND_CHANCEChance for a sound clue
BROKEN_THRESHOLDExplosion number threshold for opening safe

Define Details

+

BROKEN_THRESHOLD + + +

+

Explosion number threshold for opening safe

SOUND_CHANCE + + +

+

Chance for a sound clue

+ + + diff --git a/code/game/objects/structures/shower.html b/code/game/objects/structures/shower.html new file mode 100644 index 000000000000..a16e6f39bafe --- /dev/null +++ b/code/game/objects/structures/shower.html @@ -0,0 +1,37 @@ + + + + + + + code/game/objects/structures/shower.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/shower.dm + +

+ + + +
SHOWER_SPRAY_VOLUMEThe volume of it's internal reagents the shower applies to everything it sprays.
SHOWER_EXPOSURE_MULTIPLIERHow much the volume of the shower's spay reagents are amplified by when it sprays something.

Define Details

+

SHOWER_EXPOSURE_MULTIPLIER + + +

+

How much the volume of the shower's spay reagents are amplified by when it sprays something.

SHOWER_SPRAY_VOLUME + + +

+

The volume of it's internal reagents the shower applies to everything it sprays.

+ + + diff --git a/code/game/objects/structures/signs/_signs.html b/code/game/objects/structures/signs/_signs.html new file mode 100644 index 000000000000..b8f2abc9f0fe --- /dev/null +++ b/code/game/objects/structures/signs/_signs.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/signs/_signs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/signs/_signs.dm + +

+ + + +
/proc/populate_editable_sign_typesThis proc populates GLOBAL_LIST_EMPTY(editable_sign_types)
+ + + diff --git a/code/game/objects/structures/signs/signs_departments.html b/code/game/objects/structures/signs/signs_departments.html new file mode 100644 index 000000000000..604e0137ab61 --- /dev/null +++ b/code/game/objects/structures/signs/signs_departments.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/structures/signs/signs_departments.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/signs/signs_departments.dm + +

+ + + + + + + + +
/obj/structure/sign/departments/medbayMEDBAY
/obj/structure/sign/departments/engineeringENGINEERING
/obj/structure/sign/departments/scienceSCIENCE
/obj/structure/sign/departments/botanySERVICE
/obj/structure/sign/departments/cargoSUPPLY
/obj/structure/sign/departments/securitySECURITY
/obj/structure/sign/departments/restroomMISC LOCATIONS
+ + + diff --git a/code/game/objects/structures/signs/signs_warning.html b/code/game/objects/structures/signs/signs_warning.html new file mode 100644 index 000000000000..5ae7a43603d9 --- /dev/null +++ b/code/game/objects/structures/signs/signs_warning.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/signs/signs_warning.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/signs/signs_warning.dm + +

+ + + +
/obj/structure/sign/warningDANGEROUS THINGS
/obj/structure/sign/warning/podsMISC LOCATIONS
+ + + diff --git a/code/game/objects/structures/tank_holder.html b/code/game/objects/structures/tank_holder.html new file mode 100644 index 000000000000..3bec6ef13ef9 --- /dev/null +++ b/code/game/objects/structures/tank_holder.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/tank_holder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/tank_holder.dm + +

+ + +
/obj/structure/tank_holder?
+ + + diff --git a/code/game/objects/structures/training_machine.html b/code/game/objects/structures/training_machine.html new file mode 100644 index 000000000000..162214bfb067 --- /dev/null +++ b/code/game/objects/structures/training_machine.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/training_machine.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/objects/structures/training_machine.dm + +

+ + + +
/obj/structure/training_machineMachine that runs around wildly so people can practice clickin on things
/obj/item/training_toolboxDevice that simply counts the number of times you've hit a mob or target with. Looks like a toolbox but isn't.
+ + + diff --git a/code/game/say.html b/code/game/say.html new file mode 100644 index 000000000000..3048ccf6a905 --- /dev/null +++ b/code/game/say.html @@ -0,0 +1,35 @@ + + + + + + + code/game/say.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/say.dm + +

+ + + + +
ENCODE_HTML_EMPHASISTransforms the speech emphasis mods from /atom/movable/proc/say_emphasis into the appropriate HTML tags. Includes escaping.
/proc/get_radio_iconPass in a frequency, get a file name. See chat_icons.dm

Define Details

+

ENCODE_HTML_EMPHASIS + + + +

+

Transforms the speech emphasis mods from /atom/movable/proc/say_emphasis into the appropriate HTML tags. Includes escaping.

+ + + diff --git a/code/game/sound.html b/code/game/sound.html new file mode 100644 index 000000000000..b07fcbf385b6 --- /dev/null +++ b/code/game/sound.html @@ -0,0 +1,29 @@ + + + + + + + code/game/sound.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/sound.dm + +

+ + + + +
/soundDefault override for echo
/proc/playsoundplaysound is a proc used to play a 3D sound in a specific range. This uses SOUND_RANGE + extra_range to determine that.
+ + + diff --git a/code/game/turfs/closed/minerals.html b/code/game/turfs/closed/minerals.html new file mode 100644 index 000000000000..377ec260f418 --- /dev/null +++ b/code/game/turfs/closed/minerals.html @@ -0,0 +1,28 @@ + + + + + + + code/game/turfs/closed/minerals.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/turfs/closed/minerals.dm + +

+ + + +
/turf/closed/mineralMineral deposits
/turf/closed/mineral/asteroid/tospaceBreaks down to an asteroid floor that breaks down to space
+ + + diff --git a/code/game/turfs/closed/wall/mineral_walls.html b/code/game/turfs/closed/wall/mineral_walls.html new file mode 100644 index 000000000000..adfb7cfac74d --- /dev/null +++ b/code/game/turfs/closed/wall/mineral_walls.html @@ -0,0 +1,28 @@ + + + + + + + code/game/turfs/closed/wall/mineral_walls.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/turfs/closed/wall/mineral_walls.dm + +

+ + + +
/turf/closed/wall/mineral/titaniumTitanium walls
/turf/closed/wall/mineral/plastitaniumPlastitanium walls
+ + + diff --git a/code/game/turfs/closed/wall/prepainted_walls.html b/code/game/turfs/closed/wall/prepainted_walls.html new file mode 100644 index 000000000000..ace8f15b7d01 --- /dev/null +++ b/code/game/turfs/closed/wall/prepainted_walls.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/closed/wall/prepainted_walls.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/turfs/closed/wall/prepainted_walls.dm + +

+ + +
/turf/closed/wall/prepaintedDummy types for prepainted walls
+ + + diff --git a/code/game/turfs/closed/walls.html b/code/game/turfs/closed/walls.html new file mode 100644 index 000000000000..cce16cfefc85 --- /dev/null +++ b/code/game/turfs/closed/walls.html @@ -0,0 +1,28 @@ + + + + + + + code/game/turfs/closed/walls.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/turfs/closed/walls.dm + +

+ + + +
/var/neighbor_typecacheTypecache of all objects that we seek out to apply a neighbor stripe overlay
+ + + diff --git a/code/game/turfs/open/_open.html b/code/game/turfs/open/_open.html new file mode 100644 index 000000000000..e2c16789187f --- /dev/null +++ b/code/game/turfs/open/_open.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/open/_open.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/turfs/open/_open.dm + +

+ + +
/turf/open/indestructible/necropolisUsed primarily for heretic's temple. To be removed.
+ + + diff --git a/code/game/turfs/open/asteroid.html b/code/game/turfs/open/asteroid.html new file mode 100644 index 000000000000..f3ced090859d --- /dev/null +++ b/code/game/turfs/open/asteroid.html @@ -0,0 +1,28 @@ + + + + + + + code/game/turfs/open/asteroid.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/turfs/open/asteroid.dm + +

+ + + +
/turf/open/misc/asteroidAsteroid
/turf/open/misc/asteroid/airless/tospaceDestroys down to zlevel baseturf
+ + + diff --git a/code/game/turfs/open/floor.html b/code/game/turfs/open/floor.html new file mode 100644 index 000000000000..07a62add5187 --- /dev/null +++ b/code/game/turfs/open/floor.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/open/floor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/turfs/open/floor.dm + +

+ + +
/turf/open/floorAnything above a lattice should go here.
+ + + diff --git a/code/game/turfs/open/floor/fancy_floor.html b/code/game/turfs/open/floor/fancy_floor.html new file mode 100644 index 000000000000..7a8142d430c2 --- /dev/null +++ b/code/game/turfs/open/floor/fancy_floor.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/open/floor/fancy_floor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/turfs/open/floor/fancy_floor.dm + +

+ + +
/turf/open/floor/emissive_testAn emissive turf used to test emissive turfs.
+ + + diff --git a/code/game/turfs/open/floor/hull.html b/code/game/turfs/open/floor/hull.html new file mode 100644 index 000000000000..600a74dc9c61 --- /dev/null +++ b/code/game/turfs/open/floor/hull.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/open/floor/hull.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/turfs/open/floor/hull.dm + +

+ + +
/turf/open/floor/engine/hull/ceilingRCD-immune plating generated only by shuttle code for shuttle ceilings on multi-z maps, should not be mapped in or creatable in any other way
+ + + diff --git a/code/game/turfs/open/floor/light_floor.html b/code/game/turfs/open/floor/light_floor.html new file mode 100644 index 000000000000..286a03f7005d --- /dev/null +++ b/code/game/turfs/open/floor/light_floor.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/open/floor/light_floor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/turfs/open/floor/light_floor.dm + +

+ + +
/turf/open/floor/light/colour_cyclehe's dead, jim
+ + + diff --git a/code/game/turfs/open/floor/overfloor_catwalk.html b/code/game/turfs/open/floor/overfloor_catwalk.html new file mode 100644 index 000000000000..7045a08833d5 --- /dev/null +++ b/code/game/turfs/open/floor/overfloor_catwalk.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/open/floor/overfloor_catwalk.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/turfs/open/floor/overfloor_catwalk.dm + +

+ + +
/obj/structure/overfloor_catwalk
+ + + diff --git a/code/game/turfs/open/floor/plating.html b/code/game/turfs/open/floor/plating.html new file mode 100644 index 000000000000..47ad1be6007e --- /dev/null +++ b/code/game/turfs/open/floor/plating.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/open/floor/plating.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/turfs/open/floor/plating.dm + +

+ + +
/turf/open/floor/platingPLATINGS
+ + + diff --git a/code/game/turfs/open/lava.html b/code/game/turfs/open/lava.html new file mode 100644 index 000000000000..aa6bb908ef2e --- /dev/null +++ b/code/game/turfs/open/lava.html @@ -0,0 +1,43 @@ + + + + + + + code/game/turfs/open/lava.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/turfs/open/lava.dm + +

+ + + + + +
/turf/open/lavaLAVA
LAVA_BE_IGNORINGGeneric return value of the can_burn_stuff() proc. Does nothing.
LAVA_BE_PROCESSINGAnother. Won't burn the target but will make the turf start processing.
LAVA_BE_BURNINGBurns the target and makes the turf process (depending on the return value of do_burn()).

Define Details

+

LAVA_BE_BURNING + + +

+

Burns the target and makes the turf process (depending on the return value of do_burn()).

LAVA_BE_IGNORING + + +

+

Generic return value of the can_burn_stuff() proc. Does nothing.

LAVA_BE_PROCESSING + + +

+

Another. Won't burn the target but will make the turf start processing.

+ + + diff --git a/code/game/turfs/open/misc.html b/code/game/turfs/open/misc.html new file mode 100644 index 000000000000..893c4c9f9b89 --- /dev/null +++ b/code/game/turfs/open/misc.html @@ -0,0 +1,29 @@ + + + + + + + code/game/turfs/open/misc.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/game/turfs/open/misc.dm + +

+ + +
/turf/open/miscUsed as a parent type for types that want to allow construction, but do not want to be floors +I wish I could use components for turfs at scale +Please do not bloat this. Love you <3
+ + + diff --git a/code/game/world.html b/code/game/world.html new file mode 100644 index 000000000000..1013873db230 --- /dev/null +++ b/code/game/world.html @@ -0,0 +1,37 @@ + + + + + + + code/game/world.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/game/world.dm + +

+ + + +
OVERRIDE_LOG_DIRECTORY_PARAMETERForce the log directory to be something specific in the data/logs folder
NO_INIT_PARAMETERPrevent the master controller from starting automatically

Define Details

+

NO_INIT_PARAMETER + + +

+

Prevent the master controller from starting automatically

OVERRIDE_LOG_DIRECTORY_PARAMETER + + +

+

Force the log directory to be something specific in the data/logs folder

+ + + diff --git a/code/modules/actionspeed/_actionspeed_modifier.html b/code/modules/actionspeed/_actionspeed_modifier.html new file mode 100644 index 000000000000..2d7c58d0ec96 --- /dev/null +++ b/code/modules/actionspeed/_actionspeed_modifier.html @@ -0,0 +1,50 @@ + + + + + + + code/modules/actionspeed/_actionspeed_modifier.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/actionspeed/_actionspeed_modifier.dm + +

+ + + + + + + +

Actionspeed modification datums.

+
How action speed for mobs works
+
+

Action speed is now calculated by using modifier datums which are added to mobs. Some of them (nonvariable ones) are globally cached, the variable ones are instanced and changed based on need.

+

This gives us the ability to have multiple sources of actionspeed, reliabily keep them applied and remove them when they should be

+

THey can have unique sources and a bunch of extra fancy flags that control behaviour

+

Previously trying to update action speed was a shot in the dark that usually meant mobs got stuck going faster or slower

+

Actionspeed modification list is a simple key = datum system. Key will be the datum's ID if it is overridden to not be null, or type if it is not.

+

DO NOT override datum IDs unless you are going to have multiple types that must overwrite each other. It's more efficient to use types, ID functionality is only kept for cases where dynamic creation of modifiers need to be done.

+

When update actionspeed is called, the list of items is iterated, according to flags priority and a bunch of conditions +this spits out a final calculated value which is used as a modifer to last_move + modifier for calculating when a mob +can next move

/proc/get_cached_actionspeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

Used for variable slowdowns like hunger/health loss/etc, works somewhat like the old list-based modification adds. Returns the modifier datum if successful +How this SHOULD work is: +1. Ensures type_id_datum one way or another refers to a /variable datum. This makes sure it can't be cached. This includes if it's already in the modification list. +2. Instantiate a new datum if type_id_datum isn't already instantiated + in the list, using the type. Obviously, wouldn't work for ID only. +3. Add the datum if necessary using the regular add proc +4. If any of the rest of the args are not null (see: multiplicative slowdown), modify the datum +5. Update if necessary

+
/proc/actionspeed_data_null_checkChecks if a action speed modifier is valid and not missing any data
+ + + diff --git a/code/modules/admin/callproc/callproc.html b/code/modules/admin/callproc/callproc.html new file mode 100644 index 000000000000..adad1e39e1bc --- /dev/null +++ b/code/modules/admin/callproc/callproc.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/admin/callproc/callproc.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/callproc/callproc.dm + +

+ + + + + + + + +
/mob/proccall_handlerUsed to handle proccalls called indirectly by an admin (e.g. tgs, circuits). +Has to be a mob because IsAdminAdvancedProcCall() checks usr, which is a mob variable. +So usr is set to this for any proccalls that don't have any usr mob/client to refer to.
/proc/HandleUserlessProcCallHandles a userless proccall, used by circuits.
/proc/HandleUserlessSDQLHandles a userless sdql, used by circuits and tgs.
/proc/WrapAdminProcCallWrapper for proccalls where the datum is flagged as vareditted
+ + + diff --git a/code/modules/admin/greyscale_modify_menu.html b/code/modules/admin/greyscale_modify_menu.html new file mode 100644 index 000000000000..c3fa1360d19d --- /dev/null +++ b/code/modules/admin/greyscale_modify_menu.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/greyscale_modify_menu.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/greyscale_modify_menu.dm + +

+ + +
/datum/greyscale_modify_menuThe controller for the ui in charge of all runtime greyscale configuration/debug. +If Unlock() is not called the menu is safe for players to use.
+ + + diff --git a/code/modules/admin/painting_manager.html b/code/modules/admin/painting_manager.html new file mode 100644 index 000000000000..0a6e001cd061 --- /dev/null +++ b/code/modules/admin/painting_manager.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/painting_manager.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/painting_manager.dm + +

+ + +
/datum/paintings_managerPainting Admin Management Panel
+ + + diff --git a/code/modules/admin/poll_management.html b/code/modules/admin/poll_management.html new file mode 100644 index 000000000000..88d7a8903313 --- /dev/null +++ b/code/modules/admin/poll_management.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/admin/poll_management.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/poll_management.dm + +

+ + + + + +
/datum/poll_questionDatum which holds details of a running poll loaded from the database and supplementary info.
/datum/poll_optionDatum which holds details of a poll option loaded from the database.
/proc/load_poll_dataLoads all current and future server polls and their options to store both as datums.
+ + + diff --git a/code/modules/admin/smites/bad_luck.html b/code/modules/admin/smites/bad_luck.html new file mode 100644 index 000000000000..da5dadd9d587 --- /dev/null +++ b/code/modules/admin/smites/bad_luck.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/bad_luck.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/bad_luck.dm + +

+ + +
/datum/smite/bad_luckGives the target bad luck, optionally permanently
+ + + diff --git a/code/modules/admin/smites/berforate.html b/code/modules/admin/smites/berforate.html new file mode 100644 index 000000000000..de441a933886 --- /dev/null +++ b/code/modules/admin/smites/berforate.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/berforate.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/berforate.dm + +

+ + +
/datum/smite/berforateFires an absurd amount of bullets at the target
+ + + diff --git a/code/modules/admin/smites/bloodless.html b/code/modules/admin/smites/bloodless.html new file mode 100644 index 000000000000..b4b1f3cbc474 --- /dev/null +++ b/code/modules/admin/smites/bloodless.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/bloodless.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/bloodless.dm + +

+ + +
/datum/smite/bloodlessSlashes up the target
+ + + diff --git a/code/modules/admin/smites/boneless.html b/code/modules/admin/smites/boneless.html new file mode 100644 index 000000000000..b563b9559bc5 --- /dev/null +++ b/code/modules/admin/smites/boneless.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/boneless.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/boneless.dm + +

+ + +
/datum/smite/bonelessGives the target critically bad wounds
+ + + diff --git a/code/modules/admin/smites/brain_damage.html b/code/modules/admin/smites/brain_damage.html new file mode 100644 index 000000000000..36beb603af75 --- /dev/null +++ b/code/modules/admin/smites/brain_damage.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/brain_damage.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/brain_damage.dm + +

+ + +
/datum/smite/brain_damageInflicts crippling brain damage on the target
+ + + diff --git a/code/modules/admin/smites/bread.html b/code/modules/admin/smites/bread.html new file mode 100644 index 000000000000..807ead018e65 --- /dev/null +++ b/code/modules/admin/smites/bread.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/bread.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/bread.dm + +

+ + +
/datum/smite/breadTurns the target into bread
+ + + diff --git a/code/modules/admin/smites/bsa.html b/code/modules/admin/smites/bsa.html new file mode 100644 index 000000000000..4f74d4bed93a --- /dev/null +++ b/code/modules/admin/smites/bsa.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/bsa.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/bsa.dm + +

+ + +
/datum/smite/bsaFires the BSA at the target
+ + + diff --git a/code/modules/admin/smites/dock_pay.html b/code/modules/admin/smites/dock_pay.html new file mode 100644 index 000000000000..7ad679fbe72d --- /dev/null +++ b/code/modules/admin/smites/dock_pay.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/dock_pay.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/dock_pay.dm + +

+ + +
/datum/smite/dock_payDocks the target's pay
+ + + diff --git a/code/modules/admin/smites/fake_bwoink.html b/code/modules/admin/smites/fake_bwoink.html new file mode 100644 index 000000000000..7ebd818268ba --- /dev/null +++ b/code/modules/admin/smites/fake_bwoink.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/fake_bwoink.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/fake_bwoink.dm + +

+ + +
/datum/smite/fake_bwoinkSends the target a fake adminhelp sound
+ + + diff --git a/code/modules/admin/smites/fat.html b/code/modules/admin/smites/fat.html new file mode 100644 index 000000000000..2b35c4a8a246 --- /dev/null +++ b/code/modules/admin/smites/fat.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/fat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/fat.dm + +

+ + +
/datum/smite/fatFattens the target
+ + + diff --git a/code/modules/admin/smites/fireball.html b/code/modules/admin/smites/fireball.html new file mode 100644 index 000000000000..e9b99d844c50 --- /dev/null +++ b/code/modules/admin/smites/fireball.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/fireball.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/fireball.dm + +

+ + +
/datum/smite/fireballThrows a fireball down at the target
+ + + diff --git a/code/modules/admin/smites/gib.html b/code/modules/admin/smites/gib.html new file mode 100644 index 000000000000..03ee60d9c8c4 --- /dev/null +++ b/code/modules/admin/smites/gib.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/gib.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/gib.dm + +

+ + +
/datum/smite/gibGibs the target
+ + + diff --git a/code/modules/admin/smites/imaginary_friend_special.html b/code/modules/admin/smites/imaginary_friend_special.html new file mode 100644 index 000000000000..d0d71e1ec6bc --- /dev/null +++ b/code/modules/admin/smites/imaginary_friend_special.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/imaginary_friend_special.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/imaginary_friend_special.dm + +

+ + +
/datum/smite/custom_imaginary_friendCustom imaginary friend.
+ + + diff --git a/code/modules/admin/smites/immerse.html b/code/modules/admin/smites/immerse.html new file mode 100644 index 000000000000..a9b0f2ca8930 --- /dev/null +++ b/code/modules/admin/smites/immerse.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/immerse.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/immerse.dm + +

+ + +
/datum/smite/immerse"Fully immerses" the player, making them manually breathe and blink
+ + + diff --git a/code/modules/admin/smites/knot_shoes.html b/code/modules/admin/smites/knot_shoes.html new file mode 100644 index 000000000000..21a7614207f9 --- /dev/null +++ b/code/modules/admin/smites/knot_shoes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/knot_shoes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/knot_shoes.dm + +

+ + +
/datum/smite/knot_shoesTies the target's shoes
+ + + diff --git a/code/modules/admin/smites/lightning.html b/code/modules/admin/smites/lightning.html new file mode 100644 index 000000000000..08cad966ed45 --- /dev/null +++ b/code/modules/admin/smites/lightning.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/admin/smites/lightning.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/lightning.dm + +

+ + + + +
/datum/smite/lightningStrikes the target with a lightning bolt
/proc/lightningboltthis is the actual bolt effect and damage, made into its own proc because it is used elsewhere
+ + + diff --git a/code/modules/admin/smites/nugget.html b/code/modules/admin/smites/nugget.html new file mode 100644 index 000000000000..651c2ddf94b9 --- /dev/null +++ b/code/modules/admin/smites/nugget.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/nugget.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/nugget.dm + +

+ + +
/datum/smite/nuggetRips off all the limbs of the target
+ + + diff --git a/code/modules/admin/smites/phobia_ocky_icky.html b/code/modules/admin/smites/phobia_ocky_icky.html new file mode 100644 index 000000000000..be97a85ba9b8 --- /dev/null +++ b/code/modules/admin/smites/phobia_ocky_icky.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/phobia_ocky_icky.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/phobia_ocky_icky.dm + +

+ + +
/datum/smite/ocky_icky"Immerses" the player, making them unable to use some OOC terms IC
+ + + diff --git a/code/modules/admin/smites/rod.html b/code/modules/admin/smites/rod.html new file mode 100644 index 000000000000..67ac7462e0b8 --- /dev/null +++ b/code/modules/admin/smites/rod.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/rod.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/rod.dm + +

+ + +
/datum/smite/rodThrow an immovable rod at the target
+ + + diff --git a/code/modules/admin/smites/smite.html b/code/modules/admin/smites/smite.html new file mode 100644 index 000000000000..d3cf92b29ff4 --- /dev/null +++ b/code/modules/admin/smites/smite.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/smite.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/smite.dm + +

+ + +
/datum/smiteA smite, used by admins to punish players, or for their own amusement
+ + + diff --git a/code/modules/admin/smites/supply_pod.html b/code/modules/admin/smites/supply_pod.html new file mode 100644 index 000000000000..4afc35796147 --- /dev/null +++ b/code/modules/admin/smites/supply_pod.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/supply_pod.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/supply_pod.dm + +

+ + +
/datum/smite/supply_podThrows a supply pod at the target, with no item inside
+ + + diff --git a/code/modules/admin/smites/supply_pod_quick.html b/code/modules/admin/smites/supply_pod_quick.html new file mode 100644 index 000000000000..93efd13c7fb7 --- /dev/null +++ b/code/modules/admin/smites/supply_pod_quick.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/supply_pod_quick.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/smites/supply_pod_quick.dm + +

+ + +
/datum/smite/supply_pod_quickQuickly throws a supply pod at the target, optionally with an item
+ + + diff --git a/code/modules/admin/sql_ban_system.html b/code/modules/admin/sql_ban_system.html new file mode 100644 index 000000000000..03fc0f9ed918 --- /dev/null +++ b/code/modules/admin/sql_ban_system.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/admin/sql_ban_system.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/sql_ban_system.dm + +

+ + + +
/proc/retrieve_ban_cacheGets the ban cache of the passed in client +If the cache has not been generated, we start off a query +If we still have a query going for this request, we just sleep until it's recieved back
+ + + diff --git a/code/modules/admin/tag.html b/code/modules/admin/tag.html new file mode 100644 index 000000000000..cfdab547f677 --- /dev/null +++ b/code/modules/admin/tag.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/admin/tag.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/admin/tag.dm + +

+ + +
TAG_DELQuick define for readability

Define Details

+

TAG_DEL + + + +

+

Quick define for readability

+ + + diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html new file mode 100644 index 000000000000..9bf988787b17 --- /dev/null +++ b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm + +

+ + + +
/proc/_pick_listAllow me to explain +for some reason, if pick() is passed arglist(args) directly and args contains only one list +it considers it to be a list of lists +this means something like _pick(list) would fail +need to do this instead
+ + + diff --git a/code/modules/admin/verbs/adminfun.html b/code/modules/admin/verbs/adminfun.html new file mode 100644 index 000000000000..0bc49d8c7806 --- /dev/null +++ b/code/modules/admin/verbs/adminfun.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/verbs/adminfun.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/verbs/adminfun.dm + +

+ + + +
/proc/firing_squadfiring_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense
+ + + diff --git a/code/modules/admin/verbs/adminhelp.html b/code/modules/admin/verbs/adminhelp.html new file mode 100644 index 000000000000..844cb193a5c3 --- /dev/null +++ b/code/modules/admin/verbs/adminhelp.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/admin/verbs/adminhelp.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/verbs/adminhelp.dm + +

+ + + + + + + + +
/datum/admin_help_tickets
/datum/admin_help
/obj/effect/statclick/ahelpPARIAH EDIT ADDITION - ADMIN HANDLE
/proc/send2otherserverSends a message to a set of cross-communications-enabled servers using world topic calls
/proc/check_asay_linksChecks a given message to see if any of the words are something we want to treat specially, as detailed below.
+ + + diff --git a/code/modules/admin/verbs/ai_triumvirate.html b/code/modules/admin/verbs/ai_triumvirate.html new file mode 100644 index 000000000000..9b157df64f6e --- /dev/null +++ b/code/modules/admin/verbs/ai_triumvirate.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/admin/verbs/ai_triumvirate.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/verbs/ai_triumvirate.dm + +

+ + +
/datum/triple_ai_controllerThe triple ai controller handles the admin triple AI mode, if enabled. +It is first created when "Toggle AI Triumvirate" triggers it, and it can be referenced from GLOB.triple_ai_controller +After it handles roundstart business, it cleans itself up.
+ + + diff --git a/code/modules/admin/verbs/color_blind_test.html b/code/modules/admin/verbs/color_blind_test.html new file mode 100644 index 000000000000..3e3da430e68c --- /dev/null +++ b/code/modules/admin/verbs/color_blind_test.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/admin/verbs/color_blind_test.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/verbs/color_blind_test.dm + +

+ + +
/datum/colorblind_testerUsed to test the game for issues with different types of color blindness +WARNING ASSHOLE: Because we can only apply matrixes, and can't preform gamma correction +https://web.archive.org/web/20220227030606/https://ixora.io/projects/colorblindness/color-blindness-simulation-research/ +The results of this tool aren't perfect. It's way better then nothing, but IT IS NOT A PROPER SIMULATION +Please do not make us look like assholes by assuming it is. Thanks.
+ + + diff --git a/code/modules/admin/verbs/commandreport.html b/code/modules/admin/verbs/commandreport.html new file mode 100644 index 000000000000..2bfa9b5e8ece --- /dev/null +++ b/code/modules/admin/verbs/commandreport.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/admin/verbs/commandreport.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/admin/verbs/commandreport.dm + +

+ + + +
CENTCOM_PRESETPreset central command names to chose from for centcom reports.
/datum/command_report_menuDatum for holding the TGUI window for command reports.

Define Details

+

CENTCOM_PRESET + + +

+

Preset central command names to chose from for centcom reports.

+ + + diff --git a/code/modules/admin/verbs/ert.html b/code/modules/admin/verbs/ert.html new file mode 100644 index 000000000000..b29fad7f591c --- /dev/null +++ b/code/modules/admin/verbs/ert.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/admin/verbs/ert.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/admin/verbs/ert.dm + +

+ + + +
ERT_EXPERIENCED_LEADER_CHOOSE_TOPIf we spawn an ERT with the "choose experienced leader" option, select the leader from the top X playtimes
DUMMY_HUMAN_SLOT_ADMINDummy mob reserve slot for admin use

Define Details

+

DUMMY_HUMAN_SLOT_ADMIN + + +

+

Dummy mob reserve slot for admin use

ERT_EXPERIENCED_LEADER_CHOOSE_TOP + + +

+

If we spawn an ERT with the "choose experienced leader" option, select the leader from the top X playtimes

+ + + diff --git a/code/modules/admin/verbs/highlander_datum.html b/code/modules/admin/verbs/highlander_datum.html new file mode 100644 index 000000000000..f27804ba9236 --- /dev/null +++ b/code/modules/admin/verbs/highlander_datum.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/verbs/highlander_datum.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/verbs/highlander_datum.dm + +

+ + +
/datum/highlander_controllerThe highlander controller handles the admin highlander mode, if enabled. +It is first created when "there can only be one" triggers it, and it can be referenced from GLOB.highlander_controller
+ + + diff --git a/code/modules/admin/verbs/pray.html b/code/modules/admin/verbs/pray.html new file mode 100644 index 000000000000..0c242a3ddb0b --- /dev/null +++ b/code/modules/admin/verbs/pray.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/admin/verbs/pray.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/verbs/pray.dm + +

+ + + + + + + +
/proc/message_centcomUsed by communications consoles to message CentCom
/proc/message_syndicateUsed by communications consoles to message the Syndicate
/proc/nuke_requestUsed by communications consoles to request the nuclear launch codes
+ + + diff --git a/code/modules/admin/verbs/secrets.html b/code/modules/admin/verbs/secrets.html new file mode 100644 index 000000000000..9c3a0a9d10ab --- /dev/null +++ b/code/modules/admin/verbs/secrets.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/verbs/secrets.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/verbs/secrets.dm + +

+ + +
/datum/everyone_is_a_traitor_controllerMakes sure latejoining crewmembers also become traitors.
+ + + diff --git a/code/modules/admin/view_variables/debug_variables.html b/code/modules/admin/view_variables/debug_variables.html new file mode 100644 index 000000000000..5cdc65e618cc --- /dev/null +++ b/code/modules/admin/view_variables/debug_variables.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/view_variables/debug_variables.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/admin/view_variables/debug_variables.dm + +

+ + + +
/proc/debug_variableGet displayed variable in VV variable list
+ + + diff --git a/code/modules/ambient_occlusion/turf_ao.html b/code/modules/ambient_occlusion/turf_ao.html new file mode 100644 index 000000000000..f3157634dd35 --- /dev/null +++ b/code/modules/ambient_occlusion/turf_ao.html @@ -0,0 +1,52 @@ + + + + + + + code/modules/ambient_occlusion/turf_ao.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/ambient_occlusion/turf_ao.dm + +

+ + +
CALCULATE_JUNCTIONSDefine for getting a bitfield of adjacent turfs that meet a condition.

Define Details

+

CALCULATE_JUNCTIONS + + + +

+

Define for getting a bitfield of adjacent turfs that meet a condition.

+

Arguments:

+ +

Example:

+ +

NOTICE:

+
+ + + diff --git a/code/modules/antagonists/_common/antag_hud.html b/code/modules/antagonists/_common/antag_hud.html new file mode 100644 index 000000000000..4566241dde29 --- /dev/null +++ b/code/modules/antagonists/_common/antag_hud.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/_common/antag_hud.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/_common/antag_hud.dm + +

+ + + +
/datum/atom_hud/alternate_appearance/basic/has_antagonistAn alternate appearance that will only show if you have the antag datum
/datum/atom_hud/alternate_appearance/basic/antagonist_hudAn alternate appearance that will show all the antagonists this mob has
+ + + diff --git a/code/modules/antagonists/_common/antag_spawner.html b/code/modules/antagonists/_common/antag_spawner.html new file mode 100644 index 000000000000..891e8c999491 --- /dev/null +++ b/code/modules/antagonists/_common/antag_spawner.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/_common/antag_spawner.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/_common/antag_spawner.dm + +

+ + + + + + +
/obj/item/antag_spawner/contractWIZARD
/obj/item/antag_spawner/nuke_opsBORGS AND OPERATIVES +Device to request reinforcments from ghost pop
/obj/item/antag_spawner/nuke_ops/clownCLOWN OP
/obj/item/antag_spawner/nuke_ops/borg_teleSYNDICATE BORG
/obj/item/antag_spawner/slaughter_demonSLAUGHTER DEMON
+ + + diff --git a/code/modules/antagonists/abductor/abductee/abductee.html b/code/modules/antagonists/abductor/abductee/abductee.html new file mode 100644 index 000000000000..1cd42b744264 --- /dev/null +++ b/code/modules/antagonists/abductor/abductee/abductee.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/abductor/abductee/abductee.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/abductor/abductee/abductee.dm + +

+ + +
/datum/antagonist/abductee
+ + + diff --git a/code/modules/antagonists/blob/blob.html b/code/modules/antagonists/blob/blob.html new file mode 100644 index 000000000000..157bcef48ba2 --- /dev/null +++ b/code/modules/antagonists/blob/blob.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/blob/blob.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/blob/blob.dm + +

+ + +
/datum/antagonist/blob/infectionA subtype of blob meant to represent the infective version.
+ + + diff --git a/code/modules/antagonists/blob/blob_mobs.html b/code/modules/antagonists/blob/blob_mobs.html new file mode 100644 index 000000000000..e36949fba4f8 --- /dev/null +++ b/code/modules/antagonists/blob/blob_mobs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/blob/blob_mobs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/blob/blob_mobs.dm + +

+ + +
/mob/living/simple_animal/hostile/blobretreat doesn't obey pass_flags, so won't work on blob mobs.
+ + + diff --git a/code/modules/antagonists/blob/structures/_blob.html b/code/modules/antagonists/blob/structures/_blob.html new file mode 100644 index 000000000000..419f2df3b443 --- /dev/null +++ b/code/modules/antagonists/blob/structures/_blob.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/blob/structures/_blob.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/blob/structures/_blob.dm + +

+ + +
/obj/structure/blob/special
+ + + diff --git a/code/modules/antagonists/changeling/changeling.html b/code/modules/antagonists/changeling/changeling.html new file mode 100644 index 000000000000..2c929f9a4603 --- /dev/null +++ b/code/modules/antagonists/changeling/changeling.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/antagonists/changeling/changeling.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/changeling/changeling.dm + +

+ + + + +
LING_FAKEDEATH_TIMEThe duration of the fakedeath coma.
LING_ABSORB_RECENT_SPEECHThe number of recent spoken lines to gain on absorbing a mob
FORMAT_CHEM_CHARGES_TEXTHelper to format the text that gets thrown onto the chem hud element.

Define Details

+

FORMAT_CHEM_CHARGES_TEXT + + + +

+

Helper to format the text that gets thrown onto the chem hud element.

LING_ABSORB_RECENT_SPEECH + + +

+

The number of recent spoken lines to gain on absorbing a mob

LING_FAKEDEATH_TIME + + +

+

The duration of the fakedeath coma.

+ + + diff --git a/code/modules/antagonists/changeling/fallen_changeling.html b/code/modules/antagonists/changeling/fallen_changeling.html new file mode 100644 index 000000000000..0804639c7404 --- /dev/null +++ b/code/modules/antagonists/changeling/fallen_changeling.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/changeling/fallen_changeling.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/changeling/fallen_changeling.dm + +

+ + +
/datum/antagonist/fallen_changelinga changeling that has lost their powers. does nothing, other than signify they suck
+ + + diff --git a/code/modules/antagonists/changeling/powers/mutations.html b/code/modules/antagonists/changeling/powers/mutations.html new file mode 100644 index 000000000000..0d1b9e0229ca --- /dev/null +++ b/code/modules/antagonists/changeling/powers/mutations.html @@ -0,0 +1,41 @@ + + + + + + + code/modules/antagonists/changeling/powers/mutations.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/changeling/powers/mutations.dm + +

+ + + + + + +
/datum/action/changeling/weapon/arm_blade*
+|ARM BLADE| +*
/datum/action/changeling/weapon/tentacle
+|COMBAT TENTACLES
| +*
*
/datum/action/changeling/weapon/shield
+|SHIELD
| +*
/datum/action/changeling/suit/organic_space_suit
+|SPACE SUIT + HELMET
| +*
*
/datum/action/changeling/suit/armor*
+|ARMOR| +*
+ + + diff --git a/code/modules/antagonists/clown_ops/clown_weapons.html b/code/modules/antagonists/clown_ops/clown_weapons.html new file mode 100644 index 000000000000..f660ffec9274 --- /dev/null +++ b/code/modules/antagonists/clown_ops/clown_weapons.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/clown_ops/clown_weapons.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/clown_ops/clown_weapons.dm + +

+ + +
BANANA_SHOES_RECHARGE_RATERecharging rate in PPS (peels per second)

Define Details

+

BANANA_SHOES_RECHARGE_RATE + + +

+

Recharging rate in PPS (peels per second)

+ + + diff --git a/code/modules/antagonists/creep/creep.html b/code/modules/antagonists/creep/creep.html new file mode 100644 index 000000000000..e7bc090530b0 --- /dev/null +++ b/code/modules/antagonists/creep/creep.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/creep/creep.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/creep/creep.dm + +

+ + +
/datum/objective/assassinate/obsessedCREEPY objectives (few chosen per obsession)
+ + + diff --git a/code/modules/antagonists/cult/cult.html b/code/modules/antagonists/cult/cult.html new file mode 100644 index 000000000000..c4801962e7fe --- /dev/null +++ b/code/modules/antagonists/cult/cult.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/cult/cult.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/cult/cult.dm + +

+ + + +
/proc/is_convertable_to_cultReturns whether the given mob is convertable to the blood cult
+ + + diff --git a/code/modules/antagonists/cult/cult_comms.html b/code/modules/antagonists/cult/cult_comms.html new file mode 100644 index 000000000000..9dd2a4fc9cde --- /dev/null +++ b/code/modules/antagonists/cult/cult_comms.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/cult/cult_comms.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/cult/cult_comms.dm + +

+ + +
/datum/action/innate/cult/master/pulseELDRITCH PULSE
+ + + diff --git a/code/modules/antagonists/cult/cult_items.html b/code/modules/antagonists/cult/cult_items.html new file mode 100644 index 000000000000..2ed8fdef26b4 --- /dev/null +++ b/code/modules/antagonists/cult/cult_items.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/antagonists/cult/cult_items.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/cult/cult_items.dm + +

+ + + +
MAX_SHUTTLE_CURSEShow many times can the shuttle be cursed?
SHUTTLE_CURSE_OMFG_TIMESPANif the max number of shuttle curses are used within this duration, the entire cult gets an achievement

Define Details

+

MAX_SHUTTLE_CURSES + + +

+

how many times can the shuttle be cursed?

SHUTTLE_CURSE_OMFG_TIMESPAN + + +

+

if the max number of shuttle curses are used within this duration, the entire cult gets an achievement

+ + + diff --git a/code/modules/antagonists/cult/cult_structure_altar.html b/code/modules/antagonists/cult/cult_structure_altar.html new file mode 100644 index 000000000000..607a1b8ea49f --- /dev/null +++ b/code/modules/antagonists/cult/cult_structure_altar.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/cult/cult_structure_altar.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/cult/cult_structure_altar.dm + +

+ + +
ELDRITCH_WHETSTONESome defines for items the cult altar can create.

Define Details

+

ELDRITCH_WHETSTONE + + +

+

Some defines for items the cult altar can create.

+ + + diff --git a/code/modules/antagonists/cult/cult_structure_archives.html b/code/modules/antagonists/cult/cult_structure_archives.html new file mode 100644 index 000000000000..f451df44d6de --- /dev/null +++ b/code/modules/antagonists/cult/cult_structure_archives.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/cult/cult_structure_archives.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/cult/cult_structure_archives.dm + +

+ + +
CULT_BLINDFOLDSome defines for items the cult archives can create.

Define Details

+

CULT_BLINDFOLD + + +

+

Some defines for items the cult archives can create.

+ + + diff --git a/code/modules/antagonists/cult/cult_structure_forge.html b/code/modules/antagonists/cult/cult_structure_forge.html new file mode 100644 index 000000000000..aaaecd90800d --- /dev/null +++ b/code/modules/antagonists/cult/cult_structure_forge.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/cult/cult_structure_forge.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/cult/cult_structure_forge.dm + +

+ + +
NARSIE_ARMORSome defines for items the daemon forge can create.

Define Details

+

NARSIE_ARMOR + + +

+

Some defines for items the daemon forge can create.

+ + + diff --git a/code/modules/antagonists/cult/runes.html b/code/modules/antagonists/cult/runes.html new file mode 100644 index 000000000000..732d91987b92 --- /dev/null +++ b/code/modules/antagonists/cult/runes.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/cult/runes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/cult/runes.dm + +

+ + + +
/proc/generate_cult_rune_typesReturns an associated list of rune types. [rune.cultist_name] = [typepath]
+ + + diff --git a/code/modules/antagonists/disease/disease_abilities.html b/code/modules/antagonists/disease/disease_abilities.html new file mode 100644 index 000000000000..eb06eb4b4c75 --- /dev/null +++ b/code/modules/antagonists/disease/disease_abilities.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/antagonists/disease/disease_abilities.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/disease/disease_abilities.dm + +

+ + + + + + +
/datum/disease_ability/symptom/mildBASE SYMPTOM TYPES
/datum/disease_ability/symptom/mild/coughMILD
/datum/disease_ability/symptom/medium/sheddingMEDIUM
/datum/disease_ability/symptom/powerful/firePOWERFUL
/datum/disease_ability/symptom/powerful/heal/starlightHEALING SUBTYPE
+ + + diff --git a/code/modules/antagonists/gang/handler.html b/code/modules/antagonists/gang/handler.html new file mode 100644 index 000000000000..65ee6399c174 --- /dev/null +++ b/code/modules/antagonists/gang/handler.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/gang/handler.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/gang/handler.dm + +

+ + +
/datum/gang_handlerA special datum used by the families gamemode and dynamic rulesets to centralize code. "Family" and "gang" used interchangeably in code.
+ + + diff --git a/code/modules/antagonists/gang/themes.html b/code/modules/antagonists/gang/themes.html new file mode 100644 index 000000000000..c95a278aba30 --- /dev/null +++ b/code/modules/antagonists/gang/themes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/gang/themes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/gang/themes.dm + +

+ + +
/datum/gang_themeGang themes for the Families gamemode. Used to determine the RP theme of the round, what gangs are present, and what their objectives are.
+ + + diff --git a/code/modules/antagonists/heretic/heretic_antag.html b/code/modules/antagonists/heretic/heretic_antag.html new file mode 100644 index 000000000000..23fec9559e51 --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_antag.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/heretic/heretic_antag.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/heretic/heretic_antag.dm + +

+ + + + + +
/datum/antagonist/hereticThe heretic antagonist itself.
/datum/objective/minor_sacrificeHeretic's minor sacrifice objective. "Minor sacrifices" includes anyone.
/datum/objective/major_sacrificeHeretic's major sacrifice objective. "Major sacrifices" are heads of staff.
/datum/objective/heretic_researchHeretic's research objective. "Research" is heretic knowledge nodes (You start with some).
+ + + diff --git a/code/modules/antagonists/heretic/heretic_knowledge.html b/code/modules/antagonists/heretic/heretic_knowledge.html new file mode 100644 index 000000000000..9e83bd061f63 --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_knowledge.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/antagonists/heretic/heretic_knowledge.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/heretic/heretic_knowledge.dm + +

+ + + +
/datum/heretic_knowledgeThe datums that allow heretics to progress and learn new spells and rituals.
KNOWLEDGE_RITUAL_POINTSThe amount of knowledge points the knowledge ritual gives on success.

Define Details

+

KNOWLEDGE_RITUAL_POINTS + + +

+

The amount of knowledge points the knowledge ritual gives on success.

+ + + diff --git a/code/modules/antagonists/heretic/heretic_living_heart.html b/code/modules/antagonists/heretic/heretic_living_heart.html new file mode 100644 index 000000000000..42acd8b534c6 --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_living_heart.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/heretic/heretic_living_heart.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/heretic/heretic_living_heart.dm + +

+ + +
/datum/component/living_heartApplied to a heart to turn it into a heretic's 'living heart'. +The living heart is what they use to track people they need to sacrifice.
+ + + diff --git a/code/modules/antagonists/heretic/heretic_monsters.html b/code/modules/antagonists/heretic/heretic_monsters.html new file mode 100644 index 000000000000..18fc663dc8a9 --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_monsters.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/heretic/heretic_monsters.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/heretic/heretic_monsters.dm + +

+ + +
/datum/antagonist/heretic_monsterTracking reasons
+ + + diff --git a/code/modules/antagonists/heretic/influences.html b/code/modules/antagonists/heretic/influences.html new file mode 100644 index 000000000000..b535af0293ca --- /dev/null +++ b/code/modules/antagonists/heretic/influences.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/antagonists/heretic/influences.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/heretic/influences.dm + +

+ + + +
NUM_INFLUENCES_PER_HERETICThe number of influences spawned per heretic
/datum/reality_smash_tracker#Reality smash tracker

Define Details

+

NUM_INFLUENCES_PER_HERETIC + + +

+

The number of influences spawned per heretic

+ + + diff --git a/code/modules/antagonists/heretic/knowledge/ash_lore.html b/code/modules/antagonists/heretic/knowledge/ash_lore.html new file mode 100644 index 000000000000..9e7dd1081948 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/ash_lore.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/ash_lore.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/ash_lore.dm + +

+ + +
/datum/heretic_knowledge/limited_amount/starting/base_ashGoes as follows:
+ + + diff --git a/code/modules/antagonists/heretic/knowledge/blade_lore.html b/code/modules/antagonists/heretic/knowledge/blade_lore.html new file mode 100644 index 000000000000..0a9f5d427da9 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/blade_lore.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/blade_lore.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/heretic/knowledge/blade_lore.dm + +

+ + + + +
/datum/heretic_knowledge/limited_amount/starting/base_bladeGoes as follows:
BLADE_DANCE_COOLDOWNThe cooldown duration between trigers of blade dance
BLOOD_FLOW_PER_SEVERITYThe amount of blood flow reduced per level of severity of gained bleeding wounds for Stance of the Scarred Duelist.

Define Details

+

BLADE_DANCE_COOLDOWN + + +

+

The cooldown duration between trigers of blade dance

BLOOD_FLOW_PER_SEVERITY + + +

+

The amount of blood flow reduced per level of severity of gained bleeding wounds for Stance of the Scarred Duelist.

+ + + diff --git a/code/modules/antagonists/heretic/knowledge/flesh_lore.html b/code/modules/antagonists/heretic/knowledge/flesh_lore.html new file mode 100644 index 000000000000..18c7176d2bb9 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/flesh_lore.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/flesh_lore.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/heretic/knowledge/flesh_lore.dm + +

+ + + + +
GHOUL_MAX_HEALTHThe max amount of health a ghoul has.
MUTE_MAX_HEALTHThe max amount of health a voiceless dead has.
/datum/heretic_knowledge/limited_amount/starting/base_fleshGoes as follows:

Define Details

+

GHOUL_MAX_HEALTH + + +

+

The max amount of health a ghoul has.

MUTE_MAX_HEALTH + + +

+

The max amount of health a voiceless dead has.

+ + + diff --git a/code/modules/antagonists/heretic/knowledge/rust_lore.html b/code/modules/antagonists/heretic/knowledge/rust_lore.html new file mode 100644 index 000000000000..bbd3b4e1ed87 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/rust_lore.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/rust_lore.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/rust_lore.dm + +

+ + + +
/datum/heretic_knowledge/limited_amount/starting/base_rustGoes as follows:
/datum/rust_spread#Rust spread datum
+ + + diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.html b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.html new file mode 100644 index 000000000000..48740063c6b1 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm + +

+ + + +
/atom/movable/screen/alert/status_effect/unholy_determinationScreen alert for the below status effect.
/datum/status_effect/unholy_determinationThe buff given to people within the shadow realm to assist them in surviving.
+ + + diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.html b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.html new file mode 100644 index 000000000000..4cc91b22e89d --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm + +

+ + + + +
SACRIFICE_SLEEP_DURATIONHow long we put the target so sleep for (during sacrifice).
SACRIFICE_REALM_DURATIONHow long sacrifices must stay in the shadow realm to survive.
/datum/heretic_knowledge/hunt_and_sacrificeAllows the heretic to sacrifice living heart targets.

Define Details

+

SACRIFICE_REALM_DURATION + + +

+

How long sacrifices must stay in the shadow realm to survive.

SACRIFICE_SLEEP_DURATION + + +

+

How long we put the target so sleep for (during sacrifice).

+ + + diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.html b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.html new file mode 100644 index 000000000000..a9ac466e0555 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm + +

+ + + +
/datum/map_template/heretic_sacrifice_levelA map template loaded in when heretics are created. +Hereteic sacrifices are sent here when completed.
/obj/effect/landmark/hereticLardmarks meant to designate where heretic sacrifices are sent.
+ + + diff --git a/code/modules/antagonists/heretic/knowledge/side_void_blade.html b/code/modules/antagonists/heretic/knowledge/side_void_blade.html new file mode 100644 index 000000000000..1379fdf3fff3 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/side_void_blade.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/side_void_blade.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/heretic/knowledge/side_void_blade.dm + +

+ + + +
RISEN_MAX_HEALTHThe max health given to Shattered Risen
/obj/item/risen_handThe "hand" "weapon" used by shattered risen

Define Details

+

RISEN_MAX_HEALTH + + +

+

The max health given to Shattered Risen

+ + + diff --git a/code/modules/antagonists/heretic/knowledge/starting_lore.html b/code/modules/antagonists/heretic/knowledge/starting_lore.html new file mode 100644 index 000000000000..8d771bba9c6e --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/starting_lore.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/starting_lore.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/starting_lore.dm + +

+ + + + + +
/proc/initialize_starting_knowledgeReturns a list of all heretic knowledge TYPEPATHS +that have route set to PATH_START.
/datum/heretic_knowledge/living_heartThe Living Heart heretic knowledge.
/datum/heretic_knowledge/amber_focusAllows the heretic to craft a spell focus. +They require a focus to cast advanced spells.
+ + + diff --git a/code/modules/antagonists/heretic/knowledge/void_lore.html b/code/modules/antagonists/heretic/knowledge/void_lore.html new file mode 100644 index 000000000000..232b7d996264 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/void_lore.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/void_lore.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/void_lore.dm + +

+ + +
/datum/heretic_knowledge/limited_amount/starting/base_voidGoes as follows:
+ + + diff --git a/code/modules/antagonists/heretic/magic/ash_ascension.html b/code/modules/antagonists/heretic/magic/ash_ascension.html new file mode 100644 index 000000000000..1e0296746854 --- /dev/null +++ b/code/modules/antagonists/heretic/magic/ash_ascension.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/antagonists/heretic/magic/ash_ascension.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/heretic/magic/ash_ascension.dm + +

+ + + + +
/datum/action/cooldown/spell/fire_swornCreates a constant Ring of Fire around the caster for a set duration of time, which follows them.
/datum/status_effect/fire_ringSimple status effect for adding a ring of fire around a mob.
/datum/action/cooldown/spell/fire_cascadeCreates one, large, expanding ring of fire around the caster, which does not follow them.
+ + + diff --git a/code/modules/antagonists/heretic/transmutation_rune.html b/code/modules/antagonists/heretic/transmutation_rune.html new file mode 100644 index 000000000000..30182e566b2c --- /dev/null +++ b/code/modules/antagonists/heretic/transmutation_rune.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/heretic/transmutation_rune.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/heretic/transmutation_rune.dm + +

+ + + +
/obj/effect/heretic_runeThe heretic's rune, which they use to complete transmutation rituals.
/obj/effect/heretic_rune/bigA 3x3 heretic rune. The kind heretics actually draw in game.
+ + + diff --git a/code/modules/antagonists/hypnotized/hypnotized.html b/code/modules/antagonists/hypnotized/hypnotized.html new file mode 100644 index 000000000000..e6413774fd45 --- /dev/null +++ b/code/modules/antagonists/hypnotized/hypnotized.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/hypnotized/hypnotized.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/hypnotized/hypnotized.dm + +

+ + +
/datum/antagonist/hypnotizedAntag datum associated with the hypnosis brain trauma, used for displaying objectives and antag hud
+ + + diff --git a/code/modules/antagonists/malf_ai/datum_malf_ai.html b/code/modules/antagonists/malf_ai/datum_malf_ai.html new file mode 100644 index 000000000000..31153ee508ad --- /dev/null +++ b/code/modules/antagonists/malf_ai/datum_malf_ai.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/malf_ai/datum_malf_ai.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/malf_ai/datum_malf_ai.dm + +

+ + +
PROB_SPECIALChance the malf AI gets a single special objective that isn't assassinate.

Define Details

+

PROB_SPECIAL + + +

+

Chance the malf AI gets a single special objective that isn't assassinate.

+ + + diff --git a/code/modules/antagonists/nightmare/nightmare_equipment.html b/code/modules/antagonists/nightmare/nightmare_equipment.html new file mode 100644 index 000000000000..5d75daa7a9a1 --- /dev/null +++ b/code/modules/antagonists/nightmare/nightmare_equipment.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/nightmare/nightmare_equipment.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/nightmare/nightmare_equipment.dm + +

+ + +
/obj/item/light_eaterAn armblade that instantly snuffs out lights
+ + + diff --git a/code/modules/antagonists/nightmare/nightmare_organs.html b/code/modules/antagonists/nightmare/nightmare_organs.html new file mode 100644 index 000000000000..31607559b844 --- /dev/null +++ b/code/modules/antagonists/nightmare/nightmare_organs.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/antagonists/nightmare/nightmare_organs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/nightmare/nightmare_organs.dm + +

+ + + +
HEART_RESPAWN_THRESHHOLDHow many life ticks are required for the nightmare's heart to revive the nightmare.
HEART_SPECIAL_SHADOWIFYA special flag value used to make a nightmare heart not grant a light eater. Appears to be unused.

Define Details

+

HEART_RESPAWN_THRESHHOLD + + +

+

How many life ticks are required for the nightmare's heart to revive the nightmare.

HEART_SPECIAL_SHADOWIFY + + +

+

A special flag value used to make a nightmare heart not grant a light eater. Appears to be unused.

+ + + diff --git a/code/modules/antagonists/nightmare/nightmare_species.html b/code/modules/antagonists/nightmare/nightmare_species.html new file mode 100644 index 000000000000..a62551cc57eb --- /dev/null +++ b/code/modules/antagonists/nightmare/nightmare_species.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/nightmare/nightmare_species.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/nightmare/nightmare_species.dm + +

+ + +
/datum/species/shadow/nightmareA highly aggressive subset of shadowlings
+ + + diff --git a/code/modules/antagonists/nukeop/nukeop.html b/code/modules/antagonists/nukeop/nukeop.html new file mode 100644 index 000000000000..2db50e3f879d --- /dev/null +++ b/code/modules/antagonists/nukeop/nukeop.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/nukeop/nukeop.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/nukeop/nukeop.dm + +

+ + + +
/proc/syndies_escapedReturns whether or not syndicate operatives escaped.
+ + + diff --git a/code/modules/antagonists/revolution/enemy_of_the_revolution.html b/code/modules/antagonists/revolution/enemy_of_the_revolution.html new file mode 100644 index 000000000000..b2233bbd2fec --- /dev/null +++ b/code/modules/antagonists/revolution/enemy_of_the_revolution.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/revolution/enemy_of_the_revolution.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/revolution/enemy_of_the_revolution.dm + +

+ + +
/datum/antagonist/enemy_of_the_revolutionWhen the revolution wins, any remaining heads and security become Enemies of the Revolution. +Previously being nonantagonists, they only have one simple objective: survive!
+ + + diff --git a/code/modules/antagonists/revolution/enemy_of_the_state.html b/code/modules/antagonists/revolution/enemy_of_the_state.html new file mode 100644 index 000000000000..780a8046388e --- /dev/null +++ b/code/modules/antagonists/revolution/enemy_of_the_state.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/revolution/enemy_of_the_state.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/revolution/enemy_of_the_state.dm + +

+ + +
/datum/antagonist/enemy_of_the_stateWhen the station wins, any remaining living headrevs become Enemies of the State, a small solo antagonist. +They either have the choice to fuck off and do their own thing, or try and regain their honor with a hijack.
+ + + diff --git a/code/modules/antagonists/slaughter/imp_antag.html b/code/modules/antagonists/slaughter/imp_antag.html new file mode 100644 index 000000000000..cb72246373ef --- /dev/null +++ b/code/modules/antagonists/slaughter/imp_antag.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/slaughter/imp_antag.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/slaughter/imp_antag.dm + +

+ + +
/datum/antagonist/imp
+ + + diff --git a/code/modules/antagonists/slaughter/slaughter.html b/code/modules/antagonists/slaughter/slaughter.html new file mode 100644 index 000000000000..6864ef88f97e --- /dev/null +++ b/code/modules/antagonists/slaughter/slaughter.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/slaughter/slaughter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/slaughter/slaughter.dm + +

+ + + +
/mob/living/simple_animal/hostile/impImp
/mob/living/simple_animal/hostile/imp/slaughterThe Man Behind The Slaughter
+ + + diff --git a/code/modules/antagonists/traitor.html b/code/modules/antagonists/traitor.html new file mode 100644 index 000000000000..f443a02e81c7 --- /dev/null +++ b/code/modules/antagonists/traitor.html @@ -0,0 +1,68 @@ + + + + + + + code/modules/antagonists/traitor/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Progression Traitor Balance Guide + +

+ + +

This guide will explain how the values for progression traitor works, how to balance progression traitors and what you should NOT do when balancing. +This guide will only explain progression values.

+Definitions +
    +
  • Progression points OR Progression - A currency that controls what uplink items a player can purchase and what objectives they have accessible to them. Gained passively or by completing objectives and has diminishing returns as it strays from the expected progression
  • +
  • Expected Progression - A global value that increments by a value of 1 minute every minute, representing the 'time' that a player should be at if they had not completed any objectives.
  • +
  • Objectives - An activity or job that a player can take for rewards such as TC and progression points.
  • +
  • Player - The user(s) that are playing as the antagonist in this new system.
  • +
  • Expected deviance - The amount of deviance that can be expected from the minimum and maximum progressions. Usually calculated by progression_scaling_deviance + progression_scaling_deviance * global_progression_deviance_required (explained further down)
  • +
+How it works +

This section will explain how the entire balance system works. This is an overview of the entire system.

+Progression +

Progression points is passively given to a player, and are represented as minutes (or time values) in code. The round has its own 'expected progression', which is the progression value that you'd normally have if you hadn't completed any objectives whatsoever. This is the baseline progression that all players will be at unless they're a latejoiner, and it acts as the basis for determining how much progression points a player should get over time and the cost of objectives for a specific player, if they deviate too much from this value. The idea is that they will slowly drift back towards the expected progression if they do nothing and it becomes harder for them to progress as they deviate further from the expected progression. The amount that is passively given can also vary depending on how many players there are, so that at lower populations, expected progression rises more slowly.

+Objectives +

Objectives are worth a certain amount of progression points, determined by the code. However, this can be scaled to be less if the player taking them is ahead of the expected progression. This scales exponentially, so that as a player deviates further from the expected progression, the reward diminishes exponentially, up to a reduced value of 90%. The similar thing happens in the opposite direction, with people who are lower than the expected progression getting more progression than usual for completing objectives.

+How to balanceThe traitor subsystem +
    +
  • newjoin_progression_coeff - The coefficient multiplied by the expected progression for new joining traitors to calculate their starting progression, so that they don't start from scratch
  • +
  • progression_scaling_deviance - The value that the entire system revolves around. This determines how your disadvantages are calculated, if you stray from the expected progression. Having a progression value that is progression_scaling_deviance minutes off of the expected progression means that you won't get any progression at all, and if objectives were configured to suit this, you'd have the highest reduction you can possibly get. From the expected progression to this value, it scales linearly and it also works in the opposite direction.
  • +
  • current_progression_scaling - Defined at compile time, this determines how fast expected progression scales. So if you have it set to 0.5 MINUTES, it'll take twice as long to unlock uplink items and new objectives.
  • +
  • CONFIG:TRAITOR_IDEAL_PLAYER_COUNT - The ideal player count before expected progression stops increasing. If the living player list gets below this value, the current progression scaling will be multiplied by player_count/traitor_ideal_player_count. In essence, this makes it so that progression scales more slowly when there isn't a lot of people alive.
  • +
+

If you want to balance how fast the system progresses, you should look at modifying current_progression_scaling. If you want to balance how far someone should be allowed to deviate, you should look at modifying progression-scaling-deviance

+Objectives +
    +
  • progression_minimum - The minimum number of progression points required before this objective can show up as a potential objective
  • +
  • progression_maximum - The maximum number of progression points before this objective stops showing up as a potential objective, used to prevent roundstart objectives from showing up during the late game.
  • +
  • progression_reward - The progression reward you get from completing an objective. This is the base value, and can also be a two element list of numbers if you want it to be random. This value is then scaled depending on whether a player is ahead or behind the expected progression
  • +
  • global_progression_influence_intensity - Determines how influential expected progression will affect the progression reward of this objective. Set to 0 to disable.
  • +
  • global_progression_deviance_required - Determines how much deviance is required before the scaling kicks in, to give objectives more leeway so that at the progression_scaling_deviance, it doesn't scale to 90% immediately.
  • +
  • progression_cost_coeff_deviance - This determines the randomness of the progression reward, to prevent all of the scaling from looking the same. Becomes a lot less significant as the scaling variable gets closer to 1.
  • +
+

If you want to balance the expected timeframe an objective should be available, you should look at changing the progression_minimum or progression_maximum. If you want to balance how much objectives reward, you may want to look at modifying progression_reward. If you want to look at balancing the cost of an objective depending on the expected progression, you may want to look at global_progression_influence_intensity. If you want to look at decreasing or increasing the deviance allowed before objectives become worthless progression-wise, you may want to look at modifying global_progression_deviance_required

+Uplink Items +
    +
  • progression_minimum - The minimum number of progression points required to purchase this uplink item.
  • +
+What NOT to do when balancingOvercompensate +

You do not want to overcompensate variables such as progression_minimum and progression_maximum. Such values need to be an accurate representation of roughly around the time a player should unlock the objective or uplink item. progression_scaling_deviance is supposed to represents the limit that a casual player can be at before it becomes significantly harder for them to progress throughout. You should expect people to be within progression_scaling_deviance + progression_scaling_deviance * global_progression_deviance_required. (Assuming progression_scaling_deviance is 20 minutes and progression_scaling_deviance_required is 0.5, 20 + 0.5 * 20 = 30; this gives us a value of 30 minutes). This is the expected deviance.

+Reward large amounts of progression points +

Progression points are passively gained, so rewarding large amounts of progression points will let people bypass the scaling as they'll immediately jump to an absurd value. A good rule of thumb is to always keep the reward within or below the expected deviance.

+ + + diff --git a/code/modules/antagonists/traitor/components/traitor_objective_helpers.html b/code/modules/antagonists/traitor/components/traitor_objective_helpers.html new file mode 100644 index 000000000000..e6a68cb40209 --- /dev/null +++ b/code/modules/antagonists/traitor/components/traitor_objective_helpers.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/traitor/components/traitor_objective_helpers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/traitor/components/traitor_objective_helpers.dm + +

+ + +
/datum/component/traitor_objective_registerHelper component that registers signals on an object +This is not necessary to use and gives little control over the conditions
+ + + diff --git a/code/modules/antagonists/traitor/components/traitor_objective_limit_per_time.html b/code/modules/antagonists/traitor/components/traitor_objective_limit_per_time.html new file mode 100644 index 000000000000..2f68347ffcef --- /dev/null +++ b/code/modules/antagonists/traitor/components/traitor_objective_limit_per_time.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/traitor/components/traitor_objective_limit_per_time.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/traitor/components/traitor_objective_limit_per_time.dm + +

+ + +
/datum/component/traitor_objective_limit_per_timeHelper component to track events on
+ + + diff --git a/code/modules/antagonists/traitor/components/traitor_objective_mind_tracker.html b/code/modules/antagonists/traitor/components/traitor_objective_mind_tracker.html new file mode 100644 index 000000000000..56b11b8c5d4c --- /dev/null +++ b/code/modules/antagonists/traitor/components/traitor_objective_mind_tracker.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/traitor/components/traitor_objective_mind_tracker.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/traitor/components/traitor_objective_mind_tracker.dm + +

+ + +
/datum/component/traitor_objective_mind_trackerHelper component to track events on
+ + + diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.html b/code/modules/antagonists/traitor/equipment/Malf_Modules.html new file mode 100644 index 000000000000..8fac7c8f8abf --- /dev/null +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.html @@ -0,0 +1,48 @@ + + + + + + + code/modules/antagonists/traitor/equipment/Malf_Modules.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/traitor/equipment/Malf_Modules.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + +
/datum/action/innate/aiThe malf AI action subtype. All malf actions are subtypes of this.
/datum/action/innate/ai/rangedFramework for ranged abilities that can have different effects by left-clicking stuff.
/datum/ai_moduleThe base module type, which holds info about each ability.
/datum/ai_module/destructiveModules causing destruction
/datum/ai_module/utilityModules with stealthy and utility uses
/datum/ai_module/upgradeModules that are improving AI abilities and assets
/datum/ai_module/destructive/nuke_stationDoomsday Device: Starts the self-destruct timer. It can only be stopped by killing the AI completely.
/datum/ai_module/destructive/lockdownHostile Station Lockdown: Locks, bolts, and electrifies every airlock on the station. After 90 seconds, the doors reset.
/datum/ai_module/destructive/override_machineOverride Machine: Allows the AI to override a machine, animating it into an angry, living version of itself.
/datum/ai_module/destructive/destroy_rcdDestroy RCDs: Detonates all non-cyborg RCDs on the station.
/datum/ai_module/destructive/overload_machineOverload Machine: Allows the AI to overload a machine, detonating it after a delay. Two uses per purchase.
/datum/ai_module/destructive/blackoutBlackout: Overloads a random number of lights across the station. Three uses.
/datum/ai_module/destructive/megahonkHIGH IMPACT HONKING
/datum/ai_module/utility/place_cyborg_transformerRobotic Factory: Places a large machine that converts humans that go through it into cyborgs. Unlocking this ability removes shunting.
/datum/ai_module/utility/break_air_alarmsAir Alarm Safety Override: Unlocks the ability to enable flooding on all air alarms.
/datum/ai_module/utility/break_fire_alarmsThermal Sensor Override: Unlocks the ability to disable all fire alarms from doing their job.
/datum/ai_module/utility/emergency_lightsDisable Emergency Lights
/datum/ai_module/utility/reactivate_camerasReactivate Camera Network: Reactivates up to 30 cameras across the station.
/datum/ai_module/upgrade/upgrade_camerasUpgrade Camera Network: EMP-proofs all cameras, in addition to giving them X-ray vision.
/datum/ai_module/upgrade/upgrade_turretsAI Turret Upgrade: Increases the health and damage of all turrets.
/datum/ai_module/upgrade/eavesdropEnhanced Surveillance: Enables AI to hear conversations going on near its active vision.
/datum/ai_module/upgrade/mecha_dominationUnlock Mech Domination: Unlocks the ability to dominate mechs. Big shocker, right?
+ + + diff --git a/code/modules/antagonists/traitor/equipment/module_picker.html b/code/modules/antagonists/traitor/equipment/module_picker.html new file mode 100644 index 000000000000..b9198d69b49f --- /dev/null +++ b/code/modules/antagonists/traitor/equipment/module_picker.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/traitor/equipment/module_picker.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/traitor/equipment/module_picker.dm + +

+ + +
/datum/module_pickerThe datum and interface for the malf unlock menu, which lets them choose actions to unlock.
+ + + diff --git a/code/modules/antagonists/traitor/objective_category.html b/code/modules/antagonists/traitor/objective_category.html new file mode 100644 index 000000000000..76045a1c8053 --- /dev/null +++ b/code/modules/antagonists/traitor/objective_category.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/antagonists/traitor/objective_category.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/traitor/objective_category.dm + +

+ + + +
/datum/traitor_category_handlerThe traitor category handler. This is where the probability of all objectives are managed.
/datum/traitor_objective_categoryThe objective category. +Used to group up entire objectives into 1 weight objects to prevent having a +higher chance of getting an objective due to an increased number of different objective subtypes. +These are nothing but informational holders and will have no other purpose.
+ + + diff --git a/code/modules/antagonists/traitor/objectives/smuggling.html b/code/modules/antagonists/traitor/objectives/smuggling.html new file mode 100644 index 000000000000..15ad749261fe --- /dev/null +++ b/code/modules/antagonists/traitor/objectives/smuggling.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/traitor/objectives/smuggling.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/traitor/objectives/smuggling.dm + +

+ + +
/datum/traitor_objective/smugglesmuggle! bring a traitor item from its arrival area to the cargo shuttle, where the objective completes on selling the item
+ + + diff --git a/code/modules/antagonists/traitor/traitor_objective.html b/code/modules/antagonists/traitor/traitor_objective.html new file mode 100644 index 000000000000..517b2f5b33f4 --- /dev/null +++ b/code/modules/antagonists/traitor/traitor_objective.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/antagonists/traitor/traitor_objective.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/traitor/traitor_objective.dm + +

+ + +
/datum/traitor_objectiveA traitor objective. Traitor objectives should not be deleted after they have been created and established, only failed. +If a traitor objective needs to be removed from the failed/completed objective list of their handler, then you are doing something wrong +and you should reconsider. When an objective is failed/completed, that is final and the only way you can change that is by refactoring the code.
+ + + diff --git a/code/modules/antagonists/traitor/uplink_handler.html b/code/modules/antagonists/traitor/uplink_handler.html new file mode 100644 index 000000000000..af9ca8c154b4 --- /dev/null +++ b/code/modules/antagonists/traitor/uplink_handler.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/traitor/uplink_handler.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/traitor/uplink_handler.dm + +

+ + +
/datum/uplink_handlerUplink Handler
+ + + diff --git a/code/modules/antagonists/wizard/equipment/artefact.html b/code/modules/antagonists/wizard/equipment/artefact.html new file mode 100644 index 000000000000..74724e722749 --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/artefact.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/wizard/equipment/artefact.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/wizard/equipment/artefact.dm + +

+ + + + + +
/obj/item/veilrenderVeil Render
/obj/tear_in_realityTear in reality, spawned by the veil render
/obj/item/scryingScrying
/obj/item/necromantic_stoneNecromantic Stone
+ + + diff --git a/code/modules/antagonists/wizard/equipment/soulstone.html b/code/modules/antagonists/wizard/equipment/soulstone.html new file mode 100644 index 000000000000..1de27dbb113e --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/soulstone.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/wizard/equipment/soulstone.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/wizard/equipment/soulstone.dm + +

+ + +
/obj/structure/constructshellTransferring to constructs
+ + + diff --git a/code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.html b/code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.html new file mode 100644 index 000000000000..94815d0f270f --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.dm + +

+ + + + + +
/datum/spellbook_entry
/datum/spellbook_entry/itemItem summons, they give you an item.
/datum/spellbook_entry/summonRitual, these cause station wide effects and are (pretty much) a blank slate to implement stuff in
/datum/spellbook_entry/challengeNon-purchasable flavor spells to populate the spell book with, for style.
+ + + diff --git a/code/modules/antagonists/wizard/equipment/spellbook_entries/summons.html b/code/modules/antagonists/wizard/equipment/spellbook_entries/summons.html new file mode 100644 index 000000000000..be5f5fdd7ff1 --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/spellbook_entries/summons.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/wizard/equipment/spellbook_entries/summons.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/wizard/equipment/spellbook_entries/summons.dm + +

+ + +
MINIMUM_THREAT_FOR_RITUALSHow much threat we need to let these rituals happen on dynamic

Define Details

+

MINIMUM_THREAT_FOR_RITUALS + + +

+

How much threat we need to let these rituals happen on dynamic

+ + + diff --git a/code/modules/appearance_modifier/vox_mods.html b/code/modules/appearance_modifier/vox_mods.html new file mode 100644 index 000000000000..0d9dc2fcca07 --- /dev/null +++ b/code/modules/appearance_modifier/vox_mods.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/appearance_modifier/vox_mods.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/appearance_modifier/vox_mods.dm + +

+ + + +
/datum/appearance_modifier/vox_tail_markVox Tail marks
/datum/appearance_modifier/vox_scuteVox Scutes (Ends of limbs)
+ + + diff --git a/code/modules/aquarium/aquarium.html b/code/modules/aquarium/aquarium.html new file mode 100644 index 000000000000..6b7fcc576c4a --- /dev/null +++ b/code/modules/aquarium/aquarium.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/aquarium/aquarium.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/aquarium/aquarium.dm + +

+ + +
AQUARIUM_MIN_OFFSETAquarium content layer offsets

Define Details

+

AQUARIUM_MIN_OFFSET + + +

+

Aquarium content layer offsets

+ + + diff --git a/code/modules/aquarium/aquarium_kit.html b/code/modules/aquarium/aquarium_kit.html new file mode 100644 index 000000000000..2ea5abe4ca39 --- /dev/null +++ b/code/modules/aquarium/aquarium_kit.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/aquarium/aquarium_kit.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/aquarium/aquarium_kit.dm + +

+ + + + +
/obj/item/fish_feedFish feed can
/obj/item/storage/fish_caseStasis fish case container for moving fish between aquariums safely.
/obj/item/book/fish_catalogBook detailing where to get the fish and their properties.
+ + + diff --git a/code/modules/aquarium/fish.html b/code/modules/aquarium/fish.html new file mode 100644 index 000000000000..46d3c2f12d8c --- /dev/null +++ b/code/modules/aquarium/fish.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/aquarium/fish.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/aquarium/fish.dm + +

+ + + + + +
/proc/flop_animationThis animation should be applied to actual parent atom instead of vc_object.
/proc/random_fish_typeReturns random fish, using random_case_rarity probabilities.
+ + + diff --git a/code/modules/art/paintings.html b/code/modules/art/paintings.html new file mode 100644 index 000000000000..6cb3b77bf938 --- /dev/null +++ b/code/modules/art/paintings.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/art/paintings.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/art/paintings.dm + +

+ + +
/obj/item/paint_paletteSimple painting utility.
+ + + diff --git a/code/modules/art/statues.html b/code/modules/art/statues.html new file mode 100644 index 000000000000..8918377f54da --- /dev/null +++ b/code/modules/art/statues.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/art/statues.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/art/statues.dm + +

+ + + + + + + + + + + +
/obj/structure/statue/uranium//////////////STATUES////////////////////////// +uranium
/obj/structure/statue/plasmaplasma
/obj/structure/statue/goldgold
/obj/structure/statue/silversilver
/obj/structure/statue/diamonddiamond
/obj/structure/statue/bananiumbananium
/obj/structure/statue/sandstonesandstone
/obj/structure/statue/snowsnow
/obj/structure/statue/bronzebronze
/obj/structure/statue/elder_atmosianElder Atmosian
+ + + diff --git a/code/modules/assembly/flash.html b/code/modules/assembly/flash.html new file mode 100644 index 000000000000..469c9270e126 --- /dev/null +++ b/code/modules/assembly/flash.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/assembly/flash.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/assembly/flash.dm + +

+ + + + + +
DEVIATION_NONENo deviation at all. Flashed from the front or front-left/front-right. Alternatively, flashed in direct view.
DEVIATION_PARTIALPartial deviation. Flashed from the side. Alternatively, flashed out the corner of your eyes.
DEVIATION_FULLFull deviation. Flashed from directly behind or behind-left/behind-rack. Not flashed at all.
/obj/item/assembly/flash/cameraCamera flash

Define Details

+

DEVIATION_FULL + + +

+

Full deviation. Flashed from directly behind or behind-left/behind-rack. Not flashed at all.

DEVIATION_NONE + + +

+

No deviation at all. Flashed from the front or front-left/front-right. Alternatively, flashed in direct view.

DEVIATION_PARTIAL + + +

+

Partial deviation. Flashed from the side. Alternatively, flashed out the corner of your eyes.

+ + + diff --git a/code/modules/assembly/infrared.html b/code/modules/assembly/infrared.html new file mode 100644 index 000000000000..cf5e498ad61d --- /dev/null +++ b/code/modules/assembly/infrared.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/assembly/infrared.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/assembly/infrared.dm + +

+ + +
/obj/effect/beam/i_beamIBeam
+ + + diff --git a/code/modules/asset_cache.html b/code/modules/asset_cache.html new file mode 100644 index 000000000000..776b190161eb --- /dev/null +++ b/code/modules/asset_cache.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/asset_cache/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Asset cache system + +

+ + +
Framework for managing browser assets (javascript,css,images,etc) +

This manages getting the asset to the client without doing unneeded re-sends, as well as utilizing any configured cdns.

+

There are two frameworks for using this system:

+Asset datum: +

Make a datum in asset_list_items.dm with your browser assets for your thing.

+

Checkout asset_list.dm for the helper subclasses

+

The simple subclass will most likely be of use for most cases.

+

Call get_asset_datum() with the type of the datum you created to get your asset cache datum

+

Call .send(client|usr) on that datum to send the asset to the client. Depending on the asset transport this may or may not block.

+

Call .get_url_mappings() to get an associated list with the urls your assets can be found at.

+Manual backend: +

See the documentation for /datum/asset_transport for the backend api the asset datums utilize.

+

The global variable SSassets.transport contains the currently configured transport.

+Notes: +

Because byond browse() calls use non-blocking queues, if your code uses output() (which bypasses all of these queues) to invoke javascript functions you will need to first have the javascript announce to the server it has loaded before trying to invoke js functions.

+

To make your code work with any CDNs configured by the server, you must make sure assets are referenced from the url returned by get_url_mappings() or by asset_transport's get_asset_url(). (TGUI also has helpers for this.) If this can not be easily done, you can bypass the cdn using legacy assets, see the simple asset datum for details.

+

CSS files that use url() can be made to use the CDN without needing to rewrite all url() calls in code by using the namespaced helper datum. See the documentation for /datum/asset/simple/namespaced for details.

+ + + diff --git a/code/modules/asset_cache/asset_cache_item.html b/code/modules/asset_cache/asset_cache_item.html new file mode 100644 index 000000000000..4b509b13d4f4 --- /dev/null +++ b/code/modules/asset_cache/asset_cache_item.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/asset_cache_item.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/asset_cache/asset_cache_item.dm + +

+ + +
/datum/asset_cache_itemAn internal datum containing info on items in the asset cache. Mainly used to cache md5 info for speed.
+ + + diff --git a/code/modules/asset_cache/asset_list.html b/code/modules/asset_cache/asset_list.html new file mode 100644 index 000000000000..1cb7b4a0fff1 --- /dev/null +++ b/code/modules/asset_cache/asset_list.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/asset_cache/asset_list.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/asset_cache/asset_list.dm + +

+ + + + +
/datum/asset/simpleIf you don't need anything complicated.
/datum/asset/simple/namespacedNamespace'ed assets (for static css and html files) +When sent over a cdn transport, all assets in the same asset datum will exist in the same folder, as their plain names. +Used to ensure css files can reference files by url() without having to generate the css at runtime, both the css file and the files it depends on must exist in the same namespace asset datum. (Also works for html) +For example blah.css with asset blah.png will get loaded as namespaces/a3d..14f/f12..d3c.css and namespaces/a3d..14f/blah.png. allowing the css file to load blah.png by a relative url rather then compute the generated url with get_url_mappings(). +The namespace folder's name will change if any of the assets change. (excluding parent assets)
/datum/asset/jsonA subtype to generate a JSON file from a list
+ + + diff --git a/code/modules/asset_cache/assets/icon_ref_map.html b/code/modules/asset_cache/assets/icon_ref_map.html new file mode 100644 index 000000000000..fe2d323d79bd --- /dev/null +++ b/code/modules/asset_cache/assets/icon_ref_map.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/assets/icon_ref_map.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/asset_cache/assets/icon_ref_map.dm + +

+ + +
/datum/asset/json/icon_ref_mapMaps icon names to ref values
+ + + diff --git a/code/modules/asset_cache/assets/uplink.html b/code/modules/asset_cache/assets/uplink.html new file mode 100644 index 000000000000..ddc28a294753 --- /dev/null +++ b/code/modules/asset_cache/assets/uplink.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/assets/uplink.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/asset_cache/assets/uplink.dm + +

+ + +
/datum/asset/json/uplinkSends information needed for uplinks
+ + + diff --git a/code/modules/asset_cache/transports/asset_transport.html b/code/modules/asset_cache/transports/asset_transport.html new file mode 100644 index 000000000000..a4af75b64c92 --- /dev/null +++ b/code/modules/asset_cache/transports/asset_transport.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/asset_cache/transports/asset_transport.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/asset_cache/transports/asset_transport.dm + +

+ + + +
ASSET_CACHE_TELL_CLIENT_AMOUNTWhen sending mutiple assets, how many before we give the client a quaint little sending resources message
/datum/asset_transportBase browse_rsc asset transport

Define Details

+

ASSET_CACHE_TELL_CLIENT_AMOUNT + + +

+

When sending mutiple assets, how many before we give the client a quaint little sending resources message

+ + + diff --git a/code/modules/asset_cache/transports/webroot_transport.html b/code/modules/asset_cache/transports/webroot_transport.html new file mode 100644 index 000000000000..c780f31e2002 --- /dev/null +++ b/code/modules/asset_cache/transports/webroot_transport.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/transports/webroot_transport.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/asset_cache/transports/webroot_transport.dm + +

+ + +
/datum/asset_transport/webrootCDN Webroot asset transport.
+ + + diff --git a/code/modules/atmospherics/ZAS/Airflow.html b/code/modules/atmospherics/ZAS/Airflow.html new file mode 100644 index 000000000000..746286f1cec6 --- /dev/null +++ b/code/modules/atmospherics/ZAS/Airflow.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/atmospherics/ZAS/Airflow.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/atmospherics/ZAS/Airflow.dm + +

+ + +
/mobThe mob, usually meant to be a creature of some type
+ + + diff --git a/code/modules/atmospherics/ZAS/XGM/xgm_gas_mixture.html b/code/modules/atmospherics/ZAS/XGM/xgm_gas_mixture.html new file mode 100644 index 000000000000..95f6928ba6ed --- /dev/null +++ b/code/modules/atmospherics/ZAS/XGM/xgm_gas_mixture.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/atmospherics/ZAS/XGM/xgm_gas_mixture.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/atmospherics/ZAS/XGM/xgm_gas_mixture.dm + +

+ + +
SPECIFIC_ENTROPY_VACUUMTechnically vacuum doesn't have a specific entropy. Just use a really big number (infinity would be ideal) here so that it's easy to add gas to vacuum and hard to take gas out.

Define Details

+

SPECIFIC_ENTROPY_VACUUM + + +

+

Technically vacuum doesn't have a specific entropy. Just use a really big number (infinity would be ideal) here so that it's easy to add gas to vacuum and hard to take gas out.

+ + + diff --git a/code/modules/atmospherics/ZAS/atmos_primitives.html b/code/modules/atmospherics/ZAS/atmos_primitives.html new file mode 100644 index 000000000000..ede3d86181fc --- /dev/null +++ b/code/modules/atmospherics/ZAS/atmos_primitives.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/atmospherics/ZAS/atmos_primitives.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/atmospherics/ZAS/atmos_primitives.dm + +

+ + + + + +
/proc/pump_gasobj/machinery/atmospherics/var/debug = 0
/proc/filter_gasJust transfer it, who really cares at a scale this small.
+ + + diff --git a/code/modules/atmospherics/ZAS/zas_extras/heat.html b/code/modules/atmospherics/ZAS/zas_extras/heat.html new file mode 100644 index 000000000000..a97f45964265 --- /dev/null +++ b/code/modules/atmospherics/ZAS/zas_extras/heat.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/atmospherics/ZAS/zas_extras/heat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/atmospherics/ZAS/zas_extras/heat.dm + +

+ + +
/obj/effect/abstract/particle_emitterThis is a special stripped down alternative to a particle_holder. Generally, I don't recommend using it.
+ + + diff --git a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.html b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.html new file mode 100644 index 000000000000..c4a1983b828e --- /dev/null +++ b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm + +

+ + +
EXT_BOUNDpressure_checks defines for external_pressure_bound and input_pressure_min

Define Details

+

EXT_BOUND + + +

+

pressure_checks defines for external_pressure_bound and input_pressure_min

+ + + diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.html b/code/modules/atmospherics/machinery/components/unary_devices/cryo.html new file mode 100644 index 000000000000..0ec4b5e6a850 --- /dev/null +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/atmospherics/machinery/components/unary_devices/cryo.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/atmospherics/machinery/components/unary_devices/cryo.dm + +

+ + + + +
MAX_TEMPERATUREMax temperature allowed inside the cryotube, should break before reaching this heat
/atom/movable/visual/cryo_occupantThis is a visual helper that shows the occupant inside the cryo cell.
/obj/machinery/atmospherics/components/unary/cryo_cellCryo cell

Define Details

+

MAX_TEMPERATURE + + +

+

Max temperature allowed inside the cryotube, should break before reaching this heat

+ + + diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.html b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.html new file mode 100644 index 000000000000..483ad868d326 --- /dev/null +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm + +

+ + +
THERMOMACHINE_PERF_MULTMagic number to boost the power of heating/cooling without touching power consumption

Define Details

+

THERMOMACHINE_PERF_MULT + + +

+

Magic number to boost the power of heating/cooling without touching power consumption

+ + + diff --git a/code/modules/atmospherics/machinery/pipes/multiz.html b/code/modules/atmospherics/machinery/pipes/multiz.html new file mode 100644 index 000000000000..c821fd7644be --- /dev/null +++ b/code/modules/atmospherics/machinery/pipes/multiz.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/atmospherics/machinery/pipes/multiz.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/atmospherics/machinery/pipes/multiz.dm + +

+ + +
/obj/machinery/atmospherics/pipe/multizThis is an atmospherics pipe which can relay air up/down a deck.
+ + + diff --git a/code/modules/atmospherics/machinery/portable/pump.html b/code/modules/atmospherics/machinery/portable/pump.html new file mode 100644 index 000000000000..e48c8f7366f9 --- /dev/null +++ b/code/modules/atmospherics/machinery/portable/pump.html @@ -0,0 +1,52 @@ + + + + + + + code/modules/atmospherics/machinery/portable/pump.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/atmospherics/machinery/portable/pump.dm + +

+ + + + + + +
PUMP_OUTThe machine pumps from the internal source to the turf
PUMP_INThe machine pumps from the turf to the internal tank
PUMP_MAX_PRESSUREMaximum settable pressure
PUMP_MIN_PRESSUREMinimum settable pressure
PUMP_DEFAULT_PRESSUREDefaul pressure, used in the UI to reset the settings

Define Details

+

PUMP_DEFAULT_PRESSURE + + +

+

Defaul pressure, used in the UI to reset the settings

PUMP_IN + + +

+

The machine pumps from the turf to the internal tank

PUMP_MAX_PRESSURE + + +

+

Maximum settable pressure

PUMP_MIN_PRESSURE + + +

+

Minimum settable pressure

PUMP_OUT + + +

+

The machine pumps from the internal source to the turf

+ + + diff --git a/code/modules/autowiki/autowiki.html b/code/modules/autowiki/autowiki.html new file mode 100644 index 000000000000..492a8840e407 --- /dev/null +++ b/code/modules/autowiki/autowiki.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/autowiki/autowiki.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/autowiki/autowiki.dm + +

+ + + +
/proc/generate_autowiki_outputWhen the AUTOWIKI define is enabled, will generate an output file for tools/autowiki/autowiki.js to consume. +Autowiki code intentionally still exists even without the define, to ensure developers notice +when they break it immediately, rather than until CI or worse, call time. +Returns a string of the autowiki output file
+ + + diff --git a/code/modules/autowiki/pages/base.html b/code/modules/autowiki/pages/base.html new file mode 100644 index 000000000000..d76fb20edd09 --- /dev/null +++ b/code/modules/autowiki/pages/base.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/autowiki/pages/base.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/autowiki/pages/base.dm + +

+ + +
/datum/autowikiA representation of an automated wiki page.
+ + + diff --git a/code/modules/awaymissions/gateway.html b/code/modules/awaymissions/gateway.html new file mode 100644 index 000000000000..c76e71d8e835 --- /dev/null +++ b/code/modules/awaymissions/gateway.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/awaymissions/gateway.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/awaymissions/gateway.dm + +

+ + +
/datum/gateway_destinationCorresponds to single entry in gateway control.
+ + + diff --git a/code/modules/awaymissions/mission_code/Academy.html b/code/modules/awaymissions/mission_code/Academy.html new file mode 100644 index 000000000000..6aefe075f86d --- /dev/null +++ b/code/modules/awaymissions/mission_code/Academy.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/awaymissions/mission_code/Academy.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/awaymissions/mission_code/Academy.dm + +

+ + +
/obj/singularity/academyThe immobile, close pulling singularity seen in the academy away mission
+ + + diff --git a/code/modules/awaymissions/mission_code/snowdin.html b/code/modules/awaymissions/mission_code/snowdin.html new file mode 100644 index 000000000000..5e7d071d3083 --- /dev/null +++ b/code/modules/awaymissions/mission_code/snowdin.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/awaymissions/mission_code/snowdin.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/awaymissions/mission_code/snowdin.dm + +

+ + +
/obj/item/paper/crumpled/ruins/snowdin/foreshadowingpapers
+ + + diff --git a/code/modules/awaymissions/mission_code/wildwest.html b/code/modules/awaymissions/mission_code/wildwest.html new file mode 100644 index 000000000000..d0074cd2110d --- /dev/null +++ b/code/modules/awaymissions/mission_code/wildwest.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/awaymissions/mission_code/wildwest.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/awaymissions/mission_code/wildwest.dm + +

+ + + +
/obj/item/paper/fluff/awaymissions/wildwest/grinderwildwest papers
/obj/effect/meatgrinderMeatgrinder
+ + + diff --git a/code/modules/balloon_alert/balloon_alert.html b/code/modules/balloon_alert/balloon_alert.html new file mode 100644 index 000000000000..2bcc168fd103 --- /dev/null +++ b/code/modules/balloon_alert/balloon_alert.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/balloon_alert/balloon_alert.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/balloon_alert/balloon_alert.dm + +

+ + + +
BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULTThe increase in duration per character in seconds
BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MINThe amount of characters needed before this increase takes into effect

Define Details

+

BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MIN + + +

+

The amount of characters needed before this increase takes into effect

BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULT + + +

+

The increase in duration per character in seconds

+ + + diff --git a/code/modules/buildmode.html b/code/modules/buildmode.html new file mode 100644 index 000000000000..f47b10ac7e88 --- /dev/null +++ b/code/modules/buildmode.html @@ -0,0 +1,230 @@ + + + + + + + code/modules/buildmode/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Buildmode + +

+ + +
Code layoutBuildmode +

Manager for buildmode modes. Contains logic to manage switching between each mode, and presenting a suitable user interface.

+Effects +

Special graphics used by buildmode modes for user interface purposes.

+Buildmode Mode +

Implementer of buildmode behaviors.

+

Existing varieties:

+
    +
  • +

    Basic

    +

    Description:

    +

    Allows creation of simple structures consisting of floors, walls, windows, and airlocks.

    +

    Controls:

    +
      +
    • +

      Left click a turf:

      +

      "Upgrades" the turf based on the following rules below:

      +
        +
      • Space -> Tiled floor
      • +
      • Simulated floor -> Regular wall
      • +
      • Wall -> Reinforced wall
      • +
      +
    • +
    • +

      Right click a turf:

      +

      "Downgrades" the turf based on the following rules below:

      +
        +
      • Reinforced wall -> Regular wall
      • +
      • Wall -> Tiled floor
      • +
      • Simulated floor -> Space
      • +
      +
    • +
    • +

      Right click an object:

      +

      Deletes the clicked object.

      +
    • +
    • +

      Alt+Left click a location:

      +

      Places an airlock at the clicked location.

      +
    • +
    • +

      Ctrl+Left click a location:

      +

      Places a window at the clicked location.

      +
    • +
    +
  • +
  • +

    Advanced

    +

    Description:

    +

    Creates an instance of a configurable atom path where you click.

    +

    Controls:

    +
      +
    • +

      Right click on the mode selector:

      +

      Choose a path to spawn.

      +
    • +
    • +

      Left click a location (requires chosen path):

      +

      Place an instance of the chosen path at the location.

      +
    • +
    • +

      Right click an object:

      +

      Delete the object.

      +
    • +
    +
  • +
  • +

    Fill

    +

    Description:

    +

    Creates an instance of an atom path on every tile in a chosen region.

    +

    With a special control input, instead deletes everything within the region.

    +

    Controls:

    +
      +
    • +

      Right click on the mode selector:

      +

      Choose a path to spawn.

      +
    • +
    • +

      Left click on a region (requires chosen path):

      +

      Fill the region with the chosen path.

      +
    • +
    • +

      Alt+Left click on a region:

      +

      Deletes everything within the region.

      +
    • +
    • +

      Right click during region selection:

      +

      Cancel region selection.

      +
    • +
    +
  • +
  • +

    Copy

    +

    Description:

    +

    Take an existing object in the world, and place duplicates with identical attributes where you click.

    +

    May not always work nicely - "deep" variables such as lists or datums may malfunction.

    +

    Controls:

    +
      +
    • +

      Right click an existing object:

      +

      Select the clicked object as a template.

      +
    • +
    • +

      Left click a location (Requires a selected object as template):

      +

      Place a duplicate of the template at the clicked location.

      +
    • +
    +
  • +
  • +

    Area Edit

    +

    Description:

    +

    Modifies and creates areas.

    +

    The active area will be highlighted in yellow.

    +

    Controls:

    +
      +
    • +

      Right click the mode selector:

      +

      Create a new area, and make it active.

      +
    • +
    • +

      Right click an existing area:

      +

      Make the clicked area active.

      +
    • +
    • +

      Left click a turf:

      +

      When an area is active, adds the turf to the active area.

      +
    • +
    +
  • +
  • +

    Var Edit

    +

    Description:

    +

    Allows for setting and resetting variables of objects with a click.

    +

    If the object does not have the var, will do nothing and print a warning message.

    +

    Controls:

    +
      +
    • +

      Right click the mode selector:

      +

      Choose which variable to set, and what to set it to.

      +
    • +
    • +

      Left click an atom:

      +

      Change the clicked atom's variables as configured.

      +
    • +
    • +

      Right click an atom:

      +

      Reset the targeted variable to its original value in the code.

      +
    • +
    +
  • +
  • +

    Map Generator

    +

    Description:

    +

    Fills rectangular regions with algorithmically generated content. Right click during region selection to cancel.

    +

    See the procedural_mapping module for the generators themselves.

    +

    Controls:

    +
      +
    • +

      Right-click on the mode selector:

      +

      Select a map generator from all the generators present in the codebase.

      +
    • +
    • +

      Left click two corners of an area:

      +

      Use the generator to populate the region.

      +
    • +
    • +

      Right click during region selection:

      +

      Cancel region selection.

      +
    • +
    +
  • +
  • +

    Throwing

    +

    Description:

    +

    Select an object with left click, and right click to throw it towards where you clicked.

    +

    Controls:

    +
      +
    • +

      Left click on a movable atom:

      +

      Select the atom for throwing.

      +
    • +
    • +

      Right click on a location:

      +

      Throw the selected atom towards that location.

      +
    • +
    +
  • +
  • +

    Boom

    +

    Description:

    +

    Make explosions where you click.

    +

    Controls:

    +
      +
    • +

      Right click the mode selector:

      +

      Configure the explosion size.

      +
    • +
    • +

      Left click a location:

      +

      Cause an explosion where you clicked.

      +
    • +
    +
  • +
+ + + diff --git a/code/modules/buildmode/bm_mode.html b/code/modules/buildmode/bm_mode.html new file mode 100644 index 000000000000..2592822dfa6d --- /dev/null +++ b/code/modules/buildmode/bm_mode.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/buildmode/bm_mode.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/buildmode/bm_mode.dm + +

+ + + +
AREASELECT_CORNERACorner A area section for buildmode
AREASELECT_CORNERBCorner B area selection for buildmode

Define Details

+

AREASELECT_CORNERA + + +

+

Corner A area section for buildmode

AREASELECT_CORNERB + + +

+

Corner B area selection for buildmode

+ + + diff --git a/code/modules/capture_the_flag/_defines.html b/code/modules/capture_the_flag/_defines.html new file mode 100644 index 000000000000..b2860af26be7 --- /dev/null +++ b/code/modules/capture_the_flag/_defines.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/capture_the_flag/_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/capture_the_flag/_defines.dm + +

+ + + +
CTF_REQUIRED_PLAYERSThe number of voters required for CTF to enable
CTF_GHOST_CTF_GAME_IDThe game ID for normal ghost CTF

Define Details

+

CTF_GHOST_CTF_GAME_ID + + +

+

The game ID for normal ghost CTF

CTF_REQUIRED_PLAYERS + + +

+

The number of voters required for CTF to enable

+ + + diff --git a/code/modules/capture_the_flag/ctf_voting.html b/code/modules/capture_the_flag/ctf_voting.html new file mode 100644 index 000000000000..6371fae1f5bd --- /dev/null +++ b/code/modules/capture_the_flag/ctf_voting.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/capture_the_flag/ctf_voting.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/capture_the_flag/ctf_voting.dm + +

+ + + +
/proc/get_ctf_voting_controllerReturns the existing /datum/ctf_voting_controller for the given ID, or makes one
+ + + diff --git a/code/modules/capture_the_flag/medieval_sim/medisim_game.html b/code/modules/capture_the_flag/medieval_sim/medisim_game.html new file mode 100644 index 000000000000..0bc87f23390f --- /dev/null +++ b/code/modules/capture_the_flag/medieval_sim/medisim_game.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/capture_the_flag/medieval_sim/medisim_game.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/capture_the_flag/medieval_sim/medisim_game.dm + +

+ + +
REDFIELD_TEAMThese are for the medisim shuttle

Define Details

+

REDFIELD_TEAM + + +

+

These are for the medisim shuttle

+ + + diff --git a/code/modules/cargo/exports/food_and_drink.html b/code/modules/cargo/exports/food_and_drink.html new file mode 100644 index 000000000000..0bb4f6a5e60b --- /dev/null +++ b/code/modules/cargo/exports/food_and_drink.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/cargo/exports/food_and_drink.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/cargo/exports/food_and_drink.dm + +

+ + +
/datum/export/foodOriginal Food export file got eaten somewhere along the line and I have no idea when or where it got completely deleted. +Foods given a venue value are exportable to cargo as a backup to selling from venues, however at the expense of elasticity.
+ + + diff --git a/code/modules/cargo/expressconsole.html b/code/modules/cargo/expressconsole.html new file mode 100644 index 000000000000..5d97e273ed36 --- /dev/null +++ b/code/modules/cargo/expressconsole.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/cargo/expressconsole.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/cargo/expressconsole.dm + +

+ + + +
/proc/spawn_express_podsSpawns express pod(s) at a given location. Landing_loc can be a list in the case of an emagged console.
+ + + diff --git a/code/modules/cargo/markets/_market.html b/code/modules/cargo/markets/_market.html new file mode 100644 index 000000000000..ef31859462c7 --- /dev/null +++ b/code/modules/cargo/markets/_market.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/markets/_market.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/cargo/markets/_market.dm + +

+ + +
/datum/market/blackmarketThere is no ID card on the user, or the ID card has no account
+ + + diff --git a/code/modules/cargo/markets/market_items/tools.html b/code/modules/cargo/markets/market_items/tools.html new file mode 100644 index 000000000000..3d120f3fccf4 --- /dev/null +++ b/code/modules/cargo/markets/market_items/tools.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/markets/market_items/tools.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/cargo/markets/market_items/tools.dm + +

+ + +
/datum/market_item/tool/fake_scanner
+ + + diff --git a/code/modules/cargo/order.html b/code/modules/cargo/order.html new file mode 100644 index 000000000000..7e9b2df7880c --- /dev/null +++ b/code/modules/cargo/order.html @@ -0,0 +1,47 @@ + + + + + + + code/modules/cargo/order.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/cargo/order.dm + +

+ + + + + +
MANIFEST_BAD_CONTENTS_CHANCEThe chance for a manifest or crate to be created with errors
MANIFEST_ERROR_NAMEDetermines if the station name will be incorrect on the manifest
MANIFEST_ERROR_CONTENTSDetermines if contents will be deleted from the manifest but still be present in the crate
MANIFEST_ERROR_ITEMDetermines if contents will be deleted from the crate but still be present in the manifest

Define Details

+

MANIFEST_BAD_CONTENTS_CHANCE + + +

+

The chance for a manifest or crate to be created with errors

MANIFEST_ERROR_CONTENTS + + +

+

Determines if contents will be deleted from the manifest but still be present in the crate

MANIFEST_ERROR_ITEM + + +

+

Determines if contents will be deleted from the crate but still be present in the manifest

MANIFEST_ERROR_NAME + + +

+

Determines if the station name will be incorrect on the manifest

+ + + diff --git a/code/modules/cargo/packs.html b/code/modules/cargo/packs.html new file mode 100644 index 000000000000..70d759fdfccd --- /dev/null +++ b/code/modules/cargo/packs.html @@ -0,0 +1,46 @@ + + + + + + + code/modules/cargo/packs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/cargo/packs.dm + +

+ + + + + + + + + + + + + + + + + + + + + +
/datum/supply_pack/emergencyEmergency
/datum/supply_pack/securitySecurity
/datum/supply_pack/security/armoryArmory
/datum/supply_pack/engineeringEngineering
/datum/supply_pack/engineEngine Construction
/datum/supply_pack/materialsMaterials
/datum/supply_pack/medicalAIRMIX SPECIAL BABY
/datum/supply_pack/reagentReagent
/datum/supply_pack/scienceScience
/datum/supply_pack/serviceService
/datum/supply_pack/service/greyidboxBox of 7 grey IDs.
/datum/supply_pack/service/silveridSingle silver ID.
/datum/supply_pack/organicOrganic
/datum/supply_pack/critterLivestock
/datum/supply_pack/costumes_toysCostumes & Toys
/datum/supply_pack/miscMiscellaneous
/datum/supply_pack/misc/syndicateSpecial supply crate that generates random syndicate gear up to a determined TC value
/datum/supply_pack/vendingGeneral Vending Restocks
/datum/supply_pack/vending/wardrobes/autodrobeClothing Vending Restocks
/datum/supply_pack/explorationExploration drone unlockables
+ + + diff --git a/code/modules/chatter/chatter.html b/code/modules/chatter/chatter.html new file mode 100644 index 000000000000..a7c9ab1206c6 --- /dev/null +++ b/code/modules/chatter/chatter.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/chatter/chatter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/chatter/chatter.dm + +

+ + + +
/proc/chatter_speakWe're going to take a list that dictates the pace of speech, and a sentence fragment to say +Then say() that fragment at that pace +You can pass in a starting delay to wait before speaking the next sound
+ + + diff --git a/code/modules/client/client_colour.html b/code/modules/client/client_colour.html new file mode 100644 index 000000000000..f47561838073 --- /dev/null +++ b/code/modules/client/client_colour.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/client/client_colour.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/client/client_colour.dm + +

+ + + +
/datum/client_colourClient Colour Priority System By RemieRichards (then refactored by another contributor) +A System that gives finer control over which client.colour value to display on screen +so that the "highest priority" one is always displayed as opposed to the default of +"whichever was set last is displayed".
MIX_CLIENT_COLOURGets the resulting colour/tone from client_colours. +In the case of multiple colours, they'll be converted to RGBA matrices for compatibility, +summed together, and then each element divided by the number of matrices. (except we do this with lists because byond) +target is the target variable.

Define Details

+

MIX_CLIENT_COLOUR + + + +

+

Gets the resulting colour/tone from client_colours. +In the case of multiple colours, they'll be converted to RGBA matrices for compatibility, +summed together, and then each element divided by the number of matrices. (except we do this with lists because byond) +target is the target variable.

+ + + diff --git a/code/modules/client/client_defines.html b/code/modules/client/client_defines.html new file mode 100644 index 000000000000..c4735c23d23f --- /dev/null +++ b/code/modules/client/client_defines.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/client_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/client_defines.dm + +

+ + +
/clientClient datum
+ + + diff --git a/code/modules/client/preferences.html b/code/modules/client/preferences.html new file mode 100644 index 000000000000..ea3ac117189e --- /dev/null +++ b/code/modules/client/preferences.html @@ -0,0 +1,359 @@ + + + + + + + code/modules/client/preferences/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Preferences (by Mothblocks) + +

+ + + +

This does not contain all the information on specific values--you can find those as doc-comments in relevant paths, such as /datum/preference. Rather, this gives you an overview for creating most preferences, and getting your foot in the door to create more advanced ones.

+Anatomy of a preference (A.K.A. how do I make one?) +

Most preferences consist of two parts:

+
    +
  1. A /datum/preference type.
  2. +
  3. A tgui representation in a TypeScript file.
  4. +
+

Every /datum/preference requires these three values be set:

+
    +
  1. category - See Categories.
  2. +
  3. savefile_key - The value which will be saved in the savefile. This will also be the identifier for tgui.
  4. +
  5. savefile_identifier - Whether or not this is a character specific preference (PREFERENCE_CHARACTER) or one that affects the player (PREFERENCE_PLAYER). As an example: hair color is PREFERENCE_CHARACTER while your UI settings are PREFERENCE_PLAYER, since they do not change between characters.
  6. +
+

For the tgui representation, most preferences will create a .tsx file in tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/. If your preference is a character preference, make a new file in character_preferences. Otherwise, put it in game_preferences. The filename does not matter, and this file can hold multiple relevant preferences if you would like.

+

From here, you will want to write code resembling:

+
import { Feature } from "../base";
+
+export const savefile_key_here: Feature<T> = {
+  name: "Preference Name Here",
+  component: Component,
+
+  // Necessary for game preferences, unused for others
+  category: "CATEGORY",
+
+  // Optional, only shown in game preferences
+  description: "This preference will blow your mind!",
+}
+
+

T and Component depend on the type of preference you're making. Here are all common examples...

+Numeric preferences +

Examples include age and FPS.

+

A numeric preference derives from /datum/preference/numeric.

+
/datum/preference/numeric/legs
+	category = PREFERENCE_CATEGORY_NON_CONTEXTUAL
+	savefile_identifier = PREFERENCE_CHARACTER
+	savefile_key = "legs"
+
+	minimum = 1
+	maximum = 8
+
+

You can optionally provide a step field. This value is 1 by default, meaning only integers are accepted.

+

Your .tsx file would look like:

+
import { Feature, FeatureNumberInput } from "../base";
+
+export const legs: Feature<number> = {
+  name: "Legs",
+  component: FeatureNumberInput,
+}
+
+Toggle preferences +

Examples include enabling tooltips.

+
/datum/preference/toggle/enable_breathing
+	category = PREFERENCE_CATEGORY_NON_CONTEXTUAL
+	savefile_identifier = PREFERENCE_CHARACTER
+	savefile_key = "enable_breathing"
+
+	// Optional, TRUE by default
+	default_value = FALSE
+
+

Your .tsx file would look like:

+
import { CheckboxInput, FeatureToggle } from "../base";
+
+export const enable_breathing: FeatureToggle = {
+  name: "Enable breathing",
+  component: CheckboxInput,
+}
+
+Choiced preferences +

A choiced preference is one where the only options are in a distinct few amount of choices. Examples include skin tone, shirt, and UI style.

+

To create one, derive from /datum/preference/choiced.

+
/datum/preference/choiced/favorite_drink
+	category = PREFERENCE_CATEGORY_NON_CONTEXTUAL
+	savefile_identifier = PREFERENCE_CHARACTER
+	savefile_key = "favorite_drink"
+
+

Now we need to tell the game what the choices are. We do this by overriding init_possible_values(). This will return a list of possible options.

+
/datum/preference/choiced/favorite_drink/init_possible_values()
+	return list(
+		"Milk",
+		"Cola",
+		"Water",
+	)
+
+

Your .tsx file would then look like:

+
import { FeatureChoiced, FeatureDropdownInput } from "../base";
+
+export const favorite_drink: FeatureChoiced = {
+  name: "Favorite drink",
+  component: FeatureDropdownInput,
+};
+
+

This will create a dropdown input for your preference.

+Choiced preferences - Icons +

Choiced preferences can generate icons. This is how the clothing/species preferences work, for instance. However, if we just want a basic dropdown input with icons, it would look like this:

+
/datum/preference/choiced/favorite_drink
+	category = PREFERENCE_CATEGORY_NON_CONTEXTUAL
+	savefile_identifier = PREFERENCE_CHARACTER
+	savefile_key = "favorite_drink"
+	should_generate_icons = TRUE // NEW! This is necessary.
+
+// Instead of returning a flat list, this now returns an assoc list
+// of values to icons.
+/datum/preference/choiced/favorite_drink/init_possible_values()
+	return list(
+		"Milk" = icon('drinks.dmi', "milk"),
+		"Cola" = icon('drinks.dmi', "cola"),
+		"Water" = icon('drinks.dmi', "water"),
+	)
+
+

Then, change your .tsx file to look like:

+
import { FeatureChoiced, FeatureIconnedDropdownInput } from "../base";
+
+export const favorite_drink: FeatureChoiced = {
+  name: "Favorite drink",
+  component: FeatureIconnedDropdownInput,
+};
+
+Choiced preferences - Display names +

Sometimes the values you want to save in code aren't the same as the ones you want to display. You can specify display names to change this.

+

The only thing you will add is "compiled data".

+
/datum/preference/choiced/favorite_drink/compile_constant_data()
+	var/list/data = ..()
+
+	// An assoc list of values to display names
+	data[CHOICED_PREFERENCE_DISPLAY_NAMES] = list(
+		"Milk" = "Delicious Milk",
+		"Cola" = "Crisp Cola",
+		"Water" = "Plain Ol' Water",
+	)
+
+	return data
+
+

Your .tsx file does not change. The UI will figure it out for you!

+Color preferences +

These refer to colors, such as your OOC color. When read, these values will be given as 6 hex digits, without the pound sign.

+
/datum/preference/color/eyeliner_color
+	category = PREFERENCE_CATEGORY_NON_CONTEXTUAL
+	savefile_identifier = PREFERENCE_CHARACTER
+	savefile_key = "eyeliner_color"
+
+

Your .tsx file would look like:

+
import { FeatureColorInput, Feature } from "../base";
+
+export const eyeliner_color: Feature<string> = {
+  name: "Eyeliner color",
+  component: FeatureColorInput,
+};
+
+Name preferences +

These refer to an alternative name. Examples include AI names and backup human names.

+

These exist in code/modules/client/preferences/names.dm.

+

These do not need a .ts file, and will be created in the UI automatically.

+
/datum/preference/name/doctor
+	savefile_key = "doctor_name"
+
+	// The name on the UI
+	explanation = "Doctor name"
+
+	// This groups together with anything else with the same group
+	group = "medicine"
+
+	// Optional, if specified the UI will show this name actively
+	// when the player is a medical doctor.
+	relevant_job = /datum/job/medical_doctor
+
+Making your preference do stuff +

There are a handful of procs preferences can use to act on their own:

+
/// Apply this preference onto the given client.
+/// Called when the savefile_identifier == PREFERENCE_PLAYER.
+/datum/preference/proc/apply_to_client(client/client, value)
+
+/// Fired when the preference is updated.
+/// Calls apply_to_client by default, but can be overridden.
+/datum/preference/proc/apply_to_client_updated(client/client, value)
+
+/// Apply this preference onto the given human.
+/// Must be overriden by subtypes.
+/// Called when the savefile_identifier == PREFERENCE_CHARACTER.
+/datum/preference/proc/apply_to_human(mob/living/carbon/human/target, value)
+
+

For example, /datum/preference/numeric/age contains:

+
/datum/preference/numeric/age/apply_to_human(mob/living/carbon/human/target, value)
+	target.age = value
+
+

If your preference is PREFERENCE_CHARACTER, it MUST override apply_to_human, even if just to immediately return.

+

You can also read preferences directly with preferences.read_preference(/datum/preference/type/here), which will return the stored value.

+Categories +

Every preference needs to be in a category. These can be found in code/__DEFINES/preferences.dm.

+
/// These will be shown in the character sidebar, but at the bottom.
+#define PREFERENCE_CATEGORY_FEATURES "features"
+
+/// Any preferences that will show to the sides of the character in the setup menu.
+#define PREFERENCE_CATEGORY_CLOTHING "clothing"
+
+/// Preferences that will be put into the 3rd list, and are not contextual.
+#define PREFERENCE_CATEGORY_NON_CONTEXTUAL "non_contextual"
+
+/// Will be put under the game preferences window.
+#define PREFERENCE_CATEGORY_GAME_PREFERENCES "game_preferences"
+
+/// These will show in the list to the right of the character preview.
+#define PREFERENCE_CATEGORY_SECONDARY_FEATURES "secondary_features"
+
+/// These are preferences that are supplementary for main features,
+/// such as hair color being affixed to hair.
+#define PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES "supplemental_features"
+
+

Preference categories for the main page

+
+

SECONDARY_FEATURES or NON_CONTEXTUAL?

+
+

Secondary features tend to be species specific. Non contextual features shouldn't change much from character to character.

+Default values and randomization +

There are three procs to be aware of in regards to this topic:

+
    +
  • create_default_value(). This is used when a value deserializes improperly or when a new character is created.
  • +
  • create_informed_default_value(datum/preferences/preferences) - Used for more complicated default values, like how names require the gender. Will call create_default_value() by default.
  • +
  • create_random_value(datum/preferences/preferences) - Explicitly used for random values, such as when a character is being randomized.
  • +
+

create_default_value() in most preferences will create a random value. If this is a problem (like how default characters should always be human), you can override create_default_value(). By default (without overriding create_random_value), random values are just default values.

+Advanced - Server data +

As previewed in the display names implementation, there exists a compile_constant_data() proc you can override.

+

Compiled data is used wherever the server needs to give the client some value it can't figure out on its own. Skin tones use this to tell the client what colors they represent, for example.

+

Compiled data is sent to the serverData field in the FeatureValueProps.

+Advanced - Creating your own tgui component +

If you have good knowledge with tgui (especially TypeScript), you'll be able to create your own component to represent preferences.

+

The component field in a feature accepts any component that accepts FeatureValueProps<TReceiving, TSending = TReceiving, TServerData = undefined>.

+

This will give you the fields:

+
act: typeof sendAct,
+featureId: string,
+handleSetValue: (newValue: TSending) => void,
+serverData: TServerData | undefined,
+shrink?: boolean,
+value: TReceiving,
+
+

act is the same as the one you get from useBackend.

+

featureId is the savefile_key of the feature.

+

handleSetValue is a function that, when called, will tell the server the new value, as well as changing the value immediately locally.

+

serverData is the server data, if it has been fetched yet (and exists).

+

shrink is whether or not the UI should appear smaller. This is only used for supplementary features.

+

value is the current value, could be predicted (meaning that the value was changed locally, but has not yet reached the server).

+

For a basic example of how this can look, observe CheckboxInput:

+
export const CheckboxInput = (
+  props: FeatureValueProps<BooleanLike, boolean>
+) => {
+  return (<Button.Checkbox
+    checked={!!props.value}
+    onClick={() => {
+      props.handleSetValue(!props.value);
+    }}
+  />);
+};
+
+Advanced - Middleware +

A /datum/preference_middleware is a way to inject your own data at specific points, as well as hijack actions.

+

Middleware can hijack actions by specifying action_delegations:

+
/datum/preference_middleware/congratulations
+	action_delegations = list(
+		"congratulate_me" = PROC_REF(congratulate_me),
+	)
+
+/datum/preference_middleware/congratulations/proc/congratulate_me(list/params, mob/user)
+	to_chat(user, span_notice("Wow, you did a great job learning about middleware!"))
+
+	return TRUE
+
+

Middleware can inject its own data at several points, such as providing new UI assets, compiled data (used by middleware such as quirks to tell the client what quirks exist), etc. Look at code/modules/client/preferences/middleware/_middleware.dm for full information.

+
+Antagonists +

In order to make an antagonist selectable, you must do a few things:

+
    +
  1. Your antagonist needs an icon.
  2. +
  3. Your antagonist must be in a Dynamic ruleset. The ruleset must specify the antagonist as its antag_flag.
  4. +
  5. Your antagonist needs a file in tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/filename.ts. This file name MUST be the antag_flag of your ruleset, with nothing but letters remaining (e.g. "Nuclear Operative" -> nuclearoperative).
  6. +
  7. Add it to special_roles.
  8. +
+Creating icons +

If you are satisfied with your icon just being a dude with some clothes, then you can specify preview_outfit in your /datum/antagonist.

+

Space Ninja, for example, looks like:

+
/datum/antagonist/ninja
+	preview_outift = /datum/outfit/ninja
+
+

However, if you want to get creative, you can override /get_preview_icon(). This proc should return an icon of size ANTAGONIST_PREVIEW_ICON_SIZExANTAGONIST_PREVIEW_ICON_SIZE.

+

There are some helper procs you can use as well. render_preview_outfit(outfit_type) will take an outfit and give you an icon of someone wearing those clothes. finish_preview_outfit will, given an icon, resize it appropriately and zoom in on the head. Note that this will look bad on anything that isn't a human, so if you have a non-human antagonist (such as sentient disease), just run icon.Scale(ANTAGONIST_PREVIEW_ICON_SIZE, ANTAGONIST_PREVIEW_ICON_SIZE).

+

For inspiration, here is changeling's:

+
/datum/antagonist/changeling/get_preview_icon()
+	var/icon/final_icon = render_preview_outfit(/datum/outfit/changeling)
+	var/icon/split_icon = render_preview_outfit(/datum/outfit/job/engineer)
+
+	final_icon.Shift(WEST, world.icon_size / 2)
+	final_icon.Shift(EAST, world.icon_size / 2)
+
+	split_icon.Shift(EAST, world.icon_size / 2)
+	split_icon.Shift(WEST, world.icon_size / 2)
+
+	final_icon.Blend(split_icon, ICON_OVERLAY)
+
+	return finish_preview_icon(final_icon)
+
+

...which creates:

+

Changeling icon

+Creating the tgui representation +

In the .ts file you created earlier, you must now give the information of your antagonist. For reference, this is the changeling's:

+
import { Antagonist, Category } from "../base";
+import { multiline } from "common/string";
+
+const Changeling: Antagonist = {
+  key: "changeling", // This must be the same as your filename
+  name: "Changeling",
+  description: [
+    multiline`
+      A highly intelligent alien predator that is capable of altering their
+      shape to flawlessly resemble a human.
+    `,
+
+    multiline`
+      Transform yourself or others into different identities, and buy from an
+      arsenal of biological weaponry with the DNA you collect.
+    `,
+  ],
+  category: Category.Roundstart, // Category.Roundstart, Category.Midround, or Category.Latejoin
+};
+
+export default Changeling;
+
+Readying the Dynamic ruleset +

You already need to create a Dynamic ruleset, so in order to get your antagonist recognized, you just need to specify antag_flag. This must be unique per ruleset.

+

Two other values to note are antag_flag_override and antag_preference.

+

antag_flag_override exists for cases where you want the banned antagonist to be separate from antag_flag. As an example: roundstart, midround, and latejoin traitors have separate antag_flag, but all have antag_flag_override = ROLE_TRAITOR. This is because admins want to ban a player from Traitor altogether, not specific rulesets.

+

If antag_preference is set, it will refer to that preference instead of antag_flag. This is used for clown operatives, which we want to be on the same preference as standard nuke ops, but must specify a unique antag_flag for.

+Updating special_roles +

In code/__DEFINES/role_preferences.dm (the same place you'll need to make your ROLE_* defined), simply add your antagonist to the special_roles assoc list. The key is your ROLE, the value is the number of days since your first game in order to play as that antagonist.

/atom/movable/screen/character_preview_viewA preview of a character for use in the preferences menu
+ + + diff --git a/code/modules/client/preferences/_preference.html b/code/modules/client/preferences/_preference.html new file mode 100644 index 000000000000..719406c8a0b6 --- /dev/null +++ b/code/modules/client/preferences/_preference.html @@ -0,0 +1,104 @@ + + + + + + + code/modules/client/preferences/_preference.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/client/preferences/_preference.dm + +

+ + + + + + + + + + + + + + + + + + + + + + +
PREFERENCE_PRIORITY_DEFAULTThe default priority level
PREFERENCE_PRIORITY_QUIRKSThe priority level for quirk-based prefs
PREFERENCE_PRIORITY_SPECIESThe priority at which species runs, needed for external organs to apply properly.
PREFERENCE_PRIORITY_GENDERThe priority at which gender is determined, needed for proper randomization.
PREFERENCE_PRIORITY_BODY_TYPEThe priority at which body type is decided, applied after gender so we can +support the "use gender" option.
PREFERENCE_PRIORITY_AUGMENTSAugments come after species and bodytype.
PREFERENCE_PRIORITY_BRANDED_PROSTHETICSApplies branding to prosthetics
PREFERENCE_PRIORITY_HUMAN_HAIRThe priority hair is applied. We apply human hair first, and moth hair after, only if they are a moth. Sorry.
PREFERENCE_PRIORITY_NONHUMAN_HAIRThe priority non-human hair is applied (used to apply moth hair after normal hair)
PREFERENCE_PRIORITY_NAMESThe priority at which names are decided, needed for proper randomization.
PREFERENCE_PRIORITY_NAME_MODIFICATIONSPreferences that aren't names, but change the name changes set by PREFERENCE_PRIORITY_NAMES.
MAX_PREFERENCE_PRIORITYThe maximum preference priority, keep this updated, but don't use it for priority.
CHOICED_PREFERENCE_DISPLAY_NAMESFor choiced preferences, this key will be used to set display names in constant data.
/proc/get_preferences_in_priority_orderReturns a flat list of preferences in order of their priority
/datum/preferenceRepresents an individual preference.
/datum/preference/choicedA preference that is a choice of one option among a fixed set. +Used for preferences such as clothing.
/datum/preference/colorA preference that represents an RGB color of something. +Will give the value as 6 hex digits, without a hash.
/datum/preference/numericA numeric preference with a minimum and maximum value
/datum/preference/toggleA prefernece whose value is always TRUE or FALSE
/datum/preference/blobHolds any kind of abstract list data you'd like it to. MUST impliment is_valid!

Define Details

+

CHOICED_PREFERENCE_DISPLAY_NAMES + + +

+

For choiced preferences, this key will be used to set display names in constant data.

MAX_PREFERENCE_PRIORITY + + +

+

The maximum preference priority, keep this updated, but don't use it for priority.

PREFERENCE_PRIORITY_AUGMENTS + + +

+

Augments come after species and bodytype.

PREFERENCE_PRIORITY_BODY_TYPE + + +

+

The priority at which body type is decided, applied after gender so we can +support the "use gender" option.

PREFERENCE_PRIORITY_BRANDED_PROSTHETICS + + +

+

Applies branding to prosthetics

PREFERENCE_PRIORITY_DEFAULT + + +

+

The default priority level

PREFERENCE_PRIORITY_GENDER + + +

+

The priority at which gender is determined, needed for proper randomization.

PREFERENCE_PRIORITY_HUMAN_HAIR + + +

+

The priority hair is applied. We apply human hair first, and moth hair after, only if they are a moth. Sorry.

PREFERENCE_PRIORITY_NAMES + + +

+

The priority at which names are decided, needed for proper randomization.

PREFERENCE_PRIORITY_NAME_MODIFICATIONS + + +

+

Preferences that aren't names, but change the name changes set by PREFERENCE_PRIORITY_NAMES.

PREFERENCE_PRIORITY_NONHUMAN_HAIR + + +

+

The priority non-human hair is applied (used to apply moth hair after normal hair)

PREFERENCE_PRIORITY_QUIRKS + + +

+

The priority level for quirk-based prefs

PREFERENCE_PRIORITY_SPECIES + + +

+

The priority at which species runs, needed for external organs to apply properly.

+ + + diff --git a/code/modules/client/preferences/admin.html b/code/modules/client/preferences/admin.html new file mode 100644 index 000000000000..1929b569a93d --- /dev/null +++ b/code/modules/client/preferences/admin.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/admin.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/admin.dm + +

+ + +
/datum/preference/choiced/brief_outfitWhat outfit to equip when spawning as a briefing officer for an ERT
+ + + diff --git a/code/modules/client/preferences/ai_core_display.html b/code/modules/client/preferences/ai_core_display.html new file mode 100644 index 000000000000..66162d232940 --- /dev/null +++ b/code/modules/client/preferences/ai_core_display.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/ai_core_display.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/ai_core_display.dm + +

+ + +
/datum/preference/choiced/ai_core_displayWhat to show on the AI screen
+ + + diff --git a/code/modules/client/preferences/assets.html b/code/modules/client/preferences/assets.html new file mode 100644 index 000000000000..e25acf185fab --- /dev/null +++ b/code/modules/client/preferences/assets.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/client/preferences/assets.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/assets.dm + +

+ + + +
/datum/asset/spritesheet/preferencesAssets generated from /datum/preference icons
/datum/asset/json/preferencesSends information needed for shared details on individual preferences
+ + + diff --git a/code/modules/client/preferences/augments/_augment.html b/code/modules/client/preferences/augments/_augment.html new file mode 100644 index 000000000000..89fd842a93c2 --- /dev/null +++ b/code/modules/client/preferences/augments/_augment.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/client/preferences/augments/_augment.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/augments/_augment.dm + +

+ + + +
/proc/get_species_augmentsReturns a tree of species > category > slot > item path
+ + + diff --git a/code/modules/client/preferences/augments/augment_bodypart.html b/code/modules/client/preferences/augments/augment_bodypart.html new file mode 100644 index 000000000000..e017ca31ea82 --- /dev/null +++ b/code/modules/client/preferences/augments/augment_bodypart.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/augments/augment_bodypart.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/augments/augment_bodypart.dm + +

+ + +
/datum/augment_item/bodypart/amputated/l_armAMPUTATION
+ + + diff --git a/code/modules/client/preferences/augments/augments.html b/code/modules/client/preferences/augments/augments.html new file mode 100644 index 000000000000..9702c1fb96cb --- /dev/null +++ b/code/modules/client/preferences/augments/augments.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/augments/augments.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/augments/augments.dm + +

+ + +
/datum/preference/blob/augmentsAugments!
+ + + diff --git a/code/modules/client/preferences/bloom.html b/code/modules/client/preferences/bloom.html new file mode 100644 index 000000000000..02be426a5921 --- /dev/null +++ b/code/modules/client/preferences/bloom.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/bloom.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/bloom.dm + +

+ + +
/datum/preference/toggle/bloomWhether or not to toggle ambient occlusion, the shadows around people
+ + + diff --git a/code/modules/client/preferences/broadcast_login_logout.html b/code/modules/client/preferences/broadcast_login_logout.html new file mode 100644 index 000000000000..e455f459ab0d --- /dev/null +++ b/code/modules/client/preferences/broadcast_login_logout.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/broadcast_login_logout.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/broadcast_login_logout.dm + +

+ + +
/datum/preference/toggle/broadcast_login_logoutWhether or not to announce when the player logs in or out.
+ + + diff --git a/code/modules/client/preferences/clothing.html b/code/modules/client/preferences/clothing.html new file mode 100644 index 000000000000..f78abfd9c454 --- /dev/null +++ b/code/modules/client/preferences/clothing.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/client/preferences/clothing.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/clothing.dm + +

+ + + + + + +
/datum/preference/choiced/backpackBackpack preference
/datum/preference/choiced/jumpsuitJumpsuit preference
/datum/preference/choiced/socksSocks preference
/datum/preference/choiced/undershirtUndershirt preference
/datum/preference/choiced/underwearUnderwear preference
+ + + diff --git a/code/modules/client/preferences/darkened_flash.html b/code/modules/client/preferences/darkened_flash.html new file mode 100644 index 000000000000..748eead11946 --- /dev/null +++ b/code/modules/client/preferences/darkened_flash.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/darkened_flash.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/darkened_flash.dm + +

+ + +
/datum/preference/toggle/darkened_flashWhen toggled, being flashed will show a dark screen rather than a light one.
+ + + diff --git a/code/modules/client/preferences/gender.html b/code/modules/client/preferences/gender.html new file mode 100644 index 000000000000..1baec93acede --- /dev/null +++ b/code/modules/client/preferences/gender.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/gender.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/gender.dm + +

+ + +
/datum/preference/choiced/genderGender preference
+ + + diff --git a/code/modules/client/preferences/ghost.html b/code/modules/client/preferences/ghost.html new file mode 100644 index 000000000000..c45b8c329f0c --- /dev/null +++ b/code/modules/client/preferences/ghost.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/client/preferences/ghost.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/ghost.dm + +

+ + + + +
/datum/preference/toggle/ghost_hudToggles the HUD for ghosts
/datum/preference/choiced/ghost_orbitDetermines what ghosts orbiting look like to you.
/datum/preference/toggle/inquisitive_ghostWhether or not ghosts can examine things by clicking on them.
+ + + diff --git a/code/modules/client/preferences/ghost_lighting.html b/code/modules/client/preferences/ghost_lighting.html new file mode 100644 index 000000000000..f78a69e0261d --- /dev/null +++ b/code/modules/client/preferences/ghost_lighting.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/ghost_lighting.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/ghost_lighting.dm + +

+ + +
/datum/preference/choiced/ghost_lightingHow bright a ghost's lighting plane is
+ + + diff --git a/code/modules/client/preferences/glasses_color.html b/code/modules/client/preferences/glasses_color.html new file mode 100644 index 000000000000..969c1920bb2c --- /dev/null +++ b/code/modules/client/preferences/glasses_color.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/glasses_color.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/glasses_color.dm + +

+ + +
/datum/preference/toggle/glasses_colorWhether or not to toggle ambient occlusion, the shadows around people
+ + + diff --git a/code/modules/client/preferences/html_prefs/categories/occupation.html b/code/modules/client/preferences/html_prefs/categories/occupation.html new file mode 100644 index 000000000000..73431e46c018 --- /dev/null +++ b/code/modules/client/preferences/html_prefs/categories/occupation.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/html_prefs/categories/occupation.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/html_prefs/categories/occupation.dm + +

+ + +
/datum/preference_group/category/occupationIf we don't have an item in our loadout, show the user if it could be colorable
+ + + diff --git a/code/modules/client/preferences/loadout/loadout_item/loadout_item.html b/code/modules/client/preferences/loadout/loadout_item/loadout_item.html new file mode 100644 index 000000000000..0bc66c68e7f7 --- /dev/null +++ b/code/modules/client/preferences/loadout/loadout_item/loadout_item.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/loadout/loadout_item/loadout_item.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/loadout/loadout_item/loadout_item.dm + +

+ + +
/datum/loadout_entryDatum for storing and customizing a selected loadout item
+ + + diff --git a/code/modules/client/preferences/middleware/_middleware.html b/code/modules/client/preferences/middleware/_middleware.html new file mode 100644 index 000000000000..d5cc645662b1 --- /dev/null +++ b/code/modules/client/preferences/middleware/_middleware.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/middleware/_middleware.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/middleware/_middleware.dm + +

+ + +
/datum/preference_middlewarePreference middleware is code that helps to decentralize complicated preference features.
+ + + diff --git a/code/modules/client/preferences/middleware/keybindings.html b/code/modules/client/preferences/middleware/keybindings.html new file mode 100644 index 000000000000..46e0b1ced7a4 --- /dev/null +++ b/code/modules/client/preferences/middleware/keybindings.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/middleware/keybindings.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/middleware/keybindings.dm + +

+ + +
/datum/preference_middleware/keybindingsMiddleware to handle keybindings
+ + + diff --git a/code/modules/client/preferences/middleware/legacy_toggles.html b/code/modules/client/preferences/middleware/legacy_toggles.html new file mode 100644 index 000000000000..04269cc1d3c4 --- /dev/null +++ b/code/modules/client/preferences/middleware/legacy_toggles.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/client/preferences/middleware/legacy_toggles.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/middleware/legacy_toggles.dm + +

+ + +
/datum/preference_middleware/legacy_togglesIn the before times, toggles were all stored in one bitfield. +In order to preserve this existing data (and code) without massive +migrations, this middleware attempts to handle this in a way +transparent to the preferences UI itself. +In the future, the existing toggles data should just be migrated to +individual /datum/preference/toggles.
+ + + diff --git a/code/modules/client/preferences/mod_select.html b/code/modules/client/preferences/mod_select.html new file mode 100644 index 000000000000..531267844b32 --- /dev/null +++ b/code/modules/client/preferences/mod_select.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/mod_select.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/mod_select.dm + +

+ + +
/datum/preference/choiced/mod_selectSwitches between mouse buttons for MODsuit active modules
+ + + diff --git a/code/modules/client/preferences/names.html b/code/modules/client/preferences/names.html new file mode 100644 index 000000000000..b57ee1d42eab --- /dev/null +++ b/code/modules/client/preferences/names.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/client/preferences/names.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/names.dm + +

+ + + + +
/datum/preference/nameA preference for a name. Used not just for normal names, but also for clown names, etc.
/datum/preference/name/real_nameA character's real name
/datum/preference/name/backup_humanThe name for a backup human, when nonhumans are made into head of staff
+ + + diff --git a/code/modules/client/preferences/occupation.html b/code/modules/client/preferences/occupation.html new file mode 100644 index 000000000000..fca52e73f54c --- /dev/null +++ b/code/modules/client/preferences/occupation.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/client/preferences/occupation.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/occupation.dm + +

+ + + +
/datum/preference/choiced/employerAn associative list of job_name:employer_path
/datum/preference/blob/job_priorityAssociative list of job:integer, where integer is a priority between 1 and 4
+ + + diff --git a/code/modules/client/preferences/ooc.html b/code/modules/client/preferences/ooc.html new file mode 100644 index 000000000000..8f1423e7adbc --- /dev/null +++ b/code/modules/client/preferences/ooc.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/ooc.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/ooc.dm + +

+ + +
/datum/preference/color/ooc_colorThe color admins will speak in for OOC.
+ + + diff --git a/code/modules/client/preferences/parallax.html b/code/modules/client/preferences/parallax.html new file mode 100644 index 000000000000..7c019a4fdf05 --- /dev/null +++ b/code/modules/client/preferences/parallax.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/parallax.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/parallax.dm + +

+ + +
/datum/preference/choiced/parallaxDetermines parallax, "fancy space"
+ + + diff --git a/code/modules/client/preferences/playtime_reward_cloak.html b/code/modules/client/preferences/playtime_reward_cloak.html new file mode 100644 index 000000000000..af4037f70326 --- /dev/null +++ b/code/modules/client/preferences/playtime_reward_cloak.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/client/preferences/playtime_reward_cloak.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/playtime_reward_cloak.dm + +

+ + +
/datum/preference/toggle/playtime_reward_cloakThis can be set to TRUE from the prefs menu only once the user has +gained over 5K playtime hours. +If true, it allows the user to get a cool looking roundstart cloak.
+ + + diff --git a/code/modules/client/preferences/preferred_map.html b/code/modules/client/preferences/preferred_map.html new file mode 100644 index 000000000000..fae63d2f28cc --- /dev/null +++ b/code/modules/client/preferences/preferred_map.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/preferred_map.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/preferred_map.dm + +

+ + +
/datum/preference/choiced/preferred_mapDuring map rotation, this will help determine the chosen map.
+ + + diff --git a/code/modules/client/preferences/scaling_method.html b/code/modules/client/preferences/scaling_method.html new file mode 100644 index 000000000000..f69553a40690 --- /dev/null +++ b/code/modules/client/preferences/scaling_method.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/scaling_method.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/scaling_method.dm + +

+ + +
/datum/preference/choiced/scaling_methodThe scaling method to show the world in, e.g. nearest neighbor
+ + + diff --git a/code/modules/client/preferences/species.html b/code/modules/client/preferences/species.html new file mode 100644 index 000000000000..146d12b8b7b5 --- /dev/null +++ b/code/modules/client/preferences/species.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/species.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/species.dm + +

+ + +
/datum/preference/choiced/speciesSpecies preference
+ + + diff --git a/code/modules/client/preferences/species_features/ipc.html b/code/modules/client/preferences/species_features/ipc.html new file mode 100644 index 000000000000..ec424d24f19d --- /dev/null +++ b/code/modules/client/preferences/species_features/ipc.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/client/preferences/species_features/ipc.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/species_features/ipc.dm + +

+ + + +
/var/ipc_chassis_optionsGlobal list of player-friendly name to iconstate prefix.
+ + + diff --git a/code/modules/client/preferences/tgui.html b/code/modules/client/preferences/tgui.html new file mode 100644 index 000000000000..b944dd4df4ed --- /dev/null +++ b/code/modules/client/preferences/tgui.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/client/preferences/tgui.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/tgui.dm + +

+ + + +
/datum/preference/toggle/tgui_input_largeLarge button preference. Error text is in tooltip.
/datum/preference/toggle/tgui_input_swappedSwapped button state - sets buttons to SS13 traditional SUBMIT/CANCEL
+ + + diff --git a/code/modules/client/preferences/ui_style.html b/code/modules/client/preferences/ui_style.html new file mode 100644 index 000000000000..75bc5ce3abad --- /dev/null +++ b/code/modules/client/preferences/ui_style.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/ui_style.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/ui_style.dm + +

+ + +
/datum/preference/choiced/ui_styleUI style preference
+ + + diff --git a/code/modules/client/preferences/window_flashing.html b/code/modules/client/preferences/window_flashing.html new file mode 100644 index 000000000000..00b7f0519ea9 --- /dev/null +++ b/code/modules/client/preferences/window_flashing.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/window_flashing.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/client/preferences/window_flashing.dm + +

+ + +
/datum/preference/toggle/window_flashingEnables flashing the window in your task tray for important events
+ + + diff --git a/code/modules/clothing/masks/animal_masks.html b/code/modules/clothing/masks/animal_masks.html new file mode 100644 index 000000000000..3e79230179be --- /dev/null +++ b/code/modules/clothing/masks/animal_masks.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/clothing/masks/animal_masks.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/clothing/masks/animal_masks.dm + +

+ + +
/obj/item/clothing/mask/animal/frogfrog mask - reeee!!
+ + + diff --git a/code/modules/clothing/masks/gas_filter.html b/code/modules/clothing/masks/gas_filter.html new file mode 100644 index 000000000000..81010b03d5b4 --- /dev/null +++ b/code/modules/clothing/masks/gas_filter.html @@ -0,0 +1,57 @@ + + + + + + + code/modules/clothing/masks/gas_filter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/clothing/masks/gas_filter.dm + +

+ + + + + + + +
HIGH_FILTERING_RATIOFiltering ratio for high amounts of gas
LOW_FILTERING_RATIOFiltering ratio for min amount of gas
HIGH_FILTERING_MOLESMin amount of high filtering gases for high filtering ratio
MID_FILTERING_MOLESMin amount of mid filtering gases for high filtering ratio
LOW_FILTERING_MOLESMin amount of low filtering gases for high filtering ratio
FILTERS_CONSTANT_WEARMin amount of wear that the filter gets when used

Define Details

+

FILTERS_CONSTANT_WEAR + + +

+

Min amount of wear that the filter gets when used

HIGH_FILTERING_MOLES + + +

+

Min amount of high filtering gases for high filtering ratio

HIGH_FILTERING_RATIO + + +

+

Filtering ratio for high amounts of gas

LOW_FILTERING_MOLES + + +

+

Min amount of low filtering gases for high filtering ratio

LOW_FILTERING_RATIO + + +

+

Filtering ratio for min amount of gas

MID_FILTERING_MOLES + + +

+

Min amount of mid filtering gases for high filtering ratio

+ + + diff --git a/code/modules/clothing/spacesuits/hardsuits/_hardsuits.html b/code/modules/clothing/spacesuits/hardsuits/_hardsuits.html new file mode 100644 index 000000000000..1c42b3bc085d --- /dev/null +++ b/code/modules/clothing/spacesuits/hardsuits/_hardsuits.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/clothing/spacesuits/hardsuits/_hardsuits.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/clothing/spacesuits/hardsuits/_hardsuits.dm + +

+ + +
HARDSUIT_EMP_BURNHow much damage you take from an emp when wearing a hardsuit

Define Details

+

HARDSUIT_EMP_BURN + + +

+

How much damage you take from an emp when wearing a hardsuit

+ + + diff --git a/code/modules/clothing/spacesuits/hardsuits/engineering.html b/code/modules/clothing/spacesuits/hardsuits/engineering.html new file mode 100644 index 000000000000..3429807d1330 --- /dev/null +++ b/code/modules/clothing/spacesuits/hardsuits/engineering.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/clothing/spacesuits/hardsuits/engineering.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/clothing/spacesuits/hardsuits/engineering.dm + +

+ + +
/obj/item/clothing/head/helmet/space/hardsuit/atmosATMOSPHERICS
+ + + diff --git a/code/modules/clothing/under/color.html b/code/modules/clothing/under/color.html new file mode 100644 index 000000000000..327a3507c984 --- /dev/null +++ b/code/modules/clothing/under/color.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/clothing/under/color.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/clothing/under/color.dm + +

+ + + + + +
/proc/get_random_jumpsuitReturns a random, acceptable jumpsuit typepath
/proc/get_random_jumpskirtReturns a random, acceptable jumpskirt typepath
+ + + diff --git a/code/modules/discord/discord_embed.html b/code/modules/discord/discord_embed.html new file mode 100644 index 000000000000..b80b21843f3c --- /dev/null +++ b/code/modules/discord/discord_embed.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/discord/discord_embed.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/discord/discord_embed.dm + +

+ + +
/datum/discord_embedDocumentation for the embed object and all of its variables can be found at +https://discord.com/developers/docs/resources/channel#embed-object +It is recommended to read the documentation on the discord website, as the information below could become outdated in the future.
+ + + diff --git a/code/modules/discord/discord_link_record.html b/code/modules/discord/discord_link_record.html new file mode 100644 index 000000000000..718547fa15cf --- /dev/null +++ b/code/modules/discord/discord_link_record.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/discord/discord_link_record.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/discord/discord_link_record.dm + +

+ + +
/datum/discord_link_recordRepresents a record from the discord link table in a nicer format
+ + + diff --git a/code/modules/dreams/_dream.html b/code/modules/dreams/_dream.html new file mode 100644 index 000000000000..50847bbb7f7a --- /dev/null +++ b/code/modules/dreams/_dream.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/dreams/_dream.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/dreams/_dream.dm + +

+ + +
/datum/dreamContains all the behavior needed to play a kind of dream. +All dream types get randomly selected from based on weight when an appropriate mobs dreams.
+ + + diff --git a/code/modules/dreams/random.html b/code/modules/dreams/random.html new file mode 100644 index 000000000000..bc314c04b7ab --- /dev/null +++ b/code/modules/dreams/random.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/dreams/random.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/dreams/random.dm + +

+ + +
/datum/dream/randomThe classic random dream of various words that might form a cohesive narrative, but usually wont
+ + + diff --git a/code/modules/events/holiday/halloween.html b/code/modules/events/holiday/halloween.html new file mode 100644 index 000000000000..1fa78786a5ff --- /dev/null +++ b/code/modules/events/holiday/halloween.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/events/holiday/halloween.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/events/holiday/halloween.dm + +

+ + +
/datum/round_event_control/spookyYou will appear adjacent to the beacon
+ + + diff --git a/code/modules/events/market_crash.html b/code/modules/events/market_crash.html new file mode 100644 index 000000000000..2dfd62902143 --- /dev/null +++ b/code/modules/events/market_crash.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/events/market_crash.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/events/market_crash.dm + +

+ + +
/datum/round_event_control/market_crashAn event which increases vendor prices on station by a factor of 4
+ + + diff --git a/code/modules/events/spacevine.html b/code/modules/events/spacevine.html new file mode 100644 index 000000000000..4f7ff250940a --- /dev/null +++ b/code/modules/events/spacevine.html @@ -0,0 +1,95 @@ + + + + + + + code/modules/events/spacevine.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/events/spacevine.dm + +

+ + + + + + + + + + + + + + + + +
LIGHT_MUTATION_BRIGHTNESSDetermines brightness of the light emitted by kudzu with the light mutation
TOXICITY_MUTATION_PROBDetermines the probability that the toxicity mutation will harm someone who passes through it
EXPLOSION_MUTATION_IMPACT_RADIUSDetermines the impact radius of kudzu's explosive mutation
GAS_MUTATION_REMOVAL_MULTIPLIERDetermines the scale factor for the amount of gas removed by kudzu with a gas removal mutation, which is this scale factor * the kudzu's energy level
THORN_MUTATION_CUT_PROBDetermines the probability that the thorn mutation will harm someone who passes through or attacks it
FLOWERING_MUTATION_SPAWN_PROBDetermines the probability that a kudzu plant with the flowering mutation will spawn a venus flower bud
VINE_FREEZING_POINTTemperature below which the kudzu can't spread
SEVERITY_TRIVIALKudzu severity values for traits, based on severity in terms of how severely it impacts the game, the lower the severity, the more likely it is to appear
MUTATIVENESS_SCALE_FACTORKudzu mutativeness is based on a scale factor * potency
MAX_SEVERITY_LINEAR_COEFFKudzu maximum mutation severity is a linear function of potency
MAX_POSSIBLE_PRODUCTIVITY_VALUEThe maximum possible productivity value of a (normal) kudzu plant, used for calculating a plant's spread cap and multiplier
SPREAD_CAP_SCALE_FACTORKudzu spread cap is a scaled version of production speed, such that the better the production speed, ie. the lower the speed value is, the faster is spreads
SPREAD_MULTIPLIER_MAXKudzu spread multiplier is a reciporal function of production speed, such that the better the production speed, ie. the lower the speed value is, the faster it spreads
/proc/isvineimmuneUsed to determine whether the mob is immune to actions by the vine. +Use cases: Stops vine from attacking itself, other plants.

Define Details

+

EXPLOSION_MUTATION_IMPACT_RADIUS + + +

+

Determines the impact radius of kudzu's explosive mutation

FLOWERING_MUTATION_SPAWN_PROB + + +

+

Determines the probability that a kudzu plant with the flowering mutation will spawn a venus flower bud

GAS_MUTATION_REMOVAL_MULTIPLIER + + +

+

Determines the scale factor for the amount of gas removed by kudzu with a gas removal mutation, which is this scale factor * the kudzu's energy level

LIGHT_MUTATION_BRIGHTNESS + + +

+

Determines brightness of the light emitted by kudzu with the light mutation

MAX_POSSIBLE_PRODUCTIVITY_VALUE + + +

+

The maximum possible productivity value of a (normal) kudzu plant, used for calculating a plant's spread cap and multiplier

MAX_SEVERITY_LINEAR_COEFF + + +

+

Kudzu maximum mutation severity is a linear function of potency

MUTATIVENESS_SCALE_FACTOR + + +

+

Kudzu mutativeness is based on a scale factor * potency

SEVERITY_TRIVIAL + + +

+

Kudzu severity values for traits, based on severity in terms of how severely it impacts the game, the lower the severity, the more likely it is to appear

SPREAD_CAP_SCALE_FACTOR + + +

+

Kudzu spread cap is a scaled version of production speed, such that the better the production speed, ie. the lower the speed value is, the faster is spreads

SPREAD_MULTIPLIER_MAX + + +

+

Kudzu spread multiplier is a reciporal function of production speed, such that the better the production speed, ie. the lower the speed value is, the faster it spreads

THORN_MUTATION_CUT_PROB + + +

+

Determines the probability that the thorn mutation will harm someone who passes through or attacks it

TOXICITY_MUTATION_PROB + + +

+

Determines the probability that the toxicity mutation will harm someone who passes through it

VINE_FREEZING_POINT + + +

+

Temperature below which the kudzu can't spread

+ + + diff --git a/code/modules/events/stray_cargo.html b/code/modules/events/stray_cargo.html new file mode 100644 index 000000000000..1df33cc701df --- /dev/null +++ b/code/modules/events/stray_cargo.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/events/stray_cargo.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/events/stray_cargo.dm + +

+ + + + +
/datum/round_event_control/stray_cargoSpawns a cargo pod containing a random cargo supply pack on a random area of the station
/datum/round_event/stray_cargoSpawns a cargo pod containing a random cargo supply pack on a random area of the station
/datum/round_event_control/stray_cargo/syndicatePlaces that shouldn't explode +Subtypes from the above that actually should explode. +A rare variant that drops a crate containing syndicate uplink items
+ + + diff --git a/code/modules/events/wizard/embeddies.html b/code/modules/events/wizard/embeddies.html new file mode 100644 index 000000000000..91f38f651093 --- /dev/null +++ b/code/modules/events/wizard/embeddies.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/events/wizard/embeddies.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/events/wizard/embeddies.dm + +

+ + + + +
/datum/global_funny_embedding
/datum/global_funny_embedding/pointyeverything will be... POINTY!!!!
/datum/global_funny_embedding/stickyeverything will be... sticky? sure, why not
+ + + diff --git a/code/modules/events/wizard/rpgloot.html b/code/modules/events/wizard/rpgloot.html new file mode 100644 index 000000000000..a6463c709df0 --- /dev/null +++ b/code/modules/events/wizard/rpgloot.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/events/wizard/rpgloot.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/events/wizard/rpgloot.dm + +

+ + +
/datum/rpgloot_controller
+ + + diff --git a/code/modules/explorer_drone/TODO.html b/code/modules/explorer_drone/TODO.html new file mode 100644 index 000000000000..173ec04d4581 --- /dev/null +++ b/code/modules/explorer_drone/TODO.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/explorer_drone/TODO.txt - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/explorer_drone/TODO.txt + +

+ + +
Future improvements:
+	Better names/descriptions for ships/trading/planets
+	More fluff lines for each site type.
+	Adventure-Maker : styling aaaaah.
+	Adventure-Maker : Consider parsing define hard-configured dm file for constants
+	Typelists for event/site stuff to reduce costs
+	Figure out some way to cache adventure prototypes / defer loading somehow so it scales better with a lot of adventure files.
+	Unit test for json loading?
+	Mk II drones with more tool slots/other buffs researchable at R&D ?
+	Could use more scan conditions
+	Exit Node - Random Node
+
+ + + diff --git a/code/modules/explorer_drone/adventure.html b/code/modules/explorer_drone/adventure.html new file mode 100644 index 000000000000..77723188298d --- /dev/null +++ b/code/modules/explorer_drone/adventure.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/explorer_drone/adventure.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/explorer_drone/adventure.dm + +

+ + + + +
/proc/load_adventuresLoads all adventures from DB
/datum/adventuretext adventure instance, holds data about nodes/choices/etc and of current play state.
+ + + diff --git a/code/modules/explorer_drone/exodrone.html b/code/modules/explorer_drone/exodrone.html new file mode 100644 index 000000000000..b0e03c6daa14 --- /dev/null +++ b/code/modules/explorer_drone/exodrone.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/explorer_drone/exodrone.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/explorer_drone/exodrone.dm + +

+ + + + + +
EXODRONE_LOG_SIZEHow many lines of log we keep
EXODRONE_CARGO_SLOTSSize of drone storage shared between loot and tools.
/obj/item/exodroneExploration drone
/obj/machinery/exodrone_launcherExploration drone launcher

Define Details

+

EXODRONE_CARGO_SLOTS + + +

+

Size of drone storage shared between loot and tools.

EXODRONE_LOG_SIZE + + +

+

How many lines of log we keep

+ + + diff --git a/code/modules/explorer_drone/exploration_events/_exploration_event.html b/code/modules/explorer_drone/exploration_events/_exploration_event.html new file mode 100644 index 000000000000..49c1459e4fb8 --- /dev/null +++ b/code/modules/explorer_drone/exploration_events/_exploration_event.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/explorer_drone/exploration_events/_exploration_event.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_events/_exploration_event.dm + +

+ + + +
/datum/exploration_eventExploration event
/datum/exploration_event/simpleSimple events, not a full fledged adventure, consist only of single encounter screen
+ + + diff --git a/code/modules/explorer_drone/exploration_events/adventure.html b/code/modules/explorer_drone/exploration_events/adventure.html new file mode 100644 index 000000000000..edc5230a1a02 --- /dev/null +++ b/code/modules/explorer_drone/exploration_events/adventure.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/explorer_drone/exploration_events/adventure.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_events/adventure.dm + +

+ + +
/datum/exploration_event/adventureAdventure wrapper event
+ + + diff --git a/code/modules/explorer_drone/exploration_events/danger.html b/code/modules/explorer_drone/exploration_events/danger.html new file mode 100644 index 000000000000..bef691c49020 --- /dev/null +++ b/code/modules/explorer_drone/exploration_events/danger.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/explorer_drone/exploration_events/danger.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_events/danger.dm + +

+ + + + +
/datum/exploration_event/simple/dangerDanger event - unskippable, if you have appriopriate tool you can mitigate damage.
/datum/exploration_event/simple/danger/carpDanger events
/datum/exploration_event/simple/danger/carp/surface_varietyThey get everywhere
+ + + diff --git a/code/modules/explorer_drone/exploration_events/fluff.html b/code/modules/explorer_drone/exploration_events/fluff.html new file mode 100644 index 000000000000..bad32e7a69a1 --- /dev/null +++ b/code/modules/explorer_drone/exploration_events/fluff.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/explorer_drone/exploration_events/fluff.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_events/fluff.dm + +

+ + +
/datum/exploration_event/fluffJust a message in the log nothing more
+ + + diff --git a/code/modules/explorer_drone/exploration_events/resource.html b/code/modules/explorer_drone/exploration_events/resource.html new file mode 100644 index 000000000000..cffcf18c1058 --- /dev/null +++ b/code/modules/explorer_drone/exploration_events/resource.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/explorer_drone/exploration_events/resource.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_events/resource.dm + +

+ + + +
/datum/exploration_event/simple/resourceSimple event type that checks if you have a tool and after a retrieval delay adds loot to drone.
/datum/exploration_event/simple/resource/concealed_cacheResource Events
+ + + diff --git a/code/modules/explorer_drone/exploration_events/trader.html b/code/modules/explorer_drone/exploration_events/trader.html new file mode 100644 index 000000000000..2d70ac01e003 --- /dev/null +++ b/code/modules/explorer_drone/exploration_events/trader.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/explorer_drone/exploration_events/trader.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_events/trader.dm + +

+ + + +
/datum/exploration_event/simple/traderTrader events - If drone is loaded with X exchanges it for Y, might require translator tool.
/datum/exploration_event/simple/trader/vendor_aiTrade events
+ + + diff --git a/code/modules/explorer_drone/exploration_site.html b/code/modules/explorer_drone/exploration_site.html new file mode 100644 index 000000000000..08afab96e2bf --- /dev/null +++ b/code/modules/explorer_drone/exploration_site.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/explorer_drone/exploration_site.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_site.dm + +

+ + + + + + +
/datum/exploration_siteExploration site, drone travel destination representing interesting zone for exploration.
/proc/build_exploration_site_ui_dataHelper proc for exploration site listings in ui.
/datum/exploration_site/abandoned_refueling_stationSites
/datum/exploration_site/alien_ruinsPlanet Type, Atmosphere
+ + + diff --git a/code/modules/explorer_drone/loot.html b/code/modules/explorer_drone/loot.html new file mode 100644 index 000000000000..23b58ecbbbb3 --- /dev/null +++ b/code/modules/explorer_drone/loot.html @@ -0,0 +1,41 @@ + + + + + + + code/modules/explorer_drone/loot.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/explorer_drone/loot.dm + +

+ + + + + + + + + + + + + + + + +
/proc/generate_generator_indexCreates generator__id => type map.
/datum/adventure_loot_generatorAdventure loot category identified by ID
/datum/adventure_loot_generator/maintenanceUses manintenance loot generators
/datum/adventure_loot_generator/cargoUnlocks special cargo crates
/datum/adventure_loot_generator/simpleJust picks and instatiates the path from the list
/datum/adventure_loot_generator/simple/uniqueUnique exploration-only rewards - this is contextless
/datum/adventure_loot_generator/simple/cashValuables
/datum/adventure_loot_generator/simple/drugsDrugs
/datum/adventure_loot_generator/simple/materialsRare minerals/materials
/datum/adventure_loot_generator/simple/weaponsAssorted weaponry
/datum/adventure_loot_generator/simple/syndicate_fishRare fish! Of the syndicate variety
/datum/adventure_loot_generator/petPets and pet accesories in carriers
/obj/item/trade_chipSupply pack unlocker chip
/obj/item/firelanceTwo handed fire lance. Melts wall after short windup.
+ + + diff --git a/code/modules/explorer_drone/manager.html b/code/modules/explorer_drone/manager.html new file mode 100644 index 000000000000..d5a44e04f6d0 --- /dev/null +++ b/code/modules/explorer_drone/manager.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/explorer_drone/manager.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/explorer_drone/manager.dm + +

+ + +
/datum/adventure_browserAdmin adventure manager
+ + + diff --git a/code/modules/explorer_drone/scanner_array.html b/code/modules/explorer_drone/scanner_array.html new file mode 100644 index 000000000000..682fbdc33ddb --- /dev/null +++ b/code/modules/explorer_drone/scanner_array.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/explorer_drone/scanner_array.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/explorer_drone/scanner_array.dm + +

+ + + + +
/datum/exoscanRepresents scan in progress, only one globally for now, todo later split per z or allow partial dish swarm usage
/datum/scanner_controllerHelper datum to calculate and store scanning power and track in progress scans
/datum/scan_conditionScan condition, these require some specific setup for the dish to count for the scan power for the given site
+ + + diff --git a/code/modules/flufftext/Hallucination.html b/code/modules/flufftext/Hallucination.html new file mode 100644 index 000000000000..073137fa7246 --- /dev/null +++ b/code/modules/flufftext/Hallucination.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/flufftext/Hallucination.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/flufftext/Hallucination.dm + +

+ + + +
/datum/hallucination/xeno_attackXeno crawls from nearby vent,jumps at you, and goes back in
/datum/hallucination/fake_health_dollCauses the target to see incorrect health damages on the healthdoll
+ + + diff --git a/code/modules/food_and_drinks/drinks/drinks.html b/code/modules/food_and_drinks/drinks/drinks.html new file mode 100644 index 000000000000..9cf176e94b55 --- /dev/null +++ b/code/modules/food_and_drinks/drinks/drinks.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/food_and_drinks/drinks/drinks.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/food_and_drinks/drinks/drinks.dm + +

+ + + + + + + +
/obj/item/reagent_containers/food/drinksDrinks.
/obj/item/reagent_containers/food/drinks/trophyDrinks. END
/obj/item/reagent_containers/food/drinks/coffeeDrinks
/obj/item/reagent_containers/food/drinks/shakerdrinkingglass and shaker
SODA_FIZZINESS_THROWN///////////////////////soda_cans// +How much fizziness is added to the can of soda by throwing it, in percentage points
SODA_FIZZINESS_SHAKEHow much fizziness is added to the can of soda by shaking it, in percentage points

Define Details

+

SODA_FIZZINESS_SHAKE + + +

+

How much fizziness is added to the can of soda by shaking it, in percentage points

SODA_FIZZINESS_THROWN + + +

+

///////////////////////soda_cans// +How much fizziness is added to the can of soda by throwing it, in percentage points

+ + + diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.html b/code/modules/food_and_drinks/drinks/drinks/bottle.html new file mode 100644 index 000000000000..a90030097ed5 --- /dev/null +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/food_and_drinks/drinks/drinks/bottle.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/drinks/drinks/bottle.dm + +

+ + + + +
/obj/item/reagent_containers/food/drinks/bottleAlchohol bottles! -Agouri
/obj/item/reagent_containers/food/drinks/bottle/orangejuiceJUICES AND STUFF
/obj/item/reagent_containers/food/drinks/bottle/molotovMOLOTOV
+ + + diff --git a/code/modules/food_and_drinks/food.html b/code/modules/food_and_drinks/food.html new file mode 100644 index 000000000000..69ed7ec323d1 --- /dev/null +++ b/code/modules/food_and_drinks/food.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/food.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/food.dm + +

+ + +
/obj/item/reagent_containers/foodFood.
+ + + diff --git a/code/modules/food_and_drinks/food/condiment.html b/code/modules/food_and_drinks/food/condiment.html new file mode 100644 index 000000000000..84d3548cbdbd --- /dev/null +++ b/code/modules/food_and_drinks/food/condiment.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/food/condiment.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/condiment.dm + +

+ + +
/obj/item/reagent_containers/food/condimentCondiments
+ + + diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.html b/code/modules/food_and_drinks/recipes/drinks_recipes.html new file mode 100644 index 000000000000..c38d5324dbbb --- /dev/null +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/food_and_drinks/recipes/drinks_recipes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/drinks_recipes.dm + +

+ + + + +
/datum/chemical_reaction/drinkDRINK RECIPE BASE
/datum/chemical_reaction/drink/goldschlagerCOCKTAILS
/datum/chemical_reaction/drink/sbitenDRINKS THAT REQUIRED IMPROVED SPRITES BELOW:: -Agouri
+ + + diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.html b/code/modules/food_and_drinks/recipes/food_mixtures.html new file mode 100644 index 000000000000..f600e3190eeb --- /dev/null +++ b/code/modules/food_and_drinks/recipes/food_mixtures.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/food_mixtures.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/food_mixtures.dm + +

+ + +
/datum/chemical_reaction/foodFOOD MIXTURES
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.html new file mode 100644 index 000000000000..c4fefc031dc2 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm + +

+ + + +
/datum/crafting_recipe/food/meatbreadBREAD
/datum/crafting_recipe/food/slimetoastTOAST
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.html new file mode 100644 index 000000000000..b3cd79449651 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm + +

+ + +
/datum/crafting_recipe/food/humanburgerBURGERS
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.html new file mode 100644 index 000000000000..23f68886bfb2 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm + +

+ + +
/datum/crafting_recipe/food/carrotcakeCAKE
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.html new file mode 100644 index 000000000000..aaf582d31f37 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm + +

+ + + +
/datum/crafting_recipe/moonshinejugBooze & Bottles
/datum/crafting_recipe/holybottleNon-alcoholic recipes
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.html new file mode 100644 index 000000000000..47e666509592 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm + +

+ + +
/datum/crafting_recipe/food/friedeggEGG RECIPE's
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.html new file mode 100644 index 000000000000..fdf0960748af --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm + +

+ + + +
/datum/crafting_recipe/food/flavorless_scSNOW CONES
/datum/crafting_recipe/food/orange_popsiclePOPSICLES
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.html new file mode 100644 index 000000000000..f4fb51ab52be --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm + +

+ + + + +
/datum/crafting_recipe/food/humankebabKEBABS
/datum/crafting_recipe/food/spidereggshamMR SPIDER
/datum/crafting_recipe/food/cornedbeefMISC RECIPE's
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.html new file mode 100644 index 000000000000..c2305141fe30 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm + +

+ + + + + + + + +
/datum/crafting_recipe/food/donutDONUTS
/datum/crafting_recipe/food/donut/jelly/berryJELLY DONUTS
/datum/crafting_recipe/food/donut/slimejelly/berrySLIME DONUTS
/datum/crafting_recipe/food/wafflesWAFFLES
/datum/crafting_recipe/food/donkpocketDONKPOCCKETS
/datum/crafting_recipe/food/muffinMUFFINS
/datum/crafting_recipe/food/khachapuriOTHER
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.html new file mode 100644 index 000000000000..97cc936df373 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm + +

+ + +
/datum/crafting_recipe/food/bananacreampiePIES
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.html new file mode 100644 index 000000000000..26d026d18e6a --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm + +

+ + +
/datum/crafting_recipe/food/margheritapizzaPIZZA!!!
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.html new file mode 100644 index 000000000000..1021e0b2807b --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm + +

+ + +
/datum/crafting_recipe/food/herbsaladSALADS
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.html new file mode 100644 index 000000000000..fb482f196272 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm + +

+ + +
/datum/crafting_recipe/food/sandwichSANDWICHES
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.html new file mode 100644 index 000000000000..f9c2be6a1f99 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm + +

+ + +
/datum/crafting_recipe/food/meatballsoupSOUP
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.html new file mode 100644 index 000000000000..bc6c1c29190b --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm + +

+ + +
/datum/crafting_recipe/food/tomatopastaSPAGHETTI
+ + + diff --git a/code/modules/food_and_drinks/restaurant/_venue.html b/code/modules/food_and_drinks/restaurant/_venue.html new file mode 100644 index 000000000000..086cb019328b --- /dev/null +++ b/code/modules/food_and_drinks/restaurant/_venue.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/restaurant/_venue.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/restaurant/_venue.dm + +

+ + +
/datum/venueRepresents the abstract concept of a food venue in the code.
+ + + diff --git a/code/modules/food_and_drinks/restaurant/custom_order.html b/code/modules/food_and_drinks/restaurant/custom_order.html new file mode 100644 index 000000000000..b9683f47a28f --- /dev/null +++ b/code/modules/food_and_drinks/restaurant/custom_order.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/food_and_drinks/restaurant/custom_order.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/restaurant/custom_order.dm + +

+ + +
/datum/custom_ordercustom order datums +Used for less generic orders (ice cream for example) +without snowflaking venue and customer code too much.
+ + + diff --git a/code/modules/food_and_drinks/restaurant/customers/_customer.html b/code/modules/food_and_drinks/restaurant/customers/_customer.html new file mode 100644 index 000000000000..f381176de4ad --- /dev/null +++ b/code/modules/food_and_drinks/restaurant/customers/_customer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/restaurant/customers/_customer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/restaurant/customers/_customer.dm + +

+ + +
/datum/customer_data/malfunctionMALFUNCTIONING - only shows up once per venue, very rare
+ + + diff --git a/code/modules/food_and_drinks/restaurant/generic_venues.html b/code/modules/food_and_drinks/restaurant/generic_venues.html new file mode 100644 index 000000000000..9f5e0ac0c259 --- /dev/null +++ b/code/modules/food_and_drinks/restaurant/generic_venues.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/restaurant/generic_venues.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/food_and_drinks/restaurant/generic_venues.dm + +

+ + + +
/datum/venue/restaurantRESTAURANT
/datum/venue/barBAR
+ + + diff --git a/code/modules/holiday/holidays.html b/code/modules/holiday/holidays.html new file mode 100644 index 000000000000..2763db6d29f6 --- /dev/null +++ b/code/modules/holiday/holidays.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/holiday/holidays.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/holiday/holidays.dm + +

+ + +
/datum/holiday/garbagedayGarbage DAYYYYY +Huh?.... NOOOO +GUNSHOT +AHHHGHHHHHHH
+ + + diff --git a/code/modules/holiday/nth_week.html b/code/modules/holiday/nth_week.html new file mode 100644 index 000000000000..11d212270168 --- /dev/null +++ b/code/modules/holiday/nth_week.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/holiday/nth_week.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/holiday/nth_week.dm + +

+ + +
/datum/holiday/nth_weekA holiday lasting one day only that falls on the nth weekday in a month i.e. 3rd Wednesday of February.
+ + + diff --git a/code/modules/hydroponics/grafts.html b/code/modules/hydroponics/grafts.html new file mode 100644 index 000000000000..480f1ee1e762 --- /dev/null +++ b/code/modules/hydroponics/grafts.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hydroponics/grafts.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/hydroponics/grafts.dm + +

+ + +
/obj/item/graftA new subsystem for hydroponics, as a way to share specific traits into plants, as a way to phase out the DNA manipulator.
+ + + diff --git a/code/modules/hydroponics/grown.html b/code/modules/hydroponics/grown.html new file mode 100644 index 000000000000..2824262ab94c --- /dev/null +++ b/code/modules/hydroponics/grown.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/hydroponics/grown.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/hydroponics/grown.dm + +

+ + + +
BITE_SIZE_POTENCY_MULTIPLIERWhen calculating bite size, potency is multiplied by this number.
BITE_SIZE_VOLUME_MULTIPLIERWhen calculating bite size, max_volume is multiplied by this number.

Define Details

+

BITE_SIZE_POTENCY_MULTIPLIER + + +

+

When calculating bite size, potency is multiplied by this number.

BITE_SIZE_VOLUME_MULTIPLIER + + +

+

When calculating bite size, max_volume is multiplied by this number.

+ + + diff --git a/code/modules/hydroponics/grown/flowers.html b/code/modules/hydroponics/grown/flowers.html new file mode 100644 index 000000000000..85fd0dcde870 --- /dev/null +++ b/code/modules/hydroponics/grown/flowers.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hydroponics/grown/flowers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/hydroponics/grown/flowers.dm + +

+ + + +
/obj/item/seeds/poppy/geranium/fraxinellaFraxinella seeds.
/obj/item/food/grown/poppy/geranium/fraxinellaFraxinella Flowers.
+ + + diff --git a/code/modules/hydroponics/grown/hedges.html b/code/modules/hydroponics/grown/hedges.html new file mode 100644 index 000000000000..dc1591084b55 --- /dev/null +++ b/code/modules/hydroponics/grown/hedges.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hydroponics/grown/hedges.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/hydroponics/grown/hedges.dm + +

+ + + +
/obj/structure/hedgethe structure placed by the shrubs
/obj/structure/hedge/opaqueuseful for mazes and such
+ + + diff --git a/code/modules/hydroponics/grown/melon.html b/code/modules/hydroponics/grown/melon.html new file mode 100644 index 000000000000..86d1abde93e6 --- /dev/null +++ b/code/modules/hydroponics/grown/melon.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hydroponics/grown/melon.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/hydroponics/grown/melon.dm + +

+ + + +
/obj/item/seeds/watermelon/barrelBarrel melon Seeds
/obj/item/food/grown/barrelmelonBarrel melon Fruit
+ + + diff --git a/code/modules/hydroponics/grown/replicapod.html b/code/modules/hydroponics/grown/replicapod.html new file mode 100644 index 000000000000..fdf9f486db0a --- /dev/null +++ b/code/modules/hydroponics/grown/replicapod.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hydroponics/grown/replicapod.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/hydroponics/grown/replicapod.dm + +

+ + +
/obj/item/seeds/replicapodThe actual replica pods themselves!
+ + + diff --git a/code/modules/hydroponics/grown/sugarcane.html b/code/modules/hydroponics/grown/sugarcane.html new file mode 100644 index 000000000000..a5c12adb0fed --- /dev/null +++ b/code/modules/hydroponics/grown/sugarcane.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hydroponics/grown/sugarcane.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/hydroponics/grown/sugarcane.dm + +

+ + +
/obj/item/seeds/bambooand bamboo!
+ + + diff --git a/code/modules/hydroponics/hydroponics.html b/code/modules/hydroponics/hydroponics.html new file mode 100644 index 000000000000..0d3405362d85 --- /dev/null +++ b/code/modules/hydroponics/hydroponics.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hydroponics/hydroponics.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/hydroponics/hydroponics.dm + +

+ + +
/obj/item/circuit_component/hydroponicsThe usb port circuit
+ + + diff --git a/code/modules/hydroponics/plant_genes.html b/code/modules/hydroponics/plant_genes.html new file mode 100644 index 000000000000..b798ade71f85 --- /dev/null +++ b/code/modules/hydroponics/plant_genes.html @@ -0,0 +1,58 @@ + + + + + + + code/modules/hydroponics/plant_genes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/hydroponics/plant_genes.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/datum/plant_genePlant gene datums - things that build and modify a plant or seed.
/datum/plant_gene/reagentReagent genes store a reagent ID and reagent ratio.
/datum/plant_gene/traitTraits that affect the grown product.
/datum/plant_gene/trait/squashAllows the plant to be squashed when thrown or slipped on, leaving a colored mess and trash type item behind.
/datum/plant_gene/trait/glow/whiteColored versions of bioluminescence. +White
/datum/plant_gene/trait/glow/redRed
/datum/plant_gene/trait/glow/yellowYellow (not the disgusting glowshroom yellow hopefully)
/datum/plant_gene/trait/glow/greenGreen (oh no, now i'm radioactive)
/datum/plant_gene/trait/glow/blueBlue (the best one)
/datum/plant_gene/trait/glow/purplePurple (did you know that notepad++ doesnt think bioluminescence is a word) (was the person who wrote this using notepad++ for dm?)
/datum/plant_gene/trait/maxchemA plant trait that causes the plant's capacity to double.
/datum/plant_gene/trait/repeated_harvestAllows a plant to be harvested multiple times.
/datum/plant_gene/trait/smokeExplodes into reagent-filled smoke when squashed.
/datum/plant_gene/trait/fire_resistanceMakes the plant and its seeds fireproof. From lavaland plants.
/datum/plant_gene/trait/invasiveInvasive spreading lets the plant jump to other trays, and the spreading plant won't replace plants of the same type.
/datum/plant_gene/trait/brewingA plant trait that causes the plant's food reagents to ferment instead.
/datum/plant_gene/trait/juicingSimilar to auto-distilling, but instead of brewing the plant's contents it juices it.
/datum/plant_gene/trait/plant_laughterPlays a laughter sound when someone slips on it. +Like the sitcom component but for plants. +Just like slippery skin, if we have a trash type this only functions on that. (Banana peels)
/datum/plant_gene/trait/eyesA plant trait that causes the plant to gain aesthetic googly eyes.
/datum/plant_gene/trait/stickyMakes the plant embed on thrown impact.
/datum/plant_gene/trait/chem_heatingThis trait automatically heats up the plant's chemical contents when harvested. +This requires nutriment to fuel. 1u nutriment = 25 K.
/datum/plant_gene/trait/chem_coolingThis trait is the opposite of above - it cools down the plant's chemical contents on harvest. +This requires nutriment to fuel. 1u nutriment = -5 K.
/datum/plant_gene/trait/preservedTraits for flowers, makes plants not decompose.
/datum/plant_gene/trait/plant_typePlant type traits. Incompatible with one another.
/datum/plant_gene/trait/plant_type/weed_hardyWeeds don't get annoyed by weeds in their tray.
/datum/plant_gene/trait/plant_type/fungal_metabolismMushrooms need less light and have a minimum yield.
/datum/plant_gene/trait/plant_type/alien_propertiesCurrently unused and does nothing. Appears in strange seeds.
+ + + diff --git a/code/modules/hydroponics/seed_extractor.html b/code/modules/hydroponics/seed_extractor.html new file mode 100644 index 000000000000..cea882c91cfe --- /dev/null +++ b/code/modules/hydroponics/seed_extractor.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hydroponics/seed_extractor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/hydroponics/seed_extractor.dm + +

+ + + +
/proc/seedifyFinds and extracts seeds from an object
+ + + diff --git a/code/modules/hydroponics/unique_plant_genes.html b/code/modules/hydroponics/unique_plant_genes.html new file mode 100644 index 000000000000..1433d6fb8439 --- /dev/null +++ b/code/modules/hydroponics/unique_plant_genes.html @@ -0,0 +1,55 @@ + + + + + + + code/modules/hydroponics/unique_plant_genes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/hydroponics/unique_plant_genes.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/datum/plant_gene/trait/anti_magicHolymelon's anti-magic trait. Charges based on potency.
/datum/plant_gene/trait/attackTraits that turn a plant into a weapon, giving them force and effects on attack.
/datum/plant_gene/trait/attack/novaflower_attackNovaflower's attack effects (sets people on fire) + degradation on attack
/datum/plant_gene/trait/attack/sunflower_attackSunflower's attack effect (shows cute text)
/datum/plant_gene/trait/attack/nettle_attackNormal nettle's force + degradation on attack
/datum/plant_gene/trait/attack/nettle_attack/deathDeathnettle force + degradation on attack
/datum/plant_gene/trait/backfireTraits for plants with backfire effects. These are negative effects that occur when a plant is handled without gloves/unsafely.
/datum/plant_gene/trait/backfire/rose_thornsRose's prick on backfire
/datum/plant_gene/trait/backfire/novaflower_heatNovaflower's hand burn on backfire
/datum/plant_gene/trait/backfire/nettle_burnNormal Nettle hannd burn on backfire
/datum/plant_gene/trait/backfire/nettle_burn/deathDeathnettle hand burn + stun on backfire
/datum/plant_gene/trait/backfire/chili_heatGhost-Chili heating up on backfire
/datum/plant_gene/trait/backfire/bluespaceBluespace Tomato squashing on the user on backfire
/datum/plant_gene/trait/mob_transformationTraits for plants that can be activated to turn into a mob.
/datum/plant_gene/trait/mob_transformation/tomatoKiller Tomato's transformation gene.
/datum/plant_gene/trait/mob_transformation/shroomWalking Mushroom's transformation gene
/datum/plant_gene/trait/one_biteTraiit for plants eaten in 1 bite.
/datum/plant_gene/trait/modified_volumeTraits for plants with a different base max_volume.
/datum/plant_gene/trait/modified_volume/omega_weedOmegaweed's funny 420 max volume gene
/datum/plant_gene/trait/modified_volume/cherry_bombCherry Bomb's increased max volume gene
/datum/plant_gene/trait/bomb_plantPlants that explode when used (based on their reagent contents)
/datum/plant_gene/trait/bomb_plant/potency_basedA subtype of bomb plants that have their boom sized based on potency instead of reagent contents.
/datum/plant_gene/trait/gas_productionCorpseflower's miasma production. +Can be generalized in the future to spawn any gas, but I don't think that's necessarily a good idea.
/datum/plant_gene/trait/invasive/galaxythistleStarthistle's essential invasive spreading
/datum/plant_gene/trait/carnivory/jupitercupJupitercup's essential carnivory
/datum/plant_gene/reagent/presetPreset plant reagent genes that are unremovable from a plant.
/datum/plant_gene/reagent/preset/liquidelectricityJupitercup's fragile Liquid Electricity
/datum/plant_gene/reagent/preset/carbonCarbon Roses's fragile Carbon
+ + + diff --git a/code/modules/industrial_lift/crossing_signal.html b/code/modules/industrial_lift/crossing_signal.html new file mode 100644 index 000000000000..12d708a01ecf --- /dev/null +++ b/code/modules/industrial_lift/crossing_signal.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/industrial_lift/crossing_signal.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/industrial_lift/crossing_signal.dm + +

+ + + + + + +
/obj/machinery/crossing_signalPedestrian crossing signal for tram
/obj/machinery/crossing_signal/northeastShifted to NE corner for east side of southern passage.
/obj/machinery/crossing_signal/northwestShifted to NW corner for west side of southern passage.
/obj/machinery/crossing_signal/southeastShifted to SE corner for east side of northern passage.
/obj/machinery/crossing_signal/southwestShifted to SW corner for west side of northern passage.
+ + + diff --git a/code/modules/industrial_lift/lift_master.html b/code/modules/industrial_lift/lift_master.html new file mode 100644 index 000000000000..de4c5905a5ca --- /dev/null +++ b/code/modules/industrial_lift/lift_master.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/industrial_lift/lift_master.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/industrial_lift/lift_master.dm + +

+ + +
/datum/lift_mastercoordinate and control movement across linked industrial_lift's. allows moving large single multitile platforms and many 1 tile platforms. +also is capable of linking platforms across linked z levels
+ + + diff --git a/code/modules/industrial_lift/tram_landmark.html b/code/modules/industrial_lift/tram_landmark.html new file mode 100644 index 000000000000..23acf1e90aa9 --- /dev/null +++ b/code/modules/industrial_lift/tram_landmark.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/industrial_lift/tram_landmark.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/industrial_lift/tram_landmark.dm + +

+ + +
/obj/effect/landmark/lift_idlift_id landmarks. used to map in specific_lift_id to trams. when the trams lift_master encounters one on a trams tile +it sets its specific_lift_id to that landmark. allows you to have multiple trams and multiple controls linking to their specific tram
+ + + diff --git a/code/modules/instruments/instrument_data/_instrument_data.html b/code/modules/instruments/instrument_data/_instrument_data.html new file mode 100644 index 000000000000..be16f2de8b91 --- /dev/null +++ b/code/modules/instruments/instrument_data/_instrument_data.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/instruments/instrument_data/_instrument_data.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/instruments/instrument_data/_instrument_data.dm + +

+ + + + +
/proc/get_allowed_instrument_idsGet all non admin_only instruments as a list of text ids.
/datum/instrumentInstrument datums hold the data for any given instrument, as well as data on how to play it and what bounds there are to playing it.
+ + + diff --git a/code/modules/instruments/instrument_data/_instrument_key.html b/code/modules/instruments/instrument_data/_instrument_key.html new file mode 100644 index 000000000000..dd7b38a98065 --- /dev/null +++ b/code/modules/instruments/instrument_data/_instrument_key.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/instruments/instrument_data/_instrument_key.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/instruments/instrument_data/_instrument_key.dm + +

+ + +
/datum/instrument_keyInstrument key datums contain everything needed to know how to play a specific +note of an instrument.*
+ + + diff --git a/code/modules/instruments/songs/_song.html b/code/modules/instruments/songs/_song.html new file mode 100644 index 000000000000..a548c2c5b41f --- /dev/null +++ b/code/modules/instruments/songs/_song.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/instruments/songs/_song.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/instruments/songs/_song.dm + +

+ + +
/datum/songThese are the actual backend behind instruments. +They attach to an atom and provide the editor + playback functionality.
+ + + diff --git a/code/modules/interview/interview.html b/code/modules/interview/interview.html new file mode 100644 index 000000000000..92313b0a751a --- /dev/null +++ b/code/modules/interview/interview.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/interview/interview.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/interview/interview.dm + +

+ + + + + +
INTERVIEW_APPROVEDState when an interview has been approved
INTERVIEW_DENIEDState when an interview as been denied
INTERVIEW_PENDINGState when an interview has had no action on it yet
/datum/interviewRepresents a new-player interview form

Define Details

+

INTERVIEW_APPROVED + + +

+

State when an interview has been approved

INTERVIEW_DENIED + + +

+

State when an interview as been denied

INTERVIEW_PENDING + + +

+

State when an interview has had no action on it yet

+ + + diff --git a/code/modules/interview/interview_manager.html b/code/modules/interview/interview_manager.html new file mode 100644 index 000000000000..cbcb87bd1215 --- /dev/null +++ b/code/modules/interview/interview_manager.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/interview/interview_manager.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/interview/interview_manager.dm + +

+ + +
/datum/interview_managerHandles all interviews in the duration of a round, includes the primary functionality for +handling the interview queue.
+ + + diff --git a/code/modules/jobs/departments/departments.html b/code/modules/jobs/departments/departments.html new file mode 100644 index 000000000000..d55fbbd3b583 --- /dev/null +++ b/code/modules/jobs/departments/departments.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/jobs/departments/departments.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/jobs/departments/departments.dm + +

+ + + + + +
/datum/job_departmentSingleton representing a category of jobs forming a department.
/datum/job_department/captainA special captain only department, for use by the preferences menu
/datum/job_department/assistantA special assistant only department, primarily for use by the preferences menu
/datum/job_department/undefinedCatch-all department for undefined jobs.
+ + + diff --git a/code/modules/jobs/job_types/_job.html b/code/modules/jobs/job_types/_job.html new file mode 100644 index 000000000000..c06f476e07f7 --- /dev/null +++ b/code/modules/jobs/job_types/_job.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/jobs/job_types/_job.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/jobs/job_types/_job.dm + +

+ + +
/datum/jobdatum/job/bureaucrat, +This is the file you should use to add alternate titles for each job, just +follow the way they're done here, it's easy enough and shouldn't take any +time at all to add more or add some for a job that doesn't have any.
+ + + diff --git a/code/modules/jobs/job_types/assistant.html b/code/modules/jobs/job_types/assistant.html new file mode 100644 index 000000000000..e98d7dadd135 --- /dev/null +++ b/code/modules/jobs/job_types/assistant.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/jobs/job_types/assistant.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/jobs/job_types/assistant.dm + +

+ + + +
/datum/colored_assistantDefines a style of jumpsuit/jumpskirt for assistants. +Jumpsuit and jumpskirt lists should match in colors, as they are used interchangably.
/datum/colored_assistant/solidWill pick one color, and stick with it
+ + + diff --git a/code/modules/jobs/job_types/security_officer.html b/code/modules/jobs/job_types/security_officer.html new file mode 100644 index 000000000000..b56dd97362bd --- /dev/null +++ b/code/modules/jobs/job_types/security_officer.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/jobs/job_types/security_officer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/jobs/job_types/security_officer.dm + +

+ + + + + +
/proc/get_officer_departmentsReturns the distribution of splitting the given security officers into departments. +Return value is an assoc list of candidate => SEC_DEPT_*.
/proc/get_distributionThis is a pretty complicated algorithm, but it's one I'm rather proud of.
+ + + diff --git a/code/modules/jobs/job_types/servant_golem.html b/code/modules/jobs/job_types/servant_golem.html new file mode 100644 index 000000000000..821c4a977987 --- /dev/null +++ b/code/modules/jobs/job_types/servant_golem.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/jobs/job_types/servant_golem.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/jobs/job_types/servant_golem.dm + +

+ + +
/datum/job/servant_golemFor late joiners, we're forced to put them in an alone department at some point.
+ + + diff --git a/code/modules/jobs/job_types/unassigned.html b/code/modules/jobs/job_types/unassigned.html new file mode 100644 index 000000000000..d0ea2f9268a0 --- /dev/null +++ b/code/modules/jobs/job_types/unassigned.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/jobs/job_types/unassigned.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/jobs/job_types/unassigned.dm + +

+ + +
/datum/job/unassignedThis type is used to indicate a lack of a job. +The mind variable assigned_role will point here by default. +As any other job datum, this is a singleton.
+ + + diff --git a/code/modules/keybindings.html b/code/modules/keybindings.html new file mode 100644 index 000000000000..bbd5dd4e0c1a --- /dev/null +++ b/code/modules/keybindings.html @@ -0,0 +1,60 @@ + + + + + + + code/modules/keybindings/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

In-code keypress handling system + +

+ + +

This whole system is heavily based off of forum_account's keyboard library. +Thanks to forum_account for saving the day, the library can be found +here!

+

.dmf macros have some very serious shortcomings. For example, they do not allow reusing parts +of one macro in another, so giving cyborgs their own shortcuts to swap active module couldn't +inherit the movement that all mobs should have anyways. The webclient only supports one macro, +so having more than one was problematic. Additionally each keybind has to call an actual +verb, which meant a lot of hidden verbs that just call one other proc. Also our existing +macro was really bad and tied unrelated behavior into Northeast(), Southeast(), Northwest(), +and Southwest().

+

The basic premise of this system is to not screw with .dmf macro setup at all and handle +pressing those keys in the code instead. We have every key call client.keyDown() +or client.keyUp() with the pressed key as an argument. Certain keys get processed +directly by the client because they should be doable at any time, then we call +keyDown() or keyUp() on the client's holder and the client's mob's focus. +By default mob.focus is the mob itself, but you can set it to any datum to give control of a +client's keypresses to another object. This would be a good way to handle a menu or driving +a mech. You can also set it to null to disregard input from a certain user.

+

Movement is handled by having each client call client.keyLoop() every game tick. +As above, this calls holder and focus.keyLoop(). atom/movable/keyLoop() handles movement +Try to keep the calculations in this proc light. It runs every tick for every client after all!

+

You can also tell which keys are being held down now. Each client a list of keys pressed called +keys_held. Each entry is a key as a text string associated with the world.time when it was +pressed.

+

No client-set keybindings at this time, but it shouldn't be too hard if someone wants.

+

Notes about certain keys:

+
    +
  • Tab has client-sided behavior but acts normally
  • +
  • T, O, and M move focus to the input when pressed. This fires the keyUp macro right away.
  • +
  • \ needs to be escaped in the dmf so any usage is \\
  • +
+

You cannot TICK_CHECK or check world.tick_usage inside of procs called by key down and up +events. They happen outside of a byond tick and have no meaning there. Key looping +works correctly since it's part of a subsystem, not direct input.

+ + + diff --git a/code/modules/language/language.html b/code/modules/language/language.html new file mode 100644 index 000000000000..75a11aec45f3 --- /dev/null +++ b/code/modules/language/language.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/language/language.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/language/language.dm + +

+ + +
/datum/languageInstall the shared set, so that we force capture all macro keys
+ + + diff --git a/code/modules/language/language_holder.html b/code/modules/language/language_holder.html new file mode 100644 index 000000000000..4d2d3c781f7c --- /dev/null +++ b/code/modules/language/language_holder.html @@ -0,0 +1,61 @@ + + + + + + + code/modules/language/language_holder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/language/language_holder.dm + +

+ + +

Language holders will either exist in an atom/movable or a mind. Creation of language holders happens +automatically when they are needed, for example when something tries to speak. +Where a mind is available, the mind language holder will be the one "in charge". The mind holder +will update its languages based on the atom holder, and will get updated as part of +transformations and other events that cause new languages to become available.

+

Every language holder has three lists of languages (and sources for each of them):

+
    +
  • understood_languages
  • +
  • spoken_languages
  • +
  • blocked_languages
  • +
+

Understood languages let you understand them, spoken languages lets you speak them +(if your tongue is compatible), and blocked languages will let you do neither no matter +what the source of the language is.

+

Language holders are designed to mostly only ever require the use the helpers in atom/movable +to achieve your goals, but it is also possible to work on them directly if needed. Any adding +and removing of languages and sources should only happen through the procs, as directly changing +these will mess something up somewhere down the line.

+

All atom movables have the initial_language_holder var which allows you to set the default language +holder to create. For example, /datum/language_holder/alien will give you xenocommon and a block for +galactic common. Human species also have a default language holder var that will be updated on +species change, initial_species_holder.

+

Key procs

+
+ + + diff --git a/code/modules/library/book.html b/code/modules/library/book.html new file mode 100644 index 000000000000..43ce301d57e9 --- /dev/null +++ b/code/modules/library/book.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/library/book.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/library/book.dm + +

+ + +
/datum/book_infoA datum which contains all the metadata of a book
+ + + diff --git a/code/modules/library/lib_machines.html b/code/modules/library/lib_machines.html new file mode 100644 index 000000000000..9d9772f810dc --- /dev/null +++ b/code/modules/library/lib_machines.html @@ -0,0 +1,42 @@ + + + + + + + code/modules/library/lib_machines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/library/lib_machines.dm + +

+ + + + +
BOOKS_PER_PAGEHow many books should we load per page?
CHECKOUTS_PER_PAGEHow many checkout records should we load per page?
INVENTORY_PER_PAGEHow many inventory items should we load per page?

Define Details

+

BOOKS_PER_PAGE + + +

+

How many books should we load per page?

CHECKOUTS_PER_PAGE + + +

+

How many checkout records should we load per page?

INVENTORY_PER_PAGE + + +

+

How many inventory items should we load per page?

+ + + diff --git a/code/modules/library/skill_learning/job_skillchips/_job.html b/code/modules/library/skill_learning/job_skillchips/_job.html new file mode 100644 index 000000000000..968686666262 --- /dev/null +++ b/code/modules/library/skill_learning/job_skillchips/_job.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/library/skill_learning/job_skillchips/_job.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/library/skill_learning/job_skillchips/_job.dm + +

+ + +
SKILLCHIP_CATEGORY_JOBJob related skillchip category

Define Details

+

SKILLCHIP_CATEGORY_JOB + + +

+

Job related skillchip category

+ + + diff --git a/code/modules/library/skill_learning/skillchip.html b/code/modules/library/skill_learning/skillchip.html new file mode 100644 index 000000000000..583a52249a98 --- /dev/null +++ b/code/modules/library/skill_learning/skillchip.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/library/skill_learning/skillchip.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/library/skill_learning/skillchip.dm + +

+ + +
SKILLCHIP_CATEGORY_GENERALGeneral related skillchip category

Define Details

+

SKILLCHIP_CATEGORY_GENERAL + + +

+

General related skillchip category

+ + + diff --git a/code/modules/lighting/emissive_blocker.html b/code/modules/lighting/emissive_blocker.html new file mode 100644 index 000000000000..d1d28843effc --- /dev/null +++ b/code/modules/lighting/emissive_blocker.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/lighting/emissive_blocker.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/lighting/emissive_blocker.dm + +

+ + +
/atom/movable/emissive_blockerInternal atom that copies an appearance on to the blocker plane
+ + + diff --git a/code/modules/lore/kinginyellow.html b/code/modules/lore/kinginyellow.html new file mode 100644 index 000000000000..ac57ffab558d --- /dev/null +++ b/code/modules/lore/kinginyellow.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/lore/kinginyellow.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/lore/kinginyellow.dm + +

+ + + +
/proc/get_oov_turfReturns a turf that is barely out of view of the target.
+ + + diff --git a/code/modules/mafia/_defines.html b/code/modules/mafia/_defines.html new file mode 100644 index 000000000000..d66dc08f74b9 --- /dev/null +++ b/code/modules/mafia/_defines.html @@ -0,0 +1,137 @@ + + + + + + + code/modules/mafia/_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/mafia/_defines.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + +
MAFIA_MAX_PLAYER_COUNThow many people can play mafia without issues (running out of spawns, procs not expecting more than this amount of people, etc)
TOWN_OVERFLOWAdd this if you don't want a role to be a choice in the selection
TOWN_INVESTroles that learn info about others in the game (chaplain, detective, psych)
TOWN_PROTECTroles that keep other roles safe (doctor, sec officer, and weirdly enough lawyer counts)
TOWN_KILLINGroles that are only there to kill bad guys.
TOWN_SUPPORTroles that don't fit into anything else (hop)
MAFIA_REGULARnormal vote kill changelings
MAFIA_SPECIALevery other changeling role that has extra abilities
NEUTRAL_KILLrole that wins solo that nobody likes
NEUTRAL_DISRUPTrole that upsets the game aka obsessed, usually worse for town than mafia but they can vote against mafia
ROLE_UNDETECTABLEto all forms of detection, shows themselves as an assistant.
ROLE_CAN_KILLhas the ability to kill at night and thus, blocks the game from ending with other teams alive.
ROLE_UNIQUEcan only be one in a randomly generated game
ROLE_REVEALEDrole is public to all other players in the game.
ROLE_VULNERABLEcan not be defended, protected, or any other form of protection. all kills succeed no matter what.
ROLE_ROLEBLOCKEDcannot perform any actions that night, preselected actions fail
COMSIG_MAFIA_SUNDOWNwhen the shutters fall, before the 45 second wait and night event resolution
COMSIG_MAFIA_NIGHT_STARTafter the 45 second wait, for actions that must go first
COMSIG_MAFIA_NIGHT_ACTION_PHASEmost night actions now resolve
COMSIG_MAFIA_NIGHT_KILL_PHASEnow killing happens from the roles that do that. the reason this is post action phase is to ensure doctors can protect and lawyers can block
COMSIG_MAFIA_NIGHT_ENDnow undoing states like protection, actions that must happen last, etc. right before shutters raise and the day begins
COMSIG_MAFIA_GAME_ENDsignal sent to roles when the game is confirmed ending

Define Details

+

COMSIG_MAFIA_GAME_END + + +

+

signal sent to roles when the game is confirmed ending

COMSIG_MAFIA_NIGHT_ACTION_PHASE + + +

+

most night actions now resolve

COMSIG_MAFIA_NIGHT_END + + +

+

now undoing states like protection, actions that must happen last, etc. right before shutters raise and the day begins

COMSIG_MAFIA_NIGHT_KILL_PHASE + + +

+

now killing happens from the roles that do that. the reason this is post action phase is to ensure doctors can protect and lawyers can block

COMSIG_MAFIA_NIGHT_START + + +

+

after the 45 second wait, for actions that must go first

COMSIG_MAFIA_SUNDOWN + + +

+

when the shutters fall, before the 45 second wait and night event resolution

MAFIA_MAX_PLAYER_COUNT + + +

+

how many people can play mafia without issues (running out of spawns, procs not expecting more than this amount of people, etc)

MAFIA_REGULAR + + +

+

normal vote kill changelings

MAFIA_SPECIAL + + +

+

every other changeling role that has extra abilities

NEUTRAL_DISRUPT + + +

+

role that upsets the game aka obsessed, usually worse for town than mafia but they can vote against mafia

NEUTRAL_KILL + + +

+

role that wins solo that nobody likes

ROLE_CAN_KILL + + +

+

has the ability to kill at night and thus, blocks the game from ending with other teams alive.

ROLE_REVEALED + + +

+

role is public to all other players in the game.

ROLE_ROLEBLOCKED + + +

+

cannot perform any actions that night, preselected actions fail

ROLE_UNDETECTABLE + + +

+

to all forms of detection, shows themselves as an assistant.

ROLE_UNIQUE + + +

+

can only be one in a randomly generated game

ROLE_VULNERABLE + + +

+

can not be defended, protected, or any other form of protection. all kills succeed no matter what.

TOWN_INVEST + + +

+

roles that learn info about others in the game (chaplain, detective, psych)

TOWN_KILLING + + +

+

roles that are only there to kill bad guys.

TOWN_OVERFLOW + + +

+

Add this if you don't want a role to be a choice in the selection

TOWN_PROTECT + + +

+

roles that keep other roles safe (doctor, sec officer, and weirdly enough lawyer counts)

TOWN_SUPPORT + + +

+

roles that don't fit into anything else (hop)

+ + + diff --git a/code/modules/mafia/controller.html b/code/modules/mafia/controller.html new file mode 100644 index 000000000000..67bcb0c98430 --- /dev/null +++ b/code/modules/mafia/controller.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mafia/controller.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mafia/controller.dm + +

+ + + + +
/datum/mafia_controllerThe mafia controller handles the mafia minigame in progress. +It is first created when the first ghost signs up to play.
/proc/create_mafia_gameCreates the global datum for playing mafia games, destroys the last if that's required and returns the new.
+ + + diff --git a/code/modules/mafia/roles.html b/code/modules/mafia/roles.html new file mode 100644 index 000000000000..42a42e4f2915 --- /dev/null +++ b/code/modules/mafia/roles.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mafia/roles.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mafia/roles.dm + +

+ + + +
/datum/mafia_role/mafiaMAFIA ROLES/// they're the "anti-town" working to kill off townies to win
/datum/mafia_role/traitorSOLO ROLES/// they range from anomalous factors to deranged killers that try to win alone.
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/DJstation.html b/code/modules/mapfluff/ruins/spaceruin_code/DJstation.html new file mode 100644 index 000000000000..feca28d4d942 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/DJstation.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/DJstation.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/DJstation.dm + +

+ + + +
/obj/item/paper/fluff/ruins/djstationdjstation items
/obj/modular_map_root/djstationdjstation module roots
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.html b/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.html new file mode 100644 index 000000000000..2098e79c9d10 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.dm + +

+ + + + +
/obj/item/paper/fluff/ruins/thederelict/equipmentthederelict items
/obj/machinery/computer/vaultcontrollerVault controller for use on the derelict/KS13.
/obj/machinery/door/airlock/vault/derelictAirlock that can't be deconstructed, broken or hacked.
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/asteroid4.html b/code/modules/mapfluff/ruins/spaceruin_code/asteroid4.html new file mode 100644 index 000000000000..294660fbb1fd --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/asteroid4.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/asteroid4.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/asteroid4.dm + +

+ + +
/obj/item/paper/fluff/ruins/asteroid4/extractionasteroid4 items
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/bigderelict1.html b/code/modules/mapfluff/ruins/spaceruin_code/bigderelict1.html new file mode 100644 index 000000000000..df13fba0dde7 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/bigderelict1.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/bigderelict1.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/bigderelict1.dm + +

+ + +
/obj/item/paper/crumpled/ruins/bigderelict1/manifestbigderelict1 items
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/clericsden.html b/code/modules/mapfluff/ruins/spaceruin_code/clericsden.html new file mode 100644 index 000000000000..466179e4f07e --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/clericsden.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/clericsden.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/clericsden.dm + +

+ + +
/obj/item/disk/data/cleric_macecleric's den items.
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/crashedclownship.html b/code/modules/mapfluff/ruins/spaceruin_code/crashedclownship.html new file mode 100644 index 000000000000..91a76e2b9da8 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/crashedclownship.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/crashedclownship.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/crashedclownship.dm + +

+ + +
/obj/item/paper/fluff/ruins/crashedclownship/true_nationcrashedclownship items
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/deepstorage.html b/code/modules/mapfluff/ruins/spaceruin_code/deepstorage.html new file mode 100644 index 000000000000..c102b311783c --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/deepstorage.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/deepstorage.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/deepstorage.dm + +

+ + +
/obj/item/paper/fluff/ruins/deepstorage/water_concerndeepstorage items
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/oldstation.html b/code/modules/mapfluff/ruins/spaceruin_code/oldstation.html new file mode 100644 index 000000000000..ad0fe6f0e0c7 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/oldstation.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/oldstation.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/oldstation.dm + +

+ + + +
/obj/item/paper/fluff/ruins/oldstationOldstation items
/obj/item/paper/fluff/ruins/oldstation/protosupermatterSupermatter crystal fluff paper used in Charlie station ruin
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/spacehotel.html b/code/modules/mapfluff/ruins/spaceruin_code/spacehotel.html new file mode 100644 index 000000000000..0d1405f4ed30 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/spacehotel.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/spacehotel.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/spacehotel.dm + +

+ + +
/obj/item/paper/fluff/ruins/spacehotel/noticespacehotel items
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/whiteshipruin_box.html b/code/modules/mapfluff/ruins/spaceruin_code/whiteshipruin_box.html new file mode 100644 index 000000000000..c62b53f081e1 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/whiteshipruin_box.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/whiteshipruin_box.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/whiteshipruin_box.dm + +

+ + +
/obj/item/circuitboard/computer/white_ship/ruinruined whiteship
+ + + diff --git a/code/modules/mapping.html b/code/modules/mapping.html new file mode 100644 index 000000000000..f132a5c77b49 --- /dev/null +++ b/code/modules/mapping.html @@ -0,0 +1,79 @@ + + + + + + + code/modules/mapping/README.txt - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapping/README.txt + +

+ + +
The code in this module originally evolved from dmm_suite and has since been
+specialized for SS13 and otherwise tweaked to fit /tg/station's needs.
+
+dmm_suite version 1.0
+	Released January 30th, 2011.
+
+NOTE: Map saving functionality removed
+
+defines the object /dmm_suite
+	- Provides the proc load_map()
+		- Loads the specified map file onto the specified z-level.
+	- provides the proc write_map()
+		- Returns a text string of the map in dmm format
+			ready for output to a file.
+	- provides the proc save_map()
+		- Returns a .dmm file if map is saved
+		- Returns FALSE if map fails to save
+
+The dmm_suite provides saving and loading of map files in BYOND's native DMM map
+format. It approximates the map saving and loading processes of the Dream Maker
+and Dream Seeker programs so as to allow editing, saving, and loading of maps at
+runtime.
+
+------------------------
+
+To save a map at runtime, create an instance of /dmm_suite, and then call
+write_map(), which accepts three arguments:
+	- A turf representing one corner of a three dimensional grid (Required).
+	- Another turf representing the other corner of the same grid (Required).
+	- Any, or a combination, of several bit flags (Optional, see documentation).
+
+The order in which the turfs are supplied does not matter, the /dmm_writer will
+determine the grid containing both, in much the same way as DM's block() function.
+write_map() will then return a string representing the saved map in dmm format;
+this string can then be saved to a file, or used for any other purose.
+
+------------------------
+
+To load a map at runtime, create an instance of /dmm_suite, and then call load_map(),
+which accepts two arguments:
+	- A .dmm file to load (Required).
+	- A number representing the z-level on which to start loading the map (Optional).
+
+The /dmm_suite will load the map file starting on the specified z-level. If no
+z-level	was specified, world.maxz will be increased so as to fit the map. Note
+that if you wish to load a map onto a z-level that already has objects on it,
+you will have to handle the removal of those objects. Otherwise the new map will
+simply load the new objects on top of the old ones.
+
+Also note that all type paths specified in the .dmm file must exist in the world's
+code, and that the /dmm_reader trusts that files to be loaded are in fact valid
+.dmm files. Errors in the .dmm format will cause runtime errors.
+
+ + + diff --git a/code/modules/mapping/mapping_helpers.html b/code/modules/mapping/mapping_helpers.html new file mode 100644 index 000000000000..3a62c355fd99 --- /dev/null +++ b/code/modules/mapping/mapping_helpers.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/mapping/mapping_helpers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapping/mapping_helpers.dm + +

+ + + + + + + + +
/obj/effect/mapping_helpers/atom_injectorHelpers used for injecting stuff into atoms on the map.
/obj/effect/mapping_helpers/atom_injector/component_injectorThis helper applies components to things on the map directly.
/obj/effect/mapping_helpers/atom_injector/element_injectorThis helper applies elements to things on the map directly.
/obj/effect/mapping_helpers/atom_injector/trait_injectorThis helper applies traits to things on the map directly.
/obj/effect/mapping_helpers/atom_injector/custom_iconFetches an external dmi and applies to the target object
/obj/effect/mapping_helpers/atom_injector/custom_soundFetches an external sound and applies to the target object
/obj/effect/mapping_helpers/trapdoor_placer
+ + + diff --git a/code/modules/mapping/modular_map_loader.html b/code/modules/mapping/modular_map_loader.html new file mode 100644 index 000000000000..0827622de829 --- /dev/null +++ b/code/modules/mapping/modular_map_loader.html @@ -0,0 +1,115 @@ + + + + + + + code/modules/mapping/modular_map_loader/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Modular Map Loader + +

+ + +
Concept +

Modular map loading is a system to allow maps to be generated with random variants by selecting from a set of pre-made modules. The system is designed to be as simple as possible for mappers to use, with a minimum of interaction with the code required.

+Implementation/obj/modular_map_root +

This root object handled picking and loading in map modules. It has two variables, and one proc.

+
    +
  • var/config_file - A string, points to a TOML configuration file, which is used to hold the information necessary to pull the correct map files and place them on the correct roots. This will be the same for all roots on a map.
  • +
  • var/key - A string, used to pull a list of .dmm files from the configuration file.
  • +
  • load_map() - Called asynchronously in the root's Initialize(). This proc creates a new instance of /datum/map_template/map_module, ingests the configuration file config_file points to, and picks a .dmm file path which maps to the root's key, by picking a random filename from among those which key maps to, and appending it to a folder path. This file path is passed into the map templace instance's load(), and the template takes over.
  • +
+

INITIALIZE_IMMEDIATE is used to ensure the ruins are loaded at the right time to avoid runtime errors related to lighting.

+/datum/map_template/map_module +

This map templace subtype is responsible for loading in the module, it has two variables and two relevant procs.

+
    +
  • var/x_offset and var/y_offset - Integers, used to store the offsets used to correctly align the module when it is loaded.
  • +
  • load() - Extends the functionality of the general map template's load() to allow a map to be specified at runtime. This means preload_size() must be called again here as the template's map file has been changed. The origin turf for the map to be loaded from is set using the offsets, and the map is loaded as per the parent.
  • +
  • preload_size() - Extends the functionality of the general map template's preload_size() to run the discover_offset proc, calculating the offset of /obj/modular_map_connector and setting the offset variables accordingly.
  • +
+/obj/modular_map_connector +

This object is used only to determine the offsets to be used on loading, and has no other functionality.

+TOML configuration +

This TOML file is used to map between a list of .dmm files and a string key. The file consists of two parts. The first is a line

+
directory = "_maps/etc/"
+
+

which points at a folder containing the .dmm files of the modules used in the map. The second is a series of tables

+
[rooms.example]
+modules = ["example_1.dmm", "example_2.dmm"]
+
+

which contains the mapping between the key "example" and the list of filenames ["example_1.dmm", "example_2.dmm"].

+/datum/unit_test/modular_map_loader +

This is the unit test for modular map loading. It performs two checks on every subtype of /obj/modular_map_root. First it checks if the file config_file points at, and if it does not the test is failed because the file does not exist. If it does exist, it then attempts to read the file, if this is null it means the fild is not valid TOML, and the test is failed because the TOML file is invalid.

+How-To +

This section will cover the basics of how to use map modules as a mapper. If you want a concrete example to look at, the space ruin _maps/RandomRuins/SpaceRuins/DJstation.dmm and its associated code, configuration and modules employ all the techniques covered in this tutorial.

+The Main Map +

First we need to create a map, as we usually would. Let's say we want to create a new space ruin foobar.dmm, and we put it in the appropriate folder as usual, _maps/RandomRuins/SpaceRuins/foobar.dmm. We now need to create three more things.

+
    +
  • code/modules/ruins/spaceruin_code/foobar.dm - A code file like would be used to store any code specific to this map.
  • +
  • strings/modular_maps/foobar.toml- A configuration file, this will be looked at in more detail later.
  • +
  • _maps/RandomRuins/SpaceRuins/foobar/ - A new subfolder, which is where we will put the .dmm files for the modules.
  • +
+

In code/modules/ruins/spaceruin_code/foobar.dm we need to add a small piece of code to define a new modular map root type for our map, which should look like this

+
/obj/modular_map_root/foobar
+	config_file = "strings/modular_maps/foobar.toml"
+
+

This means when we place root objects /obj/modular_map_root in our new map, we use this subtype that points to the correct configuration file.

+

When creating our main map, we place one of these roots in the location we want to generate a module at. Typically this would be placed at a natural landmark, such as a doorway. We then edit the varaibles of the placed root object, and set the key var to some string, let's use key = vault. Make the rest of the map, ensuring that every root you want to use a unique set of modules has a unique key.

+Module Maps +

Now we need to make the modules to be placed on our roots. These will be saved in the folder we created earlier, _maps/RandomRuins/SpaceRuins/foobar/. Modules do not have to be the same size, so long as all modules will fit properly on the root without running into other parts of the map.

+

When making a module, you need to include a connector object /obj/modular_map_connector. When the module is loaded, it will be offset so this connector is placed on top of the root on the main map.

+

We will be making the first variant of our vault module, so we save this as vault_1.dmm, following the format [key]_[number].dmm. Keep doing this until all your modules have been made.

+

If you wish, you can also place another root on a module, if for some reason that module's position is dependent on the current one. IF you do this, make sure you've placed a root with the same key on every variant of the current module (unless you only want it to appear on certain varaints of this one.)

+Configuration +

Now we go back to our configuration file strings/modular_maps/foobar.toml. Say we ended up using three different sets of modules in our map, vault, airlock and bathroom, each of which have two variants. We want our .toml file to look like this

+
directory = "_maps/RandomRuins/SpaceRuins/foobar/"
+
+[rooms.vault]
+modules = ["vault_1.dmm", "vault_2.dmm"]
+
+[rooms.airlock]
+modules = ["airlock_1.dmm", "airlock_2.dmm"]
+
+[rooms.bathroom]
+modules = ["bathroom_1.dmm", "bathroom_2.dmm"]
+
+

Let's break down what is happening here.

+

directory = "_maps/RandomRuins/SpaceRuins/foobar/" points to the folder where our modules are stored.

+

[rooms.vault] identifies the following line as being the modules for a root with key = vault.

+

modules = ["vault_1.dmm", "vault_2.dmm"] specifies which map files within the folder are to be associated with this key.

+

Once this configuration is done, the map should be fully functional. Compile and run, place your map somewhere, and continue doing this until you have satisfied yourself that everything looks how you expected it to. Remember to do everything else you need to do when adding any new ruin, or whatever kind of map you made.

+Common Mistakes +
+

My map has modules that didn't load!

+
+

Check your configuration is correct. Do the filenames given for the problem root match the names of the map files? Is the key specified in the configuration file the same as the one on the root in the map?

+
+

A module is loading in the wrong location!

+
+

Check the positioning of the connector is correct, and that only one is placed on the module.

+
+

My ruin is spawning too close to or overlapping with something!

+
+

Make sure your main map is large enough to fully contain the most expansive variation that can possibly be chosen.

+
+

Parts of my map are overlapping with each other!

+
+

Make sure modules placed adjacent or close to each other have no combination of variants which can overlap with each other, this may take some trial and error in complicated cases.

+
+

My map still isn't working and I don't know what's wrong!

+
+

Ping Thunder12345#9999 in the #coding-general channel of our discord if you need help with any problems.

+ + + diff --git a/code/modules/mapping/preloader.html b/code/modules/mapping/preloader.html new file mode 100644 index 000000000000..8ea7cb105a0e --- /dev/null +++ b/code/modules/mapping/preloader.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapping/preloader.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapping/preloader.dm + +

+ + +
/datum/map_preloaderPreloader datum
+ + + diff --git a/code/modules/mapping/reader.html b/code/modules/mapping/reader.html new file mode 100644 index 000000000000..7c5bc46a5df9 --- /dev/null +++ b/code/modules/mapping/reader.html @@ -0,0 +1,83 @@ + + + + + + + code/modules/mapping/reader.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/mapping/reader.dm + +

+ + + + + +
MAP_DMMDMM SPEC: +DMM is split into two parts. First we have strings of text linked to lists of paths and their modifications (I will call this the cache) +We call these strings "keys" and the things they point to members. Keys have a static length
MAP_TGMTGM SPEC: +TGM is a derevation of DMM, with restrictions placed on it +to make it easier to parse and to reduce merge conflicts/ease their resolution
/proc/load_mapShortcut function to parse a map and apply it to the world.

Define Details

+

MAP_DMM + + +

+

DMM SPEC: +DMM is split into two parts. First we have strings of text linked to lists of paths and their modifications (I will call this the cache) +We call these strings "keys" and the things they point to members. Keys have a static length

+

The second part is a list of locations matched to a string of keys. (I'll be calling this the grid) +These are used to lookup the cache we built earlier. +We store location lists as grid_sets. the lines represent different things depending on the spec

+

In standard DMM (which you can treat as the base case, since it also covers weird modifications) each line +represents an x file, and there's typically only one grid set per z level. +The meme is you can look at a DMM formatted map and literally see what it should roughly look like +This differs in TGM, and we can pull some performance from this

+

Any restrictions here also apply to TGM

+

/tg/ Restrictions: +Paths have a specified order. First atoms in the order in which they should be loaded, then a single turf, then the area of the cell +DMM technically supports turf stacking, but this is deprecated for all formats

MAP_TGM + + +

+

TGM SPEC: +TGM is a derevation of DMM, with restrictions placed on it +to make it easier to parse and to reduce merge conflicts/ease their resolution

+

Requirements: +Each "statement" in a key's details ends with a new line, and wrapped in (...) +All paths end with either a comma or occasionally a {, then a new line +Excepting the area, who is listed last and ends with a ) to mark the end of the key

+

{} denotes a list of variable edits applied to the path that came before the first { +the final } is followed by a comma, and then a new line +Variable edits have the form \tname = value;\n +Except the last edit, which has no final ;, and just ends in a newline +No extra padding is permitted +Many values are supported. See parse_constant() +Strings must be wrapped in "...", files in '...', and lists in list(...) +Files are kinda susy, and may not actually work. buyer beware +Lists support assoc values as expected +These constants can be further embedded into lists +One var edited list will be shared among all the things it is applied to

+

There can be no padding in front of, or behind a path

+

Therefore: +"key" = ( +/path, +/other/path{ +var = list("name" = 'filepath'); +other_var = /path +}, +/turf, +/area)

+ + + diff --git a/code/modules/mapping/verify.html b/code/modules/mapping/verify.html new file mode 100644 index 000000000000..255e4fea4541 --- /dev/null +++ b/code/modules/mapping/verify.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapping/verify.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mapping/verify.dm + +

+ + +
/datum/map_reportAn error report generated by /datum/parsed_map/proc/check_for_errors.
+ + + diff --git a/code/modules/mechcomp/_mc_message.html b/code/modules/mechcomp/_mc_message.html new file mode 100644 index 000000000000..1b42b0c39381 --- /dev/null +++ b/code/modules/mechcomp/_mc_message.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mechcomp/_mc_message.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mechcomp/_mc_message.dm + +

+ + +
/datum/mcmessageWhen we have our ghetto computer 3, this will be more useful.
+ + + diff --git a/code/modules/mechcomp/mcobjects/messaging/_messaging.html b/code/modules/mechcomp/mcobjects/messaging/_messaging.html new file mode 100644 index 000000000000..569fb3fbcedb --- /dev/null +++ b/code/modules/mechcomp/mcobjects/messaging/_messaging.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mechcomp/mcobjects/messaging/_messaging.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mechcomp/mcobjects/messaging/_messaging.dm + +

+ + +
/obj/item/mcobject/messagingThe messaging type. Use this to pass text data around between components.
+ + + diff --git a/code/modules/mining/asteroid/asteroid_generation.html b/code/modules/mining/asteroid/asteroid_generation.html new file mode 100644 index 000000000000..fb6a25c736c6 --- /dev/null +++ b/code/modules/mining/asteroid/asteroid_generation.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mining/asteroid/asteroid_generation.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/asteroid/asteroid_generation.dm + +

+ + + + + +
/proc/ReserveTurfsForAsteroidGenerationSanitizes a block of turfs to prevent writing over undesired locations
/proc/GenerateRoundAsteroidGenerates a circular asteroid.
+ + + diff --git a/code/modules/mining/asteroid/templates/simple_asteroid.html b/code/modules/mining/asteroid/templates/simple_asteroid.html new file mode 100644 index 000000000000..2def92c1e9f3 --- /dev/null +++ b/code/modules/mining/asteroid/templates/simple_asteroid.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/asteroid/templates/simple_asteroid.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/asteroid/templates/simple_asteroid.dm + +

+ + +
/datum/mining_template/simple_asteroid/seededAn asteroid with predetermined material makeup
+ + + diff --git a/code/modules/mining/equipment/kheiral_cuffs.html b/code/modules/mining/equipment/kheiral_cuffs.html new file mode 100644 index 000000000000..16a7844b83df --- /dev/null +++ b/code/modules/mining/equipment/kheiral_cuffs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mining/equipment/kheiral_cuffs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/equipment/kheiral_cuffs.dm + +

+ + +
/obj/item/kheiral_cuffsKheiral Cuffs +Acts as a GPS beacon & connects to station crew monitors from lavaland
+ + + diff --git a/code/modules/mining/equipment/lazarus_injector.html b/code/modules/mining/equipment/lazarus_injector.html new file mode 100644 index 000000000000..adddcb5d3dd4 --- /dev/null +++ b/code/modules/mining/equipment/lazarus_injector.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/lazarus_injector.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/equipment/lazarus_injector.dm + +

+ + +
/obj/item/lazarus_injectorPlayers can revive simplemobs with this.
+ + + diff --git a/code/modules/mining/equipment/mineral_scanner.html b/code/modules/mining/equipment/mineral_scanner.html new file mode 100644 index 000000000000..02f8de8a7241 --- /dev/null +++ b/code/modules/mining/equipment/mineral_scanner.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/mineral_scanner.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/equipment/mineral_scanner.dm + +

+ + +
/obj/item/mining_scannerMining Scanners
+ + + diff --git a/code/modules/mining/equipment/mining_tools.html b/code/modules/mining/equipment/mining_tools.html new file mode 100644 index 000000000000..32112bbb1a87 --- /dev/null +++ b/code/modules/mining/equipment/mining_tools.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/mining_tools.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/equipment/mining_tools.dm + +

+ + +
/obj/item/pickaxePickaxes & Drills & Shovels
+ + + diff --git a/code/modules/mining/equipment/regenerative_core.html b/code/modules/mining/equipment/regenerative_core.html new file mode 100644 index 000000000000..05c469db8a4d --- /dev/null +++ b/code/modules/mining/equipment/regenerative_core.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mining/equipment/regenerative_core.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/equipment/regenerative_core.dm + +

+ + + + +
/obj/item/hivelordstabilizerHivelord stabilizer
/obj/item/organ/regenerative_coreHivelord core
/obj/item/organ/regenerative_core/legionLegion core
+ + + diff --git a/code/modules/mining/equipment/resonator.html b/code/modules/mining/equipment/resonator.html new file mode 100644 index 000000000000..59165664ee07 --- /dev/null +++ b/code/modules/mining/equipment/resonator.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/resonator.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/equipment/resonator.dm + +

+ + +
/obj/item/resonatorResonator
+ + + diff --git a/code/modules/mining/equipment/survival_pod.html b/code/modules/mining/equipment/survival_pod.html new file mode 100644 index 000000000000..df70194e7e67 --- /dev/null +++ b/code/modules/mining/equipment/survival_pod.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/survival_pod.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/equipment/survival_pod.dm + +

+ + +
/area/misc/survivalpodSurvival Pod
+ + + diff --git a/code/modules/mining/equipment/wormhole_jaunter.html b/code/modules/mining/equipment/wormhole_jaunter.html new file mode 100644 index 000000000000..5f6fd4534f48 --- /dev/null +++ b/code/modules/mining/equipment/wormhole_jaunter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/wormhole_jaunter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/equipment/wormhole_jaunter.dm + +

+ + +
/obj/item/wormhole_jaunterJaunter
+ + + diff --git a/code/modules/mining/laborcamp/laborstacker.html b/code/modules/mining/laborcamp/laborstacker.html new file mode 100644 index 000000000000..994d8160dc1c --- /dev/null +++ b/code/modules/mining/laborcamp/laborstacker.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mining/laborcamp/laborstacker.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/laborcamp/laborstacker.dm + +

+ + + + +
/obj/machinery/mineral/labor_claim_consolePrisoners' Console
/obj/machinery/mineral/stacking_machine/laborstackerPrisoner Collection Unit
/obj/machinery/mineral/labor_points_checkerPoint Lookup Console
+ + + diff --git a/code/modules/mining/machine_processing.html b/code/modules/mining/machine_processing.html new file mode 100644 index 000000000000..b93104f68b56 --- /dev/null +++ b/code/modules/mining/machine_processing.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/mining/machine_processing.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/mining/machine_processing.dm + +

+ + + + +
SMELT_AMOUNTSmelt amount per second
/obj/machinery/mineralMineral processing unit console
/obj/machinery/mineral/processing_unitMineral processing unit

Define Details

+

SMELT_AMOUNT + + +

+

Smelt amount per second

+ + + diff --git a/code/modules/mining/machine_redemption.html b/code/modules/mining/machine_redemption.html new file mode 100644 index 000000000000..6db98537b668 --- /dev/null +++ b/code/modules/mining/machine_redemption.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/machine_redemption.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/machine_redemption.dm + +

+ + +
/obj/machinery/mineral/ore_redemptionOre Redemption Unit
+ + + diff --git a/code/modules/mining/machine_stacking.html b/code/modules/mining/machine_stacking.html new file mode 100644 index 000000000000..9fe245eaf720 --- /dev/null +++ b/code/modules/mining/machine_stacking.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mining/machine_stacking.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/machine_stacking.dm + +

+ + + +
/obj/machinery/mineral/stacking_unit_consoleMineral stacking unit console
/obj/machinery/mineral/stacking_machineMineral stacking unit
+ + + diff --git a/code/modules/mining/machine_unloading.html b/code/modules/mining/machine_unloading.html new file mode 100644 index 000000000000..3691d9d8a830 --- /dev/null +++ b/code/modules/mining/machine_unloading.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/machine_unloading.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/machine_unloading.dm + +

+ + +
/obj/machinery/mineral/unloading_machineUnloading unit
+ + + diff --git a/code/modules/mining/machine_vending.html b/code/modules/mining/machine_vending.html new file mode 100644 index 000000000000..429ac8183ad1 --- /dev/null +++ b/code/modules/mining/machine_vending.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mining/machine_vending.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/machine_vending.dm + +

+ + + + + +
/obj/machinery/mineral/equipment_vendorMining Equipment Vendor
/obj/machinery/mineral/equipment_vendor/golemGolem Point Vendor
/obj/item/mining_voucherMining Equipment Vendor Items
/obj/item/card/mining_point_cardMining Point Card
+ + + diff --git a/code/modules/mining/mine_items.html b/code/modules/mining/mine_items.html new file mode 100644 index 000000000000..661a1185f0b7 --- /dev/null +++ b/code/modules/mining/mine_items.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mining/mine_items.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/mine_items.dm + +

+ + + + + +
/obj/effect/light_emitterLight
/obj/structure/closet/wardrobe/minerMiner Lockers
/obj/machinery/computer/shuttle/miningShuttle Computer
/obj/structure/closet/crate/miningcarMining car (Crate like thing, not the rail car)
+ + + diff --git a/code/modules/mining/money_bag.html b/code/modules/mining/money_bag.html new file mode 100644 index 000000000000..6fbc86c9299e --- /dev/null +++ b/code/modules/mining/money_bag.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/money_bag.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/money_bag.dm + +

+ + +
/obj/item/storage/bag/moneyMoney bag
+ + + diff --git a/code/modules/mining/ores_coins.html b/code/modules/mining/ores_coins.html new file mode 100644 index 000000000000..51706a650ebd --- /dev/null +++ b/code/modules/mining/ores_coins.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mining/ores_coins.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/ores_coins.dm + +

+ + + + +
/obj/item/stack/oreMineral ores
/obj/item/coinCoin
/obj/item/coin/silver/doubloonCoins used in the dutchmen money bag.
+ + + diff --git a/code/modules/mining/satchel_ore_boxdm.html b/code/modules/mining/satchel_ore_boxdm.html new file mode 100644 index 000000000000..238c9e1b1dae --- /dev/null +++ b/code/modules/mining/satchel_ore_boxdm.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/satchel_ore_boxdm.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mining/satchel_ore_boxdm.dm + +

+ + +
/obj/structure/ore_boxOre box
+ + + diff --git a/code/modules/mob/emote.html b/code/modules/mob/emote.html new file mode 100644 index 000000000000..b3eb078fdf9c --- /dev/null +++ b/code/modules/mob/emote.html @@ -0,0 +1,57 @@ + + + + + + + code/modules/mob/emote.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/mob/emote.dm + +

+ + + + + + + +
BEYBLADE_PUKE_THRESHOLDHow confused a carbon must be before they will vomit
BEYBLADE_PUKE_NUTRIENT_LOSSHow must nutrition is lost when a carbon pukes
BEYBLADE_DIZZINESS_PROBABILITYHow often a carbon becomes penalized
BEYBLADE_DIZZINESS_DURATIONHow long the screenshake lasts
BEYBLADE_CONFUSION_INCREMENTHow much confusion a carbon gets every time they are penalized
BEYBLADE_CONFUSION_LIMITA max for how much confusion a carbon will be for beyblading

Define Details

+

BEYBLADE_CONFUSION_INCREMENT + + +

+

How much confusion a carbon gets every time they are penalized

BEYBLADE_CONFUSION_LIMIT + + +

+

A max for how much confusion a carbon will be for beyblading

BEYBLADE_DIZZINESS_DURATION + + +

+

How long the screenshake lasts

BEYBLADE_DIZZINESS_PROBABILITY + + +

+

How often a carbon becomes penalized

BEYBLADE_PUKE_NUTRIENT_LOSS + + +

+

How must nutrition is lost when a carbon pukes

BEYBLADE_PUKE_THRESHOLD + + +

+

How confused a carbon must be before they will vomit

+ + + diff --git a/code/modules/mob/living/basic/basic.html b/code/modules/mob/living/basic/basic.html new file mode 100644 index 000000000000..addf13b966fa --- /dev/null +++ b/code/modules/mob/living/basic/basic.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/basic.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/basic/basic.dm + +

+ + +
/mob/living/basicSimple animals 2.0, This time, let's really try to keep it simple. This basetype should purely be used as a base-level for implementing simplified behaviours for things such as damage and attacks. Everything else should be in components or AI behaviours.
+ + + diff --git a/code/modules/mob/living/basic/farm_animals/cows.html b/code/modules/mob/living/basic/farm_animals/cows.html new file mode 100644 index 000000000000..df6d8613a406 --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/cows.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/farm_animals/cows.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/basic/farm_animals/cows.dm + +

+ + + + +
/mob/living/basic/cow/wisdomWisdom cow, gives XP to a random skill and speaks wisdoms
/datum/ai_controller/basic_controller/cow/moonicornstop killing my FRIENDS
/datum/targetting_datum/basic/moonicornmoonicorns will not attack people holding something that could tame them.
+ + + diff --git a/code/modules/mob/living/carbon/carbon_stripping.html b/code/modules/mob/living/carbon/carbon_stripping.html new file mode 100644 index 000000000000..36becfb4f6e0 --- /dev/null +++ b/code/modules/mob/living/carbon/carbon_stripping.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/carbon_stripping.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/carbon/carbon_stripping.dm + +

+ + +
/datum/strippable_item/handA strippable item for a hand
+ + + diff --git a/code/modules/mob/living/carbon/human/dummy.html b/code/modules/mob/living/carbon/human/dummy.html new file mode 100644 index 000000000000..79a4b1b57555 --- /dev/null +++ b/code/modules/mob/living/carbon/human/dummy.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mob/living/carbon/human/dummy.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/dummy.dm + +

+ + + + + +
/mob/living/carbon/human/dummy/consistentProvides a dummy that is consistently bald, white, naked, etc.
/proc/get_consistent_feature_entryTakes in an accessory list and returns the first entry from that list, ensuring that we dont return SPRITE_ACCESSORY_NONE in the process.
/mob/living/carbon/human/consistentProvides a dummy for unit_tests that functions like a normal human, but with a standardized appearance +Copies the stock dna setup from the dummy/consistent type
+ + + diff --git a/code/modules/mob/living/carbon/human/human_defines.html b/code/modules/mob/living/carbon/human/human_defines.html new file mode 100644 index 000000000000..2c86182e6d5f --- /dev/null +++ b/code/modules/mob/living/carbon/human/human_defines.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/human/human_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/human_defines.dm + +

+ + +
/mob/living/carbon/humanAny humanoid (non-Xeno) mob, such as humans, plasmamen, lizards.
+ + + diff --git a/code/modules/mob/living/carbon/human/species.html b/code/modules/mob/living/carbon/human/species.html new file mode 100644 index 000000000000..3e0da2e8b302 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mob/living/carbon/human/species.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/species.dm + +

+ + + + + + +
/datum/speciesDatum that handles different species in the game.
/proc/get_selectable_speciesGets a list of all species available to choose in roundstart.
/proc/generate_selectable_speciesGenerates species available to choose in character setup at roundstart
+ + + diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.html b/code/modules/mob/living/carbon/human/species_types/jellypeople.html new file mode 100644 index 000000000000..a270daf71f70 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/carbon/human/species_types/jellypeople.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/species_types/jellypeople.dm + +

+ + + + +
/datum/species/jelly/slimeSLIMEPEOPLE
/datum/species/jelly/luminescentLUMINESCENTS
/datum/species/jelly/stargazerSTARGAZERS
+ + + diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.html b/code/modules/mob/living/carbon/human/species_types/vampire.html new file mode 100644 index 000000000000..dff86f905a99 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/vampire.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/mob/living/carbon/human/species_types/vampire.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/carbon/human/species_types/vampire.dm + +

+ + + +
VAMPIRES_PER_HOUSEhow many vampires exist in each house
VAMP_DRAIN_AMOUNTmaximum a vampire will drain, they will drain less if they hit their cap

Define Details

+

VAMPIRES_PER_HOUSE + + +

+

how many vampires exist in each house

VAMP_DRAIN_AMOUNT + + +

+

maximum a vampire will drain, they will drain less if they hit their cap

+ + + diff --git a/code/modules/mob/living/emote.html b/code/modules/mob/living/emote.html new file mode 100644 index 000000000000..400c23049ba0 --- /dev/null +++ b/code/modules/mob/living/emote.html @@ -0,0 +1,42 @@ + + + + + + + code/modules/mob/living/emote.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/emote.dm + +

+ + + + +
BLUSH_DURATIONThe time it takes for the blush visual to be removed
YAWN_PROPAGATE_CHANCE_BASEThe base chance for your yawn to propagate to someone else if they're on the same tile as you
YAWN_PROPAGATE_CHANCE_DECAYThe base chance for your yawn to propagate to someone else if they're on the same tile as you

Define Details

+

BLUSH_DURATION + + +

+

The time it takes for the blush visual to be removed

YAWN_PROPAGATE_CHANCE_BASE + + +

+

The base chance for your yawn to propagate to someone else if they're on the same tile as you

YAWN_PROPAGATE_CHANCE_DECAY + + +

+

The base chance for your yawn to propagate to someone else if they're on the same tile as you

+ + + diff --git a/code/modules/mob/living/inhand_holder.html b/code/modules/mob/living/inhand_holder.html new file mode 100644 index 000000000000..b03c784e3d85 --- /dev/null +++ b/code/modules/mob/living/inhand_holder.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/inhand_holder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/inhand_holder.dm + +

+ + + +
/obj/item/mob_holderSimple holder for picked-up mobs
/obj/item/mob_holder/destructibleIdentical to the parent /obj/item/mob_holder, except Destroy() also deletes the held mob.
+ + + diff --git a/code/modules/mob/living/life.html b/code/modules/mob/living/life.html new file mode 100644 index 000000000000..cee97ddfcc0e --- /dev/null +++ b/code/modules/mob/living/life.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/living/life.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/life.dm + +

+ + +
BODYTEMP_DIVISORThis divisor controls how fast body temperature changes to match the environment

Define Details

+

BODYTEMP_DIVISOR + + +

+

This divisor controls how fast body temperature changes to match the environment

+ + + diff --git a/code/modules/mob/living/living_defines.html b/code/modules/mob/living/living_defines.html new file mode 100644 index 000000000000..c1272d7659b0 --- /dev/null +++ b/code/modules/mob/living/living_defines.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/living/living_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/living_defines.dm + +

+ + +
/mob/livingBrutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage) +Oxygen depravation damage (no air in lungs) +Toxic damage caused by being poisoned or radiated +Burn damage caused by being way too hot, too cold or burnt. +Damage caused by being cloned or ejected from the cloner early. slimes also deal cloneloss damage to victims +Used by [living/Bump()][/mob/living/proc/Bump] and [living/PushAM()][/mob/living/proc/PushAM] to prevent potential infinite loop.
+ + + diff --git a/code/modules/mob/living/living_fov.html b/code/modules/mob/living/living_fov.html new file mode 100644 index 000000000000..28fdca2d55dd --- /dev/null +++ b/code/modules/mob/living/living_fov.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/living_fov.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/living_fov.dm + +

+ + + +
/proc/play_fov_effectPlays a visual effect representing a sound cue for people with vision obstructed by FOV or blindness
+ + + diff --git a/code/modules/mob/living/silicon/ai/ai_portrait_picker.html b/code/modules/mob/living/silicon/ai/ai_portrait_picker.html new file mode 100644 index 000000000000..f1ce57694254 --- /dev/null +++ b/code/modules/mob/living/silicon/ai/ai_portrait_picker.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/silicon/ai/ai_portrait_picker.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/silicon/ai/ai_portrait_picker.dm + +

+ + +
/datum/portrait_picker
+ + + diff --git a/code/modules/mob/living/silicon/ai/freelook.html b/code/modules/mob/living/silicon/ai/freelook.html new file mode 100644 index 000000000000..bf7ec920bdae --- /dev/null +++ b/code/modules/mob/living/silicon/ai/freelook.html @@ -0,0 +1,76 @@ + + + + + + + code/modules/mob/living/silicon/ai/freelook/README.txt - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/silicon/ai/freelook/README.txt + +

+ + +
CREDITS
+
+Initial code credit for this goes to Uristqwerty.
+Debugging, functionality, all comments and porting by Giacom.
+
+Everything about freelook (or what we can put in here) will be stored here.
+
+
+WHAT IS THIS?
+
+This is a replacement for the current camera movement system, of the AI. Before this, the AI had to move between cameras and could
+only see what the cameras could see. Not only this but the cameras could see through walls, which created problems.
+With this, the AI controls an "AI Eye" mob, which moves just like a ghost; such as moving through walls and being invisible to players.
+The AI's eye is set to this mob and then we use a system (explained below) to determine what the cameras around the AI Eye can and
+cannot see. If the camera cannot see a turf, it will black it out, otherwise it won't and the AI will be able to see it.
+This creates several features, such as.. no more see-through-wall cameras, easier to control camera movement, easier tracking,
+the AI only being able to track mobs which are visible to a camera, only trackable mobs appearing on the mob list and many more.
+
+
+HOW IT WORKS
+
+It works by first creating a camera network datum. Inside of this camera network are "chunks" (which will be
+explained later) and "cameras". The cameras list is kept up to date by obj/machinery/camera/New() and Del().
+
+Next the camera network has chunks. These chunks are a 16x16 tile block of turfs and cameras contained inside the chunk.
+These turfs are then sorted out based on what the cameras can and cannot see. If none of the cameras can see the turf, inside
+the 16x16 block, it is listed as an "obscured" turf. Meaning the AI won't be able to see it.
+
+
+HOW IT UPDATES
+
+The camera network uses a streaming method in order to effeciently update chunks. Since the server will have doors opening, doors closing,
+turf being destroyed and other lag inducing stuff, we want to update it under certain conditions and not every tick.
+
+The chunks are not created straight away, only when an AI eye moves into it's area is when it gets created.
+One a chunk is created, when a non glass door opens/closes or an opacity turf is destroyed, we check to see if an AI Eye is looking in the area.
+We do this with the "seenby" list, which updates everytime an AI is near a chunk. If there is an AI eye inside the area, we update the chunk
+that the changed atom is inside and all surrounding chunks, since a camera's vision could leak onto another chunk. If there is no AI Eye, we instead
+flag the chunk to update whenever it is loaded by an AI Eye. This is basically how the chunks update and keep it in sync. We then add some lag reducing
+measures, such as an UPDATE_BUFFER which stops a chunk from updating too many times in a certain time-frame, only updating if the changed atom was blocking
+sight; for example, we don't update glass airlocks or floors.
+
+
+WHERE IS EVERYTHING?
+
+cameranet.dm    =	Everything about the cameranet datum.
+chunk.dm        =	Everything about the chunk datum.
+eye.dm          =	Everything about the AI and the AIEye.
+updating.dm     =	Everything about triggers that will update chunks.
+
+ + + diff --git a/code/modules/mob/living/silicon/robot/robot_defines.html b/code/modules/mob/living/silicon/robot/robot_defines.html new file mode 100644 index 000000000000..82650ab5448f --- /dev/null +++ b/code/modules/mob/living/silicon/robot/robot_defines.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/silicon/robot/robot_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/silicon/robot/robot_defines.dm + +

+ + + +
/mob/living/silicon/robotDefinitions for /mob/living/silicon/robot and its children, including AI shells.
/mob/living/silicon/robot/nocellDefining specific kinds of robots +This is the subtype that gets created by robot suits. It's needed so that those kind of borgs don't have a useless cell in them
+ + + diff --git a/code/modules/mob/living/silicon/robot/robot_model.html b/code/modules/mob/living/silicon/robot/robot_model.html new file mode 100644 index 000000000000..f5f7ce01b6de --- /dev/null +++ b/code/modules/mob/living/silicon/robot/robot_model.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/silicon/robot/robot_model.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/silicon/robot/robot_model.dm + +

+ + +
/obj/item/robot_modelDefinition of /obj/item/robot_model, which defines behavior for each model. +Deals with the creation and deletion of modules (tools). +Assigns modules and traits to a borg with a specific model selected.
+ + + diff --git a/code/modules/mob/living/simple_animal/bot/vibebot.html b/code/modules/mob/living/simple_animal/bot/vibebot.html new file mode 100644 index 000000000000..1b877da4357b --- /dev/null +++ b/code/modules/mob/living/simple_animal/bot/vibebot.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/bot/vibebot.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/bot/vibebot.dm + +

+ + +
/datum/action/innate/vibeVibebot's vibe ability
+ + + diff --git a/code/modules/mob/living/simple_animal/constructs.html b/code/modules/mob/living/simple_animal/constructs.html new file mode 100644 index 000000000000..eea8b570ed17 --- /dev/null +++ b/code/modules/mob/living/simple_animal/constructs.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/mob/living/simple_animal/constructs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/constructs.dm + +

+ + + + + + + + + +
/mob/living/simple_animal/hostile/construct/juggernautJuggernaut
/mob/living/simple_animal/hostile/construct/juggernaut/angelicJuggernaut-alts
/mob/living/simple_animal/hostile/construct/wraithWraith
/mob/living/simple_animal/hostile/construct/wraith/angelicWraith-alts
/mob/living/simple_animal/hostile/construct/artificerArtificer
/mob/living/simple_animal/hostile/construct/artificer/angelicArtificer-alts
/mob/living/simple_animal/hostile/construct/harvesterHarvester
/datum/action/innate/seek_masterMaster-Tracker
+ + + diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.html b/code/modules/mob/living/simple_animal/friendly/drone/_drone.html new file mode 100644 index 000000000000..1dd7710cf754 --- /dev/null +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/friendly/drone/_drone.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/friendly/drone/_drone.dm + +

+ + +
/mob/living/simple_animal/droneSmall player controlled fixer-upper
+ + + diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drone_say.html b/code/modules/mob/living/simple_animal/friendly/drone/drone_say.html new file mode 100644 index 000000000000..a60340e9d819 --- /dev/null +++ b/code/modules/mob/living/simple_animal/friendly/drone/drone_say.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm + +

+ + + +
/proc/_alert_dronesBroadcast a message to all drones in a faction
+ + + diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.html b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.html new file mode 100644 index 000000000000..215e91c40e12 --- /dev/null +++ b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm + +

+ + +
/obj/effect/mob_spawn/ghost_role/drone
+ + + diff --git a/code/modules/mob/living/simple_animal/friendly/rabbit.html b/code/modules/mob/living/simple_animal/friendly/rabbit.html new file mode 100644 index 000000000000..40065e453739 --- /dev/null +++ b/code/modules/mob/living/simple_animal/friendly/rabbit.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/friendly/rabbit.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/friendly/rabbit.dm + +

+ + +
/mob/living/simple_animal/rabbit
+ + + diff --git a/code/modules/mob/living/simple_animal/friendly/robot_customer.html b/code/modules/mob/living/simple_animal/friendly/robot_customer.html new file mode 100644 index 000000000000..befe6e7fdc8d --- /dev/null +++ b/code/modules/mob/living/simple_animal/friendly/robot_customer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/friendly/robot_customer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/friendly/robot_customer.dm + +

+ + +
/mob/living/simple_animal/robot_customerRobot customers
+ + + diff --git a/code/modules/mob/living/simple_animal/friendly/trader.html b/code/modules/mob/living/simple_animal/friendly/trader.html new file mode 100644 index 000000000000..e53f3f4b6af7 --- /dev/null +++ b/code/modules/mob/living/simple_animal/friendly/trader.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/friendly/trader.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/friendly/trader.dm + +

+ + +
/mob/living/simple_animal/hostile/retaliate/traderA mob that has some dialogue options with radials, allows for selling items and buying em'
+ + + diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.html b/code/modules/mob/living/simple_animal/guardian/guardian.html new file mode 100644 index 000000000000..fdbf0e9bca0b --- /dev/null +++ b/code/modules/mob/living/simple_animal/guardian/guardian.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/guardian/guardian.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/guardian/guardian.dm + +

+ + +
/obj/item/guardiancreatorCreation
+ + + diff --git a/code/modules/mob/living/simple_animal/heretic_monsters.html b/code/modules/mob/living/simple_animal/heretic_monsters.html new file mode 100644 index 000000000000..70f40e3ff7fb --- /dev/null +++ b/code/modules/mob/living/simple_animal/heretic_monsters.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/heretic_monsters.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/heretic_monsters.dm + +

+ + +
/mob/living/simple_animal/hostile/heretic_summon/armsyThe "Terror of the Night" / Armsy, a large worm made of multiple bodyparts that occupies multiple tiles
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/illusion.html b/code/modules/mob/living/simple_animal/hostile/illusion.html new file mode 100644 index 000000000000..a98b4281dbfe --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/illusion.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/illusion.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/illusion.dm + +

+ + +
/mob/living/simple_animal/hostile/illusion/escapeActual Types
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.html b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.html new file mode 100644 index 000000000000..a094407a2eda --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm + +

+ + +
/mob/living/simple_animal/hostile/syndicate/mecha_pilotMecha Pilots! +By Remie Richards
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.html new file mode 100644 index 000000000000..f69d2005b39e --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/lobstrosityLobstrosities, the poster boy of charging AI mobs. Drops crab meat and bones. +Outside of charging, it's intended behavior is that it is generally slow moving, but makes up for that with a knockdown attack to score additional hits.
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/ooze.html b/code/modules/mob/living/simple_animal/hostile/ooze.html new file mode 100644 index 000000000000..66cee5d339c5 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/ooze.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/ooze.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/ooze.dm + +

+ + + + + + + + + + +
/mob/living/simple_animal/hostile/oozeOozes are slime-esque creatures, they are highly gluttonous creatures primarily intended for player controll.
/mob/living/simple_animal/hostile/ooze/gelatinous
/datum/action/cooldown/metabolicboostThis ability lets the gelatinious ooze speed up for a little bit
/datum/action/consumeThis action lets you consume the mob you're currently pulling. I'M GONNA CONSUUUUUME (this is considered one of the funny memes in the 2019-2020 era)
/mob/living/simple_animal/hostile/ooze/grapes
/datum/action/cooldown/globulesAbility that allows the owner to fire healing globules at mobs, targetting specific limbs.
/obj/projectile/globuleThis projectile embeds into mobs and heals them over time.
/obj/item/mending_globuleThis item is what is embedded into the mob, and actually handles healing of mending globules
/datum/action/cooldown/gel_cocoonThis action lets you put a mob inside of a cacoon that will inject it with some chemicals.
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/regalrat.html b/code/modules/mob/living/simple_animal/hostile/regalrat.html new file mode 100644 index 000000000000..48ce77ba368e --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/regalrat.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/regalrat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/regalrat.dm + +

+ + + + +
/datum/action/cooldown/domainIncrease the rat king's domain
/datum/action/cooldown/riotThis action checks all nearby mice, and converts them into hostile rats. If no mice are nearby, creates a new one.
/datum/reagent/rat_spitSpittle; harmless reagent that is added by rat king, and makes you disgusted.
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.html b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.html new file mode 100644 index 000000000000..8f1b0e7a015c --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm + +

+ + + + +
/datum/action/cooldown/rustledrops peels around the mob when activated
/datum/action/cooldown/exquisite_bunchspawns a plumb bunch of bananas imbued with mystical power.
/datum/action/cooldown/regurgitateThis ability will let you fire one random item from your pouch,
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.html b/code/modules/mob/living/simple_animal/hostile/space_dragon.html new file mode 100644 index 000000000000..b8f4760a509c --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.html @@ -0,0 +1,49 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/space_dragon.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/simple_animal/hostile/space_dragon.dm + +

+ + + + + + + +
CHARGE_ONGOINGThe carp rift is currently charging.
CHARGE_FINALWARNINGThe carp rift is currently charging and has output a final warning.
CHARGE_COMPLETEDThe carp rift is now fully charged.
DARKNESS_THRESHOLDThe darkness threshold for space dragon when choosing a color
/mob/living/simple_animal/hostile/space_dragonA space-faring leviathan-esque monster which breathes fire and summons carp. Spawned during its respective midround antagonist event.
/obj/structure/carp_riftThe portals Space Dragon summons to bring carp onto the station.

Define Details

+

CHARGE_COMPLETED + + +

+

The carp rift is now fully charged.

CHARGE_FINALWARNING + + +

+

The carp rift is currently charging and has output a final warning.

CHARGE_ONGOING + + +

+

The carp rift is currently charging.

DARKNESS_THRESHOLD + + +

+

The darkness threshold for space dragon when choosing a color

+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.html b/code/modules/mob/living/simple_animal/hostile/syndicate.html new file mode 100644 index 000000000000..47773398846f --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/syndicate.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/syndicate.dm + +

+ + + + + +
/obj/effect/light_emitter/red_energy_swordBase mob
/mob/living/simple_animal/hostile/syndicate/spaceMelee
/mob/living/simple_animal/hostile/syndicate/rangedGuns
/mob/living/simple_animal/hostile/syndicate/civilianMisc
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/vatbeast.html b/code/modules/mob/living/simple_animal/hostile/vatbeast.html new file mode 100644 index 000000000000..a15ea7127b51 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/vatbeast.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/vatbeast.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/vatbeast.dm + +

+ + + +
/mob/living/simple_animal/hostile/vatbeastVatbeasts are creatures from vatgrowing and are literaly a beast in a vat, yup. They are designed to be a powerful mount roughly equal to a gorilla in power.
/datum/action/cooldown/tentacle_slapAbility that allows the owner to slap other mobs a short distance away. +For vatbeats, this ability is shared with the rider.
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.html b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.html new file mode 100644 index 000000000000..e3bd2e35efd1 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm + +

+ + + +
/obj/structure/alien/resin/flower_budKudzu Flower Bud
/mob/living/simple_animal/hostile/venus_human_trapVenus Human Trap
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.html b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.html new file mode 100644 index 000000000000..d98c9f67367c --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/fuguA strange alien creature capable of increasing its mass when threatened, +giving it unmatched defensive capabilities temporarily. The rest of the +time, it is quite fragile.
+ + + diff --git a/code/modules/mob/living/simple_animal/simple_animal.html b/code/modules/mob/living/simple_animal/simple_animal.html new file mode 100644 index 000000000000..ec502dd92199 --- /dev/null +++ b/code/modules/mob/living/simple_animal/simple_animal.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/simple_animal.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/simple_animal.dm + +

+ + +
/mob/living/simple_animalSimple, mostly AI-controlled critters, such as pets, bots, and drones.
+ + + diff --git a/code/modules/mob/mob_helpers.html b/code/modules/mob/mob_helpers.html new file mode 100644 index 000000000000..9ca696a4daac --- /dev/null +++ b/code/modules/mob/mob_helpers.html @@ -0,0 +1,54 @@ + + + + + + + code/modules/mob/mob_helpers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob/mob_helpers.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/deprecise_zoneTakes a zone and returns it's "parent" zone, if it has one.
/proc/ran_zoneReturn the zone or randomly, another valid zone
/proc/above_neckWould this zone be above the neck
/proc/starsConvert random parts of a passed in message to stars
/proc/GibberishTurn text into complete gibberish!
/proc/shake_cameraShake the camera of the person viewing the mob SO REAL! +Takes the mob to shake, the time span to shake for, and the amount of tiles we're allowed to shake by in tiles +Duration isn't taken as a strict limit, since we don't trust our coders to not make things feel shitty. So it's more like a soft cap.
/proc/findnameFind if the message has the real name of any user mob in the mob_list
/proc/is_special_characterReturns TRUE if the game has started and we're either an AI with a 0th law, or we're someone with a special role/antag datum
/proc/notify_ghostsFancy notifications for ghosts
/proc/item_heal_roboticHeal a robotic body part on a mob
/proc/isAdminObserverIs the passed in mob a ghost with admin powers, doesn't check for AI interact like isAdminGhost() used to
/proc/isAdminGhostAIIs the passed in mob an admin ghost WITH AI INTERACT enabled
/proc/offer_controlOffer control of the passed in mob to dead player
+ + + diff --git a/code/modules/mob/mob_say.html b/code/modules/mob/mob_say.html new file mode 100644 index 000000000000..bf140c44df39 --- /dev/null +++ b/code/modules/mob/mob_say.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/mob_say.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/mob/mob_say.dm + +

+ + +
MESSAGE_MODS_LENGTHThe amount of items we are looking for in the message

Define Details

+

MESSAGE_MODS_LENGTH + + +

+

The amount of items we are looking for in the message

+ + + diff --git a/code/modules/mob/say_readme.html b/code/modules/mob/say_readme.html new file mode 100644 index 000000000000..445cd6fbb99e --- /dev/null +++ b/code/modules/mob/say_readme.html @@ -0,0 +1,197 @@ + + + + + + + code/modules/mob/say_readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Say code basics + +

+ + +

This document is a little dated but I believe it's accurate mostly (oranges 2019)

+MIAUW'S SAY REWRITE +

This is a basic explanation of how say() works. Read this if you don't understand something.

+

The basic "flow" of say() is that a speaker says a message, which is heard by hearers. What appears on screen +is constructed by each hearer separately, and not by the speaker.

+

This rewrite was needed, but is far from perfect. Report any bugs you come across and feel free to fix things up. +Radio code, while very much related to saycode, is not something I wanted to touch, so the code related to that may be messy.

+

If you came here to see how to use saycode, all you will ever really need to call is say(message). +To have things react when other things speak around them, add the HEAR_1 flag to their flags variable and +override their Hear() proc.

+PROCS & VARIABLES +

Here follows a list of say()-related procs and variables.

+
global procs
+	get_radio_span(freq)
+		Returns the span class associated with that frequency.
+
+	get_radio_name(freq)
+		Returns the name of that frequency.
+
+	get_hearers_in_view(R, atom/source)
+		Self-explanatory. Calls get_hear() and then calls recursive_hear_check on everything that get_hear() returns.
+
+	recursive_hear_check(atom/O)
+		Checks for hearers by looping through the contents of O and the contents of the contents of O and etc and checking
+		each object for the HEAR_1 flag. Returns a list of objects with the HEAR_1 flag.
+
+	get_hear(range, atom/source)
+		Like view(), but ignores luminosity.
+
+	message_spans_start(spans)
+		Turns each element of spans into a span class.
+
+	attach_spans(input, spans)
+		Attaches span classes around input.
+
+/atom/movable
+	flags
+		The HEAR_1 flag determines whether something is a hearer or not.
+		Hear() is only called on procs with this flag.
+
+	languages
+		languages live either in datum/languages_holder or in the mind.
+
+	verb_say/verb_ask/verb_exclaim/verb_yell/verb_sing
+		These determine what the verb is for their respective action. Used in say_quote().
+
+	say(message, bubble_type, var/list/spans, sanitize, datum/language/language, ignore_spam, forced)
+		Say() is the "mother-proc". It calls all the other procs required for speaking, but does little itself.
+		At the atom/movable level, say() just calls send_speech.
+
+	Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, message_mods)
+		This proc handles hearing. What it does varies. For mobs, it treats the message with hearer-specific things
+		like language and deafness, then outputs it to the hearer.
+
+		IMPORTANT NOTE: If radio_freq is not null, the code will assume that the speaker is virtual! (more info on this in the Radios section below)
+
+	send_speech(message, range, source, bubble_type, spans, list/message_mods)
+		This proc composes a list of hearers (things with the HEAR_1 flag + dead people) and calls Hear() on them.
+		Message treatment or composition of output are not done by this proc, these are handled by the rest of
+		say() and the hearer respectively.
+
+	lang_treat(message, atom/movable/speaker, message_langs, raw_message, spans, list/message_mods)
+		Modifies the message by comparing the languages of the speaker with the languages of the hearer.
+		Called on the hearer.
+		Passes message_mods to say_quote.
+
+	say_quote(input, spans, list/message_mods)
+		Adds a verb and quotes to a message. Also attaches span classes to a message.
+        Verbs are determined by verb_say/verb_ask/verb_yell/verb_sing variables. Called on the speaker.
+
+/mob
+	say_dead(message)
+		Sends a message to all dead people. Does not use Hear().
+
+	compose_message(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, list/message_mods)
+		Composes the message mobs see on their screen when they hear something.
+
+	compose_track_href(message, atom/movable/speaker, message_langs, raw_message, radio_freq)
+		Composes the href tags used by the AI for tracking. Returns "" for all mobs except AIs.
+
+	compose_job(message, atom/movable/speaker, message_langs, raw_message, radio_freq)
+		Composes the job and the end tag for tracking hrefs. Returns "" for all mobs except AIs.
+
+	hivecheck()
+		Returns TRUE if the mob can hear and talk in the alien hivemind.
+
+	lingcheck()
+		Returns a bitflag representing who is trying to talk to the changeling hivemind.
+
+/mob/living
+	say(message, bubble_type, var/list/spans, sanitize, datum/language/languag, ignore_spam, forced)
+		The say() of mob_living is significantly more complex than that of objects.
+		Most of the extra code has to do with radios and message treatment.
+
+	send_speech(message, range, source, bubble_type, spans, list/message_mods)
+		mob/living's send_speech allows mobs one tile outside of the defined range to still hear the message,
+		but starred with the stars() proc.
+
+	check_emote(message)
+		Checks if the message begins with an * and is thus an emote.
+
+	can_speak(message)
+		Calls can_speak_basic() and can_speak_vocal(), if they both pass it passes
+
+	can_speak_basic(message)
+		Sees if the mob can "think" the message. Does not include vocalization or stat checks.
+		Vocalization checks are in can_speak_vocal, stat checks have to be done manually.
+		Called right before handle_inherent_channels()
+
+	can_speak_vocal(message)
+		Checks if the mob can vocalize their message. This is separate so, for example, muzzles don't block
+		hivemind chat.
+		Called right after handle_inherent_channels()
+
+	get_message_mods(message, list/message_mods)
+		Checks the start of the message for each of the components it could contain, stores that info in mods, and returns a trimmed list
+
+	treat_message(message)
+		What it says on the tin. Treats the message according to flags set on the mob.
+		Also handles captilization of the message
+
+	radio(message, list/message_mods = list(), spans)
+		Handles talking into radios. Uses a switch to determine what radio to speak into and in which manner to do so.
+
+		Return is a bitflag.
+		NOPASS = terminate say()
+		ITALICS = add italics to the message
+		REDUCE_RANGE = reduce the message range to one tile.
+
+		Return 0 if no radio was spoken into.
+		IMPORTANT: remember to call ..() and check for ..()'s return value properly!
+
+/datum/saymode
+	This is made to handle things like admin or alien chat.
+	Features that look like radio, but aren't quite
+
+	key
+		The key used to talk on this channel, in combination with : or .
+	mode
+		The UID we use for this channel
+
+	handle_message(message, list/message_mods, datum/language/language)
+		Intercepts say() after it's done all of it's message building.
+		If this returns true we stop say(), if it returns false we keep going
+
+RADIOS +

I did not want to interfere with radios too much, but I sort of had to. +For future generations, here is how radio code works: +First, talk_into() is called on a radio. This sends a signal datum into the magic machine that is tcomms, which +eventually results in broadcast_message() being called.

+

Broadcast_message() does NOT call say() on radios, but rather calls Hear() on everyone in range of a radio. +This is because the system does not like repeating says.

+

Furthermore, I changed radios to not be in the SSpackets. Instead, they are in a global list called all_radios. +This is an associative list, and the numbers as strings are the keys. The values are lists of radios that can hear said frequency.

+

To add a radio, simply use add_radio(radio, frequency). To remove a radio, use remove_radio(radio, frequency). +To remove a radio from ALL frequencies, use remove_radio_all(radio).

+VIRTUAL SPEAKERS: +

Virtual speakers are simply atom/movables with a few extra variables. +If radio_freq is not null, the code will rely on the fact that the speaker is virtual. This means that several procs will return something:

+
	(all of these procs are defined at the atom/movable level and return "" at that level.)
+	GetJob()
+		Returns the job string variable of the virtual speaker.
+	GetTrack()
+		Returns wether the tracking href should be fake or not.
+	GetSource()
+		Returns the source of the virtual speaker.
+	GetRadio()
+		Returns the radio that was spoken through by the source. Needed for AI tracking.
+
+

This is fairly hacky, but it means that I can advoid using istypes. It's mainly relevant for AI tracking and AI job display.

+

That's all, folks!

+ + + diff --git a/code/modules/mob_spawn/corpses/mob_corpses.html b/code/modules/mob_spawn/corpses/mob_corpses.html new file mode 100644 index 000000000000..7bb0a2c257b3 --- /dev/null +++ b/code/modules/mob_spawn/corpses/mob_corpses.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob_spawn/corpses/mob_corpses.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob_spawn/corpses/mob_corpses.dm + +

+ + +
/obj/effect/mob_spawn/corpse/human/syndicatesoldierall the corpses meant as mob drops yes, these definitely could be sorted properly. i invite (you) to do it!!
+ + + diff --git a/code/modules/mob_spawn/corpses/nonhuman_corpses.html b/code/modules/mob_spawn/corpses/nonhuman_corpses.html new file mode 100644 index 000000000000..f7c6a16ed12c --- /dev/null +++ b/code/modules/mob_spawn/corpses/nonhuman_corpses.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob_spawn/corpses/nonhuman_corpses.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob_spawn/corpses/nonhuman_corpses.dm + +

+ + + + +
/obj/effect/mob_spawn/corpse/aidead ai, blue screen and everything.
/obj/effect/mob_spawn/corpse/slimedead slimes, with a var for whatever color you want.
/obj/effect/mob_spawn/corpse/facehuggerdead facehuggers, great for xeno ruins so you can have a cool ruin without spiraling the entire round into xenomorph hell. also, this is a terrible terrible artifact of time
+ + + diff --git a/code/modules/mob_spawn/mob_spawn.html b/code/modules/mob_spawn/mob_spawn.html new file mode 100644 index 000000000000..aa1079d89990 --- /dev/null +++ b/code/modules/mob_spawn/mob_spawn.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob_spawn/mob_spawn.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mob_spawn/mob_spawn.dm + +

+ + + +
/obj/effect/mob_spawn/ghost_rolethese mob spawn subtypes do not trigger until attacked by a ghost.
/obj/effect/mob_spawn/corpsethese mob spawn subtypes trigger immediately (New or Initialize) and are not player controlled... since they're dead, you know?
+ + + diff --git a/code/modules/mod/adding_new_mod.html b/code/modules/mod/adding_new_mod.html new file mode 100644 index 000000000000..18e286c7e99e --- /dev/null +++ b/code/modules/mod/adding_new_mod.html @@ -0,0 +1,290 @@ + + + + + + + code/modules/mod/adding_new_mod.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/adding_new_mod.md + +

+ + +
Introduction +

This is a step by step guide for creating a MODsuit theme, skin and module.

+Theme +

This is pretty simple, we go here and add a new definition, let's go with a Psychologist theme as an example.
+Their names should be like model names or use similar adjectives, like "magnate" or simply "engineering", so we'll go with "psychological".
+After that, it's good to decide what company is manufacturing the suit, and a basic description of what it offers, we'll write that down in the desc.
+So, let's our suit should be a low-power usage with lowered module capacity. We'd go with something like this.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+
+

For people that want to see additional stuff, we add an extended description with some more insight into what the suit does. We also set the default skin to usually the theme name, like so.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+
+

Next we want to set the statistics, you can view them all in the theme file, so let's just grab our relevant ones, armor, charge and capacity and set them to what we establilished.
+Currently crew MODsuits should be lightly armored in combat relevant stats.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+	armor_type = /datum/armor/modtheme_psychological
+	complexity_max = DEFAULT_MAX_COMPLEXITY - 7
+	charge_drain = DEFAULT_CHARGE_DRAIN * 0.5
+
+

Now we have a basic theme, it lacks a skin which will be covered in the next section, and an item, which we will add right now.
+Let's go into here. It's as simple as adding a new suit type with the appropriate modules you want.

+
/obj/item/mod/control/pre_equipped/psychological
+	theme = /datum/mod_theme/psychological
+	initial_modules = list(
+		/obj/item/mod/module/storage,
+		/obj/item/mod/module/flashlight,
+	)
+
+

This will create our psychological suit, equipped with a storage and flashlight modules by default. We might also want to make it craftable, in which case we go here and set this.

+
/obj/item/mod/construction/armor/psychological
+	theme = /datum/mod_theme/psychological
+
+

After that we put it in the techweb or whatever other source we want. Now our suit is almost ready, it just needs a skin.

+Skin +

So, now that we have our theme, we want to add a skin to it (or another theme of our choosing). Let's start with a basis.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+	armor_type = /datum/armor/modtheme_psychological
+	complexity_max = DEFAULT_MAX_COMPLEXITY - 7
+	charge_drain = DEFAULT_CHARGE_DRAIN * 0.5
+	variants = list(
+		"psychological" = list(
+			/obj/item/clothing/head/mod = list(
+			),
+			/obj/item/clothing/suit/mod = list(
+			),
+			/obj/item/clothing/gloves/mod = list(
+			),
+			/obj/item/clothing/shoes/mod = list(
+			),
+		),
+	)
+
+

We now have a psychological skin, this will apply the psychological icons to every part of the suit. Next we'll be looking at the flags. Boots, gauntlets and the chestplate are usually very standard, we set their thickmaterial and pressureproofness while hiding the jumpsuit on the chestplate. On the helmet however, we'll actually look at its' icon.
+For example, if our helmet's icon covers the full head (like the research skin), we want to do something like this.

+
			/obj/item/clothing/head/mod = list(
+				UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+
+

Otherwise, with an open helmet that becomes closed (like the engineering skin), we'd do this.

+
			/obj/item/clothing/head/mod = list(
+				UNSEALED_LAYER = NECK_LAYER
+				UNSEALED_CLOTHING = SNUG_FIT,
+				SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR,
+				SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+
+

There are specific cases of helmets that semi-cover the head, like the cosmohonk, apocryphal and whatnot. You can look at these for more specific suits. So let's say our suit is an open helmet design, and also add an alternate skin with a closed helmet called psychotherapeutic. It'd look something like this.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+	armor_type = /datum/armor/modtheme_psychological
+	complexity_max = DEFAULT_MAX_COMPLEXITY - 7
+	charge_drain = DEFAULT_CHARGE_DRAIN * 0.5
+	variants = list(
+		"psychological" = list(
+			/obj/item/clothing/head/mod = list(
+				UNSEALED_LAYER = NECK_LAYER
+				UNSEALED_CLOTHING = SNUG_FIT,
+				SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR,
+				SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+			/obj/item/clothing/suit/mod = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				SEALED_INVISIBILITY = HIDEJUMPSUIT,
+			),
+			/obj/item/clothing/gloves/mod = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+			/obj/item/clothing/shoes/mod = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+		"psychotherapeutic" = list(
+			/obj/item/clothing/head/mod = list(
+				UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+			/obj/item/clothing/suit/mod = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				SEALED_INVISIBILITY = HIDEJUMPSUIT,
+			),
+			/obj/item/clothing/gloves/mod = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+			/obj/item/clothing/shoes/mod = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+		),
+	)
+
+

Thus we finished our codeside. Now we go to the icon files for the suits and simply add our new skin's icons.
+Now our suit is finished. But let's say we want to give it an unique module.

+Module +

So, for our psychological suit, let's say we want a module that heals the brain damage of everyone in range.
+As it's a medical module, we'll put it here. Let's start with the object definition.

+
/obj/item/mod/module/neuron_healer
+	name = "MOD neuron healer module"
+	desc = "A module made experimentally by DeForest Medical Corporation. On demand it releases waves \
+		that heal neuron damage of everyone nearby, getting their brains to a better state."
+	icon_state = "neuron_healer"
+
+

As we want this effect to be on demand, we probably want this to be an usable module. There are four types of modules:

+
    +
  • Passive: These have a passive effect.
  • +
  • Togglable: You can turn these on and off.
  • +
  • Usable: You can use these for a one time effect.
  • +
  • Active: You can only have one selected at a time. It gives you a special click effect.
  • +
+

As we have an usable module, we want to set a cooldown time. All modules are also incompatible with themselves, have a specific power cost and complexity varying on how powerful they are, and are equippable to certain slots, so let's update our definition, and also add a new variable for how much brain damage we'll heal.

+
/obj/item/mod/module/neuron_healer
+	name = "MOD neuron healer module"
+	desc = "A module made experimentally by DeForest Medical Corporation. On demand it releases waves \
+		that heal neuron damage of everyone nearby, getting their brains to a better state."
+	icon_state = "neuron_healer"
+	module_type = MODULE_USABLE
+	complexity = 3
+	use_energy_cost = DEFAULT_CHARGE_DRAIN
+	incompatible_modules = list(/obj/item/mod/module/neuron_healer)
+	cooldown_time = 15 SECONDS
+	required_slot = list(ITEM_SLOT_HEAD)
+	var/brain_damage_healed = 25
+
+

Now, we want to override the on_use proc for our new effect. You can read about most procs and variables by reading this

+
/obj/item/mod/module/neuron_healer/on_use()
+
+

After this, we want to put our special code, a basic effect of healing all mobs nearby for their brain damage and creating a beam to them.

+
/obj/item/mod/module/neuron_healer/on_use()
+	for(var/mob/living/carbon/carbon_mob in range(5, src))
+		if(carbon_mob == mod.wearer)
+			continue
+		carbon_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -brain_damage_healed)
+		mod.wearer.Beam(carbon_mob, icon_state = "plasmabeam", time = 1.5 SECONDS)
+	playsound(src, 'sound/effects/magic.ogg', 100, TRUE)
+	drain_power(use_energy_cost)
+
+

We now have a basic module, we can add it to the techwebs to make it printable ingame, and we can add an inbuilt, advanced version of it for our psychological suit. We'll give it more healing power, no complexity and make it unremovable.

+
/obj/item/mod/module/neuron_healer/advanced
+	name = "MOD advanced neuron healer module"
+	complexity = 0
+	brain_damage_healed = 50
+
+

Now we want to add it to the psychological theme, which is very simple, finishing with this:

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+	armor_type = /datum/armor/modtheme_psychological
+	complexity_max = DEFAULT_MAX_COMPLEXITY - 7
+	charge_drain = DEFAULT_CHARGE_DRAIN * 0.5
+	inbuilt_modules = list(/obj/item/mod/module/neuron_healer/advanced)
+	variants = list(
+		"psychological" = list(
+			/obj/item/clothing/head/mod = list(
+				UNSEALED_LAYER = NECK_LAYER
+				UNSEALED_CLOTHING = SNUG_FIT,
+				SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR,
+				SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+			/obj/item/clothing/suit/mod = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				SEALED_INVISIBILITY = HIDEJUMPSUIT,
+			),
+			/obj/item/clothing/gloves/mod = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+			/obj/item/clothing/shoes/mod = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+		"psychotherapeutic" = list(
+			/obj/item/clothing/head/mod = list(
+				UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+			/obj/item/clothing/suit/mod = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				SEALED_INVISIBILITY = HIDEJUMPSUIT,
+			),
+			/obj/item/clothing/gloves/mod = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+			/obj/item/clothing/shoes/mod = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+		),
+	)
+
+Ending +

This finishes this hopefully easy to follow along tutorial. You should now know how to make a basic theme, a skin for it, and a module.

+ + + diff --git a/code/modules/mod/mod_control.html b/code/modules/mod/mod_control.html new file mode 100644 index 000000000000..9fd211dbad4f --- /dev/null +++ b/code/modules/mod/mod_control.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mod/mod_control.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/mod_control.dm + +

+ + +
/obj/item/modMODsuits, trade-off between armor and utility
+ + + diff --git a/code/modules/mod/mod_link.html b/code/modules/mod/mod_link.html new file mode 100644 index 000000000000..c8551591524b --- /dev/null +++ b/code/modules/mod/mod_link.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mod/mod_link.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/mod_link.dm + +

+ + + +
/datum/mod_linkA MODlink datum, used to handle unique functions that will be used in the MODlink call.
/datum/mod_link_callA MODlink call datum, used to handle the call between two MODlinks.
+ + + diff --git a/code/modules/mod/mod_part.html b/code/modules/mod/mod_part.html new file mode 100644 index 000000000000..f18d80448df8 --- /dev/null +++ b/code/modules/mod/mod_part.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mod/mod_part.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/mod_part.dm + +

+ + +
/datum/mod_partDatum to handle interactions between a MODsuit and its parts.
+ + + diff --git a/code/modules/mod/mod_theme.html b/code/modules/mod/mod_theme.html new file mode 100644 index 000000000000..eb92df4819aa --- /dev/null +++ b/code/modules/mod/mod_theme.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mod/mod_theme.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/mod_theme.dm + +

+ + + + +
/proc/setup_mod_themesGlobal proc that sets up all MOD themes as singletons in a list and returns it.
/datum/mod_themeMODsuit theme, instanced once and then used by MODsuits to grab various statistics.
+ + + diff --git a/code/modules/mod/modules/_module.html b/code/modules/mod/modules/_module.html new file mode 100644 index 000000000000..9bce0e486184 --- /dev/null +++ b/code/modules/mod/modules/_module.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mod/modules/_module.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/modules/_module.dm + +

+ + + +
/obj/item/mod/moduleMOD Module - A special device installed in a MODsuit allowing the suit to do new stuff.
/obj/item/mod/module/anomaly_lockedAnomaly Locked - Causes the module to not function without an anomaly.
+ + + diff --git a/code/modules/mod/modules/module_kinesis.html b/code/modules/mod/modules/module_kinesis.html new file mode 100644 index 000000000000..905628dbb2c0 --- /dev/null +++ b/code/modules/mod/modules/module_kinesis.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mod/modules/module_kinesis.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/modules/module_kinesis.dm + +

+ + + +
/obj/item/mod/module/anomaly_locked/kinesisKinesis - Gives you the ability to move and launch objects.
/obj/item/mod/module/anomaly_locked/kinesis/adminAdmin suit version of kinesis. Can grab anything at any range, may enable phasing through walls.
+ + + diff --git a/code/modules/mod/modules/module_pathfinder.html b/code/modules/mod/modules/module_pathfinder.html new file mode 100644 index 000000000000..4b3b2d91cac6 --- /dev/null +++ b/code/modules/mod/modules/module_pathfinder.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mod/modules/module_pathfinder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/modules/module_pathfinder.dm + +

+ + +
/obj/item/mod/module/pathfinderPathfinder - Can fly the suit from a long distance to an implant installed in someone.
+ + + diff --git a/code/modules/mod/modules/modules_antag.html b/code/modules/mod/modules/modules_antag.html new file mode 100644 index 000000000000..ae35082ce6ca --- /dev/null +++ b/code/modules/mod/modules/modules_antag.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/mod/modules/modules_antag.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/modules/modules_antag.dm + +

+ + + + + + + + + + + + +
/obj/item/mod/module/armor_boosterArmor Booster - Grants your suit more armor and speed in exchange for EVA protection. Also acts as a welding screen.
/obj/item/mod/module/energy_shieldEnergy Shield - Gives you a rechargeable energy shield that nullifies attacks.
/obj/item/mod/module/anti_magicMagic Nullifier - Protects you from magic.
/obj/item/mod/module/insigniaInsignia - Gives you a skin specific stripe.
/obj/item/mod/module/noslipAnti Slip - Prevents you from slipping on water.
/obj/item/mod/module/flamethrowerFlamethrower - Launches fire across the area.
/obj/item/mod/module/chameleonChameleon - Allows you to disguise your modsuit as another type
/obj/item/mod/module/armor_booster/contractorContractor armor booster - Slows you down, gives you armor, makes you lose spaceworthiness
/obj/item/mod/module/springlock/contractorNon-deathtrap contractor springlock module
/obj/item/mod/module/springlock/contractor/no_complexityThis exists for the adminbus contractor modsuit. Do not use otherwise
/obj/item/mod/module/scorpion_hookSCORPION - hook a target into baton range quickly and non-lethally
+ + + diff --git a/code/modules/mod/modules/modules_engineering.html b/code/modules/mod/modules/modules_engineering.html new file mode 100644 index 000000000000..7cddaa770da7 --- /dev/null +++ b/code/modules/mod/modules/modules_engineering.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/mod/modules/modules_engineering.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/modules/modules_engineering.dm + +

+ + + + + + + + + +
/obj/item/mod/module/weldingWelding Protection - Makes the helmet protect from flashes and welding.
/obj/item/mod/module/t_rayT-Ray Scan - Scans the terrain for undertile objects.
/obj/item/mod/module/magbootMagnetic Stability - Gives the user a slowdown but makes them negate gravity and be immune to slips.
/obj/item/mod/module/tetherEmergency Tether - Shoots a grappling hook projectile in 0g that throws the user towards it.
/obj/item/mod/module/rad_protectionRadiation Protection - Protects the user from radiation, gives them a geiger counter and rad info in the panel.
/obj/item/mod/module/constructorConstructor - Lets you build quicker and create RCD holograms.
/obj/item/mod/module/misterMister - Sprays water over an area.
/obj/item/mod/module/mister/atmosResin Mister - Sprays resin over an area.
+ + + diff --git a/code/modules/mod/modules/modules_general.html b/code/modules/mod/modules/modules_general.html new file mode 100644 index 000000000000..1884da2ff339 --- /dev/null +++ b/code/modules/mod/modules/modules_general.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/mod/modules/modules_general.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/modules/modules_general.dm + +

+ + + + + + + + + + + + +
/obj/item/mod/module/storageStorage - Adds a storage component to the suit.
/obj/item/mod/module/jetpackIon Jetpack - Lets the user fly freely through space using battery charge.
/obj/item/mod/module/mouthholeEating Apparatus - Lets the user eat/drink with the suit on.
/obj/item/mod/module/emp_shieldEMP Shield - Protects the suit from EMPs.
/obj/item/mod/module/flashlightFlashlight - Gives the suit a customizable flashlight.
/obj/item/mod/module/dispenserDispenser - Dispenses an item after a time passes.
/obj/item/mod/module/longfallLongfall - Nullifies fall damage, removing charge instead.
/obj/item/mod/module/thermal_regulatorThermal Regulator - Regulates the wearer's core temperature.
/obj/item/mod/module/dna_lockDNA Lock - Prevents people without the set DNA from activating the suit.
/obj/item/mod/module/plasma_stabilizerPlasma Stabilizer - Prevents plasmamen from igniting in the suit
/obj/item/mod/module/hat_stabilizerHat Stabilizer - Allows displaying a hat over the MOD-helmet, à la plasmamen helmets.
+ + + diff --git a/code/modules/mod/modules/modules_maint.html b/code/modules/mod/modules/modules_maint.html new file mode 100644 index 000000000000..de1a243e8fe6 --- /dev/null +++ b/code/modules/mod/modules/modules_maint.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mod/modules/modules_maint.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/modules/modules_maint.dm + +

+ + + + + + +
/obj/item/mod/module/springlockSpringlock Mechanism - allows your modsuit to activate faster, but reagents are very dangerous.
/obj/item/mod/module/visor/raveRave Visor - Gives you a rainbow visor and plays jukebox music to you.
/obj/item/mod/module/balloonBalloon Blower - Blows a balloon.
/obj/item/mod/module/paper_dispenserPaper Dispenser - Dispenses (sometimes burning) paper sheets.
/obj/item/mod/module/atrocinatorAtrocinator - Flips your gravity.
+ + + diff --git a/code/modules/mod/modules/modules_medical.html b/code/modules/mod/modules/modules_medical.html new file mode 100644 index 000000000000..610b07a07717 --- /dev/null +++ b/code/modules/mod/modules/modules_medical.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mod/modules/modules_medical.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/modules/modules_medical.dm + +

+ + + + + +
/obj/item/mod/module/health_analyzerHealth Analyzer - Gives the user a ranged health analyzer and their health status in the panel.
/obj/item/mod/module/quick_carryQuick Carry - Lets the user carry bodies quicker.
/obj/item/mod/module/injectorInjector - Gives the suit an extendable large-capacity piercing syringe.
/obj/item/mod/module/organ_throwerOrgan Thrower - Lets you shoot organs, immediately replacing them if the target has the organ manipulation surgery.
+ + + diff --git a/code/modules/mod/modules/modules_science.html b/code/modules/mod/modules/modules_science.html new file mode 100644 index 000000000000..ae4a21885c68 --- /dev/null +++ b/code/modules/mod/modules/modules_science.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mod/modules/modules_science.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/modules/modules_science.dm + +

+ + + + +
/obj/item/mod/module/reagent_scannerReagent Scanner - Lets the user scan reagents.
/obj/item/mod/module/anomaly_locked/antigravAnti-Gravity - Makes the user weightless.
/obj/item/mod/module/anomaly_locked/teleporterTeleporter - Lets the user teleport to a nearby location.
+ + + diff --git a/code/modules/mod/modules/modules_security.html b/code/modules/mod/modules/modules_security.html new file mode 100644 index 000000000000..450f6d2b1cdc --- /dev/null +++ b/code/modules/mod/modules/modules_security.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mod/modules/modules_security.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/modules/modules_security.dm + +

+ + + + +
/obj/item/mod/module/stealthCloaking - Lowers the user's visibility, can be interrupted by being touched or attacked.
/obj/item/mod/module/magnetic_harnessMagnetic Harness - Automatically puts guns in your suit storage when you drop them.
/obj/item/mod/module/pepper_shouldersPepper Shoulders - When hit, reacts with a spray of pepper spray around the user.
+ + + diff --git a/code/modules/mod/modules/modules_service.html b/code/modules/mod/modules/modules_service.html new file mode 100644 index 000000000000..ed99c1b0d82d --- /dev/null +++ b/code/modules/mod/modules/modules_service.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mod/modules/modules_service.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/modules/modules_service.dm + +

+ + + +
/obj/item/mod/module/bikehornBike Horn - Plays a bike horn sound.
/obj/item/mod/module/microwave_beamMicrowave Beam - Microwaves items instantly.
+ + + diff --git a/code/modules/mod/modules/modules_supply.html b/code/modules/mod/modules/modules_supply.html new file mode 100644 index 000000000000..d7f8d78ed62c --- /dev/null +++ b/code/modules/mod/modules/modules_supply.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mod/modules/modules_supply.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/modules/modules_supply.dm + +

+ + + + + +
/obj/item/mod/module/gpsInternal GPS - Extends a GPS you can use.
/obj/item/mod/module/clampHydraulic Clamp - Lets you pick up and drop crates.
/obj/item/mod/module/drillDrill - Lets you dig through rock and basalt.
/obj/item/mod/module/orebagOre Bag - Lets you pick up ores and drop them from the suit.
+ + + diff --git a/code/modules/mod/modules/modules_timeline.html b/code/modules/mod/modules/modules_timeline.html new file mode 100644 index 000000000000..6aed153b3de9 --- /dev/null +++ b/code/modules/mod/modules/modules_timeline.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/mod/modules/modules_timeline.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/mod/modules/modules_timeline.dm + +

+ + + + + + + + + +
CHRONO_BEAM_RANGErange of the chrono beam!
CHRONO_FRAME_COUNThow many frames the chronofield needs before it eradicates someone.
/obj/item/mod/module/eradication_lockEradication lock - Prevents people who aren't the owner of the suit from existing on the timeline via eradicating the suit with the intruder inside
/obj/item/mod/module/rewinderRewinder - Activating saves a point in time, after 10 seconds you will jump back to that state.
/obj/item/mod/module/timestopperTimestopper - Need I really explain? It's the wizard's time stop, but the user channels it by not moving instead of a duration.
/obj/item/mod/module/timeline_jumperTimeline Jumper - Infinite phasing. needs some special effects
/obj/effect/dummy/phased_mob/chronospecial subtype for phased mobs.
/obj/item/mod/module/temTEM - Lets you eradicate people.

Define Details

+

CHRONO_BEAM_RANGE + + +

+

range of the chrono beam!

CHRONO_FRAME_COUNT + + +

+

how many frames the chronofield needs before it eradicates someone.

+ + + diff --git a/code/modules/mod/modules/modules_visor.html b/code/modules/mod/modules/modules_visor.html new file mode 100644 index 000000000000..6a2bd9815c07 --- /dev/null +++ b/code/modules/mod/modules/modules_visor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mod/modules/modules_visor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/mod/modules/modules_visor.dm + +

+ + +
/obj/item/mod/module/visorBase Visor - Adds a specific HUD and traits to you.
+ + + diff --git a/code/modules/modular_computers/computers/item/tablet.html b/code/modules/modular_computers/computers/item/tablet.html new file mode 100644 index 000000000000..6fc5d882b85d --- /dev/null +++ b/code/modules/modular_computers/computers/item/tablet.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/modular_computers/computers/item/tablet.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/modular_computers/computers/item/tablet.dm + +

+ + + +
/obj/item/modular_computer/tablet/nukeopsGiven to Nuke Ops members.
/obj/item/modular_computer/tablet/integratedBorg Built-in tablet interface
+ + + diff --git a/code/modules/modular_computers/documentation.html b/code/modules/modular_computers/documentation.html new file mode 100644 index 000000000000..a63dea5f266b --- /dev/null +++ b/code/modules/modular_computers/documentation.html @@ -0,0 +1,88 @@ + + + + + + + code/modules/modular_computers/documentation.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Modular computer programs + +

+ + +

How module computer programs work

+

Ok. so a quick rundown on how to make a program. This is kind of a shitty documentation, but oh well I was asked to.

+Base setup +

This is how the base program is setup. the rest is mostly tgui stuff. I'll use the ntnetmonitor as a base

+
/datum/computer_file/program/ntnetmonitor
+	/// This is obviously the name of the file itself. not much to be said
+	filename = "ntmonitor"
+
+	/// This is sort of the official name. it's what shows up on the main menu
+	filedesc = "NTNet Diagnostics and Monitoring"
+
+	/// This is what the screen will look like when the program is active
+	program_icon_state = "comm_monitor"
+
+	/// This is a sort of a description, visible when looking on the ntnet
+	extended_desc = "This program is a dummy."
+
+	/// size of the program. Big programs need more hard drive space. Don't
+	/// make it too big though.
+	size = 12
+
+	/// If this is set, the program will not run without an ntnet connection,
+	/// and will close if the connection is lost. Mainly for primarily online
+	/// programs.
+	requires_ntnet = 1
+
+	/// This is access required to run the program itself. ONLY SET THIS FOR
+	/// SUPER SECURE SHIT. This also acts as transfer_access as well.
+	required_access = access_network
+
+	/// This is the access needed to download from ntnet or host on the ptp
+	/// program. This is what you want to use most of the time.
+	transfer_access = access_change_ids
+
+	/// If it's available to download on ntnet. pretty self explanatory.
+	available_on_ntnet = 1
+
+	/// ditto but on emagged syndie net. Use this for antag programs
+	available_on_syndinet = 0
+
+	/// Bitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination)
+	/// or PROGRAM_ALL. Use this to limit what kind of machines can run the
+	/// program. For example, comms program should be limited to consoles and laptops.
+	usage_flags = PROGRAM_ALL
+
+	/// This one is kinda cool. If you have the program minimized, this will
+	/// show up in the header of the computer screen. You can even have the
+	/// program change what the header is based on the situation! See `alarm.dm`
+	/// for an example.
+	var/ui_header = "downloader_finished.gif"
+
+Preinstalls +

Now. for pre-installing stuff.

+

Primarily done for consoles, there's an install_programs() proc in the console presets file in the machines folder.

+

for example, the command console one.

+
/obj/machinery/modular_computer/console/preset/command/install_programs()
+	cpu.hard_drive.store_file(new/datum/computer_file/program/chatclient())
+	cpu.hard_drive.store_file(new/datum/computer_file/program/card_mod())
+
+

Basically, you want to do cpu.hard_drive.store_file(new/program path here()) and put it in the subtype's install_programs(). +Probably pretty self explanatory, but just in case.

+

Will probably be expanded when new features come around or I get asked to mention something.

+ + + diff --git a/code/modules/modular_computers/file_system/data.html b/code/modules/modular_computers/file_system/data.html new file mode 100644 index 000000000000..8f931c6932cf --- /dev/null +++ b/code/modules/modular_computers/file_system/data.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/modular_computers/file_system/data.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/data.dm + +

+ + + + + +
/datum/computer_file/dataData files. Doesn't really hold many important functionalities, here for organization.
/datum/computer_file/data/ordnanceOrdnance data +Holds possible experiments to do
/datum/computer_file/data/ordnance/explosiveExplosive data +Holds a specific taychon record.
/datum/computer_file/data/ordnance/gaseousGaseous data +Holds a specific compressor record.
+ + + diff --git a/code/modules/modular_computers/file_system/programs/ntdownloader.html b/code/modules/modular_computers/file_system/programs/ntdownloader.html new file mode 100644 index 000000000000..8a84a8f15caf --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/ntdownloader.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/modular_computers/file_system/programs/ntdownloader.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/programs/ntdownloader.dm + +

+ + +
/datum/computer_file/program/ntnetdownload/syndicateThis app only lists programs normally found in the emagged section of the normal downloader app
+ + + diff --git a/code/modules/modular_computers/file_system/programs/portrait_printer.html b/code/modules/modular_computers/file_system/programs/portrait_printer.html new file mode 100644 index 000000000000..624f54362da0 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/portrait_printer.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/modular_computers/file_system/programs/portrait_printer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/modular_computers/file_system/programs/portrait_printer.dm + +

+ + + +
CANVAS_PAPER_COSThow much paper it takes from the printer to create a canvas.
/datum/computer_file/program/portrait_printer

Define Details

+

CANVAS_PAPER_COST + + +

+

how much paper it takes from the printer to create a canvas.

+ + + diff --git a/code/modules/modular_computers/file_system/programs/powermonitor.html b/code/modules/modular_computers/file_system/programs/powermonitor.html new file mode 100644 index 000000000000..00fa78db2ea1 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/powermonitor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/modular_computers/file_system/programs/powermonitor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/programs/powermonitor.dm + +

+ + +
/datum/computer_file/program/power_monitorthis is a copy of something that is already in the database- it should not be able to be saved.
+ + + diff --git a/code/modules/modular_computers/file_system/programs/radar.html b/code/modules/modular_computers/file_system/programs/radar.html new file mode 100644 index 000000000000..5e17621b4f20 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/radar.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/modular_computers/file_system/programs/radar.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/programs/radar.dm + +

+ + + + +
/datum/computer_file/program/radar/lifelineA program that tracks crew members via suit sensors
/datum/computer_file/program/radar/custodial_locatorTracks all janitor equipment
/datum/computer_file/program/radar/fission360A program that tracks nukes and nuclear accessories
+ + + diff --git a/code/modules/modular_computers/hardware/hard_drive.html b/code/modules/modular_computers/hardware/hard_drive.html new file mode 100644 index 000000000000..e11858097a33 --- /dev/null +++ b/code/modules/modular_computers/hardware/hard_drive.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/modular_computers/hardware/hard_drive.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/modular_computers/hardware/hard_drive.dm + +

+ + +
/obj/item/computer_hardware/hard_drive/small/nukeopsFor tablets given to nuke ops
+ + + diff --git a/code/modules/modular_computers/hardware/printer.html b/code/modules/modular_computers/hardware/printer.html new file mode 100644 index 000000000000..2408a091afc2 --- /dev/null +++ b/code/modules/modular_computers/hardware/printer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/modular_computers/hardware/printer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/modular_computers/hardware/printer.dm + +

+ + +
/obj/item/computer_hardware/printer/miniNumber of sheets we're adding
+ + + diff --git a/code/modules/modular_computers/hardware/recharger.html b/code/modules/modular_computers/hardware/recharger.html new file mode 100644 index 000000000000..b3cdadb7f410 --- /dev/null +++ b/code/modules/modular_computers/hardware/recharger.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/modular_computers/hardware/recharger.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/modular_computers/hardware/recharger.dm + +

+ + +
/obj/item/computer_hardware/recharger/cyborgThis recharger exists only in borg built-in tablets. I would have tied it to the borg's cell but +the program that displays laws should always be usable, and the exceptions were starting to pile.
+ + + diff --git a/code/modules/modular_computers/hardware/virus_disk.html b/code/modules/modular_computers/hardware/virus_disk.html new file mode 100644 index 000000000000..415f367f59e6 --- /dev/null +++ b/code/modules/modular_computers/hardware/virus_disk.html @@ -0,0 +1,47 @@ + + + + + + + code/modules/modular_computers/hardware/virus_disk.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/modular_computers/hardware/virus_disk.dm + +

+ + + + + +
VIRUS_MODE_ABORTCompletely give up sending the virus. Returns immediately.
VIRUS_MODE_GENERIC'Generic' mode. Assumes no more than the magic packet is required, and simply adds some bogus registers to cover up the real fields.
VIRUS_MODE_RAW_SIGNALThrow out the old signal and provide an entirely unique one. Use this if you need to mark a packet inviolable.
VIRUS_MODE_EXTRA_STAPLEAdd a list of extra fields to the packet.

Define Details

+

VIRUS_MODE_ABORT + + +

+

Completely give up sending the virus. Returns immediately.

VIRUS_MODE_EXTRA_STAPLE + + +

+

Add a list of extra fields to the packet.

VIRUS_MODE_GENERIC + + +

+

'Generic' mode. Assumes no more than the magic packet is required, and simply adds some bogus registers to cover up the real fields.

VIRUS_MODE_RAW_SIGNAL + + +

+

Throw out the old signal and provide an entirely unique one. Use this if you need to mark a packet inviolable.

+ + + diff --git a/code/modules/movespeed/_movespeed_modifier.html b/code/modules/movespeed/_movespeed_modifier.html new file mode 100644 index 000000000000..7e10dc97537c --- /dev/null +++ b/code/modules/movespeed/_movespeed_modifier.html @@ -0,0 +1,55 @@ + + + + + + + code/modules/movespeed/_movespeed_modifier.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/movespeed/_movespeed_modifier.dm + +

+ + + + + +

Movespeed modification datums.

+
How move speed for mobs works
+
+

Move speed is now calculated by using modifier datums which are added to mobs. Some of them (nonvariable ones) are globally cached, the variable ones are instanced and changed based on need.

+

This gives us the ability to have multiple sources of movespeed, reliabily keep them applied and remove them when they should be

+

THey can have unique sources and a bunch of extra fancy flags that control behaviour

+

Previously trying to update move speed was a shot in the dark that usually meant mobs got stuck going faster or slower

+

Movespeed modification list is a simple key = datum system. Key will be the datum's ID if it is overridden to not be null, or type if it is not.

+

DO NOT override datum IDs unless you are going to have multiple types that must overwrite each other. It's more efficient to use types, ID functionality is only kept for cases where dynamic creation of modifiers need to be done.

+

When update movespeed is called, the list of items is iterated, according to flags priority and a bunch of conditions +this spits out a final calculated value which is used as a modifer to last_move + modifier for calculating when a mob +can next move

+

Key procs

+
/proc/get_cached_movespeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

Used for variable slowdowns like hunger/health loss/etc, works somewhat like the old list-based modification adds. Returns the modifier datum if successful +How this SHOULD work is: +1. Ensures type_id_datum one way or another refers to a /variable datum. This makes sure it can't be cached. This includes if it's already in the modification list. +2. Instantiate a new datum if type_id_datum isn't already instantiated + in the list, using the type. Obviously, wouldn't work for ID only. +3. Add the datum if necessary using the regular add proc +4. If any of the rest of the args are not null (see: slowdown), modify the datum +5. Update if necessary

+
+ + + diff --git a/code/modules/multiz/movement.html b/code/modules/multiz/movement.html new file mode 100644 index 000000000000..2523cf737a40 --- /dev/null +++ b/code/modules/multiz/movement.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/multiz/movement.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/multiz/movement.dm + +

+ + + +
/proc/zstepA step() variant that allows passing z_movement_flags. Normal step() is fine if you do not need special movement flags.
+ + + diff --git a/code/modules/ninja/energy_katana.html b/code/modules/ninja/energy_katana.html new file mode 100644 index 000000000000..23aecb247045 --- /dev/null +++ b/code/modules/ninja/energy_katana.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/energy_katana.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/ninja/energy_katana.dm + +

+ + +
/obj/item/energy_katanaThe space ninja's katana.
+ + + diff --git a/code/modules/ninja/ninja_explosive.html b/code/modules/ninja/ninja_explosive.html new file mode 100644 index 000000000000..65b214334f53 --- /dev/null +++ b/code/modules/ninja/ninja_explosive.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/ninja/ninja_explosive.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/ninja/ninja_explosive.dm + +

+ + +
/obj/item/grenade/c4/ninjaA unique version of c4 possessed only by the space ninja. Has a stronger blast radius. +Can only be detonated by space ninjas with the bombing objective. Can only be set up where the objective says it can. +When it primes, the space ninja responsible will have their objective set to complete.
+ + + diff --git a/code/modules/ninja/suit/gloves.html b/code/modules/ninja/suit/gloves.html new file mode 100644 index 000000000000..8fa47419b129 --- /dev/null +++ b/code/modules/ninja/suit/gloves.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/gloves.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/ninja/suit/gloves.dm + +

+ + +
/obj/item/clothing/gloves/space_ninjaSpace ninja's gloves. Gives access to a number of special interactions.
+ + + diff --git a/code/modules/ninja/suit/head.html b/code/modules/ninja/suit/head.html new file mode 100644 index 000000000000..b5b2a587dc4a --- /dev/null +++ b/code/modules/ninja/suit/head.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/head.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/ninja/suit/head.dm + +

+ + +
/obj/item/clothing/head/helmet/space/space_ninjaSpace ninja's hood. Provides armor and blocks AI tracking.
+ + + diff --git a/code/modules/ninja/suit/mask.html b/code/modules/ninja/suit/mask.html new file mode 100644 index 000000000000..08befaf040d0 --- /dev/null +++ b/code/modules/ninja/suit/mask.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/mask.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/ninja/suit/mask.dm + +

+ + +
/obj/item/clothing/mask/gas/space_ninjaSpace ninja's mask. Other than looking cool, doesn't do anything.
+ + + diff --git a/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.html b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.html new file mode 100644 index 000000000000..6e97de096d60 --- /dev/null +++ b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm + +

+ + +
/obj/structure/energy_netEnergy net which ensnares prey until it is destroyed. Used by space ninjas.
+ + + diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.html b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.html new file mode 100644 index 000000000000..94d49e485485 --- /dev/null +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm + +

+ + +
/obj/item/throwing_star/stamina/ninjaa throwing star which specifically makes sure you know it came from a real ninja.
+ + + diff --git a/code/modules/ninja/suit/shoes.html b/code/modules/ninja/suit/shoes.html new file mode 100644 index 000000000000..72771bae6902 --- /dev/null +++ b/code/modules/ninja/suit/shoes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/shoes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/ninja/suit/shoes.dm + +

+ + +
/obj/item/clothing/shoes/space_ninjaSpace ninja's shoes. Gives him armor on his feet.
+ + + diff --git a/code/modules/ninja/suit/suit.html b/code/modules/ninja/suit/suit.html new file mode 100644 index 000000000000..9208ac6776d4 --- /dev/null +++ b/code/modules/ninja/suit/suit.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/suit.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/ninja/suit/suit.dm + +

+ + +
/obj/item/clothing/suit/space/space_ninjaSpace ninja's suit. Provides him with most of his powers.
+ + + diff --git a/code/modules/paperwork/clipboard.html b/code/modules/paperwork/clipboard.html new file mode 100644 index 000000000000..dac1bdc85a90 --- /dev/null +++ b/code/modules/paperwork/clipboard.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/paperwork/clipboard.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/paperwork/clipboard.dm + +

+ + +
/obj/item/clipboardClipboard
+ + + diff --git a/code/modules/paperwork/paper.html b/code/modules/paperwork/paper.html new file mode 100644 index 000000000000..e23c9e7090e0 --- /dev/null +++ b/code/modules/paperwork/paper.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/paperwork/paper.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/paperwork/paper.dm + +

+ + + + +
DEFAULT_ADD_INFO_COLORPaper +also scraps of paper
/obj/item/paperPaper is now using markdown (like in github pull notes) for ALL rendering +so we do loose a bit of functionality but we gain in easy of use of +paper and getting rid of that crashing bug
/obj/item/paper/constructionConstruction paper

Define Details

+

DEFAULT_ADD_INFO_COLOR + + +

+

Paper +also scraps of paper

+

lipstick wiping is in code/game/objects/items/weapons/cosmetics.dm!

+ + + diff --git a/code/modules/paperwork/paper_premade.html b/code/modules/paperwork/paper_premade.html new file mode 100644 index 000000000000..a1bd89506188 --- /dev/null +++ b/code/modules/paperwork/paper_premade.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/paperwork/paper_premade.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/paperwork/paper_premade.dm + +

+ + + + + +
/obj/item/paper/guides/jobs/hydroponicsJob guides n' fluff
/obj/item/paper/fluff/stations/centcom/disk_memoCentCom
/obj/item/paper/fluff/spaceruins/lizardsgas/memorandumSpace Ruins
/obj/item/paper/contractor_guideContractors
+ + + diff --git a/code/modules/paperwork/pen.html b/code/modules/paperwork/pen.html new file mode 100644 index 000000000000..4f6226fc9f14 --- /dev/null +++ b/code/modules/paperwork/pen.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/paperwork/pen.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/paperwork/pen.dm + +

+ + +
/obj/item/pen/edagger/prototypesyndicate prototype for smuggling missions
+ + + diff --git a/code/modules/paperwork/photocopier.html b/code/modules/paperwork/photocopier.html new file mode 100644 index 000000000000..a5d98ef1ffd4 --- /dev/null +++ b/code/modules/paperwork/photocopier.html @@ -0,0 +1,62 @@ + + + + + + + code/modules/paperwork/photocopier.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/paperwork/photocopier.dm + +

+ + + + + + + + +
PHOTO_GREYSCALEFor use with the color_mode var. Photos will be printed in greyscale while the var has this value.
PHOTO_COLORFor use with the color_mode var. Photos will be printed in full color while the var has this value.
PAPER_TONER_USEHow much toner is used for making a copy of a paper.
PHOTO_TONER_USEHow much toner is used for making a copy of a photo.
DOCUMENT_TONER_USEHow much toner is used for making a copy of a document.
ASS_TONER_USEHow much toner is used for making a copy of an ass.
MAX_COPIES_AT_ONCEThe maximum amount of copies you can make with one press of the copy button.

Define Details

+

ASS_TONER_USE + + +

+

How much toner is used for making a copy of an ass.

DOCUMENT_TONER_USE + + +

+

How much toner is used for making a copy of a document.

MAX_COPIES_AT_ONCE + + +

+

The maximum amount of copies you can make with one press of the copy button.

PAPER_TONER_USE + + +

+

How much toner is used for making a copy of a paper.

PHOTO_COLOR + + +

+

For use with the color_mode var. Photos will be printed in full color while the var has this value.

PHOTO_GREYSCALE + + +

+

For use with the color_mode var. Photos will be printed in greyscale while the var has this value.

PHOTO_TONER_USE + + +

+

How much toner is used for making a copy of a photo.

+ + + diff --git a/code/modules/photography/photos/frame.html b/code/modules/photography/photos/frame.html new file mode 100644 index 000000000000..f6f3e9ee3c0a --- /dev/null +++ b/code/modules/photography/photos/frame.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/photography/photos/frame.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/photography/photos/frame.dm + +

+ + +
/obj/structure/sign/picture_frame/portraitThis used to be a plaque portrait of a monkey. Now it's been revamped into something more.
+ + + diff --git a/code/modules/power/cell.html b/code/modules/power/cell.html new file mode 100644 index 000000000000..8fe391cb38ed --- /dev/null +++ b/code/modules/power/cell.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/power/cell.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/power/cell.dm + +

+ + +
/obj/item/stock_parts/cellBatteries.
+ + + diff --git a/code/modules/power/data_terminal.html b/code/modules/power/data_terminal.html new file mode 100644 index 000000000000..31d94d2402e3 --- /dev/null +++ b/code/modules/power/data_terminal.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/power/data_terminal.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/power/data_terminal.dm + +

+ + +
/obj/item/data_terminal_constructData terminal item
+ + + diff --git a/code/modules/power/energy_accumulator.html b/code/modules/power/energy_accumulator.html new file mode 100644 index 000000000000..ee8e15ece58b --- /dev/null +++ b/code/modules/power/energy_accumulator.html @@ -0,0 +1,48 @@ + + + + + + + code/modules/power/energy_accumulator.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/power/energy_accumulator.dm + +

+ + + +
ACCUMULATOR_STORED_OUTPUT(this*100)% of stored power outputted per tick. +Doesn't change output total, lower numbers just increases the smoothing - taking longer to ramp up, and longer to drop away. +4% means an accumulator, when starting up for the first time:
/obj/machinery/power/energy_accumulatorAbstract type for generators that accumulate energy over time and slowly release it +eg. radiation collectors, tesla coils

Define Details

+

ACCUMULATOR_STORED_OUTPUT + + +

+

(this*100)% of stored power outputted per tick. +Doesn't change output total, lower numbers just increases the smoothing - taking longer to ramp up, and longer to drop away. +4% means an accumulator, when starting up for the first time:

+
+ + + diff --git a/code/modules/power/gravitygenerator.html b/code/modules/power/gravitygenerator.html new file mode 100644 index 000000000000..d35b8b00183d --- /dev/null +++ b/code/modules/power/gravitygenerator.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/power/gravitygenerator.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/power/gravitygenerator.dm + +

+ + + + + +
/obj/machinery/gravity_generator/partGenerator part
/obj/machinery/gravity_generator/mainMain gravity generator
/obj/machinery/gravity_generator/main/offStation generator that spawns with gravity turned off.
/obj/item/paper/guides/jobs/engi/gravity_genGravity generator instruction guide
+ + + diff --git a/code/modules/power/lighting/_light_defines.html b/code/modules/power/lighting/_light_defines.html new file mode 100644 index 000000000000..d33720f06e0a --- /dev/null +++ b/code/modules/power/lighting/_light_defines.html @@ -0,0 +1,57 @@ + + + + + + + code/modules/power/lighting/_light_defines.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/power/lighting/_light_defines.dm + +

+ + + + + + + +
LIGHT_EMERGENCY_POWER_USEHow much power emergency lights will consume per tick
BROKEN_SPARKS_MINMin time for a spark to happen in a broken light
BROKEN_SPARKS_MAXMax time for a spark to happen in a broken light
LIGHT_DRAIN_TIMEAmount of time that takes an ethereal to take energy from the lights
LIGHT_POWER_GAINAmount of charge the ethereal gain after the drain
LIGHT_REAGENT_CAPACITYHow many reagents the lights can hold

Define Details

+

BROKEN_SPARKS_MAX + + +

+

Max time for a spark to happen in a broken light

BROKEN_SPARKS_MIN + + +

+

Min time for a spark to happen in a broken light

LIGHT_DRAIN_TIME + + +

+

Amount of time that takes an ethereal to take energy from the lights

LIGHT_EMERGENCY_POWER_USE + + +

+

How much power emergency lights will consume per tick

LIGHT_POWER_GAIN + + +

+

Amount of charge the ethereal gain after the drain

LIGHT_REAGENT_CAPACITY + + +

+

How many reagents the lights can hold

+ + + diff --git a/code/modules/power/power.html b/code/modules/power/power.html new file mode 100644 index 000000000000..82f346968a66 --- /dev/null +++ b/code/modules/power/power.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/power/power.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/power/power.dm + +

+ + + + + +
/proc/propagate_networkremove the old powernet and replace it with a new one throughout the network.
/proc/get_powernet_info_from_sourceSave any queued packets +Extracts the powernet and cell of the provided power source
+ + + diff --git a/code/modules/power/singularity/boh_tear.html b/code/modules/power/singularity/boh_tear.html new file mode 100644 index 000000000000..64805d6377dd --- /dev/null +++ b/code/modules/power/singularity/boh_tear.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/power/singularity/boh_tear.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/power/singularity/boh_tear.dm + +

+ + +
BOH_TEAR_CONSUME_RANGEBoH tear +The BoH tear is a stationary singularity with a really high gravitational pull, which collapses briefly after being created +The BoH isn't deleted for 10 minutes (only moved to nullspace) so that admins may retrieve the things back in case of a grief

Define Details

+

BOH_TEAR_CONSUME_RANGE + + +

+

BoH tear +The BoH tear is a stationary singularity with a really high gravitational pull, which collapses briefly after being created +The BoH isn't deleted for 10 minutes (only moved to nullspace) so that admins may retrieve the things back in case of a grief

+ + + diff --git a/code/modules/power/singularity/narsie.html b/code/modules/power/singularity/narsie.html new file mode 100644 index 000000000000..c12d1d897eac --- /dev/null +++ b/code/modules/power/singularity/narsie.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/power/singularity/narsie.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/power/singularity/narsie.dm + +

+ + + + + + + + + + + + + + + + +
/obj/narsieNar'Sie, the God of the blood cultists
/proc/begin_the_endBegins the process of ending the round via cult narsie win +Consists of later called procs (in order of called):
/proc/narsie_end_begin_checkFirst crew last second win check and flufftext for [/proc/begin_the_end()]
/proc/narsie_end_second_checkSecond crew last second win check and flufftext for [/proc/begin_the_end()]
/proc/narsie_start_destroy_stationsecurity level and shuttle lockdowns for [/proc/begin_the_end()]
/proc/narsie_apocalypseThird crew last second win check and flufftext for [/proc/begin_the_end()]
/proc/narsie_last_second_winCalled only if the crew managed to destroy narsie at the very last second for [/proc/begin_the_end()]
/proc/cult_ending_helperSelects cinematic to play as part of the cult end depending on the outcome then ends the round afterward +called either when narsie eats everyone, or when [/proc/begin_the_end()] reaches it's conclusion
+ + + diff --git a/code/modules/power/singularity/singularity.html b/code/modules/power/singularity/singularity.html new file mode 100644 index 000000000000..e9af2b700779 --- /dev/null +++ b/code/modules/power/singularity/singularity.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/power/singularity/singularity.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/power/singularity/singularity.dm + +

+ + +
/obj/singularityThe gravitational singularity
+ + + diff --git a/code/modules/power/terminal.html b/code/modules/power/terminal.html new file mode 100644 index 000000000000..46e48fa0ec25 --- /dev/null +++ b/code/modules/power/terminal.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/power/terminal.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/power/terminal.dm + +

+ + +
/obj/machinery/power/terminal/datanetThe evil cousin of the data terminal, the data-enabled terminal.
+ + + diff --git a/code/modules/power/tesla/energy_ball.html b/code/modules/power/tesla/energy_ball.html new file mode 100644 index 000000000000..859f3ea0f9da --- /dev/null +++ b/code/modules/power/tesla/energy_ball.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/power/tesla/energy_ball.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/power/tesla/energy_ball.dm + +

+ + +
/obj/energy_ballThe Tesla engine
+ + + diff --git a/code/modules/procedural_mapping.html b/code/modules/procedural_mapping.html new file mode 100644 index 000000000000..4334fb7ed083 --- /dev/null +++ b/code/modules/procedural_mapping.html @@ -0,0 +1,166 @@ + + + + + + + code/modules/procedural_mapping/README.txt - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/procedural_mapping/README.txt + +

+ + +
by RemieRichards
+
+//////////////////////////////
+// CODER INFORMATIVE README //
+//////////////////////////////
+(See below for Mapper Friendly Readme)
+
+mapGenerator:
+	Desc: a mapGenerator is a master datum that collects
+	and syncs all mapGeneratorModules in it's modules list
+
+	defineRegion(var/turf/Start, turf/End, replace = 0)
+		Example: defineRegion(locate(1,1,1),locate(5,5,5),0)
+		Desc: Sets the bounds of the mapGenerator's "map"
+
+	defineCircularRegion(var/turf/Start, turf/End, replace = 0)
+		Example: defineCircularRegion(locate(1,1,1),locate(5,5,5),0)
+		Desc: Sets the mapGenerator's "map" as a circle, with center in the middle of Start and End's X,Y,Z coordinates
+
+	undefineRegion()
+		Example: undefineRegion()
+		Desc: Empties the map generator list
+
+	checkRegion(var/turf/Start, turf/End)
+		Example: checkRegion(locate(1,1,1), locate(5,5,5))
+		Desc: Checks if a rectangle between Start's coords and End's coords is valid
+		Existing Calls: mapGenerator/defineRegion(), mapGenerator/defineCircularRegion()
+
+	generate()
+		Example: generate()
+		Desc: Orders all mapGeneratorModules in the modules list to generate()
+
+	generateOneTurf(var/turf/T)
+		Example: generateOneTurf(locate(1,1,1))
+		Desc: Orders all mapGeneratorModules in the modules list to place(T) on this turf
+
+	initialiseModules()
+		Example: initialiseModules()
+		Desc: Replaces all typepaths in the modules list with actual /datum/map_generator/Module types
+		Existing Calls: mapGenerator/New()
+
+	syncModules()
+		Example: syncModules()
+		Desc: Sets the Mother variable on all mapGeneratorModules in the modules list to this mapGenerator
+		Existing Calls: initialiseModules(),generate(),generateOneTurf()
+
+
+mapGeneratorModule
+	Desc: a mapGeneratorModule has spawnableAtoms and spawnableTurfs lists
+	which it will generate on turfs in it's mother's map based on cluster variables
+
+	sync(var/datum/map_generator/mum)
+		Example: sync(a_mapGenerator_as_a_variable)
+		Desc: Sets the Mother variable to the mum argument
+		Existing Calls: mapGenerator/syncModules()
+
+	generate()
+		Example: generate()
+		Desc: Calls place(T) on all turfs in it's mother's map
+		Existing Calls: mapGenerator/generate()
+
+	place(var/turf/T)
+		Example: place(locate(1,1,1))
+		Desc: Run this mapGeneratorModule's effects on this turf (Spawning atoms, Changing turfs)
+		Existing Calls: mapGenerator/generate(), mapGenerator/generateOneTurf()
+
+	checkPlaceAtom(var/turf/T)
+		Example: checkPlace(locate(1,1,1))
+		Desc: Checks if the turf is valid for placing atoms
+		Existing Calls: place()
+
+
+////////////////////////////
+// MAPPER FRIENDLY README //
+////////////////////////////
+
+Simple Workflow:
+
+	1. Define a/some mapGeneratorModule(s) to your liking, choosing atoms and turfs to spawn
+	 #Note: I chose to split Turfs and Atoms off into separate modules, but this is NOT required.
+	 #Note: A mapGeneratorModule may have turfs AND atoms, so long as each is in it's appropriate list
+
+	2. Define a mapGenerator type who's modules list contains the typepath(s) of all the module(s) you wish to use
+	 #Note: The order of the typepaths in the modules list is the order they will happen in, this is important for clusterCheckFlags.
+
+	3. Take notes of the Bottom Left and Top Right turfs of your rectangular "map"'s coordinates
+	 #Note: X,Y AND Z, Yes you can created 3D "maps" by having differing Z coords
+
+	4. Create the mapGenerator type you created
+
+	5. Call yourMapGeneratorType.defineRegion(locate(X,Y,Z), locate(X,Y,Z))
+	 #Note: The above X/Y/Zs are the coordinates of the start and end turfs, the locate() simply finds the turf for the code
+
+	6. Call yourMapGeneratorType.generate(), this will cause all the modules in the generator to build within the map bounds
+
+Option Suggestions:
+
+	* Have separate modules for Turfs and Atoms, this is not enforced, but it is how I have structured my nature example.
+	* If your map doesn't look quite to your liking, simply jiggle with the variables on your modules and the type probabilities
+	* You can mix and map premade areas with the procedural generation, for example mapping an entire flat land but having code generate just the grass tufts
+
+
+Using the Modules list
+
+	Simply think of it like each module is a layer in a graphics editing program!
+	To help you do this templates such as /mapGeneratorModule/bottomLayer have been provided with appropriate default settings.
+	These are located near the bottom of mapGeneratorModule.dm
+	you would order your list left to right, top to bottom, e.g:
+	modules = list(bottomLayer,nextLayer,nextNextLayer) etc.
+
+
+Variable Breakdown (For Mappers):
+
+	mapGenerator
+		map - INTERNAL, do not touch
+		modules - A list of typepaths of mapGeneratorModules
+
+	mapGeneratorModule
+		mother - INTERNAL, do not touch
+		spawnableAtoms - A list of typepaths and their probability to spawn, eg: spawnableAtoms = list(/obj/structure/flora/tree/pine = 30)
+		spawnableTurfs - A list of typepaths and their probability to spawn, eg: spawnableTurfs = list(/turf/unsimulated/floor/grass = 100)
+		clusterMax - The max range to check for something being "too close" for this atom/turf to spawn, the true value is random between clusterMin and clusterMax
+		clusterMin - The min range to check for something being "too close" for this atom/turf to spawn, the true value is random between clusterMin and clusterMax
+		clusterCheckFlags - A Bitfield that controls how the cluster checks work, All based on clusterMin and clusterMax guides
+		allowAtomsOnSpace - A Boolean for if we allow atoms to spawn on space tiles
+
+		clusterCheckFlags flags:
+			CLUSTER_CHECK_NONE	0 			   //No checks are done, cluster as much as possible
+			CLUSTER_CHECK_DIFFERENT_TURFS	2  //Don't let turfs of DIFFERENT types cluster
+			CLUSTER_CHECK_DIFFERENT_ATOMS	4  //Don't let atoms of DIFFERENT types cluster
+			CLUSTER_CHECK_SAME_TURFS		8  //Don't let turfs of the SAME type cluster
+			CLUSTER_CHECK_SAME_ATOMS		16 //Don't let atoms of the SAME type cluster
+
+			CLUSTER_CHECK_SAMES				24 //Don't let any of the same type cluster
+			CLUSTER_CHECK_DIFFERENTS		6  //Don't let any different types cluster
+			CLUSTER_CHECK_ALL_TURFS			10 //Don't let ANY turfs cluster same and different types
+			CLUSTER_CHECK_ALL_ATOMS			20 //Don't let ANY atoms cluster same and different types
+
+			CLUSTER_CHECK_ALL				30 //Don't let anything cluster, like, at all
+
+ + + diff --git a/code/modules/projectiles/guns/ballistic.html b/code/modules/projectiles/guns/ballistic.html new file mode 100644 index 000000000000..0d7fbd93ad07 --- /dev/null +++ b/code/modules/projectiles/guns/ballistic.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/projectiles/guns/ballistic.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/projectiles/guns/ballistic.dm + +

+ + +
/obj/item/gun/ballisticSubtype for any kind of ballistic gun +This has a shitload of vars on it, and I'm sorry for that, but it does make making new subtypes really easy
+ + + diff --git a/code/modules/projectiles/guns/ballistic/rifle.html b/code/modules/projectiles/guns/ballistic/rifle.html new file mode 100644 index 000000000000..50fcb8e5c793 --- /dev/null +++ b/code/modules/projectiles/guns/ballistic/rifle.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/projectiles/guns/ballistic/rifle.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/projectiles/guns/ballistic/rifle.dm + +

+ + +
/obj/item/gun/ballistic/rifle/enchantedMAGICAL BOLT ACTIONS + ARCANE BARRAGE?
+ + + diff --git a/code/modules/projectiles/guns/bolt_types/_gun_bolt.html b/code/modules/projectiles/guns/bolt_types/_gun_bolt.html new file mode 100644 index 000000000000..24af922da372 --- /dev/null +++ b/code/modules/projectiles/guns/bolt_types/_gun_bolt.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/projectiles/guns/bolt_types/_gun_bolt.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/projectiles/guns/bolt_types/_gun_bolt.dm + +

+ + +
/datum/gun_boltGun has a bolt, it stays closed while not cycling. The gun must be racked to have a bullet chambered when a mag is inserted. +Example: c20, shotguns, m90
+ + + diff --git a/code/modules/projectiles/guns/bolt_types/locking_bolt.html b/code/modules/projectiles/guns/bolt_types/locking_bolt.html new file mode 100644 index 000000000000..12c73488c0da --- /dev/null +++ b/code/modules/projectiles/guns/bolt_types/locking_bolt.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/projectiles/guns/bolt_types/locking_bolt.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/projectiles/guns/bolt_types/locking_bolt.dm + +

+ + +
/datum/gun_bolt/lockingGun has a bolt, it locks back when empty. It can be released to chamber a round if a magazine is in. +Example: Pistols with a slide lock, some SMGs
+ + + diff --git a/code/modules/projectiles/guns/bolt_types/no_bolt.html b/code/modules/projectiles/guns/bolt_types/no_bolt.html new file mode 100644 index 000000000000..20887b6c8288 --- /dev/null +++ b/code/modules/projectiles/guns/bolt_types/no_bolt.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/projectiles/guns/bolt_types/no_bolt.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/projectiles/guns/bolt_types/no_bolt.dm + +

+ + +
/datum/gun_bolt/no_boltGun has no moving bolt mechanism, it cannot be racked. Also dumps the entire contents when emptied instead of a magazine. +Example: Break action shotguns, revolvers
+ + + diff --git a/code/modules/projectiles/guns/bolt_types/open_bolt.html b/code/modules/projectiles/guns/bolt_types/open_bolt.html new file mode 100644 index 000000000000..5edfe755adfc --- /dev/null +++ b/code/modules/projectiles/guns/bolt_types/open_bolt.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/projectiles/guns/bolt_types/open_bolt.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/projectiles/guns/bolt_types/open_bolt.dm + +

+ + +
/datum/gun_bolt/openGun has a bolt, it is open when ready to fire. The gun can never have a chambered bullet with no magazine, but the bolt stays ready when a mag is removed. +Example: Some SMGs, the L6
+ + + diff --git a/code/modules/projectiles/guns/energy/laser.html b/code/modules/projectiles/guns/energy/laser.html new file mode 100644 index 000000000000..49744cd41d54 --- /dev/null +++ b/code/modules/projectiles/guns/energy/laser.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/projectiles/guns/energy/laser.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/projectiles/guns/energy/laser.dm + +

+ + + + +
/obj/item/gun/energy/lasercannonLaser Cannon
/obj/item/gun/energy/xrayX-ray gun
/obj/item/gun/energy/laser/bluetagLaser Tag
+ + + diff --git a/code/modules/projectiles/guns/special/blastcannon.html b/code/modules/projectiles/guns/special/blastcannon.html new file mode 100644 index 000000000000..b6a77f12dbf0 --- /dev/null +++ b/code/modules/projectiles/guns/special/blastcannon.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/projectiles/guns/special/blastcannon.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/projectiles/guns/special/blastcannon.dm + +

+ + + + + +
BLASTCANNON_RANGE_EXPHow much to scale the explosion ranges for blastcannon shots.
BLASTCANNON_RANGE_SCALEHow much to scale the explosion ranges for blastcannon shots.
/obj/item/gun/blastcannonA gun that consumes a TTV to shoot an projectile with equivalent power.
/obj/projectile/blastwaveThe projectile used by the blastcannon

Define Details

+

BLASTCANNON_RANGE_EXP + + +

+

How much to scale the explosion ranges for blastcannon shots.

BLASTCANNON_RANGE_SCALE + + +

+

How much to scale the explosion ranges for blastcannon shots.

+ + + diff --git a/code/modules/projectiles/guns/special/meat_hook.html b/code/modules/projectiles/guns/special/meat_hook.html new file mode 100644 index 000000000000..28bc52089551 --- /dev/null +++ b/code/modules/projectiles/guns/special/meat_hook.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/projectiles/guns/special/meat_hook.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/projectiles/guns/special/meat_hook.dm + +

+ + +
/obj/item/gun/magic/hook/contractornon-damaging version for contractor MODsuits
+ + + diff --git a/code/modules/projectiles/guns/special/medbeam.html b/code/modules/projectiles/guns/special/medbeam.html new file mode 100644 index 000000000000..875e8616d0ec --- /dev/null +++ b/code/modules/projectiles/guns/special/medbeam.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/projectiles/guns/special/medbeam.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/projectiles/guns/special/medbeam.dm + +

+ + +
/obj/item/gun/medbeam/mechMech Version
+ + + diff --git a/code/modules/projectiles/guns/special/syringe_gun.html b/code/modules/projectiles/guns/special/syringe_gun.html new file mode 100644 index 000000000000..0676483cfa90 --- /dev/null +++ b/code/modules/projectiles/guns/special/syringe_gun.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/projectiles/guns/special/syringe_gun.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/projectiles/guns/special/syringe_gun.dm + +

+ + +
/obj/item/gun/syringe/syndicate/prototypesyndicate prototype for smuggling missions
+ + + diff --git a/code/modules/projectiles/projectile.html b/code/modules/projectiles/projectile.html new file mode 100644 index 000000000000..94cde7c362cf --- /dev/null +++ b/code/modules/projectiles/projectile.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/projectiles/projectile.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/projectiles/projectile.dm + +

+ + + +
/proc/calculate_projectile_angle_and_pixel_offsetsCalculates the pixel offsets and angle that a projectile should be launched at.
+ + + diff --git a/code/modules/projectiles/projectile/bullets/_incendiary.html b/code/modules/projectiles/projectile/bullets/_incendiary.html new file mode 100644 index 000000000000..98b98ce3b9b2 --- /dev/null +++ b/code/modules/projectiles/projectile/bullets/_incendiary.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/projectiles/projectile/bullets/_incendiary.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/projectiles/projectile/bullets/_incendiary.dm + +

+ + + +
/obj/projectile/bullet/incendiary/backblastUsed in the backblast element
BACKBLAST_MAX_ITEM_KNOCKBACKwe only try to knock back the first 6 items per tile

Define Details

+

BACKBLAST_MAX_ITEM_KNOCKBACK + + +

+

we only try to knock back the first 6 items per tile

+ + + diff --git a/code/modules/projectiles/projectile/magic.html b/code/modules/projectiles/projectile/magic.html new file mode 100644 index 000000000000..7062e60679d8 --- /dev/null +++ b/code/modules/projectiles/projectile/magic.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/projectiles/projectile/magic.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/projectiles/projectile/magic.dm + +

+ + +
/obj/projectile/magic/aoeGives magic projectiles an area of effect radius that will bump into any nearby mobs
+ + + diff --git a/code/modules/projectiles/projectile/special/rocket.html b/code/modules/projectiles/projectile/special/rocket.html new file mode 100644 index 000000000000..88acae8ecddc --- /dev/null +++ b/code/modules/projectiles/projectile/special/rocket.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/projectiles/projectile/special/rocket.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/projectiles/projectile/special/rocket.dm + +

+ + + + + +
/obj/projectile/bullet/a84mmPM9 HEDP rocket
/obj/projectile/bullet/a84mm/hePM9 standard rocket
/obj/projectile/bullet/a84mm/weakPM9 weak rocket
/obj/projectile/bullet/a84mm_brMech BRM-6 missile
+ + + diff --git a/code/modules/reagents/chem_splash.html b/code/modules/reagents/chem_splash.html new file mode 100644 index 000000000000..ca9e7d1faf88 --- /dev/null +++ b/code/modules/reagents/chem_splash.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/reagents/chem_splash.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chem_splash.dm + +

+ + + + + +
/proc/chem_splashThe basic chemical bomb proc. +Combines a set of reagent holders into one holder and reacts it. +If there are any reagents left over it spreads them across the surrounding environment. +The maximum volume of the holder is temporarily adjusted to allow for reactions which increase total volume to work at full effectiveness. +The maximum volume of the holder is then reset to its original value.
/proc/spread_reagentsExposes all accessible atoms within some distance of an epicenter to some reagents. +Does not clear the source reagent holder; that must be done manually if it is desired.
+ + + diff --git a/code/modules/reagents/chemistry/chem_wiki_render.html b/code/modules/reagents/chemistry/chem_wiki_render.html new file mode 100644 index 000000000000..3f7dd9d518ab --- /dev/null +++ b/code/modules/reagents/chemistry/chem_wiki_render.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/reagents/chemistry/chem_wiki_render.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/chem_wiki_render.dm + +

+ + + +
/proc/generate_chemwiki_lineGenerate the big list of reagent based reactions. +style='background-color:#FFEE88;'|{{anchor|Synthetic-derived growth factor}}Synthetic-derived growth factor▮
+ + + diff --git a/code/modules/reagents/chemistry/fermi_readme.html b/code/modules/reagents/chemistry/fermi_readme.html new file mode 100644 index 000000000000..e0a14d535012 --- /dev/null +++ b/code/modules/reagents/chemistry/fermi_readme.html @@ -0,0 +1,190 @@ + + + + + + + code/modules/reagents/chemistry/fermi_readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

How to make fermi reactions from a code perspective + +

+ + +
How purity works +

Purity by default only splits on a mob’s consumption unless reaction_flags in the recipe is set to one of the CLEAR_CONVERT defines. Here is a bad flowchart for the on mob process.

+

I am not good at flowcharts sorry.

+

image

+

Essentially +For purity: +If 1: normal +If above inverse_chem_val: normal + impure +If below: inverse

+How reactions mechanics work +

For the effects starting/during/at the end of a reaction see below:

+

image

+

Maybe this makes no sense.

+

In brief:

+

Holder.dm now sets up reactions, while equilibrium.dm runs them. Holder itself is processed when there is a list of reactions, but the equilibrium does the calculating. In essence, it holds onto a list of objects to run. Handle_reactions() is used to update the reaction list, with a few checks at the start to prevent any unnecessary updates.

+When a reaction is detected: +
    +
  • If it’s REACTION_INSTANT then it’ll use a method similar to the old mechanics.
  • +
  • If not then it’ll set up an equilibrium, which checks to see if the reaction is valid on creation.
  • +
  • If it’s valid, then on_reaction is called.
  • +
  • If the reaction’s temperature is over the overheat_temp overheated() is called
  • +
  • When equilibriums detect they’re invalid, they flag for deletion and holder.dm deletes them.
  • +
  • If there’s a list of reactions, then the holder starts processing.
  • +
+When holder is processing: +
    +
  • Each equilibrium is processed, and it handles it’s own reaction. For each step it handles every reaction.
  • +
  • At the start, the equilibrium checks it’s conditions and calculates how much it can make in this step.
  • +
  • It checks the temp, reagents and catalyst.
  • +
  • If it’s overheated, call overheated()
  • +
  • If it’s too impure call overly_impure()
  • +
  • The offset of optimal pH and temp is calculated, and these correlate with purity and yield.
  • +
+How a holder stops reacting: +

When one of the checks fails in the equilibrium object, it is flagged for deletion. The holder will detect this and call reaction_finish() and delete the equilibrium object – ending that reaction.

+Recipe and processing mechanics +

Lets go over the reaction vars below. These can be edited and set on a per chemical_reaction basis

+
/datum/chemical_reaction
+	...
+    var/required_temp			= 100
+    var/optimal_temp			= 500			// Upper end for above
+	var/overheat_temp 			= 900 			// Temperature at which reaction explodes - If any reaction is this hot, it procs overheated()
+	var/optimal_ph_min 			= 5         	// Lowest value of pH determining pH a 1 value for pH based rate reactions (Plateu phase)
+	var/optimal_ph_max 			= 9	        	// Higest value for above
+	var/determin_ph_range 		= 4         	// How far out pH wil react, giving impurity place (Exponential phase)
+	var/temp_exponent_factor 	= 2         	// How sharp the temperature exponential curve is (to the power of value)
+	var/ph_exponent_factor 		= 1         	// How sharp the pH exponential curve is (to the power of value)
+	var/thermic_constant		= 1         	// Temperature change per 1u produced
+	var/H_ion_release 			= 0.01       	// pH change per 1u reaction
+	var/rate_up_lim 			= 20			// Optimal/max rate possible if all conditions are perfect
+	var/purity_min 				= 0.15 			// If purity is below 0.15, it calls OverlyImpure() too. Set to 0 to disable this.
+	var/reaction_flags							// bitflags for clear conversions; REACTION_CLEAR_IMPURE, REACTION_CLEAR_INVERSE, REACTION_CLEAR_RETAIN, REACTION_INSTANT
+
+How temperature ranges are set and how reaction rate is determined +

Reaction rates are determined by the current temperature of the reagents holder. There are a few variables related to this:

+
/datum/chemical_reaction
+    var/required_temp			= 100
+    var/optimal_temp			= 500			// Upper end for above
+	var/overheat_temp 			= 900 			// Temperature at which reaction explodes - If any reaction is this hot, it procs overheated()
+	var/temp_exponent_factor 	= 2         	// How sharp the temperature exponential curve is (to the power of value)
+	var/rate_up_lim 			= 20			// Optimal/max rate possible if all conditions are perfect
+
+

The amount added is based off the recipies’ required_temp, optimal_temp, overheat_temp and temp_exponent_factor. See below: +image

+

the y axis is the normalised value of growth, which is then muliplied by the rate_up_lim. You can see that temperatures below the required_temp produce no result (the reaction doesn't start, or if it is reacting, the reaction will stop). Between the required and optimal is a region that is defined by the temp_exponent_factor, so in this case the value is ^2, so we see exponential growth. Between the optimal_temp and the overheat_temp is the optimal phase - where the rate factor is 1. After that it continues to react, but will call overheated() per timestep. Presently the default for overheated() is to reduce the yield of the product (i.e. it's faster but you get less). The rate_up_lim is the maximum rate the reaction can go at optimal temperatures, so in this case a rate factor of 1 i.e. a temperature between 500+ will produce 10u, or a temperature of 400 will roughly produce 4u per step (independant of product ratio produced, if you put 10, it will only create 10 maximum regardless of how much product is defined in the results list).

+How pH ranges are set and what pH mechanics do +

Optimal pH ranges are set on a per recipe basis - though at the moment all recipes use a default recipe, so they all have the same window (except for the buffers). Hopefully either as a community effort/or in future PRs we can create unique profiles for the present reactions in the game.

+

As for how you define the reaction variables for a reaction, there are a few new variables for the chemical_recipe datum. I'll go over specifically how pH works for the default reaction.

+
/datum/chemical_reaction
+	...
+	var/optimal_ph_min 			= 5         	// Lowest value of pH determining pH a 1 value for pH based rate reactions (Plateu phase)
+	var/optimal_ph_max 			= 9	        	// Higest value for above
+	var/determin_ph_range 		= 4         	// How far out pH wil react, giving impurity place (Exponential phase)
+	var/ph_exponent_factor 		= 1         	// How sharp the pH exponential curve is (to the power of value)
+	var/purity_min 				= 0.15 			// If purity is below 0.15, it calls overly_impure(). In addition, if the product's purity is below this value at the end, the product will be 100% converted into the reagent's failed_chem. Set to 0 to disable this.
+
+

For this default reaction, the curve looks like this: +image

+

The y axis is the purity of the product made for that time step. This is recalculated based off the beaker's sum pH for every tick in the reaction. The rate in which your product is made based off the temperature (If you want me to describe that too I can.) So say our reaction has 10u of a purity 1 of product in there, and for our step we're making another 10u with our pH at (roughly) 3, from the curve our purity is (roughly) 0.5. So we will be adding 10u of 0.5 purity to 10u of 1 purity, resulting in 20u of 0.75 purity product. (Though - to note the reactant's purities also modify the purity of volume created on top of this).

+

If you're designing a reaction you can define an optimal range between the OptimalpHMin to OptimalpHMax (5 - 7 in this case) and a deterministic region set by the ReactpHLim (5 - 4, 9 + 4 aka between 1 to 5 and 9 to 13). This deterministic region is exponential, so if you set it to 2 then it’ll exponentially grow, but since our CurveSharpph = 1, it’s linear (basically normalise the range in the determinsitic region, then put that to the power of CurveSharppH). Finally values outside of these ranges will prevent reactions from starting, but if a reaction drifts out during a reaction, the purity of volume created for each step will be 0 (It does not stop ongoing reactions). It’s entirely possible to design a reaction without a deterministic or optimal phase if you wanted.

+

Though to note; if your purity dips below the PurityMin of a reaction it’ll call the overly_impure() function – which by default reduces the purity of all reagents in the beaker. Additionally, if the purity at the end of a reaction is below the PurityMin, it’ll convert into the failed chem defined by the product’s failed_chem defined in it's reagent datum. For default the PurityMin is 0.15, and is pretty difficult to fail. This is all customisable however, if you wanted to use these hooks to design a even more unique reaction, just don’t call the parent proc when using methods.

+Conditional changes in reagents datum per timestep +
/datum/chemical_reaction
+	...
+	var/thermic_constant		= 1         	// Temperature change per 1u produced
+	var/H_ion_release 			= 0.01       	// pH change per 1u reaction
+
+

The thermic_constant is how much the temperature changes per u created, so for 10u created the temperature will increase by 10K. The H_ion_release is how much the pH changes per u created, for 10u created the pH will increase by 0.1. During a reaction this is the only factor in pH changes - presently the addition/removal of reagents tie to the reaction won't affect this, though other reactions ongoing in the beaker will also affect pH, as well as the removal/addition of reagents outside of the reaction.

+Reaction flags +

Reaction_flags can be used to set these defines:

+
#define REACTION_CLEAR_IMPURE   //Convert into impure/pure on reaction completion in the datum/reagents holder instead of on consumption
+#define REACTION_CLEAR_INVERSE  //Convert into inverse on reaction completion when purity is low enough in the datum/reagents holder instead of on consumption
+#define REACTION_CLEAR_RETAIN	//Clear converted chems retain their purities/inverted purities. Requires 1 or both of the above. This is so that it can split again after splitting from a reaction (i.e. if your impure_chem or inverse_chem has it's own impure_chem/inverse_chem and you want it to split again on consumption). 
+#define REACTION_INSTANT        //Used to create instant reactions
+
+/datum/chemical_reaction
+	var/reaction_flags	
+
+

For REACTION_CLEAR – this causes the purity mechanics to resolve in the beaker at the end of the reaction, instead of when added to a mob.

+A note on cold recipies +

Is_cold_recipie requires you to set your overheat_temp and optimal_temp descend instead. +Eg:

+
/datum/chemical_reaction
+	...
+	var/required_temp			= 300
+	var/optimal_temp			= 200
+	var/overheat_temp 			= 50 
+
+Reagents +

The new vars that are introduced are below:

+
/datum/reagent
+	/// pH of the reagent
+	var/ph = 7
+	///Purity of the reagent
+	var/purity = 1
+	///the purity of the reagent on creation (i.e. when it's added to a mob and it's purity split it into 2 chems; the purity of the resultant chems are kept as 1, this tracks what the purity was before that)
+	var/creation_purity = 1	
+	//impure chem values (see fermi_readme.dm for more details):
+	var/impure_chem		 = /datum/reagent/impurity			// What chemical path is made when metabolised as a function of purity
+	var/inverse_chem_val = 0.2								// If the impurity is below 0.5, replace ALL of the chem with inverse_chem upon metabolising
+	var/inverse_chem	 = /datum/reagent/impurity/toxic		// What chem is metabolised when purity is below inverse_chem_val
+	var/failed_chem		 = /datum/reagent/consumable/failed_reaction //what chem is made at the end of a reaction IF the purity is below the recipies purity_min
+    var/chemical_flags 
+
+
    +
  • pH is the innate pH of the reagent and is used to calculate the pH of a reagents datum on addition/removal. This does not change and is a reference value. The reagents datum pH changes.
  • +
  • purity is the INTERNAL value for splitting. This is set to 1 after splitting so that it doesn't infinite split
  • +
  • creation_purity is the purity of the reagent on creation. This won't change. If you want to write code that checks the purity in any of the methods, use this.
  • +
  • impure_chem is the datum type that is created provided that it's creation_purity is above the inverse_chem_val. When the reagent is consumed it will split into this OR if the associated datum/chemical_recipe has a REACTION_CLEAR_IMPURE flag it will split at the end of the reaction in the datum/reagents holder
  • +
  • inverse_chem_val if a reagent's purity is below this value it will 100% convert into inverse_chem. If above it will split into impure_chem. See the note on purity effects above
  • +
  • inverse_chem is the datum type that is created provided that it's creation_purity is below the inverse_chem_val. When the reagent is consumed it will 100% convert into this OR if the associated datum/chemical_recipe has a REACTION_CLEAR_INVERSE flag it will 100% convert at the end of the reaction in the datum/reagents holder
  • +
  • failed_chem is the chem that the product is 100% converted into if the purity is below the associated datum/chemical_recipies' PurityMin AT THE END OF A REACTION.
  • +
+

When writing any reagent code ALWAYS use creation_purity. Purity is kept for internal mechanics only and won’t reflect the purity on creation.

+

See above for purity mechanics, but this is where you set the reagents that are created. If you’re making an impure reagent I recommend looking at impure_reagents.dm to see how they’re set up and consider using the datum/reagents/impure as a parent.

+

The flags you can set for var/chemical_flags are:

+
#define REAGENT_DEAD_PROCESS		(1<<0)	//allows on_mob_dead() if present in a dead body
+#define REAGENT_DONOTSPLIT			(1<<1)	//Do not split the chem at all during processing - ignores all purity effects
+#define REAGENT_INVISIBLE			(1<<2)	//Doesn't appear on handheld health analyzers.
+#define REAGENT_SNEAKYNAME          (1<<3)  //When inverted, the inverted chem uses the name of the original chem
+#define REAGENT_SPLITRETAINVOL      (1<<4)  //Retains initial volume of chem when splitting for purity effects 
+
+/datum/reagent
+	var/chemical_flags 
+
+

While you might think reagent_flags is a more sensible name - it is already used for beakers. Hopefully this doesn't trip anyone up.

+Relivant vars from the holder.dm / reagents datum +

There are a few variables that are useful to know about

+
/datum/reagents
+	/// Current temp of the holder volume
+	var/chem_temp = 150
+	///pH of the whole system
+	var/ph = CHEMICAL_NORMAL_PH //aka 7
+	///cached list of reagents
+	var/list/datum/reagent/previous_reagent_list = new/list()
+	///Hard check to see if the reagents is presently reacting
+	var/is_reacting = FALSE
+
+
    +
  • chem_temp is the temperature used in the datum/chemical_recipe
  • +
  • pH is a result of the sum of all reagents, as well as any changes from buffers and reactions. This is the pH used in datum/chemical_recipe.
  • +
  • isReacting is a bool that can be used outside to ensure that you don't touch a reagents that is reacting.
  • +
  • previous_reagent_list is a list of the previous reagents (just the typepaths, not the objects) that was present on the last handle_reactions() method. This is to prevent pointless method calls.
  • +
+ + + diff --git a/code/modules/reagents/chemistry/goon_reagents/other_reagents.html b/code/modules/reagents/chemistry/goon_reagents/other_reagents.html new file mode 100644 index 000000000000..5e9adc338a89 --- /dev/null +++ b/code/modules/reagents/chemistry/goon_reagents/other_reagents.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/reagents/chemistry/goon_reagents/other_reagents.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/goon_reagents/other_reagents.dm + +

+ + + +
/datum/reagent/lubeUsed for clownery
/datum/reagent/lube/superlubeStronger kind of lube. Applies TURF_WET_SUPERLUBE.
+ + + diff --git a/code/modules/reagents/chemistry/holder.html b/code/modules/reagents/chemistry/holder.html new file mode 100644 index 000000000000..09d84a36fb38 --- /dev/null +++ b/code/modules/reagents/chemistry/holder.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/reagents/chemistry/holder.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/holder.dm + +

+ + +
/datum/reagents////////////////////////////Main reagents code///////////////////////////////////////////// +Holder for a bunch of /datum/reagent
+ + + diff --git a/code/modules/reagents/chemistry/machinery/chem_master.html b/code/modules/reagents/chemistry/machinery/chem_master.html new file mode 100644 index 000000000000..bdd11704573f --- /dev/null +++ b/code/modules/reagents/chemistry/machinery/chem_master.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/reagents/chemistry/machinery/chem_master.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/machinery/chem_master.dm + +

+ + + +
/obj/machinery/chem_masterMachine that allows to identify and separate reagents in fitting container +as well as to create new containers with separated reagents in it.
/obj/machinery/chem_master/condimasterMachine that allows to identify and separate reagents in fitting container +as well as to create new containers with separated reagents in it.
+ + + diff --git a/code/modules/reagents/chemistry/reagents.html b/code/modules/reagents/chemistry/reagents.html new file mode 100644 index 000000000000..cbe1ec68d772 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/reagents.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents.dm + +

+ + +
/datum/reagentA single reagent
+ + + diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.html b/code/modules/reagents/chemistry/reagents/alcohol_reagents.html new file mode 100644 index 000000000000..d54ef34a9590 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/reagents/alcohol_reagents.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/alcohol_reagents.dm + +

+ + +
/datum/reagent/consumable/ethanolI don't know who made this header before I refactored alcohols but I'm going to fucking strangle them because it was so ugly, holy Christ
+ + + diff --git a/code/modules/reagents/chemistry/reagents/colorful_reagents.html b/code/modules/reagents/chemistry/reagents/colorful_reagents.html new file mode 100644 index 000000000000..7d3f89a89254 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/colorful_reagents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/reagents/colorful_reagents.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/colorful_reagents.dm + +

+ + +
/datum/reagent/colorful_reagent/powderColorful Powder
+ + + diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.html b/code/modules/reagents/chemistry/reagents/drink_reagents.html new file mode 100644 index 000000000000..53fb9b82699e --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/reagents/drink_reagents.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/drink_reagents.dm + +

+ + +
/datum/reagent/consumable/orangejuiceDRINKS BELOW, Beer is up there though, along with cola. Cap'n Pete's Cuban Spiced Rum
+ + + diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.html b/code/modules/reagents/chemistry/reagents/food_reagents.html new file mode 100644 index 000000000000..4a41a12322ba --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/food_reagents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/reagents/food_reagents.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/food_reagents.dm + +

+ + +
/datum/reagent/consumable/nutriment/proteinThe basic resource of vat growing.
+ + + diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.html b/code/modules/reagents/chemistry/reagents/other_reagents.html new file mode 100644 index 000000000000..f70fa5447b58 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/other_reagents.html @@ -0,0 +1,40 @@ + + + + + + + code/modules/reagents/chemistry/reagents/other_reagents.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/reagents/chemistry/reagents/other_reagents.dm + +

+ + + + + + +
WATER_TO_WET_STACKS_FACTOR_TOUCHHow many wet stacks you get per units of water when it's applied by touch.
WATER_TO_WET_STACKS_FACTOR_VAPORHow many wet stacks you get per unit of water when it's applied by vapor. Much less effective than by touch, of course.
/datum/reagent/yuckImprovised reagent that induces vomiting. Created by dipping a dead mouse in welder fluid.

The current_cycle when puking starts.

/datum/reagent/plantnutrimentHydroponics stuff

Define Details

+

WATER_TO_WET_STACKS_FACTOR_TOUCH + + +

+

How many wet stacks you get per units of water when it's applied by touch.

WATER_TO_WET_STACKS_FACTOR_VAPOR + + +

+

How many wet stacks you get per unit of water when it's applied by vapor. Much less effective than by touch, of course.

+ + + diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.html b/code/modules/reagents/chemistry/reagents/toxin_reagents.html new file mode 100644 index 000000000000..f36f02cb3896 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/reagents/toxin_reagents.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/toxin_reagents.dm + +

+ + +
/datum/reagent/toxinPoison stuff (Toxins & Acids)
+ + + diff --git a/code/modules/reagents/chemistry/recipes.html b/code/modules/reagents/chemistry/recipes.html new file mode 100644 index 000000000000..67e2e4e61365 --- /dev/null +++ b/code/modules/reagents/chemistry/recipes.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/reagents/chemistry/recipes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes.dm + +

+ + + + +
/datum/chemical_reaction#Chemical Reaction
/proc/goonchem_vortexMagical move-wooney that happens sometimes.
+ + + diff --git a/code/modules/reagents/chemistry/recipes/gateway.html b/code/modules/reagents/chemistry/recipes/gateway.html new file mode 100644 index 000000000000..12e89a39bac2 --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/gateway.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/recipes/gateway.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes/gateway.dm + +

+ + +
/datum/chemical_reaction/acetoneOther goon stuff
+ + + diff --git a/code/modules/reagents/chemistry/recipes/other.html b/code/modules/reagents/chemistry/recipes/other.html new file mode 100644 index 000000000000..8d52b8827845 --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/other.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/reagents/chemistry/recipes/other.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes/other.dm + +

+ + + + + +
/datum/chemical_reaction/virus_foodVIROLOGY
/datum/chemical_reaction/surfactantfoam and foam precursor
/datum/chemical_reaction/ammoniaCleaning and hydroponics
/datum/chemical_reaction/iceIce and water
+ + + diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.html b/code/modules/reagents/chemistry/recipes/pyrotechnics.html new file mode 100644 index 000000000000..d3965063a04c --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/reagents/chemistry/recipes/pyrotechnics.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes/pyrotechnics.dm + +

+ + +
/datum/chemical_reaction/gunpowderturf where to play sound +special size for anti cult effect
+ + + diff --git a/code/modules/reagents/chemistry/recipes/special.html b/code/modules/reagents/chemistry/recipes/special.html new file mode 100644 index 000000000000..252443dc41a7 --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/special.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/reagents/chemistry/recipes/special.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes/special.dm + +

+ + + +
/proc/build_medicine_reagentsJust grab every craftable medicine you can think off
+ + + diff --git a/code/modules/reagents/reagent_containers/pill.html b/code/modules/reagents/reagent_containers/pill.html new file mode 100644 index 000000000000..5bd5e7ce4b6e --- /dev/null +++ b/code/modules/reagents/reagent_containers/pill.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/reagents/reagent_containers/pill.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/reagent_containers/pill.dm + +

+ + + + + +
/obj/item/reagent_containers/pill/shadowtoxinthis pill is used only in a legion mob drop
/obj/item/reagent_containers/pill/paxpsychPsychologist inventory pills
/obj/item/reagent_containers/pill/zoomdrugs
/obj/item/reagent_containers/pill/maintenanceBlack and white pills that spawn in maintenance and have random reagent contents
+ + + diff --git a/code/modules/reagents/reagent_dispenser.html b/code/modules/reagents/reagent_dispenser.html new file mode 100644 index 000000000000..bb979d8ce843 --- /dev/null +++ b/code/modules/reagents/reagent_dispenser.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/reagent_dispenser.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/reagent_dispenser.dm + +

+ + +
/obj/structure/reagent_dispensers/wallWall mounted dispeners, like pepper spray or virus food. Not a normal tank.
+ + + diff --git a/code/modules/reagents/withdrawal/_addiction.html b/code/modules/reagents/withdrawal/_addiction.html new file mode 100644 index 000000000000..4ba59f897252 --- /dev/null +++ b/code/modules/reagents/withdrawal/_addiction.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/withdrawal/_addiction.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/withdrawal/_addiction.dm + +

+ + +
/datum/addictionbase class for addiction, handles when you become addicted and what the effects of that are. By default you become addicted when you hit a certain threshold, and stop being addicted once you go below another one.
+ + + diff --git a/code/modules/reagents/withdrawal/generic_addictions.html b/code/modules/reagents/withdrawal/generic_addictions.html new file mode 100644 index 000000000000..fdf6504057d0 --- /dev/null +++ b/code/modules/reagents/withdrawal/generic_addictions.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/reagents/withdrawal/generic_addictions.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/reagents/withdrawal/generic_addictions.dm + +

+ + + + + + +
/datum/addiction/opiodsOpiods
/datum/addiction/stimulantsStimulants
/datum/addiction/alcoholAlcohol
/datum/addiction/medicineMakes you a hypochondriac - I'd like to call it hypochondria, but "I could use some hypochondria" doesn't work
/datum/addiction/nicotineNicotine
+ + + diff --git a/code/modules/recycling/conveyor.html b/code/modules/recycling/conveyor.html new file mode 100644 index 000000000000..fe9ef1cdc6fe --- /dev/null +++ b/code/modules/recycling/conveyor.html @@ -0,0 +1,47 @@ + + + + + + + code/modules/recycling/conveyor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/recycling/conveyor.dm + +

+ + + + + +
MAX_CONVEYOR_ITEMS_MOVEMaximum amount of items a conveyor can move at once.
CONVEYOR_OFFConveyor is currently off.
CONVEYOR_FORWARDConveyor is currently configured to move items forward.
CONVEYOR_BACKWARDSConveyor is currently configured to move items backwards.

Define Details

+

CONVEYOR_BACKWARDS + + +

+

Conveyor is currently configured to move items backwards.

CONVEYOR_FORWARD + + +

+

Conveyor is currently configured to move items forward.

CONVEYOR_OFF + + +

+

Conveyor is currently off.

MAX_CONVEYOR_ITEMS_MOVE + + +

+

Maximum amount of items a conveyor can move at once.

+ + + diff --git a/code/modules/recycling/disposal/multiz.html b/code/modules/recycling/disposal/multiz.html new file mode 100644 index 000000000000..07cf8f1d9159 --- /dev/null +++ b/code/modules/recycling/disposal/multiz.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/recycling/disposal/multiz.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/recycling/disposal/multiz.dm + +

+ + + + +
MULTIZ_PIPE_UPDefines for determining which way a multiz disposal element should travel
MULTIZ_PIPE_DOWNDefines for determining which way a multiz disposal element should travel
/obj/structure/disposalpipe/trunk/multiz/downSet the multiz direction of your trunk. 1 = up, 2 = down

Define Details

+

MULTIZ_PIPE_DOWN + + +

+

Defines for determining which way a multiz disposal element should travel

MULTIZ_PIPE_UP + + +

+

Defines for determining which way a multiz disposal element should travel

+ + + diff --git a/code/modules/recycling/disposal/outlet.html b/code/modules/recycling/disposal/outlet.html new file mode 100644 index 000000000000..6eb9d678e59b --- /dev/null +++ b/code/modules/recycling/disposal/outlet.html @@ -0,0 +1,47 @@ + + + + + + + code/modules/recycling/disposal/outlet.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/recycling/disposal/outlet.dm + +

+ + + + + +
EJECT_SPEED_SLOWThe slowest setting for disposal eject speed
EJECT_SPEED_MEDThe default setting for disposal eject speed
EJECT_SPEED_FASTThe fast setting for disposal eject speed
EJECT_SPEED_YEETThe fastest setting for disposal eject speed

Define Details

+

EJECT_SPEED_FAST + + +

+

The fast setting for disposal eject speed

EJECT_SPEED_MED + + +

+

The default setting for disposal eject speed

EJECT_SPEED_SLOW + + +

+

The slowest setting for disposal eject speed

EJECT_SPEED_YEET + + +

+

The fastest setting for disposal eject speed

+ + + diff --git a/code/modules/recycling/sortingmachinery.html b/code/modules/recycling/sortingmachinery.html new file mode 100644 index 000000000000..925d44fb02d6 --- /dev/null +++ b/code/modules/recycling/sortingmachinery.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/recycling/sortingmachinery.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/recycling/sortingmachinery.dm + +

+ + + +
/obj/item/delivery/big
/obj/item/delivery/small
+ + + diff --git a/code/modules/religion/festival/instrument_rites.html b/code/modules/religion/festival/instrument_rites.html new file mode 100644 index 000000000000..1d13ffe3418c --- /dev/null +++ b/code/modules/religion/festival/instrument_rites.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/religion/festival/instrument_rites.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/religion/festival/instrument_rites.dm + +

+ + +
/datum/religion_rites/song_tunerprototype for rites that tune a song.
+ + + diff --git a/code/modules/religion/festival/note_particles.html b/code/modules/religion/festival/note_particles.html new file mode 100644 index 000000000000..f0a9f6497dd5 --- /dev/null +++ b/code/modules/religion/festival/note_particles.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/religion/festival/note_particles.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/religion/festival/note_particles.dm + +

+ + +
/particles/musical_notesmusical notes! Try to use these sparingly, gents.
+ + + diff --git a/code/modules/religion/religion_sects.html b/code/modules/religion/religion_sects.html new file mode 100644 index 000000000000..cf2bf08f0818 --- /dev/null +++ b/code/modules/religion/religion_sects.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/religion/religion_sects.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/religion/religion_sects.dm + +

+ + + + + +
/datum/religion_sectReligious Sects are a way to convert the fun of having an active 'god' (admin) to code-mechanics so you aren't having to press adminwho.
/datum/religion_sect/puritanismNanotrasen Approved God
/datum/religion_sect/mechanicalMechanical God
/datum/religion_sect/pyrePyre God
+ + + diff --git a/code/modules/religion/rites.html b/code/modules/religion/rites.html new file mode 100644 index 000000000000..7e0115dab650 --- /dev/null +++ b/code/modules/religion/rites.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/religion/rites.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/religion/rites.dm + +

+ + + + + + + +
/datum/religion_rites/synthconversionMechanical God
/datum/religion_rites/greedGreedy God +all greed rites cost money instead
/datum/religion_rites/deaconizeHonorbound God +Makes the person holy, but they now also have to follow the honorbound code (CBT). Actually earns favor, convincing others to uphold the code (tm) is not easy
/datum/religion_rites/forgiveMostly useless funny rite for forgiving someone, making them innocent once again.
/datum/religion_rites/maint_adaptationMaintenance God
/datum/religion_rites/sparring_contractsparring god rites
+ + + diff --git a/code/modules/religion/sparring/ceremonial_gear.html b/code/modules/religion/sparring/ceremonial_gear.html new file mode 100644 index 000000000000..355e3957fed7 --- /dev/null +++ b/code/modules/religion/sparring/ceremonial_gear.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/religion/sparring/ceremonial_gear.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/religion/sparring/ceremonial_gear.dm + +

+ + +
/obj/item/ceremonial_bladeritual weapons. they're really bad, but they become normal weapons when sparring.
+ + + diff --git a/code/modules/requests/request.html b/code/modules/requests/request.html new file mode 100644 index 000000000000..e4ceccf65399 --- /dev/null +++ b/code/modules/requests/request.html @@ -0,0 +1,48 @@ + + + + + + + code/modules/requests/request.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/requests/request.dm + +

+ + + + + + +
REQUEST_PRAYERRequests from prayers
REQUEST_CENTCOMRequests for Centcom
REQUEST_SYNDICATERequests for the Syndicate
REQUEST_NUKERequests for the nuke code
/datum/requestA representation of an in-game request, such as a prayer.

Define Details

+

REQUEST_CENTCOM + + +

+

Requests for Centcom

REQUEST_NUKE + + +

+

Requests for the nuke code

REQUEST_PRAYER + + +

+

Requests from prayers

REQUEST_SYNDICATE + + +

+

Requests for the Syndicate

+ + + diff --git a/code/modules/requests/request_manager.html b/code/modules/requests/request_manager.html new file mode 100644 index 000000000000..7f1ed169c8aa --- /dev/null +++ b/code/modules/requests/request_manager.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/requests/request_manager.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/requests/request_manager.dm + +

+ + +
/datum/request_managerHandles all player requests (prayers, centcom requests, syndicate requests) +that occur in the duration of a round.
+ + + diff --git a/code/modules/research/anomaly/anomaly_refinery.html b/code/modules/research/anomaly/anomaly_refinery.html new file mode 100644 index 000000000000..4555e3885756 --- /dev/null +++ b/code/modules/research/anomaly/anomaly_refinery.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/research/anomaly/anomaly_refinery.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/research/anomaly/anomaly_refinery.dm + +

+ + + +
COMPRESSION_TEST_TIMEHow long the compression test can last before the machine just gives up and ejects the items.
/obj/machinery/research/anomaly_refineryThe explosive compressor machine used in anomaly core production.

Define Details

+

COMPRESSION_TEST_TIME + + +

+

How long the compression test can last before the machine just gives up and ejects the items.

+ + + diff --git a/code/modules/research/anomaly/raw_anomaly.html b/code/modules/research/anomaly/raw_anomaly.html new file mode 100644 index 000000000000..e66039aa95de --- /dev/null +++ b/code/modules/research/anomaly/raw_anomaly.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/anomaly/raw_anomaly.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/anomaly/raw_anomaly.dm + +

+ + +
/obj/item/raw_anomaly_coreThe current precursor to anomaly cores, these are manufactured into 'finished' anomaly cores for use in research, items, and more.
+ + + diff --git a/code/modules/research/designs.html b/code/modules/research/designs.html new file mode 100644 index 000000000000..41d11ef2cee0 --- /dev/null +++ b/code/modules/research/designs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs.dm + +

+ + +
/datum/designDesign Datums +All the data for building stuff.
+ + + diff --git a/code/modules/research/designs/AI_module_designs.html b/code/modules/research/designs/AI_module_designs.html new file mode 100644 index 000000000000..68cdeb9c7614 --- /dev/null +++ b/code/modules/research/designs/AI_module_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/AI_module_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/AI_module_designs.dm + +

+ + +
/datum/design/board/aicoreAI Module Disks
+ + + diff --git a/code/modules/research/designs/autolathe_designs.html b/code/modules/research/designs/autolathe_designs.html new file mode 100644 index 000000000000..2655eea1ef86 --- /dev/null +++ b/code/modules/research/designs/autolathe_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/autolathe_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/autolathe_designs.dm + +

+ + +
/datum/design/bucketAutolathe Designs
+ + + diff --git a/code/modules/research/designs/biogenerator_designs.html b/code/modules/research/designs/biogenerator_designs.html new file mode 100644 index 000000000000..37458b29c27a --- /dev/null +++ b/code/modules/research/designs/biogenerator_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/biogenerator_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/biogenerator_designs.dm + +

+ + +
/datum/design/milkBiogenerator Designs
+ + + diff --git a/code/modules/research/designs/bluespace_designs.html b/code/modules/research/designs/bluespace_designs.html new file mode 100644 index 000000000000..2379d53bca44 --- /dev/null +++ b/code/modules/research/designs/bluespace_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/bluespace_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/bluespace_designs.dm + +

+ + +
/datum/design/bluespace_crystalBluespace
+ + + diff --git a/code/modules/research/designs/comp_board_designs.html b/code/modules/research/designs/comp_board_designs.html new file mode 100644 index 000000000000..2cc54ef6b832 --- /dev/null +++ b/code/modules/research/designs/comp_board_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/comp_board_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/comp_board_designs.dm + +

+ + +
/datum/design/boardComputer Boards
+ + + diff --git a/code/modules/research/designs/computer_part_designs.html b/code/modules/research/designs/computer_part_designs.html new file mode 100644 index 000000000000..f775c74b04ca --- /dev/null +++ b/code/modules/research/designs/computer_part_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/computer_part_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/computer_part_designs.dm + +

+ + +
/datum/design/disk/normalComputer Parts
+ + + diff --git a/code/modules/research/designs/electronics_designs.html b/code/modules/research/designs/electronics_designs.html new file mode 100644 index 000000000000..bb162faf1cf9 --- /dev/null +++ b/code/modules/research/designs/electronics_designs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/designs/electronics_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/electronics_designs.dm + +

+ + + +
/datum/design/intellicardNon-Board Computer Stuff
/datum/design/dataDisk Construction Disks
+ + + diff --git a/code/modules/research/designs/limbgrower_designs.html b/code/modules/research/designs/limbgrower_designs.html new file mode 100644 index 000000000000..07bf724ecd4d --- /dev/null +++ b/code/modules/research/designs/limbgrower_designs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/designs/limbgrower_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/limbgrower_designs.dm + +

+ + + +
/datum/design/leftarmLimb Grower Designs
/obj/item/disk/data/limbsDesign disks and designs - for adding limbs and organs to the limbgrower.
+ + + diff --git a/code/modules/research/designs/machine_designs.html b/code/modules/research/designs/machine_designs.html new file mode 100644 index 000000000000..efc07eca5387 --- /dev/null +++ b/code/modules/research/designs/machine_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/machine_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/machine_designs.dm + +

+ + +
/datum/design/board/electrolyzerMISC Boards
+ + + diff --git a/code/modules/research/designs/mecha_designs.html b/code/modules/research/designs/mecha_designs.html new file mode 100644 index 000000000000..3d66522ad6db --- /dev/null +++ b/code/modules/research/designs/mecha_designs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/designs/mecha_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/mecha_designs.dm + +

+ + + +
/datum/design/board/ripley_mainMecha Module Disks
/datum/design/mech_scattershotMecha Equpment
+ + + diff --git a/code/modules/research/designs/mechfabricator_designs.html b/code/modules/research/designs/mechfabricator_designs.html new file mode 100644 index 000000000000..5330a9398119 --- /dev/null +++ b/code/modules/research/designs/mechfabricator_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/mechfabricator_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/mechfabricator_designs.dm + +

+ + +
/datum/design/borg_upgrade_renameBorg Upgrades
+ + + diff --git a/code/modules/research/designs/medical_designs.html b/code/modules/research/designs/medical_designs.html new file mode 100644 index 000000000000..5a6c414ea903 --- /dev/null +++ b/code/modules/research/designs/medical_designs.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/research/designs/medical_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/medical_designs.dm + +

+ + + + +
/datum/design/healthanalyzerMedical Tools
/datum/design/cyberimp_weldingCybernetic Implants
/datum/design/implanterRegular Implants
+ + + diff --git a/code/modules/research/designs/mining_designs.html b/code/modules/research/designs/mining_designs.html new file mode 100644 index 000000000000..a7c9f1543fc8 --- /dev/null +++ b/code/modules/research/designs/mining_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/mining_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/mining_designs.dm + +

+ + +
/datum/design/board/cargo_expressMining
+ + + diff --git a/code/modules/research/designs/misc_designs.html b/code/modules/research/designs/misc_designs.html new file mode 100644 index 000000000000..49d48a2f4548 --- /dev/null +++ b/code/modules/research/designs/misc_designs.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/research/designs/misc_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/misc_designs.dm + +

+ + + + + + + + + +
/datum/design/health_hudHUDs
/datum/design/welding_gogglesMisc
/datum/design/advmopJanitor Designs
/datum/design/holosignHolobarriers
/datum/design/reactive_armourArmour
/datum/design/secliteSecurity
/datum/design/holosign/restaurantRestaurant Equipment
/datum/design/data_terminalData Terminal
+ + + diff --git a/code/modules/research/designs/power_designs.html b/code/modules/research/designs/power_designs.html new file mode 100644 index 000000000000..b93ed5fe1a8c --- /dev/null +++ b/code/modules/research/designs/power_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/power_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/power_designs.dm + +

+ + +
/datum/design/basic_cellPower
+ + + diff --git a/code/modules/research/designs/smelting_designs.html b/code/modules/research/designs/smelting_designs.html new file mode 100644 index 000000000000..3b895c4ed44d --- /dev/null +++ b/code/modules/research/designs/smelting_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/smelting_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/smelting_designs.dm + +

+ + +
/datum/design/alloySMELTABLE ALLOYS
+ + + diff --git a/code/modules/research/designs/stock_parts_designs.html b/code/modules/research/designs/stock_parts_designs.html new file mode 100644 index 000000000000..3146d313bc81 --- /dev/null +++ b/code/modules/research/designs/stock_parts_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/stock_parts_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/stock_parts_designs.dm + +

+ + +
/datum/design/rpedStock Parts
+ + + diff --git a/code/modules/research/designs/telecomms_designs.html b/code/modules/research/designs/telecomms_designs.html new file mode 100644 index 000000000000..335435c603fa --- /dev/null +++ b/code/modules/research/designs/telecomms_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/telecomms_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/telecomms_designs.dm + +

+ + +
/datum/design/board/subspace_receiverSubspace Telecomms
+ + + diff --git a/code/modules/research/designs/tool_designs.html b/code/modules/research/designs/tool_designs.html new file mode 100644 index 000000000000..bf7a29588afb --- /dev/null +++ b/code/modules/research/designs/tool_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/tool_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/tool_designs.dm + +

+ + +
/datum/design/handdrillTools
+ + + diff --git a/code/modules/research/designs/weapon_designs.html b/code/modules/research/designs/weapon_designs.html new file mode 100644 index 000000000000..f5e0918b7d25 --- /dev/null +++ b/code/modules/research/designs/weapon_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/weapon_designs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/designs/weapon_designs.dm + +

+ + +
/datum/design/rubbershot/secWeapons
+ + + diff --git a/code/modules/research/machinery/fabricator.html b/code/modules/research/machinery/fabricator.html new file mode 100644 index 000000000000..44ae2178e953 --- /dev/null +++ b/code/modules/research/machinery/fabricator.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/machinery/fabricator.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/machinery/fabricator.dm + +

+ + +
/obj/machinery/rnd/production/fabricator/offstationSpecial subtype fabricator for offstation use. Has a more limited available design selection.
+ + + diff --git a/code/modules/research/ordnance/tank_compressor.html b/code/modules/research/ordnance/tank_compressor.html new file mode 100644 index 000000000000..bc534ef7c20b --- /dev/null +++ b/code/modules/research/ordnance/tank_compressor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/ordnance/tank_compressor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/ordnance/tank_compressor.dm + +

+ + +
/datum/data/compressor_recordStores the record of the gas data for a significant enough tank leak
+ + + diff --git a/code/modules/research/xenobiology/crossbreeding/__corecross.html b/code/modules/research/xenobiology/crossbreeding/__corecross.html new file mode 100644 index 000000000000..2b1361ced088 --- /dev/null +++ b/code/modules/research/xenobiology/crossbreeding/__corecross.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/xenobiology/crossbreeding/__corecross.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/xenobiology/crossbreeding/__corecross.dm + +

+ + +
/obj/item/slimecrossSLIME CROSSBREEDS
+ + + diff --git a/code/modules/research/xenobiology/crossbreeding/_mobs.html b/code/modules/research/xenobiology/crossbreeding/_mobs.html new file mode 100644 index 000000000000..43e3627669d0 --- /dev/null +++ b/code/modules/research/xenobiology/crossbreeding/_mobs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/xenobiology/crossbreeding/_mobs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/xenobiology/crossbreeding/_mobs.dm + +

+ + +
/mob/living/simple_animal/slime/transformed_slimeTransformed slime - from Burning Black
+ + + diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.html b/code/modules/research/xenobiology/crossbreeding/_status_effects.html new file mode 100644 index 000000000000..093c953d689c --- /dev/null +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/research/xenobiology/crossbreeding/_status_effects.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/research/xenobiology/crossbreeding/_status_effects.dm + +

+ + + + +
/datum/status_effect/firecookieCONSUMING EXTRACTS
/datum/status_effect/stabilizedSTABILIZED EXTRACTS
DRAIN_DAMAGE_MULTIPLIERHow much damage is dealt per healing done for the stabilized back. +This multiplier is applied to prevent two people from converting each other's damage away.

Define Details

+

DRAIN_DAMAGE_MULTIPLIER + + +

+

How much damage is dealt per healing done for the stabilized back. +This multiplier is applied to prevent two people from converting each other's damage away.

+ + + diff --git a/code/modules/research/xenobiology/xenobiology.html b/code/modules/research/xenobiology/xenobiology.html new file mode 100644 index 000000000000..171e4ec58c17 --- /dev/null +++ b/code/modules/research/xenobiology/xenobiology.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/research/xenobiology/xenobiology.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/research/xenobiology/xenobiology.dm + +

+ + + + +
/obj/item/slime_extractSlime Extracts
/obj/item/slimepotionSlime-derived potions +#Slime potions
/obj/item/stack/tile/bluespaceDefinitions for slime products that don't have anywhere else to go (Floor tiles, blueprints).
+ + + diff --git a/code/modules/shuttle/battlecruiser_starfury.html b/code/modules/shuttle/battlecruiser_starfury.html new file mode 100644 index 000000000000..a44698432b58 --- /dev/null +++ b/code/modules/shuttle/battlecruiser_starfury.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/shuttle/battlecruiser_starfury.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/shuttle/battlecruiser_starfury.dm + +

+ + +
/datum/map_template/battlecruiser_starfuryThe Starfury map template itself.
+ + + diff --git a/code/modules/shuttle/elevator.html b/code/modules/shuttle/elevator.html new file mode 100644 index 000000000000..81a0adb447d0 --- /dev/null +++ b/code/modules/shuttle/elevator.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/shuttle/elevator.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/shuttle/elevator.dm + +

+ + +
/obj/docking_port/mobile/elevatorTHIS IS PROBABLY NOT THE ANSWER. BUT IT WORKS AND ISN'T TERRIBLY EXPENSIVE.
+ + + diff --git a/code/modules/shuttle/infiltrator.html b/code/modules/shuttle/infiltrator.html new file mode 100644 index 000000000000..bff0d6bfe037 --- /dev/null +++ b/code/modules/shuttle/infiltrator.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/shuttle/infiltrator.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/shuttle/infiltrator.dm + +

+ + +
/obj/docking_port/mobile/infiltratorThe syndicate infiltrator shuttle port.
+ + + diff --git a/code/modules/shuttle/medisim.html b/code/modules/shuttle/medisim.html new file mode 100644 index 000000000000..0101c8b99023 --- /dev/null +++ b/code/modules/shuttle/medisim.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/shuttle/medisim.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/shuttle/medisim.dm + +

+ + +
/obj/machinery/computer/reality_simulationThese are for the medisim shuttle
+ + + diff --git a/code/modules/shuttle/shuttle.html b/code/modules/shuttle/shuttle.html new file mode 100644 index 000000000000..d974d8ecbc7d --- /dev/null +++ b/code/modules/shuttle/shuttle.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/shuttle/shuttle.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/shuttle/shuttle.dm + +

+ + + +
/proc/test_whiteship_sizesHelper proc that tests to ensure all whiteship templates can spawn at their docking port, and logs their sizes +This should be a unit test, but too much of our other code breaks during shuttle movement, so not yet, not yet.
+ + + diff --git a/code/modules/shuttle/supply.html b/code/modules/shuttle/supply.html new file mode 100644 index 000000000000..33e926116130 --- /dev/null +++ b/code/modules/shuttle/supply.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/shuttle/supply.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/shuttle/supply.dm + +

+ + + +
GOODY_FREE_SHIPPING_MAXHow many goody orders we can fit in a lockbox before we upgrade to a crate
CRATE_TAXHow much to charge oversized goody orders

Define Details

+

CRATE_TAX + + +

+

How much to charge oversized goody orders

GOODY_FREE_SHIPPING_MAX + + +

+

How many goody orders we can fit in a lockbox before we upgrade to a crate

+ + + diff --git a/code/modules/shuttle/white_ship.html b/code/modules/shuttle/white_ship.html new file mode 100644 index 000000000000..e07d0abac6dd --- /dev/null +++ b/code/modules/shuttle/white_ship.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/shuttle/white_ship.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/shuttle/white_ship.dm + +

+ + +
/obj/machinery/computer/shuttle/white_ship/bridgeConsole used on the whiteship bridge. Comes with GPS pre-baked.
+ + + diff --git a/code/modules/slapcrafting/base_steps/slapcraft_step_items.html b/code/modules/slapcrafting/base_steps/slapcraft_step_items.html new file mode 100644 index 000000000000..4608172f66e7 --- /dev/null +++ b/code/modules/slapcrafting/base_steps/slapcraft_step_items.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/slapcrafting/base_steps/slapcraft_step_items.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/slapcrafting/base_steps/slapcraft_step_items.dm + +

+ + + + + + + + +
/datum/slapcraft_step/itemA parent type that denotes inserting an item
/datum/slapcraft_step/item/pipe/secondDisambiguation go BRRRR
/datum/slapcraft_step/item/paper/secondDisambiguation go BRRRR
/datum/slapcraft_step/item/paper/thirdDisambiguation go BRRRR
/datum/slapcraft_step/item/paper/fourthDisambiguation go BRRRR
/datum/slapcraft_step/item/paper/fifthDisambiguation go BRRRR
/datum/slapcraft_step/item/flashlight/againDisambiguation go BRRRR
+ + + diff --git a/code/modules/slapcrafting/base_steps/slapcraft_step_material.html b/code/modules/slapcrafting/base_steps/slapcraft_step_material.html new file mode 100644 index 000000000000..18b0ac031498 --- /dev/null +++ b/code/modules/slapcrafting/base_steps/slapcraft_step_material.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/slapcrafting/base_steps/slapcraft_step_material.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/slapcrafting/base_steps/slapcraft_step_material.dm + +

+ + +
/datum/slapcraft_step/materialThis step requires an amount of a stack items which will be split off and put into the assembly.
+ + + diff --git a/code/modules/slapcrafting/base_steps/slapcraft_step_reagent.html b/code/modules/slapcrafting/base_steps/slapcraft_step_reagent.html new file mode 100644 index 000000000000..100a2f516fe5 --- /dev/null +++ b/code/modules/slapcrafting/base_steps/slapcraft_step_reagent.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/slapcrafting/base_steps/slapcraft_step_reagent.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/slapcrafting/base_steps/slapcraft_step_reagent.dm + +

+ + +
/datum/slapcraft_step/reagentThis step requires and uses a reagent to finish itself. This step is great as a last step since reagents can't be recovered from disassembly. +This alternatively can also transfer to a container inside the crafting assembly too!
+ + + diff --git a/code/modules/slapcrafting/base_steps/slapcraft_step_reagent_container.html b/code/modules/slapcrafting/base_steps/slapcraft_step_reagent_container.html new file mode 100644 index 000000000000..d256b7c53005 --- /dev/null +++ b/code/modules/slapcrafting/base_steps/slapcraft_step_reagent_container.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/slapcrafting/base_steps/slapcraft_step_reagent_container.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/slapcrafting/base_steps/slapcraft_step_reagent_container.dm + +

+ + +
/datum/slapcraft_step/reagent_containerThis step requires to input a reagent container, possibly with some reagent inside, or with some volume specifications.
+ + + diff --git a/code/modules/slapcrafting/base_steps/slapcraft_step_stack.html b/code/modules/slapcrafting/base_steps/slapcraft_step_stack.html new file mode 100644 index 000000000000..04b03ba65dfb --- /dev/null +++ b/code/modules/slapcrafting/base_steps/slapcraft_step_stack.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/slapcrafting/base_steps/slapcraft_step_stack.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/slapcrafting/base_steps/slapcraft_step_stack.dm + +

+ + + +
/datum/slapcraft_step/stackThis step requires an amount of a stack items which will be split off and put into the assembly.
/datum/slapcraft_step/stack/or_otherCan be a stack, another stack, or another item.
+ + + diff --git a/code/modules/slapcrafting/base_steps/slapcraft_step_tool.html b/code/modules/slapcrafting/base_steps/slapcraft_step_tool.html new file mode 100644 index 000000000000..488b22033630 --- /dev/null +++ b/code/modules/slapcrafting/base_steps/slapcraft_step_tool.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/slapcrafting/base_steps/slapcraft_step_tool.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/slapcrafting/base_steps/slapcraft_step_tool.dm + +

+ + +
/datum/slapcraft_step/toolThis step requires an item with a specific tool behaviour.
+ + + diff --git a/code/modules/slapcrafting/base_steps/slapcraft_step_weapon.html b/code/modules/slapcrafting/base_steps/slapcraft_step_weapon.html new file mode 100644 index 000000000000..f2b16950f7d8 --- /dev/null +++ b/code/modules/slapcrafting/base_steps/slapcraft_step_weapon.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/slapcrafting/base_steps/slapcraft_step_weapon.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/slapcrafting/base_steps/slapcraft_step_weapon.dm + +

+ + +
/datum/slapcraft_step/attackThis steps can check sufficient weapon variables, such as sharpness or force
+ + + diff --git a/code/modules/slapcrafting/slapcraft_assembly.html b/code/modules/slapcrafting/slapcraft_assembly.html new file mode 100644 index 000000000000..5c8749e41761 --- /dev/null +++ b/code/modules/slapcrafting/slapcraft_assembly.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/slapcrafting/slapcraft_assembly.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/slapcrafting/slapcraft_assembly.dm + +

+ + +
/obj/item/slapcraft_assemblyThe location to place the assembly or items if the user cannot hold them
+ + + diff --git a/code/modules/spatial_grid/cell_tracker.html b/code/modules/spatial_grid/cell_tracker.html new file mode 100644 index 000000000000..082cbe70d9fd --- /dev/null +++ b/code/modules/spatial_grid/cell_tracker.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spatial_grid/cell_tracker.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spatial_grid/cell_tracker.dm + +

+ + +
/datum/cell_trackerSpatial gridmap, cell tracking
+ + + diff --git a/code/modules/spells/spell.html b/code/modules/spells/spell.html new file mode 100644 index 000000000000..eeed26d3449a --- /dev/null +++ b/code/modules/spells/spell.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/spells/spell.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell.dm + +

+ + +
/datum/action/cooldown/spellThis is the base action for how many of the game's +spells (and spell adjacent) abilities function. +These spells function off of a cooldown-based system.
+ + + diff --git a/code/modules/spells/spell_types/aoe_spell/_aoe_spell.html b/code/modules/spells/spell_types/aoe_spell/_aoe_spell.html new file mode 100644 index 000000000000..44788b02b606 --- /dev/null +++ b/code/modules/spells/spell_types/aoe_spell/_aoe_spell.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/aoe_spell/_aoe_spell.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/aoe_spell/_aoe_spell.dm + +

+ + +
/datum/action/cooldown/spell/aoe
+ + + diff --git a/code/modules/spells/spell_types/cone/_cone.html b/code/modules/spells/spell_types/cone/_cone.html new file mode 100644 index 000000000000..3a4511d82561 --- /dev/null +++ b/code/modules/spells/spell_types/cone/_cone.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/spells/spell_types/cone/_cone.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/cone/_cone.dm + +

+ + + +
/datum/action/cooldown/spell/cone
/datum/action/cooldown/spell/cone/staggered
+ + + diff --git a/code/modules/spells/spell_types/jaunt/_jaunt.html b/code/modules/spells/spell_types/jaunt/_jaunt.html new file mode 100644 index 000000000000..c7feee462480 --- /dev/null +++ b/code/modules/spells/spell_types/jaunt/_jaunt.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/jaunt/_jaunt.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/jaunt/_jaunt.dm + +

+ + +
/datum/action/cooldown/spell/jaunt
+ + + diff --git a/code/modules/spells/spell_types/jaunt/bloodcrawl.html b/code/modules/spells/spell_types/jaunt/bloodcrawl.html new file mode 100644 index 000000000000..b7ab38897819 --- /dev/null +++ b/code/modules/spells/spell_types/jaunt/bloodcrawl.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/spells/spell_types/jaunt/bloodcrawl.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/jaunt/bloodcrawl.dm + +

+ + + + + +
/datum/action/cooldown/spell/jaunt/bloodcrawl
/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demonSlaughter demon's blood crawl +Allows the blood crawler to consume people they are dragging.
/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/funnyLaughter demon's blood crawl +All mobs consumed are revived after the demon is killed.
/obj/item/bloodcrawlBloodcrawl "hands", prevent the user from holding items in bloodcrawl
+ + + diff --git a/code/modules/spells/spell_types/jaunt/ethereal_jaunt.html b/code/modules/spells/spell_types/jaunt/ethereal_jaunt.html new file mode 100644 index 000000000000..f0a14b3d3b4c --- /dev/null +++ b/code/modules/spells/spell_types/jaunt/ethereal_jaunt.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/jaunt/ethereal_jaunt.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/jaunt/ethereal_jaunt.dm + +

+ + +
/obj/effect/dummy/phased_mob/spell_jauntThe dummy that holds people jaunting. Maybe one day we can replace it.
+ + + diff --git a/code/modules/spells/spell_types/list_target/_list_target.html b/code/modules/spells/spell_types/list_target/_list_target.html new file mode 100644 index 000000000000..d6d7e1f6fd9d --- /dev/null +++ b/code/modules/spells/spell_types/list_target/_list_target.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/list_target/_list_target.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/list_target/_list_target.dm + +

+ + +
/datum/action/cooldown/spell/list_target
+ + + diff --git a/code/modules/spells/spell_types/pointed/_pointed.html b/code/modules/spells/spell_types/pointed/_pointed.html new file mode 100644 index 000000000000..25d01c1e1334 --- /dev/null +++ b/code/modules/spells/spell_types/pointed/_pointed.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/spells/spell_types/pointed/_pointed.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/pointed/_pointed.dm + +

+ + + +
/datum/action/cooldown/spell/pointed
/datum/action/cooldown/spell/pointed/projectile
+ + + diff --git a/code/modules/spells/spell_types/projectile/_basic_projectile.html b/code/modules/spells/spell_types/projectile/_basic_projectile.html new file mode 100644 index 000000000000..8cf78f359686 --- /dev/null +++ b/code/modules/spells/spell_types/projectile/_basic_projectile.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/projectile/_basic_projectile.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/projectile/_basic_projectile.dm + +

+ + +
/datum/action/cooldown/spell/basic_projectile
+ + + diff --git a/code/modules/spells/spell_types/right_and_wrong.html b/code/modules/spells/spell_types/right_and_wrong.html new file mode 100644 index 000000000000..0a8e3b0d1cfd --- /dev/null +++ b/code/modules/spells/spell_types/right_and_wrong.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/spells/spell_types/right_and_wrong.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/right_and_wrong.dm + +

+ + +
/datum/summon_things_controllerThe "Give everyone in the crew and also latejoins a buncha stuff" controller. +Used for summon magic and summon guns.
+ + + diff --git a/code/modules/spells/spell_types/self/mutate.html b/code/modules/spells/spell_types/self/mutate.html new file mode 100644 index 000000000000..9774a820be15 --- /dev/null +++ b/code/modules/spells/spell_types/self/mutate.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/self/mutate.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/self/mutate.dm + +

+ + +
/datum/action/cooldown/spell/apply_mutationsA spell type that adds mutations to the caster temporarily.
+ + + diff --git a/code/modules/spells/spell_types/self/rod_form.html b/code/modules/spells/spell_types/self/rod_form.html new file mode 100644 index 000000000000..29e06b19dd2c --- /dev/null +++ b/code/modules/spells/spell_types/self/rod_form.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/spells/spell_types/self/rod_form.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/spells/spell_types/self/rod_form.dm + +

+ + + +
BASE_WIZ_ROD_RANGEThe base distance a wizard rod will go without upgrades.
/obj/effect/immovablerod/wizardWizard Version of the Immovable Rod.

Define Details

+

BASE_WIZ_ROD_RANGE + + +

+

The base distance a wizard rod will go without upgrades.

+ + + diff --git a/code/modules/spells/spell_types/self/smoke.html b/code/modules/spells/spell_types/self/smoke.html new file mode 100644 index 000000000000..f85c8ab9af6c --- /dev/null +++ b/code/modules/spells/spell_types/self/smoke.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/spells/spell_types/self/smoke.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/self/smoke.dm + +

+ + + + +
/datum/action/cooldown/spell/smokeBasic smoke spell.
/datum/action/cooldown/spell/smoke/lesserChaplain smoke.
/datum/action/cooldown/spell/smoke/disableUnused smoke that makes people sleep. Used to be for cult?
+ + + diff --git a/code/modules/spells/spell_types/self/soultap.html b/code/modules/spells/spell_types/self/soultap.html new file mode 100644 index 000000000000..b328f4014a29 --- /dev/null +++ b/code/modules/spells/spell_types/self/soultap.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/self/soultap.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/self/soultap.dm + +

+ + +
/datum/action/cooldown/spell/tapSOUL TAP!
+ + + diff --git a/code/modules/spells/spell_types/teleport/_teleport.html b/code/modules/spells/spell_types/teleport/_teleport.html new file mode 100644 index 000000000000..8d0364d3a917 --- /dev/null +++ b/code/modules/spells/spell_types/teleport/_teleport.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/spells/spell_types/teleport/_teleport.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/teleport/_teleport.dm + +

+ + + + +
/datum/action/cooldown/spell/teleport
/datum/action/cooldown/spell/teleport/radius_turf
/datum/action/cooldown/spell/teleport/area_teleport
+ + + diff --git a/code/modules/spells/spell_types/teleport/teleport.html b/code/modules/spells/spell_types/teleport/teleport.html new file mode 100644 index 000000000000..c5bdcbf8a299 --- /dev/null +++ b/code/modules/spells/spell_types/teleport/teleport.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/spells/spell_types/teleport/teleport.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spells/spell_types/teleport/teleport.dm + +

+ + + +
/datum/action/cooldown/spell/teleport/area_teleport/wizardThe wizard's teleport SPELL
/datum/action/cooldown/spell/teleport/area_teleport/wizard/scrollUsed by the wizard's teleport scroll
+ + + diff --git a/code/modules/spooky/components/spooky_powers.html b/code/modules/spooky/components/spooky_powers.html new file mode 100644 index 000000000000..4ba3bca0c6c9 --- /dev/null +++ b/code/modules/spooky/components/spooky_powers.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spooky/components/spooky_powers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/spooky/components/spooky_powers.dm + +

+ + +
/datum/component/spooky_powersGrants powers to the parent mob based on the spookiness of their area.
+ + + diff --git a/code/modules/surgery/bodyparts/head.html b/code/modules/surgery/bodyparts/head.html new file mode 100644 index 000000000000..59b9e80623cd --- /dev/null +++ b/code/modules/surgery/bodyparts/head.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/surgery/bodyparts/head.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/bodyparts/head.dm + +

+ + +
/obj/item/bodypart/headFACIAL HAIR CHECKS START +FACIAL HAIR CHECKS END +HAIR CHECKS START +HAIR CHECKS END
+ + + diff --git a/code/modules/surgery/bodyparts/parts.html b/code/modules/surgery/bodyparts/parts.html new file mode 100644 index 000000000000..8e1d24815ec6 --- /dev/null +++ b/code/modules/surgery/bodyparts/parts.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/surgery/bodyparts/parts.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/bodyparts/parts.dm + +

+ + + +
/obj/item/bodypart/armParent Type for arms, should not appear in game.
/obj/item/bodypart/legParent Type for arms, should not appear in game.
+ + + diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.html b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.html new file mode 100644 index 000000000000..df6fd021388f --- /dev/null +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm + +

+ + + + + + + + + + + + +
/obj/item/bodypart/head/snailSNAIL
/obj/item/bodypart/head/abductorABDUCTOR
/obj/item/bodypart/head/jellyJELLY
/obj/item/bodypart/head/slimeSLIME
/obj/item/bodypart/head/luminescentLUMINESCENT
/obj/item/bodypart/head/zombieZOMBIE
/obj/item/bodypart/head/podPODPEOPLE
/obj/item/bodypart/head/flyFLY
/obj/item/bodypart/head/shadowSHADOW
/obj/item/bodypart/head/skeletonSKELETON
/obj/item/bodypart/head/mushroomMUSHROOM
+ + + diff --git a/code/modules/surgery/bodyparts/wounds/_wounds.html b/code/modules/surgery/bodyparts/wounds/_wounds.html new file mode 100644 index 000000000000..d959d3faa0d1 --- /dev/null +++ b/code/modules/surgery/bodyparts/wounds/_wounds.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/bodyparts/wounds/_wounds.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/bodyparts/wounds/_wounds.dm + +

+ + +
/datum/woundWOUNDS
+ + + diff --git a/code/modules/surgery/bodyparts/wounds/bruises.html b/code/modules/surgery/bodyparts/wounds/bruises.html new file mode 100644 index 000000000000..515cf0fb4f93 --- /dev/null +++ b/code/modules/surgery/bodyparts/wounds/bruises.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/bodyparts/wounds/bruises.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/bodyparts/wounds/bruises.dm + +

+ + +
/datum/wound/bruiseBRUISES
+ + + diff --git a/code/modules/surgery/bodyparts/wounds/burns.html b/code/modules/surgery/bodyparts/wounds/burns.html new file mode 100644 index 000000000000..5efc0fc47e25 --- /dev/null +++ b/code/modules/surgery/bodyparts/wounds/burns.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/bodyparts/wounds/burns.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/bodyparts/wounds/burns.dm + +

+ + +
/datum/wound/burnBURNS
+ + + diff --git a/code/modules/surgery/bodyparts/wounds/cuts.html b/code/modules/surgery/bodyparts/wounds/cuts.html new file mode 100644 index 000000000000..8d658448e5d9 --- /dev/null +++ b/code/modules/surgery/bodyparts/wounds/cuts.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/bodyparts/wounds/cuts.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/bodyparts/wounds/cuts.dm + +

+ + +
/datum/wound/cutCUTS
+ + + diff --git a/code/modules/surgery/bodyparts/wounds/lost_limb.html b/code/modules/surgery/bodyparts/wounds/lost_limb.html new file mode 100644 index 000000000000..c24c6005358a --- /dev/null +++ b/code/modules/surgery/bodyparts/wounds/lost_limb.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/bodyparts/wounds/lost_limb.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/bodyparts/wounds/lost_limb.dm + +

+ + +
/datum/wound/lost_limbBODYPART LOSS
+ + + diff --git a/code/modules/surgery/bodyparts/wounds/punctures.html b/code/modules/surgery/bodyparts/wounds/punctures.html new file mode 100644 index 000000000000..83d6d48aebef --- /dev/null +++ b/code/modules/surgery/bodyparts/wounds/punctures.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/bodyparts/wounds/punctures.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/bodyparts/wounds/punctures.dm + +

+ + +
/datum/wound/puncturePUNCTURES
+ + + diff --git a/code/modules/surgery/organs/external/_external_organs.html b/code/modules/surgery/organs/external/_external_organs.html new file mode 100644 index 000000000000..d23486219435 --- /dev/null +++ b/code/modules/surgery/organs/external/_external_organs.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/surgery/organs/external/_external_organs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/organs/external/_external_organs.dm + +

+ + + + +
/obj/item/organ/hornsThe horns of a lizard!
/obj/item/organ/frillsThe frills of a lizard (like weird fin ears)
/obj/item/organ/antennaeA moth's antennae
+ + + diff --git a/code/modules/surgery/organs/external/snouts.html b/code/modules/surgery/organs/external/snouts.html new file mode 100644 index 000000000000..6d533e4bfb52 --- /dev/null +++ b/code/modules/surgery/organs/external/snouts.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/organs/external/snouts.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/organs/external/snouts.dm + +

+ + +
/obj/item/organ/snout/voxGuess what part of the vox is this?
+ + + diff --git a/code/modules/surgery/organs/external/tails.html b/code/modules/surgery/organs/external/tails.html new file mode 100644 index 000000000000..02acedbf13b6 --- /dev/null +++ b/code/modules/surgery/organs/external/tails.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/organs/external/tails.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/organs/external/tails.dm + +

+ + +
/obj/item/organ/tailTail parent, it doesn't do very much.
+ + + diff --git a/code/modules/surgery/organs/external/wings.html b/code/modules/surgery/organs/external/wings.html new file mode 100644 index 000000000000..099aa01c1bab --- /dev/null +++ b/code/modules/surgery/organs/external/wings.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/surgery/organs/external/wings.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/organs/external/wings.dm + +

+ + + + + +
/obj/item/organ/wingsWing base type. doesn't really do anything
/obj/item/organ/wings/functionalThe true wings that you can use to fly and shit (you cant actually shit with them)
/datum/action/innate/flighthud action for starting and stopping flight
/obj/item/organ/wings/mothMoth wings! They can flutter in low-grav and burn off in heat
+ + + diff --git a/code/modules/surgery/organs/eyes.html b/code/modules/surgery/organs/eyes.html new file mode 100644 index 000000000000..0599ddc2ca48 --- /dev/null +++ b/code/modules/surgery/organs/eyes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/organs/eyes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/surgery/organs/eyes.dm + +

+ + +
/obj/item/organ/eyes/roboticRobotic
+ + + diff --git a/code/modules/tables/tables_racks.html b/code/modules/tables/tables_racks.html new file mode 100644 index 000000000000..52e4438dc7cd --- /dev/null +++ b/code/modules/tables/tables_racks.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/tables/tables_racks.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tables/tables_racks.dm + +

+ + +
/obj/structure/table/rollingTable on wheels
+ + + diff --git a/code/modules/tgchat/message.html b/code/modules/tgchat/message.html new file mode 100644 index 000000000000..a78277a14922 --- /dev/null +++ b/code/modules/tgchat/message.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgchat/message.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgchat/message.dm + +

+ + + +
/proc/message_to_htmlMessage-related procs
+ + + diff --git a/code/modules/tgchat/to_chat.html b/code/modules/tgchat/to_chat.html new file mode 100644 index 000000000000..f53188ebb818 --- /dev/null +++ b/code/modules/tgchat/to_chat.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgchat/to_chat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgchat/to_chat.dm + +

+ + + + + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/proc/to_chat_immediateCircumvents the message queue and sends the message +to the recipient (target) as soon as possible.
/proc/to_chatSends the message to the recipient (target).
+ + + diff --git a/code/modules/tgs.html b/code/modules/tgs.html new file mode 100644 index 000000000000..3a8c12637c35 --- /dev/null +++ b/code/modules/tgs.html @@ -0,0 +1,40 @@ + + + + + + + code/modules/tgs/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

DMAPI Internals + +

+ + +

This folder should be placed on its own inside a codebase that wishes to use the TGS DMAPI. Warranty void if modified.

+
    +
  • includes.dm is the file that should be included by DM code, it handles including the rest.
  • +
  • The core folder includes all code not directly part of any API version.
  • +
  • The other versioned folders contain code for the different DMAPI versions. +
      +
    • v3210 contains the final TGS3 API.
    • +
    • v4 is the legacy DMAPI 4 (Used in TGS 4.0.X versions).
    • +
    • v5 is the current DMAPI version used by TGS >=4.1.
    • +
    +
  • +
  • LICENSE is the MIT license for the DMAPI.
  • +
+

APIs communicate with TGS in two ways. All versions implement TGS -> DM communication using /world/Topic. DM -> TGS communication, called the bridge method, is different for each version.

+ + + diff --git a/code/modules/tgs/core.html b/code/modules/tgs/core.html new file mode 100644 index 000000000000..6434d09c778a --- /dev/null +++ b/code/modules/tgs/core.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/tgs/core/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Core DMAPI functions + +

+ + +

This folder contains all DMAPI code not directly involved in an API.

+
    +
  • _definitions.dm contains defines needed across DMAPI internals.
  • +
  • byond_world_export.dm contains the default /datum/tgs_http_handler implementation which uses world.Export().
  • +
  • core.dm contains the implementations of the /world/proc/TgsXXX() procs. Many map directly to the /datum/tgs_api functions. It also contains the /datum selection and setup code.
  • +
  • datum.dm contains the /datum/tgs_api declarations that all APIs must implement.
  • +
  • tgs_version.dm contains the /datum/tgs_version definition
  • +
+ + + diff --git a/code/modules/tgs/v3210.html b/code/modules/tgs/v3210.html new file mode 100644 index 000000000000..3a938f4e034e --- /dev/null +++ b/code/modules/tgs/v3210.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/tgs/v3210/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

DMAPI V3 + +

+ + +

This DMAPI implements bridge using file output which TGS monitors for.

+
    +
  • api.dm contains the bulk of the API code.
  • +
  • commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
+ + + diff --git a/code/modules/tgs/v4.html b/code/modules/tgs/v4.html new file mode 100644 index 000000000000..eeb5f19006e8 --- /dev/null +++ b/code/modules/tgs/v4.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/tgs/v4/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

DMAPI V4 + +

+ + +

This DMAPI implements bridge requests using file output which TGS monitors for. It has a safe mode restriction.

+
    +
  • api.dm contains the bulk of the API code.
  • +
  • commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
+ + + diff --git a/code/modules/tgs/v5.html b/code/modules/tgs/v5.html new file mode 100644 index 000000000000..115ff0e4165e --- /dev/null +++ b/code/modules/tgs/v5.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/tgs/v5/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

DMAPI V5 + +

+ + +

This DMAPI implements bridge requests using HTTP GET requests to TGS. It has no security restrictions.

+
    +
  • __interop_version.dm contains the version of the API used between the DMAPI and TGS.
  • +
  • _defines.dm contains constant definitions.
  • +
  • api.dm contains the bulk of the API code.
  • +
  • bridge.dm contains functions related to making bridge requests.
  • +
  • chunking.dm contains common function for splitting large raw data sets into chunks BYOND can natively process.
  • +
  • commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
  • serializers.dm contains function to help convert interop /datums into a JSON encodable list() format.
  • +
  • topic.dm contains functions related to processing topic requests.
  • +
  • undefs.dm Undoes the work of _defines.dm.
  • +
+ + + diff --git a/code/modules/tgui/external.html b/code/modules/tgui/external.html new file mode 100644 index 000000000000..8fa369951236 --- /dev/null +++ b/code/modules/tgui/external.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/tgui/external.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/external.dm + +

+ + + + +

External tgui definitions, such as src_object APIs.

+

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/proc/tgui_TopicMiddleware for /client/Topic.
+ + + diff --git a/code/modules/tgui/states.html b/code/modules/tgui/states.html new file mode 100644 index 000000000000..f45ba97b76cf --- /dev/null +++ b/code/modules/tgui/states.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/tgui/states.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states.dm + +

+ + +

Base state and helpers for states. Just does some sanity checks, +implement a proper state for in-depth checks.

+

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/admin.html b/code/modules/tgui/states/admin.html new file mode 100644 index 000000000000..6b2c95ffb5f3 --- /dev/null +++ b/code/modules/tgui/states/admin.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/admin.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/admin.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/always.html b/code/modules/tgui/states/always.html new file mode 100644 index 000000000000..b6f4046e58b4 --- /dev/null +++ b/code/modules/tgui/states/always.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/always.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/always.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/conscious.html b/code/modules/tgui/states/conscious.html new file mode 100644 index 000000000000..28b863a26132 --- /dev/null +++ b/code/modules/tgui/states/conscious.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/conscious.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/conscious.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/contained.html b/code/modules/tgui/states/contained.html new file mode 100644 index 000000000000..17c28ffe6a98 --- /dev/null +++ b/code/modules/tgui/states/contained.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/contained.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/contained.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/deep_inventory.html b/code/modules/tgui/states/deep_inventory.html new file mode 100644 index 000000000000..bc369f979a38 --- /dev/null +++ b/code/modules/tgui/states/deep_inventory.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/deep_inventory.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/deep_inventory.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/default.html b/code/modules/tgui/states/default.html new file mode 100644 index 000000000000..f7fb91994fcc --- /dev/null +++ b/code/modules/tgui/states/default.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/default.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/default.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/hands.html b/code/modules/tgui/states/hands.html new file mode 100644 index 000000000000..b855ced3f5e0 --- /dev/null +++ b/code/modules/tgui/states/hands.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/hands.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/hands.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/human_adjacent.html b/code/modules/tgui/states/human_adjacent.html new file mode 100644 index 000000000000..9ee9763be02b --- /dev/null +++ b/code/modules/tgui/states/human_adjacent.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/human_adjacent.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/human_adjacent.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/inventory.html b/code/modules/tgui/states/inventory.html new file mode 100644 index 000000000000..b1e7b727dd81 --- /dev/null +++ b/code/modules/tgui/states/inventory.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/inventory.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/inventory.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/language_menu.html b/code/modules/tgui/states/language_menu.html new file mode 100644 index 000000000000..56d029230266 --- /dev/null +++ b/code/modules/tgui/states/language_menu.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/language_menu.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/language_menu.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/never.html b/code/modules/tgui/states/never.html new file mode 100644 index 000000000000..fe7d46cd647d --- /dev/null +++ b/code/modules/tgui/states/never.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/never.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/never.dm + +

+ + +

Copyright (c) 2021 Arm A. Hammer +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/not_incapacitated.html b/code/modules/tgui/states/not_incapacitated.html new file mode 100644 index 000000000000..ed291158d114 --- /dev/null +++ b/code/modules/tgui/states/not_incapacitated.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/not_incapacitated.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/not_incapacitated.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/notcontained.html b/code/modules/tgui/states/notcontained.html new file mode 100644 index 000000000000..3e0118a7bd35 --- /dev/null +++ b/code/modules/tgui/states/notcontained.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/notcontained.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/notcontained.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/observer.html b/code/modules/tgui/states/observer.html new file mode 100644 index 000000000000..9fad28a71689 --- /dev/null +++ b/code/modules/tgui/states/observer.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/observer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/observer.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/physical.html b/code/modules/tgui/states/physical.html new file mode 100644 index 000000000000..f070acef60bf --- /dev/null +++ b/code/modules/tgui/states/physical.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/physical.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/physical.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/reverse_contained.html b/code/modules/tgui/states/reverse_contained.html new file mode 100644 index 000000000000..3a52a7eb047c --- /dev/null +++ b/code/modules/tgui/states/reverse_contained.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/tgui/states/reverse_contained.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/reverse_contained.dm + +

+ + +

Not copyrighted, but magatsuchi made it.

+ + + diff --git a/code/modules/tgui/states/self.html b/code/modules/tgui/states/self.html new file mode 100644 index 000000000000..eba2f117bce4 --- /dev/null +++ b/code/modules/tgui/states/self.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/self.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/self.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/zlevel.html b/code/modules/tgui/states/zlevel.html new file mode 100644 index 000000000000..542eeff45f6c --- /dev/null +++ b/code/modules/tgui/states/zlevel.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/zlevel.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/states/zlevel.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/status_composers.html b/code/modules/tgui/status_composers.html new file mode 100644 index 000000000000..f017ecdf156c --- /dev/null +++ b/code/modules/tgui/status_composers.html @@ -0,0 +1,56 @@ + + + + + + + code/modules/tgui/status_composers.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/status_composers.dm + +

+ + + + + + + + + + + + + + + + + + + +
/proc/default_ui_stateThe sane defaults for a UI such as a computer or a machine.
/proc/ui_status_user_is_adjacentReturns a UI status such that users adjacent to source will be able to interact, +far away users will be able to see, and anyone farther won't see anything. +Dead users will receive updates no matter what, though you likely want to add +a [ui_status_only_living] check for finer observer interactions.
/proc/ui_status_only_livingReturns a UI status such that the dead will be able to watch, but not interact.
/proc/ui_status_user_is_abledReturns a UI status such that users with debilitating conditions, such as +being dead or not having power for silicons, will not be able to interact. +Being dead will disable UI, being incapacitated will continue updating it, +and anything else will make it interactive.
/proc/ui_status_user_has_free_handsReturns a UI status such that those without blocked hands will be able to interact, +but everyone else can only watch.
/proc/ui_status_user_is_advanced_tool_userReturns a UI status such that advanced tool users will be able to interact, +but everyone else can only watch.
/proc/ui_status_silicon_has_accessReturns a UI status such that silicons will be able to interact with whatever +they would have access to if this was a machine. For example, AIs can +interact if there's cameras with wireless control is enabled.
/proc/ui_status_user_is_conscious_and_lying_downReturns UI_INTERACTIVE if the user is conscious and lying down. +Returns UI_UPDATE otherwise.
/proc/ui_status_user_strictly_adjacentReturn UI_INTERACTIVE if the user is strictly adjacent to the target atom, whether they can see it or not. +Return UI_CLOSE otherwise.
+ + + diff --git a/code/modules/tgui/tgui.html b/code/modules/tgui/tgui.html new file mode 100644 index 000000000000..eb6e6d72f80f --- /dev/null +++ b/code/modules/tgui/tgui.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/tgui/tgui.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/tgui.dm + +

+ + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/datum/tguitgui datum (represents a UI).
+ + + diff --git a/code/modules/tgui/tgui_alert.html b/code/modules/tgui/tgui_alert.html new file mode 100644 index 000000000000..df509de7feb1 --- /dev/null +++ b/code/modules/tgui/tgui_alert.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgui/tgui_alert.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/tgui_alert.dm + +

+ + + + + + + +
/proc/tgui_alertCreates a TGUI alert window and returns the user's response.
/proc/tgui_alert_asyncCreates an asynchronous TGUI alert window with an associated callback.
/datum/tgui_modalDatum used for instantiating and using a TGUI-controlled modal that prompts the user with +a message and has buttons for responses.
/datum/tgui_modal/asyncAn asynchronous version of tgui_modal to be used with callbacks instead of waiting on user responses.
+ + + diff --git a/code/modules/tgui/tgui_input_list.html b/code/modules/tgui/tgui_input_list.html new file mode 100644 index 000000000000..24f811ce4e57 --- /dev/null +++ b/code/modules/tgui/tgui_input_list.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgui/tgui_input_list.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/tgui_input_list.dm + +

+ + + + + + + +
/proc/tgui_input_listCreates a TGUI input list window and returns the user's response.
/proc/tgui_input_list_asyncClient does NOT have tgui_input on: Returns regular input +Creates an asynchronous TGUI input list window with an associated callback.
/datum/tgui_list_inputClient does NOT have tgui_input on: Returns regular input
/datum/tgui_list_input/asyncAn asynchronous version of tgui_list_input to be used with callbacks instead of waiting on user responses.
+ + + diff --git a/code/modules/tgui/tgui_input_number.html b/code/modules/tgui/tgui_input_number.html new file mode 100644 index 000000000000..97d957e5e655 --- /dev/null +++ b/code/modules/tgui/tgui_input_number.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgui/tgui_input_number.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/tgui_input_number.dm + +

+ + + + + + + +
/proc/tgui_input_numberCreates a TGUI window with a number input. Returns the user's response as num | null.
/proc/tgui_input_number_asyncCreates an asynchronous TGUI number input window with an associated callback.
/datum/tgui_input_numberDatum used for instantiating and using a TGUI-controlled number input that prompts the user with +a message and has an input for number entry.
/datum/tgui_input_number/asyncAn asynchronous version of tgui_input_number to be used with callbacks instead of waiting on user responses.
+ + + diff --git a/code/modules/tgui/tgui_input_text.html b/code/modules/tgui/tgui_input_text.html new file mode 100644 index 000000000000..83f77b9e2610 --- /dev/null +++ b/code/modules/tgui/tgui_input_text.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgui/tgui_input_text.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/tgui_input_text.dm + +

+ + + + + + + +
/proc/tgui_input_textCreates a TGUI window with a text input. Returns the user's response.
/proc/tgui_input_text_asyncCreates an asynchronous TGUI text input window with an associated callback.
/datum/tgui_input_textDatum used for instantiating and using a TGUI-controlled text input that prompts the user with +a message and has an input for text entry.
/datum/tgui_input_text/asyncAn asynchronous version of tgui_input_text to be used with callbacks instead of waiting on user responses.
+ + + diff --git a/code/modules/tgui/tgui_window.html b/code/modules/tgui/tgui_window.html new file mode 100644 index 000000000000..be022beb93fe --- /dev/null +++ b/code/modules/tgui/tgui_window.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/tgui_window.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui/tgui_window.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui_panel/audio.html b/code/modules/tgui_panel/audio.html new file mode 100644 index 000000000000..4d09e428be8d --- /dev/null +++ b/code/modules/tgui_panel/audio.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui_panel/audio.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui_panel/audio.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui_panel/external.html b/code/modules/tgui_panel/external.html new file mode 100644 index 000000000000..a346a49546ae --- /dev/null +++ b/code/modules/tgui_panel/external.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui_panel/external.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui_panel/external.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui_panel/telemetry.html b/code/modules/tgui_panel/telemetry.html new file mode 100644 index 000000000000..566206d4b512 --- /dev/null +++ b/code/modules/tgui_panel/telemetry.html @@ -0,0 +1,41 @@ + + + + + + + code/modules/tgui_panel/telemetry.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/tgui_panel/telemetry.dm + +

+ + + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

TGUI_TELEMETRY_MAX_CONNECTIONSMaximum number of connection records allowed to analyze. +Should match the value set in the browser.
TGUI_TELEMETRY_RESPONSE_WINDOWMaximum time allocated for sending a telemetry packet.

Define Details

+

TGUI_TELEMETRY_MAX_CONNECTIONS + + +

+

Maximum number of connection records allowed to analyze. +Should match the value set in the browser.

TGUI_TELEMETRY_RESPONSE_WINDOW + + +

+

Maximum time allocated for sending a telemetry packet.

+ + + diff --git a/code/modules/tgui_panel/tgui_panel.html b/code/modules/tgui_panel/tgui_panel.html new file mode 100644 index 000000000000..b38cc9acdf02 --- /dev/null +++ b/code/modules/tgui_panel/tgui_panel.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/tgui_panel/tgui_panel.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/tgui_panel/tgui_panel.dm + +

+ + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/datum/tgui_paneltgui_panel datum +Hosts tgchat and other nice features.
+ + + diff --git a/code/modules/three_dsix/roll.html b/code/modules/three_dsix/roll.html new file mode 100644 index 000000000000..b4043ffb4155 --- /dev/null +++ b/code/modules/three_dsix/roll.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/three_dsix/roll.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/three_dsix/roll.dm + +

+ + + + + +
/proc/dice_probabilityReturns a number between 0 and 100 to roll the desired value when rolling the given dice.
/proc/dice_outcome_mapCertified LummoxJR code, this returns an array which is a map of outcomes to roll [index] value.
+ + + diff --git a/code/modules/unit_tests.html b/code/modules/unit_tests.html new file mode 100644 index 000000000000..fffb2f21c35d --- /dev/null +++ b/code/modules/unit_tests.html @@ -0,0 +1,74 @@ + + + + + + + code/modules/unit_tests/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Unit Tests + +

+ + +
What is unit testing? +

Unit tests are automated code to verify that parts of the game work exactly as they should. For example, a test to make sure that the amputation surgery actually amputates the limb. These are ran every time a PR is made, and thus are very helpful for preventing bugs from cropping up in your code that would've otherwise gone unnoticed. For example, would you have thought to check that beach boys would still work the same after editing pizza? If you value your time, probably not.

+

On their most basic level, when UNIT_TESTS is defined, all subtypes of /datum/unit_test will have their Run proc executed. From here, if Fail is called at any point, then the tests will report as failed.

+How do I write one? +
    +
  1. Find a relevant file.
  2. +
+

All unit test related code is in code/modules/unit_tests. If you are adding a new test for a surgery, for example, then you'd open surgeries.dm. If a relevant file does not exist, simply create one in this folder, then #include it in _unit_tests.dm.

+
    +
  1. Create the unit test.
  2. +
+

To make a new unit test, you simply need to define a /datum/unit_test.

+

For example, let's suppose that we are creating a test to make sure a proc square correctly raises inputs to the power of two. We'd start with first:

+
/datum/unit_test/square/Run()
+
+

This defines our new unit test, /datum/unit_test/square. Inside this function, we're then going to run through whatever we want to check. Tests provide a few assertion functions to make this easy. For now, we're going to use TEST_ASSERT_EQUAL.

+
/datum/unit_test/square/Run()
+    TEST_ASSERT_EQUAL(square(3), 9, "square(3) did not return 9")
+    TEST_ASSERT_EQUAL(square(4), 16, "square(4) did not return 16")
+
+

As you can hopefully tell, we're simply checking if the output of square matches the output we are expecting. If the test fails, it'll report the error message given as well as whatever the actual output was.

+
    +
  1. Run the unit test
  2. +
+

Open code/_compile_options.dm and uncomment the following line.

+
//#define UNIT_TESTS			//If this is uncommented, we do a single run though of the game setup and tear down process with unit tests in between
+
+

Then, run daedalus.dmb in Dream Daemon. Don't bother trying to connect, you won't need to. You'll be able to see the outputs of all the tests. You'll get to see which tests failed and for what reason. If they all pass, you're set!

+How to think about tests +

Unit tests exist to prevent bugs that would happen in a real game. Thus, they should attempt to emulate the game world wherever possible. For example, the quick swap sanity test emulates a real scenario of the bug it fixed occurring by creating a character and giving it real items. The unrecommended alternative would be to create special test-only items. This isn't a hard rule, the reagent method exposure tests create a test-only reagent for example, but do keep it in mind.

+

Unit tests should also be just that--testing units of code. For example, instead of having one massive test for reagents, there are instead several smaller tests for testing exposure, metabolization, etc.

+The unit testing API +

You can find more information about all of these from their respective doc comments, but for a brief overview:

+

/datum/unit_test - The base for all tests to be ran. Subtypes must override Run(). New() and Destroy() can be used for setup and teardown. To fail, use TEST_FAIL(reason).

+

/datum/unit_test/proc/allocate(type, ...) - Allocates an instance of the provided type with the given arguments. Is automatically destroyed when the test is over. Commonly seen in the form of var/mob/living/carbon/human/human = allocate(/mob/living/carbon/human).

+

TEST_FAIL(reason) - Marks a failure at this location, but does not stop the test.

+

TEST_ASSERT(assertion, reason) - Stops the unit test and fails if the assertion is not met. For example: TEST_ASSERT(powered(), "Machine is not powered").

+

TEST_ASSERT_NOTNULL(a, message) - Same as TEST_ASSERT, but checks if !isnull(a). For example: TEST_ASSERT_NOTNULL(myatom, "My atom was never set!").

+

TEST_ASSERT_NULL(a, message) - Same as TEST_ASSERT, but checks if isnull(a). If not, gives a helpful message showing what a was. For example: TEST_ASSERT_NULL(delme, "Delme was never cleaned up!").

+

TEST_ASSERT_EQUAL(a, b, message) - Same as TEST_ASSERT, but checks if a == b. If not, gives a helpful message showing what both a and b were. For example: TEST_ASSERT_EQUAL(2 + 2, 4, "The universe is falling apart before our eyes!").

+

TEST_ASSERT_NOTEQUAL(a, b, message) - Same as TEST_ASSERT_EQUAL, but reversed.

+

TEST_FOCUS(test_path) - Only run the test provided within the parameters. Useful for reducing noise. For example, if we only want to run our example square test, we can add TEST_FOCUS(/datum/unit_test/square). Should never be pushed in a pull request--you will be laughed at.

+Final Notes +
    +
  • Writing tests before you attempt to fix the bug can actually speed up development a lot! It means you don't have to go in game and folllow the same exact steps manually every time. This process is known as "TDD" (test driven development). Write the test first, make sure it fails, then start work on the fix/feature, and you'll know you're done when your tests pass. If you do try this, do make sure to confirm in a non-testing environment just to double check.
  • +
  • Make sure that your tests don't accidentally call RNG functions like prob. Since RNG is seeded during tests, you may not realize you have until someone else makes a PR and the tests fail!
  • +
  • Do your best not to change the behavior of non-testing code during tests. While it may sometimes be necessary in the case of situations such as the above, it is still a slippery slope that can lead to the code you're testing being too different from the production environment to be useful.
  • +
+ + + diff --git a/code/modules/unit_tests/_unit_tests.html b/code/modules/unit_tests/_unit_tests.html new file mode 100644 index 000000000000..ea0381b77b48 --- /dev/null +++ b/code/modules/unit_tests/_unit_tests.html @@ -0,0 +1,101 @@ + + + + + + + code/modules/unit_tests/_unit_tests.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/unit_tests/_unit_tests.dm + +

+ + + + + + + + + + + + +
TEST_FAILFor advanced cases, fail unconditionally but don't return (so a test can return multiple results)
TEST_ASSERTAsserts that a condition is true +If the condition is not true, fails the test
TEST_ASSERT_NOTNULLAsserts that a parameter is not null
TEST_ASSERT_NULLAsserts that a parameter is null
TEST_ASSERT_EQUALAsserts that the two parameters passed are equal, fails otherwise +Optionally allows an additional message in the case of a failure
TEST_ASSERT_NOTEQUALAsserts that the two parameters passed are not equal, fails otherwise +Optionally allows an additional message in the case of a failure
TEST_FOCUSOnly run the test provided within the parentheses +This is useful for debugging when you want to reduce noise, but should never be pushed +Intended to be used in the manner of TEST_FOCUS(/datum/unit_test/math)
UNIT_TEST_PASSEDConstants indicating unit test completion status
TEST_LONGERAfter most test steps, used for tests that run long so shorter issues can be noticed faster
TEST_DEL_WORLDThis must be the last test to run due to the inherent nature of the test iterating every single tangible atom in the game +and qdeleting all of them (while taking long sleeps to make sure the garbage collector fires properly) taking a large amount of time.
TRAIT_SOURCE_UNIT_TESTSA trait source when adding traits through unit tests

Define Details

+

TEST_ASSERT + + + +

+

Asserts that a condition is true +If the condition is not true, fails the test

TEST_ASSERT_EQUAL + + + +

+

Asserts that the two parameters passed are equal, fails otherwise +Optionally allows an additional message in the case of a failure

TEST_ASSERT_NOTEQUAL + + + +

+

Asserts that the two parameters passed are not equal, fails otherwise +Optionally allows an additional message in the case of a failure

TEST_ASSERT_NOTNULL + + + +

+

Asserts that a parameter is not null

TEST_ASSERT_NULL + + + +

+

Asserts that a parameter is null

TEST_DEL_WORLD + + +

+

This must be the last test to run due to the inherent nature of the test iterating every single tangible atom in the game +and qdeleting all of them (while taking long sleeps to make sure the garbage collector fires properly) taking a large amount of time.

TEST_FAIL + + + +

+

For advanced cases, fail unconditionally but don't return (so a test can return multiple results)

TEST_FOCUS + + + +

+

Only run the test provided within the parentheses +This is useful for debugging when you want to reduce noise, but should never be pushed +Intended to be used in the manner of TEST_FOCUS(/datum/unit_test/math)

TEST_LONGER + + +

+

After most test steps, used for tests that run long so shorter issues can be noticed faster

TRAIT_SOURCE_UNIT_TESTS + + +

+

A trait source when adding traits through unit tests

UNIT_TEST_PASSED + + +

+

Constants indicating unit test completion status

+ + + diff --git a/code/modules/unit_tests/achievements.html b/code/modules/unit_tests/achievements.html new file mode 100644 index 000000000000..1daa9acc72e5 --- /dev/null +++ b/code/modules/unit_tests/achievements.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/achievements.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/achievements.dm + +

+ + +
/datum/unit_test/achievementsChecks that all achievements have an existing icon state in the achievements icon file.
+ + + diff --git a/code/modules/unit_tests/anonymous_themes.html b/code/modules/unit_tests/anonymous_themes.html new file mode 100644 index 000000000000..d7003d88e505 --- /dev/null +++ b/code/modules/unit_tests/anonymous_themes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/anonymous_themes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/anonymous_themes.dm + +

+ + +
/datum/unit_test/anonymous_themesEnsure that anonymous themes works without changing your preferences
+ + + diff --git a/code/modules/unit_tests/area_contents.html b/code/modules/unit_tests/area_contents.html new file mode 100644 index 000000000000..d6e805f85a03 --- /dev/null +++ b/code/modules/unit_tests/area_contents.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/area_contents.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/area_contents.dm + +

+ + +
/datum/unit_test/area_contentsVerifies that an area's perception of their "turfs" is correct, and no other area overlaps with them +Quite slow, but needed
+ + + diff --git a/code/modules/unit_tests/autowiki.html b/code/modules/unit_tests/autowiki.html new file mode 100644 index 000000000000..c46af23592c4 --- /dev/null +++ b/code/modules/unit_tests/autowiki.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/autowiki.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/autowiki.dm + +

+ + + +
/datum/unit_test/autowikiTests that all autowikis generate something without runtiming
/datum/unit_test/autowiki_include_templateTest that include_template produces reasonable results
+ + + diff --git a/code/modules/unit_tests/baseturfs.html b/code/modules/unit_tests/baseturfs.html new file mode 100644 index 000000000000..031bac6e9c75 --- /dev/null +++ b/code/modules/unit_tests/baseturfs.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/baseturfs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/baseturfs.dm + +

+ + + + +
/datum/unit_test/baseturfs_unmodified_scrapeValidates that unmodified baseturfs tear down properly
/datum/unit_test/baseturfs_placed_on_topValidates that specially placed baseturfs tear down properly
/datum/unit_test/baseturfs_placed_on_bottomValidates that specially placed baseturfs BELOW tear down properly
+ + + diff --git a/code/modules/unit_tests/bloody_footprints.html b/code/modules/unit_tests/bloody_footprints.html new file mode 100644 index 000000000000..d23821a2cfaa --- /dev/null +++ b/code/modules/unit_tests/bloody_footprints.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/bloody_footprints.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/bloody_footprints.dm + +

+ + +
/datum/unit_test/bloody_footprintsTests to make sure bloody footprits work as expected +So no stacking, they actually apply, and shoe staining thrown in for free
+ + + diff --git a/code/modules/unit_tests/breath.html b/code/modules/unit_tests/breath.html new file mode 100644 index 000000000000..fc723594b8e8 --- /dev/null +++ b/code/modules/unit_tests/breath.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/unit_tests/breath.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/breath.dm + +

+ + + +
/datum/unit_test/breath_sanityTests to make sure humans can breath in normal situations +Built to prevent regression on an issue surrounding QUANTIZE() and BREATH_VOLUME +See the comment on BREATH_VOLUME for more details
/datum/unit_test/breath_sanity_plasmamenTests to make sure plasmaman can breath from their internal tanks
+ + + diff --git a/code/modules/unit_tests/chat_filter.html b/code/modules/unit_tests/chat_filter.html new file mode 100644 index 000000000000..8e3d162084e2 --- /dev/null +++ b/code/modules/unit_tests/chat_filter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/chat_filter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/chat_filter.dm + +

+ + +
/datum/unit_test/chat_filter_sanityTests the sanity of the chat filter, ensuring it properly blocks words and gives the reason
+ + + diff --git a/code/modules/unit_tests/circuit_component_category.html b/code/modules/unit_tests/circuit_component_category.html new file mode 100644 index 000000000000..fc48e8c2ed16 --- /dev/null +++ b/code/modules/unit_tests/circuit_component_category.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/circuit_component_category.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/circuit_component_category.dm + +

+ + +
/datum/unit_test/circuit_component_categoryTests to make sure each circuit component that could potentially be available to a player has a category
+ + + diff --git a/code/modules/unit_tests/closets.html b/code/modules/unit_tests/closets.html new file mode 100644 index 000000000000..367017c2fe71 --- /dev/null +++ b/code/modules/unit_tests/closets.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/closets.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/closets.dm + +

+ + +
/datum/unit_test/closetsChecks that the length of the initial contents of a closet doesn't exceed its storage capacity
+ + + diff --git a/code/modules/unit_tests/combat.html b/code/modules/unit_tests/combat.html new file mode 100644 index 000000000000..dd893fe2976e --- /dev/null +++ b/code/modules/unit_tests/combat.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/combat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/combat.dm + +

+ + + + +
/datum/unit_test/self_punchTests you can punch yourself
/datum/unit_test/handcuff_punchTests handcuffed (HANDS_BLOCKED) mobs cannot punch
/datum/unit_test/handcuff_biteTests handcuffed (HANDS_BLOCKED) monkeys can still bite despite being cuffed
+ + + diff --git a/code/modules/unit_tests/connect_loc.html b/code/modules/unit_tests/connect_loc.html new file mode 100644 index 000000000000..49b525e6b3d8 --- /dev/null +++ b/code/modules/unit_tests/connect_loc.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/connect_loc.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/connect_loc.dm + +

+ + + + +
/datum/unit_test/connect_loc_basicTest that the connect_loc element handles basic movement cases
/datum/unit_test/connect_loc_change_turfTest that the connect_loc element handles turf changes
/datum/unit_test/connect_loc_multiple_on_turfTests that multiple objects can have connect_loc on the same turf without runtimes.
+ + + diff --git a/code/modules/unit_tests/crayons.html b/code/modules/unit_tests/crayons.html new file mode 100644 index 000000000000..d70e3c003ee6 --- /dev/null +++ b/code/modules/unit_tests/crayons.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/crayons.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/crayons.dm + +

+ + +
/datum/unit_test/crayon_namingMakes sure that crayons have their crayon_color in their initial name (to differentiate them in the crafting menu).
+ + + diff --git a/code/modules/unit_tests/create_and_destroy.html b/code/modules/unit_tests/create_and_destroy.html new file mode 100644 index 000000000000..9c4c0a2130d4 --- /dev/null +++ b/code/modules/unit_tests/create_and_destroy.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/create_and_destroy.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/create_and_destroy.dm + +

+ + +
/datum/unit_test/create_and_destroyDelete one of every type, sleep a while, then check to see if anything has gone fucky
+ + + diff --git a/code/modules/unit_tests/dcs_get_id_from_elements.html b/code/modules/unit_tests/dcs_get_id_from_elements.html new file mode 100644 index 000000000000..c19a702cf932 --- /dev/null +++ b/code/modules/unit_tests/dcs_get_id_from_elements.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/dcs_get_id_from_elements.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/dcs_get_id_from_elements.dm + +

+ + +
/datum/unit_test/dcs_get_id_from_argumentsTests that DCS' GetIdFromArguments works as expected with standard and odd cases
+ + + diff --git a/code/modules/unit_tests/dummy_spawn.html b/code/modules/unit_tests/dummy_spawn.html new file mode 100644 index 000000000000..e80e277069dd --- /dev/null +++ b/code/modules/unit_tests/dummy_spawn.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/unit_tests/dummy_spawn.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/dummy_spawn.dm + +

+ + + +
/datum/unit_test/dummy_spawn_speciesThis set of tests is focused on ensuring the stability of preference dummies +And by extension the hacks built to make them fast +Organ consistency, object pooling via the wardrobe ss, etc
/datum/unit_test/dummy_spawn_outfitEquips and devests our dummy of one of every job outfit
+ + + diff --git a/code/modules/unit_tests/dynamic_ruleset_sanity.html b/code/modules/unit_tests/dynamic_ruleset_sanity.html new file mode 100644 index 000000000000..ff4c2ca2b43c --- /dev/null +++ b/code/modules/unit_tests/dynamic_ruleset_sanity.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/dynamic_ruleset_sanity.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/dynamic_ruleset_sanity.dm + +

+ + + +
/datum/unit_test/dynamic_roundstart_ruleset_sanityVerifies that roundstart dynamic rulesets are setup properly without external configuration.
/datum/unit_test/dynamic_unique_antag_flagsVerifies that dynamic rulesets have unique antag_flag.
+ + + diff --git a/code/modules/unit_tests/egg_glands.html b/code/modules/unit_tests/egg_glands.html new file mode 100644 index 000000000000..a6898a1590c1 --- /dev/null +++ b/code/modules/unit_tests/egg_glands.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/egg_glands.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/egg_glands.dm + +

+ + +
/datum/unit_test/egg_glandsVerifies that all glands for an egg are valid
+ + + diff --git a/code/modules/unit_tests/food_edibility_check.html b/code/modules/unit_tests/food_edibility_check.html new file mode 100644 index 000000000000..097710b1d354 --- /dev/null +++ b/code/modules/unit_tests/food_edibility_check.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/food_edibility_check.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/food_edibility_check.dm + +

+ + +
/datum/unit_test/food_edibility_checkMakes sure that spawned food has reagents and the edible component (or else it can't be eaten).
+ + + diff --git a/code/modules/unit_tests/gas_transfer.html b/code/modules/unit_tests/gas_transfer.html new file mode 100644 index 000000000000..0d5f88d77d3b --- /dev/null +++ b/code/modules/unit_tests/gas_transfer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/gas_transfer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/gas_transfer.dm + +

+ + +
/datum/unit_test/atmospheric_gas_transferTest to make sure the pressure pumping proc used by things like portable pumps, pressure pumps, etc actually work.
+ + + diff --git a/code/modules/unit_tests/get_turf_pixel.html b/code/modules/unit_tests/get_turf_pixel.html new file mode 100644 index 000000000000..735b027673bc --- /dev/null +++ b/code/modules/unit_tests/get_turf_pixel.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/get_turf_pixel.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/get_turf_pixel.dm + +

+ + +
/datum/unit_test/get_turf_pixelensures that get_turf_pixel() returns turfs within the bounds of the map, +even when called on a movable with its sprite out of bounds
+ + + diff --git a/code/modules/unit_tests/greyscale_config.html b/code/modules/unit_tests/greyscale_config.html new file mode 100644 index 000000000000..15d572514ec7 --- /dev/null +++ b/code/modules/unit_tests/greyscale_config.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/greyscale_config.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/greyscale_config.dm + +

+ + + +
/datum/unit_test/greyscale_item_icon_statesMakes sure items using GAGS have all the icon states needed to work
/datum/unit_test/greyscale_color_countMakes sure objects using greyscale configs have, if any, the correct number of colors
+ + + diff --git a/code/modules/unit_tests/hulk.html b/code/modules/unit_tests/hulk.html new file mode 100644 index 000000000000..ddc3dec26da0 --- /dev/null +++ b/code/modules/unit_tests/hulk.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/hulk.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/hulk.dm + +

+ + + +
/datum/unit_test/hulk_attackTests hulk attacking over normal attacking
/datum/unit_test/hulk_north_starTests that hulks aren't given rapid attacks from rapid attack gloves
+ + + diff --git a/code/modules/unit_tests/hydroponics_extractor_storage.html b/code/modules/unit_tests/hydroponics_extractor_storage.html new file mode 100644 index 000000000000..16fc86f964c9 --- /dev/null +++ b/code/modules/unit_tests/hydroponics_extractor_storage.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/hydroponics_extractor_storage.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/hydroponics_extractor_storage.dm + +

+ + +
/datum/unit_test/hydroponics_extractor_storageUnit test to ensure seeds can properly be added to the plant seed extractor through multiple methods. +This only tests transferring seeds to the storage, it does NOT test creating seeds.
+ + + diff --git a/code/modules/unit_tests/hydroponics_self_mutations.html b/code/modules/unit_tests/hydroponics_self_mutations.html new file mode 100644 index 000000000000..42991e63a978 --- /dev/null +++ b/code/modules/unit_tests/hydroponics_self_mutations.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/hydroponics_self_mutations.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/hydroponics_self_mutations.dm + +

+ + +
/datum/unit_test/hydroponics_self_mutationUnit test to ensure plants can't self-mutate into themselves.
+ + + diff --git a/code/modules/unit_tests/knockoff_component.html b/code/modules/unit_tests/knockoff_component.html new file mode 100644 index 000000000000..df536772afc8 --- /dev/null +++ b/code/modules/unit_tests/knockoff_component.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/knockoff_component.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/knockoff_component.dm + +

+ + +
/datum/unit_test/knockoff_componentTest that the knockoff component will properly cause something +with it applied to be knocked off when it should be.
+ + + diff --git a/code/modules/unit_tests/load_map_security.html b/code/modules/unit_tests/load_map_security.html new file mode 100644 index 000000000000..bdb6b6f8af99 --- /dev/null +++ b/code/modules/unit_tests/load_map_security.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/load_map_security.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/load_map_security.dm + +

+ + +
/datum/unit_test/load_map_securityTests to ensure we can load a map from a whitelisted directory (_maps), but not a non-whitelisted directory (i.e "fartyShitPants")
+ + + diff --git a/code/modules/unit_tests/mapping.html b/code/modules/unit_tests/mapping.html new file mode 100644 index 000000000000..2b52d44b8ac3 --- /dev/null +++ b/code/modules/unit_tests/mapping.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/mapping.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/mapping.dm + +

+ + +
/datum/unit_test/log_mappingConveys all log_mapping messages as unit test failures, as they all indicate mapping problems.
+ + + diff --git a/code/modules/unit_tests/mindbound_actions.html b/code/modules/unit_tests/mindbound_actions.html new file mode 100644 index 000000000000..ccee9c061bab --- /dev/null +++ b/code/modules/unit_tests/mindbound_actions.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/mindbound_actions.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/mindbound_actions.dm + +

+ + +
/datum/unit_test/actions_moved_on_mind_transferTests that actions assigned to a mob's mind +are successfuly transferred when their mind is transferred to a new mob.
+ + + diff --git a/code/modules/unit_tests/mob_spawn.html b/code/modules/unit_tests/mob_spawn.html new file mode 100644 index 000000000000..f26c13835e53 --- /dev/null +++ b/code/modules/unit_tests/mob_spawn.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/mob_spawn.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/mob_spawn.dm + +

+ + +
/datum/unit_test/mob_spawnVerifies that all glands for an egg are valid
+ + + diff --git a/code/modules/unit_tests/modsuit.html b/code/modules/unit_tests/modsuit.html new file mode 100644 index 000000000000..cb9aef8f07ed --- /dev/null +++ b/code/modules/unit_tests/modsuit.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/modsuit.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/modsuit.dm + +

+ + +
/datum/unit_test/modsuit_checksChecks all pre-equipped MODsuit paths to see if they have something set wrong.
+ + + diff --git a/code/modules/unit_tests/novaflower_burn.html b/code/modules/unit_tests/novaflower_burn.html new file mode 100644 index 000000000000..91b695b30eb4 --- /dev/null +++ b/code/modules/unit_tests/novaflower_burn.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/novaflower_burn.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/novaflower_burn.dm + +

+ + +
/datum/unit_test/novaflower_burnUnit tests that the novaflower's unique genes function.
+ + + diff --git a/code/modules/unit_tests/outfit_sanity.html b/code/modules/unit_tests/outfit_sanity.html new file mode 100644 index 000000000000..381e843ea85e --- /dev/null +++ b/code/modules/unit_tests/outfit_sanity.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/outfit_sanity.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/outfit_sanity.dm + +

+ + +
/datum/outfit/stacks_in_handsSee #66313 and #60901. outfit_sanity used to runtime whenever you had two mergable sheets in either hand. Previously, this only had a 3% chance of occuring. Now 100%.
+ + + diff --git a/code/modules/unit_tests/paintings.html b/code/modules/unit_tests/paintings.html new file mode 100644 index 000000000000..2f6d21ffdcd0 --- /dev/null +++ b/code/modules/unit_tests/paintings.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/paintings.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/paintings.dm + +

+ + +
/datum/unit_test/paintingsChecks that all kind of painting frames have a sprite for each canvas type in the game.
+ + + diff --git a/code/modules/unit_tests/preferences.html b/code/modules/unit_tests/preferences.html new file mode 100644 index 000000000000..5d0d40960ea5 --- /dev/null +++ b/code/modules/unit_tests/preferences.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/preferences.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/preferences.dm + +

+ + + +
/datum/unit_test/preferences_implement_everythingRequires all preferences to implement required methods.
/datum/unit_test/preferences_valid_savefile_keyRequires all preferences to have a valid, unique savefile_identifier.
+ + + diff --git a/code/modules/unit_tests/quirks.html b/code/modules/unit_tests/quirks.html new file mode 100644 index 000000000000..515353bbd613 --- /dev/null +++ b/code/modules/unit_tests/quirks.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/quirks.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/quirks.dm + +

+ + +
/datum/unit_test/quirk_iconsEnsure every quirk has a unique icon
+ + + diff --git a/code/modules/unit_tests/reagent_names.html b/code/modules/unit_tests/reagent_names.html new file mode 100644 index 000000000000..419c7cf0cfd3 --- /dev/null +++ b/code/modules/unit_tests/reagent_names.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/reagent_names.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/reagent_names.dm + +

+ + +
/datum/unit_test/reagent_namesTest that all reagent names are different in order to prevent tgstation#65231
+ + + diff --git a/code/modules/unit_tests/say.html b/code/modules/unit_tests/say.html new file mode 100644 index 000000000000..6362917b2244 --- /dev/null +++ b/code/modules/unit_tests/say.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/unit_tests/say.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/say.dm + +

+ + + + + +
/datum/unit_test/get_message_modsTest to verify message mods are parsed correctly
/datum/unit_test/say_signalTest to verify COMSIG_MOB_SAY is sent the exact same list as the message args, as they're operated on
/datum/unit_test/translate_speechThis unit test translates a string from one language to another depending on if the person can understand the language
/datum/unit_test/speechThis runs some simple speech tests on a speaker and listener and determines if a person can hear whispering or speaking as they are moved a distance away
+ + + diff --git a/code/modules/unit_tests/screenshot_antag_icons.html b/code/modules/unit_tests/screenshot_antag_icons.html new file mode 100644 index 000000000000..e513089db7a3 --- /dev/null +++ b/code/modules/unit_tests/screenshot_antag_icons.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/unit_tests/screenshot_antag_icons.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/screenshot_antag_icons.dm + +

+ + + + + +
/datum/unit_test/screenshot_antag_iconsA screenshot test to make sure every antag icon in the preferences menu is consistent
/datum/asset/spritesheet/antagonistsSprites generated for the antagonists panel
/proc/serialize_antag_nameSerializes an antag name to be used for preferences UI
+ + + diff --git a/code/modules/unit_tests/screenshot_basic.html b/code/modules/unit_tests/screenshot_basic.html new file mode 100644 index 000000000000..382b162259e4 --- /dev/null +++ b/code/modules/unit_tests/screenshot_basic.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/screenshot_basic.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/screenshot_basic.dm + +

+ + +
/datum/unit_test/screenshot_basicThis is an example for screenshot tests, and a meta-test to make sure they work in the success case. +It creates a picture that is red on the left side, green on the other.
+ + + diff --git a/code/modules/unit_tests/screenshot_humanoids.html b/code/modules/unit_tests/screenshot_humanoids.html new file mode 100644 index 000000000000..0bededfb1d9e --- /dev/null +++ b/code/modules/unit_tests/screenshot_humanoids.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/screenshot_humanoids.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/screenshot_humanoids.dm + +

+ + +
/datum/unit_test/screenshot_humanoidsA screenshot test for every humanoid species with a handful of jobs.
+ + + diff --git a/code/modules/unit_tests/screenshots.html b/code/modules/unit_tests/screenshots.html new file mode 100644 index 000000000000..17877da35e8d --- /dev/null +++ b/code/modules/unit_tests/screenshots.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/unit_tests/screenshots/README.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/screenshots/README.md + +

+ + +

This folder contains the results for screenshot tests. Screenshot tests make sure an icon looks the same as it did before a change to prevent regressions.

+

You can create one by simply using the test_screenshot proc.

+

This example test screenshots a red image and keeps it.

+
/// This is an example for screenshot tests, and a meta-test to make sure they work in the success case.
+/// It creates a picture that is red on the left side, green on the other.
+/datum/unit_test/screenshot_basic
+
+/datum/unit_test/screenshot_basic/Run()
+	var/icon/red = icon('icons/blanks/32x32.dmi', "nothing")
+	red.Blend(COLOR_RED, ICON_OVERLAY)
+	test_screenshot("red", red)
+
+

Unfortunately, screenshot tests are sanest to test through a pull request directly, due to limitations with both DM and GitHub.

+ + + diff --git a/code/modules/unit_tests/spawn_mobs.html b/code/modules/unit_tests/spawn_mobs.html new file mode 100644 index 000000000000..e2d5a43a4b56 --- /dev/null +++ b/code/modules/unit_tests/spawn_mobs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/spawn_mobs.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/spawn_mobs.dm + +

+ + +
/datum/unit_test/spawn_mobsUnit test that spawns all mobs that can be spawned by golden slimes
+ + + diff --git a/code/modules/unit_tests/species_unique_id.html b/code/modules/unit_tests/species_unique_id.html new file mode 100644 index 000000000000..7035182caeb4 --- /dev/null +++ b/code/modules/unit_tests/species_unique_id.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/species_unique_id.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/species_unique_id.dm + +

+ + +
/datum/unit_test/species_unique_idEvery species should use a species ID unique to it and it alone. This test runs through every subtype of /datum/species, and checks for a species ID. +Every ID is written to a list, gathered_species_ids, and if a previously written ID is written again, this test will fail.
+ + + diff --git a/code/modules/unit_tests/spell_invocations.html b/code/modules/unit_tests/spell_invocations.html new file mode 100644 index 000000000000..1ab75bf4a86b --- /dev/null +++ b/code/modules/unit_tests/spell_invocations.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/spell_invocations.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/spell_invocations.dm + +

+ + +
/datum/unit_test/spell_invocationsValidates that all spells have a correct +invocation type and invocation setup.
+ + + diff --git a/code/modules/unit_tests/spell_mindswap.html b/code/modules/unit_tests/spell_mindswap.html new file mode 100644 index 000000000000..c9d294477cad --- /dev/null +++ b/code/modules/unit_tests/spell_mindswap.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/spell_mindswap.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/spell_mindswap.dm + +

+ + +
/datum/unit_test/mind_swap_spellValidates that the mind swap spell +properly transfers minds between a caster and a target.
+ + + diff --git a/code/modules/unit_tests/spell_names.html b/code/modules/unit_tests/spell_names.html new file mode 100644 index 000000000000..9194ae557f27 --- /dev/null +++ b/code/modules/unit_tests/spell_names.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/spell_names.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/spell_names.dm + +

+ + +
/datum/unit_test/spell_namesValidates that all spells have a different name.
+ + + diff --git a/code/modules/unit_tests/spell_shapeshift.html b/code/modules/unit_tests/spell_shapeshift.html new file mode 100644 index 000000000000..29fac19fdf9c --- /dev/null +++ b/code/modules/unit_tests/spell_shapeshift.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/spell_shapeshift.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/spell_shapeshift.dm + +

+ + +
/datum/unit_test/shapeshift_spell_validityValidates that all shapeshift type spells +have a valid possible_shapes setup.
+ + + diff --git a/code/modules/unit_tests/stack_singular_name.html b/code/modules/unit_tests/stack_singular_name.html new file mode 100644 index 000000000000..73c13c76a9a8 --- /dev/null +++ b/code/modules/unit_tests/stack_singular_name.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/stack_singular_name.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/stack_singular_name.dm + +

+ + +
/datum/unit_test/stack_singular_nameGoes through every subtype of /obj/item/stack to check for a singular name, var/singular_name. +Everything within the blacklist does not need to be tested because it exists to be overriden. +This test will fail if a subtype of /obj/item/stack is missing a singular name.
+ + + diff --git a/code/modules/unit_tests/tgui_create_message.html b/code/modules/unit_tests/tgui_create_message.html new file mode 100644 index 000000000000..f93c4ae6d45c --- /dev/null +++ b/code/modules/unit_tests/tgui_create_message.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/tgui_create_message.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/tgui_create_message.dm + +

+ + +
/datum/unit_test/tgui_create_messageTest that TGUI_CREATE_MESSAGE is correctly implemented
+ + + diff --git a/code/modules/unit_tests/wizard_loadout.html b/code/modules/unit_tests/wizard_loadout.html new file mode 100644 index 000000000000..da6e26794055 --- /dev/null +++ b/code/modules/unit_tests/wizard_loadout.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/wizard_loadout.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/unit_tests/wizard_loadout.dm + +

+ + +
/datum/unit_test/wizard_loadoutTest loadouts for crashes, runtimes, stack traces and infinite loops. No ASSERTs necessary.
+ + + diff --git a/code/modules/uplink/uplink_items.html b/code/modules/uplink/uplink_items.html new file mode 100644 index 000000000000..a9c26957bb70 --- /dev/null +++ b/code/modules/uplink/uplink_items.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/uplink/uplink_items.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/uplink/uplink_items.dm + +

+ + +
/datum/uplink_itemUplink Items
+ + + diff --git a/code/modules/vehicles/cars/vim.html b/code/modules/vehicles/cars/vim.html new file mode 100644 index 000000000000..2805dbcc345f --- /dev/null +++ b/code/modules/vehicles/cars/vim.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/cars/vim.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vehicles/cars/vim.dm + +

+ + +
/obj/vehicle/sealed/car/vim
+ + + diff --git a/code/modules/vehicles/mecha/_mecha.html b/code/modules/vehicles/mecha/_mecha.html new file mode 100644 index 000000000000..d6689cee9294 --- /dev/null +++ b/code/modules/vehicles/mecha/_mecha.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/_mecha.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vehicles/mecha/_mecha.dm + +

+ + +
/obj/vehicle/sealed/mechaWELCOME TO MECHA.DM, ENJOY YOUR STAY
+ + + diff --git a/code/modules/vehicles/mecha/combat/durand.html b/code/modules/vehicles/mecha/combat/durand.html new file mode 100644 index 000000000000..4f7478abae76 --- /dev/null +++ b/code/modules/vehicles/mecha/combat/durand.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/vehicles/mecha/combat/durand.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vehicles/mecha/combat/durand.dm + +

+ + +
/obj/durand_shieldShield processing +*An object to take the hit for us when using the Durand's defense mode. +It is spawned in during the durand's initilization, and always stays on the same tile. +Normally invisible, until defense mode is actvated. When the durand detects an attack that should be blocked, the +attack is passed to the shield. The shield takes the damage, uses it to calculate charge cost, and then sets its +own integrity back to max. Shield is automatically dropped if we run out of power or the user gets out.
+ + + diff --git a/code/modules/vehicles/mecha/combat/savannah_ivanov.html b/code/modules/vehicles/mecha/combat/savannah_ivanov.html new file mode 100644 index 000000000000..90a7a72e6ee7 --- /dev/null +++ b/code/modules/vehicles/mecha/combat/savannah_ivanov.html @@ -0,0 +1,45 @@ + + + + + + + code/modules/vehicles/mecha/combat/savannah_ivanov.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/vehicles/mecha/combat/savannah_ivanov.dm + +

+ + + + + + + +
SKYFALL_SINGLE_CHARGE_TIMEhow much time between charge_level going up by 1
SKYFALL_CHARGELEVEL_LAUNCHenough charge level to take off, basically done charging
TOTAL_SKYFALL_LEAP_TIMEhow much time you're in the air
/obj/vehicle/sealed/mecha/combat/savannah_ivanov
/datum/action/vehicle/sealed/mecha/skyfallSavannah Skyfall
/obj/effect/skyfall_landingzonea simple indicator of where the skyfall is going to land.

Define Details

+

SKYFALL_CHARGELEVEL_LAUNCH + + +

+

enough charge level to take off, basically done charging

SKYFALL_SINGLE_CHARGE_TIME + + +

+

how much time between charge_level going up by 1

TOTAL_SKYFALL_LEAP_TIME + + +

+

how much time you're in the air

+ + + diff --git a/code/modules/vehicles/mecha/equipment/mecha_equipment.html b/code/modules/vehicles/mecha/equipment/mecha_equipment.html new file mode 100644 index 000000000000..91060eb23850 --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/mecha_equipment.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/vehicles/mecha/equipment/mecha_equipment.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vehicles/mecha/equipment/mecha_equipment.dm + +

+ + +
/obj/item/mecha_parts/mecha_equipmentMecha Equipment +All mech equippables are currently childs of this
+ + + diff --git a/code/modules/vehicles/mecha/equipment/tools/medical_tools.html b/code/modules/vehicles/mecha/equipment/tools/medical_tools.html new file mode 100644 index 000000000000..5907b94895e1 --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/tools/medical_tools.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/vehicles/mecha/equipment/tools/medical_tools.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/vehicles/mecha/equipment/tools/medical_tools.dm + +

+ + + +
FIRE_SYRINGE_MODESyringe Gun
/obj/item/mecha_parts/mecha_equipment/medical/mechmedbeamMedical Beam

Define Details

+

FIRE_SYRINGE_MODE + + +

+

Syringe Gun

+ + + diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.html b/code/modules/vehicles/mecha/equipment/tools/other_tools.html new file mode 100644 index 000000000000..ba9e2b31d06d --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/vehicles/mecha/equipment/tools/other_tools.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/vehicles/mecha/equipment/tools/other_tools.dm + +

+ + + + + + + + +
/obj/item/mecha_parts/mecha_equipment/teleporterTELEPORTER
/obj/item/mecha_parts/mecha_equipment/wormhole_generatorWORMHOLE GENERATOR
GRAVSLING_MODEGRAVITATIONAL CATAPULT
/obj/item/mecha_parts/mecha_equipment/armorARMOR BOOSTER MODULES
/obj/item/mecha_parts/mecha_equipment/repair_droidREPAIR DROID
/obj/item/mecha_parts/mecha_equipment/generatorGENERATOR
/obj/item/mecha_parts/mecha_equipment/thrustersTHRUSTERS

Define Details

+

GRAVSLING_MODE + + +

+

GRAVITATIONAL CATAPULT

+ + + diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.html b/code/modules/vehicles/mecha/equipment/weapons/weapons.html new file mode 100644 index 000000000000..bbde902508a7 --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/equipment/weapons/weapons.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vehicles/mecha/equipment/weapons/weapons.dm + +

+ + +
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar/bombananadark honk weapons
+ + + diff --git a/code/modules/vehicles/mecha/mecha_actions.html b/code/modules/vehicles/mecha/mecha_actions.html new file mode 100644 index 000000000000..8bb6cd05d01f --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_actions.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/mecha_actions.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vehicles/mecha/mecha_actions.dm + +

+ + +
/datum/action/vehicle/sealed/mecha/swap_seatswap seats, for two person mecha
+ + + diff --git a/code/modules/vehicles/mecha/mecha_construction_paths.html b/code/modules/vehicles/mecha/mecha_construction_paths.html new file mode 100644 index 000000000000..143cdc41b211 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_construction_paths.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/mecha_construction_paths.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vehicles/mecha/mecha_construction_paths.dm + +

+ + +
/datum/component/construction/mechaConstruction datums
+ + + diff --git a/code/modules/vehicles/mecha/mecha_defense.html b/code/modules/vehicles/mecha/mecha_defense.html new file mode 100644 index 000000000000..35bedad7cf64 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_defense.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/vehicles/mecha/mecha_defense.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Mecha defence explanation + +

+ + +

Mechs focus is on a more heavy-but-slower damage approach +For this they have the following mechanics

+Backstab +

Basically the tldr is that mechs are less flexible so we encourage good positioning, pretty simple

+Armor modules +

Pretty simple, adds armor, you can choose against what

+Internal damage +

When taking damage will force you to take some time to repair, encourages improvising in a fight +Targetting different def zones will damage them to encurage a more strategic approach to fights +where they target the "dangerous" modules

+ + + diff --git a/code/modules/vehicles/mecha/mecha_parts.html b/code/modules/vehicles/mecha/mecha_parts.html new file mode 100644 index 000000000000..33f00c93571d --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_parts.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/vehicles/mecha/mecha_parts.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vehicles/mecha/mecha_parts.dm + +

+ + + + + + + + + + +
/obj/item/mecha_partsMecha Parts
/obj/item/mecha_parts/chassis/ripleyRipley
/obj/item/mecha_parts/chassis/odysseusOdysseus
/obj/item/mecha_parts/chassis/gygaxGygax
/obj/item/mecha_parts/chassis/durandDurand
/obj/item/mecha_parts/chassis/clarkeClarke
/obj/item/mecha_parts/chassis/honkerHONK
/obj/item/mecha_parts/chassis/phazonPhazon
/obj/item/circuitboard/mechaCircuitboards
+ + + diff --git a/code/modules/vehicles/mecha/mecha_ui.html b/code/modules/vehicles/mecha/mecha_ui.html new file mode 100644 index 000000000000..8f99b46e7c44 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_ui.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/mecha_ui.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vehicles/mecha/mecha_ui.dm + +

+ + +
/atom/movable/screen/mech_viewA preview of the mech for the UI
+ + + diff --git a/code/modules/vehicles/mecha/mecha_wreckage.html b/code/modules/vehicles/mecha/mecha_wreckage.html new file mode 100644 index 000000000000..613bba2a6e5c --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_wreckage.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/mecha_wreckage.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vehicles/mecha/mecha_wreckage.dm + +

+ + +
/obj/structure/mecha_wreckageMecha wreckage
+ + + diff --git a/code/modules/vehicles/mecha/working/clarke.html b/code/modules/vehicles/mecha/working/clarke.html new file mode 100644 index 000000000000..a86a2935cfe4 --- /dev/null +++ b/code/modules/vehicles/mecha/working/clarke.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/vehicles/mecha/working/clarke.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vehicles/mecha/working/clarke.dm + +

+ + + +
/obj/vehicle/sealed/mecha/working/clarkeLavaproof, fireproof, fast mech with low armor and higher energy consumption, cannot strafe and has an internal ore box.
/obj/item/mecha_parts/mecha_equipment/orebox_managerSpecial equipment for the Clarke mech, handles moving ore without giving the mech a hydraulic clamp and cargo compartment.
+ + + diff --git a/code/modules/vehicles/pimpin_ride.html b/code/modules/vehicles/pimpin_ride.html new file mode 100644 index 000000000000..accbf668e79f --- /dev/null +++ b/code/modules/vehicles/pimpin_ride.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/vehicles/pimpin_ride.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vehicles/pimpin_ride.dm + +

+ + + +
/obj/vehicle/ridden/janicart
/obj/item/janicart_upgradeFunctional upgrades that can be installed into a janicart.
+ + + diff --git a/code/modules/vehicles/vehicle_actions.html b/code/modules/vehicles/vehicle_actions.html new file mode 100644 index 000000000000..c69f0fd7ea44 --- /dev/null +++ b/code/modules/vehicles/vehicle_actions.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/vehicle_actions.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vehicles/vehicle_actions.dm + +

+ + +
/datum/action/vehicleACTION DATUMS
+ + + diff --git a/code/modules/vending/_vending.html b/code/modules/vending/_vending.html new file mode 100644 index 000000000000..661e96c28429 --- /dev/null +++ b/code/modules/vending/_vending.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/vending/_vending.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/vending/_vending.dm + +

+ + + + +
/datum/data/vending_productA datum that represents a product that is vendable
/obj/machinery/vendingCaptalism in the year 2525, everything in a vending machine, even love
/obj/machinery/vending/custom/unbreakableCharges the user if its not the owner +Make the transaction +Log the transaction +Make an alert +Remove the item
+ + + diff --git a/code/modules/vending/mechcomp.html b/code/modules/vending/mechcomp.html new file mode 100644 index 000000000000..386dff6e98bc --- /dev/null +++ b/code/modules/vending/mechcomp.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/vending/mechcomp.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/vending/mechcomp.dm + +

+ + + +
STANDARD_COMPONENT_SUPPLYStandard mechcomp component supply.
LOW_COMPONENT_SUPPLYComponents that place a higher than usual load on the server by their use.

Define Details

+

LOW_COMPONENT_SUPPLY + + +

+

Components that place a higher than usual load on the server by their use.

STANDARD_COMPONENT_SUPPLY + + +

+

Standard mechcomp component supply.

+ + + diff --git a/code/modules/wiremod/components/abstract/binary_decimal.html b/code/modules/wiremod/components/abstract/binary_decimal.html new file mode 100644 index 000000000000..9ebe216c1c4d --- /dev/null +++ b/code/modules/wiremod/components/abstract/binary_decimal.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/abstract/binary_decimal.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/abstract/binary_decimal.dm + +

+ + +
/obj/item/circuit_component/binary_decimalHas a bit array on one side and a decimal number on the other.
+ + + diff --git a/code/modules/wiremod/components/abstract/compare.html b/code/modules/wiremod/components/abstract/compare.html new file mode 100644 index 000000000000..fb72a8a8a199 --- /dev/null +++ b/code/modules/wiremod/components/abstract/compare.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/abstract/compare.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/abstract/compare.dm + +

+ + +
/obj/item/circuit_component/compareAbstract component to build conditional components
+ + + diff --git a/code/modules/wiremod/components/abstract/module.html b/code/modules/wiremod/components/abstract/module.html new file mode 100644 index 000000000000..d5d265f61962 --- /dev/null +++ b/code/modules/wiremod/components/abstract/module.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/abstract/module.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/abstract/module.dm + +

+ + +
/obj/item/circuit_component/moduleA component that has an input, output
+ + + diff --git a/code/modules/wiremod/components/abstract/variable.html b/code/modules/wiremod/components/abstract/variable.html new file mode 100644 index 000000000000..d75f0b3f1525 --- /dev/null +++ b/code/modules/wiremod/components/abstract/variable.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/abstract/variable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/abstract/variable.dm + +

+ + +
/obj/item/circuit_component/variableAbstract component for handling variables
+ + + diff --git a/code/modules/wiremod/components/action/laserpointer.html b/code/modules/wiremod/components/action/laserpointer.html new file mode 100644 index 000000000000..fb94e32553ec --- /dev/null +++ b/code/modules/wiremod/components/action/laserpointer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/laserpointer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/action/laserpointer.dm + +

+ + +
/obj/item/circuit_component/laserpointerPoints a laser at a tile or mob
+ + + diff --git a/code/modules/wiremod/components/action/light.html b/code/modules/wiremod/components/action/light.html new file mode 100644 index 000000000000..24f01388425c --- /dev/null +++ b/code/modules/wiremod/components/action/light.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/wiremod/components/action/light.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/action/light.dm + +

+ + +
/obj/item/circuit_component/lightonly has cyborg flashing since felinid moving spikes time dilation when spammed and the other two features of laserpointers would be unbalanced when spammed +no stunning, just a blind +laserpointer image
+ + + diff --git a/code/modules/wiremod/components/action/mmi.html b/code/modules/wiremod/components/action/mmi.html new file mode 100644 index 000000000000..f6afcd244e2c --- /dev/null +++ b/code/modules/wiremod/components/action/mmi.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/mmi.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/action/mmi.dm + +

+ + +
/obj/item/circuit_component/mmiAllows an MMI to be inserted into a shell, allowing it to be linked up. Requires a shell.
+ + + diff --git a/code/modules/wiremod/components/action/pathfind.html b/code/modules/wiremod/components/action/pathfind.html new file mode 100644 index 000000000000..97ae124e84fe --- /dev/null +++ b/code/modules/wiremod/components/action/pathfind.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/pathfind.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/action/pathfind.dm + +

+ + +
/obj/item/circuit_component/pathfindCalcualtes a path, returns a list of entities. Each entity is the next step in the path. Can be used with the direction component to move.
+ + + diff --git a/code/modules/wiremod/components/action/printer.html b/code/modules/wiremod/components/action/printer.html new file mode 100644 index 000000000000..76a8c6857546 --- /dev/null +++ b/code/modules/wiremod/components/action/printer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/printer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/action/printer.dm + +

+ + +
/obj/item/circuit_component/printerAllows for text strings to be printed on a paper. Requires a shell.
+ + + diff --git a/code/modules/wiremod/components/action/radio.html b/code/modules/wiremod/components/action/radio.html new file mode 100644 index 000000000000..776ca19029c5 --- /dev/null +++ b/code/modules/wiremod/components/action/radio.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/radio.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/action/radio.dm + +

+ + +
/obj/item/circuit_component/radioListens out for signals on the designated frequencies and sends signals on designated frequencies
+ + + diff --git a/code/modules/wiremod/components/action/soundemitter.html b/code/modules/wiremod/components/action/soundemitter.html new file mode 100644 index 000000000000..21d6c4dfd7cf --- /dev/null +++ b/code/modules/wiremod/components/action/soundemitter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/soundemitter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/action/soundemitter.dm + +

+ + +
/obj/item/circuit_component/soundemitterA component that emits a sound when it receives an input.
+ + + diff --git a/code/modules/wiremod/components/action/speech.html b/code/modules/wiremod/components/action/speech.html new file mode 100644 index 000000000000..a7ed55ae737e --- /dev/null +++ b/code/modules/wiremod/components/action/speech.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/speech.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/action/speech.dm + +

+ + +
/obj/item/circuit_component/speechSends a message. Requires a shell.
+ + + diff --git a/code/modules/wiremod/components/admin/getvar.html b/code/modules/wiremod/components/admin/getvar.html new file mode 100644 index 000000000000..61fd30ce18b1 --- /dev/null +++ b/code/modules/wiremod/components/admin/getvar.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/getvar.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/getvar.dm + +

+ + +
/obj/item/circuit_component/get_variableA component that gets a variable on an object
+ + + diff --git a/code/modules/wiremod/components/admin/input_request.html b/code/modules/wiremod/components/admin/input_request.html new file mode 100644 index 000000000000..42c2aee67bbb --- /dev/null +++ b/code/modules/wiremod/components/admin/input_request.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/input_request.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/input_request.dm + +

+ + +
/obj/item/circuit_component/input_requestRequests an input from someone.
+ + + diff --git a/code/modules/wiremod/components/admin/proccall.html b/code/modules/wiremod/components/admin/proccall.html new file mode 100644 index 000000000000..c8359621f7b3 --- /dev/null +++ b/code/modules/wiremod/components/admin/proccall.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/proccall.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/proccall.dm + +

+ + +
/obj/item/circuit_component/proccallA component that calls a proc on an object and outputs the return value
+ + + diff --git a/code/modules/wiremod/components/admin/save_shell.html b/code/modules/wiremod/components/admin/save_shell.html new file mode 100644 index 000000000000..6a4619b5dd58 --- /dev/null +++ b/code/modules/wiremod/components/admin/save_shell.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/save_shell.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/save_shell.dm + +

+ + +
/obj/item/circuit_component/save_shellA component that saves and loads a shell for the integrated circuit.
+ + + diff --git a/code/modules/wiremod/components/admin/sdql.html b/code/modules/wiremod/components/admin/sdql.html new file mode 100644 index 000000000000..e491b736c6b2 --- /dev/null +++ b/code/modules/wiremod/components/admin/sdql.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/sdql.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/sdql.dm + +

+ + +
/obj/item/circuit_component/sdql_operationA component that performs an sdql operation
+ + + diff --git a/code/modules/wiremod/components/admin/setvar.html b/code/modules/wiremod/components/admin/setvar.html new file mode 100644 index 000000000000..70c2f23ae9f9 --- /dev/null +++ b/code/modules/wiremod/components/admin/setvar.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/setvar.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/setvar.dm + +

+ + +
/obj/item/circuit_component/set_variableA component that sets a variable on an object
+ + + diff --git a/code/modules/wiremod/components/admin/signal_handler/signal_handler.html b/code/modules/wiremod/components/admin/signal_handler/signal_handler.html new file mode 100644 index 000000000000..5f2e08ef1fdc --- /dev/null +++ b/code/modules/wiremod/components/admin/signal_handler/signal_handler.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/signal_handler/signal_handler.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/signal_handler/signal_handler.dm + +

+ + +
/obj/item/circuit_component/signal_handlerA component that registers signals on events and listens for them.
+ + + diff --git a/code/modules/wiremod/components/admin/spawn.html b/code/modules/wiremod/components/admin/spawn.html new file mode 100644 index 000000000000..d99d8a622797 --- /dev/null +++ b/code/modules/wiremod/components/admin/spawn.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/spawn.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/spawn.dm + +

+ + +
/obj/item/circuit_component/spawn_atomSpawns an atom.
+ + + diff --git a/code/modules/wiremod/components/admin/to_type.html b/code/modules/wiremod/components/admin/to_type.html new file mode 100644 index 000000000000..36569c7436c6 --- /dev/null +++ b/code/modules/wiremod/components/admin/to_type.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/to_type.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/to_type.dm + +

+ + +
/obj/item/circuit_component/to_typeConverts a string into a typepath. Useful for adding components.
+ + + diff --git a/code/modules/wiremod/components/atom/direction.html b/code/modules/wiremod/components/atom/direction.html new file mode 100644 index 000000000000..dc09182e5797 --- /dev/null +++ b/code/modules/wiremod/components/atom/direction.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/direction.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/direction.dm + +

+ + +
/obj/item/circuit_component/directionReturn the direction of a mob relative to the component
+ + + diff --git a/code/modules/wiremod/components/atom/gps.html b/code/modules/wiremod/components/atom/gps.html new file mode 100644 index 000000000000..37fb48b818a0 --- /dev/null +++ b/code/modules/wiremod/components/atom/gps.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/gps.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/gps.dm + +

+ + +
/obj/item/circuit_component/gpsReturn the location of this
+ + + diff --git a/code/modules/wiremod/components/atom/health.html b/code/modules/wiremod/components/atom/health.html new file mode 100644 index 000000000000..13467b3c2008 --- /dev/null +++ b/code/modules/wiremod/components/atom/health.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/health.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/health.dm + +

+ + +
/obj/item/circuit_component/healthReturn the health of a mob
+ + + diff --git a/code/modules/wiremod/components/atom/hear.html b/code/modules/wiremod/components/atom/hear.html new file mode 100644 index 000000000000..dca8d57cdc23 --- /dev/null +++ b/code/modules/wiremod/components/atom/hear.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/hear.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/hear.dm + +

+ + +
/obj/item/circuit_component/hearListens for messages. Requires a shell.
+ + + diff --git a/code/modules/wiremod/components/atom/matscanner.html b/code/modules/wiremod/components/atom/matscanner.html new file mode 100644 index 000000000000..4c932699b3ad --- /dev/null +++ b/code/modules/wiremod/components/atom/matscanner.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/matscanner.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/matscanner.dm + +

+ + +
/obj/item/circuit_component/matscannerReturns the materials of an atom
+ + + diff --git a/code/modules/wiremod/components/atom/pinpointer.html b/code/modules/wiremod/components/atom/pinpointer.html new file mode 100644 index 000000000000..7fa2e0615cac --- /dev/null +++ b/code/modules/wiremod/components/atom/pinpointer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/pinpointer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/pinpointer.dm + +

+ + +
/obj/item/circuit_component/pinpointerReturn the location of its input.
+ + + diff --git a/code/modules/wiremod/components/atom/reagentscanner.html b/code/modules/wiremod/components/atom/reagentscanner.html new file mode 100644 index 000000000000..a8d2124d9583 --- /dev/null +++ b/code/modules/wiremod/components/atom/reagentscanner.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/reagentscanner.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/reagentscanner.dm + +

+ + +
/obj/item/circuit_component/reagentscannerReturns the reagentss of an atom
+ + + diff --git a/code/modules/wiremod/components/atom/self.html b/code/modules/wiremod/components/atom/self.html new file mode 100644 index 000000000000..1c0c10ac22a4 --- /dev/null +++ b/code/modules/wiremod/components/atom/self.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/self.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/self.dm + +

+ + +
/obj/item/circuit_component/selfReturn the current shell.
+ + + diff --git a/code/modules/wiremod/components/atom/species.html b/code/modules/wiremod/components/atom/species.html new file mode 100644 index 000000000000..b8e45ac2856a --- /dev/null +++ b/code/modules/wiremod/components/atom/species.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/species.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/species.dm + +

+ + +
/obj/item/circuit_component/speciesReturn the species of a mob
+ + + diff --git a/code/modules/wiremod/components/bci/hud/bar_overlay.html b/code/modules/wiremod/components/bci/hud/bar_overlay.html new file mode 100644 index 000000000000..73d719b468fd --- /dev/null +++ b/code/modules/wiremod/components/bci/hud/bar_overlay.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/bci/hud/bar_overlay.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/bci/hud/bar_overlay.dm + +

+ + +
/obj/item/circuit_component/object_overlay/barBasically an advanced verion of object overlay component that shows a horizontal/vertical bar. +Requires a BCI shell.
+ + + diff --git a/code/modules/wiremod/components/bci/hud/counter_overlay.html b/code/modules/wiremod/components/bci/hud/counter_overlay.html new file mode 100644 index 000000000000..177fd7c11a46 --- /dev/null +++ b/code/modules/wiremod/components/bci/hud/counter_overlay.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/bci/hud/counter_overlay.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/bci/hud/counter_overlay.dm + +

+ + +
/obj/item/circuit_component/counter_overlayShows an counter overlay. +Requires a BCI shell.
+ + + diff --git a/code/modules/wiremod/components/bci/hud/object_overlay.html b/code/modules/wiremod/components/bci/hud/object_overlay.html new file mode 100644 index 000000000000..34dc82387911 --- /dev/null +++ b/code/modules/wiremod/components/bci/hud/object_overlay.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/wiremod/components/bci/hud/object_overlay.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/wiremod/components/bci/hud/object_overlay.dm + +

+ + +
OBJECT_OVERLAY_LIMIT

Define Details

+

OBJECT_OVERLAY_LIMIT + + +

+ Object Overlay Component +

Shows an overlay ontop of an object. Toggleable. +Requires a BCI shell.

+ + + diff --git a/code/modules/wiremod/components/bci/hud/target_intercept.html b/code/modules/wiremod/components/bci/hud/target_intercept.html new file mode 100644 index 000000000000..b5567a747d5e --- /dev/null +++ b/code/modules/wiremod/components/bci/hud/target_intercept.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/bci/hud/target_intercept.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/bci/hud/target_intercept.dm + +

+ + +
/obj/item/circuit_component/target_interceptWhen activated intercepts next click and outputs clicked atom. +Requires a BCI shell.
+ + + diff --git a/code/modules/wiremod/components/bci/thought_listener.html b/code/modules/wiremod/components/bci/thought_listener.html new file mode 100644 index 000000000000..6bc968b97947 --- /dev/null +++ b/code/modules/wiremod/components/bci/thought_listener.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/bci/thought_listener.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/bci/thought_listener.dm + +

+ + +
/obj/item/circuit_component/thought_listenerAllows user to input a string. +Requires a BCI shell.
+ + + diff --git a/code/modules/wiremod/components/bci/vox.html b/code/modules/wiremod/components/bci/vox.html new file mode 100644 index 000000000000..b3136aa316f6 --- /dev/null +++ b/code/modules/wiremod/components/bci/vox.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/bci/vox.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/bci/vox.dm + +

+ + +
/obj/item/circuit_component/voxThese play a VOX announcement with inputed words from either a string or a list. +Requires a BCI shell.
+ + + diff --git a/code/modules/wiremod/components/list/assoc_literal.html b/code/modules/wiremod/components/list/assoc_literal.html new file mode 100644 index 000000000000..c6aad50e65da --- /dev/null +++ b/code/modules/wiremod/components/list/assoc_literal.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/assoc_literal.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/assoc_literal.dm + +

+ + +
/obj/item/circuit_component/list_literal/assoc_literalReturn an associative list literal.
+ + + diff --git a/code/modules/wiremod/components/list/concat.html b/code/modules/wiremod/components/list/concat.html new file mode 100644 index 000000000000..31a1b1c88a8a --- /dev/null +++ b/code/modules/wiremod/components/list/concat.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/concat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/concat.dm + +

+ + +
/obj/item/circuit_component/concat_listConcatenates a list with a separator
+ + + diff --git a/code/modules/wiremod/components/list/filter.html b/code/modules/wiremod/components/list/filter.html new file mode 100644 index 000000000000..f4e6f6b64309 --- /dev/null +++ b/code/modules/wiremod/components/list/filter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/filter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/filter.dm + +

+ + +
/obj/item/circuit_component/filter_listFilters
+ + + diff --git a/code/modules/wiremod/components/list/foreach.html b/code/modules/wiremod/components/list/foreach.html new file mode 100644 index 000000000000..caf048509af5 --- /dev/null +++ b/code/modules/wiremod/components/list/foreach.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/foreach.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/foreach.dm + +

+ + +
/obj/item/circuit_component/foreachSends a signal for each item in a list
+ + + diff --git a/code/modules/wiremod/components/list/format.html b/code/modules/wiremod/components/list/format.html new file mode 100644 index 000000000000..e97425dfa14b --- /dev/null +++ b/code/modules/wiremod/components/list/format.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/wiremod/components/list/format.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/format.dm + +

+ + + + +
/obj/item/circuit_component/formatFormats lists by replacing %n in format string with nth parameter. +Alternative to the Concatenate component.
/obj/item/circuit_component/format/assocFormats lists by replacing %n in format string with nth parameter. +Alternative to the Concatenate component.
/regex/format_component
+ + + diff --git a/code/modules/wiremod/components/list/get_column.html b/code/modules/wiremod/components/list/get_column.html new file mode 100644 index 000000000000..66e0e4ff5b44 --- /dev/null +++ b/code/modules/wiremod/components/list/get_column.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/get_column.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/get_column.dm + +

+ + +
/obj/item/circuit_component/get_columnGets the column of a table and returns it as a regular list.
+ + + diff --git a/code/modules/wiremod/components/list/index.html b/code/modules/wiremod/components/list/index.html new file mode 100644 index 000000000000..cb5c478277bc --- /dev/null +++ b/code/modules/wiremod/components/list/index.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/index.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/index.dm + +

+ + +
/obj/item/circuit_component/indexReturn the index of a list
+ + + diff --git a/code/modules/wiremod/components/list/index_table.html b/code/modules/wiremod/components/list/index_table.html new file mode 100644 index 000000000000..0fb354e7a516 --- /dev/null +++ b/code/modules/wiremod/components/list/index_table.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/index_table.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/index_table.dm + +

+ + +
/obj/item/circuit_component/index_tableGets the row of a table using the index inputted. Will return no value if the index is invalid or a proper table is not returned.
+ + + diff --git a/code/modules/wiremod/components/list/list_add.html b/code/modules/wiremod/components/list/list_add.html new file mode 100644 index 000000000000..92a4b0c11c01 --- /dev/null +++ b/code/modules/wiremod/components/list/list_add.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/list_add.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/list_add.dm + +

+ + +
/obj/item/circuit_component/variable/list/listaddAdds an element to a list.
+ + + diff --git a/code/modules/wiremod/components/list/list_clear.html b/code/modules/wiremod/components/list/list_clear.html new file mode 100644 index 000000000000..330fe8a32d95 --- /dev/null +++ b/code/modules/wiremod/components/list/list_clear.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/list_clear.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/list_clear.dm + +

+ + +
/obj/item/circuit_component/variable/list/listclearClears an element to a list.
+ + + diff --git a/code/modules/wiremod/components/list/list_in.html b/code/modules/wiremod/components/list/list_in.html new file mode 100644 index 000000000000..c36461da4f3f --- /dev/null +++ b/code/modules/wiremod/components/list/list_in.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/list_in.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/list_in.dm + +

+ + +
/obj/item/circuit_component/listinAdds an element to a list.
+ + + diff --git a/code/modules/wiremod/components/list/list_literal.html b/code/modules/wiremod/components/list/list_literal.html new file mode 100644 index 000000000000..642ec8c7d68a --- /dev/null +++ b/code/modules/wiremod/components/list/list_literal.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/list_literal.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/list_literal.dm + +

+ + +
/obj/item/circuit_component/list_literalReturn a list literal.
+ + + diff --git a/code/modules/wiremod/components/list/list_remove.html b/code/modules/wiremod/components/list/list_remove.html new file mode 100644 index 000000000000..b5336e6d323a --- /dev/null +++ b/code/modules/wiremod/components/list/list_remove.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/list_remove.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/list_remove.dm + +

+ + +
/obj/item/circuit_component/variable/list/listremoveRemoves an element to a list.
+ + + diff --git a/code/modules/wiremod/components/list/select.html b/code/modules/wiremod/components/list/select.html new file mode 100644 index 000000000000..cdc8991b5599 --- /dev/null +++ b/code/modules/wiremod/components/list/select.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/select.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/select.dm + +

+ + +
/obj/item/circuit_component/selectSelects a list from a list of lists by a specific column. Used only by USBs for communications to and from computers with lists of varying sizes.
+ + + diff --git a/code/modules/wiremod/components/list/split.html b/code/modules/wiremod/components/list/split.html new file mode 100644 index 000000000000..1ef0ef600d02 --- /dev/null +++ b/code/modules/wiremod/components/list/split.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/split.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/list/split.dm + +

+ + +
/obj/item/circuit_component/splitSplits a string
+ + + diff --git a/code/modules/wiremod/components/math/arithmetic.html b/code/modules/wiremod/components/math/arithmetic.html new file mode 100644 index 000000000000..ae5ba72efa10 --- /dev/null +++ b/code/modules/wiremod/components/math/arithmetic.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/math/arithmetic.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/math/arithmetic.dm + +

+ + +
/obj/item/circuit_component/arithmeticGeneral arithmetic unit with add/sub/mult/divide capabilities +This one only works with numbers.
+ + + diff --git a/code/modules/wiremod/components/math/binary_conversion.html b/code/modules/wiremod/components/math/binary_conversion.html new file mode 100644 index 000000000000..804061db4896 --- /dev/null +++ b/code/modules/wiremod/components/math/binary_conversion.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/binary_conversion.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/math/binary_conversion.dm + +

+ + +
/obj/item/circuit_component/binary_decimal/binary_conversionReturn an array of binary digits from a number input.
+ + + diff --git a/code/modules/wiremod/components/math/comparison.html b/code/modules/wiremod/components/math/comparison.html new file mode 100644 index 000000000000..dab6498c93ef --- /dev/null +++ b/code/modules/wiremod/components/math/comparison.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/comparison.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/math/comparison.dm + +

+ + +
/obj/item/circuit_component/compare/comparisonCompares two objects
+ + + diff --git a/code/modules/wiremod/components/math/decimal_conversion.html b/code/modules/wiremod/components/math/decimal_conversion.html new file mode 100644 index 000000000000..9597d6a7f928 --- /dev/null +++ b/code/modules/wiremod/components/math/decimal_conversion.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/decimal_conversion.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/math/decimal_conversion.dm + +

+ + +
/obj/item/circuit_component/binary_decimal/decimal_conversionReturn a number from an array of binary inputs.
+ + + diff --git a/code/modules/wiremod/components/math/length.html b/code/modules/wiremod/components/math/length.html new file mode 100644 index 000000000000..3479beaf954f --- /dev/null +++ b/code/modules/wiremod/components/math/length.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/length.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/math/length.dm + +

+ + +
/obj/item/circuit_component/lengthReturn the length of an input
+ + + diff --git a/code/modules/wiremod/components/math/logic.html b/code/modules/wiremod/components/math/logic.html new file mode 100644 index 000000000000..4c8968688905 --- /dev/null +++ b/code/modules/wiremod/components/math/logic.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/logic.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/math/logic.dm + +

+ + +
/obj/item/circuit_component/compare/logicGeneral logic unit with AND OR capabilities
+ + + diff --git a/code/modules/wiremod/components/math/not.html b/code/modules/wiremod/components/math/not.html new file mode 100644 index 000000000000..0f3036597055 --- /dev/null +++ b/code/modules/wiremod/components/math/not.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/not.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/math/not.dm + +

+ + +
/obj/item/circuit_component/notGeneral logic unit with AND OR capabilities
+ + + diff --git a/code/modules/wiremod/components/math/random.html b/code/modules/wiremod/components/math/random.html new file mode 100644 index 000000000000..5015c81cbe4b --- /dev/null +++ b/code/modules/wiremod/components/math/random.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/random.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/math/random.dm + +

+ + +
/obj/item/circuit_component/randomGenerates a random number between specific values
+ + + diff --git a/code/modules/wiremod/components/math/trigonometry.html b/code/modules/wiremod/components/math/trigonometry.html new file mode 100644 index 000000000000..6ac06169a6a5 --- /dev/null +++ b/code/modules/wiremod/components/math/trigonometry.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/math/trigonometry.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/math/trigonometry.dm + +

+ + +
/obj/item/circuit_component/trigonometryGeneral trigonometric unit with sine, cosine, tangent and their inverse functions. +This one only works with numbers.
+ + + diff --git a/code/modules/wiremod/components/sensors/pressuresensor.html b/code/modules/wiremod/components/sensors/pressuresensor.html new file mode 100644 index 000000000000..9a9d0f182978 --- /dev/null +++ b/code/modules/wiremod/components/sensors/pressuresensor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/sensors/pressuresensor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/sensors/pressuresensor.dm + +

+ + +
/obj/item/circuit_component/pressuresensorReturns the pressure of the tile
+ + + diff --git a/code/modules/wiremod/components/sensors/tempsensor.html b/code/modules/wiremod/components/sensors/tempsensor.html new file mode 100644 index 000000000000..449bd2e44f80 --- /dev/null +++ b/code/modules/wiremod/components/sensors/tempsensor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/sensors/tempsensor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/sensors/tempsensor.dm + +

+ + +
/obj/item/circuit_component/tempsensorReturns the temperature of the tile
+ + + diff --git a/code/modules/wiremod/components/sensors/view_sensor.html b/code/modules/wiremod/components/sensors/view_sensor.html new file mode 100644 index 000000000000..753432e55b42 --- /dev/null +++ b/code/modules/wiremod/components/sensors/view_sensor.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/wiremod/components/sensors/view_sensor.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/wiremod/components/sensors/view_sensor.dm + +

+ + +
VIEW_SENSOR_RANGE

Define Details

+

VIEW_SENSOR_RANGE + + +

+ View Sensor +

Returns all movable objects in view.

+ + + diff --git a/code/modules/wiremod/components/string/concat.html b/code/modules/wiremod/components/string/concat.html new file mode 100644 index 000000000000..2b125af201db --- /dev/null +++ b/code/modules/wiremod/components/string/concat.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/string/concat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/string/concat.dm + +

+ + +
/obj/item/circuit_component/concatGeneral string concatenation component. Puts strings together.
+ + + diff --git a/code/modules/wiremod/components/string/contains.html b/code/modules/wiremod/components/string/contains.html new file mode 100644 index 000000000000..7efe0bb08dca --- /dev/null +++ b/code/modules/wiremod/components/string/contains.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/string/contains.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/string/contains.dm + +

+ + +
/obj/item/circuit_component/compare/containsChecks if a string contains a word/letter
+ + + diff --git a/code/modules/wiremod/components/string/textcase.html b/code/modules/wiremod/components/string/textcase.html new file mode 100644 index 000000000000..fc55a4b0e9d7 --- /dev/null +++ b/code/modules/wiremod/components/string/textcase.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/string/textcase.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/string/textcase.dm + +

+ + +
/obj/item/circuit_component/textcaseEither makes the text upper case or lower case.
+ + + diff --git a/code/modules/wiremod/components/string/tonumber.html b/code/modules/wiremod/components/string/tonumber.html new file mode 100644 index 000000000000..c71e28501370 --- /dev/null +++ b/code/modules/wiremod/components/string/tonumber.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/string/tonumber.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/string/tonumber.dm + +

+ + +
/obj/item/circuit_component/tonumber#To Number Component
+ + + diff --git a/code/modules/wiremod/components/string/tostring.html b/code/modules/wiremod/components/string/tostring.html new file mode 100644 index 000000000000..8b61cdea1107 --- /dev/null +++ b/code/modules/wiremod/components/string/tostring.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/string/tostring.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/string/tostring.dm + +

+ + +
/obj/item/circuit_component/tostringConverts any value into a string
+ + + diff --git a/code/modules/wiremod/components/utility/clock.html b/code/modules/wiremod/components/utility/clock.html new file mode 100644 index 000000000000..704deee563b0 --- /dev/null +++ b/code/modules/wiremod/components/utility/clock.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/utility/clock.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/utility/clock.dm + +

+ + +
/obj/item/circuit_component/clockFires every tick of the circuit timer SS
+ + + diff --git a/code/modules/wiremod/components/utility/delay.html b/code/modules/wiremod/components/utility/delay.html new file mode 100644 index 000000000000..a8bd68fac2a6 --- /dev/null +++ b/code/modules/wiremod/components/utility/delay.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/wiremod/components/utility/delay.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

code/modules/wiremod/components/utility/delay.dm + +

+ + + +
COMP_DELAY_MIN_VALUEThe minimum delay value that the delay component can have.
/obj/item/circuit_component/delayDelays a signal by a specified duration.

Define Details

+

COMP_DELAY_MIN_VALUE + + +

+

The minimum delay value that the delay component can have.

+ + + diff --git a/code/modules/wiremod/components/utility/router.html b/code/modules/wiremod/components/utility/router.html new file mode 100644 index 000000000000..e7277017e106 --- /dev/null +++ b/code/modules/wiremod/components/utility/router.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/utility/router.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/utility/router.dm + +

+ + +
/obj/item/circuit_component/routerWrites one of multiple inputs to one of multiple outputs.
+ + + diff --git a/code/modules/wiremod/components/utility/timepiece.html b/code/modules/wiremod/components/utility/timepiece.html new file mode 100644 index 000000000000..1bd802c44e07 --- /dev/null +++ b/code/modules/wiremod/components/utility/timepiece.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/utility/timepiece.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/utility/timepiece.dm + +

+ + +
/obj/item/circuit_component/timepiecereturns the current station time.
+ + + diff --git a/code/modules/wiremod/components/utility/typecast.html b/code/modules/wiremod/components/utility/typecast.html new file mode 100644 index 000000000000..40990292c547 --- /dev/null +++ b/code/modules/wiremod/components/utility/typecast.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/utility/typecast.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/utility/typecast.dm + +

+ + +
/obj/item/circuit_component/typecastA component that casts a value to a type if it matches or outputs null.
+ + + diff --git a/code/modules/wiremod/components/utility/typecheck.html b/code/modules/wiremod/components/utility/typecheck.html new file mode 100644 index 000000000000..49c0bb1f3485 --- /dev/null +++ b/code/modules/wiremod/components/utility/typecheck.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/utility/typecheck.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/utility/typecheck.dm + +

+ + +
/obj/item/circuit_component/compare/typecheckChecks the type of a value
+ + + diff --git a/code/modules/wiremod/components/variables/getter.html b/code/modules/wiremod/components/variables/getter.html new file mode 100644 index 000000000000..9e9ee21b2fa8 --- /dev/null +++ b/code/modules/wiremod/components/variables/getter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/variables/getter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/variables/getter.dm + +

+ + +
/obj/item/circuit_component/variable/getterGets the current value from a variable.
+ + + diff --git a/code/modules/wiremod/components/variables/setter.html b/code/modules/wiremod/components/variables/setter.html new file mode 100644 index 000000000000..cb6d8352f36e --- /dev/null +++ b/code/modules/wiremod/components/variables/setter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/variables/setter.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/components/variables/setter.dm + +

+ + +
/obj/item/circuit_component/variable/setterStores the current input when triggered into a variable.
+ + + diff --git a/code/modules/wiremod/core/component.html b/code/modules/wiremod/core/component.html new file mode 100644 index 000000000000..1a9028b0e14b --- /dev/null +++ b/code/modules/wiremod/core/component.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/core/component.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/core/component.dm + +

+ + +
/obj/item/circuit_componentA component that performs a function when given an input
+ + + diff --git a/code/modules/wiremod/core/component_printer.html b/code/modules/wiremod/core/component_printer.html new file mode 100644 index 000000000000..bade13edd4d9 --- /dev/null +++ b/code/modules/wiremod/core/component_printer.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/core/component_printer.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/core/component_printer.dm + +

+ + + +
/obj/machinery/component_printerComponent printer, creates components for integrated circuits.
/obj/machinery/module_duplicatorModule duplicator, allows you to save and recreate module components.
+ + + diff --git a/code/modules/wiremod/core/datatypes.html b/code/modules/wiremod/core/datatypes.html new file mode 100644 index 000000000000..4b021bed0013 --- /dev/null +++ b/code/modules/wiremod/core/datatypes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/core/datatypes.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/core/datatypes.dm + +

+ + +
/datum/circuit_datatypeA circuit datatype. Used to determine the datatype of a port and also handle any additional behaviour.
+ + + diff --git a/code/modules/wiremod/core/integrated_circuit.html b/code/modules/wiremod/core/integrated_circuit.html new file mode 100644 index 000000000000..8a44dc67d4d1 --- /dev/null +++ b/code/modules/wiremod/core/integrated_circuit.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/core/integrated_circuit.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/core/integrated_circuit.dm + +

+ + +
/obj/item/integrated_circuitA circuitboard that holds components that work together
+ + + diff --git a/code/modules/wiremod/core/port.html b/code/modules/wiremod/core/port.html new file mode 100644 index 000000000000..90837e8fe9e0 --- /dev/null +++ b/code/modules/wiremod/core/port.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/wiremod/core/port.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/core/port.dm + +

+ + + + +
/datum/portA port used by a component. Connects to other ports.
/datum/port/outputAn output port that many input ports can connect to
/datum/port/inputAn input port remembers connected output ports.
+ + + diff --git a/code/modules/wiremod/core/usb_cable.html b/code/modules/wiremod/core/usb_cable.html new file mode 100644 index 000000000000..23bd8be9a2d6 --- /dev/null +++ b/code/modules/wiremod/core/usb_cable.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/core/usb_cable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/core/usb_cable.dm + +

+ + +
/obj/item/usb_cableA cable that can connect integrated circuits to anything with a USB port, such as computers and machines.
+ + + diff --git a/code/modules/wiremod/core/variable.html b/code/modules/wiremod/core/variable.html new file mode 100644 index 000000000000..bb0f69a78490 --- /dev/null +++ b/code/modules/wiremod/core/variable.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/core/variable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/core/variable.dm + +

+ + +
/datum/circuit_variableA circuit variable that holds the name, the datatype and the colour of the variable (taken from the datatype).
+ + + diff --git a/code/modules/wiremod/datatypes/composite/composite.html b/code/modules/wiremod/datatypes/composite/composite.html new file mode 100644 index 000000000000..2457cb0905d1 --- /dev/null +++ b/code/modules/wiremod/datatypes/composite/composite.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/wiremod/datatypes/composite/composite.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/datatypes/composite/composite.dm + +

+ + + +
/datum/circuit_composite_templateA template used to make composite datatypes for circuits. +Used so that we don't have to generate every single possible combination of types
/datum/circuit_datatype/composite_instanceA composite instance generated by a template
+ + + diff --git a/code/modules/wiremod/preset/hello_world.html b/code/modules/wiremod/preset/hello_world.html new file mode 100644 index 000000000000..819417d4c422 --- /dev/null +++ b/code/modules/wiremod/preset/hello_world.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/preset/hello_world.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/preset/hello_world.dm + +

+ + +
/obj/item/integrated_circuit/loaded/hello_worldSays "Hello World" when triggered. Needs to be wired up and connected first.
+ + + diff --git a/code/modules/wiremod/preset/speech_relay.html b/code/modules/wiremod/preset/speech_relay.html new file mode 100644 index 000000000000..5ded5644fee9 --- /dev/null +++ b/code/modules/wiremod/preset/speech_relay.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/preset/speech_relay.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/preset/speech_relay.dm + +

+ + +
/obj/item/integrated_circuit/loaded/speech_relayActs like poly. Says whatever it hears.
+ + + diff --git a/code/modules/wiremod/shell/assembly.html b/code/modules/wiremod/shell/assembly.html new file mode 100644 index 000000000000..91b4e607733b --- /dev/null +++ b/code/modules/wiremod/shell/assembly.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/assembly.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/shell/assembly.dm + +

+ + +
/obj/item/assembly/wiremodAn assembly that triggers and can be triggered by wires.
+ + + diff --git a/code/modules/wiremod/shell/bot.html b/code/modules/wiremod/shell/bot.html new file mode 100644 index 000000000000..90d9d8f5f816 --- /dev/null +++ b/code/modules/wiremod/shell/bot.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/bot.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/shell/bot.dm + +

+ + +
/obj/structure/botImmobile (but not dense) shells that can interact with world.
+ + + diff --git a/code/modules/wiremod/shell/compact_remote.html b/code/modules/wiremod/shell/compact_remote.html new file mode 100644 index 000000000000..866e5d00d5b1 --- /dev/null +++ b/code/modules/wiremod/shell/compact_remote.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/compact_remote.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/shell/compact_remote.dm + +

+ + +
/obj/item/compact_remoteA handheld device with one big button.
+ + + diff --git a/code/modules/wiremod/shell/controller.html b/code/modules/wiremod/shell/controller.html new file mode 100644 index 000000000000..20607f04bbfb --- /dev/null +++ b/code/modules/wiremod/shell/controller.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/shell/controller.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/shell/controller.dm + +

+ + +
/obj/item/controllerA handheld device with several buttons. +In game, this translates to having different signals for normal usage, alt-clicking, and ctrl-clicking when in your hand.
+ + + diff --git a/code/modules/wiremod/shell/dispenser.html b/code/modules/wiremod/shell/dispenser.html new file mode 100644 index 000000000000..36a9986006dd --- /dev/null +++ b/code/modules/wiremod/shell/dispenser.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/dispenser.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/shell/dispenser.dm + +

+ + +
/obj/structure/dispenser_botImmobile (but not dense) shell that can receive and dispense items.
+ + + diff --git a/code/modules/wiremod/shell/drone.html b/code/modules/wiremod/shell/drone.html new file mode 100644 index 000000000000..b08c5f3fe6d5 --- /dev/null +++ b/code/modules/wiremod/shell/drone.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/drone.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/shell/drone.dm + +

+ + +
/mob/living/circuit_droneA movable mob that can be fed inputs on which direction to travel.
+ + + diff --git a/code/modules/wiremod/shell/gun.html b/code/modules/wiremod/shell/gun.html new file mode 100644 index 000000000000..1512991ba0f8 --- /dev/null +++ b/code/modules/wiremod/shell/gun.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/gun.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/shell/gun.dm + +

+ + +
/obj/item/gun/energy/wiremod_gunA gun that lets you fire projectiles to enact circuitry.
+ + + diff --git a/code/modules/wiremod/shell/moneybot.html b/code/modules/wiremod/shell/moneybot.html new file mode 100644 index 000000000000..998dcb29c807 --- /dev/null +++ b/code/modules/wiremod/shell/moneybot.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/moneybot.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/shell/moneybot.dm + +

+ + +
/obj/structure/money_botImmobile (but not dense) shell that can receive and dispense money.
+ + + diff --git a/code/modules/wiremod/shell/scanner.html b/code/modules/wiremod/shell/scanner.html new file mode 100644 index 000000000000..a69ee95fcb11 --- /dev/null +++ b/code/modules/wiremod/shell/scanner.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/scanner.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/shell/scanner.dm + +

+ + +
/obj/item/wiremod_scannerA handheld device that lets you flash it over people.
+ + + diff --git a/code/modules/wiremod/shell/server.html b/code/modules/wiremod/shell/server.html new file mode 100644 index 000000000000..474f44d5594c --- /dev/null +++ b/code/modules/wiremod/shell/server.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/shell/server.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/shell/server.dm + +

+ + +
/obj/structure/serverImmobile (but not dense) shells that can interact with +world.
+ + + diff --git a/code/modules/wiremod/shell/shell_items.html b/code/modules/wiremod/shell/shell_items.html new file mode 100644 index 000000000000..89bb45aa5ee3 --- /dev/null +++ b/code/modules/wiremod/shell/shell_items.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/shell_items.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/wiremod/shell/shell_items.dm + +

+ + +
/obj/item/shellPrinted out by protolathes. Screwdriver to complete the shell.
+ + + diff --git a/code/modules/zmimic/mimic_movable.html b/code/modules/zmimic/mimic_movable.html new file mode 100644 index 000000000000..d0a6f97aa738 --- /dev/null +++ b/code/modules/zmimic/mimic_movable.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/zmimic/mimic_movable.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/zmimic/mimic_movable.dm + +

+ + + +

-- OPENSPACE MIMIC --

/atom/movable/openspace/mimicObject used to hold a mimiced atom's appearance.
+ + + diff --git a/code/modules/zmimic/mimic_turf.html b/code/modules/zmimic/mimic_turf.html new file mode 100644 index 000000000000..d41479ae81ca --- /dev/null +++ b/code/modules/zmimic/mimic_turf.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/zmimic/mimic_turf.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/modules/zmimic/mimic_turf.dm + +

+ + +

Update count, used in analyzer.

+ + + diff --git a/code/world.html b/code/world.html new file mode 100644 index 000000000000..5296da38a46b --- /dev/null +++ b/code/world.html @@ -0,0 +1,27 @@ + + + + + + + code/world.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

code/world.dm + +

+ + +
/worldTwo possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke
+ + + diff --git a/connection.html b/connection.html new file mode 100644 index 000000000000..c86ac98b13b0 --- /dev/null +++ b/connection.html @@ -0,0 +1,85 @@ + + + + + + + /connection - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

connection + + + +

+ + + + + + + + + +

Vars

stateInvalid or Valid

Procs

directReturns 1 if no doors are in between A and B.
eraseCalled by update() and connection_manager/erase_all(). Marks the connection as erased and removes it from its edge.
mark_directUnmarks this connection as direct. Does not update the edge. Called by update() as a correction.
mark_indirectUnmarks this connection as direct. Does not update the edge. Called by update() as a correction.
mark_unsimulatedMarks this connection as unsimulated. Updating the connection will check the validity of this. See file header for more information.
updateMakes numerous checks to decide whether the connection is still valid. Erases it automatically if not.
validReturns 1 if the connection has not been erased.
+

Var Details

state + + + + +

+

Invalid or Valid

Proc Details

direct +

+

Returns 1 if no doors are in between A and B.

erase +

+

Called by update() and connection_manager/erase_all(). Marks the connection as erased and removes it from its edge.

mark_direct +

+

Unmarks this connection as direct. Does not update the edge. Called by update() as a correction.

mark_indirect +

+

Unmarks this connection as direct. Does not update the edge. Called by update() as a correction.

mark_unsimulated +

+

Marks this connection as unsimulated. Updating the connection will check the validity of this. See file header for more information.

update +

+

Makes numerous checks to decide whether the connection is still valid. Erases it automatically if not.

valid +

+

Returns 1 if the connection has not been erased.

+ + + diff --git a/connection_edge.html b/connection_edge.html new file mode 100644 index 000000000000..692aacb3a1d1 --- /dev/null +++ b/connection_edge.html @@ -0,0 +1,120 @@ + + + + + + + /connection_edge - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

connection_edge + + + +

+ + + + + + + + + + + + + + +

Vars

AAll connection edges "originate" from a zone. They can connect to either another zone, or an unsimulated turf.
coefficientThis is a marker for how many connections are on this edge. Used to determine the ratio of flow.
connecting_turfsA list containing all the the turfs that make up the connection
directIndirect connections are connections made by zoneblocking turfs.
excitedEdges do not process inherently. They must be excited by SSzas.excite_edge().
last_wooshThe last time the "woosh" airflow sound played, world.time

Procs

add_connectionAdds a connection to this edge. Usually increments the coefficient and adds a turf to connecting_turfs.
contains_zoneReturns true if either A or B is equal to Z. Unsimulated connections return true only on A.
eraseRemoves this connection from processing and zone edge lists.
flowAirflow proc causing all objects in movable to be checked against a pressure differential. See file header for more info.
recheckChecks both connection ends to see if they need to process.
remove_connectionRemoves a connection from this edge. This works even if c is not in the edge, so be careful.
tickCalled every air tick on edges in the processing list. Equalizes gas.
+

Var Details

A + + + + +

+

All connection edges "originate" from a zone. They can connect to either another zone, or an unsimulated turf.

coefficient + + + + +

+

This is a marker for how many connections are on this edge. Used to determine the ratio of flow.

connecting_turfs + + + + +

+

A list containing all the the turfs that make up the connection

direct + + + + +

+

Indirect connections are connections made by zoneblocking turfs.

excited + + + + +

+

Edges do not process inherently. They must be excited by SSzas.excite_edge().

last_woosh + + + + +

+

The last time the "woosh" airflow sound played, world.time

Proc Details

add_connection +

+

Adds a connection to this edge. Usually increments the coefficient and adds a turf to connecting_turfs.

contains_zone +

+

Returns true if either A or B is equal to Z. Unsimulated connections return true only on A.

erase +

+

Removes this connection from processing and zone edge lists.

flow +

+

Airflow proc causing all objects in movable to be checked against a pressure differential. See file header for more info.

recheck +

+

Checks both connection ends to see if they need to process.

remove_connection +

+

Removes a connection from this edge. This works even if c is not in the edge, so be careful.

tick +

+

Called every air tick on edges in the processing list. Equalizes gas.

+ + + diff --git a/datum.html b/datum.html new file mode 100644 index 000000000000..b93eabb57736 --- /dev/null +++ b/datum.html @@ -0,0 +1,494 @@ + + + + + + + /datum - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

datum + + + +

+ +

The absolute base class for everything

+

A datum instantiated has no physical world prescence, use an atom if you want something +that actually lives in the world

+

Be very mindful about adding variables to this class, they are inherited by every single +thing in the entire game, and so you can easily cause memory usage to rise a lot with careless +use of variables at this level

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

abstract_typeIf this var's value is equivalent to the current type, it is considered abstract. +It is illegal to instantiate abstract types.
active_timersActive timers with this datum as the target
comp_lookupAny datum registered to receive signals from this datum is in this list
datum_componentsComponents attached to this datum
datum_flagsDatum level flags
gc_destroyedTick count time when this object was destroyed.
signal_procsLazy associated list in the structure of signals:proctype that are run when the datum receives that signal
status_traitsStatus traits attached to this datum. associative list of the form: list(trait name (string) = list(source1, source2, source3,...))
tgui_shared_statesglobal
weak_referenceA weak reference to another datum

Procs

DestroyDefault implementation of clean-up code.
GenerateTagGenerate a tag for this /datum, if it implements one +Should be called as early as possible, best would be in New, to avoid weakref mistargets +Really just don't use this, you don't need it, global lists will do just fine MOST of the time +We really only use it for mobs to make id'ing people easier
GetComponentReturn any component assigned to this datum of the given type
GetComponentsGet all components of a given type that are attached to this datum
GetExactComponentReturn any component assigned to this datum of the exact given type
RegisterSignalRegister to listen for a signal from the passed in target
TakeComponentTransfer this component to another parent
TopicCalled when a href for this datum is clicked
TransferComponentsTransfer all components to target
UnregisterSignalStop listening to a given signal from target
_AddComponentCreates an instance of new_type in the datum and attaches to it as parent
_AddElementFinds the singleton for the element type given and attaches it to src
_LoadComponentGet existing component of type, or create it and return a reference to it
_RemoveElementFinds the singleton for the element type given and detaches it from src +You only need additional arguments beyond the type if you're using ELEMENT_BESPOKE
_SendSignalInternal proc to handle most all of the signaling procedure
clear_signal_refsOnly override this if you know what you're doing. You do not know what you're doing +This is a threat
deserialize_jsonDeserializes from JSON. Does not parse type.
deserialize_listAccepts a LIST from deserialize_datum. Should return src or another datum.
dump_harddel_infoReturn text from this proc to provide extra context to hard deletes that happen to it +Optional, you should use this for cases where replication is difficult and extra context is required
jatum_new_arglistGets the flat list that can be passed in a new /type(argslist(retval)) expression to recreate the datum. Must only return a list containing values that can be JATUM serialized
processThis proc is called on a datum on every "cycle" if it is being processed by a subsystem. The time between each cycle is determined by the subsystem's "wait" setting. +You can start and stop processing a datum using the START_PROCESSING and STOP_PROCESSING defines.
ref_search_detailsReturn info about us for reference searching purposes +Will be logged as a representation of this datum if it's a part of a search chain
serialize_jsonSerializes into JSON. Does not encode type.
serialize_listReturn a LIST for serialize_datum to encode! Not the actual json!
string_assoc_listCaches associative lists with non-numeric stringify-able index keys and stringify-able values (text/typepath -> text/path/number).
ui_actpublic
ui_assetspublic
ui_closepublic
ui_datapublic
ui_hostprivate
ui_interactpublic
ui_stateprivate
ui_static_datapublic
ui_statuspublic
update_static_datapublic
update_static_data_for_allpublic
+

Var Details

abstract_type + + + + +

+

If this var's value is equivalent to the current type, it is considered abstract. +It is illegal to instantiate abstract types.

active_timers + + + + +

+

Active timers with this datum as the target

comp_lookup + + + + +

+

Any datum registered to receive signals from this datum is in this list

+

Lazy associated list in the structure of signal:registree/list of registrees

datum_components + + + + +

+

Components attached to this datum

+

Lazy associated list in the structure of type:component/list of components

datum_flags + + + + +

+

Datum level flags

gc_destroyed + + + + +

+

Tick count time when this object was destroyed.

+

If this is non zero then the object has been garbage collected and is awaiting either +a hard del by the GC subsystme, or to be autocollected (if it has no references)

signal_procs + + + + +

+

Lazy associated list in the structure of signals:proctype that are run when the datum receives that signal

status_traits + + + + +

+

Status traits attached to this datum. associative list of the form: list(trait name (string) = list(source1, source2, source3,...))

tgui_shared_states + + + + +

+

global

+

Associative list of JSON-encoded shared states that were set by +tgui clients.

weak_reference + + + + +

+

A weak reference to another datum

Proc Details

Destroy +

+

Default implementation of clean-up code.

+

This should be overridden to remove all references pointing to the object being destroyed, if +you do override it, make sure to call the parent and return it's return value by default

+

Return an appropriate QDEL_HINT to modify handling of your deletion; +in most cases this is QDEL_HINT_QUEUE.

+

The base case is responsible for doing the following

+ +

Returns QDEL_HINT_QUEUE

GenerateTag +

+

Generate a tag for this /datum, if it implements one +Should be called as early as possible, best would be in New, to avoid weakref mistargets +Really just don't use this, you don't need it, global lists will do just fine MOST of the time +We really only use it for mobs to make id'ing people easier

GetComponent +

+

Return any component assigned to this datum of the given type

+

This will throw an error if it's possible to have more than one component of that type on the parent

+

Arguments:

+

GetComponents +

+

Get all components of a given type that are attached to this datum

+

Arguments:

+

GetExactComponent +

+

Return any component assigned to this datum of the exact given type

+

This will throw an error if it's possible to have more than one component of that type on the parent

+

Arguments:

+

RegisterSignal +

+

Register to listen for a signal from the passed in target

+

This sets up a listening relationship such that when the target object emits a signal +the source datum this proc is called upon, will receive a callback to the given proctype +Return values from procs registered must be a bitfield

+

Arguments:

+

TakeComponent +

+

Transfer this component to another parent

+

Component is taken from source datum

+

Arguments:

+

Topic +

+

Called when a href for this datum is clicked

+

Sends a COMSIG_TOPIC signal

TransferComponents +

+

Transfer all components to target

+

All components from source datum are taken

+

Arguments:

+

UnregisterSignal +

+

Stop listening to a given signal from target

+

Breaks the relationship between target and source datum, removing the callback when the signal fires

+

Doesn't care if a registration exists or not

+

Arguments:

+

_AddComponent +

+

Creates an instance of new_type in the datum and attaches to it as parent

+

Sends the COMSIG_COMPONENT_ADDED signal to the datum

+

Returns the component that was created. Or the old component in a dupe situation where COMPONENT_DUPE_UNIQUE was set

+

If this tries to add a component to an incompatible type, the component will be deleted and the result will be null. This is very unperformant, try not to do it

+

Properly handles duplicate situations based on the dupe_mode var

_AddElement +

+

Finds the singleton for the element type given and attaches it to src

_LoadComponent +

+

Get existing component of type, or create it and return a reference to it

+

Use this if the item needs to exist at the time of this call, but may not have been created before now

+

Arguments:

+

_RemoveElement +

+

Finds the singleton for the element type given and detaches it from src +You only need additional arguments beyond the type if you're using ELEMENT_BESPOKE

_SendSignal +

+

Internal proc to handle most all of the signaling procedure

+

Will runtime if used on datums with an empty component list

+

Use the SEND_SIGNAL define instead

clear_signal_refs +

+

Only override this if you know what you're doing. You do not know what you're doing +This is a threat

deserialize_json +

+

Deserializes from JSON. Does not parse type.

deserialize_list +

+

Accepts a LIST from deserialize_datum. Should return src or another datum.

dump_harddel_info +

+

Return text from this proc to provide extra context to hard deletes that happen to it +Optional, you should use this for cases where replication is difficult and extra context is required

jatum_new_arglist +

+

Gets the flat list that can be passed in a new /type(argslist(retval)) expression to recreate the datum. Must only return a list containing values that can be JATUM serialized

process +

+

This proc is called on a datum on every "cycle" if it is being processed by a subsystem. The time between each cycle is determined by the subsystem's "wait" setting. +You can start and stop processing a datum using the START_PROCESSING and STOP_PROCESSING defines.

+

Since the wait setting of a subsystem can be changed at any time, it is important that any rate-of-change that you implement in this proc is multiplied by the delta_time that is sent as a parameter, +Additionally, any "prob" you use in this proc should instead use the DT_PROB define to make sure that the final probability per second stays the same even if the subsystem's wait is altered. +Examples where this must be considered:

+ +

If you override this do not call parent, as it will return PROCESS_KILL. This is done to prevent objects that dont override process() from staying in the processing list

ref_search_details +

+

Return info about us for reference searching purposes +Will be logged as a representation of this datum if it's a part of a search chain

serialize_json +

+

Serializes into JSON. Does not encode type.

serialize_list +

+

Return a LIST for serialize_datum to encode! Not the actual json!

string_assoc_list +

+

Caches associative lists with non-numeric stringify-able index keys and stringify-able values (text/typepath -> text/path/number).

ui_act +

+

public

+

Called on a UI when the UI receieves a href. +Think of this as Topic().

+

required action string The action/button that has been invoked by the user. +required params list A list of parameters attached to the button.

+

return bool If the user's input has been handled and the UI should update.

ui_assets +

+

public

+

Called on an object when a tgui object is being created, allowing you to +push various assets to tgui, for examples spritesheets.

+

return list List of asset datums or file paths.

ui_close +

+

public

+

Called on a UI's object when the UI is closed, not to be confused with +client/verb/uiclose(), which closes the ui window

ui_data +

+

public

+

Data to be sent to the UI. +This must be implemented for a UI to work.

+

required user mob The mob interacting with the UI.

+

return list Data to be sent to the UI.

ui_host +

+

private

+

The UI's host object (usually src_object). +This allows modules/datums to have the UI attached to them, +and be a part of another object.

ui_interact +

+

public

+

Used to open and update UIs. +If this proc is not implemented properly, the UI will not update correctly.

+

required user mob The mob who opened/is using the UI. +optional ui datum/tgui The UI to be updated, if it exists.

ui_state +

+

private

+

The UI's state controller to be used for created uis +This is a proc over a var for memory reasons

ui_static_data +

+

public

+

Static Data to be sent to the UI.

+

Static data differs from normal data in that it's large data that should be +sent infrequently. This is implemented optionally for heavy uis that would +be sending a lot of redundant data frequently. Gets squished into one +object on the frontend side, but the static part is cached.

+

required user mob The mob interacting with the UI.

+

return list Statuic Data to be sent to the UI.

ui_status +

+

public

+

Checks the UI state for a mob.

+

required user mob The mob who opened/is using the UI. +required state datum/ui_state The state to check.

+

return UI_state The state of the UI.

update_static_data +

+

public

+

Forces an update on static data. Should be done manually whenever something +happens to change static data.

+

required user the mob currently interacting with the ui +optional ui ui to be updated

update_static_data_for_all +

+

public

+

Forces an update on static data. Should be done manually whenever something +happens to change static data. Applies to all UIs tied to this object.

+ + + diff --git a/datum/abductor_gear.html b/datum/abductor_gear.html new file mode 100644 index 000000000000..65b6d48a5dc0 --- /dev/null +++ b/datum/abductor_gear.html @@ -0,0 +1,71 @@ + + + + + + + /datum/abductor_gear - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

abductor_gear + + + +

+ + + + + + + +

Vars

build_pathBuild path of the gear itself
categoryCategory of the gear
costCredit cost of the gear
descriptionDescription of the gear
idUnique ID of the gear
nameName of the gear
+

Var Details

build_path + + + + +

+

Build path of the gear itself

category + + + + +

+

Category of the gear

cost + + + + +

+

Credit cost of the gear

description + + + + +

+

Description of the gear

id + + + + +

+

Unique ID of the gear

name + + + + +

+

Name of the gear

+ + + diff --git a/datum/achievement_data.html b/datum/achievement_data.html new file mode 100644 index 000000000000..1e984b1d9091 --- /dev/null +++ b/datum/achievement_data.html @@ -0,0 +1,92 @@ + + + + + + + /datum/achievement_data - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

achievement_data + + + +

+ +

Datum that handles

+ + + + + + + + +

Vars

dataUp to date list of all achievements and their info.
initializedHave we done our set-up yet?
original_cached_dataOriginal status of achievement.
owner_ckeyCkey of this achievement data's owner

Procs

get_achievement_statusGetter for the status/score of an achievement
get_changed_dataGets list of changed rows in MassInsert format
get_dataUpdates local cache with db data for the given achievement type if it wasn't loaded yet.
resetResets an achievement to default values.
unlockUnlocks an achievement of a specific type. achievement type is a typepath to the award, user is the mob getting the award, and value is an optional value to be used for defining a score to add to the leaderboard
+

Var Details

data + + + + +

+

Up to date list of all achievements and their info.

initialized + + + + +

+

Have we done our set-up yet?

original_cached_data + + + + +

+

Original status of achievement.

owner_ckey + + + + +

+

Ckey of this achievement data's owner

Proc Details

get_achievement_status +

+

Getter for the status/score of an achievement

get_changed_data +

+

Gets list of changed rows in MassInsert format

get_data +

+

Updates local cache with db data for the given achievement type if it wasn't loaded yet.

reset +

+

Resets an achievement to default values.

unlock +

+

Unlocks an achievement of a specific type. achievement type is a typepath to the award, user is the mob getting the award, and value is an optional value to be used for defining a score to add to the leaderboard

+ + + diff --git a/datum/action.html b/datum/action.html new file mode 100644 index 000000000000..28b29d690f98 --- /dev/null +++ b/datum/action.html @@ -0,0 +1,333 @@ + + + + + + + /datum/action - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Action system + + + +

+ +

A simple base for an modular behavior attached to atom or datum.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

background_iconThis is the file for the BACKGROUND underlay icon of the button
background_icon_stateThis is the icon state state for the BACKGROUND underlay icon of the button +(If set to ACTION_BUTTON_DEFAULT_BACKGROUND, uses the hud's default background)
button_iconThis is the file for the icon that appears on the button
button_icon_stateThis is the icon state for the icon that appears on the button
buttontooltipstyleThe style the button's tooltips appear to be
check_flagsFlags that will determine of the owner / user of the action can... use the action
default_button_positionWhere any buttons we create should be by default. Accepts screen_loc and location defines
descThe description of what the action does, shown in button tooltips
nameThe name of the action
overlay_iconThis is the file for any FOREGROUND overlay icons on the button (such as borders)
overlay_icon_stateThis is the icon state for any FOREGROUND overlay icons on the button (such as borders)
ownerThis is who currently owns the action, and most often, this is who is using the action if it is triggered +This can be the same as "target" but is not ALWAYS the same - this is set and unset with Grant() and Remove()
owner_has_controlIf False, the owner of this action does not get a hud and cannot activate it on their own
show_to_observersIf TRUE, this action button will be shown to observers / other mobs who view from this action's owner's eyes. +Used in /mob/proc/show_other_mob_action_buttons
targetThe target the action is attached to. If the target datum is deleted, the action is as well. +Set in New() via the proc link_to(). PLEASE set a target if you're making an action
transparent_when_unavailableWhether the button becomes transparent when it can't be used, or just reddened
viewersList of all mobs that are viewing our action button -> A unique movable for them to view.

Procs

GiveActionGives our action to the passed viewer. +Puts our action in their actions list and shows them the button.
GrantGrants the action to the passed mob, making it the owner
HideFromRemoves our action from the passed viewer.
IsAvailableWhether our action is currently available to use or not
RemoveRemove the passed mob from being owner of our action
ShowToAdds our action button to the screen of the passed viewer.
TriggerActually triggers the effects of the action. +Called when the on-screen button is clicked, for example.
apply_button_backgroundCreates the background underlay for the button
apply_button_iconApplies our button icon and icon state to the button
apply_button_overlayApplies any overlays to our button
build_all_button_iconsBuilds / updates all buttons we have shared or given out
build_button_iconBuilds the icon of the button.
clear_refSignal proc that clears any references based on the owner or target deleting +If the owner's deleted, we will simply remove from them, but if the target's deleted, we will self-delete
create_buttonCreates an action button movable for the passed mob, and returns it.
is_action_activeChecks if our action is actively selected. Used for selecting icons primarily.
link_toLinks the passed target to our action, registering any relevant signals
on_target_icon_updateUpdates our buttons if our target's icon was updated
on_target_mind_swappedSignal proc for COMSIG_MIND_TRANSFERRED - for minds, transfers our action to our new mob on mind transfer
update_button_nameUpdates the name and description of the button to match our action name and discription.
update_button_statusAny other miscellaneous "status" updates within the action button is handled here, +such as redding out when unavailable or modifying maptext.
update_status_on_signalA general use signal proc that reacts to an event and updates JUST our button's status
+

Var Details

background_icon + + + + +

+

This is the file for the BACKGROUND underlay icon of the button

background_icon_state + + + + +

+

This is the icon state state for the BACKGROUND underlay icon of the button +(If set to ACTION_BUTTON_DEFAULT_BACKGROUND, uses the hud's default background)

button_icon + + + + +

+

This is the file for the icon that appears on the button

button_icon_state + + + + +

+

This is the icon state for the icon that appears on the button

buttontooltipstyle + + + + +

+

The style the button's tooltips appear to be

check_flags + + + + +

+

Flags that will determine of the owner / user of the action can... use the action

default_button_position + + + + +

+

Where any buttons we create should be by default. Accepts screen_loc and location defines

desc + + + + +

+

The description of what the action does, shown in button tooltips

name + + + + +

+

The name of the action

overlay_icon + + + + +

+

This is the file for any FOREGROUND overlay icons on the button (such as borders)

overlay_icon_state + + + + +

+

This is the icon state for any FOREGROUND overlay icons on the button (such as borders)

owner + + + + +

+

This is who currently owns the action, and most often, this is who is using the action if it is triggered +This can be the same as "target" but is not ALWAYS the same - this is set and unset with Grant() and Remove()

owner_has_control + + + + +

+

If False, the owner of this action does not get a hud and cannot activate it on their own

show_to_observers + + + + +

+

If TRUE, this action button will be shown to observers / other mobs who view from this action's owner's eyes. +Used in /mob/proc/show_other_mob_action_buttons

target + + + + +

+

The target the action is attached to. If the target datum is deleted, the action is as well. +Set in New() via the proc link_to(). PLEASE set a target if you're making an action

transparent_when_unavailable + + + + +

+

Whether the button becomes transparent when it can't be used, or just reddened

viewers + + + + +

+

List of all mobs that are viewing our action button -> A unique movable for them to view.

Proc Details

GiveAction +

+

Gives our action to the passed viewer. +Puts our action in their actions list and shows them the button.

Grant +

+

Grants the action to the passed mob, making it the owner

HideFrom +

+

Removes our action from the passed viewer.

IsAvailable +

+

Whether our action is currently available to use or not

+

Remove +

+

Remove the passed mob from being owner of our action

ShowTo +

+

Adds our action button to the screen of the passed viewer.

Trigger +

+

Actually triggers the effects of the action. +Called when the on-screen button is clicked, for example.

apply_button_background +

+

Creates the background underlay for the button

+

current_button - what button are we editing? +force - whether an update is forced regardless of existing status

apply_button_icon +

+

Applies our button icon and icon state to the button

+

current_button - what button are we editing? +force - whether an update is forced regardless of existing status

apply_button_overlay +

+

Applies any overlays to our button

+

current_button - what button are we editing? +force - whether an update is forced regardless of existing status

build_all_button_icons +

+

Builds / updates all buttons we have shared or given out

build_button_icon +

+

Builds the icon of the button.

+

Concept:

+ +

button - which button we are modifying the icon of +force - whether we're forcing a full update

clear_ref +

+

Signal proc that clears any references based on the owner or target deleting +If the owner's deleted, we will simply remove from them, but if the target's deleted, we will self-delete

create_button +

+

Creates an action button movable for the passed mob, and returns it.

is_action_active +

+

Checks if our action is actively selected. Used for selecting icons primarily.

+

Links the passed target to our action, registering any relevant signals

on_target_icon_update +

+

Updates our buttons if our target's icon was updated

on_target_mind_swapped +

+

Signal proc for COMSIG_MIND_TRANSFERRED - for minds, transfers our action to our new mob on mind transfer

update_button_name +

+

Updates the name and description of the button to match our action name and discription.

+

current_button - what button are we editing? +force - whether an update is forced regardless of existing status

update_button_status +

+

Any other miscellaneous "status" updates within the action button is handled here, +such as redding out when unavailable or modifying maptext.

+

current_button - what button are we editing? +force - whether an update is forced regardless of existing status

update_status_on_signal +

+

A general use signal proc that reacts to an event and updates JUST our button's status

+ + + diff --git a/datum/action/changeling.html b/datum/action/changeling.html new file mode 100644 index 000000000000..9a44e5e2c3be --- /dev/null +++ b/datum/action/changeling.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/changeling - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

changeling + + + +

+ + + +

Vars

req_statMaximum stat before the ability is blocked. For example, UNCONSCIOUS prevents it from being used when in hard crit or dead, while DEAD allows the ability to be used on any stat values.

Procs

try_to_stingContrary to the name, this proc isn't just used by changeling stings. It handles the activation of the action and the deducation of its cost. +The order of the proc chain is: +can_sting(). Should this fail, the process gets aborted early. +sting_action(). This proc usually handles the actual effect of the action. +Should sting_action succeed the following will be done: +sting_feedback(). Produces feedback on the performed action. Don't ask me why this isn't handled in sting_action() +The deduction of the cost of this power. +Returns TRUE on a successful activation.
+

Var Details

req_stat + + + + +

+

Maximum stat before the ability is blocked. For example, UNCONSCIOUS prevents it from being used when in hard crit or dead, while DEAD allows the ability to be used on any stat values.

Proc Details

try_to_sting +

+

Contrary to the name, this proc isn't just used by changeling stings. It handles the activation of the action and the deducation of its cost. +The order of the proc chain is: +can_sting(). Should this fail, the process gets aborted early. +sting_action(). This proc usually handles the actual effect of the action. +Should sting_action succeed the following will be done: +sting_feedback(). Produces feedback on the performed action. Don't ask me why this isn't handled in sting_action() +The deduction of the cost of this power. +Returns TRUE on a successful activation.

+ + + diff --git a/datum/action/changeling/absorb_dna.html b/datum/action/changeling/absorb_dna.html new file mode 100644 index 000000000000..976a720698e6 --- /dev/null +++ b/datum/action/changeling/absorb_dna.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/changeling/absorb_dna - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

absorb_dna + + + +

+ + +

Vars

is_absorbingif we're currently absorbing, used for sanity
+

Var Details

is_absorbing + + + + +

+

if we're currently absorbing, used for sanity

+ + + diff --git a/datum/action/consume.html b/datum/action/consume.html new file mode 100644 index 000000000000..8890156ed713 --- /dev/null +++ b/datum/action/consume.html @@ -0,0 +1,84 @@ + + + + + + + /datum/action/consume - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

consume + + + +

+ +

This action lets you consume the mob you're currently pulling. I'M GONNA CONSUUUUUME (this is considered one of the funny memes in the 2019-2020 era)

+ + + + + + +

Vars

vored_mobThe mob thats being consumed by this creature

Procs

NewRegister for owner death
TriggerTry to consume the pulled mob
on_owner_deathHeal 6% of these specific damage types each process +Dump em at 200 cloneloss. +On owner death dump the current vored mob
processGain health for the consumption and dump some clone loss on the target.
start_consumingStart allowing this datum to process to handle the damage done to this mob.
stop_consumingAAAAAAAAAAAAAAAAAAAAAAHHH!!! +Stop consuming the mob; dump them on the floor
+

Var Details

vored_mob + + + + +

+

The mob thats being consumed by this creature

Proc Details

New +

+

Register for owner death

Trigger +

+

Try to consume the pulled mob

on_owner_death +

+

Heal 6% of these specific damage types each process +Dump em at 200 cloneloss. +On owner death dump the current vored mob

process +

+

Gain health for the consumption and dump some clone loss on the target.

start_consuming +

+

Start allowing this datum to process to handle the damage done to this mob.

stop_consuming +

+

AAAAAAAAAAAAAAAAAAAAAAHHH!!! +Stop consuming the mob; dump them on the floor

+ + + diff --git a/datum/action/cooldown.html b/datum/action/cooldown.html new file mode 100644 index 000000000000..8ec568a571ce --- /dev/null +++ b/datum/action/cooldown.html @@ -0,0 +1,266 @@ + + + + + + + /datum/action/cooldown - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cooldown + + + +

+ +

Preset for an action that has a cooldown.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_background_icon_stateThe icon state the background uses when active
active_icon_stateThe active icon state of the spell's button icon, used for editing the icon "on"
active_overlay_icon_stateThe active icon_state of the overlay we apply
base_background_icon_stateThe base icon_state of this action's background
base_icon_stateThe base icon state of the spell's button icon, used for editing the icon "off"
base_overlay_icon_stateThe base icon_state of the overlay we apply
click_cd_overrideThe cooldown added onto the user's next click.
click_to_activateSetting for intercepting clicks before activating the ability
cooldown_timeThe default cooldown applied when StartCooldown() is called
initialized_actionsList of prerequisite actions that have been initialized
melee_cooldown_timeThe default melee cooldown applied after the ability ends
next_melee_use_timeThe actual next time the owner of this action can melee
next_use_timeThe actual next time this ability can be used
panelThe stat panel this action shows up in the stat panel in. If null, will not show up.
ranged_mousepointerWhat icon to replace our mouse cursor with when active. Optional
sequence_actionsList of prerequisite actions that are used in this sequenced ability, you cannot put other sequenced abilities in this
shared_cooldownShares cooldowns with other abiliies, bitflag
text_cooldownWhether or not you want the cooldown for the ability to display in text form
unset_after_clickIf TRUE, we will unset after using our click intercept.
write_logIf TRUE, will log action usage to the owner's action log.

Procs

ActivateTo be implemented by subtypes (if not generic)
InterceptClickOnIntercepts client owner clicks to activate the ability
PreActivateFor signal calling
StartCooldownStarts a cooldown time to be shared with similar abilities +Will use default cooldown time if an override is not specified
StartCooldownOthersStarts a cooldown time for other abilities that share a cooldown with this. Has some niche usage with more complicated attack ai! +Will use default cooldown time if an override is not specified
StartCooldownSelfStarts a cooldown time for this ability only +Will use default cooldown time if an override is not specified
create_sequence_actionsInitializes any sequence actions
handle_melee_attackCancels melee attacks if they are on cooldown.
is_valid_targetCheck if the target we're casting on is a valid target. +For no-target (self cast) actions, the target being checked (cast_on) is the caster. +For click_to_activate actions, the target being checked is the clicked atom.
set_click_abilitySet our action as the click override on the passed mob.
set_statpanel_formatFormats the action to be returned to the stat panel.
unset_click_abilityUnset our action as the click override of the passed mob.
+

Var Details

active_background_icon_state + + + + +

+

The icon state the background uses when active

active_icon_state + + + + +

+

The active icon state of the spell's button icon, used for editing the icon "on"

active_overlay_icon_state + + + + +

+

The active icon_state of the overlay we apply

base_background_icon_state + + + + +

+

The base icon_state of this action's background

base_icon_state + + + + +

+

The base icon state of the spell's button icon, used for editing the icon "off"

base_overlay_icon_state + + + + +

+

The base icon_state of the overlay we apply

click_cd_override + + + + +

+

The cooldown added onto the user's next click.

click_to_activate + + + + +

+

Setting for intercepting clicks before activating the ability

cooldown_time + + + + +

+

The default cooldown applied when StartCooldown() is called

initialized_actions + + + + +

+

List of prerequisite actions that have been initialized

melee_cooldown_time + + + + +

+

The default melee cooldown applied after the ability ends

next_melee_use_time + + + + +

+

The actual next time the owner of this action can melee

next_use_time + + + + +

+

The actual next time this ability can be used

panel + + + + +

+

The stat panel this action shows up in the stat panel in. If null, will not show up.

ranged_mousepointer + + + + +

+

What icon to replace our mouse cursor with when active. Optional

sequence_actions + + + + +

+

List of prerequisite actions that are used in this sequenced ability, you cannot put other sequenced abilities in this

shared_cooldown + + + + +

+

Shares cooldowns with other abiliies, bitflag

text_cooldown + + + + +

+

Whether or not you want the cooldown for the ability to display in text form

unset_after_click + + + + +

+

If TRUE, we will unset after using our click intercept.

write_log + + + + +

+

If TRUE, will log action usage to the owner's action log.

Proc Details

Activate +

+

To be implemented by subtypes (if not generic)

InterceptClickOn +

+

Intercepts client owner clicks to activate the ability

PreActivate +

+

For signal calling

StartCooldown +

+

Starts a cooldown time to be shared with similar abilities +Will use default cooldown time if an override is not specified

StartCooldownOthers +

+

Starts a cooldown time for other abilities that share a cooldown with this. Has some niche usage with more complicated attack ai! +Will use default cooldown time if an override is not specified

StartCooldownSelf +

+

Starts a cooldown time for this ability only +Will use default cooldown time if an override is not specified

create_sequence_actions +

+

Initializes any sequence actions

handle_melee_attack +

+

Cancels melee attacks if they are on cooldown.

is_valid_target +

+

Check if the target we're casting on is a valid target. +For no-target (self cast) actions, the target being checked (cast_on) is the caster. +For click_to_activate actions, the target being checked is the clicked atom.

+

Return TRUE if cast_on is valid, FALSE otherwise

set_click_ability +

+

Set our action as the click override on the passed mob.

set_statpanel_format +

+

Formats the action to be returned to the stat panel.

unset_click_ability +

+

Unset our action as the click override of the passed mob.

+

if refund_cooldown is TRUE, we are being unset by the user clicking the action off +if refund_cooldown is FALSE, we are being forcefully unset, likely by someone actually using the action

+ + + diff --git a/datum/action/cooldown/alien.html b/datum/action/cooldown/alien.html new file mode 100644 index 000000000000..f41b33438358 --- /dev/null +++ b/datum/action/cooldown/alien.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/alien - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

alien + + + +

+ + +

Vars

plasma_costHow much plasma this action uses.
+

Var Details

plasma_cost + + + + +

+

How much plasma this action uses.

+ + + diff --git a/datum/action/cooldown/alien/hide.html b/datum/action/cooldown/alien/hide.html new file mode 100644 index 000000000000..6a001d5e732e --- /dev/null +++ b/datum/action/cooldown/alien/hide.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/alien/hide - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hide + + + +

+ + +

Vars

hide_layerThe layer we are on while hiding
+

Var Details

hide_layer + + + + +

+

The layer we are on while hiding

+ + + diff --git a/datum/action/cooldown/alien/make_structure.html b/datum/action/cooldown/alien/make_structure.html new file mode 100644 index 000000000000..1c3557aff7e2 --- /dev/null +++ b/datum/action/cooldown/alien/make_structure.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/alien/make_structure - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

make_structure + + + +

+ + + + +

Vars

made_structure_typeThe type of structure the action makes on use

Procs

check_for_duplicateChecks if there's a duplicate structure in the owner's turf
check_for_ventsChecks if there's an atmos machine (vent) in the owner's turf
+

Var Details

made_structure_type + + + + +

+

The type of structure the action makes on use

Proc Details

check_for_duplicate +

+

Checks if there's a duplicate structure in the owner's turf

check_for_vents +

+

Checks if there's an atmos machine (vent) in the owner's turf

+ + + diff --git a/datum/action/cooldown/alien/make_structure/resin.html b/datum/action/cooldown/alien/make_structure/resin.html new file mode 100644 index 000000000000..7ec183ddd738 --- /dev/null +++ b/datum/action/cooldown/alien/make_structure/resin.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/alien/make_structure/resin - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

resin + + + +

+ + +

Vars

structuresA list of all structures we can make.
+

Var Details

structures + + + + +

+

A list of all structures we can make.

+ + + diff --git a/datum/action/cooldown/alien/promote.html b/datum/action/cooldown/alien/promote.html new file mode 100644 index 000000000000..3facc5a131a2 --- /dev/null +++ b/datum/action/cooldown/alien/promote.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/alien/promote - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

promote + + + +

+ + +

Vars

promotion_plasma_costThe promotion only takes plasma when completed, not on activation.
+

Var Details

promotion_plasma_cost + + + + +

+

The promotion only takes plasma when completed, not on activation.

+ + + diff --git a/datum/action/cooldown/alien/sneak.html b/datum/action/cooldown/alien/sneak.html new file mode 100644 index 000000000000..e0cf614b0dd1 --- /dev/null +++ b/datum/action/cooldown/alien/sneak.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/alien/sneak - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sneak + + + +

+ + +

Vars

sneak_alphaThe alpha we go to when sneaking.
+

Var Details

sneak_alpha + + + + +

+

The alpha we go to when sneaking.

+ + + diff --git a/datum/action/cooldown/exquisite_bunch.html b/datum/action/cooldown/exquisite_bunch.html new file mode 100644 index 000000000000..3b569be0dfe6 --- /dev/null +++ b/datum/action/cooldown/exquisite_bunch.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/exquisite_bunch - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

exquisite_bunch + + + +

+ +

spawns a plumb bunch of bananas imbued with mystical power.

+

Vars

activatingIf we are currently activating our ability.
+

Var Details

activating + + + + +

+

If we are currently activating our ability.

+ + + diff --git a/datum/action/cooldown/gel_cocoon.html b/datum/action/cooldown/gel_cocoon.html new file mode 100644 index 000000000000..6b7f0d3952e9 --- /dev/null +++ b/datum/action/cooldown/gel_cocoon.html @@ -0,0 +1,49 @@ + + + + + + + /datum/action/cooldown/gel_cocoon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

gel_cocoon + + + +

+ +

This action lets you put a mob inside of a cacoon that will inject it with some chemicals.

+ + +

Procs

IsAvailableMob needs to have enough nutrition
gel_cocoonTry to put the pulled mob in a cocoon
put_in_cocoonPuts the mob in the new cocoon

Proc Details

IsAvailable +

+

Mob needs to have enough nutrition

gel_cocoon +

+

Try to put the pulled mob in a cocoon

put_in_cocoon +

+

Puts the mob in the new cocoon

+ + + diff --git a/datum/action/cooldown/metabolicboost.html b/datum/action/cooldown/metabolicboost.html new file mode 100644 index 000000000000..ea20d7f63a50 --- /dev/null +++ b/datum/action/cooldown/metabolicboost.html @@ -0,0 +1,56 @@ + + + + + + + /datum/action/cooldown/metabolicboost - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

metabolicboost + + + +

+ +

This ability lets the gelatinious ooze speed up for a little bit

+ + + +

Procs

ActivateGive the mob a speed boost, heat it up every second, and end the ability in 6 seconds
FinishSpeedupRemove the speed modifier and delete the timer for heating up
HeatUpHeat up the mob a little
IsAvailableMob needs to have enough nutrition

Proc Details

Activate +

+

Give the mob a speed boost, heat it up every second, and end the ability in 6 seconds

FinishSpeedup +

+

Remove the speed modifier and delete the timer for heating up

HeatUp +

+

Heat up the mob a little

IsAvailable +

+

Mob needs to have enough nutrition

+ + + diff --git a/datum/action/cooldown/mob_cooldown/blood_warp.html b/datum/action/cooldown/mob_cooldown/blood_warp.html new file mode 100644 index 000000000000..cb1f93831dc3 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/blood_warp.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/blood_warp - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

blood_warp + + + +

+ + + + +

Vars

client_pick_rangeThe range of turfs if a client is using this ability
pick_rangeThe range of turfs to try to jaunt to from around the target
remove_inner_poolsWhether or not to remove the inside of our radius from the possible pools to jaunt to
+

Var Details

client_pick_range + + + + +

+

The range of turfs if a client is using this ability

pick_range + + + + +

+

The range of turfs to try to jaunt to from around the target

remove_inner_pools + + + + +

+

Whether or not to remove the inside of our radius from the possible pools to jaunt to

+ + + diff --git a/datum/action/cooldown/mob_cooldown/charge.html b/datum/action/cooldown/mob_cooldown/charge.html new file mode 100644 index 000000000000..3b4f8eebd648 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/charge.html @@ -0,0 +1,85 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/charge - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

charge + + + +

+ + + + + + + + + +

Vars

actively_movingIf the current move is being triggered by us or not
charge_damageThe damage the charger does when bumping into something
charge_delayDelay before the charge actually occurs
charge_distanceThe maximum distance we can charge
charge_pastThe amount of turfs we move past the target
charge_speedThe sleep time before moving in deciseconds while charging
chargingList of charging mobs
destroy_objectsIf we destroy objects while charging
+

Var Details

actively_moving + + + + +

+

If the current move is being triggered by us or not

charge_damage + + + + +

+

The damage the charger does when bumping into something

charge_delay + + + + +

+

Delay before the charge actually occurs

charge_distance + + + + +

+

The maximum distance we can charge

charge_past + + + + +

+

The amount of turfs we move past the target

charge_speed + + + + +

+

The sleep time before moving in deciseconds while charging

charging + + + + +

+

List of charging mobs

destroy_objects + + + + +

+

If we destroy objects while charging

+ + + diff --git a/datum/action/cooldown/mob_cooldown/dash.html b/datum/action/cooldown/mob_cooldown/dash.html new file mode 100644 index 000000000000..9046a7783144 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/dash.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/dash - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

dash + + + +

+ + + + +

Vars

client_pick_rangeThe pick range if a client is using this ability
dash_rangeThe range of the dash
pick_rangeThe distance you will be from the target after you dash
+

Var Details

client_pick_range + + + + +

+

The pick range if a client is using this ability

dash_range + + + + +

+

The range of the dash

pick_range + + + + +

+

The distance you will be from the target after you dash

+ + + diff --git a/datum/action/cooldown/mob_cooldown/projectile_attack.html b/datum/action/cooldown/mob_cooldown/projectile_attack.html new file mode 100644 index 000000000000..61bd695b82a1 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/projectile_attack.html @@ -0,0 +1,71 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/projectile_attack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

projectile_attack + + + +

+ + + + + + + +

Vars

default_projectile_spreadThe variance in the projectiles direction
has_homingIf the projectile should home in on its target
homing_turn_speedThe turning speed if there is homing
projectile_soundThe sound played when a projectile is fired
projectile_speed_multiplierThe multiplier to the projectiles speed (a value of 2 makes it twice as slow, 0.5 makes it twice as fast)
projectile_typeThe type of the projectile to be fired
+

Var Details

default_projectile_spread + + + + +

+

The variance in the projectiles direction

has_homing + + + + +

+

If the projectile should home in on its target

homing_turn_speed + + + + +

+

The turning speed if there is homing

projectile_sound + + + + +

+

The sound played when a projectile is fired

projectile_speed_multiplier + + + + +

+

The multiplier to the projectiles speed (a value of 2 makes it twice as slow, 0.5 makes it twice as fast)

projectile_type + + + + +

+

The type of the projectile to be fired

+ + + diff --git a/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire.html b/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire.html new file mode 100644 index 000000000000..23e8b3b409b1 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

rapid_fire + + + +

+ + + +

Vars

shot_countTotal shot count
shot_delayDelay between shots
+

Var Details

shot_count + + + + +

+

Total shot count

shot_delay + + + + +

+

Delay between shots

+ + + diff --git a/datum/action/cooldown/mob_cooldown/projectile_attack/spiral_shots.html b/datum/action/cooldown/mob_cooldown/projectile_attack/spiral_shots.html new file mode 100644 index 000000000000..83300619053d --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/projectile_attack/spiral_shots.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/projectile_attack/spiral_shots - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

spiral_shots + + + +

+ + +

Vars

enragedWhether or not the attack is the enraged form
+

Var Details

enraged + + + + +

+

Whether or not the attack is the enraged form

+ + + diff --git a/datum/action/cooldown/riot.html b/datum/action/cooldown/riot.html new file mode 100644 index 000000000000..7987e295809a --- /dev/null +++ b/datum/action/cooldown/riot.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/cooldown/riot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

riot + + + +

+ +

This action checks all nearby mice, and converts them into hostile rats. If no mice are nearby, creates a new one.

+

Procs

riotChecks to see if there are any nearby mice. Does not count Rats.

Proc Details

riot +

+

Checks to see if there are any nearby mice. Does not count Rats.

+ + + diff --git a/datum/action/cooldown/rustle.html b/datum/action/cooldown/rustle.html new file mode 100644 index 000000000000..47362b14d125 --- /dev/null +++ b/datum/action/cooldown/rustle.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/rustle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

rustle + + + +

+ +

drops peels around the mob when activated

+ +

Vars

banana_typewhich type of peel to spawn
peel_amountHow many peels to spawn
+

Var Details

banana_type + + + + +

+

which type of peel to spawn

peel_amount + + + + +

+

How many peels to spawn

+ + + diff --git a/datum/action/cooldown/spawn_induction_package.html b/datum/action/cooldown/spawn_induction_package.html new file mode 100644 index 000000000000..88db868444ff --- /dev/null +++ b/datum/action/cooldown/spawn_induction_package.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spawn_induction_package - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

spawn_induction_package + + + +

+ + +

Vars

my_gang_datumThe family antagonist datum of the "owner" of this action.
+

Var Details

my_gang_datum + + + + +

+

The family antagonist datum of the "owner" of this action.

+ + + diff --git a/datum/action/cooldown/spell.html b/datum/action/cooldown/spell.html new file mode 100644 index 000000000000..d26f04c8e47a --- /dev/null +++ b/datum/action/cooldown/spell.html @@ -0,0 +1,274 @@ + + + + + + + /datum/action/cooldown/spell - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

The spell action + + + +

+ +

This is the base action for how many of the game's +spells (and spell adjacent) abilities function. +These spells function off of a cooldown-based system.

+Pre-spell checks: + +The spell chain: + +Other procs called / may be called within the chain: + +Other procs of note: + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

antimagic_flagsThis determines what type of antimagic is needed to block the spell. +(MAGIC_RESISTANCE, MAGIC_RESISTANCE_MIND, MAGIC_RESISTANCE_HOLY) +If SPELL_REQUIRES_NO_ANTIMAGIC is set in Spell requirements, +The spell cannot be cast if the caster has any of the antimagic flags set.
cooldown_reduction_per_rankIf the spell uses the wizard spell rank system, the cooldown reduction per rank of the spell
invocationWhat is uttered when the user casts the spell
invocation_self_messageWhat is shown in chat when the user casts the spell, only matters for INVOCATION_EMOTE
invocation_typeWhat type of invocation the spell is. +Can be "none", "whisper", "shout", "emote"
schoolThe school of magic the spell belongs to. +Checked by some holy sects to punish the +caster for casting things that do not align +with their sect's alignment - see magic.dm in defines to learn more
smoke_amtThe amount of smoke to create on cast. This is a range, so a value of 5 will create enough smoke to cover everything within 5 steps.
smoke_typeThe typepath of the smoke to create on cast.
soundThe sound played on cast.
sparks_amtIf set to a positive number, the spell will produce sparks when casted.
spell_levelThe current spell level, if taken multiple times by a wizard
spell_max_levelThe max possible spell level
spell_requirementsFlag for certain states that the spell requires the user be in to cast.

Procs

after_castActions done after the main cast is finished. +This is called after the cooldown's already begun.
before_castActions done before the actual cast is called. +This is the last chance to cancel the spell from being cast.
can_cast_spellChecks if the owner of the spell can currently cast it. +Does not check anything involving potential targets.
castActions done as the main effect of the spell.
delevel_spellLevels the spell down a single level, down to 1.
get_spell_titleGets the title of the spell based on its level.
invocationThe invocation that accompanies the spell, called from spell_feedback() before cast().
level_spellLevels the spell up a single level, reducing the cooldown. +If bypass_cap is TRUE, will level the spell up past it's set cap.
reset_spell_cooldownResets the cooldown of the spell, sending COMSIG_SPELL_CAST_RESET +and allowing it to be used immediately (+ updating button icon accordingly)
spell_feedbackProvides feedback after a spell cast occurs, in the form of a cast sound and/or invocation
try_invokeChecks if the current OWNER of the spell is in a valid state to say the spell's invocation
+

Var Details

antimagic_flags + + + + +

+

This determines what type of antimagic is needed to block the spell. +(MAGIC_RESISTANCE, MAGIC_RESISTANCE_MIND, MAGIC_RESISTANCE_HOLY) +If SPELL_REQUIRES_NO_ANTIMAGIC is set in Spell requirements, +The spell cannot be cast if the caster has any of the antimagic flags set.

cooldown_reduction_per_rank + + + + +

+

If the spell uses the wizard spell rank system, the cooldown reduction per rank of the spell

invocation + + + + +

+

What is uttered when the user casts the spell

invocation_self_message + + + + +

+

What is shown in chat when the user casts the spell, only matters for INVOCATION_EMOTE

invocation_type + + + + +

+

What type of invocation the spell is. +Can be "none", "whisper", "shout", "emote"

school + + + + +

+

The school of magic the spell belongs to. +Checked by some holy sects to punish the +caster for casting things that do not align +with their sect's alignment - see magic.dm in defines to learn more

smoke_amt + + + + +

+

The amount of smoke to create on cast. This is a range, so a value of 5 will create enough smoke to cover everything within 5 steps.

smoke_type + + + + +

+

The typepath of the smoke to create on cast.

sound + + + + +

+

The sound played on cast.

sparks_amt + + + + +

+

If set to a positive number, the spell will produce sparks when casted.

spell_level + + + + +

+

The current spell level, if taken multiple times by a wizard

spell_max_level + + + + +

+

The max possible spell level

spell_requirements + + + + +

+

Flag for certain states that the spell requires the user be in to cast.

Proc Details

after_cast +

+

Actions done after the main cast is finished. +This is called after the cooldown's already begun.

+

It can be used to apply late spell effects where order matters +(for example, causing smoke after a teleport occurs in cast()) +or to clean up variables or references post-cast.

before_cast +

+

Actions done before the actual cast is called. +This is the last chance to cancel the spell from being cast.

+

Can be used for target selection or to validate checks on the caster (cast_on).

+

Returns a bitflag.

+

can_cast_spell +

+

Checks if the owner of the spell can currently cast it. +Does not check anything involving potential targets.

cast +

+

Actions done as the main effect of the spell.

+

For spells without a click intercept, [cast_on] will be the owner. +For click spells, [cast_on] is whatever the owner clicked on in casting the spell.

delevel_spell +

+

Levels the spell down a single level, down to 1.

get_spell_title +

+

Gets the title of the spell based on its level.

invocation +

+

The invocation that accompanies the spell, called from spell_feedback() before cast().

level_spell +

+

Levels the spell up a single level, reducing the cooldown. +If bypass_cap is TRUE, will level the spell up past it's set cap.

reset_spell_cooldown +

+

Resets the cooldown of the spell, sending COMSIG_SPELL_CAST_RESET +and allowing it to be used immediately (+ updating button icon accordingly)

spell_feedback +

+

Provides feedback after a spell cast occurs, in the form of a cast sound and/or invocation

try_invoke +

+

Checks if the current OWNER of the spell is in a valid state to say the spell's invocation

+ + + diff --git a/datum/action/cooldown/spell/aoe.html b/datum/action/cooldown/spell/aoe.html new file mode 100644 index 000000000000..7fa36988f58f --- /dev/null +++ b/datum/action/cooldown/spell/aoe.html @@ -0,0 +1,68 @@ + + + + + + + /datum/action/cooldown/spell/aoe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

aoe + + + +

+ +AOE spells +

A spell that iterates over atoms near the caster and casts a spell on them. +Calls cast_on_thing_in_aoe on all atoms returned by get_things_to_cast_on by default.

+ + + +

Vars

aoe_radiusThe radius of the aoe.
max_targetsThe max amount of targets we can affect via our AOE. 0 = unlimited

Procs

cast_on_thing_in_aoeActually cause effects on the thing in our aoe. +Override this for your spell! Not cast().
get_things_to_cast_onGets a list of atoms around [center] +that are within range and affected by our aoe.
+

Var Details

aoe_radius + + + + +

+

The radius of the aoe.

max_targets + + + + +

+

The max amount of targets we can affect via our AOE. 0 = unlimited

Proc Details

cast_on_thing_in_aoe +

+

Actually cause effects on the thing in our aoe. +Override this for your spell! Not cast().

+

Arguments

+

get_things_to_cast_on +

+

Gets a list of atoms around [center] +that are within range and affected by our aoe.

+ + + diff --git a/datum/action/cooldown/spell/aoe/magic_missile.html b/datum/action/cooldown/spell/aoe/magic_missile.html new file mode 100644 index 000000000000..432a1f454270 --- /dev/null +++ b/datum/action/cooldown/spell/aoe/magic_missile.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/aoe/magic_missile - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

magic_missile + + + +

+ + +

Vars

projectile_typeThe projectile type fired at all people around us
+

Var Details

projectile_type + + + + +

+

The projectile type fired at all people around us

+ + + diff --git a/datum/action/cooldown/spell/aoe/repulse.html b/datum/action/cooldown/spell/aoe/repulse.html new file mode 100644 index 000000000000..647830831a85 --- /dev/null +++ b/datum/action/cooldown/spell/aoe/repulse.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/aoe/repulse - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

repulse + + + +

+ + + + +

Vars

max_throwThe max throw range of the repulsioon.
repulse_forceThe moveforce of the throw done by the repulsion.
sparkle_pathA visual effect to be spawned on people who are thrown away.
+

Var Details

max_throw + + + + +

+

The max throw range of the repulsioon.

repulse_force + + + + +

+

The moveforce of the throw done by the repulsion.

sparkle_path + + + + +

+

A visual effect to be spawned on people who are thrown away.

+ + + diff --git a/datum/action/cooldown/spell/aoe/revenant.html b/datum/action/cooldown/spell/aoe/revenant.html new file mode 100644 index 000000000000..5e2eff988284 --- /dev/null +++ b/datum/action/cooldown/spell/aoe/revenant.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/spell/aoe/revenant - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

revenant + + + +

+ + + + + +

Vars

cast_amountHow much essence it costs to use
lockedIf it's locked, and needs to be unlocked before use
reveal_durationHow long it reveals the revenant
unlock_amountHow much essence it costs to unlock
+

Var Details

cast_amount + + + + +

+

How much essence it costs to use

locked + + + + +

+

If it's locked, and needs to be unlocked before use

reveal_duration + + + + +

+

How long it reveals the revenant

unlock_amount + + + + +

+

How much essence it costs to unlock

+ + + diff --git a/datum/action/cooldown/spell/aoe/revenant/overload.html b/datum/action/cooldown/spell/aoe/revenant/overload.html new file mode 100644 index 000000000000..2c46df53781d --- /dev/null +++ b/datum/action/cooldown/spell/aoe/revenant/overload.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/aoe/revenant/overload - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

overload + + + +

+ + + +

Vars

shock_damageThe damage the shcoskf rom the lgihts do
shock_rangeThe range the shocks from the lights go
+

Var Details

shock_damage + + + + +

+

The damage the shcoskf rom the lgihts do

shock_range + + + + +

+

The range the shocks from the lights go

+ + + diff --git a/datum/action/cooldown/spell/aoe/sacred_flame.html b/datum/action/cooldown/spell/aoe/sacred_flame.html new file mode 100644 index 000000000000..054f0df7f762 --- /dev/null +++ b/datum/action/cooldown/spell/aoe/sacred_flame.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/aoe/sacred_flame - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sacred_flame + + + +

+ + +

Vars

firestacks_to_giveThe amount of firestacks to put people afflicted.
+

Var Details

firestacks_to_give + + + + +

+

The amount of firestacks to put people afflicted.

+ + + diff --git a/datum/action/cooldown/spell/aoe/void_pull.html b/datum/action/cooldown/spell/aoe/void_pull.html new file mode 100644 index 000000000000..ec96c8d287dd --- /dev/null +++ b/datum/action/cooldown/spell/aoe/void_pull.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/aoe/void_pull - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

void_pull + + + +

+ + + +

Vars

damage_radiusThe radius of the actual damage circle done before cast
stun_radiusThe radius of the stun applied to nearby people on cast
+

Var Details

damage_radius + + + + +

+

The radius of the actual damage circle done before cast

stun_radius + + + + +

+

The radius of the stun applied to nearby people on cast

+ + + diff --git a/datum/action/cooldown/spell/apply_mutations.html b/datum/action/cooldown/spell/apply_mutations.html new file mode 100644 index 000000000000..9c18e3cc179c --- /dev/null +++ b/datum/action/cooldown/spell/apply_mutations.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/apply_mutations - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

apply_mutations + + + +

+ +

A spell type that adds mutations to the caster temporarily.

+ + +

Vars

mutation_durationThe duration the mutations will last afetr cast (keep this above the minimum cooldown)
mutations_to_addA list of all mutations we add on cast

Procs

remove_mutationsRemoves the mutations we added from casting our spell
+

Var Details

mutation_duration + + + + +

+

The duration the mutations will last afetr cast (keep this above the minimum cooldown)

mutations_to_add + + + + +

+

A list of all mutations we add on cast

Proc Details

remove_mutations +

+

Removes the mutations we added from casting our spell

+ + + diff --git a/datum/action/cooldown/spell/basic_heal.html b/datum/action/cooldown/spell/basic_heal.html new file mode 100644 index 000000000000..5e6fb53ba72b --- /dev/null +++ b/datum/action/cooldown/spell/basic_heal.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/basic_heal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

basic_heal + + + +

+ + + +

Vars

brute_to_healAmount of brute to heal to the spell caster on cast
burn_to_healAmount of burn to heal to the spell caster on cast
+

Var Details

brute_to_heal + + + + +

+

Amount of brute to heal to the spell caster on cast

burn_to_heal + + + + +

+

Amount of burn to heal to the spell caster on cast

+ + + diff --git a/datum/action/cooldown/spell/basic_projectile.html b/datum/action/cooldown/spell/basic_projectile.html new file mode 100644 index 000000000000..fd6f854d96df --- /dev/null +++ b/datum/action/cooldown/spell/basic_projectile.html @@ -0,0 +1,46 @@ + + + + + + + /datum/action/cooldown/spell/basic_projectile - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

basic_projectile + + + +

+ +Basic Projectile spell +

Simply fires specified projectile type the direction the caster is facing.

+

Behavior could / should probably be unified with pointed projectile spells +and aoe projectile spells in the future.

+ +

Vars

projectile_rangeHow far we try to fire the basic projectile. Blocked by dense objects.
projectile_typeThe projectile type fired at all people around us
+

Var Details

projectile_range + + + + +

+

How far we try to fire the basic projectile. Blocked by dense objects.

projectile_type + + + + +

+

The projectile type fired at all people around us

+ + + diff --git a/datum/action/cooldown/spell/cone.html b/datum/action/cooldown/spell/cone.html new file mode 100644 index 000000000000..051c00889d74 --- /dev/null +++ b/datum/action/cooldown/spell/cone.html @@ -0,0 +1,86 @@ + + + + + + + /datum/action/cooldown/spell/cone - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cone + + + +

+ +Cone spells +

Cone spells shoot off as a cone from the caster.

+ + + + + + + +

Vars

cone_levelsThis controls how many levels the cone has. Increase this value to make a bigger cone.
respect_densityThis value determines if the cone penetrates walls.

Procs

calculate_cone_shapeThis proc adjusts the cones width depending on the level.
do_cone_effectsThis proc does obj, mob and turf cone effects on all targets in the passed list.
do_mob_cone_effectThis proc deterimines how the spell will affect mobs.
do_obj_cone_effectThis proc deterimines how the spell will affect objects.
do_turf_cone_effectThis proc deterimines how the spell will affect turfs.
get_cone_turfsThis proc creates a list of turfs that are hit by the cone.
+

Var Details

cone_levels + + + + +

+

This controls how many levels the cone has. Increase this value to make a bigger cone.

respect_density + + + + +

+

This value determines if the cone penetrates walls.

Proc Details

calculate_cone_shape +

+

This proc adjusts the cones width depending on the level.

do_cone_effects +

+

This proc does obj, mob and turf cone effects on all targets in the passed list.

do_mob_cone_effect +

+

This proc deterimines how the spell will affect mobs.

do_obj_cone_effect +

+

This proc deterimines how the spell will affect objects.

do_turf_cone_effect +

+

This proc deterimines how the spell will affect turfs.

get_cone_turfs +

+

This proc creates a list of turfs that are hit by the cone.

+ + + diff --git a/datum/action/cooldown/spell/cone/staggered.html b/datum/action/cooldown/spell/cone/staggered.html new file mode 100644 index 000000000000..530253c658b8 --- /dev/null +++ b/datum/action/cooldown/spell/cone/staggered.html @@ -0,0 +1,39 @@ + + + + + + + /datum/action/cooldown/spell/cone/staggered - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

staggered + + + +

+ +Staggered Cone +

Staggered Cone spells will reach each cone level +gradually / with a delay, instead of affecting the entire +cone area at once.

+

Vars

delay_between_levelThe delay between each cone level triggering.
+

Var Details

delay_between_level + + + + +

+

The delay between each cone level triggering.

+ + + diff --git a/datum/action/cooldown/spell/cone/staggered/fire_breath.html b/datum/action/cooldown/spell/cone/staggered/fire_breath.html new file mode 100644 index 000000000000..352d6038bb67 --- /dev/null +++ b/datum/action/cooldown/spell/cone/staggered/fire_breath.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/cone/staggered/fire_breath - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

fire_breath + + + +

+ + +

Vars

self_throw_rangeThe range our user is thrown backwards after casting the spell
+

Var Details

self_throw_range + + + + +

+

The range our user is thrown backwards after casting the spell

+ + + diff --git a/datum/action/cooldown/spell/conjure.html b/datum/action/cooldown/spell/conjure.html new file mode 100644 index 000000000000..409c619e79d1 --- /dev/null +++ b/datum/action/cooldown/spell/conjure.html @@ -0,0 +1,80 @@ + + + + + + + /datum/action/cooldown/spell/conjure - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

conjure + + + +

+ + + + + + + + +

Vars

summon_amountAmount of summons to create.
summon_lifespanHow long before the summons will be despawned. Set to 0 for permanent.
summon_radiusThe radius around the caster the items will appear. 0 = spawns on top of the caster.
summon_respects_densityIf TRUE, summoned objects will not be spawned in dense turfs.
summon_respects_prev_spawn_pointsIf TRUE, no two summons can be spawned in the same turf.
summon_typeA list of types that will be created on summon. +The type is picked from this list, not all provided are guaranteed.

Procs

post_summonCalled on atoms summoned after they are created, allows extra variable editing and such of created objects
+

Var Details

summon_amount + + + + +

+

Amount of summons to create.

summon_lifespan + + + + +

+

How long before the summons will be despawned. Set to 0 for permanent.

summon_radius + + + + +

+

The radius around the caster the items will appear. 0 = spawns on top of the caster.

summon_respects_density + + + + +

+

If TRUE, summoned objects will not be spawned in dense turfs.

summon_respects_prev_spawn_points + + + + +

+

If TRUE, no two summons can be spawned in the same turf.

summon_type + + + + +

+

A list of types that will be created on summon. +The type is picked from this list, not all provided are guaranteed.

Proc Details

post_summon +

+

Called on atoms summoned after they are created, allows extra variable editing and such of created objects

+ + + diff --git a/datum/action/cooldown/spell/conjure/the_traps.html b/datum/action/cooldown/spell/conjure/the_traps.html new file mode 100644 index 000000000000..3ee3dc23e06e --- /dev/null +++ b/datum/action/cooldown/spell/conjure/the_traps.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/conjure/the_traps - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

the_traps + + + +

+ + +

Vars

trap_chargesThe amount of charges the traps spawn with.
+

Var Details

trap_charges + + + + +

+

The amount of charges the traps spawn with.

+ + + diff --git a/datum/action/cooldown/spell/conjure_item.html b/datum/action/cooldown/spell/conjure_item.html new file mode 100644 index 000000000000..5c605dd27dd5 --- /dev/null +++ b/datum/action/cooldown/spell/conjure_item.html @@ -0,0 +1,59 @@ + + + + + + + /datum/action/cooldown/spell/conjure_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

conjure_item + + + +

+ + + + + +

Vars

delete_oldIf TRUE, we delete any previously created items when we cast the spell
item_refsList of weakrefs to items summoned
item_typeTypepath of whatever item we summon

Procs

make_itemInstantiates the item we're conjuring and returns it. +Item is made in nullspace and moved out in cast().
+

Var Details

delete_old + + + + +

+

If TRUE, we delete any previously created items when we cast the spell

item_refs + + + + +

+

List of weakrefs to items summoned

item_type + + + + +

+

Typepath of whatever item we summon

Proc Details

make_item +

+

Instantiates the item we're conjuring and returns it. +Item is made in nullspace and moved out in cast().

+ + + diff --git a/datum/action/cooldown/spell/conjure_item/invisible_box.html b/datum/action/cooldown/spell/conjure_item/invisible_box.html new file mode 100644 index 000000000000..a21179c07308 --- /dev/null +++ b/datum/action/cooldown/spell/conjure_item/invisible_box.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/conjure_item/invisible_box - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

invisible_box + + + +

+ + + +

Vars

box_lifespanHow long boxes last before going away

Procs

cleanup_boxCallback that gets rid out of box and removes the weakref from our list
+

Var Details

box_lifespan + + + + +

+

How long boxes last before going away

Proc Details

cleanup_box +

+

Callback that gets rid out of box and removes the weakref from our list

+ + + diff --git a/datum/action/cooldown/spell/emp.html b/datum/action/cooldown/spell/emp.html new file mode 100644 index 000000000000..921b3dfd4db9 --- /dev/null +++ b/datum/action/cooldown/spell/emp.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/emp - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

emp + + + +

+ + + +

Vars

emp_heavyThe heavy radius of the EMP
emp_lightThe light radius of the EMP
+

Var Details

emp_heavy + + + + +

+

The heavy radius of the EMP

emp_light + + + + +

+

The light radius of the EMP

+ + + diff --git a/datum/action/cooldown/spell/fire_cascade.html b/datum/action/cooldown/spell/fire_cascade.html new file mode 100644 index 000000000000..d2a33f28af79 --- /dev/null +++ b/datum/action/cooldown/spell/fire_cascade.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/fire_cascade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

fire_cascade + + + +

+ +

Creates one, large, expanding ring of fire around the caster, which does not follow them.

+ +

Vars

flame_radiusThe radius the flames will go around the caster.

Procs

fire_cascadeSpreads a huge wave of fire in a radius around us, staggered between levels
+

Var Details

flame_radius + + + + +

+

The radius the flames will go around the caster.

Proc Details

fire_cascade +

+

Spreads a huge wave of fire in a radius around us, staggered between levels

+ + + diff --git a/datum/action/cooldown/spell/fire_sworn.html b/datum/action/cooldown/spell/fire_sworn.html new file mode 100644 index 000000000000..21b366efc922 --- /dev/null +++ b/datum/action/cooldown/spell/fire_sworn.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/fire_sworn - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

fire_sworn + + + +

+ +

Creates a constant Ring of Fire around the caster for a set duration of time, which follows them.

+ +

Vars

durationHow long it the ring lasts
fire_radiusThe radius of the fire ring
+

Var Details

duration + + + + +

+

How long it the ring lasts

fire_radius + + + + +

+

The radius of the fire ring

+ + + diff --git a/datum/action/cooldown/spell/forcewall.html b/datum/action/cooldown/spell/forcewall.html new file mode 100644 index 000000000000..ebe02b484e11 --- /dev/null +++ b/datum/action/cooldown/spell/forcewall.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/forcewall - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

forcewall + + + +

+ + +

Vars

wall_typeThe typepath to the wall we create on cast.
+

Var Details

wall_type + + + + +

+

The typepath to the wall we create on cast.

+ + + diff --git a/datum/action/cooldown/spell/jaunt.html b/datum/action/cooldown/spell/jaunt.html new file mode 100644 index 000000000000..7e447a06b4b6 --- /dev/null +++ b/datum/action/cooldown/spell/jaunt.html @@ -0,0 +1,95 @@ + + + + + + + /datum/action/cooldown/spell/jaunt - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

jaunt + + + +

+ +Jaunt spells +

A basic subtype for jaunt related spells. +Jaunt spells put their caster in a dummy +phased_mob effect that allows them to float +around incorporeally.

+

Doesn't actually implement any behavior on cast to +enter or exit the jaunt - that must be done via subtypes.

+

Use enter_jaunt() and exit_jaunt() as wrappers.

+ + + + +

Vars

jaunt_typeWhat dummy mob type do we put jaunters in on jaunt?

Procs

enter_jauntPlaces the [jaunter] in a jaunt holder mob +If [loc_override] is supplied, +the jaunt will be moved to that turf to start at
exit_jauntEjects the [unjaunter] from jaunt +The jaunt object in turn should call on_jaunt_exited +If [loc_override] is supplied, +the jaunt will be moved to that turf +before ejecting the unjaunter
is_jauntingSimple helper to check if the passed mob is currently jaunting or not
on_jaunt_exitedCalled when a mob is ejected from the jaunt holder and goes back to normal. +This is called both fom exit_jaunt() but also if the caster is ejected involuntarily for some reason. +Use this to clear state data applied when jaunting, such as the trait TRAIT_MAGICALLY_PHASED. +Arguments
+

Var Details

jaunt_type + + + + +

+

What dummy mob type do we put jaunters in on jaunt?

Proc Details

enter_jaunt +

+

Places the [jaunter] in a jaunt holder mob +If [loc_override] is supplied, +the jaunt will be moved to that turf to start at

+

Returns the holder mob that was created

exit_jaunt +

+

Ejects the [unjaunter] from jaunt +The jaunt object in turn should call on_jaunt_exited +If [loc_override] is supplied, +the jaunt will be moved to that turf +before ejecting the unjaunter

+

Returns TRUE on successful exit, FALSE otherwise

is_jaunting +

+

Simple helper to check if the passed mob is currently jaunting or not

on_jaunt_exited +

+

Called when a mob is ejected from the jaunt holder and goes back to normal. +This is called both fom exit_jaunt() but also if the caster is ejected involuntarily for some reason. +Use this to clear state data applied when jaunting, such as the trait TRAIT_MAGICALLY_PHASED. +Arguments

+
+ + + diff --git a/datum/action/cooldown/spell/jaunt/bloodcrawl.html b/datum/action/cooldown/spell/jaunt/bloodcrawl.html new file mode 100644 index 000000000000..c71783958f04 --- /dev/null +++ b/datum/action/cooldown/spell/jaunt/bloodcrawl.html @@ -0,0 +1,99 @@ + + + + + + + /datum/action/cooldown/spell/jaunt/bloodcrawl - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

bloodcrawl + + + +

+ +Blood Crawl +

Lets the caster enter and exit pools of blood.

+ + + + + + + + +

Vars

blood_radiusThe radius around us that we look for blood in
enter_blood_timeThe time it takes to enter blood
equip_blood_handsIf TRUE, we equip "blood crawl" hands to the jaunter to prevent using items
exit_blood_timeThe time it takes to exit blood

Procs

do_bloodcrawlAttempts to enter or exit the passed blood pool. +Returns TRUE if we successfully entered or exited said pool, FALSE otherwise
exit_blood_effectAdds an coloring effect to mobs which exit blood crawl.
find_nearby_bloodReturns a nearby blood decal, or null if there aren't any
try_enter_jauntAttempts to enter the passed blood pool. +If forced is TRUE, it will override enter_blood_time.
try_exit_jauntAttempts to Exit the passed blood pool. +If forced is TRUE, it will override exit_blood_time, and if we're currently consuming someone.
+

Var Details

blood_radius + + + + +

+

The radius around us that we look for blood in

enter_blood_time + + + + +

+

The time it takes to enter blood

equip_blood_hands + + + + +

+

If TRUE, we equip "blood crawl" hands to the jaunter to prevent using items

exit_blood_time + + + + +

+

The time it takes to exit blood

Proc Details

do_bloodcrawl +

+

Attempts to enter or exit the passed blood pool. +Returns TRUE if we successfully entered or exited said pool, FALSE otherwise

exit_blood_effect +

+

Adds an coloring effect to mobs which exit blood crawl.

find_nearby_blood +

+

Returns a nearby blood decal, or null if there aren't any

try_enter_jaunt +

+

Attempts to enter the passed blood pool. +If forced is TRUE, it will override enter_blood_time.

try_exit_jaunt +

+

Attempts to Exit the passed blood pool. +If forced is TRUE, it will override exit_blood_time, and if we're currently consuming someone.

+ + + diff --git a/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon.html b/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon.html new file mode 100644 index 000000000000..63c67edf378f --- /dev/null +++ b/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon.html @@ -0,0 +1,60 @@ + + + + + + + /datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

slaughter_demon + + + +

+ +

Slaughter demon's blood crawl +Allows the blood crawler to consume people they are dragging.

+ + + +

Vars

consume_soundThe sound played when someone's consumed.

Procs

consume_victimConsumes the [victim] from the [jaunter], fully healing them +and calling [proc/on_victim_consumed] if successful.
on_victim_consumedCalled when a victim is successfully consumed.
on_victim_start_consumeCalled when a victim starts to be consumed.
+

Var Details

consume_sound + + + + +

+

The sound played when someone's consumed.

Proc Details

consume_victim +

+

Consumes the [victim] from the [jaunter], fully healing them +and calling [proc/on_victim_consumed] if successful.

on_victim_consumed +

+

Called when a victim is successfully consumed.

on_victim_start_consume +

+

Called when a victim starts to be consumed.

+ + + diff --git a/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/funny.html b/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/funny.html new file mode 100644 index 000000000000..e6a5eb124836 --- /dev/null +++ b/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/funny.html @@ -0,0 +1,54 @@ + + + + + + + /datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/funny - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

funny + + + +

+ +

Laughter demon's blood crawl +All mobs consumed are revived after the demon is killed.

+ + +

Procs

on_deathSignal proc for COMSIG_LIVING_DEATH and COMSIG_PARENT_QDELETING
on_victim_deletedHandle signal from a consumed mob being deleted. Clears any references.
on_victim_statchangeHandle signal from a consumed mob changing stat.

Proc Details

on_death +

+

Signal proc for COMSIG_LIVING_DEATH and COMSIG_PARENT_QDELETING

+

If our demon is deleted or destroyed, expel all of our consumed mobs

on_victim_deleted +

+

Handle signal from a consumed mob being deleted. Clears any references.

on_victim_statchange +

+

Handle signal from a consumed mob changing stat.

+

A signal handler for if one of the laughter demon's consumed mobs has +changed stat. If they're no longer dead (because they were dead when +swallowed), eject them so they can't rip their way out from the inside.

+ + + diff --git a/datum/action/cooldown/spell/jaunt/ethereal_jaunt.html b/datum/action/cooldown/spell/jaunt/ethereal_jaunt.html new file mode 100644 index 000000000000..9284248606f9 --- /dev/null +++ b/datum/action/cooldown/spell/jaunt/ethereal_jaunt.html @@ -0,0 +1,163 @@ + + + + + + + /datum/action/cooldown/spell/jaunt/ethereal_jaunt - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ethereal_jaunt + + + +

+ + + + + + + + + + + + + + + +

Vars

exit_point_listList of valid exit points
jaunt_durationFor how long are we jaunting?
jaunt_in_timeFor how long we become immobilized after exiting the jaunt.
jaunt_in_typeVisual for jaunting
jaunt_out_timeFor how long we become immobilized when using this spell.
jaunt_out_typeVisual for exiting the jaunt

Procs

do_jauntBegin the jaunt, and the entire jaunt chain. +Puts cast_on in the phased mob holder here.
do_jaunt_inThe wind-up (wind-out?) of exiting the jaunt. +Optional, only called if jaunt_in_time is above 2.5 seconds.
do_jaunt_outThe wind-up to the jaunt. +Optional, only called if jaunt_out_time is set.
do_steam_effectsDoes some steam effects from the jaunt at passed loc.
end_jauntFinally, the actual veritable end of the jaunt chains. +Deletes the phase holder, ejecting the caster at final_point.
start_jauntThe actual process of starting the jaunt. +Sets up the signals and exit points and allows +the caster to actually start moving around.
stop_jauntThe stopping of the jaunt. +Unregisters and signals and places +the jaunter on the turf they will exit at.
update_exit_pointUpdates the exit point of the jaunt
+

Var Details

exit_point_list + + + + +

+

List of valid exit points

jaunt_duration + + + + +

+

For how long are we jaunting?

jaunt_in_time + + + + +

+

For how long we become immobilized after exiting the jaunt.

jaunt_in_type + + + + +

+

Visual for jaunting

jaunt_out_time + + + + +

+

For how long we become immobilized when using this spell.

jaunt_out_type + + + + +

+

Visual for exiting the jaunt

Proc Details

do_jaunt +

+

Begin the jaunt, and the entire jaunt chain. +Puts cast_on in the phased mob holder here.

+

Calls do_jaunt_out:

+

do_jaunt_in +

+

The wind-up (wind-out?) of exiting the jaunt. +Optional, only called if jaunt_in_time is above 2.5 seconds.

+

Calls end_jaunt.

do_jaunt_out +

+

The wind-up to the jaunt. +Optional, only called if jaunt_out_time is set.

+

Calls start_jaunt.

do_steam_effects +

+

Does some steam effects from the jaunt at passed loc.

end_jaunt +

+

Finally, the actual veritable end of the jaunt chains. +Deletes the phase holder, ejecting the caster at final_point.

+

If the final_point is dense for some reason, +tries to put the caster in an adjacent turf.

start_jaunt +

+

The actual process of starting the jaunt. +Sets up the signals and exit points and allows +the caster to actually start moving around.

+

Calls stop_jaunt after the jaunt runs out.

stop_jaunt +

+

The stopping of the jaunt. +Unregisters and signals and places +the jaunter on the turf they will exit at.

+

Calls do_jaunt_in:

+

update_exit_point +

+

Updates the exit point of the jaunt

+

Called when the jaunting mob holder moves, this updates the backup exit-jaunt +location, in case the jaunt ends with the mob still in a wall. Five +spots are kept in the list, in case the last few changed since we passed +by (doors closing, engineers building walls, etc)

+ + + diff --git a/datum/action/cooldown/spell/jaunt/mirror_walk.html b/datum/action/cooldown/spell/jaunt/mirror_walk.html new file mode 100644 index 000000000000..d1023e85acaf --- /dev/null +++ b/datum/action/cooldown/spell/jaunt/mirror_walk.html @@ -0,0 +1,62 @@ + + + + + + + /datum/action/cooldown/spell/jaunt/mirror_walk - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mirror_walk + + + +

+ + + + + +

Vars

phase_in_timeThe time it takes to exit a mirror / phase in / exit jaunt.
phase_out_timeThe time it takes to enter the mirror / phase out / enter jaunt.
special_reflective_surfacesStatic typecache of types that are counted as reflective.

Procs

is_reflection_nearby
+

Var Details

phase_in_time + + + + +

+

The time it takes to exit a mirror / phase in / exit jaunt.

phase_out_time + + + + +

+

The time it takes to enter the mirror / phase out / enter jaunt.

special_reflective_surfaces + + + + +

+

Static typecache of types that are counted as reflective.

Proc Details

is_reflection_nearby +

+
+ + + diff --git a/datum/action/cooldown/spell/lay_genetic_web.html b/datum/action/cooldown/spell/lay_genetic_web.html new file mode 100644 index 000000000000..c605ede27259 --- /dev/null +++ b/datum/action/cooldown/spell/lay_genetic_web.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/lay_genetic_web - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lay_genetic_web + + + +

+ + + +

Vars

web_pathThe path of web that we create
webbing_timeHow long it takes to lay a web
+

Var Details

web_path + + + + +

+

The path of web that we create

webbing_time + + + + +

+

How long it takes to lay a web

+ + + diff --git a/datum/action/cooldown/spell/list_target.html b/datum/action/cooldown/spell/list_target.html new file mode 100644 index 000000000000..a47a6e7c3036 --- /dev/null +++ b/datum/action/cooldown/spell/list_target.html @@ -0,0 +1,54 @@ + + + + + + + /datum/action/cooldown/spell/list_target - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

list_target + + + +

+ +List Target spells +

These spells will prompt the user with a tgui list +of all nearby targets that they select on to cast.

+

To add effects on cast, override "cast(atom/cast_on)". +The cast_on atom is the atom that was selected by the list.

+ + +

Vars

choose_target_messageThe message displayed as the title of the tgui target input list.
target_radiusRadius around the caster that living targets are picked to choose from

Procs

get_list_targetsGet a list of living targets in radius of the center to put in the target list.
+

Var Details

choose_target_message + + + + +

+

The message displayed as the title of the tgui target input list.

target_radius + + + + +

+

Radius around the caster that living targets are picked to choose from

Proc Details

get_list_targets +

+

Get a list of living targets in radius of the center to put in the target list.

+ + + diff --git a/datum/action/cooldown/spell/list_target/telepathy.html b/datum/action/cooldown/spell/list_target/telepathy.html new file mode 100644 index 000000000000..200fdebbec08 --- /dev/null +++ b/datum/action/cooldown/spell/list_target/telepathy.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/list_target/telepathy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

telepathy + + + +

+ + + + +

Vars

bold_telepathy_spanThe bolded span surrounding the telepathy message
messageThe message we send to the next person via telepathy.
telepathy_spanThe span surrounding the telepathy message
+

Var Details

bold_telepathy_span + + + + +

+

The bolded span surrounding the telepathy message

message + + + + +

+

The message we send to the next person via telepathy.

telepathy_span + + + + +

+

The span surrounding the telepathy message

+ + + diff --git a/datum/action/cooldown/spell/night_vision.html b/datum/action/cooldown/spell/night_vision.html new file mode 100644 index 000000000000..77d4a4506169 --- /dev/null +++ b/datum/action/cooldown/spell/night_vision.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/night_vision - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

night_vision + + + +

+ + +

Vars

toggle_spanThe span the "toggle" message uses when sent to the user
+

Var Details

toggle_span + + + + +

+

The span the "toggle" message uses when sent to the user

+ + + diff --git a/datum/action/cooldown/spell/olfaction.html b/datum/action/cooldown/spell/olfaction.html new file mode 100644 index 000000000000..5b8f5400d500 --- /dev/null +++ b/datum/action/cooldown/spell/olfaction.html @@ -0,0 +1,64 @@ + + + + + + + /datum/action/cooldown/spell/olfaction - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

olfaction + + + +

+ + + + + + +

Vars

sensitivityOur nose's sensitivity
tracking_refWeakref to the mob we're tracking

Procs

follow_targetAttempt to follow our current tracking target.
on_the_trailActually go through and give the user a hint of the direction our target is.
pick_up_targetAttempt to pick up a new target based on the fingerprints on [sniffed].
+

Var Details

sensitivity + + + + +

+

Our nose's sensitivity

tracking_ref + + + + +

+

Weakref to the mob we're tracking

Proc Details

follow_target +

+

Attempt to follow our current tracking target.

on_the_trail +

+

Actually go through and give the user a hint of the direction our target is.

pick_up_target +

+

Attempt to pick up a new target based on the fingerprints on [sniffed].

+ + + diff --git a/datum/action/cooldown/spell/personality_commune.html b/datum/action/cooldown/spell/personality_commune.html new file mode 100644 index 000000000000..be6045710060 --- /dev/null +++ b/datum/action/cooldown/spell/personality_commune.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/personality_commune - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

personality_commune + + + +

+ + + +

Vars

fluff_textFluff text shown when a message is sent to the pair
to_sendThe message to send to the corresponding person on cast
+

Var Details

fluff_text + + + + +

+

Fluff text shown when a message is sent to the pair

to_send + + + + +

+

The message to send to the corresponding person on cast

+ + + diff --git a/datum/action/cooldown/spell/pointed.html b/datum/action/cooldown/spell/pointed.html new file mode 100644 index 000000000000..d54c06fd9bbc --- /dev/null +++ b/datum/action/cooldown/spell/pointed.html @@ -0,0 +1,75 @@ + + + + + + + /datum/action/cooldown/spell/pointed - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pointed + + + +

+ +Pointed spells +

These spells override the caster's click, +allowing them to cast the spell on whatever is clicked on.

+

To add effects on cast, override "cast(atom/cast_on)". +The cast_on atom is the person who was clicked on.

+ + + + + +

Vars

active_msgMessage showing to the spell owner upon activating pointed spell.
aim_assistVariable dictating if the spell will use turf based aim assist
cast_rangeThe casting range of our spell
deactive_msgMessage showing to the spell owner upon deactivating pointed spell.

Procs

on_activationCalled when the spell is activated / the click ability is set to our spell
on_deactivationCalled when the spell is deactivated / the click ability is unset from our spell
+

Var Details

active_msg + + + + +

+

Message showing to the spell owner upon activating pointed spell.

aim_assist + + + + +

+

Variable dictating if the spell will use turf based aim assist

cast_range + + + + +

+

The casting range of our spell

deactive_msg + + + + +

+

Message showing to the spell owner upon deactivating pointed spell.

Proc Details

on_activation +

+

Called when the spell is activated / the click ability is set to our spell

on_deactivation +

+

Called when the spell is deactivated / the click ability is unset from our spell

+ + + diff --git a/datum/action/cooldown/spell/pointed/abyssal_gaze.html b/datum/action/cooldown/spell/pointed/abyssal_gaze.html new file mode 100644 index 000000000000..4454ce370c4a --- /dev/null +++ b/datum/action/cooldown/spell/pointed/abyssal_gaze.html @@ -0,0 +1,54 @@ + + + + + + + /datum/action/cooldown/spell/pointed/abyssal_gaze - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

abyssal_gaze + + + +

+ + + + +

Vars

amount_to_coolThe amount of temperature we take from our target
blind_durationThe duration of the blind on our target

Procs

cure_blindnesscure_blidness: Cures Abyssal Gaze blindness from the target
+

Var Details

amount_to_cool + + + + +

+

The amount of temperature we take from our target

blind_duration + + + + +

+

The duration of the blind on our target

Proc Details

cure_blindness +

+

cure_blidness: Cures Abyssal Gaze blindness from the target

+

Arguments:

+
+ + + diff --git a/datum/action/cooldown/spell/pointed/ash_beams.html b/datum/action/cooldown/spell/pointed/ash_beams.html new file mode 100644 index 000000000000..1e91b813af18 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/ash_beams.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/pointed/ash_beams - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ash_beams + + + +

+ + +

Vars

flame_line_lengthThe length of the flame line spit out.
+

Var Details

flame_line_length + + + + +

+

The length of the flame line spit out.

+ + + diff --git a/datum/action/cooldown/spell/pointed/blind.html b/datum/action/cooldown/spell/pointed/blind.html new file mode 100644 index 000000000000..2bb3639015da --- /dev/null +++ b/datum/action/cooldown/spell/pointed/blind.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/pointed/blind - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

blind + + + +

+ + + + +

Vars

blind_mutation_durationThe duration of the blind mutation placed on the person
eye_blind_amountThe amount of blind to apply
eye_blurry_amountThe amount of blurriness to apply
+

Var Details

blind_mutation_duration + + + + +

+

The duration of the blind mutation placed on the person

eye_blind_amount + + + + +

+

The amount of blind to apply

eye_blurry_amount + + + + +

+

The amount of blurriness to apply

+ + + diff --git a/datum/action/cooldown/spell/pointed/cleave.html b/datum/action/cooldown/spell/pointed/cleave.html new file mode 100644 index 000000000000..683574f405f1 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/cleave.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/pointed/cleave - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cleave + + + +

+ + +

Vars

cleave_radiusThe radius of the cleave effect
+

Var Details

cleave_radius + + + + +

+

The radius of the cleave effect

+ + + diff --git a/datum/action/cooldown/spell/pointed/declare_evil.html b/datum/action/cooldown/spell/pointed/declare_evil.html new file mode 100644 index 000000000000..ab9b5f4f3b9f --- /dev/null +++ b/datum/action/cooldown/spell/pointed/declare_evil.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/spell/pointed/declare_evil - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

declare_evil + + + +

+ + + + + +

Vars

declarationThe declaration that's shouted in invocation. Set in New()
honor_mutationA ref to our owner's honorbound mutation
required_favorThe amount of favor required to declare on someone

Procs

on_honor_mutation_lostIf we lose our honor mutation somehow, self-delete (and clear references)
+

Var Details

declaration + + + + +

+

The declaration that's shouted in invocation. Set in New()

honor_mutation + + + + +

+

A ref to our owner's honorbound mutation

required_favor + + + + +

+

The amount of favor required to declare on someone

Proc Details

on_honor_mutation_lost +

+

If we lose our honor mutation somehow, self-delete (and clear references)

+ + + diff --git a/datum/action/cooldown/spell/pointed/manse_link.html b/datum/action/cooldown/spell/pointed/manse_link.html new file mode 100644 index 000000000000..54ee5ca3cac9 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/manse_link.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/pointed/manse_link - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

manse_link + + + +

+ + + +

Vars

link_timeThe time it takes to link to a mob.

Procs

do_linkingThe actual process of linking [linkee] to our network.
+

Var Details

+

The time it takes to link to a mob.

Proc Details

do_linking +

+

The actual process of linking [linkee] to our network.

+ + + diff --git a/datum/action/cooldown/spell/pointed/mind_transfer.html b/datum/action/cooldown/spell/pointed/mind_transfer.html new file mode 100644 index 000000000000..a42f004f52db --- /dev/null +++ b/datum/action/cooldown/spell/pointed/mind_transfer.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/spell/pointed/mind_transfer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mind_transfer + + + +

+ + + + + +

Vars

blacklisted_mobsList of mobs we cannot mindswap into.
target_requires_keyIf TRUE, we cannot mindswap into mobs with minds if they do not currently have a key / player.
unconscious_amount_casterFor how long is the caster stunned for after the spell
unconscious_amount_victimFor how long is the victim stunned for after the spell
+

Var Details

blacklisted_mobs + + + + +

+

List of mobs we cannot mindswap into.

target_requires_key + + + + +

+

If TRUE, we cannot mindswap into mobs with minds if they do not currently have a key / player.

unconscious_amount_caster + + + + +

+

For how long is the caster stunned for after the spell

unconscious_amount_victim + + + + +

+

For how long is the victim stunned for after the spell

+ + + diff --git a/datum/action/cooldown/spell/pointed/projectile.html b/datum/action/cooldown/spell/pointed/projectile.html new file mode 100644 index 000000000000..2669decedfdc --- /dev/null +++ b/datum/action/cooldown/spell/pointed/projectile.html @@ -0,0 +1,70 @@ + + + + + + + /datum/action/cooldown/spell/pointed/projectile - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

projectile + + + +

+ +Pointed projectile spells +

Pointed spells that, instead of casting a spell directly on the target that's clicked, +will instead fire a projectile pointed at the target's direction.

+ + + + +

Vars

current_amountHow many projectiles we have yet to fire, based on projectile_amount
projectile_amountHow many projectiles we can fire per cast. Not all at once, per click, kinda like charges
projectile_typeWhat projectile we create when we shoot our spell.
projectiles_per_fireHow many projectiles we fire every fire_projectile() call. +Unwise to change without overriding or extending ready_projectile.

Procs

on_cast_hitSignal proc for whenever the projectile we fire hits someone. +Pretty much relays to the spell when the projectile actually hits something.
+

Var Details

current_amount + + + + +

+

How many projectiles we have yet to fire, based on projectile_amount

projectile_amount + + + + +

+

How many projectiles we can fire per cast. Not all at once, per click, kinda like charges

projectile_type + + + + +

+

What projectile we create when we shoot our spell.

projectiles_per_fire + + + + +

+

How many projectiles we fire every fire_projectile() call. +Unwise to change without overriding or extending ready_projectile.

Proc Details

on_cast_hit +

+

Signal proc for whenever the projectile we fire hits someone. +Pretty much relays to the spell when the projectile actually hits something.

+ + + diff --git a/datum/action/cooldown/spell/pointed/projectile/furious_steel.html b/datum/action/cooldown/spell/pointed/projectile/furious_steel.html new file mode 100644 index 000000000000..208f915f4ff5 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/projectile/furious_steel.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/pointed/projectile/furious_steel - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

furious_steel + + + +

+ + + + +

Vars

blade_effectA ref to the status effect surrounding our heretic on activation.

Procs

on_focus_lostSignal proc for [SIGNAL_REMOVETRAIT], via TRAIT_ALLOW_HERETIC_CASTING, to remove the effect when we lose the focus trait
on_status_effect_deletedIf our blade status effect is deleted, clear our refs and deactivate
+

Var Details

blade_effect + + + + +

+

A ref to the status effect surrounding our heretic on activation.

Proc Details

on_focus_lost +

+

Signal proc for [SIGNAL_REMOVETRAIT], via TRAIT_ALLOW_HERETIC_CASTING, to remove the effect when we lose the focus trait

on_status_effect_deleted +

+

If our blade status effect is deleted, clear our refs and deactivate

+ + + diff --git a/datum/action/cooldown/spell/pointed/projectile/lightningbolt.html b/datum/action/cooldown/spell/pointed/projectile/lightningbolt.html new file mode 100644 index 000000000000..45fcee00aa44 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/projectile/lightningbolt.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/pointed/projectile/lightningbolt - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lightningbolt + + + +

+ + + + +

Vars

bolt_flagsThe flags the bolt itself takes when zapping someone
bolt_powerThe power of the bolt itself
bolt_rangeThe range the bolt itself (different to the range of the projectile)
+

Var Details

bolt_flags + + + + +

+

The flags the bolt itself takes when zapping someone

bolt_power + + + + +

+

The power of the bolt itself

bolt_range + + + + +

+

The range the bolt itself (different to the range of the projectile)

+ + + diff --git a/datum/action/cooldown/spell/pointed/projectile/spell_cards.html b/datum/action/cooldown/spell/pointed/projectile/spell_cards.html new file mode 100644 index 000000000000..7e1c128369b8 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/projectile/spell_cards.html @@ -0,0 +1,71 @@ + + + + + + + /datum/action/cooldown/spell/pointed/projectile/spell_cards - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

spell_cards + + + +

+ + + + + + + +

Vars

current_target_weakrefA weakref to the mob we're currently targeting with the lockon component.
lockon_componentA ref to our lockon component, which is created and destroyed on activation and deactivation.
projectile_initial_spread_amountThe initial spread of the spell cards when fired.
projectile_location_spread_amountThe location spread of the spell cards when fired.
projectile_pixel_homing_spreadThe homing spread of the spell cards in flight.
projectile_turnrateThe turn rate of the spell cards in flight. (They track onto locked on targets)
+

Var Details

current_target_weakref + + + + +

+

A weakref to the mob we're currently targeting with the lockon component.

lockon_component + + + + +

+

A ref to our lockon component, which is created and destroyed on activation and deactivation.

projectile_initial_spread_amount + + + + +

+

The initial spread of the spell cards when fired.

projectile_location_spread_amount + + + + +

+

The location spread of the spell cards when fired.

projectile_pixel_homing_spread + + + + +

+

The homing spread of the spell cards in flight.

projectile_turnrate + + + + +

+

The turn rate of the spell cards in flight. (They track onto locked on targets)

+ + + diff --git a/datum/action/cooldown/spell/pointed/void_phase.html b/datum/action/cooldown/spell/pointed/void_phase.html new file mode 100644 index 000000000000..6c880dae2ac1 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/void_phase.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/pointed/void_phase - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

void_phase + + + +

+ + + +

Vars

damage_radiusThe radius of damage around the void bubble
min_cast_rangeThe minimum range to cast the phase.
+

Var Details

damage_radius + + + + +

+

The radius of damage around the void bubble

min_cast_range + + + + +

+

The minimum range to cast the phase.

+ + + diff --git a/datum/action/cooldown/spell/rod_form.html b/datum/action/cooldown/spell/rod_form.html new file mode 100644 index 000000000000..02735289e65d --- /dev/null +++ b/datum/action/cooldown/spell/rod_form.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/spell/rod_form - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

rod_form + + + +

+ + + + + +

Vars

damage_per_spell_rankThe extra damage we deal per additional spell level.
distance_per_spell_rankThe extra distance we travel per additional spell level.
rod_damage_bonusThe damage bonus applied to the rod on cast
rod_max_distanceThe max distance the rod goes on cast
+

Var Details

damage_per_spell_rank + + + + +

+

The extra damage we deal per additional spell level.

distance_per_spell_rank + + + + +

+

The extra distance we travel per additional spell level.

rod_damage_bonus + + + + +

+

The damage bonus applied to the rod on cast

rod_max_distance + + + + +

+

The max distance the rod goes on cast

+ + + diff --git a/datum/action/cooldown/spell/shapeshift.html b/datum/action/cooldown/spell/shapeshift.html new file mode 100644 index 000000000000..2d084df13d19 --- /dev/null +++ b/datum/action/cooldown/spell/shapeshift.html @@ -0,0 +1,82 @@ + + + + + + + /datum/action/cooldown/spell/shapeshift - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

shapeshift + + + +

+ + + + + + + + +

Vars

convert_damageWhether we convert our health from one form to another
convert_damage_typeIf convert damage is true, the damage type we deal when converting damage back and forth
die_with_shapeshifted_formWhether we die when our shapeshifted form is killed
possible_shapesAll possible types we can become
revert_on_deathWhehter we revert to our human form on death.
shapeshift_typeOur chosen type

Procs

eject_from_ventsWhenever someone shapeshifts within a vent, +and enters a state in which they are no longer a ventcrawler, +they are brutally ejected from the vents. In the form of gibs.
+

Var Details

convert_damage + + + + +

+

Whether we convert our health from one form to another

convert_damage_type + + + + +

+

If convert damage is true, the damage type we deal when converting damage back and forth

die_with_shapeshifted_form + + + + +

+

Whether we die when our shapeshifted form is killed

possible_shapes + + + + +

+

All possible types we can become

revert_on_death + + + + +

+

Whehter we revert to our human form on death.

shapeshift_type + + + + +

+

Our chosen type

Proc Details

eject_from_vents +

+

Whenever someone shapeshifts within a vent, +and enters a state in which they are no longer a ventcrawler, +they are brutally ejected from the vents. In the form of gibs.

+ + + diff --git a/datum/action/cooldown/spell/shapeshift/slime_form.html b/datum/action/cooldown/spell/shapeshift/slime_form.html new file mode 100644 index 000000000000..82711335a46f --- /dev/null +++ b/datum/action/cooldown/spell/shapeshift/slime_form.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/shapeshift/slime_form - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

slime_form + + + +

+ + +

Vars

remove_on_restoreIf TRUE, we self-delete (remove ourselves) the next time we turn back into a human
+

Var Details

remove_on_restore + + + + +

+

If TRUE, we self-delete (remove ourselves) the next time we turn back into a human

+ + + diff --git a/datum/action/cooldown/spell/shed_human_form.html b/datum/action/cooldown/spell/shed_human_form.html new file mode 100644 index 000000000000..87abf2306bce --- /dev/null +++ b/datum/action/cooldown/spell/shed_human_form.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/shed_human_form - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

shed_human_form + + + +

+ + + +

Vars

scare_radiusThe radius around us that we cause brain damage / sanity damage to.
segment_lengthThe length of our new wormy when we shed.
+

Var Details

scare_radius + + + + +

+

The radius around us that we cause brain damage / sanity damage to.

segment_length + + + + +

+

The length of our new wormy when we shed.

+ + + diff --git a/datum/action/cooldown/spell/spacetime_dist.html b/datum/action/cooldown/spell/spacetime_dist.html new file mode 100644 index 000000000000..e6cba7816a62 --- /dev/null +++ b/datum/action/cooldown/spell/spacetime_dist.html @@ -0,0 +1,73 @@ + + + + + + + /datum/action/cooldown/spell/spacetime_dist - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

spacetime_dist + + + +

+ + + + + + + +

Vars

durationThe duration of the scramble
effectsA lazylist of all scramble effects this spell has created.
readyWeather we're ready to cast again yet or not
scramble_radiusThe radius of the scramble around the caster

Procs

clean_turfsCallback which cleans up our effects list after the duration expires.
get_targets_to_scrambleGets a list of turfs around the center atom to scramble.
+

Var Details

duration + + + + +

+

The duration of the scramble

effects + + + + +

+

A lazylist of all scramble effects this spell has created.

ready + + + + +

+

Weather we're ready to cast again yet or not

scramble_radius + + + + +

+

The radius of the scramble around the caster

Proc Details

clean_turfs +

+

Callback which cleans up our effects list after the duration expires.

get_targets_to_scramble +

+

Gets a list of turfs around the center atom to scramble.

+

Returns an assoc list of turf to turf. These pairs are what turfs are +swapped between one another when the cast is done.

+ + + diff --git a/datum/action/cooldown/spell/summonitem.html b/datum/action/cooldown/spell/summonitem.html new file mode 100644 index 000000000000..bf627fc3fc7d --- /dev/null +++ b/datum/action/cooldown/spell/summonitem.html @@ -0,0 +1,78 @@ + + + + + + + /datum/action/cooldown/spell/summonitem - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

summonitem + + + +

+ + + + + + + + +

Vars

marked_itemThe obj marked for recall

Procs

mark_itemSet the passed object as our marked item
on_marked_item_deletedSignal proc for COMSIG_PARENT_QDELETING on our marked item, unmarks our item if it's deleted
try_link_itemIf we don't have a marked item, attempts to mark the caster's held item.
try_recall_itemRecalls our marked item to the caster. May bring some unexpected things along.
try_unlink_itemIf we have a marked item and it's in our hand, we will try to unlink it
unmark_itemUnset our current marked item
+

Var Details

marked_item + + + + +

+

The obj marked for recall

Proc Details

mark_item +

+

Set the passed object as our marked item

on_marked_item_deleted +

+

Signal proc for COMSIG_PARENT_QDELETING on our marked item, unmarks our item if it's deleted

+

If we don't have a marked item, attempts to mark the caster's held item.

try_recall_item +

+

Recalls our marked item to the caster. May bring some unexpected things along.

+

If we have a marked item and it's in our hand, we will try to unlink it

unmark_item +

+

Unset our current marked item

+ + + diff --git a/datum/action/cooldown/spell/tap.html b/datum/action/cooldown/spell/tap.html new file mode 100644 index 000000000000..fb8ba37b9177 --- /dev/null +++ b/datum/action/cooldown/spell/tap.html @@ -0,0 +1,40 @@ + + + + + + + /datum/action/cooldown/spell/tap - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tap + + + +

+ +

SOUL TAP!

+

Trades 20 max health for a refresh on all of your spells. +I was considering making it depend on the cooldowns of your spells, but I want to support "Big spell wizard" with this loadout. +The two spells that sound most problematic with this is mindswap and lichdom, +but soul tap requires clothes for mindswap and lichdom takes your soul.

+

Vars

tap_health_takenThe amount of health we take on tap
+

Var Details

tap_health_taken + + + + +

+

The amount of health we take on tap

+ + + diff --git a/datum/action/cooldown/spell/teleport.html b/datum/action/cooldown/spell/teleport.html new file mode 100644 index 000000000000..acbfb5405d1a --- /dev/null +++ b/datum/action/cooldown/spell/teleport.html @@ -0,0 +1,72 @@ + + + + + + + /datum/action/cooldown/spell/teleport - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

teleport + + + +

+ +Teleport Spell +

Teleports the caster to a turf selected by get_destinations().

+ + + + + +

Vars

destination_flagsA list of flags related to determining if our destination target is valid or not.
force_teleportWhether we force the teleport to happen (ie, it cannot be blocked by noteleport areas or blessings or whatever)
post_teleport_soundThe sound played on arrival, after the teleport.
teleport_channelWhat channel the teleport is done under.

Procs

get_destinationsGets a list of destinations that are valid
is_valid_destinationChecks if the passed turf is a valid destination.
+

Var Details

destination_flags + + + + +

+

A list of flags related to determining if our destination target is valid or not.

force_teleport + + + + +

+

Whether we force the teleport to happen (ie, it cannot be blocked by noteleport areas or blessings or whatever)

post_teleport_sound + + + + +

+

The sound played on arrival, after the teleport.

teleport_channel + + + + +

+

What channel the teleport is done under.

Proc Details

get_destinations +

+

Gets a list of destinations that are valid

is_valid_destination +

+

Checks if the passed turf is a valid destination.

+ + + diff --git a/datum/action/cooldown/spell/teleport/area_teleport.html b/datum/action/cooldown/spell/teleport/area_teleport.html new file mode 100644 index 000000000000..728c5d2e1bcb --- /dev/null +++ b/datum/action/cooldown/spell/teleport/area_teleport.html @@ -0,0 +1,52 @@ + + + + + + + /datum/action/cooldown/spell/teleport/area_teleport - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

area_teleport + + + +

+ +Area Teleport Spell +

A subtype of teleport that will teleport the caster +to a random turf within a selected (or random) area.

+ + +

Vars

invocation_says_areaIf the invocation appends the selected area when said. Requires invocation mode shout or whisper.
last_chosen_area_nameThe last area we chose to teleport / where we're currently teleporting to, if mid-cast
randomise_selectionIf FALSE, the caster can select the destination area. If TRUE, they will teleport to somewhere randomly instead.
+

Var Details

invocation_says_area + + + + +

+

If the invocation appends the selected area when said. Requires invocation mode shout or whisper.

last_chosen_area_name + + + + +

+

The last area we chose to teleport / where we're currently teleporting to, if mid-cast

randomise_selection + + + + +

+

If FALSE, the caster can select the destination area. If TRUE, they will teleport to somewhere randomly instead.

+ + + diff --git a/datum/action/cooldown/spell/teleport/radius_turf.html b/datum/action/cooldown/spell/teleport/radius_turf.html new file mode 100644 index 000000000000..fe733a858658 --- /dev/null +++ b/datum/action/cooldown/spell/teleport/radius_turf.html @@ -0,0 +1,45 @@ + + + + + + + /datum/action/cooldown/spell/teleport/radius_turf - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

radius_turf + + + +

+ +Radius Teleport Spell +

A subtype of teleport that will teleport the caster +to a random turf within a radius of themselves.

+ +

Vars

inner_tele_radiusThe inner radius around the caster that we can teleport to
outer_tele_radiusThe outer radius around the caster that we can teleport to
+

Var Details

inner_tele_radius + + + + +

+

The inner radius around the caster that we can teleport to

outer_tele_radius + + + + +

+

The outer radius around the caster that we can teleport to

+ + + diff --git a/datum/action/cooldown/spell/tesla.html b/datum/action/cooldown/spell/tesla.html new file mode 100644 index 000000000000..65b957e278ac --- /dev/null +++ b/datum/action/cooldown/spell/tesla.html @@ -0,0 +1,87 @@ + + + + + + + /datum/action/cooldown/spell/tesla - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tesla + + + +

+ + + + + + + + + +

Vars

channel_timeHow long it takes to channel the zap.
charge_soundThe sound played while charging the spell +Quote: "the only way i can think of to stop a sound, thank MSO for the idea."
currently_channelingWhether we're currently channelling a tesla blast or not
haloThe halo that appears around the caster while charging the spell
shock_radiusThe radius around (either the caster or people shocked) to which the tesla blast can reach

Procs

get_targetGet a target in view of us to zap next. Returns a carbon, or null if none were found.
reset_teslaResets the tesla effect.
zap_targetZaps a target, the bolt originating from origin.
+

Var Details

channel_time + + + + +

+

How long it takes to channel the zap.

charge_sound + + + + +

+

The sound played while charging the spell +Quote: "the only way i can think of to stop a sound, thank MSO for the idea."

currently_channeling + + + + +

+

Whether we're currently channelling a tesla blast or not

halo + + + + +

+

The halo that appears around the caster while charging the spell

shock_radius + + + + +

+

The radius around (either the caster or people shocked) to which the tesla blast can reach

Proc Details

get_target +

+

Get a target in view of us to zap next. Returns a carbon, or null if none were found.

reset_tesla +

+

Resets the tesla effect.

zap_target +

+

Zaps a target, the bolt originating from origin.

+ + + diff --git a/datum/action/cooldown/spell/thermal_vision.html b/datum/action/cooldown/spell/thermal_vision.html new file mode 100644 index 000000000000..72b05ab450a0 --- /dev/null +++ b/datum/action/cooldown/spell/thermal_vision.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/thermal_vision - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

thermal_vision + + + +

+ + + +

Vars

eye_damageHow much eye damage is given on cast
thermal_durationThe duration of the thermal vision
+

Var Details

eye_damage + + + + +

+

How much eye damage is given on cast

thermal_duration + + + + +

+

The duration of the thermal vision

+ + + diff --git a/datum/action/cooldown/spell/timestop.html b/datum/action/cooldown/spell/timestop.html new file mode 100644 index 000000000000..b98a8a280999 --- /dev/null +++ b/datum/action/cooldown/spell/timestop.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/timestop - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

timestop + + + +

+ + + +

Vars

timestop_durationThe duration of the time stop.
timestop_rangeThe radius / range of the time stop.
+

Var Details

timestop_duration + + + + +

+

The duration of the time stop.

timestop_range + + + + +

+

The radius / range of the time stop.

+ + + diff --git a/datum/action/cooldown/spell/tongue_spike.html b/datum/action/cooldown/spell/tongue_spike.html new file mode 100644 index 000000000000..577ff37f5241 --- /dev/null +++ b/datum/action/cooldown/spell/tongue_spike.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/tongue_spike - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tongue_spike + + + +

+ + +

Vars

spike_pathThe type-path to what projectile we spawn to throw at someone.
+

Var Details

spike_path + + + + +

+

The type-path to what projectile we spawn to throw at someone.

+ + + diff --git a/datum/action/cooldown/spell/touch.html b/datum/action/cooldown/spell/touch.html new file mode 100644 index 000000000000..e8a6b85015c0 --- /dev/null +++ b/datum/action/cooldown/spell/touch.html @@ -0,0 +1,145 @@ + + + + + + + /datum/action/cooldown/spell/touch - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

touch + + + +

+ + + + + + + + + + + + + + + +

Vars

attached_handRef to the hand we currently have deployed.
draw_messageThe message displayed to the person upon creating the touch hand
drop_messageThe message displayed upon willingly dropping / deleting / cancelling the touch hand before using it
hand_pathTypepath of what hand we create on initial cast.

Procs

cast_on_hand_hitThe actual process of casting the spell on the victim from the caster.
cast_on_secondary_hand_hitFor any special casting effects done if the user right-clicks +on touch spell instead of left-clicking
create_handCreates a new hand_path hand and equips it to the caster.
do_hand_hitCalls cast_on_hand_hit() from the caster onto the victim.
do_secondary_hand_hitCalls do_secondary_hand_hit() from the caster onto the victim.
on_hand_deletedSignal proc for COMSIG_PARENT_QDELETING from our attached hand.
on_hand_droppedSignal proc for COMSIG_ITEM_DROPPED from our attached hand.
on_hand_hitSignal proc for COMSIG_ITEM_AFTERATTACK from our attached hand.
on_secondary_hand_hitSignal proc for COMSIG_ITEM_AFTERATTACK_SECONDARY from our attached hand.
remove_handUnregisters any signals and deletes the hand currently summoned by the spell.
+

Var Details

attached_hand + + + + +

+

Ref to the hand we currently have deployed.

draw_message + + + + +

+

The message displayed to the person upon creating the touch hand

drop_message + + + + +

+

The message displayed upon willingly dropping / deleting / cancelling the touch hand before using it

hand_path + + + + +

+

Typepath of what hand we create on initial cast.

Proc Details

cast_on_hand_hit +

+

The actual process of casting the spell on the victim from the caster.

+

Override / extend this to implement casting effects. +Return TRUE on a successful cast to use up the hand (delete it) +Return FALSE to do nothing and let them keep the hand in hand

cast_on_secondary_hand_hit +

+

For any special casting effects done if the user right-clicks +on touch spell instead of left-clicking

+

Return SECONDARY_ATTACK_CALL_NORMAL to call the normal cast_on_hand_hit +Return SECONDARY_ATTACK_CONTINUE_CHAIN to prevent the normal cast_on_hand_hit from calling, but still use up the hand +Return SECONDARY_ATTACK_CANCEL_CHAIN to prevent the spell from being used

create_hand +

+

Creates a new hand_path hand and equips it to the caster.

+

If the equipping action fails, reverts the cooldown and returns FALSE. +Otherwise, registers signals and returns TRUE.

do_hand_hit +

+

Calls cast_on_hand_hit() from the caster onto the victim.

do_secondary_hand_hit +

+

Calls do_secondary_hand_hit() from the caster onto the victim.

on_hand_deleted +

+

Signal proc for COMSIG_PARENT_QDELETING from our attached hand.

+

If our hand is deleted for a reason unrelated to our spell, +unlink it (clear refs) and revert the cooldown

on_hand_dropped +

+

Signal proc for COMSIG_ITEM_DROPPED from our attached hand.

+

If our caster drops the hand, remove the hand / revert the cast +Basically gives them an easy hotkey to lose their hand without needing to click the button

on_hand_hit +

+

Signal proc for COMSIG_ITEM_AFTERATTACK from our attached hand.

+

When our hand hits an atom, we can cast do_hand_hit() on them.

on_secondary_hand_hit +

+

Signal proc for COMSIG_ITEM_AFTERATTACK_SECONDARY from our attached hand.

+

Same as on_hand_hit, but for if right-click was used on hit.

remove_hand +

+

Unregisters any signals and deletes the hand currently summoned by the spell.

+

If reset_cooldown_after is TRUE, we will additionally refund the cooldown of the spell. +If reset_cooldown_after is FALSE, we will instead just start the spell's cooldown

+ + + diff --git a/datum/action/cooldown/spell/voice_of_god.html b/datum/action/cooldown/spell/voice_of_god.html new file mode 100644 index 000000000000..056e5f4531d5 --- /dev/null +++ b/datum/action/cooldown/spell/voice_of_god.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/spell/voice_of_god - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

voice_of_god + + + +

+ + + + + +

Vars

commandThe command to deliver on cast
cooldown_modThe modifier to the cooldown, after cast
power_modThe modifier put onto the power of the command
spansA list of spans to apply to commands given
+

Var Details

command + + + + +

+

The command to deliver on cast

cooldown_mod + + + + +

+

The modifier to the cooldown, after cast

power_mod + + + + +

+

The modifier put onto the power of the command

spans + + + + +

+

A list of spans to apply to commands given

+ + + diff --git a/datum/action/innate.html b/datum/action/innate.html new file mode 100644 index 000000000000..cb9c093830d7 --- /dev/null +++ b/datum/action/innate.html @@ -0,0 +1,98 @@ + + + + + + + /datum/action/innate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

innate + + + +

+ + + + + + + + + + +

Vars

activeWhether we're active or not, if we're a innate - toggle action.
click_actionWhether we're a click action or not, if we're a innate - click action.
disable_textIf we're a click action, the text shown on disable
enable_textIf we're a click action, the text shown on enable
ranged_mousepointerIf we're a click action, the mouse pointer we use

Procs

InterceptClickOnHandles whenever a mob clicks on something
do_abilityActually goes through and does the click ability
set_ranged_abilityThis is gross, but a somewhat-required bit of copy+paste until action code becomes slightly more sane. +Anything that uses these functions should eventually be moved to use cooldown actions. +(Either that, or the click ability of cooldown actions should be moved down a type.)
unset_ranged_abilityRemoves this action as the active ability of the passed mob
+

Var Details

active + + + + +

+

Whether we're active or not, if we're a innate - toggle action.

click_action + + + + +

+

Whether we're a click action or not, if we're a innate - click action.

disable_text + + + + +

+

If we're a click action, the text shown on disable

enable_text + + + + +

+

If we're a click action, the text shown on enable

ranged_mousepointer + + + + +

+

If we're a click action, the mouse pointer we use

Proc Details

InterceptClickOn +

+

Handles whenever a mob clicks on something

do_ability +

+

Actually goes through and does the click ability

set_ranged_ability +

+

This is gross, but a somewhat-required bit of copy+paste until action code becomes slightly more sane. +Anything that uses these functions should eventually be moved to use cooldown actions. +(Either that, or the click ability of cooldown actions should be moved down a type.)

+

If you're adding something that uses these, rethink your choice in subtypes. +Sets this action as the active ability for the passed mob

unset_ranged_ability +

+

Removes this action as the active ability of the passed mob

+ + + diff --git a/datum/action/innate/ai.html b/datum/action/innate/ai.html new file mode 100644 index 000000000000..e1cf990114cd --- /dev/null +++ b/datum/action/innate/ai.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/innate/ai - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ai + + + +

+ +

The malf AI action subtype. All malf actions are subtypes of this.

+ + + +

Vars

auto_use_usesIf we automatically use up uses on each activation
cooldown_periodIf applicable, the time in deciseconds we have to wait before using any more modules
owner_AIThe owner AI, so we don't have to typecast every time
usesIf we have multiple uses of the same power
+

Var Details

auto_use_uses + + + + +

+

If we automatically use up uses on each activation

cooldown_period + + + + +

+

If applicable, the time in deciseconds we have to wait before using any more modules

owner_AI + + + + +

+

The owner AI, so we don't have to typecast every time

uses + + + + +

+

If we have multiple uses of the same power

+ + + diff --git a/datum/action/innate/ai/ranged.html b/datum/action/innate/ai/ranged.html new file mode 100644 index 000000000000..1447e615cc4b --- /dev/null +++ b/datum/action/innate/ai/ranged.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/innate/ai/ranged - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ranged + + + +

+ +

Framework for ranged abilities that can have different effects by left-clicking stuff.

+

Vars

click_actionThe linked proc holder that contains the actual ability code
+

Var Details

click_action + + + + +

+

The linked proc holder that contains the actual ability code

+ + + diff --git a/datum/action/innate/blobpop.html b/datum/action/innate/blobpop.html new file mode 100644 index 000000000000..556322ce4e2d --- /dev/null +++ b/datum/action/innate/blobpop.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/innate/blobpop - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

blobpop + + + +

+ + +

Vars

autoplace_timeThe time taken before this ability is automatically activated.
+

Var Details

autoplace_time + + + + +

+

The time taken before this ability is automatically activated.

+ + + diff --git a/datum/action/innate/cellular_emporium.html b/datum/action/innate/cellular_emporium.html new file mode 100644 index 000000000000..4680bacaded5 --- /dev/null +++ b/datum/action/innate/cellular_emporium.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/innate/cellular_emporium - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cellular_emporium + + + +

+ + +

Vars

cellular_emporiumThe cell emporium we open.
+

Var Details

cellular_emporium + + + + +

+

The cell emporium we open.

+ + + diff --git a/datum/action/innate/construction.html b/datum/action/innate/construction.html new file mode 100644 index 000000000000..7fbffdd1e12e --- /dev/null +++ b/datum/action/innate/construction.html @@ -0,0 +1,64 @@ + + + + + + + /datum/action/innate/construction - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

construction + + + +

+ +

Generic construction action for base construction consoles.

+ + + + +

Vars

base_consoleConsole itself
only_station_zIs this used to build only on the station z level?
remote_eyeConsole's eye mob

Procs

check_rcdSanity check for any construction action that relies on an RCD being in the base console
check_spotCheck a loction to see if it is inside the aux base at the station. Camera visbility checks omitted so as to not hinder construction.
+

Var Details

base_console + + + + +

+

Console itself

only_station_z + + + + +

+

Is this used to build only on the station z level?

remote_eye + + + + +

+

Console's eye mob

Proc Details

check_rcd +

+

Sanity check for any construction action that relies on an RCD being in the base console

check_spot +

+

Check a loction to see if it is inside the aux base at the station. Camera visbility checks omitted so as to not hinder construction.

+ + + diff --git a/datum/action/innate/construction/place_structure.html b/datum/action/innate/construction/place_structure.html new file mode 100644 index 000000000000..89704b7c4861 --- /dev/null +++ b/datum/action/innate/construction/place_structure.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/innate/construction/place_structure - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

place_structure + + + +

+ +

Generic action used with base construction consoles to build anything that can't be built with an RCD

+

Procs

after_placeProc to handle additional behavior after placing an object

Proc Details

after_place +

+

Proc to handle additional behavior after placing an object

+ + + diff --git a/datum/action/innate/cult/blood_spell.html b/datum/action/innate/cult/blood_spell.html new file mode 100644 index 000000000000..0e0dfc652953 --- /dev/null +++ b/datum/action/innate/cult/blood_spell.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/innate/cult/blood_spell - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

blood_spell + + + +

+ + +

Vars

positionedHave we already been positioned into our starting location?
+

Var Details

positioned + + + + +

+

Have we already been positioned into our starting location?

+ + + diff --git a/datum/action/innate/cult/blood_spell/dagger.html b/datum/action/innate/cult/blood_spell/dagger.html new file mode 100644 index 000000000000..3aaddd3d8fb4 --- /dev/null +++ b/datum/action/innate/cult/blood_spell/dagger.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/innate/cult/blood_spell/dagger - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

dagger + + + +

+ + +

Vars

summoned_typeThe item given to the cultist when the spell is invoked. Typepath.
+

Var Details

summoned_type + + + + +

+

The item given to the cultist when the spell is invoked. Typepath.

+ + + diff --git a/datum/action/innate/cult/ghostmark.html b/datum/action/innate/cult/ghostmark.html new file mode 100644 index 000000000000..072bc6f0f43f --- /dev/null +++ b/datum/action/innate/cult/ghostmark.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/innate/cult/ghostmark - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ghostmark + + + +

+ + + + +

Vars

cult_mark_cooldownThe actual cooldown tracked of the action
cult_mark_cooldown_durationThe cooldown between marks - the ability can be used in between cooldowns, but can't mark (only clear)
cult_mark_durationThe duration of the mark on the target
+

Var Details

cult_mark_cooldown + + + + +

+

The actual cooldown tracked of the action

cult_mark_cooldown_duration + + + + +

+

The cooldown between marks - the ability can be used in between cooldowns, but can't mark (only clear)

cult_mark_duration + + + + +

+

The duration of the mark on the target

+ + + diff --git a/datum/action/innate/cult/master/cultmark.html b/datum/action/innate/cult/master/cultmark.html new file mode 100644 index 000000000000..3b3aafbac1e6 --- /dev/null +++ b/datum/action/innate/cult/master/cultmark.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/innate/cult/master/cultmark - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cultmark + + + +

+ + + + +

Vars

cult_mark_cooldownThe actual cooldown tracked of the action
cult_mark_cooldown_durationThe duration of the cooldown for cult marks
cult_mark_durationThe duration of the mark itself
+

Var Details

cult_mark_cooldown + + + + +

+

The actual cooldown tracked of the action

cult_mark_cooldown_duration + + + + +

+

The duration of the cooldown for cult marks

cult_mark_duration + + + + +

+

The duration of the mark itself

+ + + diff --git a/datum/action/innate/cult/master/pulse.html b/datum/action/innate/cult/master/pulse.html new file mode 100644 index 000000000000..aff033498154 --- /dev/null +++ b/datum/action/innate/cult/master/pulse.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/innate/cult/master/pulse - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pulse + + + +

+ +

ELDRITCH PULSE

+ + +

Vars

pulse_cooldownThe actual cooldown tracked of the action
pulse_cooldown_durationCooldown of the ability
throwee_refWeakref to whoever we're currently about to toss
+

Var Details

pulse_cooldown + + + + +

+

The actual cooldown tracked of the action

pulse_cooldown_duration + + + + +

+

Cooldown of the ability

throwee_ref + + + + +

+

Weakref to whoever we're currently about to toss

+ + + diff --git a/datum/action/innate/dash.html b/datum/action/innate/dash.html new file mode 100644 index 000000000000..d403f79f587d --- /dev/null +++ b/datum/action/innate/dash.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/innate/dash - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

dash + + + +

+ + +

Procs

teleportTeleports user to target using do_teleport. Returns TRUE if teleport successful, FALSE otherwise.

Proc Details

teleport +

+

Teleports user to target using do_teleport. Returns TRUE if teleport successful, FALSE otherwise.

+ + + diff --git a/datum/action/innate/expand_sight.html b/datum/action/innate/expand_sight.html new file mode 100644 index 000000000000..8f4e7e387588 --- /dev/null +++ b/datum/action/innate/expand_sight.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/innate/expand_sight - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

expand_sight + + + +

+ + + +

Vars

boost_toHow far we expand the range to.
last_toggleA cooldown for the last time we toggled it, to prevent spam.
+

Var Details

boost_to + + + + +

+

How far we expand the range to.

last_toggle + + + + +

+

A cooldown for the last time we toggled it, to prevent spam.

+ + + diff --git a/datum/action/innate/integrate_extract.html b/datum/action/innate/integrate_extract.html new file mode 100644 index 000000000000..6d1ed19ab438 --- /dev/null +++ b/datum/action/innate/integrate_extract.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/innate/integrate_extract - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

integrate_extract + + + +

+ + +

Procs

locate_extractCallback for /datum/component/action_item_overlay to find the slime extract from within the species

Proc Details

locate_extract +

+

Callback for /datum/component/action_item_overlay to find the slime extract from within the species

+ + + diff --git a/datum/action/innate/investigate.html b/datum/action/innate/investigate.html new file mode 100644 index 000000000000..13ab2ecf5f6c --- /dev/null +++ b/datum/action/innate/investigate.html @@ -0,0 +1,71 @@ + + + + + + + /datum/action/innate/investigate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

investigate + + + +

+ + + + + + + +

Vars

hud_objThe screentext object, we handle it ourselves
last_hover_refA weakref to the most recently hovered human
loopThe sound datum for the loop
timerTimer ID for the looping timer that checks the owner's mouse over atom.
used_channelThe sound channel we're using

Procs

wanted_foolInvoked by a crew member's criminal status changing.
+

Var Details

hud_obj + + + + +

+

The screentext object, we handle it ourselves

last_hover_ref + + + + +

+

A weakref to the most recently hovered human

loop + + + + +

+

The sound datum for the loop

timer + + + + +

+

Timer ID for the looping timer that checks the owner's mouse over atom.

used_channel + + + + +

+

The sound channel we're using

Proc Details

wanted_fool +

+

Invoked by a crew member's criminal status changing.

+ + + diff --git a/datum/action/innate/link_minds.html b/datum/action/innate/link_minds.html new file mode 100644 index 000000000000..af24d25b001e --- /dev/null +++ b/datum/action/innate/link_minds.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/innate/link_minds - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

link_minds + + + +

+ + + + +

Vars

currently_linkingWhether we're currently linking to someone.
req_speciesThe species required to use this ability. Typepath.

Procs

while_link_callbackCallback ran during the do_after of Activate() to see if we can keep linking with someone.
+

Var Details

currently_linking + + + + +

+

Whether we're currently linking to someone.

req_species + + + + +

+

The species required to use this ability. Typepath.

Proc Details

+

Callback ran during the do_after of Activate() to see if we can keep linking with someone.

+ + + diff --git a/datum/action/innate/proto_emitter.html b/datum/action/innate/proto_emitter.html new file mode 100644 index 000000000000..cb20ddd559fe --- /dev/null +++ b/datum/action/innate/proto_emitter.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/innate/proto_emitter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

proto_emitter + + + +

+ + + +

Vars

buckled_mobStores the mob instance that is buckled to the emitter
proto_emitterStores the emitter the user is currently buckled on
+

Var Details

buckled_mob + + + + +

+

Stores the mob instance that is buckled to the emitter

proto_emitter + + + + +

+

Stores the emitter the user is currently buckled on

+ + + diff --git a/datum/action/innate/teleport_in.html b/datum/action/innate/teleport_in.html new file mode 100644 index 000000000000..7f2bdacd031c --- /dev/null +++ b/datum/action/innate/teleport_in.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/innate/teleport_in - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

teleport_in + + + +

+ + + +

Vars

abductor_pad_cooldownIs the amount of time required between uses
use_delayIs used to compare to world.time in order to determine if the action should early return
+

Var Details

abductor_pad_cooldown + + + + +

+

Is the amount of time required between uses

use_delay + + + + +

+

Is used to compare to world.time in order to determine if the action should early return

+ + + diff --git a/datum/action/innate/teleport_self.html b/datum/action/innate/teleport_self.html new file mode 100644 index 000000000000..a3addfc869ac --- /dev/null +++ b/datum/action/innate/teleport_self.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/innate/teleport_self - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

teleport_self + + + +

+ + +

Vars

teleport_self_cooldownIs the amount of time required between uses
+

Var Details

teleport_self_cooldown + + + + +

+

Is the amount of time required between uses

+ + + diff --git a/datum/action/innate/use_extract.html b/datum/action/innate/use_extract.html new file mode 100644 index 000000000000..1110adf2fbbb --- /dev/null +++ b/datum/action/innate/use_extract.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/innate/use_extract - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

use_extract + + + +

+ + +

Procs

locate_extractCallback for /datum/component/action_item_overlay to find the slime extract from within the species

Proc Details

locate_extract +

+

Callback for /datum/component/action_item_overlay to find the slime extract from within the species

+ + + diff --git a/datum/action/innate/vibe.html b/datum/action/innate/vibe.html new file mode 100644 index 000000000000..b542fb6082c6 --- /dev/null +++ b/datum/action/innate/vibe.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/innate/vibe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

vibe + + + +

+ +

Vibebot's vibe ability

+

Given to vibebots so sentient ones can change/reset thier colors at will.

+ +

Procs

remove_colorsRemoves all colors
vibeGives a random color

Proc Details

remove_colors +

+

Removes all colors

vibe +

+

Gives a random color

+ + + diff --git a/datum/action/item_action/agent_box.html b/datum/action/item_action/agent_box.html new file mode 100644 index 000000000000..f711213d85ae --- /dev/null +++ b/datum/action/item_action/agent_box.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/item_action/agent_box - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

agent_box + + + +

+ +

MGS BOX!

+ +

Vars

boxtypeThe type of closet this action spawns.

Procs

TriggerHandles opening and closing the box.
+

Var Details

boxtype + + + + +

+

The type of closet this action spawns.

Proc Details

Trigger +

+

Handles opening and closing the box.

+ + + diff --git a/datum/action/item_action/mod.html b/datum/action/item_action/mod.html new file mode 100644 index 000000000000..a7e3883b4b4a --- /dev/null +++ b/datum/action/item_action/mod.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/item_action/mod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mod + + + +

+ + +

Vars

ai_actionWhether this action is intended for the AI. Stuff breaks a lot if this is done differently.
+

Var Details

ai_action + + + + +

+

Whether this action is intended for the AI. Stuff breaks a lot if this is done differently.

+ + + diff --git a/datum/action/item_action/mod/activate.html b/datum/action/item_action/mod/activate.html new file mode 100644 index 000000000000..b4a7b8a13826 --- /dev/null +++ b/datum/action/item_action/mod/activate.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/item_action/mod/activate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

activate + + + +

+ + + +

Vars

readyFirst time clicking this will set it to TRUE, second time will activate it.

Procs

reset_readyResets the state requiring to be doubleclicked again.
+

Var Details

ready + + + + +

+

First time clicking this will set it to TRUE, second time will activate it.

Proc Details

reset_ready +

+

Resets the state requiring to be doubleclicked again.

+ + + diff --git a/datum/action/item_action/mod/pinned_module.html b/datum/action/item_action/mod/pinned_module.html new file mode 100644 index 000000000000..7ab5fc3c6869 --- /dev/null +++ b/datum/action/item_action/mod/pinned_module.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/item_action/mod/pinned_module - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pinned_module + + + +

+ + + + +

Vars

moduleModule we are linked to.
overrideOverrides the icon applications.
pinner_refA ref to the mob we are pinned to.
+

Var Details

module + + + + +

+

Module we are linked to.

override + + + + +

+

Overrides the icon applications.

pinner_ref + + + + +

+

A ref to the mob we are pinned to.

+ + + diff --git a/datum/action/item_action/mod_recall.html b/datum/action/item_action/mod_recall.html new file mode 100644 index 000000000000..d01b0f40d677 --- /dev/null +++ b/datum/action/item_action/mod_recall.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/item_action/mod_recall - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mod_recall + + + +

+ + +

Vars

recall_cooldownThe cooldown for the recall.
+

Var Details

recall_cooldown + + + + +

+

The cooldown for the recall.

+ + + diff --git a/datum/action/item_action/organ_action/track_target.html b/datum/action/item_action/organ_action/track_target.html new file mode 100644 index 000000000000..70fe9c830d3c --- /dev/null +++ b/datum/action/item_action/organ_action/track_target.html @@ -0,0 +1,64 @@ + + + + + + + /datum/action/item_action/organ_action/track_target - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

track_target + + + +

+ + + + + + +

Vars

last_tracked_nameThe real name of the last mob we tracked
radial_openWhether the target radial is currently opened.
track_cooldownThe cooldown between button uses.
track_cooldown_lenthHow long we have to wait between tracking uses.

Procs

check_menuCallback for the radial to ensure it's closed when not allowed.
+

Var Details

last_tracked_name + + + + +

+

The real name of the last mob we tracked

radial_open + + + + +

+

Whether the target radial is currently opened.

track_cooldown + + + + +

+

The cooldown between button uses.

track_cooldown_lenth + + + + +

+

How long we have to wait between tracking uses.

Proc Details

check_menu +

+

Callback for the radial to ensure it's closed when not allowed.

+ + + diff --git a/datum/action/send_chems.html b/datum/action/send_chems.html new file mode 100644 index 000000000000..03e77de3b5f0 --- /dev/null +++ b/datum/action/send_chems.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/send_chems - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

send_chems + + + +

+ + +

Vars

transfered_refWeakref to the mob target that we transfer chemicals to on activation
+

Var Details

transfered_ref + + + + +

+

Weakref to the mob target that we transfer chemicals to on activation

+ + + diff --git a/datum/action/toggle_buffer.html b/datum/action/toggle_buffer.html new file mode 100644 index 000000000000..40248f3c6278 --- /dev/null +++ b/datum/action/toggle_buffer.html @@ -0,0 +1,94 @@ + + + + + + + /datum/action/toggle_buffer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

toggle_buffer + + + +

+ + + + + + + + + + +

Vars

bucket_refThe bucket we draw water from
toggle_cooldownToggle cooldown to prevent sound spam
wash_audioOur looping sound

Procs

activate_washActivate the buffer, comes with a nice animation that loops while it's on
allow_buffer_activateShould we keep trying to activate our buffer, or did you fuck it up somehow
cleanCall this to attempt to actually clean the turf underneath us
deactivate_washStart the process of disabling the buffer. Plays some effects, waits a bit, then finishes
toggle_washToggle our wash mode
turn_off_washCalled by [deactivate_wash] on a timer to allow noises and animation to play out. +Finally disables the buffer. Doesn't do everything mind, just the stuff that we wanted to delay
+

Var Details

bucket_ref + + + + +

+

The bucket we draw water from

toggle_cooldown + + + + +

+

Toggle cooldown to prevent sound spam

wash_audio + + + + +

+

Our looping sound

Proc Details

activate_wash +

+

Activate the buffer, comes with a nice animation that loops while it's on

allow_buffer_activate +

+

Should we keep trying to activate our buffer, or did you fuck it up somehow

clean +

+

Call this to attempt to actually clean the turf underneath us

deactivate_wash +

+

Start the process of disabling the buffer. Plays some effects, waits a bit, then finishes

toggle_wash +

+

Toggle our wash mode

turn_off_wash +

+

Called by [deactivate_wash] on a timer to allow noises and animation to play out. +Finally disables the buffer. Doesn't do everything mind, just the stuff that we wanted to delay

+ + + diff --git a/datum/action/vehicle/sealed/mecha/ivanov_strike.html b/datum/action/vehicle/sealed/mecha/ivanov_strike.html new file mode 100644 index 000000000000..8fda6623e115 --- /dev/null +++ b/datum/action/vehicle/sealed/mecha/ivanov_strike.html @@ -0,0 +1,96 @@ + + + + + + + /datum/action/vehicle/sealed/mecha/ivanov_strike - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ivanov_strike + + + +

+ + + + + + + + + +

Vars

rockets_lefthow many rockets can we send with ivanov strike
strike_cooldown_timecooldown time between strike uses

Procs

drop_missile
end_missile_targeting
on_equipment_clicksignal called from clicking with equipment
on_melee_clicksignal called from clicking with no equipment
reset_button_icon
start_missile_targeting
+

Var Details

rockets_left + + + + +

+

how many rockets can we send with ivanov strike

strike_cooldown_time + + + + +

+

cooldown time between strike uses

Proc Details

drop_missile +

+ drop_missile +

Called via intercepted clicks when the missile ability is active +Spawns a droppod and starts the cooldown of the missile strike ability +arguments:

+

end_missile_targeting +

+ end_missile_targeting +

Called by the ivanov strike datum action or other actions that would end targetting +Unhooks signals into clicking to call drop_missile plus other flavor like the overlay

on_equipment_click +

+

signal called from clicking with equipment

on_melee_click +

+

signal called from clicking with no equipment

reset_button_icon +

+ reset_button_icon +

called after an addtimer when the cooldown is finished with the ivanov strike, resets the icon

start_missile_targeting +

+ start_missile_targeting +

Called by the ivanov strike datum action, hooks signals into clicking to call drop_missile +Plus other flavor like the overlay

+ + + diff --git a/datum/action/vehicle/sealed/mecha/skyfall.html b/datum/action/vehicle/sealed/mecha/skyfall.html new file mode 100644 index 000000000000..d10a2e4f7248 --- /dev/null +++ b/datum/action/vehicle/sealed/mecha/skyfall.html @@ -0,0 +1,87 @@ + + + + + + + /datum/action/vehicle/sealed/mecha/skyfall - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

skyfall + + + +

+ +

Savannah Skyfall

+ + + + + + +

Vars

skyfall_charge_levelskyfall builds up in charges every 2 seconds, when it reaches 5 charges the ability actually starts
skyfall_cooldown_timecooldown time between skyfall uses

Procs

abort_skyfall
begin_landing
land
reset_button_icon
skyfall_charge_loop
+

Var Details

skyfall_charge_level + + + + +

+

skyfall builds up in charges every 2 seconds, when it reaches 5 charges the ability actually starts

skyfall_cooldown_time + + + + +

+

cooldown time between skyfall uses

Proc Details

abort_skyfall +

+ abort_skyfall +

Called by skyfall_charge_loop if the charging is interrupted. +Applies cooldown and resets charge level

begin_landing +

+ begin_landing +

Called by skyfall_charge_loop after some time if it reaches full charge level. +it's just the animations of the mecha coming down + another timer for the final landing effect

land +

+ land +

Called by skyfall_charge_loop after some time if it reaches full charge level. +it's just the animations of the mecha coming down + another timer for the final landing effect

reset_button_icon +

+ reset_button_icon +

called after an addtimer when the cooldown is finished with the skyfall, resets the icon

skyfall_charge_loop +

+ skyfall_charge_loop +

The actual skyfall loop itself. Repeatedly calls itself after a do_after, so any interruptions will call abort_skyfall and end the loop +the other way the loop ends is if charge level (var it's ticking up) gets to SKYFALL_CHARGELEVEL_LAUNCH, in which case it ends the loop and does the ability.

+ + + diff --git a/datum/action_group.html b/datum/action_group.html new file mode 100644 index 000000000000..6f7e5622c327 --- /dev/null +++ b/datum/action_group.html @@ -0,0 +1,126 @@ + + + + + + + /datum/action_group - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

action_group + + + +

+ + + + + + + + + + + + + + +

Vars

actionsThe actions we're managing
column_maxMax amount of buttons we can have per row +Indexes at 1
landingOur landing screen object
locationThe screen location we go by
max_rowsHow many rows of actions we can have at max before we just stop hiding +Indexes at 1
north_offsetThe initial vertical offset of our action buttons
ownerThe hud we're owned by
pixel_north_offsetThe pixel vertical offset of our action buttons
row_offsetHow far "ahead" of the first row we start. Lets us "scroll" our rows +Indexes at 1

Procs

ButtonNumberToScreenCoordsAccepts a number represeting our position in the group, indexes at 0 to make the math nicer
clear_landingClears any landing objects we may currently have
generate_landingGenerates a landing object that can be dropped on to join this group
sizeReturns the amount of objects we're storing at the moment
+

Var Details

actions + + + + +

+

The actions we're managing

column_max + + + + +

+

Max amount of buttons we can have per row +Indexes at 1

landing + + + + +

+

Our landing screen object

location + + + + +

+

The screen location we go by

max_rows + + + + +

+

How many rows of actions we can have at max before we just stop hiding +Indexes at 1

north_offset + + + + +

+

The initial vertical offset of our action buttons

owner + + + + +

+

The hud we're owned by

pixel_north_offset + + + + +

+

The pixel vertical offset of our action buttons

row_offset + + + + +

+

How far "ahead" of the first row we start. Lets us "scroll" our rows +Indexes at 1

Proc Details

ButtonNumberToScreenCoords +

+

Accepts a number represeting our position in the group, indexes at 0 to make the math nicer

clear_landing +

+

Clears any landing objects we may currently have

generate_landing +

+

Generates a landing object that can be dropped on to join this group

size +

+

Returns the amount of objects we're storing at the moment

+ + + diff --git a/datum/actionspeed_modifier.html b/datum/actionspeed_modifier.html new file mode 100644 index 000000000000..6eeb81558b23 --- /dev/null +++ b/datum/actionspeed_modifier.html @@ -0,0 +1,64 @@ + + + + + + + /datum/actionspeed_modifier - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

actionspeed_modifier + + + +

+ + + + + + +

Vars

conflicts_withOther modification datums this conflicts with.
idUnique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.
priorityHigher ones override lower priorities. This is NOT used for ID, ID must be unique, if it isn't unique the newer one overwrites automatically if overriding.
slowdownMultiplicative slowdown
variableWhether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)
+

Var Details

conflicts_with + + + + +

+

Other modification datums this conflicts with.

id + + + + +

+

Unique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.

priority + + + + +

+

Higher ones override lower priorities. This is NOT used for ID, ID must be unique, if it isn't unique the newer one overwrites automatically if overriding.

slowdown + + + + +

+

Multiplicative slowdown

variable + + + + +

+

Whether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)

+ + + diff --git a/datum/addiction.html b/datum/addiction.html new file mode 100644 index 000000000000..d28fe51d4611 --- /dev/null +++ b/datum/addiction.html @@ -0,0 +1,143 @@ + + + + + + + /datum/addiction - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

addiction + + + +

+ +

base class for addiction, handles when you become addicted and what the effects of that are. By default you become addicted when you hit a certain threshold, and stop being addicted once you go below another one.

+ + + + + + + + + + + + + + + +

Vars

addiction_gain_thresholdHigher threshold, when you start being addicted
addiction_loss_per_stageRates at which you lose addiction (in units/second) if you are not on the drug at that time per stage
addiction_loss_thresholdLower threshold, when you stop being addicted
addiction_relief_tresholdAmount of drugs you need in your system to be satisfied
high_sanity_addiction_lossRate at which high sanity helps addiction loss
nameName of this addiction
withdrawal_stage_messagesMessages for each stage of addictions.

Procs

become_addictedCalled when you become addicted
on_gain_addiction_pointsCalled when you gain addiction points somehow. Takes a mind as argument and sees if you gained the addiction
on_lose_addiction_pointsCalled when you lose addiction poitns somehow. Takes a mind as argument and sees if you lost the addiction
withdrawal_enters_stage_1One cycle is 2 seconds +Called when addiction enters stage 1
withdrawal_enters_stage_2Called when addiction enters stage 2
withdrawal_enters_stage_3Called when addiction enters stage 3
withdrawal_stage_1_processCalled when addiction is in stage 1 every process
withdrawal_stage_2_processCalled when addiction is in stage 2 every process
withdrawal_stage_3_processCalled when addiction is in stage 3 every process
+

Var Details

addiction_gain_threshold + + + + +

+

Higher threshold, when you start being addicted

addiction_loss_per_stage + + + + +

+

Rates at which you lose addiction (in units/second) if you are not on the drug at that time per stage

addiction_loss_threshold + + + + +

+

Lower threshold, when you stop being addicted

addiction_relief_treshold + + + + +

+

Amount of drugs you need in your system to be satisfied

high_sanity_addiction_loss + + + + +

+

Rate at which high sanity helps addiction loss

name + + + + +

+

Name of this addiction

withdrawal_stage_messages + + + + +

+

Messages for each stage of addictions.

Proc Details

become_addicted +

+

Called when you become addicted

on_gain_addiction_points +

+

Called when you gain addiction points somehow. Takes a mind as argument and sees if you gained the addiction

on_lose_addiction_points +

+

Called when you lose addiction poitns somehow. Takes a mind as argument and sees if you lost the addiction

withdrawal_enters_stage_1 +

+

One cycle is 2 seconds +Called when addiction enters stage 1

withdrawal_enters_stage_2 +

+

Called when addiction enters stage 2

withdrawal_enters_stage_3 +

+

Called when addiction enters stage 3

withdrawal_stage_1_process +

+

Called when addiction is in stage 1 every process

withdrawal_stage_2_process +

+

Called when addiction is in stage 2 every process

withdrawal_stage_3_process +

+

Called when addiction is in stage 3 every process

+ + + diff --git a/datum/admin_help.html b/datum/admin_help.html new file mode 100644 index 000000000000..7d4179299eda --- /dev/null +++ b/datum/admin_help.html @@ -0,0 +1,146 @@ + + + + + + + /datum/admin_help - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Adminhelp Ticket + + + +

+ + + + + + + + + + + + + + + + + +

Vars

closed_atThe time at which the ticket was closed
heard_by_no_adminsIf any admins were online when the ticket was initialized
idUnique ID of the ticket
initiatorSemi-misnomer, it's the person who ahelped/was bwoinked
initiator_ckeyThe ckey of the initiator
initiator_key_nameThe key name of the initiator
nameThe current name of the ticket
opened_atThe time at which the ticket was opened
opening_respondersThe list of clients currently responding to the opening ticket before it gets a response
statclickStatclick holder for the ticket
stateThe current state of the ticket
ticket_counterStatic counter used for generating each ticket ID
ticket_interactionsThe collection of interactions with this ticket. Use AddInteraction() or, preferably, admin_ticket_log()
webhook_sentWhether this ahelp has sent a webhook or not, and what type

Procs

NewCall this on its own to create a ticket, don't manually assign current_ticket
ticket_statusRenders the current status of the ticket into a displayable string
+

Var Details

closed_at + + + + +

+

The time at which the ticket was closed

heard_by_no_admins + + + + +

+

If any admins were online when the ticket was initialized

id + + + + +

+

Unique ID of the ticket

initiator + + + + +

+

Semi-misnomer, it's the person who ahelped/was bwoinked

initiator_ckey + + + + +

+

The ckey of the initiator

initiator_key_name + + + + +

+

The key name of the initiator

name + + + + +

+

The current name of the ticket

opened_at + + + + +

+

The time at which the ticket was opened

opening_responders + + + + +

+

The list of clients currently responding to the opening ticket before it gets a response

statclick + + + + +

+

Statclick holder for the ticket

state + + + + +

+

The current state of the ticket

ticket_counter + + + + +

+

Static counter used for generating each ticket ID

ticket_interactions + + + + +

+

The collection of interactions with this ticket. Use AddInteraction() or, preferably, admin_ticket_log()

webhook_sent + + + + +

+

Whether this ahelp has sent a webhook or not, and what type

Proc Details

New +

+

Call this on its own to create a ticket, don't manually assign current_ticket

+

Arguments:

+

ticket_status +

+

Renders the current status of the ticket into a displayable string

+ + + diff --git a/datum/admin_help_tickets.html b/datum/admin_help_tickets.html new file mode 100644 index 000000000000..fae894acaba7 --- /dev/null +++ b/datum/admin_help_tickets.html @@ -0,0 +1,50 @@ + + + + + + + /datum/admin_help_tickets - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Adminhelp Ticket Manager + + + +

+ + + + +

Vars

active_ticketsThe set of all active tickets
closed_ticketsThe set of all closed tickets
resolved_ticketsThe set of all resolved tickets
+

Var Details

active_tickets + + + + +

+

The set of all active tickets

closed_tickets + + + + +

+

The set of all closed tickets

resolved_tickets + + + + +

+

The set of all resolved tickets

+ + + diff --git a/datum/admins.html b/datum/admins.html new file mode 100644 index 000000000000..fd92547471c3 --- /dev/null +++ b/datum/admins.html @@ -0,0 +1,215 @@ + + + + + + + /datum/admins - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

admins + + + +

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

blocked_by_2faWhether or not the user tried to connect, but was blocked by 2FA
bypass_2faWhether or not this user can bypass 2FA
tagged_datumsA lazylist of tagged datums, for quick reference with the View Tags verb

Procs

GamePanels
add_tagged_datumInserts the target_datum into /datum/admins/var/tagged_datums, for later reference.
can_place_additional_admin_banChecks if the admin can place an additional admin ban.
check_2faReturns whether or not the given client has a verified 2FA connection. +The output is in the form of a list with the first index being whether or not the +check was successful, the 2nd is the ID of the associated database entry +if its a false result and if one can be found.
display_tagsDisplay all of the tagged datums
handle_tagged_delGet ahead of the curve with deleting
modify_traitsAllow admin to add or remove traits of datum
notify_all_banned_playersNotifies all banned players about their ban and gives them a link to appeal from the config. If it was a server ban, it also kicks them.
poll_list_panelShows a list of all current and future polls and buttons to edit or delete them or create a new poll.
poll_management_panelShow the options for creating a poll or editing its parameters along with its linked options.
poll_option_panelShow the options for creating a poll option or editing its parameters.
poll_option_parse_hrefProcesses topic data from poll option panel.
poll_parse_hrefProcesses topic data from poll management panel.
rebanSometimes an admin did not intend to unban a player. This proc undoes an unbanning operation by setting the unbanned_ keys in the DB back to null.
remove_tagged_datumAttempts to remove the specified datum from /datum/admins/var/tagged_datums if it exists
spawn_atomADMIN HELPER PROCS
station_traits_panelOpens the station traits admin panel
view_all_circuitsAn admin verb to view all circuits, plus useful information
+

Var Details

blocked_by_2fa + + + + +

+

Whether or not the user tried to connect, but was blocked by 2FA

bypass_2fa + + + + +

+

Whether or not this user can bypass 2FA

tagged_datums + + + + +

+

A lazylist of tagged datums, for quick reference with the View Tags verb

Proc Details

Game +

+

Panels

add_tagged_datum +

+

Inserts the target_datum into /datum/admins/var/tagged_datums, for later reference.

+

Arguments:

+

can_place_additional_admin_ban +

+

Checks if the admin can place an additional admin ban.

+

Returns FALSE if the query fails to execute. +Returns FALSE and notifies the admin in chat if they are at their max number of admin bans already. +Returns TRUE if an admin can place an additional admin ban.

+

Arguments:

+

check_2fa +

+

Returns whether or not the given client has a verified 2FA connection. +The output is in the form of a list with the first index being whether or not the +check was successful, the 2nd is the ID of the associated database entry +if its a false result and if one can be found.

display_tags +

+

Display all of the tagged datums

handle_tagged_del +

+

Get ahead of the curve with deleting

modify_traits +

+

Allow admin to add or remove traits of datum

notify_all_banned_players +

+

Notifies all banned players about their ban and gives them a link to appeal from the config. If it was a server ban, it also kicks them.

+

If the banned player's ckey has a linked client on the server, it notifies them of the ban details and kicks them if it was a server ban. +If there is anyone else sharing the banned player's IP or CID, it notifies them of the ban details and kicks them if it was a server ban.

+

Builds the ban cache for every client impacted by the ban.

+

Arguments:

+

poll_list_panel +

+

Shows a list of all current and future polls and buttons to edit or delete them or create a new poll.

poll_management_panel +

+

Show the options for creating a poll or editing its parameters along with its linked options.

poll_option_panel +

+

Show the options for creating a poll option or editing its parameters.

poll_option_parse_href +

+

Processes topic data from poll option panel.

+

Reads through returned form data and assigns data to the option datum, creating a new one if required, before passing it to be saved. +Also does some simple error checking to ensure the option will be valid before creation.

poll_parse_href +

+

Processes topic data from poll management panel.

+

Reads through returned form data and assigns data to the poll datum, creating a new one if required, before passing it to be saved. +Also does some simple error checking to ensure the poll will be valid before creation.

reban +

+

Sometimes an admin did not intend to unban a player. This proc undoes an unbanning operation by setting the unbanned_ keys in the DB back to null.

remove_tagged_datum +

+

Attempts to remove the specified datum from /datum/admins/var/tagged_datums if it exists

+

Arguments:

+

spawn_atom +

+

ADMIN HELPER PROCS

station_traits_panel +

+

Opens the station traits admin panel

view_all_circuits +

+

An admin verb to view all circuits, plus useful information

+ + + diff --git a/datum/adventure.html b/datum/adventure.html new file mode 100644 index 000000000000..af68f00a3194 --- /dev/null +++ b/datum/adventure.html @@ -0,0 +1,185 @@ + + + + + + + /datum/adventure - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

adventure + + + +

+ +

text adventure instance, holds data about nodes/choices/etc and of current play state.

+ + + + + + + + + + + + + + + + + + + + + +

Vars

band_modifiersModifiers to band scan values
current_nodeCurrent active adventure node
deep_scan_descriptionOpional description shown after site deep scan
delayed_actionDelayed state properties. If not null, means adventure is in delayed action state and will contain list(delay_time,delay_message)
loot_categoriesLoot table ids used as reward for finishing the adventure succesfully.
nameAdventure name, this organization only, not visible to users
nodesNodes for this adventure, represent single scene.
previous_node_idLast other node than this one. Used by GO_BACK_NODE
qualitiesAssoc list of quality name = value
required_site_traitsRequired site traits for the adventure to appear
starting_nodeNode the adventure will start at
starting_qualitiesList of starting quality values, these will be set before first node is encountered.
trigger_loop_safetyKeeps track firing of triggers until stop state to prevent loops
triggersTriggers for this adventure, checked after quality changes to cause instantenous results

Procs

apply_adventure_effectApplies changes encoded in effect data and processes triggers, returns TRUE if the change forced node change.
check_requirement_groupRecursively validates group requirements.
check_requirementsChecks if current qualities satisfy passed in requirements
end_adventureFinish adventure
handle_special_nodesHandles special node ID's
process_adventure_valueCheck Triggers +Extracts raw value from special value objects
start_adventureCheck all nodes have choices
validateBasic sanity checks to ensure broken adventures are not used.
+

Var Details

band_modifiers + + + + +

+

Modifiers to band scan values

current_node + + + + +

+

Current active adventure node

deep_scan_description + + + + +

+

Opional description shown after site deep scan

delayed_action + + + + +

+

Delayed state properties. If not null, means adventure is in delayed action state and will contain list(delay_time,delay_message)

loot_categories + + + + +

+

Loot table ids used as reward for finishing the adventure succesfully.

name + + + + +

+

Adventure name, this organization only, not visible to users

nodes + + + + +

+

Nodes for this adventure, represent single scene.

previous_node_id + + + + +

+

Last other node than this one. Used by GO_BACK_NODE

qualities + + + + +

+

Assoc list of quality name = value

required_site_traits + + + + +

+

Required site traits for the adventure to appear

starting_node + + + + +

+

Node the adventure will start at

starting_qualities + + + + +

+

List of starting quality values, these will be set before first node is encountered.

trigger_loop_safety + + + + +

+

Keeps track firing of triggers until stop state to prevent loops

triggers + + + + +

+

Triggers for this adventure, checked after quality changes to cause instantenous results

Proc Details

apply_adventure_effect +

+

Applies changes encoded in effect data and processes triggers, returns TRUE if the change forced node change.

check_requirement_group +

+

Recursively validates group requirements.

check_requirements +

+

Checks if current qualities satisfy passed in requirements

end_adventure +

+

Finish adventure

handle_special_nodes +

+

Handles special node ID's

process_adventure_value +

+

Check Triggers +Extracts raw value from special value objects

start_adventure +

+

Check all nodes have choices

validate +

+

Basic sanity checks to ensure broken adventures are not used.

+ + + diff --git a/datum/adventure_browser.html b/datum/adventure_browser.html new file mode 100644 index 000000000000..63703e2d2f76 --- /dev/null +++ b/datum/adventure_browser.html @@ -0,0 +1,35 @@ + + + + + + + /datum/adventure_browser - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

adventure_browser + + + +

+ +

Admin adventure manager

+

Procs

resolve_adventureHandles finishing adventure

Proc Details

resolve_adventure +

+

Handles finishing adventure

+ + + diff --git a/datum/adventure_db_entry.html b/datum/adventure_db_entry.html new file mode 100644 index 000000000000..a7925cf25957 --- /dev/null +++ b/datum/adventure_db_entry.html @@ -0,0 +1,141 @@ + + + + + + + /datum/adventure_db_entry - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

adventure_db_entry + + + +

+ + + + + + + + + + + + + + + + + +

Vars

approvedUnapproved adventures won't be used for exploration sites.
iddb id or null for freshly created adventures
nameadventure name
placedWas the adventure used for exploration site this round.
raw_jsonactual adventure json string
required_site_traitsrequired site traits to use this adventure
timestampTime of last change.
uploaderckey of last change user.
versionjson version

Procs

create_adventureCreates new adventure instance
extract_metadataExtracts fields that are used by adventure browser / generation before instantiating
refreshUpdates this entry from db, if possible.
removeDeletes the local AND db entry.
savePushes this entry changes to DB
try_loading_adventureParses adventure JSON and returns /datum/adventure instance on success
valid_for_useCheck if the adventure usable for given exploration site traits
+

Var Details

approved + + + + +

+

Unapproved adventures won't be used for exploration sites.

id + + + + +

+

db id or null for freshly created adventures

name + + + + +

+

adventure name

placed + + + + +

+

Was the adventure used for exploration site this round.

raw_json + + + + +

+

actual adventure json string

required_site_traits + + + + +

+

required site traits to use this adventure

timestamp + + + + +

+

Time of last change.

uploader + + + + +

+

ckey of last change user.

version + + + + +

+

json version

Proc Details

create_adventure +

+

Creates new adventure instance

extract_metadata +

+

Extracts fields that are used by adventure browser / generation before instantiating

refresh +

+

Updates this entry from db, if possible.

remove +

+

Deletes the local AND db entry.

save +

+

Pushes this entry changes to DB

try_loading_adventure +

+

Parses adventure JSON and returns /datum/adventure instance on success

valid_for_use +

+

Check if the adventure usable for given exploration site traits

+ + + diff --git a/datum/adventure_loot_generator.html b/datum/adventure_loot_generator.html new file mode 100644 index 000000000000..aa3d63bb7cdf --- /dev/null +++ b/datum/adventure_loot_generator.html @@ -0,0 +1,35 @@ + + + + + + + /datum/adventure_loot_generator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

adventure_loot_generator + + + +

+ +

Adventure loot category identified by ID

+

Procs

transfer_lootHelper to transfer loot while respecting cargo space

Proc Details

transfer_loot +

+

Helper to transfer loot while respecting cargo space

+ + + diff --git a/datum/adventure_node.html b/datum/adventure_node.html new file mode 100644 index 000000000000..dd4ae93a9370 --- /dev/null +++ b/datum/adventure_node.html @@ -0,0 +1,92 @@ + + + + + + + /datum/adventure_node - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

adventure_node + + + +

+ + + + + + + + + + +

Vars

choicesAll possible choices from this node, associative list of choice_id -> choice_data
delayPauses adventure for this long after the choice
delay_messageThis will show when the delay is happening.
descriptionThe actual displayed text
idUnique identifier for this node
image_namePreset image name, exclusive with raw_image
on_enter_effectsEffects fired when navigating to this node.
on_exit_effectsEffects fired when leaving this node.
raw_imageImage in base64 form. Exclusive with image_name
+

Var Details

choices + + + + +

+

All possible choices from this node, associative list of choice_id -> choice_data

delay + + + + +

+

Pauses adventure for this long after the choice

delay_message + + + + +

+

This will show when the delay is happening.

description + + + + +

+

The actual displayed text

id + + + + +

+

Unique identifier for this node

image_name + + + + +

+

Preset image name, exclusive with raw_image

on_enter_effects + + + + +

+

Effects fired when navigating to this node.

on_exit_effects + + + + +

+

Effects fired when leaving this node.

raw_image + + + + +

+

Image in base64 form. Exclusive with image_name

+ + + diff --git a/datum/ai_behavior.html b/datum/ai_behavior.html new file mode 100644 index 000000000000..b42dc3789f0c --- /dev/null +++ b/datum/ai_behavior.html @@ -0,0 +1,73 @@ + + + + + + + /datum/ai_behavior - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ai_behavior + + + +

+ +

Abstract class for an action an AI can take, can range from movement to grabbing a nearby weapon.

+ + + + + +

Vars

action_cooldownCooldown between actions performances, defaults to the value of CLICK_CD_MELEE because that seemed like a nice standard for the speed of AI behavior
behavior_flagsFlags for extra behavior
required_distanceWhat distance you need to be from the target to perform the action

Procs

finish_actionCalled when the action is finished. This needs the same args as perform besides the default ones
performCalled by the AI controller when this action is performed
setupCalled by the ai controller when first being added. Additional arguments depend on the behavior type. +Return FALSE to cancel
+

Var Details

action_cooldown + + + + +

+

Cooldown between actions performances, defaults to the value of CLICK_CD_MELEE because that seemed like a nice standard for the speed of AI behavior

behavior_flags + + + + +

+

Flags for extra behavior

required_distance + + + + +

+

What distance you need to be from the target to perform the action

Proc Details

finish_action +

+

Called when the action is finished. This needs the same args as perform besides the default ones

perform +

+

Called by the AI controller when this action is performed

setup +

+

Called by the ai controller when first being added. Additional arguments depend on the behavior type. +Return FALSE to cancel

+ + + diff --git a/datum/ai_behavior/attack.html b/datum/ai_behavior/attack.html new file mode 100644 index 000000000000..f9769b8329a6 --- /dev/null +++ b/datum/ai_behavior/attack.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_behavior/attack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

attack + + + +

+ +

This behavior involves attacking a target.

+

Procs

attackA proc representing when the mob is pushed to actually attack the target. Again, subtypes can be used to represent different attacks from different animals, or it can be some other generic behavior

Proc Details

attack +

+

A proc representing when the mob is pushed to actually attack the target. Again, subtypes can be used to represent different attacks from different animals, or it can be some other generic behavior

+ + + diff --git a/datum/ai_behavior/battle_screech.html b/datum/ai_behavior/battle_screech.html new file mode 100644 index 000000000000..617690f61109 --- /dev/null +++ b/datum/ai_behavior/battle_screech.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/battle_screech - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

battle_screech + + + +

+ + +

Vars

screechesList of possible screeches the behavior has
+

Var Details

screeches + + + + +

+

List of possible screeches the behavior has

+ + + diff --git a/datum/ai_behavior/deliver_item.html b/datum/ai_behavior/deliver_item.html new file mode 100644 index 000000000000..c55f261d2faf --- /dev/null +++ b/datum/ai_behavior/deliver_item.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_behavior/deliver_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

deliver_item + + + +

+ +

This behavior involves dropping off a carried item to a specified person (or place)

+

Procs

deliver_itemActually drop the fetched item to the target

Proc Details

deliver_item +

+

Actually drop the fetched item to the target

+ + + diff --git a/datum/ai_behavior/find_and_set.html b/datum/ai_behavior/find_and_set.html new file mode 100644 index 000000000000..3f597dcf9c4d --- /dev/null +++ b/datum/ai_behavior/find_and_set.html @@ -0,0 +1,33 @@ + + + + + + + /datum/ai_behavior/find_and_set - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

find_and_set + + + +

+ +

*find and set

+
+ + + diff --git a/datum/ai_behavior/find_potential_targets.html b/datum/ai_behavior/find_potential_targets.html new file mode 100644 index 000000000000..29102d734336 --- /dev/null +++ b/datum/ai_behavior/find_potential_targets.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/find_potential_targets - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

find_potential_targets + + + +

+ + +

Vars

hostile_machinesList of potentially dangerous objs
+

Var Details

hostile_machines + + + + +

+

List of potentially dangerous objs

+ + + diff --git a/datum/ai_behavior/harass.html b/datum/ai_behavior/harass.html new file mode 100644 index 000000000000..29ec2c1710f5 --- /dev/null +++ b/datum/ai_behavior/harass.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_behavior/harass - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

harass + + + +

+ +

This behavior involves either eating a snack we can reach, or begging someone holding a snack

+

Procs

attackA proc representing when the mob is pushed to actually attack the target. Again, subtypes can be used to represent different attacks from different animals, or it can be some other generic behavior

Proc Details

attack +

+

A proc representing when the mob is pushed to actually attack the target. Again, subtypes can be used to represent different attacks from different animals, or it can be some other generic behavior

+ + + diff --git a/datum/ai_behavior/item_move_close_and_attack.html b/datum/ai_behavior/item_move_close_and_attack.html new file mode 100644 index 000000000000..26e8d00c7ad4 --- /dev/null +++ b/datum/ai_behavior/item_move_close_and_attack.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_behavior/item_move_close_and_attack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

item_move_close_and_attack + + + +

+ +

This behavior is for obj/items, it is used to move closer to a target and throw themselves towards them.

+ +

Vars

attack_soundSound to use
max_attemptsMax attemps to make
+

Var Details

attack_sound + + + + +

+

Sound to use

max_attempts + + + + +

+

Max attemps to make

+ + + diff --git a/datum/ai_behavior/monkey_attack_mob.html b/datum/ai_behavior/monkey_attack_mob.html new file mode 100644 index 000000000000..8f017ebbf4ba --- /dev/null +++ b/datum/ai_behavior/monkey_attack_mob.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_behavior/monkey_attack_mob - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

monkey_attack_mob + + + +

+ + +

Procs

monkey_attackattack using a held weapon otherwise bite the enemy, then if we are angry there is a chance we might calm down a little

Proc Details

monkey_attack +

+

attack using a held weapon otherwise bite the enemy, then if we are angry there is a chance we might calm down a little

+ + + diff --git a/datum/ai_behavior/simple_equip.html b/datum/ai_behavior/simple_equip.html new file mode 100644 index 000000000000..4d0b901f6e52 --- /dev/null +++ b/datum/ai_behavior/simple_equip.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_behavior/simple_equip - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

simple_equip + + + +

+ + +

Procs

performThis is simply a behaviour to pick up a fetch target

Proc Details

perform +

+

This is simply a behaviour to pick up a fetch target

+ + + diff --git a/datum/ai_behavior/vendor_crush.html b/datum/ai_behavior/vendor_crush.html new file mode 100644 index 000000000000..914a391d82c5 --- /dev/null +++ b/datum/ai_behavior/vendor_crush.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_behavior/vendor_crush - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vendor_crush + + + +

+ + + +

Vars

time_to_tiltTime to telegraph and tilt over
untilt_cooldownTime before machine can untilt itself after tilting
+

Var Details

time_to_tilt + + + + +

+

Time to telegraph and tilt over

untilt_cooldown + + + + +

+

Time before machine can untilt itself after tilting

+ + + diff --git a/datum/ai_behavior/vendor_rise_up.html b/datum/ai_behavior/vendor_rise_up.html new file mode 100644 index 000000000000..5ebe7be2ce6b --- /dev/null +++ b/datum/ai_behavior/vendor_rise_up.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/vendor_rise_up - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vendor_rise_up + + + +

+ + +

Vars

succes_tilt_cooldownTime before machine can tilt again after untilting if last hit was a success
+

Var Details

succes_tilt_cooldown + + + + +

+

Time before machine can tilt again after untilting if last hit was a success

+ + + diff --git a/datum/ai_behavior/wait_for_food.html b/datum/ai_behavior/wait_for_food.html new file mode 100644 index 000000000000..7ea945602422 --- /dev/null +++ b/datum/ai_behavior/wait_for_food.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_behavior/wait_for_food - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

wait_for_food + + + +

+ + +

Procs

finish_actionNow check if theres a meal infront of us.

Proc Details

finish_action +

+

Now check if theres a meal infront of us.

+ + + diff --git a/datum/ai_controller.html b/datum/ai_controller.html new file mode 100644 index 000000000000..6443b6325610 --- /dev/null +++ b/datum/ai_controller.html @@ -0,0 +1,248 @@ + + + + + + + /datum/ai_controller - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ai_controller + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

ai_movementReference to the movement datum we use. Is a type on initialize but becomes a ref afterwards.
ai_statusCurrent status of AI (OFF/ON)
ai_traitsBitfield of traits for this AI to handle extra behavior
behavior_argsStored arguments for behaviors given during their initial creation
behavior_cooldownsCurrent actions and their respective last time ran as an assoc list.
blackboardThis is a list of variables the AI uses and can be mutated by actions. When an action is performed you pass this list and any relevant keys for the variables it can mutate.
consecutive_pathing_attemptsTracks recent pathing attempts, if we fail too many in a row we fail our current plans.
continue_processing_when_clientCan the AI remain in control if there is a client?
current_behaviorsCurrent actions being performed by the AI.
current_movement_targetCurrent movement target of the AI, generally set by decision making.
failed_planning_cooldownCooldown for new plans, to prevent AI from going nuts if it can't think of new plans and looping on end
idle_behaviorThe idle behavior this AI performs when it has no actions.
max_target_distancedistance to give up on target
movement_cooldownCooldown until next movement
movement_delayDelay between movements. This is on the controller so we can keep the movement datum singleton
paused_untilAI paused time
pawnThe atom this controller is controlling
planning_subtreesAll subtrees this AI has available, will run them in order, so make sure they're in the order you want them to run. On initialization of this type, it will start as a typepath(s) and get converted to references of ai_subtrees found in SSai_controllers when init_subtrees() is called

Procs

PossessPawnProc to move from one pawn to another, this will destroy the target's existing controller.
SelectBehaviorsAre we close enough to engage? +This is where you decide what actions are taken by the AI.
TryPossessPawnAbstract proc for initializing the pawn to the new controller
UnpossessPawnProc for deinitializing the pawn to the old controller
able_to_runReturns TRUE if the ai controller can actually run at the moment.
change_ai_movement_typeOverrides the current ai_movement of this controller with a new one
get_accessUse this proc to define how your controller defines what access the pawn has for the sake of pathfinding, likely pointing to whatever ID slot is relevant
get_minimum_distanceReturns the minimum required distance to preform one of our current behaviors. Honestly this should just be cached or something but fuck you
init_subtreesLoops over the subtrees in planning_subtrees and looks at the ai_controllers to grab a reference, ENSURE planning_subtrees ARE TYPEPATHS AND NOT INSTANCES/REFERENCES BEFORE EXECUTING THIS
processRuns any actions that are currently running
queue_behaviorCall this to add a behavior to the stack.
replace_planning_subtreesCompletely replaces the planning_subtrees with a new set based on argument provided, list provided must contain specifically typepaths
set_ai_statusThis proc handles changing ai status, and starts/stops processing if required.
+

Var Details

ai_movement + + + + +

+

Reference to the movement datum we use. Is a type on initialize but becomes a ref afterwards.

ai_status + + + + +

+

Current status of AI (OFF/ON)

ai_traits + + + + +

+

Bitfield of traits for this AI to handle extra behavior

behavior_args + + + + +

+

Stored arguments for behaviors given during their initial creation

behavior_cooldowns + + + + +

+

Current actions and their respective last time ran as an assoc list.

blackboard + + + + +

+

This is a list of variables the AI uses and can be mutated by actions. When an action is performed you pass this list and any relevant keys for the variables it can mutate.

consecutive_pathing_attempts + + + + +

+

Tracks recent pathing attempts, if we fail too many in a row we fail our current plans.

continue_processing_when_client + + + + +

+

Can the AI remain in control if there is a client?

current_behaviors + + + + +

+

Current actions being performed by the AI.

current_movement_target + + + + +

+

Current movement target of the AI, generally set by decision making.

failed_planning_cooldown + + + + +

+

Cooldown for new plans, to prevent AI from going nuts if it can't think of new plans and looping on end

idle_behavior + + + + +

+

The idle behavior this AI performs when it has no actions.

max_target_distance + + + + +

+

distance to give up on target

movement_cooldown + + + + +

+

Cooldown until next movement

movement_delay + + + + +

+

Delay between movements. This is on the controller so we can keep the movement datum singleton

paused_until + + + + +

+

AI paused time

pawn + + + + +

+

The atom this controller is controlling

planning_subtrees + + + + +

+

All subtrees this AI has available, will run them in order, so make sure they're in the order you want them to run. On initialization of this type, it will start as a typepath(s) and get converted to references of ai_subtrees found in SSai_controllers when init_subtrees() is called

Proc Details

PossessPawn +

+

Proc to move from one pawn to another, this will destroy the target's existing controller.

SelectBehaviors +

+

Are we close enough to engage? +This is where you decide what actions are taken by the AI.

TryPossessPawn +

+

Abstract proc for initializing the pawn to the new controller

UnpossessPawn +

+

Proc for deinitializing the pawn to the old controller

able_to_run +

+

Returns TRUE if the ai controller can actually run at the moment.

change_ai_movement_type +

+

Overrides the current ai_movement of this controller with a new one

get_access +

+

Use this proc to define how your controller defines what access the pawn has for the sake of pathfinding, likely pointing to whatever ID slot is relevant

get_minimum_distance +

+

Returns the minimum required distance to preform one of our current behaviors. Honestly this should just be cached or something but fuck you

init_subtrees +

+

Loops over the subtrees in planning_subtrees and looks at the ai_controllers to grab a reference, ENSURE planning_subtrees ARE TYPEPATHS AND NOT INSTANCES/REFERENCES BEFORE EXECUTING THIS

process +

+

Runs any actions that are currently running

queue_behavior +

+

Call this to add a behavior to the stack.

replace_planning_subtrees +

+

Completely replaces the planning_subtrees with a new set based on argument provided, list provided must contain specifically typepaths

set_ai_status +

+

This proc handles changing ai status, and starts/stops processing if required.

+ + + diff --git a/datum/ai_controller/cursed.html b/datum/ai_controller/cursed.html new file mode 100644 index 000000000000..da32dc3a34f1 --- /dev/null +++ b/datum/ai_controller/cursed.html @@ -0,0 +1,64 @@ + + + + + + + /datum/ai_controller/cursed - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

cursed item ai! + + + +

+ +

Haunted AI tries to not be interacted with, and will attack people who do. +Cursed AI instead tries to be interacted with, and will attempt to equip itself onto people. +Added by /datum/element/cursed, and as such will try to remove this element and go dormant when it finds a victim to curse

+ + + +

Procs

on_equipsignal called by picking up the pawn, will try to equip to where it should actually be and start the curse
on_throw_hitsignal called by the pawn hitting something after a throw
try_equipping_to_target_slotcurse of hunger component; for very hungry items.
what_a_horrible_night_to_have_a_curseproc called when the cursed object successfully attaches itself to someone, removing the cursed element and by extension the ai itself

Proc Details

on_equip +

+

signal called by picking up the pawn, will try to equip to where it should actually be and start the curse

on_throw_hit +

+

signal called by the pawn hitting something after a throw

try_equipping_to_target_slot +

+

curse of hunger component; for very hungry items.

+

called when someone grabs the cursed item or the cursed item impacts with a mob it's throwing itself at +arguments:

+

what_a_horrible_night_to_have_a_curse +

+

proc called when the cursed object successfully attaches itself to someone, removing the cursed element and by extension the ai itself

+ + + diff --git a/datum/ai_controller/dog.html b/datum/ai_controller/dog.html new file mode 100644 index 000000000000..dd527ac0c6aa --- /dev/null +++ b/datum/ai_controller/dog.html @@ -0,0 +1,112 @@ + + + + + + + /datum/ai_controller/dog - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

dog + + + +

+ + + + + + + + + + + + + +

Procs

befriendSomeone is being nice to us, let's make them a friend!
check_altclickedSomeone alt clicked us, see if they're someone we should show the radial command menu to
check_pointSomeone we like is pointing at something, see if it's something we might want to interact with (like if they might want us to fetch something for them)
check_verbal_commandOne of our friends said something, see if it's a valid command, and if so, take action
command_radialShow the command radial menu
listen_throw_landA throw we were listening to has finished, see if it's in range for us to try grabbing it
listened_throwSomeone has thrown something, see if it's someone we care about and start listening to the thrown item so we can see if we want to fetch it when it lands
on_attack_handSomeone's interacting with us by hand, see if they're being nice or mean
on_deathIf we died, drop anything we were carrying
on_examinedSomeone is looking at us, if we're currently carrying something then show what it is, and include a message if they're our friend
set_command_modeWhether we got here via radial menu or a verbal command, this is where we actually process what our new command will be
unfriendSomeone is being mean to us, take them off our friends (add actual enemies behavior later)

Proc Details

befriend +

+

Someone is being nice to us, let's make them a friend!

check_altclicked +

+

Someone alt clicked us, see if they're someone we should show the radial command menu to

check_point +

+

Someone we like is pointing at something, see if it's something we might want to interact with (like if they might want us to fetch something for them)

check_verbal_command +

+

One of our friends said something, see if it's a valid command, and if so, take action

command_radial +

+

Show the command radial menu

listen_throw_land +

+

A throw we were listening to has finished, see if it's in range for us to try grabbing it

listened_throw +

+

Someone has thrown something, see if it's someone we care about and start listening to the thrown item so we can see if we want to fetch it when it lands

on_attack_hand +

+

Someone's interacting with us by hand, see if they're being nice or mean

on_death +

+

If we died, drop anything we were carrying

on_examined +

+

Someone is looking at us, if we're currently carrying something then show what it is, and include a message if they're our friend

set_command_mode +

+

Whether we got here via radial menu or a verbal command, this is where we actually process what our new command will be

unfriend +

+

Someone is being mean to us, take them off our friends (add actual enemies behavior later)

+ + + diff --git a/datum/ai_controller/haunted.html b/datum/ai_controller/haunted.html new file mode 100644 index 000000000000..d96c0a767925 --- /dev/null +++ b/datum/ai_controller/haunted.html @@ -0,0 +1,42 @@ + + + + + + + /datum/ai_controller/haunted - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

haunted + + + +

+ + + +

Procs

on_droppedFlip it so we listen for equip again but not for drop.
on_equipSignal response for when the item is picked up; stops listening for follow up equips, just waits for a drop.

Proc Details

on_dropped +

+

Flip it so we listen for equip again but not for drop.

on_equip +

+

Signal response for when the item is picked up; stops listening for follow up equips, just waits for a drop.

+ + + diff --git a/datum/ai_controller/hostile_friend.html b/datum/ai_controller/hostile_friend.html new file mode 100644 index 000000000000..b81cf9732da9 --- /dev/null +++ b/datum/ai_controller/hostile_friend.html @@ -0,0 +1,84 @@ + + + + + + + /datum/ai_controller/hostile_friend - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

hostile_friend + + + +

+ +

This code needs to be removed at some point as it doesn't actually utilize the AI.

+ + + + + + + +

Procs

befriendBefriends someone
check_altclickedSomeone alt clicked us, see if they're someone we should show the radial command menu to
check_pointSomeone we like is pointing at something, see if it's something we might want to interact with (like if they might want us to fetch something for them)
check_verbal_commandOne of our friends said something, see if it's a valid command, and if so, take action
command_radialShow the command radial menu
on_examinedSomeone is looking at us, if we're currently carrying something then show what it is, and include a message if they're our friend
set_command_modeWhether we got here via radial menu or a verbal command, this is where we actually process what our new command will be
unfriendSomeone is being mean to us, take them off our friends (add actual enemies behavior later)

Proc Details

befriend +

+

Befriends someone

check_altclicked +

+

Someone alt clicked us, see if they're someone we should show the radial command menu to

check_point +

+

Someone we like is pointing at something, see if it's something we might want to interact with (like if they might want us to fetch something for them)

check_verbal_command +

+

One of our friends said something, see if it's a valid command, and if so, take action

command_radial +

+

Show the command radial menu

on_examined +

+

Someone is looking at us, if we're currently carrying something then show what it is, and include a message if they're our friend

set_command_mode +

+

Whether we got here via radial menu or a verbal command, this is where we actually process what our new command will be

unfriend +

+

Someone is being mean to us, take them off our friends (add actual enemies behavior later)

+ + + diff --git a/datum/ai_controller/mod.html b/datum/ai_controller/mod.html new file mode 100644 index 000000000000..9c76005b137c --- /dev/null +++ b/datum/ai_controller/mod.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_controller/mod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mod + + + +

+ +

An AI controller for the MODsuit pathfinder module. It's activated by implant and attaches itself to the user.

+

Vars

id_cardID card generated from the suit's required access. Used for pathing.
+

Var Details

id_card + + + + +

+

ID card generated from the suit's required access. Used for pathing.

+ + + diff --git a/datum/ai_controller/monkey.html b/datum/ai_controller/monkey.html new file mode 100644 index 000000000000..79884454330b --- /dev/null +++ b/datum/ai_controller/monkey.html @@ -0,0 +1,42 @@ + + + + + + + /datum/ai_controller/monkey - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

monkey + + + +

+ +

OOK OOK OOK

+ +

Procs

TryFindWeaponre-used behavior pattern by monkeys for finding a weapon
retaliateReactive events to being hit

Proc Details

TryFindWeapon +

+

re-used behavior pattern by monkeys for finding a weapon

retaliate +

+

Reactive events to being hit

+ + + diff --git a/datum/ai_controller/robot_customer.html b/datum/ai_controller/robot_customer.html new file mode 100644 index 000000000000..c36e137d63fc --- /dev/null +++ b/datum/ai_controller/robot_customer.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_controller/robot_customer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

robot_customer + + + +

+ + +

Procs

on_get_pulledCalled when

Proc Details

on_get_pulled +

+

Called when

+ + + diff --git a/datum/ai_laws.html b/datum/ai_laws.html new file mode 100644 index 000000000000..fded93fe2838 --- /dev/null +++ b/datum/ai_laws.html @@ -0,0 +1,41 @@ + + + + + + + /datum/ai_laws - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

ai_laws + + + +

+ + +

Procs

get_law_listGenerates a list of all laws on this datum, including rendered HTML tags if required

Proc Details

get_law_list +

+

Generates a list of all laws on this datum, including rendered HTML tags if required

+

Arguments:

+
+ + + diff --git a/datum/ai_module.html b/datum/ai_module.html new file mode 100644 index 000000000000..da4465234872 --- /dev/null +++ b/datum/ai_module.html @@ -0,0 +1,71 @@ + + + + + + + /datum/ai_module - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ai_module + + + +

+ +

The base module type, which holds info about each ability.

+ + + + + +

Vars

one_purchaseIf this module can only be purchased once. This always applies to upgrades, even if the variable is set to false.
power_typeIf the module gives an active ability, use this. Mutually exclusive with upgrade.
unlock_soundSound played when an ability is unlocked
unlock_textText shown when an ability is unlocked
upgradeIf the module gives a passive upgrade, use this. Mutually exclusive with power_type.

Procs

upgradeApplies upgrades
+

Var Details

one_purchase + + + + +

+

If this module can only be purchased once. This always applies to upgrades, even if the variable is set to false.

power_type + + + + +

+

If the module gives an active ability, use this. Mutually exclusive with upgrade.

unlock_sound + + + + +

+

Sound played when an ability is unlocked

unlock_text + + + + +

+

Text shown when an ability is unlocked

upgrade + + + + +

+

If the module gives a passive upgrade, use this. Mutually exclusive with power_type.

Proc Details

upgrade +

+

Applies upgrades

+ + + diff --git a/datum/ai_movement.html b/datum/ai_movement.html new file mode 100644 index 000000000000..c1d7219c5c0f --- /dev/null +++ b/datum/ai_movement.html @@ -0,0 +1,57 @@ + + + + + + + /datum/ai_movement - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ai_movement + + + +

+ +

This datum is an abstract class that can be overriden for different types of movement

+ + + +

Vars

max_pathing_attemptsHow many times a given controller can fail on their route before they just give up
moving_controllersAssoc list ist of controllers that are currently moving as key, and what they are moving to as value

Procs

allowed_to_moveShould the movement be allowed to happen? return TRUE if it can, FALSE otherwise
pre_moveAnything to do before moving; any checks if the pawn should be able to move should be placed in allowed_to_move() and called by this proc
+

Var Details

max_pathing_attempts + + + + +

+

How many times a given controller can fail on their route before they just give up

moving_controllers + + + + +

+

Assoc list ist of controllers that are currently moving as key, and what they are moving to as value

Proc Details

allowed_to_move +

+

Should the movement be allowed to happen? return TRUE if it can, FALSE otherwise

pre_move +

+

Anything to do before moving; any checks if the pawn should be able to move should be placed in allowed_to_move() and called by this proc

+ + + diff --git a/datum/ai_movement/dumb.html b/datum/ai_movement/dumb.html new file mode 100644 index 000000000000..faccf19fadb1 --- /dev/null +++ b/datum/ai_movement/dumb.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_movement/dumb - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

dumb + + + +

+ +

The most braindead type of movement, bee-line to the target with no concern of whats infront of us.

+

Procs

start_moving_towardsPut your movement behavior in here!

Proc Details

start_moving_towards +

+

Put your movement behavior in here!

+ + + diff --git a/datum/ai_planning_subtree.html b/datum/ai_planning_subtree.html new file mode 100644 index 000000000000..bfbfd91774a6 --- /dev/null +++ b/datum/ai_planning_subtree.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_planning_subtree - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

ai_planning_subtree + + + +

+ +

A subtree is attached to a controller and is occasionally called by /ai_controller/SelectBehaviors(), this mainly exists to act as a way to subtype and modify SelectBehaviors() without needing to subtype the ai controller itself

+

Procs

SelectBehaviorsDetermines what behaviors should the controller try processing; if this returns SUBTREE_RETURN_FINISH_PLANNING then the controller won't go through the other subtrees should multiple exist in controller.planning_subtrees

Proc Details

SelectBehaviors +

+

Determines what behaviors should the controller try processing; if this returns SUBTREE_RETURN_FINISH_PLANNING then the controller won't go through the other subtrees should multiple exist in controller.planning_subtrees

+ + + diff --git a/datum/ai_planning_subtree/bane_hunting.html b/datum/ai_planning_subtree/bane_hunting.html new file mode 100644 index 000000000000..46a88bc4efa9 --- /dev/null +++ b/datum/ai_planning_subtree/bane_hunting.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_planning_subtree/bane_hunting - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

bane_hunting + + + +

+ + +

Procs

SelectBehaviorsThe bat is broken!

Proc Details

SelectBehaviors +

+

The bat is broken!

+ + + diff --git a/datum/ai_planning_subtree/generic_hunger.html b/datum/ai_planning_subtree/generic_hunger.html new file mode 100644 index 000000000000..91e010f7169b --- /dev/null +++ b/datum/ai_planning_subtree/generic_hunger.html @@ -0,0 +1,40 @@ + + + + + + + /datum/ai_planning_subtree/generic_hunger - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

generic_hunger + + + +

+ + +

Procs

SelectBehaviorsGeneric Hunger Subtree,

Proc Details

SelectBehaviors +

+

Generic Hunger Subtree,

+

Requires at least a living mob that can hold items.

+

relevant blackboards:

+
+ + + diff --git a/datum/ai_planning_subtree/generic_play_instrument.html b/datum/ai_planning_subtree/generic_play_instrument.html new file mode 100644 index 000000000000..17b1ddb4d3c0 --- /dev/null +++ b/datum/ai_planning_subtree/generic_play_instrument.html @@ -0,0 +1,41 @@ + + + + + + + /datum/ai_planning_subtree/generic_play_instrument - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

generic_play_instrument + + + +

+ + +

Procs

SelectBehaviorsGeneric Instrument Subtree, For your pawn playing instruments

Proc Details

SelectBehaviors +

+

Generic Instrument Subtree, For your pawn playing instruments

+

Requires at least a living mob that can hold items.

+

relevant blackboards:

+
+ + + diff --git a/datum/ai_planning_subtree/generic_resist.html b/datum/ai_planning_subtree/generic_resist.html new file mode 100644 index 000000000000..645108192337 --- /dev/null +++ b/datum/ai_planning_subtree/generic_resist.html @@ -0,0 +1,40 @@ + + + + + + + /datum/ai_planning_subtree/generic_resist - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

generic_resist + + + +

+ + +

Procs

SelectBehaviorsGeneric Resist Subtree, resist if it makes sense to!

Proc Details

SelectBehaviors +

+

Generic Resist Subtree, resist if it makes sense to!

+

Requires nothing beyond a living pawn, makes sense on a good amount of mobs since anything can get buckled.

+

relevant blackboards:

+
+ + + diff --git a/datum/ai_planning_subtree/monkey_combat.html b/datum/ai_planning_subtree/monkey_combat.html new file mode 100644 index 000000000000..159f81beed46 --- /dev/null +++ b/datum/ai_planning_subtree/monkey_combat.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_planning_subtree/monkey_combat - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

monkey_combat + + + +

+ + +

Procs

SelectBehaviorsmonkey combat subtree.

Proc Details

SelectBehaviors +

+

monkey combat subtree.

+ + + diff --git a/datum/ai_planning_subtree/random_speech.html b/datum/ai_planning_subtree/random_speech.html new file mode 100644 index 000000000000..d832d417f70e --- /dev/null +++ b/datum/ai_planning_subtree/random_speech.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ai_planning_subtree/random_speech - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

random_speech + + + +

+ + + + +

Vars

emote_hearHearable emotes
emote_seeUnlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps
speakPossible lines of speech the AI can have
+

Var Details

emote_hear + + + + +

+

Hearable emotes

emote_see + + + + +

+

Unlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps

speak + + + + +

+

Possible lines of speech the AI can have

+ + + diff --git a/datum/alarm_handler.html b/datum/alarm_handler.html new file mode 100644 index 000000000000..e1408f905c32 --- /dev/null +++ b/datum/alarm_handler.html @@ -0,0 +1,68 @@ + + + + + + + /datum/alarm_handler - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

alarm_handler + + + +

+ +

Represents a single source of alarms, one alarm handler will only ever count for one alarm per listener

+ + + + +

Vars

sent_alarmsA list of alarm type -> list of areas we currently have alarms in
source_atomOur source atom

Procs

clear_alarmClears an alarm from any interested listeners
clear_alarm_from_areaExists so we can request that the alarms from an area are cleared, even if our source atom is no longer in that area
send_alarmSends an alarm to any interested things, does some checks to prevent unneeded work +Important to note is that source_atom is not held as a ref, we're used as a proxy to prevent hard deletes +optional_camera should only be used when you have one camera you want to pass along to alarm listeners, most of the time you should have no use for it
+

Var Details

sent_alarms + + + + +

+

A list of alarm type -> list of areas we currently have alarms in

source_atom + + + + +

+

Our source atom

Proc Details

clear_alarm +

+

Clears an alarm from any interested listeners

clear_alarm_from_area +

+

Exists so we can request that the alarms from an area are cleared, even if our source atom is no longer in that area

send_alarm +

+

Sends an alarm to any interested things, does some checks to prevent unneeded work +Important to note is that source_atom is not held as a ref, we're used as a proxy to prevent hard deletes +optional_camera should only be used when you have one camera you want to pass along to alarm listeners, most of the time you should have no use for it

+ + + diff --git a/datum/alarm_listener.html b/datum/alarm_listener.html new file mode 100644 index 000000000000..05c18b9e3995 --- /dev/null +++ b/datum/alarm_listener.html @@ -0,0 +1,103 @@ + + + + + + + /datum/alarm_listener - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

alarm_listener + + + +

+ + + + + + + + + + + +

Vars

accepting_alarm_changesShould we allow alarm changes to go through or not
alarmsList of alarm type -> list of area name -> list(area, ref to area's cameras, list(sources))
allowed_areasList of allowed areas. if this is null it's ignored
allowed_z_levelsList of valid source z levels, ignored if null

Procs

NewAccepts a list of alarm types to pay attention to, a list of valid z levels, and a list of valid areas. areas and zlevels are ignored if null
add_alarmAdds an alarm to our alarms list, you shouldn't be calling this manually +It should all be handled by the signal listening we do, unless you want to only send an alarm to one listener
allow_alarm_changesDoes what it says on the tin, exists for signal hooking
clear_alarmRemoves an alarm to our alarms list, you probably shouldn't be calling this manually +It should all be handled by the signal listening we do, unless you want to only remove an alarm to one listener
clear_camera_refUsed to manually clear camera refs if one is ref'd directly
prevent_alarm_changesDoes what it says on the tin, exists for signal hooking
+

Var Details

accepting_alarm_changes + + + + +

+

Should we allow alarm changes to go through or not

alarms + + + + +

+

List of alarm type -> list of area name -> list(area, ref to area's cameras, list(sources))

allowed_areas + + + + +

+

List of allowed areas. if this is null it's ignored

allowed_z_levels + + + + +

+

List of valid source z levels, ignored if null

Proc Details

New +

+

Accepts a list of alarm types to pay attention to, a list of valid z levels, and a list of valid areas. areas and zlevels are ignored if null

add_alarm +

+

Adds an alarm to our alarms list, you shouldn't be calling this manually +It should all be handled by the signal listening we do, unless you want to only send an alarm to one listener

allow_alarm_changes +

+

Does what it says on the tin, exists for signal hooking

clear_alarm +

+

Removes an alarm to our alarms list, you probably shouldn't be calling this manually +It should all be handled by the signal listening we do, unless you want to only remove an alarm to one listener

clear_camera_ref +

+

Used to manually clear camera refs if one is ref'd directly

prevent_alarm_changes +

+

Does what it says on the tin, exists for signal hooking

+ + + diff --git a/datum/anonymous_theme.html b/datum/anonymous_theme.html new file mode 100644 index 000000000000..8750d68c4a86 --- /dev/null +++ b/datum/anonymous_theme.html @@ -0,0 +1,120 @@ + + + + + + + /datum/anonymous_theme - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

anonymous_theme + + + +

+ + + + + + + + + + + +

Vars

extras_enabledextra non-name related fluff that is optional for admins to enable. One example is the wizard theme giving everyone random robes.
extras_promptif admins get the option to enable extras, this is the prompt to enable it.
namename of the anonymous theme, seen by admins pressing buttons to enable this

Procs

announce_to_all_playersannounce_to_all_players: sends an annonuncement.
anonymous_ai_nameanonymous_ai_name: generates a random name, based off of whatever the round's anonymousnames is set to (but for sillycones).
anonymous_all_playersanonymous_all_players: sets all crewmembers on station anonymous.
anonymous_nameanonymous_name: generates a random name, based off of whatever the round's anonymousnames is set to.
player_extrasplayer_extras: optional effects enabled here from a proc that will trigger for every player renamed.
restore_all_playersrestore_all_players: sets all crewmembers on station back to their preference name.
theme_extrastheme_extras: optional effects enabled here from a proc that will trigger once on creation of anon mode.
+

Var Details

extras_enabled + + + + +

+

extra non-name related fluff that is optional for admins to enable. One example is the wizard theme giving everyone random robes.

extras_prompt + + + + +

+

if admins get the option to enable extras, this is the prompt to enable it.

name + + + + +

+

name of the anonymous theme, seen by admins pressing buttons to enable this

Proc Details

announce_to_all_players +

+

announce_to_all_players: sends an annonuncement.

+

it's in a proc so it can be a non-constant expression.

anonymous_ai_name +

+

anonymous_ai_name: generates a random name, based off of whatever the round's anonymousnames is set to (but for sillycones).

+

examples: +Employee = "Employee Assistant Assuming Delta" +Wizards = "Crystallized Knowledge Nexus +23" +Spider Clan = "'Leaping Viper' MSO" +Stations? = "System Port 10" +Arguments:

+

anonymous_all_players +

+

anonymous_all_players: sets all crewmembers on station anonymous.

+

called when the anonymous theme is created regardless of extra theming

anonymous_name +

+

anonymous_name: generates a random name, based off of whatever the round's anonymousnames is set to.

+

examples: +Employee = "Employee Q5460Z" +Wizards = "Gulstaff of Void" +Spider Clan = "Initiate Hazuki" +Stations? = "Refactor Port One" +Arguments:

+

player_extras +

+

player_extras: optional effects enabled here from a proc that will trigger for every player renamed.

restore_all_players +

+

restore_all_players: sets all crewmembers on station back to their preference name.

+

called when the anonymous theme is removed regardless of extra theming

theme_extras +

+

theme_extras: optional effects enabled here from a proc that will trigger once on creation of anon mode.

+ + + diff --git a/datum/antagonist.html b/datum/antagonist.html new file mode 100644 index 000000000000..6c076be52589 --- /dev/null +++ b/datum/antagonist.html @@ -0,0 +1,440 @@ + + + + + + + /datum/antagonist - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

antagonist + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

antag_hud_nameName of the antag hud we provide to this mob.
antag_memoryString dialogue that is added to the player's in-round notes and memories regarding specifics of that antagonist, eg. the nuke code for nuke ops, or your unlock code for traitors.
antag_moodlettypepath of moodlet that the mob will gain when granted this antagonist type.
antagpanel_categoryAntagpanel will display these together, REQUIRED
assign_jobA job path to give if the player is this antagonist at roundstart.
can_coexist_with_othersWhether or not the person will be able to have more than one datum
can_elimination_hijackIf these antags are alone when a shuttle elimination happens.
hijack_speedIf above 0, this is the multiplier for the speed at which we hijack the shuttle. Do not directly read, use hijack_speed().
hud_iconThe antag hud's icon file
info_button_refweakref to button to access antag interface
job_rankThe define string we use to identify the role for bans/player polls to spawn a random new one in.
namePublic name for this antagonist. Appears for player prompts and round-end reports.
objectivesList of the objective datums that this role currently has, completing all objectives at round-end will cause this antagonist to greentext.
ownerMind that owns this datum
prevent_roundtype_conversionIf false, the roundtype will still convert with this antag active
preview_outfitThe typepath for the outfit to show in the preview for the preferences menu.
replace_bannedShould replace jobbanned player with ghosts if granted.
roundend_categorySection of roundend report, datums with same category will be displayed together, also default header for the section
show_in_antagpanelThis will hide adding this antag type in antag panel, use only for internal subtypes that shouldn't be added directly but still show if possessed by mind
show_in_roundendSet to false to hide the antagonists from roundend report
show_name_in_check_antagonistsWill append antagonist name in admin listings - use for categories that share more than one antag type
show_to_ghostsShould this antagonist be shown as antag to ghosts? Shouldn't be used for stealthy antagonists like traitors
silentSilent will prevent the gain/lose texts to show
soft_antagIf set to true, the antag will not be added to the living antag list.
suicide_cryThe battlecry this antagonist shouts when suiciding with C4/X4.
team_hud_refA weakref to the HUD shown to teammates, created by add_team_hud
typecache_datum_blacklistList of datums this type can't coexist with
ui_namename of the UI that will try to open, right now using a generic ui

Procs

add_team_hudAdds a HUD that will show you other members with the same antagonist. +If an antag typepath is passed to antag_to_check, will check that, otherwise will use the source type.
admin_addCalled when using admin tools to give antag status
admin_removeCalled when removing antagonist using admin tools
antag_panel_dataAdditional data to display in the antagonist panel section. +For example, nuke disk code, genome count, etc
build_greetingBuilds a list of strings to print out in greet().
farewellProc that sends fluff or instructional messages to the player when they lose this antag datum. +Use this proc for playing sounds, sending alerts, or otherwise informing the player that they're no longer a specific antagonist type.
finish_preview_iconGiven an icon, will crop it to be consistent of those in the preferences menu. +Not necessary, and in fact will look bad if it's anything other than a human.
get_admin_commandsList of ["Command"] = CALLBACK(), user will be appeneded to callback arguments on execution
get_objectivesgeneric helper to send objectives as data through tgui.
get_preview_iconReturns the icon to show on the preferences menu.
get_teamProc that will return the team this antagonist belongs to, when called. Helpful with antagonists that may belong to multiple potential teams in a single round, like families.
greetProc that sends fluff or instructional messages to the player when they are given this antag datum. +Use this proc for playing sounds, sending alerts, or helping to setup non-gameplay influencing aspects of the antagonist type.
handle_clown_mutationHandles adding and removing the clumsy mutation from clown antags. Gets called in apply/remove_innate_effects
hijack_speedGets how fast we can hijack the shuttle, return 0 for can not hijack. +Defaults to hijack_speed var, override for custom stuff like buffing hijack speed for hijack objectives or something.
is_bannedProc that checks the sent mob aganst the banlistfor this antagonist. +Returns FALSE if no mob is sent, or the mob is not found to be banned.
on_body_transferCalled by the transfer_to() mind proc after the mind (mind.current and new_character.mind) has moved but before the player (key and client) is transfered.
on_gainCalled by the add_antag_datum() mind proc after the instanced datum is added to the mind's antag_datums list.
on_mindshieldThis is called when the antagonist is successfully mindshielded.
on_removalCalled by the remove_antag_datum() and remove_all_antag_datums() mind procs for the antag datum to handle its own removal and deletion.
pre_mindshieldThis is called when the antagonist is being mindshielded.
render_preview_outfitCreates an icon from the preview outfit. +Custom implementors of get_preview_icon should use this, as the +result of get_preview_icon is expected to be the completed version.
replace_banned_playerProc that replaces a player who cannot play a specific antagonist due to being banned via a poll, and alerts the player of their being on the banlist.
roundend_reportProc that sends string information for the end-round report window to the server. +This runs on every instance of every antagonist that exists at the end of the round. +This is the body of the message, sandwiched between roundend_report_header and roundend_report_footer.
roundend_report_footerProc that sends string data for the round-end report. +Displayed after roundend_report and roundend_report_footer. +Appears at the end of the roundend_catagory section.
roundend_report_headerProc that sends string data for the round-end report. +Displayed before roundend_report and roundend_report_footer. +Appears at start of roundend_catagory section.
ui_interactANTAGONIST UI STUFF
+

Var Details

antag_hud_name + + + + +

+

Name of the antag hud we provide to this mob.

antag_memory + + + + +

+

String dialogue that is added to the player's in-round notes and memories regarding specifics of that antagonist, eg. the nuke code for nuke ops, or your unlock code for traitors.

antag_moodlet + + + + +

+

typepath of moodlet that the mob will gain when granted this antagonist type.

antagpanel_category + + + + +

+

Antagpanel will display these together, REQUIRED

assign_job + + + + +

+

A job path to give if the player is this antagonist at roundstart.

can_coexist_with_others + + + + +

+

Whether or not the person will be able to have more than one datum

can_elimination_hijack + + + + +

+

If these antags are alone when a shuttle elimination happens.

hijack_speed + + + + +

+

If above 0, this is the multiplier for the speed at which we hijack the shuttle. Do not directly read, use hijack_speed().

hud_icon + + + + +

+

The antag hud's icon file

info_button_ref + + + + +

+

weakref to button to access antag interface

job_rank + + + + +

+

The define string we use to identify the role for bans/player polls to spawn a random new one in.

name + + + + +

+

Public name for this antagonist. Appears for player prompts and round-end reports.

objectives + + + + +

+

List of the objective datums that this role currently has, completing all objectives at round-end will cause this antagonist to greentext.

owner + + + + +

+

Mind that owns this datum

prevent_roundtype_conversion + + + + +

+

If false, the roundtype will still convert with this antag active

preview_outfit + + + + +

+

The typepath for the outfit to show in the preview for the preferences menu.

replace_banned + + + + +

+

Should replace jobbanned player with ghosts if granted.

roundend_category + + + + +

+

Section of roundend report, datums with same category will be displayed together, also default header for the section

show_in_antagpanel + + + + +

+

This will hide adding this antag type in antag panel, use only for internal subtypes that shouldn't be added directly but still show if possessed by mind

show_in_roundend + + + + +

+

Set to false to hide the antagonists from roundend report

show_name_in_check_antagonists + + + + +

+

Will append antagonist name in admin listings - use for categories that share more than one antag type

show_to_ghosts + + + + +

+

Should this antagonist be shown as antag to ghosts? Shouldn't be used for stealthy antagonists like traitors

silent + + + + +

+

Silent will prevent the gain/lose texts to show

soft_antag + + + + +

+

If set to true, the antag will not be added to the living antag list.

suicide_cry + + + + +

+

The battlecry this antagonist shouts when suiciding with C4/X4.

team_hud_ref + + + + +

+

A weakref to the HUD shown to teammates, created by add_team_hud

typecache_datum_blacklist + + + + +

+

List of datums this type can't coexist with

ui_name + + + + +

+

name of the UI that will try to open, right now using a generic ui

Proc Details

add_team_hud +

+

Adds a HUD that will show you other members with the same antagonist. +If an antag typepath is passed to antag_to_check, will check that, otherwise will use the source type.

admin_add +

+

Called when using admin tools to give antag status

admin_remove +

+

Called when removing antagonist using admin tools

antag_panel_data +

+

Additional data to display in the antagonist panel section. +For example, nuke disk code, genome count, etc

build_greeting +

+

Builds a list of strings to print out in greet().

farewell +

+

Proc that sends fluff or instructional messages to the player when they lose this antag datum. +Use this proc for playing sounds, sending alerts, or otherwise informing the player that they're no longer a specific antagonist type.

finish_preview_icon +

+

Given an icon, will crop it to be consistent of those in the preferences menu. +Not necessary, and in fact will look bad if it's anything other than a human.

get_admin_commands +

+

List of ["Command"] = CALLBACK(), user will be appeneded to callback arguments on execution

get_objectives +

+

generic helper to send objectives as data through tgui.

get_preview_icon +

+

Returns the icon to show on the preferences menu.

get_team +

+

Proc that will return the team this antagonist belongs to, when called. Helpful with antagonists that may belong to multiple potential teams in a single round, like families.

greet +

+

Proc that sends fluff or instructional messages to the player when they are given this antag datum. +Use this proc for playing sounds, sending alerts, or helping to setup non-gameplay influencing aspects of the antagonist type.

handle_clown_mutation +

+

Handles adding and removing the clumsy mutation from clown antags. Gets called in apply/remove_innate_effects

hijack_speed +

+

Gets how fast we can hijack the shuttle, return 0 for can not hijack. +Defaults to hijack_speed var, override for custom stuff like buffing hijack speed for hijack objectives or something.

is_banned +

+

Proc that checks the sent mob aganst the banlistfor this antagonist. +Returns FALSE if no mob is sent, or the mob is not found to be banned.

+

on_body_transfer +

+

Called by the transfer_to() mind proc after the mind (mind.current and new_character.mind) has moved but before the player (key and client) is transfered.

on_gain +

+

Called by the add_antag_datum() mind proc after the instanced datum is added to the mind's antag_datums list.

on_mindshield +

+

This is called when the antagonist is successfully mindshielded.

on_removal +

+

Called by the remove_antag_datum() and remove_all_antag_datums() mind procs for the antag datum to handle its own removal and deletion.

pre_mindshield +

+

This is called when the antagonist is being mindshielded.

render_preview_outfit +

+

Creates an icon from the preview outfit. +Custom implementors of get_preview_icon should use this, as the +result of get_preview_icon is expected to be the completed version.

replace_banned_player +

+

Proc that replaces a player who cannot play a specific antagonist due to being banned via a poll, and alerts the player of their being on the banlist.

roundend_report +

+

Proc that sends string information for the end-round report window to the server. +This runs on every instance of every antagonist that exists at the end of the round. +This is the body of the message, sandwiched between roundend_report_header and roundend_report_footer.

+

Proc that sends string data for the round-end report. +Displayed after roundend_report and roundend_report_footer. +Appears at the end of the roundend_catagory section.

roundend_report_header +

+

Proc that sends string data for the round-end report. +Displayed before roundend_report and roundend_report_footer. +Appears at start of roundend_catagory section.

ui_interact +

+

ANTAGONIST UI STUFF

+ + + diff --git a/datum/antagonist/abductee.html b/datum/antagonist/abductee.html new file mode 100644 index 000000000000..4b0445d43874 --- /dev/null +++ b/datum/antagonist/abductee.html @@ -0,0 +1,30 @@ + + + + + + + /datum/antagonist/abductee - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

abductee + + + +

+ +Abductees +

Abductees are created by being operated on by abductors. They get some instructions about not +remembering the abduction, plus some random weird objectives for them to act crazy with.

+ + + diff --git a/datum/antagonist/abductor.html b/datum/antagonist/abductor.html new file mode 100644 index 000000000000..496dd104f295 --- /dev/null +++ b/datum/antagonist/abductor.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/abductor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

abductor + + + +

+ + +

Vars

role_jobType path for the associated job datum.
+

Var Details

role_job + + + + +

+

Type path for the associated job datum.

+ + + diff --git a/datum/antagonist/changeling.html b/datum/antagonist/changeling.html new file mode 100644 index 000000000000..dd40dcd9f1ed --- /dev/null +++ b/datum/antagonist/changeling.html @@ -0,0 +1,243 @@ + + + + + + + /datum/antagonist/changeling - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

changeling + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

absorbed_countThe amount of DNA gained. Includes DNA sting.
all_powersStatic typecache of all changeling powers that are usable.
can_respecWhether we can currently respec in the cellular emporium.
cellular_emporiumA reference to our cellular emporium datum.
chem_chargesThe number of chemicals the changeling currently has.
chem_recharge_rateThe chemical recharge rate per life tick.
chem_recharge_slowdownAny additional modifiers triggered by changelings that modify the chem_recharge_rate.
chosen_stingThe currently active changeling sting.
competitive_objectivesWeather we assign objectives which compete with other lings
dna_maxHow many DNA strands the changeling can store for transformation.
emporium_actionA reference to our cellular emporium action (which opens the UI for the datum).
first_profileThe original profile of this changeling.
genetic_pointsThe number of genetics points (to buy powers) this ling currently has.
give_objectivesWhether to give this changeling objectives or not
hive_nameThe name of our "hive" that our ling came from. Flavor.
innate_powersList of all powers we start with.
lingchemdisplayUI displaying how many chems we have
lingstingdisplayUI displayng our currently active sting
mimicingThe voice we're mimicing via the changeling voice ability.
purchased_powersAssociated list of all powers we have evolved / bought from the emporium. [path] = [instance of path]
slot2typeSatic list of what each slot associated with (in regard to changeling flesh items).
sting_rangeThe range this ling can sting things.
stolen_memoriesA list of all memories we've stolen through absorbs.
stored_profileslist of datum/changeling_profile
total_chem_storageThe max chemical storage the changeling currently has.
total_genetic_pointsThe max number of genetics points (to buy powers) this ling can have..
true_absorbsThe amount of DMA gained using absorb, not DNA sting. Start with one (your original DNA)

Procs

check_menuChecks if we are allowed to interact with a radial menu
forge_objectivesGenerate objectives for our changeling.
select_dnaGives a changeling a list of all possible dnas in their profiles to choose from and returns profile containing their chosen dna
+

Var Details

absorbed_count + + + + +

+

The amount of DNA gained. Includes DNA sting.

all_powers + + + + +

+

Static typecache of all changeling powers that are usable.

can_respec + + + + +

+

Whether we can currently respec in the cellular emporium.

cellular_emporium + + + + +

+

A reference to our cellular emporium datum.

chem_charges + + + + +

+

The number of chemicals the changeling currently has.

chem_recharge_rate + + + + +

+

The chemical recharge rate per life tick.

chem_recharge_slowdown + + + + +

+

Any additional modifiers triggered by changelings that modify the chem_recharge_rate.

chosen_sting + + + + +

+

The currently active changeling sting.

competitive_objectives + + + + +

+

Weather we assign objectives which compete with other lings

dna_max + + + + +

+

How many DNA strands the changeling can store for transformation.

emporium_action + + + + +

+

A reference to our cellular emporium action (which opens the UI for the datum).

first_profile + + + + +

+

The original profile of this changeling.

genetic_points + + + + +

+

The number of genetics points (to buy powers) this ling currently has.

give_objectives + + + + +

+

Whether to give this changeling objectives or not

hive_name + + + + +

+

The name of our "hive" that our ling came from. Flavor.

innate_powers + + + + +

+

List of all powers we start with.

lingchemdisplay + + + + +

+

UI displaying how many chems we have

lingstingdisplay + + + + +

+

UI displayng our currently active sting

mimicing + + + + +

+

The voice we're mimicing via the changeling voice ability.

purchased_powers + + + + +

+

Associated list of all powers we have evolved / bought from the emporium. [path] = [instance of path]

slot2type + + + + +

+

Satic list of what each slot associated with (in regard to changeling flesh items).

sting_range + + + + +

+

The range this ling can sting things.

stolen_memories + + + + +

+

A list of all memories we've stolen through absorbs.

stored_profiles + + + + +

+

list of datum/changeling_profile

total_chem_storage + + + + +

+

The max chemical storage the changeling currently has.

total_genetic_points + + + + +

+

The max number of genetics points (to buy powers) this ling can have..

true_absorbs + + + + +

+

The amount of DMA gained using absorb, not DNA sting. Start with one (your original DNA)

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

Arguments:

+

forge_objectives +

+

Generate objectives for our changeling.

select_dna +

+

Gives a changeling a list of all possible dnas in their profiles to choose from and returns profile containing their chosen dna

+ + + diff --git a/datum/antagonist/ert.html b/datum/antagonist/ert.html new file mode 100644 index 000000000000..c069a039da12 --- /dev/null +++ b/datum/antagonist/ert.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/ert - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ert + + + +

+ + +

Vars

ert_job_pathTypepath indicating the kind of job datum this ert member will have.
+

Var Details

ert_job_path + + + + +

+

Typepath indicating the kind of job datum this ert member will have.

+ + + diff --git a/datum/antagonist/gang.html b/datum/antagonist/gang.html new file mode 100644 index 000000000000..72e1eaa96325 --- /dev/null +++ b/datum/antagonist/gang.html @@ -0,0 +1,113 @@ + + + + + + + /datum/antagonist/gang - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

gang + + + +

+ + + + + + + + + + + + + +

Vars

acceptable_clothesThe list of clothes that are acceptable to show allegiance to this family.
free_clothesThe list of clothes that are given to family members upon induction into the family.
gang_idThe abbreviation of the family corresponding to this family member datum.
gang_nameThe name of the family corresponding to this family member datum.
gang_team_typeType of team to create when creating the gang in the first place. Used for renames.
handlerA reference to the handler datum that manages the families gamemode. In case of no handler (admin-spawned during round), this will be null; this is fine.
my_gangThe overarching family that the owner of this datum is a part of. Family teams are generic and imprinted upon by the per-person antagonist datums.
original_nameThe gangster's original real name. Used for renaming stuff, kept between gang switches.
package_spawnerThe action used to spawn family induction packages.
starter_gangsterWhether or not this family member is the first of their family.

Procs

add_objectivesUsed to display gang objectives in the player's traitor panel
equip_gangster_in_inventoryGives a gangster their equipment in their backpack and / or pockets.
+

Var Details

acceptable_clothes + + + + +

+

The list of clothes that are acceptable to show allegiance to this family.

free_clothes + + + + +

+

The list of clothes that are given to family members upon induction into the family.

gang_id + + + + +

+

The abbreviation of the family corresponding to this family member datum.

gang_name + + + + +

+

The name of the family corresponding to this family member datum.

gang_team_type + + + + +

+

Type of team to create when creating the gang in the first place. Used for renames.

handler + + + + +

+

A reference to the handler datum that manages the families gamemode. In case of no handler (admin-spawned during round), this will be null; this is fine.

my_gang + + + + +

+

The overarching family that the owner of this datum is a part of. Family teams are generic and imprinted upon by the per-person antagonist datums.

original_name + + + + +

+

The gangster's original real name. Used for renaming stuff, kept between gang switches.

package_spawner + + + + +

+

The action used to spawn family induction packages.

starter_gangster + + + + +

+

Whether or not this family member is the first of their family.

Proc Details

add_objectives +

+

Used to display gang objectives in the player's traitor panel

equip_gangster_in_inventory +

+

Gives a gangster their equipment in their backpack and / or pockets.

+ + + diff --git a/datum/antagonist/heretic.html b/datum/antagonist/heretic.html new file mode 100644 index 000000000000..611ae5218287 --- /dev/null +++ b/datum/antagonist/heretic.html @@ -0,0 +1,202 @@ + + + + + + + /datum/antagonist/heretic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

heretic + + + +

+ +

The heretic antagonist itself.

+ + + + + + + + + + + + + + + + + + + + +

Vars

ascendedWhether we've ascended! (Completed one of the final rituals)
blacklisted_rune_turfsA blacklist of turfs we cannot scribe on.
drawing_runeWhether we're drawing a rune or not
give_objectivesWhether we give this antagonist objectives on gain.
heretic_pathThe path our heretic has chosen. Mostly used for flavor.
high_value_sacrificesA list of TOTAL how many high value sacrifices completed.
knowledge_pointsA list of how many knowledge points this heretic CURRENTLY has. Used to research.
living_heart_organ_slotThe organ slot we place our Living Heart in.
passive_gain_timerThe time between gaining influence passively. The heretic gain +1 knowledge points every this duration of time.
researched_knowledgeAssoc list of [typepath] = [knowledge instance]. A list of all knowledge this heretic's reserached.
sac_targetsLazy assoc list of [weakrefs to humans] to [image previews of the human]. Humans that we have as sacrifice targets.
scribing_toolsA static typecache of all tools we can scribe with.
total_sacrificesA list of TOTAL how many sacrifices completed. (Includes high value sacrifices)

Procs

add_sacrifice_targetAdd [target] as a sacrifice target for the heretic. +Generates a preview image and associates it with a weakref of the mob.
check_mansus_grasp_offhandCallback to check that the user's still got their Mansus Grasp out when drawing a rune.
draw_runeThe actual process of drawing a rune.
forge_primary_objectivesCreate our objectives for our heretic.
on_target_deletedSignal proc for COMSIG_PARENT_QDELETING registered on sac targets +if sacrifice targets are deleted (gibbed, dusted, whatever), free their slot and reference
passive_influence_gainIncrements knowledge by one. +Used in callbacks for passive gain over time.
remove_sacrifice_targetRemoves [target] from the heretic's sacrifice list. +Returns FALSE if no one was removed, TRUE otherwise
try_draw_runeAttempt to draw a rune on [target_turf].
+

Var Details

ascended + + + + +

+

Whether we've ascended! (Completed one of the final rituals)

blacklisted_rune_turfs + + + + +

+

A blacklist of turfs we cannot scribe on.

drawing_rune + + + + +

+

Whether we're drawing a rune or not

give_objectives + + + + +

+

Whether we give this antagonist objectives on gain.

heretic_path + + + + +

+

The path our heretic has chosen. Mostly used for flavor.

high_value_sacrifices + + + + +

+

A list of TOTAL how many high value sacrifices completed.

knowledge_points + + + + +

+

A list of how many knowledge points this heretic CURRENTLY has. Used to research.

living_heart_organ_slot + + + + +

+

The organ slot we place our Living Heart in.

passive_gain_timer + + + + +

+

The time between gaining influence passively. The heretic gain +1 knowledge points every this duration of time.

researched_knowledge + + + + +

+

Assoc list of [typepath] = [knowledge instance]. A list of all knowledge this heretic's reserached.

sac_targets + + + + +

+

Lazy assoc list of [weakrefs to humans] to [image previews of the human]. Humans that we have as sacrifice targets.

scribing_tools + + + + +

+

A static typecache of all tools we can scribe with.

total_sacrifices + + + + +

+

A list of TOTAL how many sacrifices completed. (Includes high value sacrifices)

Proc Details

add_sacrifice_target +

+

Add [target] as a sacrifice target for the heretic. +Generates a preview image and associates it with a weakref of the mob.

check_mansus_grasp_offhand +

+

Callback to check that the user's still got their Mansus Grasp out when drawing a rune.

+

Arguments

+

draw_rune +

+

The actual process of drawing a rune.

+

Arguments

+

forge_primary_objectives +

+

Create our objectives for our heretic.

on_target_deleted +

+

Signal proc for COMSIG_PARENT_QDELETING registered on sac targets +if sacrifice targets are deleted (gibbed, dusted, whatever), free their slot and reference

passive_influence_gain +

+

Increments knowledge by one. +Used in callbacks for passive gain over time.

remove_sacrifice_target +

+

Removes [target] from the heretic's sacrifice list. +Returns FALSE if no one was removed, TRUE otherwise

try_draw_rune +

+

Attempt to draw a rune on [target_turf].

+

Arguments

+
+ + + diff --git a/datum/antagonist/heretic_monster.html b/datum/antagonist/heretic_monster.html new file mode 100644 index 000000000000..98f430eb6b8e --- /dev/null +++ b/datum/antagonist/heretic_monster.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/heretic_monster - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

heretic_monster + + + +

+ +

Tracking reasons

+

Vars

masterOur master (a heretic)'s mind.
+

Var Details

master + + + + +

+

Our master (a heretic)'s mind.

+ + + diff --git a/datum/antagonist/hypnotized.html b/datum/antagonist/hypnotized.html new file mode 100644 index 000000000000..a64258290097 --- /dev/null +++ b/datum/antagonist/hypnotized.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/hypnotized - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hypnotized + + + +

+ +

Antag datum associated with the hypnosis brain trauma, used for displaying objectives and antag hud

+

Vars

traumaBrain trauma associated with this antag datum
+

Var Details

trauma + + + + +

+

Brain trauma associated with this antag datum

+ + + diff --git a/datum/antagonist/imp.html b/datum/antagonist/imp.html new file mode 100644 index 000000000000..3b924b44289a --- /dev/null +++ b/datum/antagonist/imp.html @@ -0,0 +1,30 @@ + + + + + + + /datum/antagonist/imp - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

imp + + + +

+ +Imps +

Imps used to be summoned by a devil ascending to their final form, but now they're just +kinda sitting in limbo... Well, whatever! They're kinda cool anyways!

+ + + diff --git a/datum/antagonist/malf_ai.html b/datum/antagonist/malf_ai.html new file mode 100644 index 000000000000..7791e0d278ba --- /dev/null +++ b/datum/antagonist/malf_ai.html @@ -0,0 +1,85 @@ + + + + + + + /datum/antagonist/malf_ai - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

malf_ai + + + +

+ + + + + + + + + +

Vars

employerthe name of the antag flavor this traitor has.
give_objectivesbool for giving objectives
malfunction_flavorassoc list of strings set up after employer is given
module_picker_compactmodesince the module purchasing is built into the antag info, we need to keep track of its compact mode here
should_give_codewordsbool for giving codewords

Procs

forge_ai_objectivesGenerates a complete set of malf AI objectives up to the traitor objective limit.
forge_special_objectiveGenerates a special objective and adds it to the objective list.
give_codewordsOutputs this shift's codewords and responses to the antag's chat and copies them to their memory.
+

Var Details

employer + + + + +

+

the name of the antag flavor this traitor has.

give_objectives + + + + +

+

bool for giving objectives

malfunction_flavor + + + + +

+

assoc list of strings set up after employer is given

module_picker_compactmode + + + + +

+

since the module purchasing is built into the antag info, we need to keep track of its compact mode here

should_give_codewords + + + + +

+

bool for giving codewords

Proc Details

forge_ai_objectives +

+

Generates a complete set of malf AI objectives up to the traitor objective limit.

forge_special_objective +

+

Generates a special objective and adds it to the objective list.

give_codewords +

+

Outputs this shift's codewords and responses to the antag's chat and copies them to their memory.

+ + + diff --git a/datum/antagonist/ninja.html b/datum/antagonist/ninja.html new file mode 100644 index 000000000000..ca4c005e27d3 --- /dev/null +++ b/datum/antagonist/ninja.html @@ -0,0 +1,72 @@ + + + + + + + /datum/antagonist/ninja - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ninja + + + +

+ + + + + + +

Vars

give_equipmentWhether or not this ninja receives the standard equipment
give_objectivesWhether or not this ninja will obtain objectives

Procs

addMemoriesProc that adds the proper memories to the antag datum
addObjectivesProc that adds all the ninja's objectives to the antag datum.
equip_space_ninjaProc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum.
+

Var Details

give_equipment + + + + +

+

Whether or not this ninja receives the standard equipment

give_objectives + + + + +

+

Whether or not this ninja will obtain objectives

Proc Details

addMemories +

+

Proc that adds the proper memories to the antag datum

+

Proc that adds the ninja starting memories to the owner of the antagonist datum.

addObjectives +

+

Proc that adds all the ninja's objectives to the antag datum.

+

Proc that adds all the ninja's objectives to the antag datum. Called when the datum is gained.

equip_space_ninja +

+

Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum.

+

Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum. +Arguments:

+
+ + + diff --git a/datum/antagonist/nukeop.html b/datum/antagonist/nukeop.html new file mode 100644 index 000000000000..d4a5541b2019 --- /dev/null +++ b/datum/antagonist/nukeop.html @@ -0,0 +1,57 @@ + + + + + + + /datum/antagonist/nukeop - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

nukeop + + + +

+ + + + + +

Vars

discount_limited_amountThe amount of limited discounts that the team get
discount_team_amountThe amount of discounts that the team get
nuke_icon_stateIn the preview icon, a nuclear fission explosive device, only appearing if there's an icon state for it.
preview_outfit_behindIn the preview icon, the nukies who are behind the leader
+

Var Details

discount_limited_amount + + + + +

+

The amount of limited discounts that the team get

discount_team_amount + + + + +

+

The amount of discounts that the team get

nuke_icon_state + + + + +

+

In the preview icon, a nuclear fission explosive device, only appearing if there's an icon state for it.

preview_outfit_behind + + + + +

+

In the preview icon, the nukies who are behind the leader

+ + + diff --git a/datum/antagonist/rev.html b/datum/antagonist/rev.html new file mode 100644 index 000000000000..1db4d8c9a480 --- /dev/null +++ b/datum/antagonist/rev.html @@ -0,0 +1,43 @@ + + + + + + + /datum/antagonist/rev - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

rev + + + +

+ + + +

Vars

deconversion_reasonwhen this antagonist is being de-antagged, this is why

Procs

announce_victoriousChecks if the revolution succeeded, and lets them know.
+

Var Details

deconversion_reason + + + + +

+

when this antagonist is being de-antagged, this is why

Proc Details

announce_victorious +

+

Checks if the revolution succeeded, and lets them know.

+ + + diff --git a/datum/antagonist/space_dragon.html b/datum/antagonist/space_dragon.html new file mode 100644 index 000000000000..464882b48501 --- /dev/null +++ b/datum/antagonist/space_dragon.html @@ -0,0 +1,43 @@ + + + + + + + /datum/antagonist/space_dragon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

space_dragon + + + +

+ + + +

Vars

carpAll space carps created by this antagonist space dragon
rift_abilityThe innate ability to summon rifts
+

Var Details

carp + + + + +

+

All space carps created by this antagonist space dragon

rift_ability + + + + +

+

The innate ability to summon rifts

+ + + diff --git a/datum/antagonist/traitor.html b/datum/antagonist/traitor.html new file mode 100644 index 000000000000..0d6c92fe7d5d --- /dev/null +++ b/datum/antagonist/traitor.html @@ -0,0 +1,78 @@ + + + + + + + /datum/antagonist/traitor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

traitor + + + +

+ + + + + + + + +

Vars

employerthe name of the antag flavor this traitor has.
give_uplinkgive this traitor an uplink?
is_hijackerif TRUE, this traitor will always get hijacking as their final objective
traitor_flavorassoc list of strings set up after employer is given
uplink_handlerThe uplink handler that this traitor belongs to.
uplink_refreference to the uplink this traitor was given, if they were.

Procs

forge_traitor_objectivesGenerates a complete set of traitor objectives up to the traitor objective limit, including non-generic objectives such as hijack.
+

Var Details

employer + + + + +

+

the name of the antag flavor this traitor has.

+

give this traitor an uplink?

is_hijacker + + + + +

+

if TRUE, this traitor will always get hijacking as their final objective

traitor_flavor + + + + +

+

assoc list of strings set up after employer is given

+

The uplink handler that this traitor belongs to.

+

reference to the uplink this traitor was given, if they were.

Proc Details

forge_traitor_objectives +

+

Generates a complete set of traitor objectives up to the traitor objective limit, including non-generic objectives such as hijack.

+ + + diff --git a/datum/antagonist/wizard_minion.html b/datum/antagonist/wizard_minion.html new file mode 100644 index 000000000000..881f6b5bf52b --- /dev/null +++ b/datum/antagonist/wizard_minion.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/wizard_minion - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

wizard_minion + + + +

+ + +

Vars

wiz_teamThe wizard team this wizard minion is part of.
+

Var Details

wiz_team + + + + +

+

The wizard team this wizard minion is part of.

+ + + diff --git a/datum/appearance_modifier.html b/datum/appearance_modifier.html new file mode 100644 index 000000000000..be53ec5f3db4 --- /dev/null +++ b/datum/appearance_modifier.html @@ -0,0 +1,92 @@ + + + + + + + /datum/appearance_modifier - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

appearance_modifier + + + +

+ + + + + + + + + + +

Vars

abstract_typeIf you don't want an appearance mod to be usable, use this.
color_blend_funcThe blend mode used to apply a color
colorableA boolean value that determines if this mod is colorable or not.
eorgan_slots_affectedThe external organ slots this applies to. ORGAN_SLOT_EXTERNAL_TAIL, etc.
keyThe cache key for this icon. Dynamically generated on SetValues() call.
my_iconThe icon that gets blended onto the base appearance. Generated in new()
priorityThe priority of this appearance. Higher priorities are blended before other ones. Set by client prefs.
species_can_useA list of species that can equip this appearance mod in character creation

Procs

BlendOntoBlend our icon onto the target. This acts like BLEND_INSET_OVERLAY.
+

Var Details

abstract_type + + + + +

+

If you don't want an appearance mod to be usable, use this.

color_blend_func + + + + +

+

The blend mode used to apply a color

colorable + + + + +

+

A boolean value that determines if this mod is colorable or not.

eorgan_slots_affected + + + + +

+

The external organ slots this applies to. ORGAN_SLOT_EXTERNAL_TAIL, etc.

key + + + + +

+

The cache key for this icon. Dynamically generated on SetValues() call.

my_icon + + + + +

+

The icon that gets blended onto the base appearance. Generated in new()

priority + + + + +

+

The priority of this appearance. Higher priorities are blended before other ones. Set by client prefs.

species_can_use + + + + +

+

A list of species that can equip this appearance mod in character creation

Proc Details

BlendOnto +

+

Blend our icon onto the target. This acts like BLEND_INSET_OVERLAY.

+ + + diff --git a/datum/asset.html b/datum/asset.html new file mode 100644 index 000000000000..7c4f0893def7 --- /dev/null +++ b/datum/asset.html @@ -0,0 +1,77 @@ + + + + + + + /datum/asset - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

asset + + + +

+ + + + + + + +

Vars

cross_round_cachableWhether or not this asset can be cached across rounds of the same commit under the CACHE_ASSETS config. +This is not a guarantee the asset will be cached. Not all asset subtypes respect this field, and the +config can, of course, be disabled.
earlyWhether or not this asset should be loaded in the "early assets" SS

Procs

ensure_readyStub that allows us to react to something trying to get us +Not useful here, more handy for sprite sheets
get_serialized_url_mappingsReturns a cached tgui message of URL mappings
queued_generationStub to hook into if your asset is having its generation queued by SSasset_loading
should_refreshReturns whether or not the asset should attempt to read from cache
+

Var Details

cross_round_cachable + + + + +

+

Whether or not this asset can be cached across rounds of the same commit under the CACHE_ASSETS config. +This is not a guarantee the asset will be cached. Not all asset subtypes respect this field, and the +config can, of course, be disabled.

early + + + + +

+

Whether or not this asset should be loaded in the "early assets" SS

Proc Details

ensure_ready +

+

Stub that allows us to react to something trying to get us +Not useful here, more handy for sprite sheets

get_serialized_url_mappings +

+

Returns a cached tgui message of URL mappings

queued_generation +

+

Stub to hook into if your asset is having its generation queued by SSasset_loading

should_refresh +

+

Returns whether or not the asset should attempt to read from cache

+ + + diff --git a/datum/asset/json.html b/datum/asset/json.html new file mode 100644 index 000000000000..dfe939348dba --- /dev/null +++ b/datum/asset/json.html @@ -0,0 +1,43 @@ + + + + + + + /datum/asset/json - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

json + + + +

+ +

A subtype to generate a JSON file from a list

+ +

Vars

nameThe filename, will be suffixed with ".json"

Procs

generateReturns the data that will be JSON encoded
+

Var Details

name + + + + +

+

The filename, will be suffixed with ".json"

Proc Details

generate +

+

Returns the data that will be JSON encoded

+ + + diff --git a/datum/asset/simple.html b/datum/asset/simple.html new file mode 100644 index 000000000000..1b754616ad87 --- /dev/null +++ b/datum/asset/simple.html @@ -0,0 +1,56 @@ + + + + + + + /datum/asset/simple - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

simple + + + +

+ +

If you don't need anything complicated.

+ + +

Vars

assetslist of assets for this datum in the form of: +asset_filename = asset_file. At runtime the asset_file will be +converted into a asset_cache datum.
keep_local_nameTRUE for keeping local asset names when browse_rsc backend is used
legacySet to true to have this asset also be sent via the legacy browse_rsc +system when cdn transports are enabled?
+

Var Details

assets + + + + +

+

list of assets for this datum in the form of: +asset_filename = asset_file. At runtime the asset_file will be +converted into a asset_cache datum.

keep_local_name + + + + +

+

TRUE for keeping local asset names when browse_rsc backend is used

legacy + + + + +

+

Set to true to have this asset also be sent via the legacy browse_rsc +system when cdn transports are enabled?

+ + + diff --git a/datum/asset/simple/namespaced.html b/datum/asset/simple/namespaced.html new file mode 100644 index 000000000000..7738324513fd --- /dev/null +++ b/datum/asset/simple/namespaced.html @@ -0,0 +1,51 @@ + + + + + + + /datum/asset/simple/namespaced - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

namespaced + + + +

+ +

Namespace'ed assets (for static css and html files) +When sent over a cdn transport, all assets in the same asset datum will exist in the same folder, as their plain names. +Used to ensure css files can reference files by url() without having to generate the css at runtime, both the css file and the files it depends on must exist in the same namespace asset datum. (Also works for html) +For example blah.css with asset blah.png will get loaded as namespaces/a3d..14f/f12..d3c.css and namespaces/a3d..14f/blah.png. allowing the css file to load blah.png by a relative url rather then compute the generated url with get_url_mappings(). +The namespace folder's name will change if any of the assets change. (excluding parent assets)

+ +

Vars

parentsparents - list of the parent asset or assets (in name = file assoicated format) for this namespace. +parent assets must be referenced by their generated url, but if an update changes a parent asset, it won't change the namespace's identity.

Procs

get_htmlloaderGet a html string that will load a html asset. +Needed because byond doesn't allow you to browse() to a url.
+

Var Details

parents + + + + +

+

parents - list of the parent asset or assets (in name = file assoicated format) for this namespace. +parent assets must be referenced by their generated url, but if an update changes a parent asset, it won't change the namespace's identity.

Proc Details

get_htmlloader +

+

Get a html string that will load a html asset. +Needed because byond doesn't allow you to browse() to a url.

+ + + diff --git a/datum/asset/spritesheet.html b/datum/asset/spritesheet.html new file mode 100644 index 000000000000..326e74f00471 --- /dev/null +++ b/datum/asset/spritesheet.html @@ -0,0 +1,85 @@ + + + + + + + /datum/asset/spritesheet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

spritesheet + + + +

+ + + + + + + +

Vars

load_immediatelyIf this asset should be fully loaded on new +Defaults to false so we can process this stuff nicely
to_generateList of arguments to pass into queuedInsert +Exists so we can queue icon insertion, mostly for stuff like preferences

Procs

ModifyInsertedA simple proc handing the Icon for you to modify before it gets turned into an asset.
create_spritesheetsOverride this in order to start the creation of the spritehseet. +This is where all your Insert, InsertAll, etc calls should be inside.
get_background_urlReturns the URL to put in the background:url of the CSS asset
icon_size_idReturns the size class (ex design32x32) for a given sprite's icon
+

Var Details

load_immediately + + + + +

+

If this asset should be fully loaded on new +Defaults to false so we can process this stuff nicely

to_generate + + + + +

+

List of arguments to pass into queuedInsert +Exists so we can queue icon insertion, mostly for stuff like preferences

Proc Details

ModifyInserted +

+

A simple proc handing the Icon for you to modify before it gets turned into an asset.

+

Arguments:

+

create_spritesheets +

+

Override this in order to start the creation of the spritehseet. +This is where all your Insert, InsertAll, etc calls should be inside.

get_background_url +

+

Returns the URL to put in the background:url of the CSS asset

icon_size_id +

+

Returns the size class (ex design32x32) for a given sprite's icon

+

Arguments:

+
+ + + diff --git a/datum/asset/spritesheet/antagonists.html b/datum/asset/spritesheet/antagonists.html new file mode 100644 index 000000000000..b99994652018 --- /dev/null +++ b/datum/asset/spritesheet/antagonists.html @@ -0,0 +1,36 @@ + + + + + + + /datum/asset/spritesheet/antagonists - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

antagonists + + + +

+ +

Sprites generated for the antagonists panel

+

Vars

antag_iconsMapping of spritesheet keys -> icons
+

Var Details

antag_icons + + + + +

+

Mapping of spritesheet keys -> icons

+ + + diff --git a/datum/asset/spritesheet/decals.html b/datum/asset/spritesheet/decals.html new file mode 100644 index 000000000000..fb84dee9f40b --- /dev/null +++ b/datum/asset/spritesheet/decals.html @@ -0,0 +1,74 @@ + + + + + + + /datum/asset/spritesheet/decals - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

decals + + + +

+ + + + + + +

Vars

painter_typeThe associated decal painter type to grab decals, colors, etc from.
preview_floor_iconThe floor icon used for blend_preview_floor()
preview_floor_stateThe floor icon state used for blend_preview_floor()

Procs

blend_preview_floorUnderlay an example floor for preview purposes, and return the new icon.
insert_stateInsert a specific state into the spritesheet.
+

Var Details

painter_type + + + + +

+

The associated decal painter type to grab decals, colors, etc from.

preview_floor_icon + + + + +

+

The floor icon used for blend_preview_floor()

preview_floor_state + + + + +

+

The floor icon state used for blend_preview_floor()

Proc Details

blend_preview_floor +

+

Underlay an example floor for preview purposes, and return the new icon.

+

Arguments:

+

insert_state +

+

Insert a specific state into the spritesheet.

+

Arguments:

+
+ + + diff --git a/datum/asset_cache_item.html b/datum/asset_cache_item.html new file mode 100644 index 000000000000..358ca33c2df7 --- /dev/null +++ b/datum/asset_cache_item.html @@ -0,0 +1,65 @@ + + + + + + + /datum/asset_cache_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

asset_cache_item + + + +

+ +

An internal datum containing info on items in the asset cache. Mainly used to cache md5 info for speed.

+ + + +

Vars

keep_local_nameTRUE for keeping local asset names when browse_rsc backend is used
legacyShould this file also be sent via the legacy browse_rsc system +when cdn transports are enabled?
namespaceUsed by the cdn system to keep legacy css assets with their parent +css file. (css files resolve urls relative to the css file, so the +legacy system can't be used if the css file itself could go out over +the cdn)
namespace_parentTrue if this is the parent css or html file for an asset's namespace
+

Var Details

keep_local_name + + + + +

+

TRUE for keeping local asset names when browse_rsc backend is used

legacy + + + + +

+

Should this file also be sent via the legacy browse_rsc system +when cdn transports are enabled?

namespace + + + + +

+

Used by the cdn system to keep legacy css assets with their parent +css file. (css files resolve urls relative to the css file, so the +legacy system can't be used if the css file itself could go out over +the cdn)

namespace_parent + + + + +

+

True if this is the parent css or html file for an asset's namespace

+ + + diff --git a/datum/asset_transport.html b/datum/asset_transport.html new file mode 100644 index 000000000000..eb89f9b7cc9f --- /dev/null +++ b/datum/asset_transport.html @@ -0,0 +1,109 @@ + + + + + + + /datum/asset_transport - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

asset_transport + + + +

+ +

Base browse_rsc asset transport

+ + + + + + + +

Vars

dont_mutate_filenamesDon't mutate the filename of assets when sending via browse_rsc. +This is to make it easier to debug issues with assets, and allow server operators to bypass issues that make it to production. +If turning this on fixes asset issues, something isn't using get_asset_url and the asset isn't marked legacy, fix one of those.

Procs

InitializeInitialize - Called when SSassets initializes.
LoadCalled when the transport is loaded by the config controller, not called on the default transport unless it gets loaded by a config change.
get_asset_urlReturns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name
register_assetRegister a browser asset with the asset cache system +asset_name - the identifier of the asset +asset - the actual asset file (or an asset_cache_item datum) +returns a /datum/asset_cache_item. +mutiple calls to register the same asset under the same asset_name return the same datum
send_assetsSends a list of browser assets to a client +client - a client or mob +asset_list - A list of asset filenames to be sent to the client. Can optionally be assoicated with the asset's asset_cache_item datum. +Returns TRUE if any assets were sent.
send_assets_slowPrecache files without clogging up the browse() queue, used for passively sending files on connection start.
validate_configCheck the config is valid to load this transport +Returns TRUE or FALSE
+

Var Details

dont_mutate_filenames + + + + +

+

Don't mutate the filename of assets when sending via browse_rsc. +This is to make it easier to debug issues with assets, and allow server operators to bypass issues that make it to production. +If turning this on fixes asset issues, something isn't using get_asset_url and the asset isn't marked legacy, fix one of those.

Proc Details

Initialize +

+

Initialize - Called when SSassets initializes.

Load +

+

Called when the transport is loaded by the config controller, not called on the default transport unless it gets loaded by a config change.

get_asset_url +

+

Returns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name

register_asset +

+

Register a browser asset with the asset cache system +asset_name - the identifier of the asset +asset - the actual asset file (or an asset_cache_item datum) +returns a /datum/asset_cache_item. +mutiple calls to register the same asset under the same asset_name return the same datum

send_assets +

+

Sends a list of browser assets to a client +client - a client or mob +asset_list - A list of asset filenames to be sent to the client. Can optionally be assoicated with the asset's asset_cache_item datum. +Returns TRUE if any assets were sent.

send_assets_slow +

+

Precache files without clogging up the browse() queue, used for passively sending files on connection start.

validate_config +

+

Check the config is valid to load this transport +Returns TRUE or FALSE

+ + + diff --git a/datum/asset_transport/webroot.html b/datum/asset_transport/webroot.html new file mode 100644 index 000000000000..5483d6814ed2 --- /dev/null +++ b/datum/asset_transport/webroot.html @@ -0,0 +1,80 @@ + + + + + + + /datum/asset_transport/webroot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

webroot + + + +

+ +

CDN Webroot asset transport.

+ + + + + +

Procs

get_asset_urlReturns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name
load_existing_assetsProcesses thru any assets that were registered before we were loaded as a transport.
register_assetRegister a browser asset with the asset cache system +We also save it to the CDN webroot at this step instead of waiting for send_assets() +asset_name - the identifier of the asset +asset - the actual asset file or an asset_cache_item datum.
save_asset_to_webrootSaves the asset to the webroot taking into account namespaces and hashes.
send_assetswebroot asset sending - does nothing unless passed legacy assets
send_assets_slowwebroot slow asset sending - does nothing.

Proc Details

get_asset_url +

+

Returns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name

load_existing_assets +

+

Processes thru any assets that were registered before we were loaded as a transport.

register_asset +

+

Register a browser asset with the asset cache system +We also save it to the CDN webroot at this step instead of waiting for send_assets() +asset_name - the identifier of the asset +asset - the actual asset file or an asset_cache_item datum.

save_asset_to_webroot +

+

Saves the asset to the webroot taking into account namespaces and hashes.

send_assets +

+

webroot asset sending - does nothing unless passed legacy assets

send_assets_slow +

+

webroot slow asset sending - does nothing.

+ + + diff --git a/datum/atom_hud.html b/datum/atom_hud.html new file mode 100644 index 000000000000..f447eafe4ad1 --- /dev/null +++ b/datum/atom_hud.html @@ -0,0 +1,223 @@ + + + + + + + /datum/atom_hud - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

atom_hud + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

hud_atomsassociative list of the form: list(z level = list(hud atom)). +tracks what hud atoms for this hud exists in what z level so we can only give users +the hud images that they can actually see.
hud_atoms_all_z_levelsused for signal tracking purposes, associative list of the form: list(hud atom = TRUE) that isnt separated by z level
hud_exceptionshuduser = list(atoms with their hud hidden) - aka everyone hates targeted invisiblity
hud_iconsthese will be the indexes for the atom's hud_list
hud_usersassociative list of the form: list(z level = list(hud user client mobs)). +tracks mobs that can "see" us
hud_users_all_z_levelsused for signal tracking purposes, associative list of the form: list(hud user = number of times this hud was added to this user). +that isnt separated by z level
next_time_allowedmobs associated with the next time this hud can be added to them
queued_to_seemobs that have triggered the cooldown and are queued to see the hud, but do not yet
uses_global_hud_categorywhether or not this atom_hud type updates the global huds_by_category list. +some subtypes cant work like this since theyre supposed to "belong" to +one target atom each. it will still go in the other global hud lists.

Procs

add_all_atoms_to_single_mob_hudall passed in hud_atoms's hud images (that are part of this atom_hud) to requesting_mob's client.images list +optimization of /datum/atom_hud/proc/add_atom_to_single_mob_hud for hot cases, we assert that no nulls will be passed in via the list
add_atom_to_all_mob_hudsadd just hud_atom's hud images (that are part of this atom_hud) to all the requesting_mobs's client.images list +optimization of /datum/atom_hud/proc/add_atom_to_single_mob_hud for hot cases, we assert that no nulls will be passed in via the list
add_atom_to_hudadd new_hud_atom to this hud
add_atom_to_single_mob_hudadd just hud_atom's hud images (that are part of this atom_hud) to requesting_mob's client.images list
add_single_hud_category_on_atomadds a newly active hud category's image on a hud atom to every mob that could see it
get_hud_atoms_for_z_levelreturns a list of all hud atoms in the given z level and linked lower z levels (because hud users in higher z levels can see below)
get_hud_users_for_z_levelreturns a list of all hud users in the given z level.
hide_fromHides the images in this hud from former_viewer +If absolute is set to true, this will forcefully remove the hud, even if sources in theory remain
on_atom_or_user_z_level_changedwhen a hud atom or hud user changes z levels this makes sure it gets the images it needs and removes the images it doesnt need. +because of how signals work we need the same proc to handle both use cases because being a hud atom and being a hud user arent mutually exclusive
remove_all_atoms_from_single_hudremove every hud image for this hud pulled from atoms_to_remove from client_mob's client.images list +optimization of /datum/atom_hud/proc/remove_atom_from_single_hud for hot cases, we assert that no nulls will be passed in via the list
remove_atom_from_all_hudsremove every hud image for this hud on atom_to_remove from client_mobs's client.images list +optimization of /datum/atom_hud/proc/remove_atom_from_single_hud for hot cases, we assert that no nulls will be passed in via the list
remove_atom_from_hudremove this atom from this hud completely
remove_atom_from_single_hudremove every hud image for this hud on atom_to_remove from client_mob's client.images list
remove_single_hud_category_on_atomremoves the image or images in hud_atom.hud_list[hud_category_to_remove] from every mob that can see it but leaves every other image +from that atom there.
show_toshow this hud to the passed in user
+

Var Details

hud_atoms + + + + +

+

associative list of the form: list(z level = list(hud atom)). +tracks what hud atoms for this hud exists in what z level so we can only give users +the hud images that they can actually see.

hud_atoms_all_z_levels + + + + +

+

used for signal tracking purposes, associative list of the form: list(hud atom = TRUE) that isnt separated by z level

hud_exceptions + + + + +

+

huduser = list(atoms with their hud hidden) - aka everyone hates targeted invisiblity

hud_icons + + + + +

+

these will be the indexes for the atom's hud_list

hud_users + + + + +

+

associative list of the form: list(z level = list(hud user client mobs)). +tracks mobs that can "see" us

hud_users_all_z_levels + + + + +

+

used for signal tracking purposes, associative list of the form: list(hud user = number of times this hud was added to this user). +that isnt separated by z level

next_time_allowed + + + + +

+

mobs associated with the next time this hud can be added to them

queued_to_see + + + + +

+

mobs that have triggered the cooldown and are queued to see the hud, but do not yet

uses_global_hud_category + + + + +

+

whether or not this atom_hud type updates the global huds_by_category list. +some subtypes cant work like this since theyre supposed to "belong" to +one target atom each. it will still go in the other global hud lists.

Proc Details

add_all_atoms_to_single_mob_hud +

+

all passed in hud_atoms's hud images (that are part of this atom_hud) to requesting_mob's client.images list +optimization of /datum/atom_hud/proc/add_atom_to_single_mob_hud for hot cases, we assert that no nulls will be passed in via the list

add_atom_to_all_mob_huds +

+

add just hud_atom's hud images (that are part of this atom_hud) to all the requesting_mobs's client.images list +optimization of /datum/atom_hud/proc/add_atom_to_single_mob_hud for hot cases, we assert that no nulls will be passed in via the list

add_atom_to_hud +

+

add new_hud_atom to this hud

add_atom_to_single_mob_hud +

+

add just hud_atom's hud images (that are part of this atom_hud) to requesting_mob's client.images list

add_single_hud_category_on_atom +

+

adds a newly active hud category's image on a hud atom to every mob that could see it

get_hud_atoms_for_z_level +

+

returns a list of all hud atoms in the given z level and linked lower z levels (because hud users in higher z levels can see below)

get_hud_users_for_z_level +

+

returns a list of all hud users in the given z level.

hide_from +

+

Hides the images in this hud from former_viewer +If absolute is set to true, this will forcefully remove the hud, even if sources in theory remain

on_atom_or_user_z_level_changed +

+

when a hud atom or hud user changes z levels this makes sure it gets the images it needs and removes the images it doesnt need. +because of how signals work we need the same proc to handle both use cases because being a hud atom and being a hud user arent mutually exclusive

remove_all_atoms_from_single_hud +

+

remove every hud image for this hud pulled from atoms_to_remove from client_mob's client.images list +optimization of /datum/atom_hud/proc/remove_atom_from_single_hud for hot cases, we assert that no nulls will be passed in via the list

remove_atom_from_all_huds +

+

remove every hud image for this hud on atom_to_remove from client_mobs's client.images list +optimization of /datum/atom_hud/proc/remove_atom_from_single_hud for hot cases, we assert that no nulls will be passed in via the list

remove_atom_from_hud +

+

remove this atom from this hud completely

remove_atom_from_single_hud +

+

remove every hud image for this hud on atom_to_remove from client_mob's client.images list

remove_single_hud_category_on_atom +

+

removes the image or images in hud_atom.hud_list[hud_category_to_remove] from every mob that can see it but leaves every other image +from that atom there.

show_to +

+

show this hud to the passed in user

+ + + diff --git a/datum/augment_item.html b/datum/augment_item.html new file mode 100644 index 000000000000..be1d7cd2ac53 --- /dev/null +++ b/datum/augment_item.html @@ -0,0 +1,64 @@ + + + + + + + /datum/augment_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

augment_item + + + +

+ + + + + + +

Vars

categoryCategory in which the augment belongs to. check "_DEFINES/augment.dm"
descriptionDescription of the loadout augment, automatically set by New() if null
exclusiveCan multiple of this type be taken?
pathTypepath to the augment being used
slotSlot in which the augment belongs to, MAKE SURE THE SAME SLOT IS ONLY IN ONE CATEGORY
+

Var Details

category + + + + +

+

Category in which the augment belongs to. check "_DEFINES/augment.dm"

description + + + + +

+

Description of the loadout augment, automatically set by New() if null

exclusive + + + + +

+

Can multiple of this type be taken?

path + + + + +

+

Typepath to the augment being used

slot + + + + +

+

Slot in which the augment belongs to, MAKE SURE THE SAME SLOT IS ONLY IN ONE CATEGORY

+ + + diff --git a/datum/augment_item/implant.html b/datum/augment_item/implant.html new file mode 100644 index 000000000000..a30406522f20 --- /dev/null +++ b/datum/augment_item/implant.html @@ -0,0 +1,43 @@ + + + + + + + /datum/augment_item/implant - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

implant + + + +

+ + + +

Vars

allowed_speciesWhat species can use this implant?

Procs

get_choicesReturn a list of sprite accessories to choose from
+

Var Details

allowed_species + + + + +

+

What species can use this implant?

Proc Details

get_choices +

+

Return a list of sprite accessories to choose from

+ + + diff --git a/datum/autowiki.html b/datum/autowiki.html new file mode 100644 index 000000000000..761f37a5e46f --- /dev/null +++ b/datum/autowiki.html @@ -0,0 +1,86 @@ + + + + + + + /datum/autowiki - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

autowiki + + + +

+ +

A representation of an automated wiki page.

+ + + + +

Vars

pageThe page on the wiki to be replaced. +This should never be a user-facing page, like "Guide to circuits". +It should always be a template that only Autowiki should touch. +For example: "Template:Autowiki/CircuitInfo".

Procs

escape_valueEscape a parameter such that it can be correctly put inside a wiki output
generateOverride and return the new text of the page. +This proc can be impure, usually to call upload_file.
include_templateGenerates an auto formatted template user. +Your autowiki should ideally be a lot of these. +It lets wiki editors edit it much easier later, without having to enter repo. +Parameters will be passed in by name. That means your template should expect +something that looks like {{ Autowiki_Circuit|name=Combiner|description=This combines }} +Lists, which must be array-like (no keys), will be turned into a flat list with their key and a number, +such that list("food" = list("fruit", "candy")) -> food1=fruit|food2=candy
upload_iconTakes an icon and uploads it to Autowiki-name.png. +Do your best to make sure this is unique, so it doesn't clash with other autowiki icons.
+

Var Details

page + + + + +

+

The page on the wiki to be replaced. +This should never be a user-facing page, like "Guide to circuits". +It should always be a template that only Autowiki should touch. +For example: "Template:Autowiki/CircuitInfo".

Proc Details

escape_value +

+

Escape a parameter such that it can be correctly put inside a wiki output

generate +

+

Override and return the new text of the page. +This proc can be impure, usually to call upload_file.

include_template +

+

Generates an auto formatted template user. +Your autowiki should ideally be a lot of these. +It lets wiki editors edit it much easier later, without having to enter repo. +Parameters will be passed in by name. That means your template should expect +something that looks like {{ Autowiki_Circuit|name=Combiner|description=This combines }} +Lists, which must be array-like (no keys), will be turned into a flat list with their key and a number, +such that list("food" = list("fruit", "candy")) -> food1=fruit|food2=candy

upload_icon +

+

Takes an icon and uploads it to Autowiki-name.png. +Do your best to make sure this is unique, so it doesn't clash with other autowiki icons.

+ + + diff --git a/datum/award.html b/datum/award.html new file mode 100644 index 000000000000..1face4d69a05 --- /dev/null +++ b/datum/award.html @@ -0,0 +1,78 @@ + + + + + + + /datum/award - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

award + + + +

+ + + + + + + + +

Vars

database_idWhat ID do we use in db, limited to 32 characters
iconThe icon state for this award. The icon file is found in ui_icons/achievements.
nameName of the achievement, If null it won't show up in the achievement browser. (Handy for inheritance trees)

Procs

get_changed_rowsThis saves the changed data to the hub.
get_raw_valueGet raw numerical achievement value from the database
loadThis proc loads the achievement data from the hub.
on_unlockCan be overriden for achievement specific events
+

Var Details

database_id + + + + +

+

What ID do we use in db, limited to 32 characters

icon + + + + +

+

The icon state for this award. The icon file is found in ui_icons/achievements.

name + + + + +

+

Name of the achievement, If null it won't show up in the achievement browser. (Handy for inheritance trees)

Proc Details

get_changed_rows +

+

This saves the changed data to the hub.

get_raw_value +

+

Get raw numerical achievement value from the database

load +

+

This proc loads the achievement data from the hub.

on_unlock +

+

Can be overriden for achievement specific events

+ + + diff --git a/datum/bank_account.html b/datum/bank_account.html new file mode 100644 index 000000000000..933dc29622c1 --- /dev/null +++ b/datum/bank_account.html @@ -0,0 +1,169 @@ + + + + + + + /datum/bank_account - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

bank_account + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

account_balanceHow many credits are currently held in the bank account.
account_holderName listed on the account, reflected on the ID card.
account_idThe Unique ID number code associated with the owner's bank account, assigned at round start.
account_jobThe job datum of the account owner.
account_pinA randomly generated 5-digit pin to access the bank account. This is stored as a string!
add_to_accountsShould this ID be added to the global list of accounts? If true, will be subject to station-bound economy effects as well as income.
bank_cardsList of the physical ID card objects that are associated with this bank_account
being_dumpedIs there a CRAB 17 on the station draining funds? Prevents manual fund transfer. pink levels are rising
payday_modifierIf there are things effecting how much income a player will get, it's reflected here 1 is standard for humans.
replaceableCan this account be replaced? Set to true for default IDs not recognized by the station.

Procs

_adjust_moneyPerforms the math component of adjusting a bank account balance.
adjust_moneyAdjusts the balance of a bank_account as well as sanitizes the numerical input.
bank_card_talkThis sends a local chat message to the owner of a bank account, on all ID cards registered to the bank_account. +If not held, sends out a message to all nearby players.
dumpeetSets the bank_account to behave as though a CRAB-17 event is happening.
has_moneyReturns TRUE if a bank account has more than or equal to the amount, amt. +Otherwise returns false.
paydayThis proc handles passive income gain for players, using their job's paycheck value. +Funds are taken from the given bank account unless null. This can result in payment brown-outs if the company is poor.
setup_unique_account_idProc guarantees the account_id possesses a unique number. +If it doesn't, it tries to find a unique alternative. +It then adds it to the SSeconomy.bank_accounts_by_id global list.
transfer_moneyPerforms a transfer of credits to the bank_account datum from another bank account. +*datum/bank_account/from: The bank account that is sending the credits to this bank_account datum. +*amount: the quantity of credits that are being moved between bank_account datums.
+

Var Details

account_balance + + + + +

+

How many credits are currently held in the bank account.

account_holder + + + + +

+

Name listed on the account, reflected on the ID card.

account_id + + + + +

+

The Unique ID number code associated with the owner's bank account, assigned at round start.

account_job + + + + +

+

The job datum of the account owner.

account_pin + + + + +

+

A randomly generated 5-digit pin to access the bank account. This is stored as a string!

add_to_accounts + + + + +

+

Should this ID be added to the global list of accounts? If true, will be subject to station-bound economy effects as well as income.

bank_cards + + + + +

+

List of the physical ID card objects that are associated with this bank_account

being_dumped + + + + +

+

Is there a CRAB 17 on the station draining funds? Prevents manual fund transfer. pink levels are rising

payday_modifier + + + + +

+

If there are things effecting how much income a player will get, it's reflected here 1 is standard for humans.

replaceable + + + + +

+

Can this account be replaced? Set to true for default IDs not recognized by the station.

Proc Details

_adjust_money +

+

Performs the math component of adjusting a bank account balance.

adjust_money +

+

Adjusts the balance of a bank_account as well as sanitizes the numerical input.

bank_card_talk +

+

This sends a local chat message to the owner of a bank account, on all ID cards registered to the bank_account. +If not held, sends out a message to all nearby players.

dumpeet +

+

Sets the bank_account to behave as though a CRAB-17 event is happening.

has_money +

+

Returns TRUE if a bank account has more than or equal to the amount, amt. +Otherwise returns false.

payday +

+

This proc handles passive income gain for players, using their job's paycheck value. +Funds are taken from the given bank account unless null. This can result in payment brown-outs if the company is poor.

setup_unique_account_id +

+

Proc guarantees the account_id possesses a unique number. +If it doesn't, it tries to find a unique alternative. +It then adds it to the SSeconomy.bank_accounts_by_id global list.

transfer_money +

+

Performs a transfer of credits to the bank_account datum from another bank account. +*datum/bank_account/from: The bank account that is sending the credits to this bank_account datum. +*amount: the quantity of credits that are being moved between bank_account datums.

+ + + diff --git a/datum/beam.html b/datum/beam.html new file mode 100644 index 000000000000..b7b527c09ae9 --- /dev/null +++ b/datum/beam.html @@ -0,0 +1,178 @@ + + + + + + + /datum/beam - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

beam + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

beam_colorThe color of the beam we're drawing.
beam_typethe objects placed in the elements list
elementslist of beam objects. These have their visuals set by the visuals var which is created on starting
emissiveIf we use an emissive appearance
iconicon used by the beam.
icon_stateicon state of the main segments of the beam
max_distanceThe beam will qdel if it's longer than this many tiles.
originwhere the beam goes from
override_origin_pixel_xIf set will be used instead of origin's pixel_x in offset calculations
override_origin_pixel_yIf set will be used instead of origin's pixel_y in offset calculations
override_target_pixel_xIf set will be used instead of targets's pixel_x in offset calculations
override_target_pixel_yIf set will be used instead of targets's pixel_y in offset calculations
targetwhere the beam goes to
visualsThis is used as the visual_contents of beams, so you can apply one effect to this and the whole beam will look like that. never gets deleted on redrawing.

Procs

DrawCreates the beam effects and places them in a line from the origin to the target. Sets their rotation to make the beams face the target, too.
StartProc called by the atom Beam() proc. Sets up signals, and draws the beam for the first time.
redrawingTriggered by signals set up when the beam is set up. If it's still sane to create a beam, it removes the old beam, creates a new one. Otherwise it kills the beam.
+

Var Details

beam_color + + + + +

+

The color of the beam we're drawing.

beam_type + + + + +

+

the objects placed in the elements list

elements + + + + +

+

list of beam objects. These have their visuals set by the visuals var which is created on starting

emissive + + + + +

+

If we use an emissive appearance

icon + + + + +

+

icon used by the beam.

icon_state + + + + +

+

icon state of the main segments of the beam

max_distance + + + + +

+

The beam will qdel if it's longer than this many tiles.

origin + + + + +

+

where the beam goes from

override_origin_pixel_x + + + + +

+

If set will be used instead of origin's pixel_x in offset calculations

override_origin_pixel_y + + + + +

+

If set will be used instead of origin's pixel_y in offset calculations

override_target_pixel_x + + + + +

+

If set will be used instead of targets's pixel_x in offset calculations

override_target_pixel_y + + + + +

+

If set will be used instead of targets's pixel_y in offset calculations

target + + + + +

+

where the beam goes to

visuals + + + + +

+

This is used as the visual_contents of beams, so you can apply one effect to this and the whole beam will look like that. never gets deleted on redrawing.

Proc Details

Draw +

+

Creates the beam effects and places them in a line from the origin to the target. Sets their rotation to make the beams face the target, too.

Start +

+

Proc called by the atom Beam() proc. Sets up signals, and draws the beam for the first time.

redrawing +

+

Triggered by signals set up when the beam is set up. If it's still sane to create a beam, it removes the old beam, creates a new one. Otherwise it kills the beam.

+

Arguments: +mover: either the origin of the beam or the target of the beam that moved. +oldloc: from where mover moved. +direction: in what direction mover moved from.

+ + + diff --git a/datum/biome.html b/datum/biome.html new file mode 100644 index 000000000000..c0ccf09270f0 --- /dev/null +++ b/datum/biome.html @@ -0,0 +1,71 @@ + + + + + + + /datum/biome - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

biome + + + +

+ +

This datum handles the transitioning from a turf to a specific biome, and handles spawning decorative structures and mobs.

+ + + + + +

Vars

fauna_densityChance of having a mob from the fauna types list spawn
fauna_typeslist of type paths of mobs that can be spawned when the turf spawns fauna
flora_densityChance of having a structure from the flora types list spawn
flora_typeslist of type paths of objects that can be spawned when the turf spawns flora
turf_typeType of turf this biome creates

Procs

generate_turfThis proc handles the creation of a turf of a specific biome type
+

Var Details

fauna_density + + + + +

+

Chance of having a mob from the fauna types list spawn

fauna_types + + + + +

+

list of type paths of mobs that can be spawned when the turf spawns fauna

flora_density + + + + +

+

Chance of having a structure from the flora types list spawn

flora_types + + + + +

+

list of type paths of objects that can be spawned when the turf spawns flora

turf_type + + + + +

+

Type of turf this biome creates

Proc Details

generate_turf +

+

This proc handles the creation of a turf of a specific biome type

+ + + diff --git a/datum/bitfield.html b/datum/bitfield.html new file mode 100644 index 000000000000..8f1815ab5979 --- /dev/null +++ b/datum/bitfield.html @@ -0,0 +1,43 @@ + + + + + + + /datum/bitfield - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bitfield + + + +

+ +

Specifies a bitfield for smarter debugging

+ +

Vars

flagsAn associative list of the readable flag and its true value
variableThe variable name that contains the bitfield
+

Var Details

flags + + + + +

+

An associative list of the readable flag and its true value

variable + + + + +

+

The variable name that contains the bitfield

+ + + diff --git a/datum/blobstrain.html b/datum/blobstrain.html new file mode 100644 index 000000000000..fc3ea9538196 --- /dev/null +++ b/datum/blobstrain.html @@ -0,0 +1,211 @@ + + + + + + + /datum/blobstrain - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

blobstrain + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

analyzerdescdamageShort descriptor of what the strain does damage-wise, generally seen in the reroll menu
analyzerdesceffectShort descriptor of what the strain does in general, generally seen in the reroll menu
base_core_regenThe amount of health regenned on core_process
blobbernaut_messageBlobbernaut attack verb
blobbernaut_reagentatk_bonusMakes blobbernauts inject a bonus amount of reagents, making their attacks more powerful
complementary_colorThe color that stuff like healing effects and the overmind camera gets
core_range_bonusAdds to claim, pulse, and expand range
core_reflector_reinforcement_range_bonusExtra range up to which the core reinforces blobs into reflectors
core_regen_bonusHP regen bonus added by strain
core_spore_bonusThe core can sustain this many extra spores with this strain
core_strong_reinforcement_range_bonusExtra range up to which the core reinforces blobs
effectdescAny long, blob-tile specific effects
factory_spore_bonusExtra spores produced by factories with this strain
fire_basedFor blob-mobs and extinguishing-based effects
max_mob_health_multiplierMultiplies the max and current health of every mob with this value upon selecting this strain.
max_structure_health_multiplierMultiplies the max and current health of every blob with this value upon selecting this strain.
messageMessage sent to any mob hit by the blob
message_livingGets added onto 'message' if the mob stuck is of type living
node_range_bonusAdds to claim, pulse, and expand range
node_reflector_reinforcement_range_bonusExtra range up to which the node reinforces blobs into reflectors
node_spore_bonusNodes can sustain this any extra spores with this strain
node_strong_reinforcement_range_bonusExtra range up to which the node reinforces blobs
point_rateThe amount of points gained on core_process
point_rate_bonusresource point bonus added by strain
resource_delayStores world.time to figure out when to next give resources
shortdescA short description of the power and its effects
+

Var Details

analyzerdescdamage + + + + +

+

Short descriptor of what the strain does damage-wise, generally seen in the reroll menu

analyzerdesceffect + + + + +

+

Short descriptor of what the strain does in general, generally seen in the reroll menu

base_core_regen + + + + +

+

The amount of health regenned on core_process

blobbernaut_message + + + + +

+

Blobbernaut attack verb

blobbernaut_reagentatk_bonus + + + + +

+

Makes blobbernauts inject a bonus amount of reagents, making their attacks more powerful

complementary_color + + + + +

+

The color that stuff like healing effects and the overmind camera gets

core_range_bonus + + + + +

+

Adds to claim, pulse, and expand range

core_reflector_reinforcement_range_bonus + + + + +

+

Extra range up to which the core reinforces blobs into reflectors

core_regen_bonus + + + + +

+

HP regen bonus added by strain

core_spore_bonus + + + + +

+

The core can sustain this many extra spores with this strain

core_strong_reinforcement_range_bonus + + + + +

+

Extra range up to which the core reinforces blobs

effectdesc + + + + +

+

Any long, blob-tile specific effects

factory_spore_bonus + + + + +

+

Extra spores produced by factories with this strain

fire_based + + + + +

+

For blob-mobs and extinguishing-based effects

max_mob_health_multiplier + + + + +

+

Multiplies the max and current health of every mob with this value upon selecting this strain.

max_structure_health_multiplier + + + + +

+

Multiplies the max and current health of every blob with this value upon selecting this strain.

message + + + + +

+

Message sent to any mob hit by the blob

message_living + + + + +

+

Gets added onto 'message' if the mob stuck is of type living

node_range_bonus + + + + +

+

Adds to claim, pulse, and expand range

node_reflector_reinforcement_range_bonus + + + + +

+

Extra range up to which the node reinforces blobs into reflectors

node_spore_bonus + + + + +

+

Nodes can sustain this any extra spores with this strain

node_strong_reinforcement_range_bonus + + + + +

+

Extra range up to which the node reinforces blobs

point_rate + + + + +

+

The amount of points gained on core_process

point_rate_bonus + + + + +

+

resource point bonus added by strain

resource_delay + + + + +

+

Stores world.time to figure out when to next give resources

shortdesc + + + + +

+

A short description of the power and its effects

+ + + diff --git a/datum/blood.html b/datum/blood.html new file mode 100644 index 000000000000..87161642c63e --- /dev/null +++ b/datum/blood.html @@ -0,0 +1,35 @@ + + + + + + + /datum/blood - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

blood + + + +

+ + +

Procs

is_compatibleTakes a blood typepath, returns TRUE if it's compatible with this type.

Proc Details

is_compatible +

+

Takes a blood typepath, returns TRUE if it's compatible with this type.

+ + + diff --git a/datum/book_info.html b/datum/book_info.html new file mode 100644 index 000000000000..22c35161590c --- /dev/null +++ b/datum/book_info.html @@ -0,0 +1,64 @@ + + + + + + + /datum/book_info - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

book_info + + + +

+ +

A datum which contains all the metadata of a book

+ + + + +

Vars

authorThe "author" of the book
contentThe info inside the book
titleThe title of the book

Procs

copy_intoModify an existing book_info datum to match your data
return_copyReturns a copy of the book_info datum
+

Var Details

author + + + + +

+

The "author" of the book

content + + + + +

+

The info inside the book

title + + + + +

+

The title of the book

Proc Details

copy_into +

+

Modify an existing book_info datum to match your data

return_copy +

+

Returns a copy of the book_info datum

+ + + diff --git a/datum/brain_trauma/hypnosis.html b/datum/brain_trauma/hypnosis.html new file mode 100644 index 000000000000..82fdc5b2db22 --- /dev/null +++ b/datum/brain_trauma/hypnosis.html @@ -0,0 +1,36 @@ + + + + + + + /datum/brain_trauma/hypnosis - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hypnosis + + + +

+ + +

Vars

antagonistAssociated antag datum, used for displaying objectives and antag hud
+

Var Details

antagonist + + + + +

+

Associated antag datum, used for displaying objectives and antag hud

+ + + diff --git a/datum/brain_trauma/magic/lumiphobia.html b/datum/brain_trauma/magic/lumiphobia.html new file mode 100644 index 000000000000..181f0cdb4a1a --- /dev/null +++ b/datum/brain_trauma/magic/lumiphobia.html @@ -0,0 +1,36 @@ + + + + + + + /datum/brain_trauma/magic/lumiphobia - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lumiphobia + + + +

+ + +

Vars

damage_warning_cooldownCooldown to prevent warning spam
+

Var Details

damage_warning_cooldown + + + + +

+

Cooldown to prevent warning spam

+ + + diff --git a/datum/brain_trauma/mild/phobia.html b/datum/brain_trauma/mild/phobia.html new file mode 100644 index 000000000000..a81ed3f6456d --- /dev/null +++ b/datum/brain_trauma/mild/phobia.html @@ -0,0 +1,43 @@ + + + + + + + /datum/brain_trauma/mild/phobia - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

phobia + + + +

+ + + +

Vars

check_cooldownCooldown for proximity checks so we don't spam a range 7 view every two seconds.
scare_cooldownCooldown for freakouts to prevent permastunning.
+

Var Details

check_cooldown + + + + +

+

Cooldown for proximity checks so we don't spam a range 7 view every two seconds.

scare_cooldown + + + + +

+

Cooldown for freakouts to prevent permastunning.

+ + + diff --git a/datum/brain_trauma/special/bluespace_prophet.html b/datum/brain_trauma/special/bluespace_prophet.html new file mode 100644 index 000000000000..38e7ea3e77d6 --- /dev/null +++ b/datum/brain_trauma/special/bluespace_prophet.html @@ -0,0 +1,36 @@ + + + + + + + /datum/brain_trauma/special/bluespace_prophet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bluespace_prophet + + + +

+ + +

Vars

portal_cooldownCooldown so we can't teleport literally everywhere on a whim
+

Var Details

portal_cooldown + + + + +

+

Cooldown so we can't teleport literally everywhere on a whim

+ + + diff --git a/datum/brain_trauma/special/existential_crisis.html b/datum/brain_trauma/special/existential_crisis.html new file mode 100644 index 000000000000..d2f8d3749555 --- /dev/null +++ b/datum/brain_trauma/special/existential_crisis.html @@ -0,0 +1,36 @@ + + + + + + + /datum/brain_trauma/special/existential_crisis - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

existential_crisis + + + +

+ + +

Vars

crisis_cooldownA cooldown to prevent constantly erratic dolphining through the fabric of reality
+

Var Details

crisis_cooldown + + + + +

+

A cooldown to prevent constantly erratic dolphining through the fabric of reality

+ + + diff --git a/datum/brain_trauma/special/obsessed.html b/datum/brain_trauma/special/obsessed.html new file mode 100644 index 000000000000..9b2b95a11fa2 --- /dev/null +++ b/datum/brain_trauma/special/obsessed.html @@ -0,0 +1,35 @@ + + + + + + + /datum/brain_trauma/special/obsessed - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

obsessed + + + +

+ + +

Procs

on_hugSingal proc for COMSIG_CARBON_HELPED, when our obsessed helps (hugs) our obsession, increases hug count

Proc Details

on_hug +

+

Singal proc for COMSIG_CARBON_HELPED, when our obsessed helps (hugs) our obsession, increases hug count

+ + + diff --git a/datum/brain_trauma/special/quantum_alignment.html b/datum/brain_trauma/special/quantum_alignment.html new file mode 100644 index 000000000000..79bc16506ccc --- /dev/null +++ b/datum/brain_trauma/special/quantum_alignment.html @@ -0,0 +1,36 @@ + + + + + + + /datum/brain_trauma/special/quantum_alignment - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

quantum_alignment + + + +

+ + +

Vars

snapback_cooldownCooldown for snapbacks
+

Var Details

snapback_cooldown + + + + +

+

Cooldown for snapbacks

+ + + diff --git a/datum/cable_click_manager.html b/datum/cable_click_manager.html new file mode 100644 index 000000000000..706a49e3d844 --- /dev/null +++ b/datum/cable_click_manager.html @@ -0,0 +1,57 @@ + + + + + + + /datum/cable_click_manager - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cable_click_manager + + + +

+ + + + + +

Vars

catcherMouse catcher

Procs

disable_catcherTurn off the catcher and clear all state.
enable_catcherTurn on the catcher.
get_nonant_from_pixelsReturns the nonant cell the mouse is in based on the pixel offsets.
+

Var Details

catcher + + + + +

+

Mouse catcher

Proc Details

disable_catcher +

+

Turn off the catcher and clear all state.

enable_catcher +

+

Turn on the catcher.

get_nonant_from_pixels +

+

Returns the nonant cell the mouse is in based on the pixel offsets.

+ + + diff --git a/datum/callback.html b/datum/callback.html new file mode 100644 index 000000000000..409b78e2c24f --- /dev/null +++ b/datum/callback.html @@ -0,0 +1,131 @@ + + + + + + + /datum/callback - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Callback Datums + + + +

+ +

A datum that holds a proc to be called on another object, used to track proccalls to other objects

+USAGE +
var/datum/callback/C = new(object|null, GLOBAL_PROC_REF(type/path|"procstring"), arg1, arg2, ... argn)
+var/timerid = addtimer(C, time, timertype)
+you can also use the compiler define shorthand
+var/timerid = addtimer(CALLBACK(object|null, GLOBAL_PROC_REF(type/path|procstring), arg1, arg2, ... argn), time, timertype)
+
+

Note: proc strings can only be given for datum proc calls, global procs must be proc paths

+

Also proc strings are strongly advised against because they don't compile error if the proc stops existing

+

In some cases you can provide a shortform of the procname, see the proc typepath shortcuts documentation below

+INVOKING THE CALLBACK +

var/result = C.Invoke(args, to, add) additional args are added after the ones given when the callback was created

+

var/result = C.InvokeAsync(args, to, add) Asyncronous - returns . on the first sleep then continues on in the background +after the sleep/block ends, otherwise operates normally.

+PROC TYPEPATH SHORTCUTS +

(these operate on paths, not types, so to these shortcuts, datum is NOT a parent of atom, etc...)

+global proc while in another global proc: +

.procname

+

CALLBACK(GLOBAL_PROC, .some_proc_here)

+proc defined on current(src) object (when in a /proc/ and not an override) OR overridden at src or any of it's parents: +

.procname

+

CALLBACK(src, .some_proc_here)

+when the above doesn't apply: +

.proc/procname

+

CALLBACK(src, PROC_REF(some_proc_here))

+

proc defined on a parent of a some type

+

/some/type/.proc/some_proc_here

+

Otherwise you must always provide the full typepath of the proc (/type/of/thing/proc/procname)

+ + + + + + + +

Vars

argumentsA list of arguments to pass into the proc
delegateThe proc we will be calling on the object
objectThe object we will be calling the proc on
userA weak reference to the user who triggered this callback

Procs

DestroyQdel a callback datum +This is not allowed and will stack trace. callback datums are structs, if they are referenced they exist
InvokeInvoke this callback
InvokeAsyncInvoke this callback async (waitfor=false)
NewCreate a new callback datum
+

Var Details

arguments + + + + +

+

A list of arguments to pass into the proc

delegate + + + + +

+

The proc we will be calling on the object

object + + + + +

+

The object we will be calling the proc on

user + + + + +

+

A weak reference to the user who triggered this callback

Proc Details

Destroy +

+

Qdel a callback datum +This is not allowed and will stack trace. callback datums are structs, if they are referenced they exist

+

Arguments

+

Invoke +

+

Invoke this callback

+

Calls the registered proc on the registered object, if the user ref +can be resolved it also inclues that as an arg

+

If the datum being called on is varedited, the call is wrapped via WrapAdminProcCall

InvokeAsync +

+

Invoke this callback async (waitfor=false)

+

Calls the registered proc on the registered object, if the user ref +can be resolved it also inclues that as an arg

+

If the datum being called on is varedited, the call is wrapped via WrapAdminProcCall

New +

+

Create a new callback datum

+

Arguments

+
+ + + diff --git a/datum/callback/verb_callback.html b/datum/callback/verb_callback.html new file mode 100644 index 000000000000..eafcebb96486 --- /dev/null +++ b/datum/callback/verb_callback.html @@ -0,0 +1,37 @@ + + + + + + + /datum/callback/verb_callback - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

verb_callback + + + +

+ +

like normal callbacks but they also record their creation time for measurement purposes +they also require the same usr/user that made the callback to both still exist and to still have a client in order to execute

+

Vars

creation_timethe tick this callback datum was created in. used for testing latency
+

Var Details

creation_time + + + + +

+

the tick this callback datum was created in. used for testing latency

+ + + diff --git a/datum/camerachunk.html b/datum/camerachunk.html new file mode 100644 index 000000000000..85fd988eb323 --- /dev/null +++ b/datum/camerachunk.html @@ -0,0 +1,126 @@ + + + + + + + /datum/camerachunk - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

camerachunk + + + +

+ + + + + + + + + + + + + + +

Vars

active_static_imagesimages currently in use on obscured turfs.
camerascameras that can see into our grid
inactive_static_imagesimages created to represent obscured turfs
obscuredTurfsturfs our cameras cant see but are inside our grid. associative list of the form: list(obscured turf = static image on that turf)
seenbycamera mobs that can see turfs in our grid
turfslist of all turfs
visibleTurfsturfs our cameras can see inside our grid

Procs

Newnew turfs that we couldnt see last update but can now +turfs that we could see last update but cant see now +Create a new camera chunk, since the chunks are made as they are needed.
addAdd an AI eye to the chunk, then update if changed.
hasChangedUpdates the chunk, makes sure that it doesn't update too much. If the chunk isn't being watched it will +instead be flagged to update the next time an AI Eye moves near it.
removeRemove an AI eye from the chunk
updateThe actual updating. It gathers the visible turfs from cameras and puts them into the appropiate lists.
visibilityChangedCalled when a chunk has changed. I.E: A wall was deleted.
+

Var Details

active_static_images + + + + +

+

images currently in use on obscured turfs.

cameras + + + + +

+

cameras that can see into our grid

inactive_static_images + + + + +

+

images created to represent obscured turfs

obscuredTurfs + + + + +

+

turfs our cameras cant see but are inside our grid. associative list of the form: list(obscured turf = static image on that turf)

seenby + + + + +

+

camera mobs that can see turfs in our grid

turfs + + + + +

+

list of all turfs

visibleTurfs + + + + +

+

turfs our cameras can see inside our grid

Proc Details

New +

+

new turfs that we couldnt see last update but can now +turfs that we could see last update but cant see now +Create a new camera chunk, since the chunks are made as they are needed.

add +

+

Add an AI eye to the chunk, then update if changed.

hasChanged +

+

Updates the chunk, makes sure that it doesn't update too much. If the chunk isn't being watched it will +instead be flagged to update the next time an AI Eye moves near it.

remove +

+

Remove an AI eye from the chunk

update +

+

The actual updating. It gathers the visible turfs from cameras and puts them into the appropiate lists.

visibilityChanged +

+

Called when a chunk has changed. I.E: A wall was deleted.

+ + + diff --git a/datum/cameranet.html b/datum/cameranet.html new file mode 100644 index 000000000000..8a791ff1d5cd --- /dev/null +++ b/datum/cameranet.html @@ -0,0 +1,130 @@ + + + + + + + /datum/cameranet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cameranet + + + +

+ + + + + + + + + + + + + + +

Vars

camerasThe cameras on the map, no matter if they work or not. Updated in obj/machinery/camera.dm by New() and Del().
chunksThe chunks of the map, mapping the areas that the cameras can see.
nameName to show for VV and stat()
obscuredThe image cloned by all chunk static images put onto turfs cameras cant see

Procs

addCameraAdd a camera to a chunk.
bareMajorChunkChangeA faster, turf only version of /datum/cameranet/proc/majorChunkChange +For use in sensitive code, be careful with it
checkCameraVisWill check if a mob is on a viewable turf. Returns 1 if it is, otherwise returns 0.
chunkGeneratedChecks if a chunk has been Generated in x, y, z.
majorChunkChangeNever access this proc directly!!!! +This will update the chunk and all the surrounding chunks. +It will also add the atom to the cameras list if you set the choice to 1. +Setting the choice to 0 will remove the camera from the chunks. +If you want to update the chunks around an object, without adding/removing a camera, use choice 2.
removeCameraRemoves a camera from a chunk.
updatePortableCameraUsed for Cyborg cameras. Since portable cameras can be in ANY chunk.
updateVisibilityUpdates the chunks that the turf is located in. Use this when obstacles are destroyed or when doors open.
visibilityUpdates what the aiEye can see. It is recommended you use this when the aiEye moves or it's location is set.
+

Var Details

cameras + + + + +

+

The cameras on the map, no matter if they work or not. Updated in obj/machinery/camera.dm by New() and Del().

chunks + + + + +

+

The chunks of the map, mapping the areas that the cameras can see.

name + + + + +

+

Name to show for VV and stat()

obscured + + + + +

+

The image cloned by all chunk static images put onto turfs cameras cant see

Proc Details

addCamera +

+

Add a camera to a chunk.

bareMajorChunkChange +

+

A faster, turf only version of /datum/cameranet/proc/majorChunkChange +For use in sensitive code, be careful with it

checkCameraVis +

+

Will check if a mob is on a viewable turf. Returns 1 if it is, otherwise returns 0.

chunkGenerated +

+

Checks if a chunk has been Generated in x, y, z.

majorChunkChange +

+

Never access this proc directly!!!! +This will update the chunk and all the surrounding chunks. +It will also add the atom to the cameras list if you set the choice to 1. +Setting the choice to 0 will remove the camera from the chunks. +If you want to update the chunks around an object, without adding/removing a camera, use choice 2.

removeCamera +

+

Removes a camera from a chunk.

updatePortableCamera +

+

Used for Cyborg cameras. Since portable cameras can be in ANY chunk.

updateVisibility +

+

Updates the chunks that the turf is located in. Use this when obstacles are destroyed or when doors open.

visibility +

+

Updates what the aiEye can see. It is recommended you use this when the aiEye moves or it's location is set.

+ + + diff --git a/datum/can_pass_info.html b/datum/can_pass_info.html new file mode 100644 index 000000000000..58186219d2f1 --- /dev/null +++ b/datum/can_pass_info.html @@ -0,0 +1,173 @@ + + + + + + + /datum/can_pass_info - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

can_pass_info + + + +

+ +

Holds all information about what an atom can move through +Passed into CanAStarPass to provide context for a pathing attempt

+

Also used to check if using a cached path_map is safe +There are some vars here that are unused. They exist to cover cases where caller_ref is used +They're the properties of caller_ref used in those cases. +It's kinda annoying, but there's some proc chains we can't convert to this datum

+ + + + + + + + + + + + + + + + + + +

Vars

accessWhat access we have, airlocks, windoors, etc
anchoredAre we anchored
buckled_infoIf our mob is buckled to something, what's it like
caller_refWeakref to the caller used to generate this info +Should not use this almost ever, it's for context and to allow for proc chains that +Require a movable
camera_typeCameras have a lot of BS can_z_move overrides +Let's avoid this
can_ventcrawlCan we ventcrawl?
grab_infosPass information for the object we are pulling, if any
has_gravityDo we have gravity
incapacitatedIs our mob incapacitated
incorporeal_moveIs our mob incorporeal
is_botAre we a bot?
is_livingAre we a living mob?
is_observerAre we a ghost? (they have effectively unique pathfinding)
mob_sizeWhat is the size of our mob
movement_typeWhat sort of movement do we have. Mirrors /atom/movable/movement_type
no_idIf we have no id, public airlocks are walls
pass_flagsWhat we can pass through. Mirrors /atom/movable/pass_flags
rider_infoIf our mob has a rider, what does it look like
thrownAre we being thrown?
+

Var Details

access + + + + +

+

What access we have, airlocks, windoors, etc

anchored + + + + +

+

Are we anchored

buckled_info + + + + +

+

If our mob is buckled to something, what's it like

caller_ref + + + + +

+

Weakref to the caller used to generate this info +Should not use this almost ever, it's for context and to allow for proc chains that +Require a movable

camera_type + + + + +

+

Cameras have a lot of BS can_z_move overrides +Let's avoid this

can_ventcrawl + + + + +

+

Can we ventcrawl?

grab_infos + + + + +

+

Pass information for the object we are pulling, if any

has_gravity + + + + +

+

Do we have gravity

incapacitated + + + + +

+

Is our mob incapacitated

incorporeal_move + + + + +

+

Is our mob incorporeal

is_bot + + + + +

+

Are we a bot?

is_living + + + + +

+

Are we a living mob?

is_observer + + + + +

+

Are we a ghost? (they have effectively unique pathfinding)

mob_size + + + + +

+

What is the size of our mob

movement_type + + + + +

+

What sort of movement do we have. Mirrors /atom/movable/movement_type

no_id + + + + +

+

If we have no id, public airlocks are walls

pass_flags + + + + +

+

What we can pass through. Mirrors /atom/movable/pass_flags

rider_info + + + + +

+

If our mob has a rider, what does it look like

thrown + + + + +

+

Are we being thrown?

+ + + diff --git a/datum/card.html b/datum/card.html new file mode 100644 index 000000000000..fd1e2fa18591 --- /dev/null +++ b/datum/card.html @@ -0,0 +1,124 @@ + + + + + + + /datum/card - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

card + + + +

+ + + + + + + + + + + + + + +

Vars

cardsubtypeAn extra descriptor for the card. Combined with the cardtype for a larger card descriptor, i.e. Creature- Xenomorph, Spell- Instant, that sort of thing. For creatures, this has no effect, for spells, this is important.
cardtypeUsed to define the behaviour the card uses during the game.
factionSomeone please come up with a ruleset so I can comment this
idUnique ID, for use in lookups and (eventually) for persistence. MAKE SURE THIS IS UNIQUE FOR EACH CARD IN AS SERIES, OR THE ENTIRE SYSTEM WILL BREAK, AND I WILL BE VERY DISAPPOINTED.
powerHow hard this card hits (by default)
rarityThe rarity of this card, determines how much (or little) it shows up in packs. Rarities are common, uncommon, rare, epic, legendary and misprint.
resolveHow hard this card can get hit (by default)
rulesThis handles any extra rules for the card, i.e. extra attributes, special effects, etc. If you've played any other card game, you know how this works.
seriesDefines the series that the card originates from, this is very important for spawning the cards via packs.
summoncostWhat it costs to summon this card to the battlefield.

Procs

applyFor each var that the card datum and the json entry share, we set the datum var to the json entry
applyKeywordsSearches for keywords in the card's variables, marked by wrapping them in {$} +Adds on hovor logic to them, using the passed in list +We use the changed_vars list just to make the var searching faster
applyTemplatesApplies a json file to a card datum
+

Var Details

cardsubtype + + + + +

+

An extra descriptor for the card. Combined with the cardtype for a larger card descriptor, i.e. Creature- Xenomorph, Spell- Instant, that sort of thing. For creatures, this has no effect, for spells, this is important.

cardtype + + + + +

+

Used to define the behaviour the card uses during the game.

faction + + + + +

+

Someone please come up with a ruleset so I can comment this

id + + + + +

+

Unique ID, for use in lookups and (eventually) for persistence. MAKE SURE THIS IS UNIQUE FOR EACH CARD IN AS SERIES, OR THE ENTIRE SYSTEM WILL BREAK, AND I WILL BE VERY DISAPPOINTED.

power + + + + +

+

How hard this card hits (by default)

rarity + + + + +

+

The rarity of this card, determines how much (or little) it shows up in packs. Rarities are common, uncommon, rare, epic, legendary and misprint.

resolve + + + + +

+

How hard this card can get hit (by default)

rules + + + + +

+

This handles any extra rules for the card, i.e. extra attributes, special effects, etc. If you've played any other card game, you know how this works.

series + + + + +

+

Defines the series that the card originates from, this is very important for spawning the cards via packs.

summoncost + + + + +

+

What it costs to summon this card to the battlefield.

Proc Details

apply +

+

For each var that the card datum and the json entry share, we set the datum var to the json entry

applyKeywords +

+

Searches for keywords in the card's variables, marked by wrapping them in {$} +Adds on hovor logic to them, using the passed in list +We use the changed_vars list just to make the var searching faster

applyTemplates +

+

Applies a json file to a card datum

+ + + diff --git a/datum/cartesian_plane.html b/datum/cartesian_plane.html new file mode 100644 index 000000000000..00d3595864f4 --- /dev/null +++ b/datum/cartesian_plane.html @@ -0,0 +1,141 @@ + + + + + + + /datum/cartesian_plane - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cartesian_plane + + + +

+ + + + + + + + + + + + + + + + + +

Vars

offset_xAdded to any accesses to the first array
offset_yAdded to any accesses of a nested array
planeData Storage Hellscape:tm:
x1Lower bound of the X axis
x2Upper bound of the X axis
x_sizeThe logical size of the X axis
y1Lower bound of the Y axis
y2Upper bound of the Y axis
y_sizeThe logical size of the Y axis

Procs

SanitizeCoordinatePass in a logical coordinate and see if it's in the map. This does not take array coordinates!
return_blockReturn the contents of a block given logical coordinates
return_boundsReturns the bounds of the map as a list
return_coordinateGet the content at a given coordinate
return_offsetsReturns the offsets of the map as a list
return_rangeReturns the contents of a block of coordinates in chebyshev range from the given coordinate
set_coordinateSet the content at a given coordinate
+

Var Details

offset_x + + + + +

+

Added to any accesses to the first array

offset_y + + + + +

+

Added to any accesses of a nested array

plane + + + + +

+

Data Storage Hellscape:tm:

x1 + + + + +

+

Lower bound of the X axis

x2 + + + + +

+

Upper bound of the X axis

x_size + + + + +

+

The logical size of the X axis

y1 + + + + +

+

Lower bound of the Y axis

y2 + + + + +

+

Upper bound of the Y axis

y_size + + + + +

+

The logical size of the Y axis

Proc Details

SanitizeCoordinate +

+

Pass in a logical coordinate and see if it's in the map. This does not take array coordinates!

return_block +

+

Return the contents of a block given logical coordinates

return_bounds +

+

Returns the bounds of the map as a list

return_coordinate +

+

Get the content at a given coordinate

return_offsets +

+

Returns the offsets of the map as a list

return_range +

+

Returns the contents of a block of coordinates in chebyshev range from the given coordinate

set_coordinate +

+

Set the content at a given coordinate

+ + + diff --git a/datum/cell_tracker.html b/datum/cell_tracker.html new file mode 100644 index 000000000000..cf7119e15947 --- /dev/null +++ b/datum/cell_tracker.html @@ -0,0 +1,99 @@ + + + + + + + /datum/cell_tracker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cell_tracker + + + +

+ +

Spatial gridmap, cell tracking

+

This datum exists to make the large, repeated "everything in some range" pattern faster +Rather then just refreshing against everything, we track all the cells in range of the passed in "window" +This lets us do entered/left logic, and make ordinarially quite expensive logic much cheaper

+

Note: This system should not be used for things who have strict requirements about what is NOT in their processed entries +It should instead only be used for logic that only really cares about limiting how much gets "entered" in any one call +Because we apply this limitation, we can do things to make our code much less prone to unneeded work

+ + + + + + + +

Vars

inner_window_x_radiusThe height (y radius) of our inner window
inner_window_y_radiusThe width (x radius) of our inner window
outer_window_x_radiusThe height (y radius) of our outer window
outer_window_y_radiusThe width (x radius) of our outer window

Procs

NewAccepts a width and height to use for this tracker +Also accepts the ratio to use between inner and outer window. Optional, defaults to 2
recalculate_cellsPull out all the new and old memebers we want +Recalculates our member list, returns a list in the form list(new members, old members) for reaction +Accepts the turf to use as our "center"
recalculate_type_membersReturns a list of newly and formerly joined spatial grid managed objects of type [type] in the form list(new, old) +Takes the center of our window as input
set_boundsTakes a width and height, and uses them to set the inner window, and interpolate the outer window
+

Var Details

inner_window_x_radius + + + + +

+

The height (y radius) of our inner window

inner_window_y_radius + + + + +

+

The width (x radius) of our inner window

outer_window_x_radius + + + + +

+

The height (y radius) of our outer window

outer_window_y_radius + + + + +

+

The width (x radius) of our outer window

Proc Details

New +

+

Accepts a width and height to use for this tracker +Also accepts the ratio to use between inner and outer window. Optional, defaults to 2

recalculate_cells +

+

Pull out all the new and old memebers we want +Recalculates our member list, returns a list in the form list(new members, old members) for reaction +Accepts the turf to use as our "center"

recalculate_type_members +

+

Returns a list of newly and formerly joined spatial grid managed objects of type [type] in the form list(new, old) +Takes the center of our window as input

set_bounds +

+

Takes a width and height, and uses them to set the inner window, and interpolate the outer window

+ + + diff --git a/datum/cellular_emporium.html b/datum/cellular_emporium.html new file mode 100644 index 000000000000..cf85b4ae56ea --- /dev/null +++ b/datum/cellular_emporium.html @@ -0,0 +1,43 @@ + + + + + + + /datum/cellular_emporium - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cellular_emporium + + + +

+ + + +

Vars

changelingThe changeling who owns this emporium
nameThe name of the emporium - why does it need a name? Dunno
+

Var Details

changeling + + + + +

+

The changeling who owns this emporium

name + + + + +

+

The name of the emporium - why does it need a name? Dunno

+ + + diff --git a/datum/centcom_announcer.html b/datum/centcom_announcer.html new file mode 100644 index 000000000000..deb5fd2810f5 --- /dev/null +++ b/datum/centcom_announcer.html @@ -0,0 +1,64 @@ + + + + + + + /datum/centcom_announcer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

centcom_announcer + + + +

+ +

Data holder for the announcers that can be used in a game, this can be used to have alternative announcements outside of the default e.g.the intern

+ + + + +

Vars

alert_soundsSounds made when announcement is receivedc
command_report_soundsSounds made when command report is received
custom_alert_messageOverride this to have a custom message to show instead of the normal priority announcement
event_soundsEvent audio, can be used for specific event announcements and is assoc key - sound. If no sound is found the default is used.area
welcome_soundsRoundshift start audio
+

Var Details

alert_sounds + + + + +

+

Sounds made when announcement is receivedc

command_report_sounds + + + + +

+

Sounds made when command report is received

custom_alert_message + + + + +

+

Override this to have a custom message to show instead of the normal priority announcement

event_sounds + + + + +

+

Event audio, can be used for specific event announcements and is assoc key - sound. If no sound is found the default is used.area

welcome_sounds + + + + +

+

Roundshift start audio

+ + + diff --git a/datum/centcom_podlauncher.html b/datum/centcom_podlauncher.html new file mode 100644 index 000000000000..5d45d35b49fd --- /dev/null +++ b/datum/centcom_podlauncher.html @@ -0,0 +1,45 @@ + + + + + + + /datum/centcom_podlauncher - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

centcom_podlauncher + + + +

+ + +

Procs

ui_closeUTILITIES +LAUNCH STYLE CHANGES +POD EFFECTS +TIMER DELAYS +ADMIN SOUNDS +STYLE CHANGES

Proc Details

ui_close +

+

UTILITIES +LAUNCH STYLE CHANGES +POD EFFECTS +TIMER DELAYS +ADMIN SOUNDS +STYLE CHANGES

+ + + diff --git a/datum/changeling_profile.html b/datum/changeling_profile.html new file mode 100644 index 000000000000..bf2339e459d1 --- /dev/null +++ b/datum/changeling_profile.html @@ -0,0 +1,155 @@ + + + + + + + /datum/changeling_profile - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

changeling_profile + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

appearance_listAssoc list of item slot to apperance - stores the appearance of every item of this profile.
dnaThe DNA datum associated with our profile from the profile source
exists_listAssoc list of item slot to boolean - stores whether an item in that slot exists
flags_cover_listAssoc list of item slot to flag - stores the flags_cover of every item of this profile.
id_iconID HUD icon associated with the profile
inhand_icon_state_listAssoc list of item slot to file - stores the inhand file of the item in that slot
lefthand_file_listAssoc list of item slot to file - stores the lefthand file of the item in that slot
nameThe name of the profile / the name of whoever this profile source.
name_listAssoc list of item slot to item name - stores the name of every item of this profile.
profile_snapshotIcon snapshot of the profile
protectedWhether this profile is protected - if TRUE, it cannot be removed from a changeling's profiles without force
righthand_file_listAssoc list of item slot to file - stores the righthand file of the item in that slot
skillchipsA list of paths for any skill chips the profile source had installed
socksThe socks worn by the profile source
undershirtThe undershirt worn by the profile source
underwearThe underwear worn by the profile source
worn_icon_listAssoc list of item slot to file - stores the worn icon file of the item in that slot
worn_icon_state_listAssoc list of item slot to string - stores the worn icon state of the item in that slot
+

Var Details

appearance_list + + + + +

+

Assoc list of item slot to apperance - stores the appearance of every item of this profile.

dna + + + + +

+

The DNA datum associated with our profile from the profile source

exists_list + + + + +

+

Assoc list of item slot to boolean - stores whether an item in that slot exists

flags_cover_list + + + + +

+

Assoc list of item slot to flag - stores the flags_cover of every item of this profile.

id_icon + + + + +

+

ID HUD icon associated with the profile

inhand_icon_state_list + + + + +

+

Assoc list of item slot to file - stores the inhand file of the item in that slot

lefthand_file_list + + + + +

+

Assoc list of item slot to file - stores the lefthand file of the item in that slot

name + + + + +

+

The name of the profile / the name of whoever this profile source.

name_list + + + + +

+

Assoc list of item slot to item name - stores the name of every item of this profile.

profile_snapshot + + + + +

+

Icon snapshot of the profile

protected + + + + +

+

Whether this profile is protected - if TRUE, it cannot be removed from a changeling's profiles without force

righthand_file_list + + + + +

+

Assoc list of item slot to file - stores the righthand file of the item in that slot

skillchips + + + + +

+

A list of paths for any skill chips the profile source had installed

socks + + + + +

+

The socks worn by the profile source

undershirt + + + + +

+

The undershirt worn by the profile source

underwear + + + + +

+

The underwear worn by the profile source

worn_icon_list + + + + +

+

Assoc list of item slot to file - stores the worn icon file of the item in that slot

worn_icon_state_list + + + + +

+

Assoc list of item slot to string - stores the worn icon state of the item in that slot

+ + + diff --git a/datum/chatmessage.html b/datum/chatmessage.html new file mode 100644 index 000000000000..9cd3dcfdc410 --- /dev/null +++ b/datum/chatmessage.html @@ -0,0 +1,160 @@ + + + + + + + /datum/chatmessage - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Chat Message Overlay + + + +

+ +

Datum for generating a message overlay on the map

+ + + + + + + + + + + + + + +

Vars

approx_linesContains the approximate amount of lines for height decay
current_z_idxThe current index used for adjusting the layer of each sequential chat message such that recent messages will overlay older ones
eol_completeContains the time that the EOL for the message will be complete, used for qdel scheduling
fadertimerContains ID of assigned timer for end_of_life fading event
isFadingStates if end_of_life is being executed
messageThe visual element of the chat messsage
message_locThe location in which the message is appearing
nextContains the reference to the next chatmessage in the bucket, used by runechat subsystem
owned_byThe client who heard this message
prevContains the reference to the previous chatmessage in the bucket, used by runechat subsystem
scheduled_destructionContains the scheduled destruction time, used for scheduling EOL

Procs

NewConstructs a chat message overlay
end_of_lifeCached icons to show what language the user is speaking +Applies final animations to overlay CHAT_MESSAGE_EOL_FADE deciseconds prior to message deletion, +sets timer for scheduling deletion
generate_imageGenerates a chat message image representation
on_parent_qdelCalls qdel on the chatmessage when its parent is deleted, used to register qdel signal
+

Var Details

approx_lines + + + + +

+

Contains the approximate amount of lines for height decay

current_z_idx + + + + +

+

The current index used for adjusting the layer of each sequential chat message such that recent messages will overlay older ones

eol_complete + + + + +

+

Contains the time that the EOL for the message will be complete, used for qdel scheduling

fadertimer + + + + +

+

Contains ID of assigned timer for end_of_life fading event

isFading + + + + +

+

States if end_of_life is being executed

message + + + + +

+

The visual element of the chat messsage

message_loc + + + + +

+

The location in which the message is appearing

next + + + + +

+

Contains the reference to the next chatmessage in the bucket, used by runechat subsystem

owned_by + + + + +

+

The client who heard this message

prev + + + + +

+

Contains the reference to the previous chatmessage in the bucket, used by runechat subsystem

scheduled_destruction + + + + +

+

Contains the scheduled destruction time, used for scheduling EOL

Proc Details

New +

+

Constructs a chat message overlay

+

Arguments:

+

end_of_life +

+

Cached icons to show what language the user is speaking +Applies final animations to overlay CHAT_MESSAGE_EOL_FADE deciseconds prior to message deletion, +sets timer for scheduling deletion

+

Arguments:

+

generate_image +

+

Generates a chat message image representation

+

Arguments:

+

on_parent_qdel +

+

Calls qdel on the chatmessage when its parent is deleted, used to register qdel signal

+ + + diff --git a/datum/chemical_reaction.html b/datum/chemical_reaction.html new file mode 100644 index 000000000000..cf67deafced0 --- /dev/null +++ b/datum/chemical_reaction.html @@ -0,0 +1,310 @@ + + + + + + + /datum/chemical_reaction - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

chemical_reaction + + + +

+ +

#Chemical Reaction

+

Datum that makes the magic between reagents happen.

+

Chemical reactions is a class that is instantiated and stored in a global list 'chemical_reactions_list'

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

inhibitorsReagents that block the reaction from occuring, like an inverse catalyst.
is_cold_recipeSet to TRUE if you want the recipe to only react when it's BELOW the required temp.
mix_messageThe message shown to nearby people upon mixing, if applicable
mix_soundThe sound played upon mixing, if applicable
mob_reactDetermines if a chemical reaction can occur inside a mob
optimal_tempUpper end for above (i.e. the end of the curve section defined by temp_exponent_factor)
overheat_tempTemperature at which reaction explodes - If any reaction is this hot, it explodes!
rate_up_limOptimal/max rate possible if all conditions are perfect
reaction_flagsAffects how reactions occur
required_catalystsRequired chemicals that must be present in the container but are not USED.
required_containerthe exact container path required for the reaction to happen.
required_otherSome stupid magic bullshit for slime reactions. Literally what the fuck.
required_reagentsRequired chemicals that are USED in the reaction
required_tempFermiChem! - See fermi_readme.md +Required temperature for the reaction to begin, for fermimechanics it defines the lower area of bell curve for determining heat based rate reactions, aka the minimum
resultsResults of the chemical reactions
temp_exponent_factorHow sharp the temperature exponential curve is (to the power of value)
thermic_constantHow much the temperature changes per unit of chem used. without REACTION_HEAT_ARBITARY flag the rate of change depends on the holder heat capacity else results are more accurate

Procs

chemical_mob_spawnMagical mob spawning when chemicals react
clear_productsClears the beaker of the product only
clear_reactantsClears the beaker of the reagents only +if volume is not set, it will remove all of the reactant
clear_reagentsClears the beaker of ALL reagents inside
default_explodeGeneric explosions/failures
explode_fireBEGIN FIRE BASED EXPLOSIONS
freeze_radiusEND FIRE BASED EXPLOSIONS
on_reactionREACTION PROCS +Shit that happens on reaction +Only procs at the START of a reaction +use reaction_step() for each step of a reaction +or reaction_end() when the reaction stops +If reaction_flags & REACTION_INSTANT then this is the only proc that is called.
overheatedOccurs when a reation is overheated (i.e. past it's overheatTemp) +Will be called every tick in the reaction that it is overheated +If you want this to be a once only proc (i.e. the reaction is stopped after) set reaction.toDelete = TRUE +The above is useful if you're writing an explosion +By default the parent proc will reduce the final yield slightly. If you don't want that don't add ..()
reaction_finishStuff that occurs at the end of a reaction. This will proc if the beaker is forced to stop and start again (say for sudden temperature changes). +Only procs at the END of reaction +If reaction_flags & REACTION_INSTANT then this isn't called
reaction_stepStuff that occurs in the middle of a reaction +Only procs DURING a reaction +If reaction_flags & REACTION_INSTANT then this isn't called +returning END_REACTION will END the reaction
update_infoUpdates information during the roundstart
+

Var Details

inhibitors + + + + +

+

Reagents that block the reaction from occuring, like an inverse catalyst.

is_cold_recipe + + + + +

+

Set to TRUE if you want the recipe to only react when it's BELOW the required temp.

mix_message + + + + +

+

The message shown to nearby people upon mixing, if applicable

mix_sound + + + + +

+

The sound played upon mixing, if applicable

mob_react + + + + +

+

Determines if a chemical reaction can occur inside a mob

optimal_temp + + + + +

+

Upper end for above (i.e. the end of the curve section defined by temp_exponent_factor)

overheat_temp + + + + +

+

Temperature at which reaction explodes - If any reaction is this hot, it explodes!

rate_up_lim + + + + +

+

Optimal/max rate possible if all conditions are perfect

reaction_flags + + + + +

+

Affects how reactions occur

required_catalysts + + + + +

+

Required chemicals that must be present in the container but are not USED.

required_container + + + + +

+

the exact container path required for the reaction to happen.

required_other + + + + +

+

Some stupid magic bullshit for slime reactions. Literally what the fuck.

required_reagents + + + + +

+

Required chemicals that are USED in the reaction

required_temp + + + + +

+

FermiChem! - See fermi_readme.md +Required temperature for the reaction to begin, for fermimechanics it defines the lower area of bell curve for determining heat based rate reactions, aka the minimum

results + + + + +

+

Results of the chemical reactions

temp_exponent_factor + + + + +

+

How sharp the temperature exponential curve is (to the power of value)

thermic_constant + + + + +

+

How much the temperature changes per unit of chem used. without REACTION_HEAT_ARBITARY flag the rate of change depends on the holder heat capacity else results are more accurate

Proc Details

chemical_mob_spawn +

+

Magical mob spawning when chemicals react

+

Your go to proc when you want to create new mobs from chemicals. please dont use on_reaction. +Arguments:

+

clear_products +

+

Clears the beaker of the product only

clear_reactants +

+

Clears the beaker of the reagents only +if volume is not set, it will remove all of the reactant

clear_reagents +

+

Clears the beaker of ALL reagents inside

default_explode +

+

Generic explosions/failures

explode_fire +

+

BEGIN FIRE BASED EXPLOSIONS

freeze_radius +

+

END FIRE BASED EXPLOSIONS

on_reaction +

+

REACTION PROCS +Shit that happens on reaction +Only procs at the START of a reaction +use reaction_step() for each step of a reaction +or reaction_end() when the reaction stops +If reaction_flags & REACTION_INSTANT then this is the only proc that is called.

+

Proc where the additional magic happens. +You dont want to handle mob spawning in this since there is a dedicated proc for that.client +Arguments:

+

overheated +

+

Occurs when a reation is overheated (i.e. past it's overheatTemp) +Will be called every tick in the reaction that it is overheated +If you want this to be a once only proc (i.e. the reaction is stopped after) set reaction.toDelete = TRUE +The above is useful if you're writing an explosion +By default the parent proc will reduce the final yield slightly. If you don't want that don't add ..()

+

Arguments:

+

reaction_finish +

+

Stuff that occurs at the end of a reaction. This will proc if the beaker is forced to stop and start again (say for sudden temperature changes). +Only procs at the END of reaction +If reaction_flags & REACTION_INSTANT then this isn't called

+

Proc where the additional magic happens. +You dont want to handle mob spawning in this since there is a dedicated proc for that.client +Arguments:

+

reaction_step +

+

Stuff that occurs in the middle of a reaction +Only procs DURING a reaction +If reaction_flags & REACTION_INSTANT then this isn't called +returning END_REACTION will END the reaction

+

Arguments:

+ +

Outputs:

+

update_info +

+

Updates information during the roundstart

+

This proc is mainly used by explosives but can be used anywhere else +You should generally use the special reactions in /datum/chemical_reaction/randomized +But for simple variable edits, like changing the temperature or adding/subtracting required reagents it is better to use this.

+ + + diff --git a/datum/chemical_reaction/randomized.html b/datum/chemical_reaction/randomized.html new file mode 100644 index 000000000000..ad277262ad1c --- /dev/null +++ b/datum/chemical_reaction/randomized.html @@ -0,0 +1,78 @@ + + + + + + + /datum/chemical_reaction/randomized - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

randomized + + + +

+ + + + + + + + +

Vars

exo_or_endothermicIf the reaction can be exothermic or endothermic randomly too
inoptimal_range_phHow much the range can deviate, and also affects impure range
max_phHighest pH value possible
min_phLowest pH value possible
randomize_impurity_minimumIf the impurity failure threshold is randomized between 0 - 0.4
randomize_impurity_reagentsIf the impure/inverse/failure reagents are randomized
randomize_req_phIf pH is randomised
+

Var Details

exo_or_endothermic + + + + +

+

If the reaction can be exothermic or endothermic randomly too

inoptimal_range_ph + + + + +

+

How much the range can deviate, and also affects impure range

max_ph + + + + +

+

Highest pH value possible

min_ph + + + + +

+

Lowest pH value possible

randomize_impurity_minimum + + + + +

+

If the impurity failure threshold is randomized between 0 - 0.4

randomize_impurity_reagents + + + + +

+

If the impure/inverse/failure reagents are randomized

randomize_req_ph + + + + +

+

If pH is randomised

+ + + diff --git a/datum/circuit_composite_template.html b/datum/circuit_composite_template.html new file mode 100644 index 000000000000..608d0ab6e32e --- /dev/null +++ b/datum/circuit_composite_template.html @@ -0,0 +1,91 @@ + + + + + + + /datum/circuit_composite_template - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

circuit_composite_template + + + +

+ +

A template used to make composite datatypes for circuits. +Used so that we don't have to generate every single possible combination of types

+ + + + + + +

Vars

composite_datatype_pathThe path to the composite type
datatypeThe datatype this composite template is of.
expected_typesThe amount of composite datatypes needed to generate a datatype from this template
types_to_generateTypes to generate during initialization

Procs

InitializeUsed to generate composite types from anything that was generated +before global variables were all initialized. +Used for when composite datatypes are used in globally defined lists, before GLOB.circuit_datatypes is available.
generate_composite_typeGenerates a composite type using this template. Not recommended to use directly, use a define instead.
generate_nameGenerates a name for the datatype using the unique list of composite datatypes. +This should always generate a constant value for the input given as it is used as +the unique identifier
+

Var Details

composite_datatype_path + + + + +

+

The path to the composite type

datatype + + + + +

+

The datatype this composite template is of.

expected_types + + + + +

+

The amount of composite datatypes needed to generate a datatype from this template

types_to_generate + + + + +

+

Types to generate during initialization

Proc Details

Initialize +

+

Used to generate composite types from anything that was generated +before global variables were all initialized. +Used for when composite datatypes are used in globally defined lists, before GLOB.circuit_datatypes is available.

generate_composite_type +

+

Generates a composite type using this template. Not recommended to use directly, use a define instead.

+

Arguments:

+

generate_name +

+

Generates a name for the datatype using the unique list of composite datatypes. +This should always generate a constant value for the input given as it is used as +the unique identifier

+ + + diff --git a/datum/circuit_datatype.html b/datum/circuit_datatype.html new file mode 100644 index 000000000000..220670f9dd15 --- /dev/null +++ b/datum/circuit_datatype.html @@ -0,0 +1,175 @@ + + + + + + + /datum/circuit_datatype - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

circuit_datatype + + + +

+ +

A circuit datatype. Used to determine the datatype of a port and also handle any additional behaviour.

+ + + + + + + + + + + + + + + +

Vars

abstractWhether this datatype should be loaded into the global circuit_datatypes list.
can_receive_fromThe datatypes that this datatype can receive from.
colorThe color of the port in the UI. Doesn't work with hex colours.
datatypeThe key. Used to identify the datatype. Should be a define.
datatype_flagsThe flags of the circuit datatype
is_extensiveWhether we should extensively convert this datatype, important for composite lists who may not have datatypes that need implicit conversions

Procs

can_receive_from_datatypeDetermines if a datatype is compatible with another port of a different type. +Note: This is ALWAYS called on the input port, never on the output port. +Inputs need to care about what types they're receiving, output ports don't have to care.
convert_valueReturns the value to be set for the port
convert_value_extensiveSimilar to convert value, however it doesn't get called by a port when a value is set. Useful for extensive conversions that may only need to be done for player inputs (e.g. lists)
datatype_ui_dataThe data to send to the UI attached to the port. Received by the type in FUNDAMENTAL_PORT_TYPES
get_datatypeUsed by composite datatypes. Returns a single datatype from the list if it exists by index.
get_datatypesUsed by composite datatypes. Returns all the datatypes that build this datatype up.
handle_manual_inputWhen an input is manually set by a player. This is where extra sanitizing can happen. Will still call convert_value()
is_compatibleDetermines if a port is compatible with this datatype. +This WILL throw a runtime if it returns false. This is for sanity checking and it should not return false +unless under extraordinary circumstances or people fail to write proper code.
on_gainCalled when the datatype is given to a port.
on_lossCalled when the datatype is removed from a port.
+

Var Details

abstract + + + + +

+

Whether this datatype should be loaded into the global circuit_datatypes list.

can_receive_from + + + + +

+

The datatypes that this datatype can receive from.

color + + + + +

+

The color of the port in the UI. Doesn't work with hex colours.

datatype + + + + +

+

The key. Used to identify the datatype. Should be a define.

datatype_flags + + + + +

+

The flags of the circuit datatype

is_extensive + + + + +

+

Whether we should extensively convert this datatype, important for composite lists who may not have datatypes that need implicit conversions

Proc Details

can_receive_from_datatype +

+

Determines if a datatype is compatible with another port of a different type. +Note: This is ALWAYS called on the input port, never on the output port. +Inputs need to care about what types they're receiving, output ports don't have to care.

+

Arguments:

+

convert_value +

+

Returns the value to be set for the port

+

Used for implicit conversions between outputs and inputs (e.g. number -> string) +and applying/removing signals on inputs

convert_value_extensive +

+

Similar to convert value, however it doesn't get called by a port when a value is set. Useful for extensive conversions that may only need to be done for player inputs (e.g. lists)

datatype_ui_data +

+

The data to send to the UI attached to the port. Received by the type in FUNDAMENTAL_PORT_TYPES

+

Arguments:

+

get_datatype +

+

Used by composite datatypes. Returns a single datatype from the list if it exists by index.

get_datatypes +

+

Used by composite datatypes. Returns all the datatypes that build this datatype up.

handle_manual_input +

+

When an input is manually set by a player. This is where extra sanitizing can happen. Will still call convert_value()

+

Arguments:

+

is_compatible +

+

Determines if a port is compatible with this datatype. +This WILL throw a runtime if it returns false. This is for sanity checking and it should not return false +unless under extraordinary circumstances or people fail to write proper code.

+

Arguments:

+

on_gain +

+

Called when the datatype is given to a port.

+

Arguments:

+

on_loss +

+

Called when the datatype is removed from a port.

+

Arguments:

+
+ + + diff --git a/datum/circuit_datatype/composite_instance.html b/datum/circuit_datatype/composite_instance.html new file mode 100644 index 000000000000..8ca6c6fe91bd --- /dev/null +++ b/datum/circuit_datatype/composite_instance.html @@ -0,0 +1,50 @@ + + + + + + + /datum/circuit_datatype/composite_instance - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

composite_instance + + + +

+ +

A composite instance generated by a template

+ + +

Vars

base_datatypeThe base datatype, used for comparisons
composite_datatypesThe composite datatypes that make this datatype up
composite_datatypes_styleA list composed of the composite datatypes sent to the UI.
+

Var Details

base_datatype + + + + +

+

The base datatype, used for comparisons

composite_datatypes + + + + +

+

The composite datatypes that make this datatype up

composite_datatypes_style + + + + +

+

A list composed of the composite datatypes sent to the UI.

+ + + diff --git a/datum/circuit_variable.html b/datum/circuit_variable.html new file mode 100644 index 000000000000..7f24ca56695e --- /dev/null +++ b/datum/circuit_variable.html @@ -0,0 +1,93 @@ + + + + + + + /datum/circuit_variable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

circuit_variable + + + +

+ +

A circuit variable that holds the name, the datatype and the colour of the variable (taken from the datatype).

+

Used in integrated circuits for setter and getter circuit components.

+ + + + + + + + +

Vars

colorThe colour that appears in the UI. The value is set to the datatype's matching colour
datatypeThe datatype of the circuit variable. Used by the setter and getter circuit components
datatype_handlerThe datatype handler for the circuit variable.
listenersThe components that are currently listening. Triggers them when the value is updated.
nameThe display name of the circuit variable
valueThe current value held by the variable.

Procs

add_listenerAdds a listener to receive inputs when the variable has a value that is set.
remove_listenerRemoves a listener to receive inputs when the variable has a value that is set. Listener will usually clean themselves up
set_valueSets the value of the circuit component and triggers the appropriate listeners
+

Var Details

color + + + + +

+

The colour that appears in the UI. The value is set to the datatype's matching colour

datatype + + + + +

+

The datatype of the circuit variable. Used by the setter and getter circuit components

datatype_handler + + + + +

+

The datatype handler for the circuit variable.

listeners + + + + +

+

The components that are currently listening. Triggers them when the value is updated.

name + + + + +

+

The display name of the circuit variable

value + + + + +

+

The current value held by the variable.

Proc Details

add_listener +

+

Adds a listener to receive inputs when the variable has a value that is set.

remove_listener +

+

Removes a listener to receive inputs when the variable has a value that is set. Listener will usually clean themselves up

set_value +

+

Sets the value of the circuit component and triggers the appropriate listeners

+ + + diff --git a/datum/client_colour.html b/datum/client_colour.html new file mode 100644 index 000000000000..9d6dec22d096 --- /dev/null +++ b/datum/client_colour.html @@ -0,0 +1,87 @@ + + + + + + + /datum/client_colour - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

client_colour + + + +

+ +

Client Colour Priority System By RemieRichards (then refactored by another contributor) +A System that gives finer control over which client.colour value to display on screen +so that the "highest priority" one is always displayed as opposed to the default of +"whichever was set last is displayed".

+

Refactored to allow multiple overlapping client colours +(e.g. wearing blue glasses under a yellow visor, even though the result is a little unsatured.) +As well as some support for animated colour transitions.

+

Define subtypes of this datum

+ + + + + + +

Vars

colourAny client.color-valid value
fade_inIF non-zero, 'animate_client_colour(fade_in)' will be called instead of 'update_client_colour' when added.
fade_outSame as above, but on removal.
overrideWill this client_colour prevent ones of lower priority from being applied?
ownerThe mob that owns this client_colour.
priorityWe prioritize colours with higher priority (lower numbers), so they don't get overriden by less important ones: +eg: "Bloody screen" > "goggles colour" as the former is much more important

Procs

update_colourSets a new colour, then updates the owner's screen colour.
+

Var Details

colour + + + + +

+

Any client.color-valid value

fade_in + + + + +

+

IF non-zero, 'animate_client_colour(fade_in)' will be called instead of 'update_client_colour' when added.

fade_out + + + + +

+

Same as above, but on removal.

override + + + + +

+

Will this client_colour prevent ones of lower priority from being applied?

owner + + + + +

+

The mob that owns this client_colour.

priority + + + + +

+

We prioritize colours with higher priority (lower numbers), so they don't get overriden by less important ones: +eg: "Bloody screen" > "goggles colour" as the former is much more important

Proc Details

update_colour +

+

Sets a new colour, then updates the owner's screen colour.

+ + + diff --git a/datum/client_interface.html b/datum/client_interface.html new file mode 100644 index 000000000000..84d3487b85f2 --- /dev/null +++ b/datum/client_interface.html @@ -0,0 +1,43 @@ + + + + + + + /datum/client_interface - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

client_interface + + + +

+ +

This should match the interface of /client wherever necessary.

+ +

Vars

prefsPlayer preferences datum for the client
viewThe view of the client, similar to /client/var/view.
+

Var Details

prefs + + + + +

+

Player preferences datum for the client

view + + + + +

+

The view of the client, similar to /client/var/view.

+ + + diff --git a/datum/codex_entry.html b/datum/codex_entry.html new file mode 100644 index 000000000000..26d06cba9bfd --- /dev/null +++ b/datum/codex_entry.html @@ -0,0 +1,71 @@ + + + + + + + /datum/codex_entry - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

codex_entry + + + +

+ + + + + + + +

Vars

antag_textText for antagonists to utilize.
controls_textText representing in-game controls.
disambiguatorA string appended to the name to disambiguate it's search.
lore_textIC information about the entry
mechanics_textOOC information about the entry.

Procs

DestroyWe always point to our own entry. Duh.
+

Var Details

antag_text + + + + +

+

Text for antagonists to utilize.

controls_text + + + + +

+

Text representing in-game controls.

disambiguator + + + + +

+

A string appended to the name to disambiguate it's search.

lore_text + + + + +

+

IC information about the entry

mechanics_text + + + + +

+

OOC information about the entry.

Proc Details

Destroy +

+

We always point to our own entry. Duh.

+ + + diff --git a/datum/colorblind_tester.html b/datum/colorblind_tester.html new file mode 100644 index 000000000000..16e603a9059a --- /dev/null +++ b/datum/colorblind_tester.html @@ -0,0 +1,46 @@ + + + + + + + /datum/colorblind_tester - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

colorblind_tester + + + +

+ +

Used to test the game for issues with different types of color blindness +WARNING ASSHOLE: Because we can only apply matrixes, and can't preform gamma correction +https://web.archive.org/web/20220227030606/https://ixora.io/projects/colorblindness/color-blindness-simulation-research/ +The results of this tool aren't perfect. It's way better then nothing, but IT IS NOT A PROPER SIMULATION +Please do not make us look like assholes by assuming it is. Thanks.

+

Vars

color_matrixesList of simulated blindness -> matrix to use +Most of these matrixes are based off https://web.archive.org/web/20220227030606/https://ixora.io/projects/colorblindness/color-blindness-simulation-research/ +AGAIN, THESE ARE NOT PERFECT BECAUSE WE CANNOT COMPUTE GAMMA CORRECTION, AND CONVERT SRGB TO LINEAR RGB +Do not assume this is absolute
+

Var Details

color_matrixes + + + + +

+

List of simulated blindness -> matrix to use +Most of these matrixes are based off https://web.archive.org/web/20220227030606/https://ixora.io/projects/colorblindness/color-blindness-simulation-research/ +AGAIN, THESE ARE NOT PERFECT BECAUSE WE CANNOT COMPUTE GAMMA CORRECTION, AND CONVERT SRGB TO LINEAR RGB +Do not assume this is absolute

+ + + diff --git a/datum/command_report_menu.html b/datum/command_report_menu.html new file mode 100644 index 000000000000..67b6fbebf6b2 --- /dev/null +++ b/datum/command_report_menu.html @@ -0,0 +1,78 @@ + + + + + + + /datum/command_report_menu - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

command_report_menu + + + +

+ +

Datum for holding the TGUI window for command reports.

+ + + + + + +

Vars

announce_contentsWhether the report's contents are announced.
command_nameThe name of central command that will accompany our report
command_report_contentThe actual contents of the report we're going to send.
custom_nameWhether we are using a custom name instead of a preset.
played_soundThe sound that's going to accompany our message.
preset_namesA static list of preset names that can be chosen.
ui_userThe mob using the UI.
+

Var Details

announce_contents + + + + +

+

Whether the report's contents are announced.

command_name + + + + +

+

The name of central command that will accompany our report

command_report_content + + + + +

+

The actual contents of the report we're going to send.

custom_name + + + + +

+

Whether we are using a custom name instead of a preset.

played_sound + + + + +

+

The sound that's going to accompany our message.

preset_names + + + + +

+

A static list of preset names that can be chosen.

ui_user + + + + +

+

The mob using the UI.

+ + + diff --git a/datum/component.html b/datum/component.html new file mode 100644 index 000000000000..5d21af161709 --- /dev/null +++ b/datum/component.html @@ -0,0 +1,190 @@ + + + + + + + /datum/component - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Component + + + +

+ +

The component datum

+

A component should be a single standalone unit +of functionality, that works by receiving signals from it's parent +object to provide some single functionality (i.e a slippery component) +that makes the object it's attached to cause people to slip over. +Useful when you want shared behaviour independent of type inheritance

+ + + + + + + + + + + + + + + + + +

Vars

can_transferOnly set to true if you are able to properly transfer this component
dupe_modeDefines how duplicate existing components are handled when added to a datum
dupe_typeThe type to check for duplication
parentThe datum this components belongs to

Procs

CheckDupeComponentCalled on a component when a component of the same type was added to the same parent with COMPONENT_DUPE_SELECTIVE
ClearFromParentRemoves the component from parent, ends up with a null parent +Used as a helper proc by the component transfer proc, does not clean up the component like Destroy does
DestroyProperly removes the component from parent and cleans up references
InheritComponentCalled on a component when a component of the same type was added to the same parent
InitializeCalled during component creation with the same arguments as in new excluding parent.
NewCreate a new component.
PostTransferCallback Just after a component is transferred
PreTransferCallback Just before this component is transferred
RegisterWithParentRegister the component with the parent object
UnregisterFromParentUnregister from our parent object
_GetInverseTypeListInternal proc to create a list of our type and all parent types
_JoinParentInternal proc to handle behaviour of components when joining a parent
_RemoveFromParentInternal proc to handle behaviour when being removed from a parent
ui_hostReturn the object that is the host of any UI's that this component has
+

Var Details

can_transfer + + + + +

+

Only set to true if you are able to properly transfer this component

+

At a minimum RegisterWithParent and UnregisterFromParent should be used

+

Make sure you also implement PostTransfer for any post transfer handling

dupe_mode + + + + +

+

Defines how duplicate existing components are handled when added to a datum

+

See COMPONENT_DUPE_* definitions for available options

dupe_type + + + + +

+

The type to check for duplication

+

null means exact match on type (default)

+

Any other type means that and all subtypes

parent + + + + +

+

The datum this components belongs to

Proc Details

CheckDupeComponent +

+

Called on a component when a component of the same type was added to the same parent with COMPONENT_DUPE_SELECTIVE

+

See /datum/component/var/dupe_mode

+

C's type will always be the same of the called component

+

return TRUE if you are absorbing the component, otherwise FALSE if you are fine having it exist as a duplicate component

ClearFromParent +

+

Removes the component from parent, ends up with a null parent +Used as a helper proc by the component transfer proc, does not clean up the component like Destroy does

Destroy +

+

Properly removes the component from parent and cleans up references

+

Arguments:

+

InheritComponent +

+

Called on a component when a component of the same type was added to the same parent

+

See /datum/component/var/dupe_mode

+

C's type will always be the same of the called component

Initialize +

+

Called during component creation with the same arguments as in new excluding parent.

+

Do not call qdel(src) from this function, return COMPONENT_INCOMPATIBLE instead

New +

+

Create a new component.

+

Additional arguments are passed to Initialize()

+

Arguments:

+

PostTransfer +

+

Callback Just after a component is transferred

+

Use this to do any special setup you need to do after being moved to a new object

+

Do not call qdel(src) from this function, return COMPONENT_INCOMPATIBLE instead

PreTransfer +

+

Callback Just before this component is transferred

+

Use this to do any special cleanup you might need to do before being deregged from an object

RegisterWithParent +

+

Register the component with the parent object

+

Use this proc to register with your parent object

+

Overridable proc that's called when added to a new parent

UnregisterFromParent +

+

Unregister from our parent object

+

Use this proc to unregister from your parent object

+

Overridable proc that's called when removed from a parent

_GetInverseTypeList +

+

Internal proc to create a list of our type and all parent types

_JoinParent +

+

Internal proc to handle behaviour of components when joining a parent

_RemoveFromParent +

+

Internal proc to handle behaviour when being removed from a parent

ui_host +

+

Return the object that is the host of any UI's that this component has

+ + + diff --git a/datum/component/acid.html b/datum/component/acid.html new file mode 100644 index 000000000000..ddf7fb5ba4e9 --- /dev/null +++ b/datum/component/acid.html @@ -0,0 +1,168 @@ + + + + + + + /datum/component/acid - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

acid + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

acid_powerThe strength of the acid on the parent /atom.
acid_volumeThe volume of acid on the parent /atom.
max_volumeThe maximum volume of acid on the parent /atom.
parent_integrityUsed exclusively for melting turfs. TODO: Move integrity to the atom level so that this can be dealt with there.
process_effectThe proc used to handle the parent /atom when processing. TODO: Unify damage and resistance flags so that this doesn't need to exist!
stageHow far the acid melting of turfs has progressed

Procs

InheritComponentAverages corrosive power and sums volume.
on_attack_handHandles searing the hand of anyone who tries to touch this without protection.
on_cleanMakes it possible to clean acid off of objects.
on_enteredHandles searing the feet of whoever walks over this without protection. Only active if the parent is a turf.
on_examineAlerts any examiners to the acid on the parent atom.
on_expose_reagentHandles water diluting the acid on the object.
on_update_overlaysUsed to maintain the acid overlay on the parent /atom.
processHandles the slow corrosion of the parent /atom.
process_mobHandles processing on a /mob/living.
process_objHandles processing on a /obj.
process_turfHandles processing on a /turf.
set_volumeSets the acid volume to a new value. Limits the acid volume by the amount allowed to exist on the parent atom.
+

Var Details

acid_power + + + + +

+

The strength of the acid on the parent /atom.

acid_volume + + + + +

+

The volume of acid on the parent /atom.

max_volume + + + + +

+

The maximum volume of acid on the parent /atom.

parent_integrity + + + + +

+

Used exclusively for melting turfs. TODO: Move integrity to the atom level so that this can be dealt with there.

process_effect + + + + +

+

The proc used to handle the parent /atom when processing. TODO: Unify damage and resistance flags so that this doesn't need to exist!

stage + + + + +

+

How far the acid melting of turfs has progressed

Proc Details

InheritComponent +

+

Averages corrosive power and sums volume.

on_attack_hand +

+

Handles searing the hand of anyone who tries to touch this without protection.

on_clean +

+

Makes it possible to clean acid off of objects.

on_entered +

+

Handles searing the feet of whoever walks over this without protection. Only active if the parent is a turf.

on_examine +

+

Alerts any examiners to the acid on the parent atom.

on_expose_reagent +

+

Handles water diluting the acid on the object.

on_update_overlays +

+

Used to maintain the acid overlay on the parent /atom.

process +

+

Handles the slow corrosion of the parent /atom.

process_mob +

+

Handles processing on a /mob/living.

process_obj +

+

Handles processing on a /obj.

process_turf +

+

Handles processing on a /turf.

set_volume +

+

Sets the acid volume to a new value. Limits the acid volume by the amount allowed to exist on the parent atom.

+ + + diff --git a/datum/component/action_item_overlay.html b/datum/component/action_item_overlay.html new file mode 100644 index 000000000000..27c19e9add91 --- /dev/null +++ b/datum/component/action_item_overlay.html @@ -0,0 +1,58 @@ + + + + + + + /datum/component/action_item_overlay - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

action_item_overlay + + + +

+ +

Apply to an action to allow it to take an item +and apply it as an overlay of the action button

+ + + +

Vars

item_appearanceThe appearance of the item we've applied
item_callbackCallback that dictates what item the component uses to apply as an overlay.
item_refWeakref to what item the component uses to apply as an overlay.

Procs

on_overlays_appliedSignal proc for COMSIG_ACTION_OVERLAY_APPLY, applies the item appearance if possible.
+

Var Details

item_appearance + + + + +

+

The appearance of the item we've applied

item_callback + + + + +

+

Callback that dictates what item the component uses to apply as an overlay.

item_ref + + + + +

+

Weakref to what item the component uses to apply as an overlay.

Proc Details

on_overlays_applied +

+

Signal proc for COMSIG_ACTION_OVERLAY_APPLY, applies the item appearance if possible.

+ + + diff --git a/datum/component/admin_popup.html b/datum/component/admin_popup.html new file mode 100644 index 000000000000..bf8600a16212 --- /dev/null +++ b/datum/component/admin_popup.html @@ -0,0 +1,39 @@ + + + + + + + /datum/component/admin_popup - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

admin_popup + + + +

+ +

Applied to clients when they receive an admin popup, alerting them to +their ticket.

+

Vars

ticketThe user's most active ticket. If this is resolved, closed, or replied to, +then the component will delete itself.
+

Var Details

ticket + + + + +

+

The user's most active ticket. If this is resolved, closed, or replied to, +then the component will delete itself.

+ + + diff --git a/datum/component/anti_magic.html b/datum/component/anti_magic.html new file mode 100644 index 000000000000..d1003c26f6e7 --- /dev/null +++ b/datum/component/anti_magic.html @@ -0,0 +1,101 @@ + + + + + + + /datum/component/anti_magic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

anti_magic + + + +

+ +

This provides different types of magic resistance on an object

+ + + + + + + +

Vars

antimagic_flagsA bitflag with the types of magic resistance on the object
casting_restriction_alertIf we have already sent a notification message to the mob picking up an antimagic item
chargesThe amount of times the object can protect the user from magic
drain_antimagicThe proc that is triggered when an object has been drained a antimagic charge
expirationThe proc that is triggered when the object is depleted of charges
inventory_flagsThe inventory slot the object must be located at in order to activate

Procs

InitializeAdds magic resistances to an object
restrict_casting_magiccannot cast magic with the same type of antimagic present
+

Var Details

antimagic_flags + + + + +

+

A bitflag with the types of magic resistance on the object

casting_restriction_alert + + + + +

+

If we have already sent a notification message to the mob picking up an antimagic item

charges + + + + +

+

The amount of times the object can protect the user from magic

drain_antimagic + + + + +

+

The proc that is triggered when an object has been drained a antimagic charge

expiration + + + + +

+

The proc that is triggered when the object is depleted of charges

inventory_flags + + + + +

+

The inventory slot the object must be located at in order to activate

Proc Details

Initialize +

+

Adds magic resistances to an object

+

Magic resistance will prevent magic from affecting the user if it has the correct resistance +against the type of magic being used

+

args:

+ +

antimagic bitflags: (see code/__DEFINES/magic.dm)

+

restrict_casting_magic +

+

cannot cast magic with the same type of antimagic present

+ + + diff --git a/datum/component/aquarium_content.html b/datum/component/aquarium_content.html new file mode 100644 index 000000000000..88b10e1b7d1f --- /dev/null +++ b/datum/component/aquarium_content.html @@ -0,0 +1,191 @@ + + + + + + + /datum/component/aquarium_content - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

aquarium_content + + + +

+ +

Allows movables to be inserted/displayed in aquariums.

+ + + + + + + + + + + + + + + + + + + + + +

Vars

animation_getterProc used to retrieve current animation state from the parent, optional
animation_update_signalsSignals of the parent that will trigger animation update
aquarium_vc_colorApplied to vc object only for use with greyscaled icons.
base_pxBase px offset of the visual object in current aquarium aka current base position
base_pyBase px offset of the visual object in current aquarium aka current base position
base_transformTransformation applied to the visual holder - used when scaled down sprites are used as in aquarium visual
current_animationCurrently playing animation
current_aquariumKeeps track of our current aquarium.
iconFish sprite how to: +Need to be centered on 16,16 in the dmi and facing left by default. +sprite_height/sprite_width is the size it will have in aquarium and used to control animation boundaries. +source_height/source_width is the size of the original icon (ideally only the non-empty parts) +Icon used for in aquarium sprite
icon_stateIf this is set this icon state will be used for the holder while icon_state will only be used for item/catalog. Transformation from source_width/height WON'T be applied.
layer_modeHow the thing will be layered
processingDoes this behviour need additional processing in aquarium, will be added to SSobj processing on insertion
randomize_positionIf the starting position is randomised within bounds when inserted into aquarium.
uniqueTODO: Change this into trait checked on aquarium insertion

Procs

InitializeFromFishSets visuals properties for fish
InitializeFromPropSets visuals properties for fish
InitializeOtherMostly for admin abuse
apply_appearanceApplies icon,color and base scaling to our visual holder
generate_animationActually animates the vc holder
generate_base_vcGenerates common visual object, propeties that don't depend on aquarium surface
on_surface_changedAquarium surface changed in some way, we need to recalculate base position and aninmation
swim_animationCreate looping random path animation, pixel offsets parameters include offsets already
+

Var Details

animation_getter + + + + +

+

Proc used to retrieve current animation state from the parent, optional

animation_update_signals + + + + +

+

Signals of the parent that will trigger animation update

aquarium_vc_color + + + + +

+

Applied to vc object only for use with greyscaled icons.

base_px + + + + +

+

Base px offset of the visual object in current aquarium aka current base position

base_py + + + + +

+

Base px offset of the visual object in current aquarium aka current base position

base_transform + + + + +

+

Transformation applied to the visual holder - used when scaled down sprites are used as in aquarium visual

current_animation + + + + +

+

Currently playing animation

current_aquarium + + + + +

+

Keeps track of our current aquarium.

icon + + + + +

+

Fish sprite how to: +Need to be centered on 16,16 in the dmi and facing left by default. +sprite_height/sprite_width is the size it will have in aquarium and used to control animation boundaries. +source_height/source_width is the size of the original icon (ideally only the non-empty parts) +Icon used for in aquarium sprite

icon_state + + + + +

+

If this is set this icon state will be used for the holder while icon_state will only be used for item/catalog. Transformation from source_width/height WON'T be applied.

layer_mode + + + + +

+

How the thing will be layered

processing + + + + +

+

Does this behviour need additional processing in aquarium, will be added to SSobj processing on insertion

randomize_position + + + + +

+

If the starting position is randomised within bounds when inserted into aquarium.

unique + + + + +

+

TODO: Change this into trait checked on aquarium insertion

Proc Details

InitializeFromFish +

+

Sets visuals properties for fish

InitializeFromProp +

+

Sets visuals properties for fish

InitializeOther +

+

Mostly for admin abuse

apply_appearance +

+

Applies icon,color and base scaling to our visual holder

generate_animation +

+

Actually animates the vc holder

generate_base_vc +

+

Generates common visual object, propeties that don't depend on aquarium surface

on_surface_changed +

+

Aquarium surface changed in some way, we need to recalculate base position and aninmation

swim_animation +

+

Create looping random path animation, pixel offsets parameters include offsets already

+ + + diff --git a/datum/component/area_sound_manager.html b/datum/component/area_sound_manager.html new file mode 100644 index 000000000000..606a2067a9ef --- /dev/null +++ b/datum/component/area_sound_manager.html @@ -0,0 +1,57 @@ + + + + + + + /datum/component/area_sound_manager - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

area_sound_manager + + + +

+ +

Allows you to set a theme for a set of areas without tying them to looping sounds explicitly

+ + + +

Vars

accepted_zsA list of "acceptable" z levels to be on. If you leave this, we're gonna delete ourselves
area_to_looping_typearea -> looping sound type
our_loopCurrent sound loop
timeridThe timer id of our current start delay, if it exists
+

Var Details

accepted_zs + + + + +

+

A list of "acceptable" z levels to be on. If you leave this, we're gonna delete ourselves

area_to_looping_type + + + + +

+

area -> looping sound type

our_loop + + + + +

+

Current sound loop

timerid + + + + +

+

The timer id of our current start delay, if it exists

+ + + diff --git a/datum/component/atmos_reaction_recorder.html b/datum/component/atmos_reaction_recorder.html new file mode 100644 index 000000000000..e2c2a7fa61b5 --- /dev/null +++ b/datum/component/atmos_reaction_recorder.html @@ -0,0 +1,67 @@ + + + + + + + /datum/component/atmos_reaction_recorder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

atmos_reaction_recorder + + + +

+ +

Component for atmos-related atoms to be able to record and transmit their reaction_results data +Use this ONLY for atoms, gasmixtures will be accessed by calling return air on the object. +Add this component after gasmixes has been initialized.

+ + + +

Vars

copied_reaction_resultsThe list we write append each reaction tick to. +This is often a list initialized by something else (passed as a reference under Initialize).
registered_signalsSignals we have been listening to.

Procs

InitializeVerify that parent is indeed an atom, and then register signals. +Args:
update_dataFetches reaction_results and updates the list.
+

Var Details

copied_reaction_results + + + + +

+

The list we write append each reaction tick to. +This is often a list initialized by something else (passed as a reference under Initialize).

registered_signals + + + + +

+

Signals we have been listening to.

Proc Details

Initialize +

+

Verify that parent is indeed an atom, and then register signals. +Args:

+

update_data +

+

Fetches reaction_results and updates the list.

+ + + diff --git a/datum/component/aura_healing.html b/datum/component/aura_healing.html new file mode 100644 index 000000000000..5234b74d8869 --- /dev/null +++ b/datum/component/aura_healing.html @@ -0,0 +1,130 @@ + + + + + + + /datum/component/aura_healing - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

aura_healing + + + +

+ +

Applies healing to those in the area. +Will provide them with an alert while they're in range, as well as +give them a healing particle. +Can be applied to those only with a trait conditionally.

+ + + + + + + + + + + + + +

Vars

blood_healAmount of blood to heal over a second
brute_healBrute damage to heal over a second
burn_healBurn damage to heal over a second
clone_healAmount of cloning damage to heal over a second
current_alertsA list of being healed to active alerts
healing_colorThe color to give the healing visual
limit_to_traitTrait to limit healing to, if set
organ_healingMap of organ (such as ORGAN_SLOT_BRAIN) to damage heal over a second
rangeThe range of which to heal
requires_visibilityWhether or not you must be a visible object of the parent
simple_healAmount of damage to heal on simple mobs over a second
stamina_healStamina damage to heal over a second
suffocation_healSuffocation damage to heal over a second
toxin_healToxin damage to heal over a second
+

Var Details

blood_heal + + + + +

+

Amount of blood to heal over a second

brute_heal + + + + +

+

Brute damage to heal over a second

burn_heal + + + + +

+

Burn damage to heal over a second

clone_heal + + + + +

+

Amount of cloning damage to heal over a second

current_alerts + + + + +

+

A list of being healed to active alerts

healing_color + + + + +

+

The color to give the healing visual

limit_to_trait + + + + +

+

Trait to limit healing to, if set

organ_healing + + + + +

+

Map of organ (such as ORGAN_SLOT_BRAIN) to damage heal over a second

range + + + + +

+

The range of which to heal

requires_visibility + + + + +

+

Whether or not you must be a visible object of the parent

simple_heal + + + + +

+

Amount of damage to heal on simple mobs over a second

stamina_heal + + + + +

+

Stamina damage to heal over a second

suffocation_heal + + + + +

+

Suffocation damage to heal over a second

toxin_heal + + + + +

+

Toxin damage to heal over a second

+ + + diff --git a/datum/component/automatic_fire.html b/datum/component/automatic_fire.html new file mode 100644 index 000000000000..ae202df0f0a4 --- /dev/null +++ b/datum/component/automatic_fire.html @@ -0,0 +1,80 @@ + + + + + + + /datum/component/automatic_fire - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

automatic_fire + + + +

+ + + + + + + + +

Vars

current_windup_reductionthe reduction to shot delay for windup
timeridTimer for tracking the spindown reset timings
windup_autofirewindup autofire vars +Whether the delay between shots increases over time, simulating a spooling weapon
windup_autofire_capHow high of a reduction that current_windup_reduction can reach
windup_autofire_reduction_multiplierthe percentage of autfire_shot_delay that is added to current_windup_reduction
windup_spindownHow long it takes for weapons that have spooled-up to reset back to the original firing speed

Procs

windup_resetReset for our windup, resetting everything back to initial values after a variable set amount of time (determined by var/windup_spindown).
+

Var Details

current_windup_reduction + + + + +

+

the reduction to shot delay for windup

timerid + + + + +

+

Timer for tracking the spindown reset timings

windup_autofire + + + + +

+

windup autofire vars +Whether the delay between shots increases over time, simulating a spooling weapon

windup_autofire_cap + + + + +

+

How high of a reduction that current_windup_reduction can reach

windup_autofire_reduction_multiplier + + + + +

+

the percentage of autfire_shot_delay that is added to current_windup_reduction

windup_spindown + + + + +

+

How long it takes for weapons that have spooled-up to reset back to the original firing speed

Proc Details

windup_reset +

+

Reset for our windup, resetting everything back to initial values after a variable set amount of time (determined by var/windup_spindown).

+ + + diff --git a/datum/component/bakeable.html b/datum/component/bakeable.html new file mode 100644 index 000000000000..9e7f4b482049 --- /dev/null +++ b/datum/component/bakeable.html @@ -0,0 +1,78 @@ + + + + + + + /datum/component/bakeable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

bakeable + + + +

+ +

This component indicates this object can be baked in an oven.

+ + + + + + +

Vars

bake_resultResult atom type of baking this object
current_bake_timeTime spent baking so far
positive_resultIs this a positive bake result?
required_bake_timeAmount of time required to bake the food

Procs

FinishBakingRan when an object finished baking
OnBakeRan every time an item is baked by something
OnExamineGives info about the items baking status so you can see if its almost done
+

Var Details

bake_result + + + + +

+

Result atom type of baking this object

current_bake_time + + + + +

+

Time spent baking so far

positive_result + + + + +

+

Is this a positive bake result?

required_bake_time + + + + +

+

Amount of time required to bake the food

Proc Details

FinishBaking +

+

Ran when an object finished baking

OnBake +

+

Ran every time an item is baked by something

OnExamine +

+

Gives info about the items baking status so you can see if its almost done

+ + + diff --git a/datum/component/bloodysoles.html b/datum/component/bloodysoles.html new file mode 100644 index 000000000000..94102f53d4d5 --- /dev/null +++ b/datum/component/bloodysoles.html @@ -0,0 +1,170 @@ + + + + + + + /datum/component/bloodysoles - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

bloodysoles + + + +

+ +

Component for clothing items that can pick up blood from decals and spread it around everywhere when walking, such as shoes or suits with integrated shoes.

+ + + + + + + + + + + + + + + + + + +

Vars

bloody_shoesHow much of each grubby type we have on our feet
equipped_slotThe ITEM_SLOT_* slot the item is equipped on, if it is.
last_blood_colorThe type of the last grub pool we stepped in, used to decide the type of footprints to make
last_pickupThe world.time when we last picked up blood
parent_atomThe parent item but casted into atom type for easier use.
wielderEither the mob carrying the item, or the mob itself for the /feet component subtype

Procs

add_parent_to_footprintAdds the parent type to the footprint's shoe_types var
adjust_bloody_shoeslowers bloody_shoes[index] by adjust_by
find_pool_by_blood_stateFind a blood decal on a turf that matches our last_blood_color
is_obscuredReturns true if the parent item is obscured by something else that the wielder is wearing
on_changed_bloody_shoescalled whenever the value of bloody_soles changes
on_cleanCalled when the parent item is being washed
on_dropCalled when the parent item has been dropped
on_equipCalled when the parent item is equipped by someone
on_movedCalled when the wielder has moved
on_step_bloodprints merged +prints merged +Called when the wielder steps in a pool of blood
share_bloodRun to equally share the blood between us and a decal
unregisterUnregisters from the wielder if necessary
update_iconRun to update the icon of the parent
+

Var Details

bloody_shoes + + + + +

+

How much of each grubby type we have on our feet

equipped_slot + + + + +

+

The ITEM_SLOT_* slot the item is equipped on, if it is.

last_blood_color + + + + +

+

The type of the last grub pool we stepped in, used to decide the type of footprints to make

last_pickup + + + + +

+

The world.time when we last picked up blood

parent_atom + + + + +

+

The parent item but casted into atom type for easier use.

wielder + + + + +

+

Either the mob carrying the item, or the mob itself for the /feet component subtype

Proc Details

add_parent_to_footprint +

+

Adds the parent type to the footprint's shoe_types var

adjust_bloody_shoes +

+

lowers bloody_shoes[index] by adjust_by

find_pool_by_blood_state +

+

Find a blood decal on a turf that matches our last_blood_color

is_obscured +

+

Returns true if the parent item is obscured by something else that the wielder is wearing

on_changed_bloody_shoes +

+

called whenever the value of bloody_soles changes

on_clean +

+

Called when the parent item is being washed

on_drop +

+

Called when the parent item has been dropped

+

Used to deregister our wielder

on_equip +

+

Called when the parent item is equipped by someone

+

Used to register our wielder

on_moved +

+

Called when the wielder has moved

+

Used to make bloody footprints on the ground

on_step_blood +

+

prints merged +prints merged +Called when the wielder steps in a pool of blood

+

Used to make the parent item bloody

share_blood +

+

Run to equally share the blood between us and a decal

unregister +

+

Unregisters from the wielder if necessary

update_icon +

+

Run to update the icon of the parent

+ + + diff --git a/datum/component/boomerang.html b/datum/component/boomerang.html new file mode 100644 index 000000000000..e1f8f4afe47d --- /dev/null +++ b/datum/component/boomerang.html @@ -0,0 +1,97 @@ + + + + + + + /datum/component/boomerang - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

boomerang + + + +

+ +

If an ojvect is given the boomerang component, it should be thrown back to the thrower after either hitting it's target, or landing on the thrown tile. +Thrown objects should be thrown back to the original thrower with this component, a number of tiles defined by boomerang_throw_range.

+ + + + + + +

Vars

boomerang_throw_rangeHow far should the boomerang try to travel to return to the thrower?
last_boomerang_throwThis cooldown prevents our 2 throwing signals from firing too often based on how we implement those signals within thrown impacts.
thrower_easy_catch_enabledIf this boomerang is thrown, does it re-enable the throwers throw mode?

Procs

aerodynamic_swingProc that triggers when the thrown boomerang has been fully thrown, rethrowing the boomerang back to the thrower, and producing visible feedback.
prepare_throwProc'd before the first thrown is performed in order to gather information regarding each throw as well as handle throw_mode as necessary.
return_hit_throwProc that triggers when the thrown boomerang hits an object.
return_missed_throwProc that triggers when the thrown boomerang does not hit a target.
+

Var Details

boomerang_throw_range + + + + +

+

How far should the boomerang try to travel to return to the thrower?

last_boomerang_throw + + + + +

+

This cooldown prevents our 2 throwing signals from firing too often based on how we implement those signals within thrown impacts.

thrower_easy_catch_enabled + + + + +

+

If this boomerang is thrown, does it re-enable the throwers throw mode?

Proc Details

aerodynamic_swing +

+

Proc that triggers when the thrown boomerang has been fully thrown, rethrowing the boomerang back to the thrower, and producing visible feedback.

+

prepare_throw +

+

Proc'd before the first thrown is performed in order to gather information regarding each throw as well as handle throw_mode as necessary.

+

return_hit_throw +

+

Proc that triggers when the thrown boomerang hits an object.

+

return_missed_throw +

+

Proc that triggers when the thrown boomerang does not hit a target.

+
+ + + diff --git a/datum/component/butchering.html b/datum/component/butchering.html new file mode 100644 index 000000000000..63c0a53689c6 --- /dev/null +++ b/datum/component/butchering.html @@ -0,0 +1,90 @@ + + + + + + + /datum/component/butchering - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

butchering + + + +

+ + + + + + + + + +

Vars

bonus_modifierPercentage increase to bonus item chance
butcher_callbackCallback for butchering
butcher_soundSound played when butchering
butchering_enabledWhether or not this component can be used to butcher currently. Used to temporarily disable butchering
can_be_bluntWhether or not this component is compatible with blunt tools.
effectivenessPercentage effectiveness; numbers above 100 yield extra drops
speedTime in deciseconds taken to butcher something

Procs

ButcherHandles a user butchering a target
+

Var Details

bonus_modifier + + + + +

+

Percentage increase to bonus item chance

butcher_callback + + + + +

+

Callback for butchering

butcher_sound + + + + +

+

Sound played when butchering

butchering_enabled + + + + +

+

Whether or not this component can be used to butcher currently. Used to temporarily disable butchering

can_be_blunt + + + + +

+

Whether or not this component is compatible with blunt tools.

effectiveness + + + + +

+

Percentage effectiveness; numbers above 100 yield extra drops

speed + + + + +

+

Time in deciseconds taken to butcher something

Proc Details

Butcher +

+

Handles a user butchering a target

+

Arguments:

+
+ + + diff --git a/datum/component/caltrop.html b/datum/component/caltrop.html new file mode 100644 index 000000000000..9b7f2113cebd --- /dev/null +++ b/datum/component/caltrop.html @@ -0,0 +1,79 @@ + + + + + + + /datum/component/caltrop - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

caltrop + + + +

+ +

Caltrop element; for hurting people when they walk over this.

+

Used for broken glass, cactuses and four sided dice.

+ + + + + + +

Vars

crossed_connectionsgiven to connect_loc to listen for something moving over target
dupe_modeSo we can update ant damage
flagsMiscelanous caltrop flags; shoe bypassing, walking interaction, silence
max_damageMaximum damage done when crossed
min_damageMinimum damage done when crossed
probabilityProbability of actually "firing", stunning and doing damage
soundfileThe sound that plays when a caltrop is triggered.
+

Var Details

crossed_connections + + + + +

+

given to connect_loc to listen for something moving over target

dupe_mode + + + + +

+

So we can update ant damage

flags + + + + +

+

Miscelanous caltrop flags; shoe bypassing, walking interaction, silence

max_damage + + + + +

+

Maximum damage done when crossed

min_damage + + + + +

+

Minimum damage done when crossed

probability + + + + +

+

Probability of actually "firing", stunning and doing damage

soundfile + + + + +

+

The sound that plays when a caltrop is triggered.

+ + + diff --git a/datum/component/carbon_sprint.html b/datum/component/carbon_sprint.html new file mode 100644 index 000000000000..91897d8c8182 --- /dev/null +++ b/datum/component/carbon_sprint.html @@ -0,0 +1,36 @@ + + + + + + + /datum/component/carbon_sprint - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

carbon_sprint + + + +

+ + +

Vars

dustOur very own dust
+

Var Details

dust + + + + +

+

Our very own dust

+ + + diff --git a/datum/component/chasm.html b/datum/component/chasm.html new file mode 100644 index 000000000000..8e9019a664d0 --- /dev/null +++ b/datum/component/chasm.html @@ -0,0 +1,36 @@ + + + + + + + /datum/component/chasm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chasm + + + +

+ + +

Vars

falling_atomsList of refs to falling objects -> how many levels deep we've fallen
+

Var Details

falling_atoms + + + + +

+

List of refs to falling objects -> how many levels deep we've fallen

+ + + diff --git a/datum/component/clickbox.html b/datum/component/clickbox.html new file mode 100644 index 000000000000..11774c1bcc94 --- /dev/null +++ b/datum/component/clickbox.html @@ -0,0 +1,82 @@ + + + + + + + /datum/component/clickbox - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

clickbox + + + +

+ +

This component adds a near-invisible underlay to a movable target to expand the clickable surface of its icon without +resorting to MOUSE_OPACITY_OPAQUE. +The underlay ignores the parent's color and alpha and can be offset. +The name is a portmanteau of "click" and "hitbox", because technically this isn't an hitbox, +but it helps catch clicks, and I don't want to give it a loooong name like openspace_item_click_handler

+ + + + + + +

Vars

clickbox_undelaythe underlay that has been added to the parent.
dead_stateFor simple animals that have different icon states when dead.
icon_stateThe icon state of the underlay.
max_scaleMaximum width/height of the underlay, in case the attached atom is scaled up.
min_scaleMinimum width/height of the underlay, in case the attached atom is scaled down.
x_offsetThe offsets of the underlay.

Procs

update_underlayRemoves the old underlay and adds a new one if conditions are met. The underlay is scaled up/down if necessary
+

Var Details

clickbox_undelay + + + + +

+

the underlay that has been added to the parent.

dead_state + + + + +

+

For simple animals that have different icon states when dead.

icon_state + + + + +

+

The icon state of the underlay.

max_scale + + + + +

+

Maximum width/height of the underlay, in case the attached atom is scaled up.

min_scale + + + + +

+

Minimum width/height of the underlay, in case the attached atom is scaled down.

x_offset + + + + +

+

The offsets of the underlay.

Proc Details

update_underlay +

+

Removes the old underlay and adds a new one if conditions are met. The underlay is scaled up/down if necessary

+ + + diff --git a/datum/component/codeword_hearing.html b/datum/component/codeword_hearing.html new file mode 100644 index 000000000000..ca2c04241957 --- /dev/null +++ b/datum/component/codeword_hearing.html @@ -0,0 +1,69 @@ + + + + + + + /datum/component/codeword_hearing - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

codeword_hearing + + + +

+ +

Component that allows for highlighting of words or phrases in chat based on regular expressions.

+

Hooks into the parent's COMSIG_MOVABLE_HEAR signal to wrap every regex match in the message +between tags with the provided span class. This modifies the output that +is sent to the parent's chat window.

+

Removal of this component should be done by calling [GetComponents(/datum/component/codeword_hearing)] +on the parent and then iterating through all components calling [delete_if_from_source(source)].

+ + + + +

Vars

replace_regexRegex for matching words or phrases you want highlighted.
sourceThe source of this component. Used to identify the source in delete_if_from_source since this component is COMPONENT_DUPE_ALLOWED.
span_classThe to use for highlighting matches.

Procs

delete_if_from_sourceSince a parent can have multiple of these components on them simultaneously, this allows a datum to delete components from a specific source.
handle_hearingCallback for COMSIG_MOVABLE_HEAR which highlights syndicate code phrases in chat.
+

Var Details

replace_regex + + + + +

+

Regex for matching words or phrases you want highlighted.

source + + + + +

+

The source of this component. Used to identify the source in delete_if_from_source since this component is COMPONENT_DUPE_ALLOWED.

span_class + + + + +

+

The to use for highlighting matches.

Proc Details

delete_if_from_source +

+

Since a parent can have multiple of these components on them simultaneously, this allows a datum to delete components from a specific source.

handle_hearing +

+

Callback for COMSIG_MOVABLE_HEAR which highlights syndicate code phrases in chat.

+ + + diff --git a/datum/component/combustible_flooder.html b/datum/component/combustible_flooder.html new file mode 100644 index 000000000000..c00568ef8610 --- /dev/null +++ b/datum/component/combustible_flooder.html @@ -0,0 +1,70 @@ + + + + + + + /datum/component/combustible_flooder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

combustible_flooder + + + +

+ +

Component that floods gas when ignited by fire.

+ + + + + +

Procs

attackby_reactBeing attacked by something
flame_reactfire_act reaction.
floodDo the flooding. Trigger temperature is the temperature we will flood at if we dont have a temp set at the start. Trigger referring to whatever triggered it.
hotspots_reactHotspot reaction.
projectile_reactShot by something
welder_reactWelder check. Here because tool_act is higher priority than attackby.

Proc Details

attackby_react +

+

Being attacked by something

flame_react +

+

fire_act reaction.

flood +

+

Do the flooding. Trigger temperature is the temperature we will flood at if we dont have a temp set at the start. Trigger referring to whatever triggered it.

hotspots_react +

+

Hotspot reaction.

projectile_react +

+

Shot by something

welder_react +

+

Welder check. Here because tool_act is higher priority than attackby.

+ + + diff --git a/datum/component/connect_containers.html b/datum/component/connect_containers.html new file mode 100644 index 000000000000..b3f5bf7b160e --- /dev/null +++ b/datum/component/connect_containers.html @@ -0,0 +1,45 @@ + + + + + + + /datum/component/connect_containers - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

connect_containers + + + +

+ +

This component behaves similar to connect_loc_behalf, but it's nested and hooks a signal onto all MOVABLES containing this atom.

+ +

Vars

connectionsAn assoc list of signal -> procpath to register to the loc this object is on.
trackedThe atom the component is tracking. The component will delete itself if the tracked is deleted. +Signals will also be updated whenever it moves.
+

Var Details

connections + + + + +

+

An assoc list of signal -> procpath to register to the loc this object is on.

tracked + + + + +

+

The atom the component is tracking. The component will delete itself if the tracked is deleted. +Signals will also be updated whenever it moves.

+ + + diff --git a/datum/component/connect_loc_behalf.html b/datum/component/connect_loc_behalf.html new file mode 100644 index 000000000000..1e780f2bac6d --- /dev/null +++ b/datum/component/connect_loc_behalf.html @@ -0,0 +1,39 @@ + + + + + + + /datum/component/connect_loc_behalf - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

connect_loc_behalf + + + +

+ +

This component behaves similar to connect_loc, hooking into a signal on a tracked object's turf +It has the ability to react to that signal on behalf of a separate listener however +This has great use, primarily for components, but it carries with it some overhead +So we do it separately as it needs to hold state which is very likely to lead to bugs if it remains as an element.

+

Vars

connectionsAn assoc list of signal -> procpath to register to the loc this object is on.
+

Var Details

connections + + + + +

+

An assoc list of signal -> procpath to register to the loc this object is on.

+ + + diff --git a/datum/component/connect_mob_behalf.html b/datum/component/connect_mob_behalf.html new file mode 100644 index 000000000000..a81ee28bedd5 --- /dev/null +++ b/datum/component/connect_mob_behalf.html @@ -0,0 +1,52 @@ + + + + + + + /datum/component/connect_mob_behalf - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

connect_mob_behalf + + + +

+ +

This component behaves similar to connect_loc_behalf, but working off clients and mobs instead of loc +To be clear, we hook into a signal on a tracked client's mob +We retain the ability to react to that signal on a seperate listener, which makes this quite powerful

+ + +

Vars

connectionsAn assoc list of signal -> procpath to register to the mob our client "owns"
trackedThe master client we're working with
tracked_mobThe mob we're currently tracking
+

Var Details

connections + + + + +

+

An assoc list of signal -> procpath to register to the mob our client "owns"

tracked + + + + +

+

The master client we're working with

tracked_mob + + + + +

+

The mob we're currently tracking

+ + + diff --git a/datum/component/connect_range.html b/datum/component/connect_range.html new file mode 100644 index 000000000000..0498b81b0bad --- /dev/null +++ b/datum/component/connect_range.html @@ -0,0 +1,61 @@ + + + + + + + /datum/component/connect_range - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

connect_range + + + +

+ +

This component behaves similar to connect_loc_behalf but for all turfs in range, hooking into a signal on each of them. +Just like connect_loc_behalf, It can react to that signal on behalf of a seperate listener. +Good for components, though it carries some overhead. Can't be an element as that may lead to bugs.

+ + + +

Vars

connectionsAn assoc list of signal -> procpath to register to the loc this object is on.
rangeThe component will hook into signals only on turfs not farther from tracked than this.
trackedThe atom the component is tracking. The component will delete itself if the tracked is deleted. +Signals will also be updated whenever it moves (if it's a movable).
works_in_containersWhether the component works when the movable isn't directly located on a turf.
+

Var Details

connections + + + + +

+

An assoc list of signal -> procpath to register to the loc this object is on.

range + + + + +

+

The component will hook into signals only on turfs not farther from tracked than this.

tracked + + + + +

+

The atom the component is tracking. The component will delete itself if the tracked is deleted. +Signals will also be updated whenever it moves (if it's a movable).

works_in_containers + + + + +

+

Whether the component works when the movable isn't directly located on a turf.

+ + + diff --git a/datum/component/container_item.html b/datum/component/container_item.html new file mode 100644 index 000000000000..d54061506382 --- /dev/null +++ b/datum/component/container_item.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/container_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

container_item + + + +

+ +

Container item, an item which can be stored by specialized containers.

+

Procs

try_attachCalled when parent is added to the container.

Proc Details

try_attach +

+

Called when parent is added to the container.

+ + + diff --git a/datum/component/creamed.html b/datum/component/creamed.html new file mode 100644 index 000000000000..1512276bee49 --- /dev/null +++ b/datum/component/creamed.html @@ -0,0 +1,36 @@ + + + + + + + /datum/component/creamed - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

creamed + + + +

+ +

Creamed component

+

For when you have pie on your face

+

Procs

clean_upCallback to remove pieface

Proc Details

clean_up +

+

Callback to remove pieface

+ + + diff --git a/datum/component/cult_eyes.html b/datum/component/cult_eyes.html new file mode 100644 index 000000000000..d5a8a670abe5 --- /dev/null +++ b/datum/component/cult_eyes.html @@ -0,0 +1,44 @@ + + + + + + + /datum/component/cult_eyes - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

Cult eyes element + + + +

+ +

Applies and removes the glowing cult eyes

+ +

Procs

UnregisterFromParentDetach proc
set_eyesCult eye setter proc

Proc Details

UnregisterFromParent +

+

Detach proc

+

Removes the eye color, and trait from the mob

set_eyes +

+

Cult eye setter proc

+

Changes the eye color, and adds the glowing eye trait to the mob.

+ + + diff --git a/datum/component/cult_ritual_item.html b/datum/component/cult_ritual_item.html new file mode 100644 index 000000000000..9ddf39a9d71e --- /dev/null +++ b/datum/component/cult_ritual_item.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/cult_ritual_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cult_ritual_item + + + +

+ + + + + + +

Vars

drawing_a_runeWhether we are currently being used to draw a rune.
examine_messageThe message displayed when the parent is examined, if supplied.
linked_action_refWeakref to an action added to our parent item that allows for quick drawing runes
shieldsA list of all shields surrounding us while drawing certain runes (Nar'sie).
turfs_that_boost_usA list of turfs that we scribe runes at double speed on.
+

Var Details

drawing_a_rune + + + + +

+

Whether we are currently being used to draw a rune.

examine_message + + + + +

+

The message displayed when the parent is examined, if supplied.

linked_action_ref + + + + +

+

Weakref to an action added to our parent item that allows for quick drawing runes

shields + + + + +

+

A list of all shields surrounding us while drawing certain runes (Nar'sie).

turfs_that_boost_us + + + + +

+

A list of turfs that we scribe runes at double speed on.

+ + + diff --git a/datum/component/curse_of_hunger.html b/datum/component/curse_of_hunger.html new file mode 100644 index 000000000000..015021b007e8 --- /dev/null +++ b/datum/component/curse_of_hunger.html @@ -0,0 +1,111 @@ + + + + + + + /datum/component/curse_of_hunger - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

curse_of_hunger + + + +

+ +

curse of hunger component; for very hungry items.

+

Used as a rpgloot suffix and wizard spell!

+ + + + + + + + + + +

Vars

add_dropdelwhether to add dropdel to the item with curse of hunger, used for temporary curses like the wizard duffelbags
awakeneditems given the curse of hunger will not seek out someone else to latch onto until they are dropped for the first time.
hungercounts time passed since it ate food
poison_food_tolerancehow many times it needs to be fed poisoned food for it to drop off of you

Procs

on_dropsignal called from dropping parent
on_equipsignal called from equipping parent
on_examinesignal called on parent being examined
on_pickupsignal called from picking up parent
on_unequipsignal called from a successful unequip of parent
seek_new_targetproc called after a timer to awaken the AI in the cursed item if it doesn't have a target already.
testcheck hp +poisoned food damages it +no food found: it bites you and regains some poison food tolerance
+

Var Details

add_dropdel + + + + +

+

whether to add dropdel to the item with curse of hunger, used for temporary curses like the wizard duffelbags

awakened + + + + +

+

items given the curse of hunger will not seek out someone else to latch onto until they are dropped for the first time.

hunger + + + + +

+

counts time passed since it ate food

poison_food_tolerance + + + + +

+

how many times it needs to be fed poisoned food for it to drop off of you

Proc Details

on_drop +

+

signal called from dropping parent

on_equip +

+

signal called from equipping parent

on_examine +

+

signal called on parent being examined

on_pickup +

+

signal called from picking up parent

on_unequip +

+

signal called from a successful unequip of parent

seek_new_target +

+

proc called after a timer to awaken the AI in the cursed item if it doesn't have a target already.

test +

+

check hp +poisoned food damages it +no food found: it bites you and regains some poison food tolerance

+ + + diff --git a/datum/component/customizable_reagent_holder.html b/datum/component/customizable_reagent_holder.html new file mode 100644 index 000000000000..8f344f6d4d63 --- /dev/null +++ b/datum/component/customizable_reagent_holder.html @@ -0,0 +1,138 @@ + + + + + + + /datum/component/customizable_reagent_holder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Custom Atom Component + + + +

+ +

When added to an atom, item ingredients can be put into that. +The sprite is updated and reagents are transfered.

+

If the component is added to something that is processed, creating new objects (being cut, for example), +the replacement type needs to also have the component. The ingredients will be copied over. Reagents are not +copied over since other components already take care of that.

+ + + + + + + + + + + + + + +

Vars

fill_typeType of fill, can be [CUSTOM_INGREDIENT_ICON_NOCHANGE] for example.
ingredient_typeType of ingredients to accept, [CUSTOM_INGREDIENT_TYPE_EDIBLE] for example.
ingredientsList of item ingredients.
max_ingredientsNumber of max ingredients.
replacementType path of replacement atom.
top_overlayOverlay used for certain fill types, always shows up on top.

Procs

add_ingredientAdds a new ingredient and updates the parent's name.
custom_adjectiveGives an adjective to describe the size of the custom food.
custom_typeGives the type of custom food (based on what the first ingredient was).
customizable_attackHandles when the customizable food is attacked by something.
handle_fillHandles the icon update for a new ingredient.
handle_reagentsTakes the reagents from an ingredient.
mix_colorReturns the color of the input mixed with the top_overlay's color.
on_examineHandles when the customizable food is examined.
on_processedCopies over the parent's ingredients to the processing results (such as slices when the parent is cut).
+

Var Details

fill_type + + + + +

+

Type of fill, can be [CUSTOM_INGREDIENT_ICON_NOCHANGE] for example.

ingredient_type + + + + +

+

Type of ingredients to accept, [CUSTOM_INGREDIENT_TYPE_EDIBLE] for example.

ingredients + + + + +

+

List of item ingredients.

max_ingredients + + + + +

+

Number of max ingredients.

replacement + + + + +

+

Type path of replacement atom.

top_overlay + + + + +

+

Overlay used for certain fill types, always shows up on top.

Proc Details

add_ingredient +

+

Adds a new ingredient and updates the parent's name.

custom_adjective +

+

Gives an adjective to describe the size of the custom food.

custom_type +

+

Gives the type of custom food (based on what the first ingredient was).

customizable_attack +

+

Handles when the customizable food is attacked by something.

handle_fill +

+

Handles the icon update for a new ingredient.

handle_reagents +

+

Takes the reagents from an ingredient.

mix_color +

+

Returns the color of the input mixed with the top_overlay's color.

on_examine +

+

Handles when the customizable food is examined.

on_processed +

+

Copies over the parent's ingredients to the processing results (such as slices when the parent is cut).

+ + + diff --git a/datum/component/deadchat_control.html b/datum/component/deadchat_control.html new file mode 100644 index 000000000000..2705402ee4f0 --- /dev/null +++ b/datum/component/deadchat_control.html @@ -0,0 +1,115 @@ + + + + + + + /datum/component/deadchat_control - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

deadchat_control + + + +

+ +

Deadchat Plays Things - The Componenting

+

Allows deadchat to control stuff and things by typing commands into chat. +These commands will then trigger callbacks to execute procs!

+ + + + + + + + + + +

Vars

ckey_to_cooldownAssoc list of ckey:value pairings. In DEMOCRACY_MODE, value is the player's vote. In ANARCHY_MODE, value is world.time when their cooldown expires.
deadchat_modeA bitfield containing the mode which this component uses (DEMOCRACY_MODE or ANARCHY_MODE) and other settings)
input_cooldownIn DEMOCRACY_MODE, this is how long players have to vote on an input. In ANARCHY_MODE, this is how long between inputs for each unique player.
inputsAssoc list of key-chat command string, value-callback pairs. list("right" = CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_step), src, EAST))
on_removalCallback invoked when this component is Destroy()ed to allow the parent to return to a non-deadchat controlled state.
orbitersList of everything orbitting this component's parent.
timeridThe id for the DEMOCRACY_MODE looping vote timer.

Procs

async_handle_vv_topicAsync proc handling the alert input and associated logic for an admin removing this component via the VV dropdown.
handle_vv_topicAllows for this component to be removed via a dedicated VV dropdown entry.
on_examineInforms any examiners to the inputs available as part of deadchat control, as well as the current operating mode and cooldowns.
waive_automutePrevents messages used to control the parent from counting towards the automute threshold for repeated identical messages.
+

Var Details

ckey_to_cooldown + + + + +

+

Assoc list of ckey:value pairings. In DEMOCRACY_MODE, value is the player's vote. In ANARCHY_MODE, value is world.time when their cooldown expires.

deadchat_mode + + + + +

+

A bitfield containing the mode which this component uses (DEMOCRACY_MODE or ANARCHY_MODE) and other settings)

input_cooldown + + + + +

+

In DEMOCRACY_MODE, this is how long players have to vote on an input. In ANARCHY_MODE, this is how long between inputs for each unique player.

inputs + + + + +

+

Assoc list of key-chat command string, value-callback pairs. list("right" = CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_step), src, EAST))

on_removal + + + + +

+

Callback invoked when this component is Destroy()ed to allow the parent to return to a non-deadchat controlled state.

orbiters + + + + +

+

List of everything orbitting this component's parent.

timerid + + + + +

+

The id for the DEMOCRACY_MODE looping vote timer.

Proc Details

async_handle_vv_topic +

+

Async proc handling the alert input and associated logic for an admin removing this component via the VV dropdown.

handle_vv_topic +

+

Allows for this component to be removed via a dedicated VV dropdown entry.

on_examine +

+

Informs any examiners to the inputs available as part of deadchat control, as well as the current operating mode and cooldowns.

waive_automute +

+

Prevents messages used to control the parent from counting towards the automute threshold for repeated identical messages.

+

Arguments:

+
+ + + diff --git a/datum/component/deadchat_control/cardinal_movement.html b/datum/component/deadchat_control/cardinal_movement.html new file mode 100644 index 000000000000..6a7a7a8e9d17 --- /dev/null +++ b/datum/component/deadchat_control/cardinal_movement.html @@ -0,0 +1,37 @@ + + + + + + + /datum/component/deadchat_control/cardinal_movement - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

cardinal_movement + + + +

+ + +

Procs

InitializeDeadchat Moves Things

Proc Details

Initialize +

+

Deadchat Moves Things

+

A special variant of the deadchat_control component that comes pre-baked with all the hottest inputs for a spicy +singularity or vomit goose.

+ + + diff --git a/datum/component/deadchat_control/immovable_rod.html b/datum/component/deadchat_control/immovable_rod.html new file mode 100644 index 000000000000..5e0ccbe69943 --- /dev/null +++ b/datum/component/deadchat_control/immovable_rod.html @@ -0,0 +1,37 @@ + + + + + + + /datum/component/deadchat_control/immovable_rod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

immovable_rod + + + +

+ + +

Procs

InitializeDeadchat Moves Things

Proc Details

Initialize +

+

Deadchat Moves Things

+

A special variant of the deadchat_control component that comes pre-baked with all the hottest inputs for spicy +immovable rod.

+ + + diff --git a/datum/component/decomposition.html b/datum/component/decomposition.html new file mode 100644 index 000000000000..0e2131b0a6f0 --- /dev/null +++ b/datum/component/decomposition.html @@ -0,0 +1,85 @@ + + + + + + + /datum/component/decomposition - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

decomposition + + + +

+ + + + + + + + + +

Vars

decomp_flagsUsed to give raw/gross food lower timers
decomp_resultUse for determining what kind of item the food decomposes into.
handledMakes sure maploaded food only starts decomposing if a player's EVER picked it up before
original_timeThe total time that this takes to decompose
produce_antsDoes our food attract ants?
protectedUsed to stop food in someone's hand & in storage slots from decomposing.
time_remainingUsed so the timer won't reset.
timeridUsed to stop the timer & check for the examine proc
+

Var Details

decomp_flags + + + + +

+

Used to give raw/gross food lower timers

decomp_result + + + + +

+

Use for determining what kind of item the food decomposes into.

handled + + + + +

+

Makes sure maploaded food only starts decomposing if a player's EVER picked it up before

original_time + + + + +

+

The total time that this takes to decompose

produce_ants + + + + +

+

Does our food attract ants?

protected + + + + +

+

Used to stop food in someone's hand & in storage slots from decomposing.

time_remaining + + + + +

+

Used so the timer won't reset.

timerid + + + + +

+

Used to stop the timer & check for the examine proc

+ + + diff --git a/datum/component/dejavu.html b/datum/component/dejavu.html new file mode 100644 index 000000000000..78ff40d1b355 --- /dev/null +++ b/datum/component/dejavu.html @@ -0,0 +1,124 @@ + + + + + + + /datum/component/dejavu - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

dejavu + + + +

+ +

A component to reset the parent to its previous state after some time passes

+ + + + + + + + + + + + +

Vars

brain_lossThe starting value of brain loss at the beginning of the effect
brute_lossThe starting value of brute loss at the beginning of the effect +This only applies to simple animals
clone_lossThe starting value of clone loss at the beginning of the effect
integrityThe starting value of integrity at the beginning of the effect +This only applies to objects
no_rewinds_messagemessage sent when dejavu is out of rewinds
oxy_lossThe starting value of oxygen loss at the beginning of the effect
rewind_intervalHow long to wait between each rewind
rewind_messagemessage sent when dejavu rewinds
rewind_typeDetermined by the type of the parent so different behaviours can happen per type
rewinds_remainingHow many rewinds will happen before the effect ends
saved_bodypartsA list of body parts saved at the beginning of the effect
starting_turfThe turf the parent was on when this components was applied, they get moved back here after the duration
tox_lossThe starting value of toxin loss at the beginning of the effect
+

Var Details

brain_loss + + + + +

+

The starting value of brain loss at the beginning of the effect

brute_loss + + + + +

+

The starting value of brute loss at the beginning of the effect +This only applies to simple animals

clone_loss + + + + +

+

The starting value of clone loss at the beginning of the effect

integrity + + + + +

+

The starting value of integrity at the beginning of the effect +This only applies to objects

no_rewinds_message + + + + +

+

message sent when dejavu is out of rewinds

oxy_loss + + + + +

+

The starting value of oxygen loss at the beginning of the effect

rewind_interval + + + + +

+

How long to wait between each rewind

rewind_message + + + + +

+

message sent when dejavu rewinds

rewind_type + + + + +

+

Determined by the type of the parent so different behaviours can happen per type

rewinds_remaining + + + + +

+

How many rewinds will happen before the effect ends

saved_bodyparts + + + + +

+

A list of body parts saved at the beginning of the effect

starting_turf + + + + +

+

The turf the parent was on when this components was applied, they get moved back here after the duration

tox_loss + + + + +

+

The starting value of toxin loss at the beginning of the effect

+ + + diff --git a/datum/component/deployable.html b/datum/component/deployable.html new file mode 100644 index 000000000000..2b18f3e7f8ab --- /dev/null +++ b/datum/component/deployable.html @@ -0,0 +1,62 @@ + + + + + + + /datum/component/deployable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

deployable + + + +

+ +

Deployable - Bring your big guns with you, and smack em' down where you want.

+

Allows items to spawn other items (usually objects) in front of the user after a short delay. +If attaching this to something: +Set deploy_time to a number in seconds for the deploy delay +Set thing_to_be_deployed to an obj path for the thing that gets spawned +Lastly, set delete_on_use to TRUE or FALSE if you want the object you're deploying with to get deleted when used

+ + + +

Vars

delete_on_useIf the item used to deploy gets deleted on use or not
deploy_timeThe time it takes to deploy the object
deployed_nameUsed in getting the name of the deployed object
thing_to_be_deployedThe object that gets spawned if deployed successfully
+

Var Details

delete_on_use + + + + +

+

If the item used to deploy gets deleted on use or not

deploy_time + + + + +

+

The time it takes to deploy the object

deployed_name + + + + +

+

Used in getting the name of the deployed object

thing_to_be_deployed + + + + +

+

The object that gets spawned if deployed successfully

+ + + diff --git a/datum/component/diggable.html b/datum/component/diggable.html new file mode 100644 index 000000000000..4e9d9e50c5fd --- /dev/null +++ b/datum/component/diggable.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/diggable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

diggable + + + +

+ +

Lets you make hitting a turf with a shovel pop something out, and scrape the turf

+ + +

Vars

action_textWhat should we tell the user they did?
amountAmount to spawn on hit
to_spawnTypepath to spawn on hit
+

Var Details

action_text + + + + +

+

What should we tell the user they did?

amount + + + + +

+

Amount to spawn on hit

to_spawn + + + + +

+

Typepath to spawn on hit

+ + + diff --git a/datum/component/drift.html b/datum/component/drift.html new file mode 100644 index 000000000000..a85a945fd29e --- /dev/null +++ b/datum/component/drift.html @@ -0,0 +1,74 @@ + + + + + + + /datum/component/drift - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

drift + + + +

+ +

Component that handles drifting +Manages a movement loop that actually does the legwork of moving someone +Alongside dealing with the post movement input blocking required to make things look nice

+ + + + +

Vars

delayedHave we been delayed? IE: active, but not working right this second?
ignore_next_glideShould we ignore the next glide rate input we get? +This is to some extent a hack around the order of operations +Around COMSIG_MOVELOOP_POSTPROCESS. I'm sorry lad

Procs

InitializeAccepts three args. The direction to drift in, if the drift is instant or not, and if it's not instant, the delay on the start
handle_glidesize_updateWe're going to take the passed in glide size +and use it to manually delay our loop for that period +to allow the other movement to complete
stopped_pullingIf we're pulling something and stop, we want it to continue at our rate and such
+

Var Details

delayed + + + + +

+

Have we been delayed? IE: active, but not working right this second?

ignore_next_glide + + + + +

+

Should we ignore the next glide rate input we get? +This is to some extent a hack around the order of operations +Around COMSIG_MOVELOOP_POSTPROCESS. I'm sorry lad

Proc Details

Initialize +

+

Accepts three args. The direction to drift in, if the drift is instant or not, and if it's not instant, the delay on the start

handle_glidesize_update +

+

We're going to take the passed in glide size +and use it to manually delay our loop for that period +to allow the other movement to complete

stopped_pulling +

+

If we're pulling something and stop, we want it to continue at our rate and such

+ + + diff --git a/datum/component/edible.html b/datum/component/edible.html new file mode 100644 index 000000000000..76b606e71e8f --- /dev/null +++ b/datum/component/edible.html @@ -0,0 +1,232 @@ + + + + + + + /datum/component/edible - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

edible + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

after_eatCallback to be ran for when you take a bite of something
bite_consumptionAmount of reagents taken per bite
bitecountAmount of bites taken so far
check_likedCallback to be ran for when the code check if the food is liked, allowing for unique overrides for special foods like donuts with cops.
eat_timeAmount of seconds it takes to eat this food
eatverbsMessage to send when eating
food_flagsFlags for food
foodtypesBitfield of the types of this food
initial_reagentsThe initial reagents of this food when it is made
junkinessDefines how much it lowers someones satiety (Need to eat, essentialy)
last_check_timeLast time we checked for food likes
microwaved_typeThe type of atom this creates when the object is microwaved.
on_consumeCallback to be ran for when you take a bite of something
tastesThe flavortext for taste (haha get it flavor text)
volumeThe initial volume of the foods reagents

Procs

CanConsumeChecks whether or not the eater can actually consume the food
IsFoodGoneMakes sure the thing hasn't been destroyed or fully eaten to prevent eating phantom edibles
OnCraftCalled when food is crafted through a crafting recipe datum.
OnMicrowaveCookedCorrects the reagents on the newly cooked food
OnProcessedCalled when food is created through processing (Usually this means it was sliced). We use this to pass the OG items reagents.
On_ConsumeDelete the item when it is fully eaten
TakeBiteThis function lets the eater take a bite and transfers the reagents to the eater.
TryToEatAll the checks for the act of eating itself and
UseByAnimalAbility to feed food to puppers
checkLikedCheck foodtypes to see if we should send a moodlet
edible_ingredient_addedResponse to an edible ingredient being added to parent.
on_enteredAbility to feed food to puppers
on_ooze_eatResponse to oozes trying to eat something edible
used_to_customizeResponse to being used to customize something
+

Var Details

after_eat + + + + +

+

Callback to be ran for when you take a bite of something

bite_consumption + + + + +

+

Amount of reagents taken per bite

bitecount + + + + +

+

Amount of bites taken so far

check_liked + + + + +

+

Callback to be ran for when the code check if the food is liked, allowing for unique overrides for special foods like donuts with cops.

eat_time + + + + +

+

Amount of seconds it takes to eat this food

eatverbs + + + + +

+

Message to send when eating

food_flags + + + + +

+

Flags for food

foodtypes + + + + +

+

Bitfield of the types of this food

initial_reagents + + + + +

+

The initial reagents of this food when it is made

junkiness + + + + +

+

Defines how much it lowers someones satiety (Need to eat, essentialy)

last_check_time + + + + +

+

Last time we checked for food likes

microwaved_type + + + + +

+

The type of atom this creates when the object is microwaved.

on_consume + + + + +

+

Callback to be ran for when you take a bite of something

tastes + + + + +

+

The flavortext for taste (haha get it flavor text)

volume + + + + +

+

The initial volume of the foods reagents

Proc Details

CanConsume +

+

Checks whether or not the eater can actually consume the food

IsFoodGone +

+

Makes sure the thing hasn't been destroyed or fully eaten to prevent eating phantom edibles

OnCraft +

+

Called when food is crafted through a crafting recipe datum.

OnMicrowaveCooked +

+

Corrects the reagents on the newly cooked food

OnProcessed +

+

Called when food is created through processing (Usually this means it was sliced). We use this to pass the OG items reagents.

On_Consume +

+

Delete the item when it is fully eaten

TakeBite +

+

This function lets the eater take a bite and transfers the reagents to the eater.

TryToEat +

+

All the checks for the act of eating itself and

UseByAnimal +

+

Ability to feed food to puppers

checkLiked +

+

Check foodtypes to see if we should send a moodlet

edible_ingredient_added +

+

Response to an edible ingredient being added to parent.

on_entered +

+

Ability to feed food to puppers

on_ooze_eat +

+

Response to oozes trying to eat something edible

used_to_customize +

+

Response to being used to customize something

+ + + diff --git a/datum/component/effect_remover.html b/datum/component/effect_remover.html new file mode 100644 index 000000000000..8fec12978f02 --- /dev/null +++ b/datum/component/effect_remover.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/effect_remover - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

effect_remover + + + +

+ + + + + + +

Vars

effects_we_clearA typecache of all effects we can clear with our item.
on_clear_callbackCallback invoked with removal is done.
success_feedbackLine sent to the user on successful removal.
success_forcesayLine forcesaid by the user on successful removal.
tip_textThe text used in the screentip when our parent is hovering over an item we can clear. Ex "Destroy rune"
+

Var Details

effects_we_clear + + + + +

+

A typecache of all effects we can clear with our item.

on_clear_callback + + + + +

+

Callback invoked with removal is done.

success_feedback + + + + +

+

Line sent to the user on successful removal.

success_forcesay + + + + +

+

Line forcesaid by the user on successful removal.

tip_text + + + + +

+

The text used in the screentip when our parent is hovering over an item we can clear. Ex "Destroy rune"

+ + + diff --git a/datum/component/egg_layer.html b/datum/component/egg_layer.html new file mode 100644 index 000000000000..9a3a88e5037f --- /dev/null +++ b/datum/component/egg_layer.html @@ -0,0 +1,87 @@ + + + + + + + /datum/component/egg_layer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

egg layer component! + + + +

+ +

Component that manages how many eggs to lay, what can be fed to the mob to make them lay more, and what is actually laid. +Since the only real interaction with the component is an attackby, the nice part is that we're able to make this an atom level proc. +egg_layer will loudly fail if you do not provide it the arguments, as to encourage explicicy(?)

+ + + + + + + +

Vars

egg_laid_callbackcallback to a proc that allows the parent to modify their new eggs
egg_typeitem laid by the mob
eggs_added_from_eatinghow many eggs to lay given from food
eggs_lefthow many eggs left to lay
feed_messagesmessages sent when fed
food_typesitems that can be fed to the mob to make it lay more eggs
lay_messagesmessages sent when laying an egg
max_eggs_heldhow many eggs can be stored
+

Var Details

egg_laid_callback + + + + +

+

callback to a proc that allows the parent to modify their new eggs

egg_type + + + + +

+

item laid by the mob

eggs_added_from_eating + + + + +

+

how many eggs to lay given from food

eggs_left + + + + +

+

how many eggs left to lay

feed_messages + + + + +

+

messages sent when fed

food_types + + + + +

+

items that can be fed to the mob to make it lay more eggs

lay_messages + + + + +

+

messages sent when laying an egg

max_eggs_held + + + + +

+

how many eggs can be stored

+ + + diff --git a/datum/component/electrified_buckle.html b/datum/component/electrified_buckle.html new file mode 100644 index 000000000000..94aa04ef6962 --- /dev/null +++ b/datum/component/electrified_buckle.html @@ -0,0 +1,115 @@ + + + + + + + /datum/component/electrified_buckle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

electrified_buckle component: + + + +

+ +

attach it to any atom/movable that can be buckled to in order to have it shock mobs buckled to it. by default it shocks mobs buckled to parent every shock_loop_time. +the parent is supposed to define its behavior with arguments in AddComponent

+ + + + + + + + + + +

Vars

electric_buckle_cooldownit will only shock once every shock_loop_time
requested_overlaysthis is casted to the overlay we put on parent_chair
requested_signal_parent_emitsthis signal was given as an argument to register for parent to emit, if its emitted to parent then shock_on_demand is called. var is so it can be unregistered
required_objectif usage_flags has SHOCK_REQUIREMENT_ITEM, this is the item required to be inside parent in order for it to shock buckled mobs
shock_damagehow much damage is done per shock iff usage_flags doesnt have SHOCK_REQUIREMENT_LIVE_CABLE
shock_loop_timehow long the component waits before shocking the mob buckled to parent again
shock_on_loopif true, this will shock the buckled mob every shock_loop_time in process()
usage_flagsthese flags tells this instance what is required in order to allow shocking

Procs

InitializeInitialize args:
processwhere the guinea pig is actually shocked if possible
shock_on_demanda shock that is toggled manually
+

Var Details

electric_buckle_cooldown + + + + +

+

it will only shock once every shock_loop_time

requested_overlays + + + + +

+

this is casted to the overlay we put on parent_chair

requested_signal_parent_emits + + + + +

+

this signal was given as an argument to register for parent to emit, if its emitted to parent then shock_on_demand is called. var is so it can be unregistered

required_object + + + + +

+

if usage_flags has SHOCK_REQUIREMENT_ITEM, this is the item required to be inside parent in order for it to shock buckled mobs

shock_damage + + + + +

+

how much damage is done per shock iff usage_flags doesnt have SHOCK_REQUIREMENT_LIVE_CABLE

shock_loop_time + + + + +

+

how long the component waits before shocking the mob buckled to parent again

shock_on_loop + + + + +

+

if true, this will shock the buckled mob every shock_loop_time in process()

usage_flags + + + + +

+

these flags tells this instance what is required in order to allow shocking

Proc Details

Initialize +

+

Initialize args:

+

process +

+

where the guinea pig is actually shocked if possible

shock_on_demand +

+

a shock that is toggled manually

+ + + diff --git a/datum/component/embedded.html b/datum/component/embedded.html new file mode 100644 index 000000000000..cc1c9daf9bef --- /dev/null +++ b/datum/component/embedded.html @@ -0,0 +1,102 @@ + + + + + + + /datum/component/embedded - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

embedded + + + +

+ + + + + + + + + + + +

Vars

harmfulif both our pain multiplier and jostle pain multiplier are 0, we're harmless and can omit most of the damage related stuff

Procs

checkTweezeThe signal for listening to see if someone is using a hemostat on us to pluck out this object
complete_rip_outeverything async that ripOut used to do
fallOutCalled when then item randomly falls out of a carbon. This handles the damage and descriptors, then calls safe_remove()
jostleCheck/////////BEHAVIOR PROCS//////////////
on_healthscanCalled whenever the limb owner is health scanned
ripOutCalled when a carbon with an object embedded/stuck to them inspects themselves and clicks the appropriate link to begin ripping the item out. This handles the ripping attempt, descriptors, and dealing damage, then calls safe_remove()
safeRemoveThis proc handles the final step and actual removal of an embedded/stuck item from a carbon, whether or not it was actually removed safely. +If you want the thing to go into someone's hands rather than the floor, pass them in to_hands
tweezePluckThe actual action for pulling out an embedded object with a hemostat
weaponDeletedSomething deleted or moved our weapon while it was embedded, how rude!
+

Var Details

harmful + + + + +

+

if both our pain multiplier and jostle pain multiplier are 0, we're harmless and can omit most of the damage related stuff

Proc Details

checkTweeze +

+

The signal for listening to see if someone is using a hemostat on us to pluck out this object

complete_rip_out +

+

everything async that ripOut used to do

fallOut +

+

Called when then item randomly falls out of a carbon. This handles the damage and descriptors, then calls safe_remove()

jostleCheck +

+

/////////BEHAVIOR PROCS//////////////

+

Called every time a carbon with a harmful embed moves, rolling a chance for the item to cause pain. The chance is halved if the carbon is crawling or walking.

on_healthscan +

+

Called whenever the limb owner is health scanned

ripOut +

+

Called when a carbon with an object embedded/stuck to them inspects themselves and clicks the appropriate link to begin ripping the item out. This handles the ripping attempt, descriptors, and dealing damage, then calls safe_remove()

safeRemove +

+

This proc handles the final step and actual removal of an embedded/stuck item from a carbon, whether or not it was actually removed safely. +If you want the thing to go into someone's hands rather than the floor, pass them in to_hands

tweezePluck +

+

The actual action for pulling out an embedded object with a hemostat

weaponDeleted +

+

Something deleted or moved our weapon while it was embedded, how rude!

+ + + diff --git a/datum/component/engraved.html b/datum/component/engraved.html new file mode 100644 index 000000000000..c7e8a758a498 --- /dev/null +++ b/datum/component/engraved.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/engraved - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

engraved component! + + + +

+ +

MUST be a component, though it doesn't look like it. SSPersistence demandeth

+ + + + + +

Vars

engraved_descriptionthe generated string
icon_state_appendwhat random icon state should the engraving have
persistent_savewhether this is a new engraving, or a persistence loaded one.

Procs

on_examinesignal called on parent being examined
on_update_overlaysUsed to maintain the acid overlay on the parent /atom.
save_persistentreturns all the information SSpersistence needs in a list to load up this engraving on a future round!
+

Var Details

engraved_description + + + + +

+

the generated string

icon_state_append + + + + +

+

what random icon state should the engraving have

persistent_save + + + + +

+

whether this is a new engraving, or a persistence loaded one.

Proc Details

on_examine +

+

signal called on parent being examined

on_update_overlays +

+

Used to maintain the acid overlay on the parent /atom.

save_persistent +

+

returns all the information SSpersistence needs in a list to load up this engraving on a future round!

+ + + diff --git a/datum/component/explodable.html b/datum/component/explodable.html new file mode 100644 index 000000000000..da41d0198942 --- /dev/null +++ b/datum/component/explodable.html @@ -0,0 +1,141 @@ + + + + + + + /datum/component/explodable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

explodable + + + +

+ +

Component specifically for explosion sensetive things, currently only applies to heat based explosions but can later perhaps be used for things that are dangerous to handle carelessly like nitroglycerin.

+ + + + + + + + + + + + + + + +

Vars

delete_afterWhether we always delete. Useful for nukes turned plasma and such, so they don't default delete and can survive
devastation_rangeThe devastation range of the resulting explosion.
equipped_slotFor items, lets us determine where things should be hit.
explodingWhether this component is currently in the process of exploding.
flame_rangeThe flame range of the resulting explosion.
flash_rangeThe flash range of the resulting explosion.
heavy_impact_rangeThe heavy impact range of the resulting explosion.
light_impact_rangeThe light impact range of the resulting explosion.
uncappedWhether this explosion ignores the bombcap.

Procs

detonateExplode and remove the object
explodable_attackCalled when you use this object to attack sopmething
explodable_attack_zoneCalled when you attack a specific body part of the thing this is equipped on. Useful for exploding pants.
explodable_insert_itemExplode if our parent is a storage place and something with high heat is inserted in.
is_hitting_zoneChecks if we're hitting the zone this component is covering
reset_explodingResets the expoding flag
welder_reactWelder check. Here because tool_act is higher priority than attackby.
+

Var Details

delete_after + + + + +

+

Whether we always delete. Useful for nukes turned plasma and such, so they don't default delete and can survive

devastation_range + + + + +

+

The devastation range of the resulting explosion.

equipped_slot + + + + +

+

For items, lets us determine where things should be hit.

exploding + + + + +

+

Whether this component is currently in the process of exploding.

flame_range + + + + +

+

The flame range of the resulting explosion.

flash_range + + + + +

+

The flash range of the resulting explosion.

heavy_impact_range + + + + +

+

The heavy impact range of the resulting explosion.

light_impact_range + + + + +

+

The light impact range of the resulting explosion.

uncapped + + + + +

+

Whether this explosion ignores the bombcap.

Proc Details

detonate +

+

Explode and remove the object

explodable_attack +

+

Called when you use this object to attack sopmething

explodable_attack_zone +

+

Called when you attack a specific body part of the thing this is equipped on. Useful for exploding pants.

explodable_insert_item +

+

Explode if our parent is a storage place and something with high heat is inserted in.

is_hitting_zone +

+

Checks if we're hitting the zone this component is covering

reset_exploding +

+

Resets the expoding flag

welder_react +

+

Welder check. Here because tool_act is higher priority than attackby.

+ + + diff --git a/datum/component/faction_granter.html b/datum/component/faction_granter.html new file mode 100644 index 000000000000..7a2b809603b6 --- /dev/null +++ b/datum/component/faction_granter.html @@ -0,0 +1,73 @@ + + + + + + + /datum/component/faction_granter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

faction_granter + + + +

+ +faction granter component! +

component attached to items, lets them be used in hand once to add yourself to a certain faction +one good example is the chaplain plushie that grants you the carp faction, making you friendly with them.

+ + + + + +

Vars

faction_to_grantwhichever faction the parent adds upon using in hand
grant_messagemessage given when granting the faction.
holy_role_requiredwhether you need to be holy to get the faction.
usedboolean on whether it has been used

Procs

on_examinesignal called on parent being examined
on_self_attacksignal called on parent being interacted with in hand
+

Var Details

faction_to_grant + + + + +

+

whichever faction the parent adds upon using in hand

grant_message + + + + +

+

message given when granting the faction.

holy_role_required + + + + +

+

whether you need to be holy to get the faction.

used + + + + +

+

boolean on whether it has been used

Proc Details

on_examine +

+

signal called on parent being examined

on_self_attack +

+

signal called on parent being interacted with in hand

+ + + diff --git a/datum/component/fantasy.html b/datum/component/fantasy.html new file mode 100644 index 000000000000..13649ac6d9fd --- /dev/null +++ b/datum/component/fantasy.html @@ -0,0 +1,49 @@ + + + + + + + /datum/component/fantasy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

fantasy + + + +

+ + + + +

Procs

Initializeaffixes expects an initialized list
randomAffixesproc on creation for random affixes
setAffixesproc on creation for specific affixes given to the fantasy component

Proc Details

Initialize +

+

affixes expects an initialized list

randomAffixes +

+

proc on creation for random affixes

setAffixes +

+

proc on creation for specific affixes given to the fantasy component

+ + + diff --git a/datum/component/food_storage.html b/datum/component/food_storage.html new file mode 100644 index 000000000000..97599d6db3d7 --- /dev/null +++ b/datum/component/food_storage.html @@ -0,0 +1,224 @@ + + + + + + + /datum/component/food_storage - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

food_storage + + + +

+ +

--Food storage component-- +This component lets you slide one item into large foods, such as bread, cheese wheels, or cakes. +Consuming food storages with an item inside can cause unique interactions, such as eating glass shards.

+ + + + + + + + + + + + +

Vars

bad_chance_of_discoveryWhat are the odds we bite into the stored item?
discoveredThe stored item was found out somehow.
good_chance_of_discoveryWhat are the odds we see the stored item before we bite it?
initial_volumeThe amount of volume the food has on creation - Used for probabilities
minimum_weight_classMinimum size items that can be inserted
stored_itemReference to what we have in our food.

Procs

begin_remove_item
consume_food_storage
insert_item
remove_itemRemoves the stored item, putting it in user's hands or on the ground, then updates the reference.
try_inserting_item
try_removing_item
update_stored_itemChance of biting the held item = amount of bites / (intitial reagents / reagents per bite) * 100 +Chance of finding the held item = bad chance - 50
+

Var Details

bad_chance_of_discovery + + + + +

+

What are the odds we bite into the stored item?

discovered + + + + +

+

The stored item was found out somehow.

good_chance_of_discovery + + + + +

+

What are the odds we see the stored item before we bite it?

initial_volume + + + + +

+

The amount of volume the food has on creation - Used for probabilities

minimum_weight_class + + + + +

+

Minimum size items that can be inserted

stored_item + + + + +

+

Reference to what we have in our food.

Proc Details

begin_remove_item +

+

consume_food_storage +

+

insert_item +

+

remove_item +

+

Removes the stored item, putting it in user's hands or on the ground, then updates the reference.

try_inserting_item +

+

try_removing_item +

+

update_stored_item +

+

Chance of biting the held item = amount of bites / (intitial reagents / reagents per bite) * 100 +Chance of finding the held item = bad chance - 50

+
+ + + diff --git a/datum/component/gas_leaker.html b/datum/component/gas_leaker.html new file mode 100644 index 000000000000..ee3d53d90e32 --- /dev/null +++ b/datum/component/gas_leaker.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/gas_leaker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

gas_leaker + + + +

+ +

A component to leak gas over time from damaged objects with gas storage

+ + + + +

Vars

atmos_processingMirror of the machine var signifying whether this is live in the air subsystem
hibernatingMirror of the machine var, unused for gas_leaker specifically.
integrity_leak_percentThe percent of max integrity that we start leaking. From 0 to 1
leak_rateThe rate at which gas leaks, you probably want this very low. From 0 to 1
process_typeKeeps track of what type we were attached to so we don't need to istype every process
+

Var Details

atmos_processing + + + + +

+

Mirror of the machine var signifying whether this is live in the air subsystem

hibernating + + + + +

+

Mirror of the machine var, unused for gas_leaker specifically.

integrity_leak_percent + + + + +

+

The percent of max integrity that we start leaking. From 0 to 1

leak_rate + + + + +

+

The rate at which gas leaks, you probably want this very low. From 0 to 1

process_type + + + + +

+

Keeps track of what type we were attached to so we don't need to istype every process

+ + + diff --git a/datum/component/genetic_damage.html b/datum/component/genetic_damage.html new file mode 100644 index 000000000000..de89209b920f --- /dev/null +++ b/datum/component/genetic_damage.html @@ -0,0 +1,60 @@ + + + + + + + /datum/component/genetic_damage - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

genetic_damage + + + +

+ +

Genetic damage, given by DNA consoles, will start to deal toxin damage +past a certain threshold, and will go down consistently. +Adding multiple of this component will increase the total damage. +Can turn monkeys into gorillas.

+ + + +

Vars

minimum_before_damageThe amount of genetic damage a mob can sustain before taking damage
remove_per_secondThe amount of genetic damage to remove per second
total_damageThe total genetic damage on the mob
toxin_damage_per_secondThe amount of toxin damage to deal per second, if over the minimum before taking damage
+

Var Details

minimum_before_damage + + + + +

+

The amount of genetic damage a mob can sustain before taking damage

remove_per_second + + + + +

+

The amount of genetic damage to remove per second

total_damage + + + + +

+

The total genetic damage on the mob

toxin_damage_per_second + + + + +

+

The amount of toxin damage to deal per second, if over the minimum before taking damage

+ + + diff --git a/datum/component/gps/item.html b/datum/component/gps/item.html new file mode 100644 index 000000000000..690983000b7d --- /dev/null +++ b/datum/component/gps/item.html @@ -0,0 +1,78 @@ + + + + + + + /datum/component/gps/item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

item + + + +

+ +

GPS component subtype. Only gps/item's can be used to open the UI.

+ + + + + + +

Vars

stateUI state of GPS, altering when it can be used.

Procs

interactCalled on COMSIG_ITEM_ATTACK_SELF
on_AltClickCalls toggletracking
on_emp_actCalled on COMSIG_ATOM_EMP_ACT
on_examineCalled on COMSIG_PARENT_EXAMINE
rebootRestarts the GPS after getting turned off by an EMP.
toggletrackingToggles the tracking for the gps
+

Var Details

state + + + + +

+

UI state of GPS, altering when it can be used.

Proc Details

interact +

+

Called on COMSIG_ITEM_ATTACK_SELF

on_AltClick +

+

Calls toggletracking

on_emp_act +

+

Called on COMSIG_ATOM_EMP_ACT

on_examine +

+

Called on COMSIG_PARENT_EXAMINE

reboot +

+

Restarts the GPS after getting turned off by an EMP.

toggletracking +

+

Toggles the tracking for the gps

+ + + diff --git a/datum/component/grillable.html b/datum/component/grillable.html new file mode 100644 index 000000000000..e8ea1e5172f2 --- /dev/null +++ b/datum/component/grillable.html @@ -0,0 +1,106 @@ + + + + + + + /datum/component/grillable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

grillable + + + +

+ + + + + + + + + + + + +

Vars

cook_resultResult atom type of grilling this object
current_cook_timeTime spent cooking so far
currently_grillingAre we currently grilling?
positive_resultIs this a positive grill result?
required_cook_timeAmount of time required to cook the food
use_large_steam_spriteDo we use the large steam sprite?

Procs

FinishGrillingRan when an object finished grilling
OnExamineRan when an object almost finishes grilling
OnGrillRan every time an item is grilled by something
OnMovedRan when an object moves from the grill
StartGrillingRan when an object starts grilling on something
+

Var Details

cook_result + + + + +

+

Result atom type of grilling this object

current_cook_time + + + + +

+

Time spent cooking so far

currently_grilling + + + + +

+

Are we currently grilling?

positive_result + + + + +

+

Is this a positive grill result?

required_cook_time + + + + +

+

Amount of time required to cook the food

use_large_steam_sprite + + + + +

+

Do we use the large steam sprite?

Proc Details

FinishGrilling +

+

Ran when an object finished grilling

OnExamine +

+

Ran when an object almost finishes grilling

OnGrill +

+

Ran every time an item is grilled by something

OnMoved +

+

Ran when an object moves from the grill

StartGrilling +

+

Ran when an object starts grilling on something

+ + + diff --git a/datum/component/hazard_area.html b/datum/component/hazard_area.html new file mode 100644 index 000000000000..c97f279e9548 --- /dev/null +++ b/datum/component/hazard_area.html @@ -0,0 +1,115 @@ + + + + + + + /datum/component/hazard_area - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

hazard_area + + + +

+ +

This is a relatively simple component that attempts to deter the parent of the component away +from a specific area or areas. By default it simply applies a penalty where all movement is +four times slower than usual and any action that would affect your 'next move' has a penalty +multiplier of 4 attached.

+ + + + + + + + + +

Vars

area_blacklistThe blacklist of areas that the parent will be penalized for entering
area_createdA list of areas that have been created and are considered to not be hazardous
area_whitelistThe whitelist of areas that the parent is allowed to be in. If set this overrides the blacklist
last_parent_areaA variable storing the typepath of the last checked area to prevent any further logic running if it has not changed

Procs

check_area_hazardousChecks if the area being checked is considered hazardous +The whitelist is checked first if it exists, otherwise it checks if it is in the blacklist
handle_parent_area_changeThis signal should be called whenever our parent moves.
on_area_creationThis signal handler does a few house cleaning tasks when a new area is created. +If the created area already exists in the blacklist or whitelist it simply returns, +however if it isn't we check for an overwritten area and if non-hazardous setup the area to +allow the parent. +If there isnt an overwritten area it assumes it to be non-hazardous, abuse it and you will weep -ZephyrTFA
reject_ladder_movementThis signal handler checks the area the target ladder is in and if hazardous prevents them from using it
reject_vehicleA simple signal handler that informs the parent they cannot ride a vehicle and ejects them
update_parent_status_effectThis proc handles the status effect applied to the parent, most noteably applying or removing it as required
+

Var Details

area_blacklist + + + + +

+

The blacklist of areas that the parent will be penalized for entering

area_created + + + + +

+

A list of areas that have been created and are considered to not be hazardous

area_whitelist + + + + +

+

The whitelist of areas that the parent is allowed to be in. If set this overrides the blacklist

last_parent_area + + + + +

+

A variable storing the typepath of the last checked area to prevent any further logic running if it has not changed

Proc Details

check_area_hazardous +

+

Checks if the area being checked is considered hazardous +The whitelist is checked first if it exists, otherwise it checks if it is in the blacklist

+

handle_parent_area_change +

+

This signal should be called whenever our parent moves.

on_area_creation +

+

This signal handler does a few house cleaning tasks when a new area is created. +If the created area already exists in the blacklist or whitelist it simply returns, +however if it isn't we check for an overwritten area and if non-hazardous setup the area to +allow the parent. +If there isnt an overwritten area it assumes it to be non-hazardous, abuse it and you will weep -ZephyrTFA

reject_ladder_movement +

+

This signal handler checks the area the target ladder is in and if hazardous prevents them from using it

reject_vehicle +

+

A simple signal handler that informs the parent they cannot ride a vehicle and ejects them

update_parent_status_effect +

+

This proc handles the status effect applied to the parent, most noteably applying or removing it as required

+ + + diff --git a/datum/component/heirloom.html b/datum/component/heirloom.html new file mode 100644 index 000000000000..7f4e9115223b --- /dev/null +++ b/datum/component/heirloom.html @@ -0,0 +1,51 @@ + + + + + + + /datum/component/heirloom - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

heirloom + + + +

+ +

Heirloom component. For use with the family heirloom quirk, tracks that an item is someone's family heirloom.

+ + +

Vars

family_nameFlavor. The family name of the owner of the heirloom.
ownerThe mind that actually owns our heirloom.

Procs

on_examineSignal proc for COMSIG_PARENT_EXAMINE.
+

Var Details

family_name + + + + +

+

Flavor. The family name of the owner of the heirloom.

owner + + + + +

+

The mind that actually owns our heirloom.

Proc Details

on_examine +

+

Signal proc for COMSIG_PARENT_EXAMINE.

+

Shows who owns the heirloom on examine.

+ + + diff --git a/datum/component/holderloving.html b/datum/component/holderloving.html new file mode 100644 index 000000000000..44ffb39e3b66 --- /dev/null +++ b/datum/component/holderloving.html @@ -0,0 +1,75 @@ + + + + + + + /datum/component/holderloving - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

holderloving + + + +

+ + + +

Vars

del_parent_with_holderIf parent is deleted when the holder gets deleted
holder
+

Var Details

del_parent_with_holder + + + + +

+

If parent is deleted when the holder gets deleted

holder + + + + +

+
+ + + diff --git a/datum/component/ice_cream_holder.html b/datum/component/ice_cream_holder.html new file mode 100644 index 000000000000..2a0036115bc5 --- /dev/null +++ b/datum/component/ice_cream_holder.html @@ -0,0 +1,103 @@ + + + + + + + /datum/component/ice_cream_holder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ice_cream_holder + + + +

+ +

Ice Cream Holder: Allows the edible parent object to be used as an ice cream cone (or cup... in a next future).

+ + + + + + + + + +

Vars

change_nameChanges the name of the food depending on amount and flavours of ice cream on it.
filled_namename to use, if set, in place of [src] on update_name.
max_scoopsNumber of servings of ice cream it can get through normal methods.
scoopsList of servings of ice cream it is holding at the moment.
special_scoopsServings of ice cream with custom names as key, and their base ones as assoc. (useful for mob/custom ice cream)
x_offsetpixel offsets for scoop overlays. Useful for objects with off-centered sprites.

Procs

on_examine_moreOnly one flavour. +Many flavours.
on_item_attack_objAttack the ice cream vat to get some ice cream. This will change as new ways of getting ice cream are added.
on_update_nameThere is no easy way to add servings to those non-item edibles, but I won't stop you.
on_update_overlaysOnly one flavour. +Many flavours.
+

Var Details

change_name + + + + +

+

Changes the name of the food depending on amount and flavours of ice cream on it.

filled_name + + + + +

+

name to use, if set, in place of [src] on update_name.

max_scoops + + + + +

+

Number of servings of ice cream it can get through normal methods.

scoops + + + + +

+

List of servings of ice cream it is holding at the moment.

special_scoops + + + + +

+

Servings of ice cream with custom names as key, and their base ones as assoc. (useful for mob/custom ice cream)

x_offset + + + + +

+

pixel offsets for scoop overlays. Useful for objects with off-centered sprites.

Proc Details

on_examine_more +

+

Only one flavour. +Many flavours.

on_item_attack_obj +

+

Attack the ice cream vat to get some ice cream. This will change as new ways of getting ice cream are added.

on_update_name +

+

There is no easy way to add servings to those non-item edibles, but I won't stop you.

on_update_overlays +

+

Only one flavour. +Many flavours.

+ + + diff --git a/datum/component/itempicky.html b/datum/component/itempicky.html new file mode 100644 index 000000000000..7aeaadbc4ba3 --- /dev/null +++ b/datum/component/itempicky.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/itempicky - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

itempicky + + + +

+ +

You can only hold whitelisted items

+ +

Vars

messageMessage shown if you try to pick up an item not in the whitelist
whitelistTypecache of items you can hold
+

Var Details

message + + + + +

+

Message shown if you try to pick up an item not in the whitelist

whitelist + + + + +

+

Typecache of items you can hold

+ + + diff --git a/datum/component/jetpack.html b/datum/component/jetpack.html new file mode 100644 index 000000000000..141bac7e2a4f --- /dev/null +++ b/datum/component/jetpack.html @@ -0,0 +1,101 @@ + + + + + + + /datum/component/jetpack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

jetpack + + + +

+ + + + + + + + + + +

Vars

activation_signalThe signal we listen for as an activation
deactivation_signalThe signal we listen for as a de-activation
effect_typeThe typepath to instansiate our trail as, when we need it
return_flagThe return flag our parent expects for a failed activation
stabilizeIf we should stabilize ourselves when not drifting

Procs

InitializeArguments:
block_starting_visualsBasically, tell the drift component not to do its starting visuals, because they look dumb for us
ignore_ending_blockIf we're on, don't let the drift component block movements at the end since we can speed
thrustReturns true if the thrust went well, false otherwise
+

Var Details

activation_signal + + + + +

+

The signal we listen for as an activation

deactivation_signal + + + + +

+

The signal we listen for as a de-activation

effect_type + + + + +

+

The typepath to instansiate our trail as, when we need it

return_flag + + + + +

+

The return flag our parent expects for a failed activation

stabilize + + + + +

+

If we should stabilize ourselves when not drifting

Proc Details

Initialize +

+

Arguments:

+

block_starting_visuals +

+

Basically, tell the drift component not to do its starting visuals, because they look dumb for us

ignore_ending_block +

+

If we're on, don't let the drift component block movements at the end since we can speed

thrust +

+

Returns true if the thrust went well, false otherwise

+ + + diff --git a/datum/component/knockoff.html b/datum/component/knockoff.html new file mode 100644 index 000000000000..c72eaa30901d --- /dev/null +++ b/datum/component/knockoff.html @@ -0,0 +1,95 @@ + + + + + + + /datum/component/knockoff - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

knockoff + + + +

+ +

Items with this component will have a chance to get knocked off +(unequipped and sent to the ground) when the wearer is disarmed or knocked down.

+ + + + + + +

Vars

knockoff_chanceChance to knockoff when a knockoff action occurs.
slots_knockoffableBitflag used in equip to determine what slots we need to be in to be knocked off. +If set, we must be equipped in one of the slots to have a chance of our item being knocked off. +If unset / NONE, a disarm or knockdown will have a chance of our item being knocked off regardless of slot, INCLUDING hand slots.
target_zonesUsed in being disarmed. +If set, we will only roll the knockoff chance if the disarmer is targeting one of these zones. +If unset, any disarm act will cause the knock-off chance to be rolled, no matter the zone targeted.

Procs

on_droppedSignal proc for COMSIG_ITEM_DROPPED +Unregisters our signals which can cause a knockdown when we're unequipped (dropped)
on_equippedSignal proc for COMSIG_ITEM_EQUIPPED +Registers our signals which can cause a knockdown whenever we're equipped correctly
on_equipped_mob_disarmSignal proc for COMSIG_HUMAN_DISARM_HIT on the mob who's equipped our parent +Rolls a chance for knockoff whenever we're disarmed
on_equipped_mob_knockdownSignal proc for COMSIG_LIVING_STATUS_KNOCKDOWN on the mob who's equipped our parent +Rolls a chance for knockoff whenever we're knocked down
+

Var Details

knockoff_chance + + + + +

+

Chance to knockoff when a knockoff action occurs.

slots_knockoffable + + + + +

+

Bitflag used in equip to determine what slots we need to be in to be knocked off. +If set, we must be equipped in one of the slots to have a chance of our item being knocked off. +If unset / NONE, a disarm or knockdown will have a chance of our item being knocked off regardless of slot, INCLUDING hand slots.

target_zones + + + + +

+

Used in being disarmed. +If set, we will only roll the knockoff chance if the disarmer is targeting one of these zones. +If unset, any disarm act will cause the knock-off chance to be rolled, no matter the zone targeted.

Proc Details

on_dropped +

+

Signal proc for COMSIG_ITEM_DROPPED +Unregisters our signals which can cause a knockdown when we're unequipped (dropped)

on_equipped +

+

Signal proc for COMSIG_ITEM_EQUIPPED +Registers our signals which can cause a knockdown whenever we're equipped correctly

on_equipped_mob_disarm +

+

Signal proc for COMSIG_HUMAN_DISARM_HIT on the mob who's equipped our parent +Rolls a chance for knockoff whenever we're disarmed

on_equipped_mob_knockdown +

+

Signal proc for COMSIG_LIVING_STATUS_KNOCKDOWN on the mob who's equipped our parent +Rolls a chance for knockoff whenever we're knocked down

+ + + diff --git a/datum/component/label.html b/datum/component/label.html new file mode 100644 index 000000000000..27553904bcc4 --- /dev/null +++ b/datum/component/label.html @@ -0,0 +1,94 @@ + + + + + + + /datum/component/label - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

label + + + +

+ +

The label component.

+

This component is used to manage labels applied by the hand labeler.

+

Atoms can only have one instance of this component, and therefore only one label at a time. +This is to avoid having names like "Backpack (label1) (label2) (label3)". This is annoying and abnoxious to read.

+

When a player clicks the atom with a hand labeler to apply a label, this component gets applied to it. +If the labeler is off, the component will be removed from it, and the label will be removed from its name.

+ + + + + +

Vars

label_nameThe name of the label the player is applying to the parent.

Procs

ExamineThis proc will trigger when someone examines the parent. +It will attach the text found in the body of the proc to the examine_list and display it to the player examining the parent.
InheritComponentThis proc will fire after the parent is hit by a hand labeler which is trying to apply another label. +Since the parent already has a label, it will remove the old one from the parent's name, and apply the new one.
OnAttackbyThis proc will trigger when any object is used to attack the parent.
apply_labelApplies a label to the name of the parent in the format of: "parent_name (label)"
remove_labelRemoves the label from the parent's name
+

Var Details

label_name + + + + +

+

The name of the label the player is applying to the parent.

Proc Details

Examine +

+

This proc will trigger when someone examines the parent. +It will attach the text found in the body of the proc to the examine_list and display it to the player examining the parent.

+

Arguments:

+

InheritComponent +

+

This proc will fire after the parent is hit by a hand labeler which is trying to apply another label. +Since the parent already has a label, it will remove the old one from the parent's name, and apply the new one.

OnAttackby +

+

This proc will trigger when any object is used to attack the parent.

+

If the attacking object is not a hand labeler, it will return. +If the attacking object is a hand labeler it will restore the name of the parent to what it was before this component was added to it, and the component will be deleted.

+

Arguments:

+

apply_label +

+

Applies a label to the name of the parent in the format of: "parent_name (label)"

remove_label +

+

Removes the label from the parent's name

+ + + diff --git a/datum/component/light_eater.html b/datum/component/light_eater.html new file mode 100644 index 000000000000..9dce4dc57a6d --- /dev/null +++ b/datum/component/light_eater.html @@ -0,0 +1,51 @@ + + + + + + + /datum/component/light_eater - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

light_eater + + + +

+ +

Makes anything it attaches to capable of removing something's ability to produce light until it is destroyed

+

The permanent version of this is /datum/element/light_eater

+ + +

Vars

eaten_lightsTracks things this light eater has eaten

Procs

deref_eaten_lightHandles dereferencing deleted lights.
on_devourHandles storing references to lights eaten by the light eater.
+

Var Details

eaten_lights + + + + +

+

Tracks things this light eater has eaten

Proc Details

deref_eaten_light +

+

Handles dereferencing deleted lights.

on_devour +

+

Handles storing references to lights eaten by the light eater.

+ + + diff --git a/datum/component/living_heart.html b/datum/component/living_heart.html new file mode 100644 index 000000000000..e595fc03edeb --- /dev/null +++ b/datum/component/living_heart.html @@ -0,0 +1,62 @@ + + + + + + + /datum/component/living_heart - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Living Heart Component + + + +

+ +

Applied to a heart to turn it into a heretic's 'living heart'. +The living heart is what they use to track people they need to sacrifice.

+

This component handles adding the associated action, as well as updating the heart's icon.

+

Must be attached to an organ located within a heretic. +If removed from the body of a heretic, it will self-delete and become a normal heart again.

+ + + +

Vars

actionThe action we create and give to our heart.
old_iconThe icon of the heart before we made it a living heart.
old_icon_stateThe icon_state of the heart before we made it a living heart.

Procs

on_organ_removedSignal proc for COMSIG_ORGAN_REMOVED.
+

Var Details

action + + + + +

+

The action we create and give to our heart.

old_icon + + + + +

+

The icon of the heart before we made it a living heart.

old_icon_state + + + + +

+

The icon_state of the heart before we made it a living heart.

Proc Details

on_organ_removed +

+

Signal proc for COMSIG_ORGAN_REMOVED.

+

If the organ is removed, the component will remove itself.

+ + + diff --git a/datum/component/lock_on_cursor.html b/datum/component/lock_on_cursor.html new file mode 100644 index 000000000000..e593baaab889 --- /dev/null +++ b/datum/component/lock_on_cursor.html @@ -0,0 +1,156 @@ + + + + + + + /datum/component/lock_on_cursor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

lock_on_cursor + + + +

+ +Lock on Cursor component +

Finds the nearest targets to your cursor and passes them into a callback, also drawing an icon on top of them.

+ + + + + + + + + + + + + + + + + +

Vars

can_target_callbackCallback to call in order to validate a potential target
current_ranging_idRanging ID for some kind of tick check safety calculation
immune_weakrefsCache of weakrefs to ignore targetting formatted as list(weakref = TRUE)
lock_amountNumber of things we can target at once
lock_appearanceAppearance to overlay onto whatever we are targetting
lock_cursor_rangeRange to search for targets from the cursor position
lock_imagesCurrent images we are displaying to the client
locked_weakrefsWeakrefs to current locked targets
mouse_trackerFull screen overlay which is used to track mouse position
on_lockCallback to call when we have decided on our targets, is passed the list of final targets
target_typecacheTypecache of things we are allowed to target

Procs

can_targetReturns true if target is a valid target
clear_invalid_targetsRemoves targets which are out of range or don't exist any more
clear_visualsRemoves target overlays
find_targetsReplace our targets with new ones
get_nearestReturns the nearest targets to the current cursor position
refresh_visualsReset the overlays on all targets
show_visualsAdds overlays to all targets
+

Var Details

can_target_callback + + + + +

+

Callback to call in order to validate a potential target

current_ranging_id + + + + +

+

Ranging ID for some kind of tick check safety calculation

immune_weakrefs + + + + +

+

Cache of weakrefs to ignore targetting formatted as list(weakref = TRUE)

lock_amount + + + + +

+

Number of things we can target at once

lock_appearance + + + + +

+

Appearance to overlay onto whatever we are targetting

lock_cursor_range + + + + +

+

Range to search for targets from the cursor position

lock_images + + + + +

+

Current images we are displaying to the client

locked_weakrefs + + + + +

+

Weakrefs to current locked targets

mouse_tracker + + + + +

+

Full screen overlay which is used to track mouse position

on_lock + + + + +

+

Callback to call when we have decided on our targets, is passed the list of final targets

target_typecache + + + + +

+

Typecache of things we are allowed to target

Proc Details

can_target +

+

Returns true if target is a valid target

clear_invalid_targets +

+

Removes targets which are out of range or don't exist any more

clear_visuals +

+

Removes target overlays

find_targets +

+

Replace our targets with new ones

get_nearest +

+

Returns the nearest targets to the current cursor position

refresh_visuals +

+

Reset the overlays on all targets

show_visuals +

+

Adds overlays to all targets

+ + + diff --git a/datum/component/material_container.html b/datum/component/material_container.html new file mode 100644 index 000000000000..a18fae5f7773 --- /dev/null +++ b/datum/component/material_container.html @@ -0,0 +1,277 @@ + + + + + + + /datum/component/material_container - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

material_container + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

after_insertA callback invoked after materials are inserted into this container
allowed_item_typecacheThe typecache of things that this material container can accept
allowed_materialsThe list of materials that this material container can accept
insertion_checkA callback for checking wheter we can insert a material into this container
last_inserted_idThe last main material that was inserted into this container
mat_container_flagsThe material container flags. See __DEFINES/materials.dm.
materialsMap of material ref -> amount
max_amountThe maximum amount of materials this material container can contain
precise_insertionWhether or not this material container allows specific amounts from sheets to be inserted
preconditionA callback invoked before materials are inserted into this container
total_amountThe total amount of materials this material container contains

Procs

InitializeSets up the proper signals and fills the list of materials with the appropriate references.
amount2sheetTurns a material amount into the amount of sheets it should output
can_hold_materialThe default check for whether we can add materials to this material container.
can_insert_amount_matProc for checking if there is room in the component, returning the amount or else the amount lacking.
get_categoriesReturns all the categories in a recipe.
get_item_material_amountreturns the amount of material relevant to this container; if this container does not support glass, any glass in 'I' will not be taken into account
get_material_amountReturns the amount of a specific material in this container.
has_enough_of_categoryReturns TRUE if you have enough of a specified material category (Which could be multiple materials)
has_enough_of_materialReturns TRUE if you have enough of the specified material.
has_materialsChecks if its possible to afford a certain amount of materials. Takes a dictionary of materials.
has_spaceProc that returns TRUE if the container has space
insert_amount_matFor inserting an amount of material
insert_itemProc specifically for inserting items, returns the amount of materials entered.
insert_item_materialsInserts the relevant materials from an item into this material container.
on_attackbyProc that allows players to fill the parent with mats
retrieve_allProc to get all the materials and dump them as sheets
retrieve_sheetsFor spawning mineral sheets at a specific location. Used by machines to output sheets.
sheet2amountTurns an amount of sheets into the amount of material amount it should output
transer_amt_toProc for transfering materials to another container.
ui_dataList format is list(material_name = list(amount = ..., ref = ..., etc.))
use_amount_matUses an amount of a specific material, effectively removing it.
use_materialsFor consuming a dictionary of materials. mats is the map of materials to use and the corresponding amounts, example: list(M/datum/material/glass =100, datum/material/iron=200)
user_insertProc used for when player inserts materials
+

Var Details

after_insert + + + + +

+

A callback invoked after materials are inserted into this container

allowed_item_typecache + + + + +

+

The typecache of things that this material container can accept

allowed_materials + + + + +

+

The list of materials that this material container can accept

insertion_check + + + + +

+

A callback for checking wheter we can insert a material into this container

last_inserted_id + + + + +

+

The last main material that was inserted into this container

mat_container_flags + + + + +

+

The material container flags. See __DEFINES/materials.dm.

materials + + + + +

+

Map of material ref -> amount

max_amount + + + + +

+

The maximum amount of materials this material container can contain

precise_insertion + + + + +

+

Whether or not this material container allows specific amounts from sheets to be inserted

precondition + + + + +

+

A callback invoked before materials are inserted into this container

total_amount + + + + +

+

The total amount of materials this material container contains

Proc Details

Initialize +

+

Sets up the proper signals and fills the list of materials with the appropriate references.

amount2sheet +

+

Turns a material amount into the amount of sheets it should output

can_hold_material +

+

The default check for whether we can add materials to this material container.

+

Arguments:

+

can_insert_amount_mat +

+

Proc for checking if there is room in the component, returning the amount or else the amount lacking.

get_categories +

+

Returns all the categories in a recipe.

get_item_material_amount +

+

returns the amount of material relevant to this container; if this container does not support glass, any glass in 'I' will not be taken into account

get_material_amount +

+

Returns the amount of a specific material in this container.

has_enough_of_category +

+

Returns TRUE if you have enough of a specified material category (Which could be multiple materials)

has_enough_of_material +

+

Returns TRUE if you have enough of the specified material.

has_materials +

+

Checks if its possible to afford a certain amount of materials. Takes a dictionary of materials.

has_space +

+

Proc that returns TRUE if the container has space

insert_amount_mat +

+

For inserting an amount of material

insert_item +

+

Proc specifically for inserting items, returns the amount of materials entered.

insert_item_materials +

+

Inserts the relevant materials from an item into this material container.

+

Arguments:

+

on_attackby +

+

Proc that allows players to fill the parent with mats

retrieve_all +

+

Proc to get all the materials and dump them as sheets

retrieve_sheets +

+

For spawning mineral sheets at a specific location. Used by machines to output sheets.

sheet2amount +

+

Turns an amount of sheets into the amount of material amount it should output

transer_amt_to +

+

Proc for transfering materials to another container.

ui_data +

+

List format is list(material_name = list(amount = ..., ref = ..., etc.))

use_amount_mat +

+

Uses an amount of a specific material, effectively removing it.

use_materials +

+

For consuming a dictionary of materials. mats is the map of materials to use and the corresponding amounts, example: list(M/datum/material/glass =100, datum/material/iron=200)

user_insert +

+

Proc used for when player inserts materials

+ + + diff --git a/datum/component/mind_linker.html b/datum/component/mind_linker.html new file mode 100644 index 000000000000..1021ea752f00 --- /dev/null +++ b/datum/component/mind_linker.html @@ -0,0 +1,142 @@ + + + + + + + /datum/component/mind_linker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Mind Linker + + + +

+ +

A component that handles linking multiple player's minds +into one network which allows them to talk directly to one another. +Like telepathy but for multiple people at once!

+ + + + + + + + + + + + + + +

Vars

chat_colorThe color of the network when talking in chat
link_messageThe message sent to someone when linked up.
linked_mobsAn assoc list of mob/livings to datum/action/innate/linked_speechs. All the mobs that are linked to our network.
linker_actionThe master's linking action, which allows them to link people to the network.
master_speechThe master's speech action. The owner of the link shouldn't lose this as long as the link remains.
network_nameThe name of our network, displayed to all users.
post_unlink_callbackA callback invoked after an unlink is done. Optional.
signals_which_destroy_usA list of all signals that will call qdel() on our component if triggered. Optional.
speech_action_background_icon_stateThe icon background for the speech action handed out.
speech_action_iconThe icon file given to the speech action handed out.
speech_action_icon_stateThe icon state applied to the speech action handed out.
unlink_messageThe message sent to someone when unlinked.

Procs

destroy_linkSignal proc sent from any signals given to us initialize. +Destroys our component and unlinks everyone.
link_mobAttempts to link [to_link] to our network, giving them a speech action.
unlink_mobUnlinks [to_unlink] from our network, deleting their speech action +and cleaning up anything involved.
+

Var Details

chat_color + + + + +

+

The color of the network when talking in chat

+

The message sent to someone when linked up.

linked_mobs + + + + +

+

An assoc list of mob/livings to datum/action/innate/linked_speechs. All the mobs that are linked to our network.

linker_action + + + + +

+

The master's linking action, which allows them to link people to the network.

master_speech + + + + +

+

The master's speech action. The owner of the link shouldn't lose this as long as the link remains.

network_name + + + + +

+

The name of our network, displayed to all users.

+

A callback invoked after an unlink is done. Optional.

signals_which_destroy_us + + + + +

+

A list of all signals that will call qdel() on our component if triggered. Optional.

speech_action_background_icon_state + + + + +

+

The icon background for the speech action handed out.

speech_action_icon + + + + +

+

The icon file given to the speech action handed out.

speech_action_icon_state + + + + +

+

The icon state applied to the speech action handed out.

+

The message sent to someone when unlinked.

Proc Details

+

Signal proc sent from any signals given to us initialize. +Destroys our component and unlinks everyone.

+

Attempts to link [to_link] to our network, giving them a speech action.

+

Returns TRUE if successful, FALSE otherwise

+

Unlinks [to_unlink] from our network, deleting their speech action +and cleaning up anything involved.

+

Also invokes post_unlink_callback, if supplied.

+ + + diff --git a/datum/component/multiple_lives.html b/datum/component/multiple_lives.html new file mode 100644 index 000000000000..3afb4fcf9e12 --- /dev/null +++ b/datum/component/multiple_lives.html @@ -0,0 +1,44 @@ + + + + + + + /datum/component/multiple_lives - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

multiple_lives + + + +

+ +

A simple component that spawns a mob of the same type and transfers itself to it when parent dies. +For more complex behaviors, use the COMSIG_ON_MULTIPLE_LIVES_RESPAWN comsig.

+ +

Vars

lives_leftThe number of respawns the living mob has left.

Procs

on_write_memoryStops a dying station pet from overriding persistence data before we respawn it and thus causing issues.
+

Var Details

lives_left + + + + +

+

The number of respawns the living mob has left.

Proc Details

on_write_memory +

+

Stops a dying station pet from overriding persistence data before we respawn it and thus causing issues.

+ + + diff --git a/datum/component/omen.html b/datum/component/omen.html new file mode 100644 index 000000000000..2e53e07ba89d --- /dev/null +++ b/datum/component/omen.html @@ -0,0 +1,69 @@ + + + + + + + /datum/component/omen - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

omen + + + +

+ +

omen.dm: For when you want someone to have a really bad day

+

When you attach an omen component to someone, they start running the risk of all sorts of bad environmental injuries, like nearby vending machines randomly falling on you, +or hitting your head really hard when you slip and fall, or... well, for now those two are all I have. More will come.

+

Omens are removed once the victim is either maimed by one of the possible injuries, or if they receive a blessing (read: bashing with a bible) from the chaplain.

+ + + + +

Vars

permanentWhether this is a permanent omen that cannot be removed by any non-admin means.
vesselWhatever's causing the omen, if there is one. Destroying the vessel won't stop the omen, but we destroy the vessel (if one exists) upon the omen ending

Procs

check_accidentcheck_accident() is called each step we take
check_blessHijack the mood system to see if we get the blessing mood event to cancel the omen
check_slipIf we get knocked down, see if we have a really bad slip and bash our head hard
+

Var Details

permanent + + + + +

+

Whether this is a permanent omen that cannot be removed by any non-admin means.

vessel + + + + +

+

Whatever's causing the omen, if there is one. Destroying the vessel won't stop the omen, but we destroy the vessel (if one exists) upon the omen ending

Proc Details

check_accident +

+

check_accident() is called each step we take

+

While we're walking around, roll to see if there's any environmental hazards (currently only vending machines) on one of the adjacent tiles we can trigger. +We do the prob() at the beginning to A. add some tension for /when/ it will strike, and B. (more importantly) ameliorate the fact that we're checking up to 5 turfs's contents each time

check_bless +

+

Hijack the mood system to see if we get the blessing mood event to cancel the omen

check_slip +

+

If we get knocked down, see if we have a really bad slip and bash our head hard

+ + + diff --git a/datum/component/overlay_lighting.html b/datum/component/overlay_lighting.html new file mode 100644 index 000000000000..d560aac3305e --- /dev/null +++ b/datum/component/overlay_lighting.html @@ -0,0 +1,349 @@ + + + + + + + /datum/component/overlay_lighting - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

overlay_lighting + + + +

+ +

Movable atom overlay-based lighting component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

affected_turfsLazy list to track the turfs being affected by our light, to determine their visibility.
cast_rangeCast range for the directional cast (how far away the atom is moved)
coneA cone overlay for directional light, it's alpha and color are dependant on the light
current_directionCurrent tracked direction for the directional cast behaviour
current_holderMovable atom currently holding the light. Parent might be a flashlight, for example, but that might be held by a mob or something else.
directionalWhether we're a directional light
directional_offset_xTracks current directional x offset so we dont update unecessarily
directional_offset_yTracks current directional y offset so we dont update unecessarily
light_overlaysCache of the possible light overlays, according to size.
lum_powerHow much this light affects the dynamic_lumcount of turfs.
lumcount_rangeCeiling of range, integer without decimal entries.
overlay_lighting_flagsFor light sources that can be turned on and off.
parent_attached_toMovable atom the parent is attached to. For example, a flashlight into a helmet or gun. We'll need to track the thing the parent is attached to as if it were the parent itself.
rangeHow far the light reaches, float.
set_alphaTransparency value.
visible_maskOverlay effect to cut into the darkness and provide light.

Procs

add_dynamic_lumiAdds the luminosity and source for the afected movable atoms to keep track of their visibility.
cast_directional_lightHere we append the behavior associated to changing lum_power.
check_holderUsed to determine the new valid current_holder from the parent's loc.
clean_old_turfsClears the affected_turfs lazylist, removing from its contents the effects of being near the light.
get_new_turfsPopulates the affected_turfs lazylist, adding to its contents the effects of being near the light.
make_luminosity_updateClears the old affected turfs and populates the new ones.
on_holder_dir_changeCalled when current_holder changes loc.
on_holder_movedCalled when current_holder changes loc.
on_holder_qdelCalled when the current_holder is qdeleted, to remove the light effect.
on_light_eaterHandles putting the source for overlay lights into the light eater queue since we aren't tracked by /atom/var/light_sources
on_light_flags_changeTriggered right after the parent light flags change.
on_parent_attached_to_movedCalled when parent_attached_to changes loc.
on_parent_attached_to_qdelCalled when the current_holder is qdeleted, to remove the light effect.
on_parent_dir_changeCalled when parent changes loc.
on_parent_movedCalled when parent changes loc.
on_toggleToggles the light on and off.
remove_dynamic_lumiRemoves the luminosity and source for the afected movable atoms to keep track of their visibility.
set_colorChanges the light's color, pretty straightforward.
set_directionSets a new direction for the directional cast, then updates luminosity
set_holderCalled to change the value of current_holder.
set_lum_powerHere we append the behavior associated to changing lum_power.
set_parent_attached_toCalled to change the value of parent_attached_to.
set_powerChanges the intensity/brightness of the light by altering the visual object's alpha.
set_rangeChanges the range which the light reaches. 0 means no light, 6 is the maximum value.
turn_offToggles the light off.
turn_onToggles the light on.
+

Var Details

affected_turfs + + + + +

+

Lazy list to track the turfs being affected by our light, to determine their visibility.

cast_range + + + + +

+

Cast range for the directional cast (how far away the atom is moved)

cone + + + + +

+

A cone overlay for directional light, it's alpha and color are dependant on the light

current_direction + + + + +

+

Current tracked direction for the directional cast behaviour

current_holder + + + + +

+

Movable atom currently holding the light. Parent might be a flashlight, for example, but that might be held by a mob or something else.

directional + + + + +

+

Whether we're a directional light

directional_offset_x + + + + +

+

Tracks current directional x offset so we dont update unecessarily

directional_offset_y + + + + +

+

Tracks current directional y offset so we dont update unecessarily

light_overlays + + + + +

+

Cache of the possible light overlays, according to size.

lum_power + + + + +

+

How much this light affects the dynamic_lumcount of turfs.

lumcount_range + + + + +

+

Ceiling of range, integer without decimal entries.

overlay_lighting_flags + + + + +

+

For light sources that can be turned on and off.

parent_attached_to + + + + +

+

Movable atom the parent is attached to. For example, a flashlight into a helmet or gun. We'll need to track the thing the parent is attached to as if it were the parent itself.

range + + + + +

+

How far the light reaches, float.

set_alpha + + + + +

+

Transparency value.

visible_mask + + + + +

+

Overlay effect to cut into the darkness and provide light.

Proc Details

add_dynamic_lumi +

+

Adds the luminosity and source for the afected movable atoms to keep track of their visibility.

cast_directional_light +

+

Here we append the behavior associated to changing lum_power.

check_holder +

+

Used to determine the new valid current_holder from the parent's loc.

clean_old_turfs +

+

Clears the affected_turfs lazylist, removing from its contents the effects of being near the light.

get_new_turfs +

+

Populates the affected_turfs lazylist, adding to its contents the effects of being near the light.

make_luminosity_update +

+

Clears the old affected turfs and populates the new ones.

on_holder_dir_change +

+

Called when current_holder changes loc.

on_holder_moved +

+

Called when current_holder changes loc.

on_holder_qdel +

+

Called when the current_holder is qdeleted, to remove the light effect.

on_light_eater +

+

Handles putting the source for overlay lights into the light eater queue since we aren't tracked by /atom/var/light_sources

on_light_flags_change +

+

Triggered right after the parent light flags change.

on_parent_attached_to_moved +

+

Called when parent_attached_to changes loc.

on_parent_attached_to_qdel +

+

Called when the current_holder is qdeleted, to remove the light effect.

on_parent_dir_change +

+

Called when parent changes loc.

on_parent_moved +

+

Called when parent changes loc.

on_toggle +

+

Toggles the light on and off.

remove_dynamic_lumi +

+

Removes the luminosity and source for the afected movable atoms to keep track of their visibility.

set_color +

+

Changes the light's color, pretty straightforward.

set_direction +

+

Sets a new direction for the directional cast, then updates luminosity

set_holder +

+

Called to change the value of current_holder.

set_lum_power +

+

Here we append the behavior associated to changing lum_power.

set_parent_attached_to +

+

Called to change the value of parent_attached_to.

set_power +

+

Changes the intensity/brightness of the light by altering the visual object's alpha.

set_range +

+

Changes the range which the light reaches. 0 means no light, 6 is the maximum value.

turn_off +

+

Toggles the light off.

turn_on +

+

Toggles the light on.

+ + + diff --git a/datum/component/palette.html b/datum/component/palette.html new file mode 100644 index 000000000000..a2da208e6d10 --- /dev/null +++ b/datum/component/palette.html @@ -0,0 +1,53 @@ + + + + + + + /datum/component/palette - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

palette + + + +

+ +

A component that stores colors for use by painting-related items like spraycans or palettes +which can be accessed through a radial menu by right clicking the item while it's held by the user mob. +Right-clicking a color will open a color input prompt to edit it. Left clicking will instead select it +and call set_painting_tool_color() on the parent for more specific object behavior.

+ + +

Vars

color_picker_menuThe persistent radial menu for this component.
menu_choicesThe radial menu choice datums are stored here as a microop to avoid generating new ones every time the menu is opened or updated.

Procs

DestroyThis component means nothing if there's no space for colors
+

Var Details

color_picker_menu + + + + +

+

The persistent radial menu for this component.

menu_choices + + + + +

+

The radial menu choice datums are stored here as a microop to avoid generating new ones every time the menu is opened or updated.

Proc Details

Destroy +

+

This component means nothing if there's no space for colors

+ + + diff --git a/datum/component/payment.html b/datum/component/payment.html new file mode 100644 index 000000000000..28e1199952bd --- /dev/null +++ b/datum/component/payment.html @@ -0,0 +1,58 @@ + + + + + + + /datum/component/payment - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

payment + + + +

+ +

Handles simple payment operations where the cost of the object in question doesn't change.

+

What this is useful for: +Basic forms of vending. +Objects that can drain the owner's money linearly. +What this is not useful for: +Things where the seller may want to fluxuate the price of the object. +Improving standardizing every form of payment handing, as some custom handling is specific to that object.

+ + +

Vars

costNO OVERRIDING TO CHEESE BOUNTIES +Standardized of operation.
target_accWho's getting paid?
transaction_styleFlavor style for handling cash (Friendly? Hostile? etc.)
+

Var Details

cost + + + + +

+

NO OVERRIDING TO CHEESE BOUNTIES +Standardized of operation.

target_acc + + + + +

+

Who's getting paid?

transaction_style + + + + +

+

Flavor style for handling cash (Friendly? Hostile? etc.)

+ + + diff --git a/datum/component/pellet_cloud.html b/datum/component/pellet_cloud.html new file mode 100644 index 000000000000..005c01ba126a --- /dev/null +++ b/datum/component/pellet_cloud.html @@ -0,0 +1,217 @@ + + + + + + + /datum/component/pellet_cloud - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pellet_cloud + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

bodiesFor grenades, any /mob/living's the grenade is moved onto, see /datum/component/pellet_cloud/proc/handle_martyrs
hitshow many pellets impacted something
num_pelletsHow many shrapnel projectiles are we responsible for tracking? May be reduced for grenades if someone dives on top of it. Defined by ammo casing for casings, derived from magnitude otherwise
pellet_deltaFor grenades, tracking how many pellets are removed due to martyrs and how many pellets are added due to the last person to touch it being on top of it
pelletsThe list of pellets we're responsible for tracking, once these are all accounted for, we finalize.
projectile_typeWhat's the projectile path of the shrapnel we're shooting?
purple_heartsFor grenades, tracking people who die covering a grenade for achievement purposes, see /datum/component/pellet_cloud/proc/handle_martyrs
queued_deleteIf the parent tried deleting and we're not done yet, we send it to nullspace then delete it after
radiusFor grenades/landmines, how big is the radius of turfs we're targeting? Note this does not effect the projectiles range, only how many we generate
shooterfor if we're an ammo casing being fired
targets_hitAn associated list with the atom hit as the key and how many pellets they've eaten for the value, for printing aggregate messages
terminatedhow many pellets ranged out without hitting anything

Procs

create_blast_pelletscreate_blast_pellets() is for when we have a central point we want to shred the surroundings of with a ring of shrapnel, namely frag grenades and landmines.
create_casing_pelletscreate_casing_pellets() is for directed pellet clouds for ammo casings that have multiple pellets (buckshot and scatter lasers for instance)
finalizeAll of our pellets are accounted for, time to go target by target and tell them how many things they got hit by.
grenade_armedLook alive, we're armed! Now we start watching to see if anyone's covering us
grenade_droppedSomeone dropped the grenade, so set them to the shooter in case they're on top of it when it goes off
grenade_movedOur grenade has moved, reset var/list/bodies so we're "on top" of any mobs currently on the tile
grenade_uncrossedSomeone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it
handle_martyrshandle_martyrs() is used for grenades that shoot shrapnel to check if anyone threw themselves/were thrown on top of the grenade, thus absorbing a good chunk of the shrapnel
nullspace_parentOur grenade or landmine or caseless shell or whatever tried deleting itself, so we intervene and nullspace it until we're done here
on_target_qdelSomeone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it
pellet_hitOne of our pellets hit something, record what it was and check if we're done (terminated == num_pellets)
pellet_rangeOne of our pellets disappeared due to hitting their max range (or just somehow got qdel'd), remove it from our list and check if we're done (terminated == num_pellets)
pewMinor convenience function for creating each shrapnel piece with circle explosions, mostly stolen from the MIRV component
+

Var Details

bodies + + + + +

+

For grenades, any /mob/living's the grenade is moved onto, see /datum/component/pellet_cloud/proc/handle_martyrs

hits + + + + +

+

how many pellets impacted something

num_pellets + + + + +

+

How many shrapnel projectiles are we responsible for tracking? May be reduced for grenades if someone dives on top of it. Defined by ammo casing for casings, derived from magnitude otherwise

pellet_delta + + + + +

+

For grenades, tracking how many pellets are removed due to martyrs and how many pellets are added due to the last person to touch it being on top of it

pellets + + + + +

+

The list of pellets we're responsible for tracking, once these are all accounted for, we finalize.

projectile_type + + + + +

+

What's the projectile path of the shrapnel we're shooting?

purple_hearts + + + + +

+

For grenades, tracking people who die covering a grenade for achievement purposes, see /datum/component/pellet_cloud/proc/handle_martyrs

queued_delete + + + + +

+

If the parent tried deleting and we're not done yet, we send it to nullspace then delete it after

radius + + + + +

+

For grenades/landmines, how big is the radius of turfs we're targeting? Note this does not effect the projectiles range, only how many we generate

shooter + + + + +

+

for if we're an ammo casing being fired

targets_hit + + + + +

+

An associated list with the atom hit as the key and how many pellets they've eaten for the value, for printing aggregate messages

terminated + + + + +

+

how many pellets ranged out without hitting anything

Proc Details

create_blast_pellets +

+

create_blast_pellets() is for when we have a central point we want to shred the surroundings of with a ring of shrapnel, namely frag grenades and landmines.

+

Note that grenades have extra handling for someone throwing themselves/being thrown on top of it, see /datum/component/pellet_cloud/proc/handle_martyrs +Landmines just have a small check for /obj/effect/mine/shrapnel/var/shred_triggerer, and spawn extra shrapnel for them if so

+

Arguments:

+

create_casing_pellets +

+

create_casing_pellets() is for directed pellet clouds for ammo casings that have multiple pellets (buckshot and scatter lasers for instance)

+

Honestly this is mostly just a rehash of [/obj/item/ammo_casing/proc/fire_casing] for pellet counts > 1, except this lets us tamper with the pellets and hook onto them for tracking purposes. +The arguments really don't matter, this proc is triggered by COMSIG_PELLET_CLOUD_INIT which is only for this really, it's just a big mess of the state vars we need for doing the stuff over here.

finalize +

+

All of our pellets are accounted for, time to go target by target and tell them how many things they got hit by.

grenade_armed +

+

Look alive, we're armed! Now we start watching to see if anyone's covering us

grenade_dropped +

+

Someone dropped the grenade, so set them to the shooter in case they're on top of it when it goes off

grenade_moved +

+

Our grenade has moved, reset var/list/bodies so we're "on top" of any mobs currently on the tile

grenade_uncrossed +

+

Someone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it

handle_martyrs +

+

handle_martyrs() is used for grenades that shoot shrapnel to check if anyone threw themselves/were thrown on top of the grenade, thus absorbing a good chunk of the shrapnel

+

Between the time the grenade is armed and the actual detonation, we set var/list/bodies to the list of mobs currently on the new tile, as if the grenade landed on top of them, tracking if any of them move off the tile and removing them from the "under" list +Once the grenade detonates, handle_martyrs() is called and gets all the new mobs on the tile, and add the ones not in var/list/bodies to var/list/martyrs +We then iterate through the martyrs and reduce the shrapnel magnitude for each mob on top of it, shredding each of them with some of the shrapnel they helped absorb. This can snuff out all of the shrapnel if there's enough bodies

+

Note we track anyone who's alive and client'd when they get shredded in var/list/purple_hearts, for achievement checking later

nullspace_parent +

+

Our grenade or landmine or caseless shell or whatever tried deleting itself, so we intervene and nullspace it until we're done here

on_target_qdel +

+

Someone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it

pellet_hit +

+

One of our pellets hit something, record what it was and check if we're done (terminated == num_pellets)

pellet_range +

+

One of our pellets disappeared due to hitting their max range (or just somehow got qdel'd), remove it from our list and check if we're done (terminated == num_pellets)

pew +

+

Minor convenience function for creating each shrapnel piece with circle explosions, mostly stolen from the MIRV component

+ + + diff --git a/datum/component/personal_crafting.html b/datum/component/personal_crafting.html new file mode 100644 index 000000000000..5c69b47020f4 --- /dev/null +++ b/datum/component/personal_crafting.html @@ -0,0 +1,45 @@ + + + + + + + /datum/component/personal_crafting - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

personal_crafting + + + +

+ + + +

Procs

check_contentsCheck that the contents of the recipe meet the requirements.
check_toolsReturns a boolean on whether the tool requirements of the input recipe are satisfied by the input source and surroundings.

Proc Details

check_contents +

+

Check that the contents of the recipe meet the requirements.

+

user: The /mob that initated the crafting. +R: The /datum/crafting_recipe being attempted. +contents: List of items to search for R's reqs.

check_tools +

+

Returns a boolean on whether the tool requirements of the input recipe are satisfied by the input source and surroundings.

+ + + diff --git a/datum/component/phylactery.html b/datum/component/phylactery.html new file mode 100644 index 000000000000..49bbd2410035 --- /dev/null +++ b/datum/component/phylactery.html @@ -0,0 +1,131 @@ + + + + + + + /datum/component/phylactery - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

phylactery + + + +

+ +Phylactery component +

Used for lichtom to turn (almost) any object into a phylactery +A mob linked to a phylactery will repeatedly revive on death.

+ + + + + + + + + + + +

Vars

base_respawn_timeThe respawn timer of the phylactery.
lich_mindThe mind of the lich who is linked to this phylactery.
num_resurrectionsThe number of ressurections that have occured from this phylactery.
phylactery_colorThe color of the phylactery itself. Applied on creation.
revive_timerA timerid to the current revival timer.
stun_per_resurrectionHow much stun (paralyze) is caused on respawn per revival.
time_per_resurrectionHow much time is added on to the respawn time per revival.

Procs

check_if_lich_diedSignal proc for COMSIG_GLOB_MOB_DEATH.
on_examineSignal proc for COMSIG_PARENT_EXAMINE.
on_lich_mind_lostSignal proc for COMSIG_PARENT_QDELETING registered on the lich's mind.
revive_lichActually undergo the process of reviving the lich at the site of the phylacery.
stop_timerSignal proc for COMSIG_LIVING_REVIVE.
+

Var Details

base_respawn_time + + + + +

+

The respawn timer of the phylactery.

lich_mind + + + + +

+

The mind of the lich who is linked to this phylactery.

num_resurrections + + + + +

+

The number of ressurections that have occured from this phylactery.

phylactery_color + + + + +

+

The color of the phylactery itself. Applied on creation.

revive_timer + + + + +

+

A timerid to the current revival timer.

stun_per_resurrection + + + + +

+

How much stun (paralyze) is caused on respawn per revival.

time_per_resurrection + + + + +

+

How much time is added on to the respawn time per revival.

Proc Details

check_if_lich_died +

+

Signal proc for COMSIG_GLOB_MOB_DEATH.

+

If the mob containing our lich's mind is killed, +we can initiate the revival process.

+

We use the global mob death signal here, +instead of registering the normal death signal, +as it's entirely possible the wizard mindswaps +or is gibbed or something wacky happens, and +we need to make sure WHOEVER has our mind is dead

on_examine +

+

Signal proc for COMSIG_PARENT_EXAMINE.

+

Gives some flavor for the phylactery on examine.

on_lich_mind_lost +

+

Signal proc for COMSIG_PARENT_QDELETING registered on the lich's mind.

+

Minds shouldn't be getting deleted but if for some ungodly reason +the lich'd mind is deleted our component should go with it, as +we don't have a reason to exist anymore.

revive_lich +

+

Actually undergo the process of reviving the lich at the site of the phylacery.

+

Arguments

+

stop_timer +

+

Signal proc for COMSIG_LIVING_REVIVE.

+

If our lich's mob is revived at some point before returning, stop the timer

+ + + diff --git a/datum/component/pricetag.html b/datum/component/pricetag.html new file mode 100644 index 000000000000..f7611a30fbe1 --- /dev/null +++ b/datum/component/pricetag.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/pricetag - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pricetag + + + +

+ + + +

Vars

delete_on_unwrapWhether we qdel ourself when our parent is unwrapped or not.
payeesList of bank accounts this pricetag pays out to. Format is payees[bank_account] = profit_ratio.
+

Var Details

delete_on_unwrap + + + + +

+

Whether we qdel ourself when our parent is unwrapped or not.

payees + + + + +

+

List of bank accounts this pricetag pays out to. Format is payees[bank_account] = profit_ratio.

+ + + diff --git a/datum/component/radiation_countdown.html b/datum/component/radiation_countdown.html new file mode 100644 index 000000000000..215658ca9cf2 --- /dev/null +++ b/datum/component/radiation_countdown.html @@ -0,0 +1,47 @@ + + + + + + + /datum/component/radiation_countdown - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

radiation_countdown + + + +

+ +

Begins the countdown before a target can be irradiated. +Added by the radiation subsystem when a pulse information has a minimum exposure time. +Will clear itself out after a while.

+ +

Vars

minimum_exposure_timeThe shortest minimum time before being irradiated. +If the source has an attempted irradiation again outside this timeframe, it will go through.
time_addedThe time this component was added
+

Var Details

minimum_exposure_time + + + + +

+

The shortest minimum time before being irradiated. +If the source has an attempted irradiation again outside this timeframe, it will go through.

time_added + + + + +

+

The time this component was added

+ + + diff --git a/datum/component/religious_tool.html b/datum/component/religious_tool.html new file mode 100644 index 000000000000..ca25adf26909 --- /dev/null +++ b/datum/component/religious_tool.html @@ -0,0 +1,136 @@ + + + + + + + /datum/component/religious_tool - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

religious_tool + + + +

+ +

Allows the parent to act similarly to the Altar of Gods with modularity. Invoke and Sect Selection is done via attacking with a bible. This means you cannot sacrifice Bibles (you shouldn't want to do this anyways although now that I mentioned it you probably will want to).

+ + + + + + + + + + + + + + +

Vars

catalyst_typeSets the type for catalyst
easy_access_sectEnables access to the global sect directly
force_catalyst_afterattackEnables overide of COMPONENT_NO_AFTERATTACK, not recommended as it means you can potentially cause damage to the item using the catalyst.
operation_flagsWhat extent do we want this religious tool to act? In case you don't want full access to the list. Generated on New
performing_riteThe rite currently being invoked
selecting_sectPrevents double selecting sects

Procs

AttemptActionsSince all of these involve attackby, we require mega proc. Handles Invocation, Sacrificing, And Selection of Sects.
SetGlobalToLocalSets the easy access variable to the global if it exists.
generate_available_ritesGenerates available rites to pick from. It expects the sect to be picked by the time it was called (by tgui data)
generate_available_sectsGenerates a list of available sects to the user. Intended to support custom-availability sects.
generate_sacrifice_listchecks to invalidate +Generates an english list (so string) of wanted sac items. Returns null if no targets!
on_examineAppends to examine so the user knows it can be used for religious purposes.
perform_ritePerform the rite, called from /datum/component/religious_tool/proc/AttemptActions
select_sectSelect the sect, called from /datum/component/religious_tool/proc/AttemptActions
ui_interactSacrificing
+

Var Details

catalyst_type + + + + +

+

Sets the type for catalyst

easy_access_sect + + + + +

+

Enables access to the global sect directly

force_catalyst_afterattack + + + + +

+

Enables overide of COMPONENT_NO_AFTERATTACK, not recommended as it means you can potentially cause damage to the item using the catalyst.

operation_flags + + + + +

+

What extent do we want this religious tool to act? In case you don't want full access to the list. Generated on New

performing_rite + + + + +

+

The rite currently being invoked

selecting_sect + + + + +

+

Prevents double selecting sects

Proc Details

AttemptActions +

+

Since all of these involve attackby, we require mega proc. Handles Invocation, Sacrificing, And Selection of Sects.

SetGlobalToLocal +

+

Sets the easy access variable to the global if it exists.

generate_available_rites +

+

Generates available rites to pick from. It expects the sect to be picked by the time it was called (by tgui data)

generate_available_sects +

+

Generates a list of available sects to the user. Intended to support custom-availability sects.

generate_sacrifice_list +

+

checks to invalidate +Generates an english list (so string) of wanted sac items. Returns null if no targets!

on_examine +

+

Appends to examine so the user knows it can be used for religious purposes.

perform_rite +

+

Perform the rite, called from /datum/component/religious_tool/proc/AttemptActions

select_sect +

+

Select the sect, called from /datum/component/religious_tool/proc/AttemptActions

ui_interact +

+

Sacrificing

+ + + diff --git a/datum/component/remote_materials.html b/datum/component/remote_materials.html new file mode 100644 index 000000000000..745f6e602c72 --- /dev/null +++ b/datum/component/remote_materials.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/remote_materials - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

remote_materials + + + +

+ + + +

Vars

mat_container_flagsFlags used when converting inserted materials into their component materials.

Procs

eject_sheetsEjects the given material ref and logs it, or says out loud the problem.
+

Var Details

mat_container_flags + + + + +

+

Flags used when converting inserted materials into their component materials.

Proc Details

eject_sheets +

+

Ejects the given material ref and logs it, or says out loud the problem.

+ + + diff --git a/datum/component/rename.html b/datum/component/rename.html new file mode 100644 index 000000000000..dbcb64b87b16 --- /dev/null +++ b/datum/component/rename.html @@ -0,0 +1,86 @@ + + + + + + + /datum/component/rename - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

rename + + + +

+ +

The rename component.

+

This component is used to manage names and descriptions changed with the pen.

+

Atoms can only have one instance of this component at a time.

+

When a player renames or changes the description of an atom with a pen, this component gets applied to it. +If a player resets the name and description, they will be reverted to their state before being changed and the component will be removed.

+ + + + + + +

Vars

custom_descThe desc the player is applying to the parent.
custom_nameThe name the player is applying to the parent.
original_descThe desc before the player changed it.
original_nameThe name before the player changed it.

Procs

InheritComponentThis proc will fire after the parent's name or desc is changed with a pen, which is trying to apply another rename component. +Since the parent already has a rename component, it will remove the old one and apply the new one. +The name and description changes will be merged or overwritten.
apply_renameSaves the current name and description before changing them to the player's inputs.
revert_renameReverts the name and description to the state before they were changed.
+

Var Details

custom_desc + + + + +

+

The desc the player is applying to the parent.

custom_name + + + + +

+

The name the player is applying to the parent.

original_desc + + + + +

+

The desc before the player changed it.

original_name + + + + +

+

The name before the player changed it.

Proc Details

InheritComponent +

+

This proc will fire after the parent's name or desc is changed with a pen, which is trying to apply another rename component. +Since the parent already has a rename component, it will remove the old one and apply the new one. +The name and description changes will be merged or overwritten.

apply_rename +

+

Saves the current name and description before changing them to the player's inputs.

revert_rename +

+

Reverts the name and description to the state before they were changed.

+ + + diff --git a/datum/component/riding.html b/datum/component/riding.html new file mode 100644 index 000000000000..a0842a96036a --- /dev/null +++ b/datum/component/riding.html @@ -0,0 +1,204 @@ + + + + + + + /datum/component/riding - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

riding + + + +

+ +

This is the riding component, which is applied to a movable atom by the ridable element when a mob is successfully buckled to said movable.

+

This component lives for as long as at least one mob is buckled to the parent. Once all mobs are unbuckled, the component is deleted, until another mob is buckled in +and we make a new riding component, so on and so forth until the sun explodes.

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

allowed_turf_typecacheallow typecache for only certain turfs, forbid to allow all but those. allow only certain turfs will take precedence.
directional_vehicle_layers["[DIRECTION]"] = layer. Don't set it for a direction for default, set a direction to null for no change.
directional_vehicle_offsetssame as above but instead of layer you have a list(px, py)
forbid_turf_typecacheallow typecache for only certain turfs, forbid to allow all but those. allow only certain turfs will take precedence.
keytypeIf the driver needs a certain item in hand (or inserted, for vehicles) to drive this. For vehicles, this must be duplicated on the actual vehicle object in their +/obj/vehicle/var/key_type variable because the vehicle objects still have a few special checks/functions of their own I'm not porting over to the riding component +quite yet. Make sure if you define it on the vehicle, you define it here too.
message_cooldownFor telling someone they can't drive
override_allow_spacemoveWe don't need roads where we're going if this is TRUE, allow normal movement in space tiles
ride_check_flagsRide check flags defined for the specific riding component types, so we know if we need arms, legs, or whatever. +Takes additional flags from the ridable element and the buckle proc (buckle_mob_flags) for riding cyborgs/humans in case we need to reserve arms
riding_offsetsposition_of_user = list(dir = list(px, py)), or RIDING_OFFSET_ALL for a generic one.
vehicle_move_cooldownFor telling someone they can't drive
vehicle_move_delaytick delay between movements, lower = faster, higher = slower

Procs

driver_moveEvery time the driver tries to move, this is called to see if they can actually drive and move the vehicle (via relaymove)
handle_specialsThis proc handles all of the proc calls to things like set_vehicle_dir_layer() that a type of riding datum needs to call on creation
handle_vehicle_layerSome ridable atoms may want to only show on top of the rider in certain directions, like wheelchairs
keycheckThis proc is used to see if we have the appropriate key to drive this atom, if such a key is needed. Returns FALSE if we don't have what we need to drive.
ride_checkCheck to see if we have all of the necessary bodyparts and not-falling-over statuses we need to stay onboard. +If not and if consequences is TRUE, well, there'll be consequences.
riding_can_z_moveExtra checks before buckled.can_z_move can be called in mob/living/can_z_move()
unequip_buckle_inhandscurrently replicated from ridable because we need this behavior here too, see if we can deal with that
vehicle_bumpSo we can check all occupants when we bump a door to see if anyone has access
vehicle_mob_buckleThis proc is called when a rider buckles, allowing for offsets to be set properly
vehicle_mob_unbuckleThis proc is called when a rider unbuckles, whether they chose to or not. If there's no more riders, this will be the riding component's death knell.
vehicle_movedThis is called after the ridden atom is successfully moved and is used to handle icon stuff
vehicle_turnedTurning is like moving
+

Var Details

allowed_turf_typecache + + + + +

+

allow typecache for only certain turfs, forbid to allow all but those. allow only certain turfs will take precedence.

directional_vehicle_layers + + + + +

+

["[DIRECTION]"] = layer. Don't set it for a direction for default, set a direction to null for no change.

directional_vehicle_offsets + + + + +

+

same as above but instead of layer you have a list(px, py)

forbid_turf_typecache + + + + +

+

allow typecache for only certain turfs, forbid to allow all but those. allow only certain turfs will take precedence.

keytype + + + + +

+

If the driver needs a certain item in hand (or inserted, for vehicles) to drive this. For vehicles, this must be duplicated on the actual vehicle object in their +/obj/vehicle/var/key_type variable because the vehicle objects still have a few special checks/functions of their own I'm not porting over to the riding component +quite yet. Make sure if you define it on the vehicle, you define it here too.

message_cooldown + + + + +

+

For telling someone they can't drive

override_allow_spacemove + + + + +

+

We don't need roads where we're going if this is TRUE, allow normal movement in space tiles

ride_check_flags + + + + +

+

Ride check flags defined for the specific riding component types, so we know if we need arms, legs, or whatever. +Takes additional flags from the ridable element and the buckle proc (buckle_mob_flags) for riding cyborgs/humans in case we need to reserve arms

riding_offsets + + + + +

+

position_of_user = list(dir = list(px, py)), or RIDING_OFFSET_ALL for a generic one.

vehicle_move_cooldown + + + + +

+

For telling someone they can't drive

vehicle_move_delay + + + + +

+

tick delay between movements, lower = faster, higher = slower

Proc Details

driver_move +

+

Every time the driver tries to move, this is called to see if they can actually drive and move the vehicle (via relaymove)

handle_specials +

+

This proc handles all of the proc calls to things like set_vehicle_dir_layer() that a type of riding datum needs to call on creation

+

The original riding component had these procs all called from the ridden object itself through the use of GetComponent() and LoadComponent() +This was obviously problematic for componentization, but while lots of the variables being set were able to be moved to component variables, +the proc calls couldn't be. Thus, anything that has to do an initial proc call should be handled here.

handle_vehicle_layer +

+

Some ridable atoms may want to only show on top of the rider in certain directions, like wheelchairs

keycheck +

+

This proc is used to see if we have the appropriate key to drive this atom, if such a key is needed. Returns FALSE if we don't have what we need to drive.

+

Still needs to be neatened up and spruced up with proper OOP, as a result of vehicles having their own key handling from other ridable atoms

ride_check +

+

Check to see if we have all of the necessary bodyparts and not-falling-over statuses we need to stay onboard. +If not and if consequences is TRUE, well, there'll be consequences.

riding_can_z_move +

+

Extra checks before buckled.can_z_move can be called in mob/living/can_z_move()

unequip_buckle_inhands +

+

currently replicated from ridable because we need this behavior here too, see if we can deal with that

vehicle_bump +

+

So we can check all occupants when we bump a door to see if anyone has access

vehicle_mob_buckle +

+

This proc is called when a rider buckles, allowing for offsets to be set properly

vehicle_mob_unbuckle +

+

This proc is called when a rider unbuckles, whether they chose to or not. If there's no more riders, this will be the riding component's death knell.

vehicle_moved +

+

This is called after the ridden atom is successfully moved and is used to handle icon stuff

vehicle_turned +

+

Turning is like moving

+ + + diff --git a/datum/component/riding/creature.html b/datum/component/riding/creature.html new file mode 100644 index 000000000000..e27b7c272cc2 --- /dev/null +++ b/datum/component/riding/creature.html @@ -0,0 +1,78 @@ + + + + + + + /datum/component/riding/creature - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

creature + + + +

+ + + + + + + + +

Vars

can_be_drivenIf TRUE, this creature's movements can be controlled by the rider while mounted (as opposed to riding cyborgs and humans, which is passive)
can_use_abilitiesIf TRUE, this creature's abilities can be triggered by the rider while mounted

Procs

check_emoteIf we're a cyborg or animal and we spin, we yeet whoever's on us off us
force_dismountYeets the rider off, used for animals and cyborgs, redefined for humans who shove their piggyback rider off
log_ridingCreatures need to be logged when being mounted
remove_abilitiesTakes away the riding parent's abilities from the rider
setup_abilitiesIf the ridden creature has abilities, and some var yet to be made is set to TRUE, the rider will be able to control those abilities
+

Var Details

can_be_driven + + + + +

+

If TRUE, this creature's movements can be controlled by the rider while mounted (as opposed to riding cyborgs and humans, which is passive)

can_use_abilities + + + + +

+

If TRUE, this creature's abilities can be triggered by the rider while mounted

Proc Details

check_emote +

+

If we're a cyborg or animal and we spin, we yeet whoever's on us off us

force_dismount +

+

Yeets the rider off, used for animals and cyborgs, redefined for humans who shove their piggyback rider off

log_riding +

+

Creatures need to be logged when being mounted

remove_abilities +

+

Takes away the riding parent's abilities from the rider

setup_abilities +

+

If the ridden creature has abilities, and some var yet to be made is set to TRUE, the rider will be able to control those abilities

+ + + diff --git a/datum/component/riding/creature/human.html b/datum/component/riding/creature/human.html new file mode 100644 index 000000000000..70cccd604124 --- /dev/null +++ b/datum/component/riding/creature/human.html @@ -0,0 +1,42 @@ + + + + + + + /datum/component/riding/creature/human - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

human + + + +

+ +

Yes, I said humans. No, this won't end well...

+ +

Procs

check_carrier_fall_overIf the carrier gets knocked over, force the rider(s) off and see if someone got hurt
on_host_unarmed_meleeIf the carrier shoves the person they're carrying, force the carried mob off

Proc Details

check_carrier_fall_over +

+

If the carrier gets knocked over, force the rider(s) off and see if someone got hurt

on_host_unarmed_melee +

+

If the carrier shoves the person they're carrying, force the carried mob off

+ + + diff --git a/datum/component/riding/vehicle.html b/datum/component/riding/vehicle.html new file mode 100644 index 000000000000..2599ba76938d --- /dev/null +++ b/datum/component/riding/vehicle.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/riding/vehicle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

vehicle + + + +

+ + +

Procs

handle_rideThis handles the actual movement for vehicles once /datum/component/riding/vehicle/proc/driver_move has given us the green light

Proc Details

handle_ride +

+

This handles the actual movement for vehicles once /datum/component/riding/vehicle/proc/driver_move has given us the green light

+ + + diff --git a/datum/component/rot.html b/datum/component/rot.html new file mode 100644 index 000000000000..0b67df97bcb3 --- /dev/null +++ b/datum/component/rot.html @@ -0,0 +1,99 @@ + + + + + + + /datum/component/rot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

rot + + + +

+ +

Makes a thing rotting, carries with it a start delay and some things that can halt the rot, along with infection logic

+ + + + + + + + + +

Vars

activeIs the component active right now?
blockersBitfield of sources preventing the component from rotting
scaling_delayThe time in ticks before a rot component reaches its full effectiveness
start_delayThe delay in ticks between the start of rot and effects kicking in
start_timeThe time we were created, allows for cheese smell
strengthHow strong is the rot? used for scaling different aspects of the component. Between 0 and 1

Procs

on_enteredTriggered when something enters the component's parent.
restOne of two procs that modifies blockers, this one handles adding a blocker and potentially ending the rot
rot_reactThe main bit of logic for the rot component, does a temperature check and has a chance to infect react_to
start_upOne of two procs that modifies blockers, this one handles removing a blocker and potentially restarting the rot
+

Var Details

active + + + + +

+

Is the component active right now?

blockers + + + + +

+

Bitfield of sources preventing the component from rotting

scaling_delay + + + + +

+

The time in ticks before a rot component reaches its full effectiveness

start_delay + + + + +

+

The delay in ticks between the start of rot and effects kicking in

start_time + + + + +

+

The time we were created, allows for cheese smell

strength + + + + +

+

How strong is the rot? used for scaling different aspects of the component. Between 0 and 1

Proc Details

on_entered +

+

Triggered when something enters the component's parent.

rest +

+

One of two procs that modifies blockers, this one handles adding a blocker and potentially ending the rot

rot_react +

+

The main bit of logic for the rot component, does a temperature check and has a chance to infect react_to

start_up +

+

One of two procs that modifies blockers, this one handles removing a blocker and potentially restarting the rot

+ + + diff --git a/datum/component/scope.html b/datum/component/scope.html new file mode 100644 index 000000000000..7ab1f95c9c3f --- /dev/null +++ b/datum/component/scope.html @@ -0,0 +1,76 @@ + + + + + + + /datum/component/scope - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

scope + + + +

+ + + + + + +

Vars

range_modifierHow far we can extend, with modifier of 1, up to our vision edge, higher numbers multiply.
trackerFullscreen object we use for tracking the shots.

Procs

get_targetWe find and return the best target to hit on a given turf.
start_zoomingWe start zooming by hiding the mouse pointer, adding our tracker overlay and starting our processing.
stop_zoomingWe stop zooming, canceling processing, resetting stuff back to normal and deleting our tracker.
+

Var Details

range_modifier + + + + +

+

How far we can extend, with modifier of 1, up to our vision edge, higher numbers multiply.

tracker + + + + +

+

Fullscreen object we use for tracking the shots.

Proc Details

get_target +

+

We find and return the best target to hit on a given turf.

+

Arguments:

+

start_zooming +

+

We start zooming by hiding the mouse pointer, adding our tracker overlay and starting our processing.

+

Arguments:

+

stop_zooming +

+

We stop zooming, canceling processing, resetting stuff back to normal and deleting our tracker.

+

Arguments:

+
+ + + diff --git a/datum/component/seclite_attachable.html b/datum/component/seclite_attachable.html new file mode 100644 index 000000000000..1b861d863273 --- /dev/null +++ b/datum/component/seclite_attachable.html @@ -0,0 +1,199 @@ + + + + + + + /datum/component/seclite_attachable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

seclite_attachable + + + +

+ +

Component which allows you to attach a seclight to an item, +be it a piece of clothing or a tool.

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

is_light_removableWhether we can remove the light with a screwdriver or not.
lightA reference to the actual light that's attached.
light_icon_stateIf passed, we wil simply update our item's icon_state when a light is attached. +Formatted as parent_base_state-[light_icon-state]-"on"
light_overlayThe state to take from the light overlay icon if supplied.
light_overlay_iconIf passed, we will add overlays to the item when a light is attached. +This is the icon file it grabs the overlay from.
overlay_xThe X offset of our overlay if supplied.
overlay_yThe Y offset of our overlay if supplied.
toggle_action_refA weakref to the item action we add with the light.
valid_lightsStatic typecache of all lights we consider seclites (all lights we can attach).

Procs

add_lightSets a new light as our current light for our parent.
on_action_clickSignal proc for COMSIG_ITEM_UI_ACTION_CLICK that toggles our light on and off if our action button is clicked.
on_attackbySignal proc for COMSIG_PARENT_ATTACKBY that allows a user to attach a seclite by hitting our parent with it.
on_examineSignal proc for COMSIG_PARENT_EXAMINE that shows our item can have / does have a seclite attached.
on_light_exitSignal proc for COMSIG_ATOM_EXITED that handles our light being removed or deleted from our parent.
on_parent_deconstructedSignal proc for COMSIG_OBJ_DECONSTRUCT that drops our light to the ground if our parent is deconstructed.
on_parent_deletedSignal proc for COMSIG_PARENT_QDELETING that deletes our light if our parent is deleted.
on_screwdriverSignal proc for COMSIG_ATOM_TOOL_ACT via [TOOL_SCREWDRIVER] that removes any attached seclite.
on_update_icon_stateSignal proc for COMSIG_ATOM_UPDATE_ICON_STATE that updates our parent's icon state, if we have one.
on_update_overlaysSignal proc for COMSIG_ATOM_UPDATE_OVERLAYS that updates our parent with our seclite overlays, if we have some.
remove_lightRemoves the current light from our parent.
toggle_lightToggles the light within on or off. +Returns TRUE if there is a light inside, FALSE otherwise.
unscrew_lightInvoked asyncronously from [proc/on_screwdriver]. Handles removing the light from our parent.
update_lightCalled after the a light is added, removed, or toggles. +Ensures all of our appearances look correct for the new light state.
+

Var Details

is_light_removable + + + + +

+

Whether we can remove the light with a screwdriver or not.

light + + + + +

+

A reference to the actual light that's attached.

light_icon_state + + + + +

+

If passed, we wil simply update our item's icon_state when a light is attached. +Formatted as parent_base_state-[light_icon-state]-"on"

light_overlay + + + + +

+

The state to take from the light overlay icon if supplied.

light_overlay_icon + + + + +

+

If passed, we will add overlays to the item when a light is attached. +This is the icon file it grabs the overlay from.

overlay_x + + + + +

+

The X offset of our overlay if supplied.

overlay_y + + + + +

+

The Y offset of our overlay if supplied.

toggle_action_ref + + + + +

+

A weakref to the item action we add with the light.

valid_lights + + + + +

+

Static typecache of all lights we consider seclites (all lights we can attach).

Proc Details

add_light +

+

Sets a new light as our current light for our parent.

on_action_click +

+

Signal proc for COMSIG_ITEM_UI_ACTION_CLICK that toggles our light on and off if our action button is clicked.

on_attackby +

+

Signal proc for COMSIG_PARENT_ATTACKBY that allows a user to attach a seclite by hitting our parent with it.

on_examine +

+

Signal proc for COMSIG_PARENT_EXAMINE that shows our item can have / does have a seclite attached.

on_light_exit +

+

Signal proc for COMSIG_ATOM_EXITED that handles our light being removed or deleted from our parent.

on_parent_deconstructed +

+

Signal proc for COMSIG_OBJ_DECONSTRUCT that drops our light to the ground if our parent is deconstructed.

on_parent_deleted +

+

Signal proc for COMSIG_PARENT_QDELETING that deletes our light if our parent is deleted.

on_screwdriver +

+

Signal proc for COMSIG_ATOM_TOOL_ACT via [TOOL_SCREWDRIVER] that removes any attached seclite.

on_update_icon_state +

+

Signal proc for COMSIG_ATOM_UPDATE_ICON_STATE that updates our parent's icon state, if we have one.

on_update_overlays +

+

Signal proc for COMSIG_ATOM_UPDATE_OVERLAYS that updates our parent with our seclite overlays, if we have some.

remove_light +

+

Removes the current light from our parent.

toggle_light +

+

Toggles the light within on or off. +Returns TRUE if there is a light inside, FALSE otherwise.

unscrew_light +

+

Invoked asyncronously from [proc/on_screwdriver]. Handles removing the light from our parent.

update_light +

+

Called after the a light is added, removed, or toggles. +Ensures all of our appearances look correct for the new light state.

+ + + diff --git a/datum/component/seethrough.html b/datum/component/seethrough.html new file mode 100644 index 000000000000..b3a7119231fd --- /dev/null +++ b/datum/component/seethrough.html @@ -0,0 +1,134 @@ + + + + + + + /datum/component/seethrough - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

seethrough + + + +

+ +

A component that lets you turn an object invisible when you're standing on certain relative turfs to it, like behind a tree

+ + + + + + + + + + + + + + +

Vars

animation_timeHow long our fase in/out takes
clickthroughDoes this object let clicks from players its transparent to pass through it
perimeter_reset_timerAfter we somehow moved (because ss13 is godless and does not respect anything), how long do we need to stand still to feel safe to setup our "behind" area again
relative_turf_coordsList of lists that represent relative coordinates to the source atom
target_alphaWhich alpha do we animate towards?
tricked_mobsAssociate list, with client = trickery_image. Track which client is being tricked with which image
watched_turfsA list of turfs on which we make ourself transparent

Procs

Initializesee_through_map is a define pointing to a specific map. It's basically defining the area which is considered behind. See see_through_maps.dm for a list of maps
clear_imageRemove a screen image from a client
dismantle_perimeterUnrout ourselves after we somehow moved, and start a timer so we can re-restablish our behind area after standing still for a bit
on_client_disconnectImage is removed when they log out because client gets deleted, so drop the mob reference
on_enteredSomeone entered one of our tiles, so sent an override overlay and a cute animation to make us fade out a bit
on_exitedRemove the screen object and make us appear solid to the client again
setup_perimeterLoop through a list with relative coordinate lists to mark those tiles and hide our parent when someone enters those tiles
trick_mobApply the trickery image and animation
+

Var Details

animation_time + + + + +

+

How long our fase in/out takes

clickthrough + + + + +

+

Does this object let clicks from players its transparent to pass through it

perimeter_reset_timer + + + + +

+

After we somehow moved (because ss13 is godless and does not respect anything), how long do we need to stand still to feel safe to setup our "behind" area again

relative_turf_coords + + + + +

+

List of lists that represent relative coordinates to the source atom

target_alpha + + + + +

+

Which alpha do we animate towards?

tricked_mobs + + + + +

+

Associate list, with client = trickery_image. Track which client is being tricked with which image

watched_turfs + + + + +

+

A list of turfs on which we make ourself transparent

Proc Details

Initialize +

+

see_through_map is a define pointing to a specific map. It's basically defining the area which is considered behind. See see_through_maps.dm for a list of maps

clear_image +

+

Remove a screen image from a client

dismantle_perimeter +

+

Unrout ourselves after we somehow moved, and start a timer so we can re-restablish our behind area after standing still for a bit

on_client_disconnect +

+

Image is removed when they log out because client gets deleted, so drop the mob reference

on_entered +

+

Someone entered one of our tiles, so sent an override overlay and a cute animation to make us fade out a bit

on_exited +

+

Remove the screen object and make us appear solid to the client again

setup_perimeter +

+

Loop through a list with relative coordinate lists to mark those tiles and hide our parent when someone enters those tiles

trick_mob +

+

Apply the trickery image and animation

+ + + diff --git a/datum/component/seethrough_mob.html b/datum/component/seethrough_mob.html new file mode 100644 index 000000000000..83b03238213d --- /dev/null +++ b/datum/component/seethrough_mob.html @@ -0,0 +1,113 @@ + + + + + + + /datum/component/seethrough_mob - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

seethrough_mob + + + +

+ +

A component that lets you turn your character transparent in order to see and click through yourself.

+ + + + + + + + + + + +

Vars

animation_timeHow long our faze in/out takes
clickthroughDoes this object let clicks from players its transparent to pass through it
initial_render_target_valueThe mob's original render_target value
is_activeIs the seethrough effect currently active
personal_uidThis component's personal uid
render_source_atomThe atom that enables our dark magic
target_alphaWhich alpha do we animate towards?
trickery_imageThe fake version of ourselves

Procs

clear_imageRemove the image and the trick atom
on_client_disconnectEffect is disabled when they log out because client gets deleted
trick_mobSet up everything we need to trick the client and keep it looking normal for everyone else
untrick_mobRemove the screen object and make us appear solid to ourselves again
+

Var Details

animation_time + + + + +

+

How long our faze in/out takes

clickthrough + + + + +

+

Does this object let clicks from players its transparent to pass through it

initial_render_target_value + + + + +

+

The mob's original render_target value

is_active + + + + +

+

Is the seethrough effect currently active

personal_uid + + + + +

+

This component's personal uid

render_source_atom + + + + +

+

The atom that enables our dark magic

target_alpha + + + + +

+

Which alpha do we animate towards?

trickery_image + + + + +

+

The fake version of ourselves

Proc Details

clear_image +

+

Remove the image and the trick atom

on_client_disconnect +

+

Effect is disabled when they log out because client gets deleted

trick_mob +

+

Set up everything we need to trick the client and keep it looking normal for everyone else

untrick_mob +

+

Remove the screen object and make us appear solid to ourselves again

+ + + diff --git a/datum/component/shell.html b/datum/component/shell.html new file mode 100644 index 000000000000..1712049d8453 --- /dev/null +++ b/datum/component/shell.html @@ -0,0 +1,154 @@ + + + + + + + /datum/component/shell - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

shell + + + +

+ +

Makes an atom a shell that is able to take in an attached circuit.

+ + + + + + + + + + + + + + + + +

Vars

attached_circuitThe circuitboard attached to this shell
capacityThe capacity of the shell.
lockedWhether the shell is locked or not
max_power_use_in_minuteThe maximum power that the shell can use in a minute before entering overheating and destroying itself.
power_used_cooldownThe cooldown time to reset the power_used_in_minute to 0
power_used_in_minuteThe amount of power used in the last minute
shell_flagsFlags containing what this shell can do
unremovable_circuit_componentsA list of components that cannot be removed

Procs

attach_circuitAttaches a circuit to the parent. Doesn't do any checks to see for any existing circuits so that should be done beforehand.
is_authorizedDetermines if a user is authorized to see the existance of this shell. Returns false if they are not
on_attack_byCalled when an item hits the parent. This is the method to add the circuitboard to the component.
on_circuit_deleteChecks for when the circuitboard deletes so that it can be unassigned.
on_circuit_movedChecks for when the circuitboard moves. If it moves, removes it from the component.
on_screwdriver_actCalled when a screwdriver is used on the parent. Removes the circuitboard from the component.
on_set_anchoredCalled when the shell is anchored.
remove_circuitRemoves the circuit from the component. Doesn't do any checks to see for an existing circuit so that should be done beforehand.
set_lockedSets whether the shell is locked or not
+

Var Details

attached_circuit + + + + +

+

The circuitboard attached to this shell

capacity + + + + +

+

The capacity of the shell.

locked + + + + +

+

Whether the shell is locked or not

max_power_use_in_minute + + + + +

+

The maximum power that the shell can use in a minute before entering overheating and destroying itself.

power_used_cooldown + + + + +

+

The cooldown time to reset the power_used_in_minute to 0

power_used_in_minute + + + + +

+

The amount of power used in the last minute

shell_flags + + + + +

+

Flags containing what this shell can do

unremovable_circuit_components + + + + +

+

A list of components that cannot be removed

Proc Details

attach_circuit +

+

Attaches a circuit to the parent. Doesn't do any checks to see for any existing circuits so that should be done beforehand.

is_authorized +

+

Determines if a user is authorized to see the existance of this shell. Returns false if they are not

+

Arguments:

+

on_attack_by +

+

Called when an item hits the parent. This is the method to add the circuitboard to the component.

on_circuit_delete +

+

Checks for when the circuitboard deletes so that it can be unassigned.

on_circuit_moved +

+

Checks for when the circuitboard moves. If it moves, removes it from the component.

on_screwdriver_act +

+

Called when a screwdriver is used on the parent. Removes the circuitboard from the component.

on_set_anchored +

+

Called when the shell is anchored.

+

Only applies if the shell has SHELL_FLAG_REQUIRE_ANCHOR. +Disables the integrated circuit if unanchored, otherwise enable the circuit.

remove_circuit +

+

Removes the circuit from the component. Doesn't do any checks to see for an existing circuit so that should be done beforehand.

set_locked +

+

Sets whether the shell is locked or not

+ + + diff --git a/datum/component/shielded.html b/datum/component/shielded.html new file mode 100644 index 000000000000..98ee2b308e11 --- /dev/null +++ b/datum/component/shielded.html @@ -0,0 +1,171 @@ + + + + + + + /datum/component/shielded - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

shielded + + + +

+ +

The shielded component causes the parent item to nullify a certain number of attacks against the wearer, see: shielded vests.

+ + + + + + + + + + + + + + + + + + + +

Vars

charge_add_cdThe cooldown tracking when we last replenished a charge
charge_increment_delayOnce we go unhit long enough to recharge, we replenish charges this often. The floor is effectively 1 second, AKA how often SSdcs processes
charge_recoveryHow many charges we recover on each charge increment
current_chargesHow many charges we currently have
lose_multiple_chargesShould the shield lose charges equal to the damage dealt by a hit?
max_chargesHow many charges we can have max, and how many we start with
on_hit_effectsA callback for the sparks/message that play when a charge is used, see /datum/component/shielded/proc/default_run_hit_callback
recently_hit_cdThe cooldown tracking when we were last hit
recharge_pathThe item we use for recharging
recharge_start_delayHow long we have to avoid being hit to replenish charges. If set to 0, we never recharge lost charges
shield_iconWhat icon is used when someone has a functional shield up
shield_icon_fileWhat .dmi we're pulling the shield icon from
shield_inhandDo we still shield if we're being held in-hand? If FALSE, it needs to be equipped to a slot to work
wearerThe person currently wearing us

Procs

actually_run_hit_callbackThe wrapper to invoke the on_hit callback, so we don't have to worry about blocking in the signal handler
default_run_hit_callbackDefault on_hit proc, since cult robes are stupid and have different descriptions/sparks
lost_wearerEither we've been dropped or our wearer has been QDEL'd. Either way, they're no longer our problem
on_check_blockThis proc fires when we're hit, and is responsible for checking if we're charged, then deducting one + returning that we're blocking if so. +It then runs the callback in /datum/component/shielded/var/on_hit_effects which handles the messages/sparks (so the visuals)
on_equippedCheck if we've been equipped to a valid slot to shield
on_update_overlaysUsed to draw the shield overlay on the wearer
+

Var Details

charge_add_cd + + + + +

+

The cooldown tracking when we last replenished a charge

charge_increment_delay + + + + +

+

Once we go unhit long enough to recharge, we replenish charges this often. The floor is effectively 1 second, AKA how often SSdcs processes

charge_recovery + + + + +

+

How many charges we recover on each charge increment

current_charges + + + + +

+

How many charges we currently have

lose_multiple_charges + + + + +

+

Should the shield lose charges equal to the damage dealt by a hit?

max_charges + + + + +

+

How many charges we can have max, and how many we start with

on_hit_effects + + + + +

+

A callback for the sparks/message that play when a charge is used, see /datum/component/shielded/proc/default_run_hit_callback

recently_hit_cd + + + + +

+

The cooldown tracking when we were last hit

recharge_path + + + + +

+

The item we use for recharging

recharge_start_delay + + + + +

+

How long we have to avoid being hit to replenish charges. If set to 0, we never recharge lost charges

shield_icon + + + + +

+

What icon is used when someone has a functional shield up

shield_icon_file + + + + +

+

What .dmi we're pulling the shield icon from

shield_inhand + + + + +

+

Do we still shield if we're being held in-hand? If FALSE, it needs to be equipped to a slot to work

wearer + + + + +

+

The person currently wearing us

Proc Details

actually_run_hit_callback +

+

The wrapper to invoke the on_hit callback, so we don't have to worry about blocking in the signal handler

default_run_hit_callback +

+

Default on_hit proc, since cult robes are stupid and have different descriptions/sparks

lost_wearer +

+

Either we've been dropped or our wearer has been QDEL'd. Either way, they're no longer our problem

on_check_block +

+

This proc fires when we're hit, and is responsible for checking if we're charged, then deducting one + returning that we're blocking if so. +It then runs the callback in /datum/component/shielded/var/on_hit_effects which handles the messages/sparks (so the visuals)

on_equipped +

+

Check if we've been equipped to a valid slot to shield

on_update_overlays +

+

Used to draw the shield overlay on the wearer

+ + + diff --git a/datum/component/shy.html b/datum/component/shy.html new file mode 100644 index 000000000000..5db6b28621a0 --- /dev/null +++ b/datum/component/shy.html @@ -0,0 +1,106 @@ + + + + + + + /datum/component/shy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

shy + + + +

+ +

You can't use items on anyone other than yourself if there are other living mobs around you

+ + + + + + + + + + +

Vars

clientless_shyAre you shy around bodies with no client?
dead_shyAre you shy around a dead body?
dead_shy_immediateIf dead_shy is false and this is true, you're only shy when right next to a dead target
keyless_shyAre you shy around bodies with no key?
last_resultWhat was our last result?
machine_whitelistTypecache of machines you can avoid being shy with
messageMessage shown when you are is_shy
mob_whitelistTypecache of mob types you are okay around
result_cooldownInvalidate last_result at this time
shy_rangeHow close you are before you get shy

Procs

is_shyReturns TRUE or FALSE if you are within shy_range tiles from a /mob/living
+

Var Details

clientless_shy + + + + +

+

Are you shy around bodies with no client?

dead_shy + + + + +

+

Are you shy around a dead body?

dead_shy_immediate + + + + +

+

If dead_shy is false and this is true, you're only shy when right next to a dead target

keyless_shy + + + + +

+

Are you shy around bodies with no key?

last_result + + + + +

+

What was our last result?

machine_whitelist + + + + +

+

Typecache of machines you can avoid being shy with

message + + + + +

+

Message shown when you are is_shy

mob_whitelist + + + + +

+

Typecache of mob types you are okay around

result_cooldown + + + + +

+

Invalidate last_result at this time

shy_range + + + + +

+

How close you are before you get shy

Proc Details

is_shy +

+

Returns TRUE or FALSE if you are within shy_range tiles from a /mob/living

+ + + diff --git a/datum/component/shy_in_room.html b/datum/component/shy_in_room.html new file mode 100644 index 000000000000..8233a3126729 --- /dev/null +++ b/datum/component/shy_in_room.html @@ -0,0 +1,57 @@ + + + + + + + /datum/component/shy_in_room - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

shy_in_room + + + +

+ +

You can't use items on anyone other than yourself if you stand in a blacklisted room

+ + + +

Vars

blacklistTypecache of areas you can't stand
messageMessage shown when you are in a blacklisted room

Procs

Initialize_blacklist, and _message map to vars
is_shyReturns TRUE or FALSE if you are in a blacklisted area
+

Var Details

blacklist + + + + +

+

Typecache of areas you can't stand

message + + + + +

+

Message shown when you are in a blacklisted room

Proc Details

Initialize +

+

_blacklist, and _message map to vars

is_shy +

+

Returns TRUE or FALSE if you are in a blacklisted area

+ + + diff --git a/datum/component/simple_access.html b/datum/component/simple_access.html new file mode 100644 index 000000000000..680d8a511b83 --- /dev/null +++ b/datum/component/simple_access.html @@ -0,0 +1,36 @@ + + + + + + + /datum/component/simple_access - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

simple_access + + + +

+ +

This component allows us to give a mob access without giving them an ID card.

+

Vars

accesslist of accesses we are allowed to access via this component
+

Var Details

access + + + + +

+

list of accesses we are allowed to access via this component

+ + + diff --git a/datum/component/simple_rotation.html b/datum/component/simple_rotation.html new file mode 100644 index 000000000000..0acaf4ca92b7 --- /dev/null +++ b/datum/component/simple_rotation.html @@ -0,0 +1,55 @@ + + + + + + + /datum/component/simple_rotation - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

simple_rotation + + + +

+ + + + +

Vars

AfterRotationAdditional stuff to do after rotation
rotation_flagsRotation flags for special behavior

Procs

InitializeAdds the ability to rotate an object by Alt-click or using Right-click verbs.
+

Var Details

AfterRotation + + + + +

+

Additional stuff to do after rotation

rotation_flags + + + + +

+

Rotation flags for special behavior

Proc Details

Initialize +

+

Adds the ability to rotate an object by Alt-click or using Right-click verbs.

+

args:

+
+ + + diff --git a/datum/component/singularity.html b/datum/component/singularity.html new file mode 100644 index 000000000000..13fbde479abc --- /dev/null +++ b/datum/component/singularity.html @@ -0,0 +1,167 @@ + + + + + + + /datum/component/singularity - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

singularity + + + +

+ +

Things that maybe move around and does stuff to things around them +Used for the singularity (duh) and Nar'Sie

+ + + + + + + + + + + + + + + + + + +

Vars

bsa_targetableCan this singularity be BSA'd?
consume_callbackCallback for consuming objects (for example, Nar'Sie replaces this to call narsie_act)
consume_rangeThe range to pull in stuff around it
disregard_failed_movementsShould we disregard the possibility of failed movements? Used by stage five singularities
drifting_dirThe chosen direction to drift in
grav_pullHow many tiles out to pull in
last_failed_movementThe last direction we failed to move in (for example: if we are contained)
notify_adminsShould the admins be alerted when this is created?
override_powerSingularity power to override size.
roamingDoes this singularity move?
singularity_sizeHow big is the singularity?
targetIf specified, the singularity will slowly move to this target
time_since_last_eatThe time that has elapsed since our last move/eat call
turfs_to_consumeList of turfs we have yet to consume, but need to

Procs

admin_investigate_setupLogs to admins that a singularity was created
bluespace_reactionFired when the singularity is fired at with the BSA and deletes it
check_turfs_inMakes sure we don't move out of the z-level by checking the turfs around us. +Takes in the direction we're going, and optionally how many steps forward to look. +If steps are not provided, it will be inferred by singularity_size.
default_singularity_actCalls singularity_act on the thing passed, usually destroying the object
on_enteredTriggered when something enters the component's parent.
+

Var Details

bsa_targetable + + + + +

+

Can this singularity be BSA'd?

consume_callback + + + + +

+

Callback for consuming objects (for example, Nar'Sie replaces this to call narsie_act)

consume_range + + + + +

+

The range to pull in stuff around it

disregard_failed_movements + + + + +

+

Should we disregard the possibility of failed movements? Used by stage five singularities

drifting_dir + + + + +

+

The chosen direction to drift in

grav_pull + + + + +

+

How many tiles out to pull in

last_failed_movement + + + + +

+

The last direction we failed to move in (for example: if we are contained)

notify_admins + + + + +

+

Should the admins be alerted when this is created?

override_power + + + + +

+

Singularity power to override size.

roaming + + + + +

+

Does this singularity move?

singularity_size + + + + +

+

How big is the singularity?

target + + + + +

+

If specified, the singularity will slowly move to this target

time_since_last_eat + + + + +

+

The time that has elapsed since our last move/eat call

turfs_to_consume + + + + +

+

List of turfs we have yet to consume, but need to

Proc Details

admin_investigate_setup +

+

Logs to admins that a singularity was created

bluespace_reaction +

+

Fired when the singularity is fired at with the BSA and deletes it

check_turfs_in +

+

Makes sure we don't move out of the z-level by checking the turfs around us. +Takes in the direction we're going, and optionally how many steps forward to look. +If steps are not provided, it will be inferred by singularity_size.

default_singularity_act +

+

Calls singularity_act on the thing passed, usually destroying the object

on_entered +

+

Triggered when something enters the component's parent.

+ + + diff --git a/datum/component/slippery.html b/datum/component/slippery.html new file mode 100644 index 000000000000..ebed927510fa --- /dev/null +++ b/datum/component/slippery.html @@ -0,0 +1,99 @@ + + + + + + + /datum/component/slippery - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

slippery + + + +

+ +

Slippery component, for making anything slippery. Of course.

+ + + + + + + + + +

Vars

callbackA proc callback to call on slip.
default_connectionswhat we give to connect_loc by default, makes slippable mobs moving over us slip
force_drop_itemsIf the slip forces you to drop held items.
holderIf parent is an item, this is the person currently holding/wearing the parent (or the parent if no one is holding it)
holder_connect_loc_behalfThe connect_loc_behalf component for the holder_connections list.
holder_connectionswhat we give to connect_loc if we're an item and get equipped by a mob. makes slippable mobs moving over our holder slip
knockdown_timeHow long the slip keeps you knocked down.
lube_flagsFlags for how slippery the parent is. See [__DEFINES/mobs.dm]
paralyze_timeHow long the slip paralyzes for.
slot_whitelistWhitelist of item slots the parent can be equipped in that make the holder slippery. If null or empty, it will always make the holder slippery.
+

Var Details

callback + + + + +

+

A proc callback to call on slip.

default_connections + + + + +

+

what we give to connect_loc by default, makes slippable mobs moving over us slip

force_drop_items + + + + +

+

If the slip forces you to drop held items.

holder + + + + +

+

If parent is an item, this is the person currently holding/wearing the parent (or the parent if no one is holding it)

holder_connect_loc_behalf + + + + +

+

The connect_loc_behalf component for the holder_connections list.

holder_connections + + + + +

+

what we give to connect_loc if we're an item and get equipped by a mob. makes slippable mobs moving over our holder slip

knockdown_time + + + + +

+

How long the slip keeps you knocked down.

lube_flags + + + + +

+

Flags for how slippery the parent is. See [__DEFINES/mobs.dm]

paralyze_time + + + + +

+

How long the slip paralyzes for.

slot_whitelist + + + + +

+

Whitelist of item slots the parent can be equipped in that make the holder slippery. If null or empty, it will always make the holder slippery.

+ + + diff --git a/datum/component/smell.html b/datum/component/smell.html new file mode 100644 index 000000000000..48e9c4aa5120 --- /dev/null +++ b/datum/component/smell.html @@ -0,0 +1,57 @@ + + + + + + + /datum/component/smell - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

smell + + + +

+ + + + + +

Vars

duration_timerTimer ID for qdeling ourself, if needed
intensitySmells with a higher intensity than the mob's last smell will be smelt instantly
radiusThe radius of turfs to affect
scentThe thing you actually smell
+

Var Details

duration_timer + + + + +

+

Timer ID for qdeling ourself, if needed

intensity + + + + +

+

Smells with a higher intensity than the mob's last smell will be smelt instantly

radius + + + + +

+

The radius of turfs to affect

scent + + + + +

+

The thing you actually smell

+ + + diff --git a/datum/component/smooth_tunes.html b/datum/component/smooth_tunes.html new file mode 100644 index 000000000000..c4c86439b6b4 --- /dev/null +++ b/datum/component/smooth_tunes.html @@ -0,0 +1,104 @@ + + + + + + + /datum/component/smooth_tunes - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

smooth_tunes + + + +

+ +

Smooth tunes component! Applied to musicians to give the songs they play special effects, according to a rite! +Comes with BARTICLES!!!

+ + + + + + + + + +

Vars

allow_repeatsif repeats count as continuations instead of a song's end, TRUE
glow_colora funny little glow applied to the instrument while playing
linked_songlinked song
linked_songtuner_riteif applied due to a rite, we link it here
particle_holderthe particle holder of the particle path (created when song starts) ((no i cant think of a better var name because i made the typepath and im perfect))
particles_pathparticles to apply, if applicable
viable_for_final_effectwhether to call the rite's finish effect, only true when the song is long enough

Procs

start_singingInitiates the effect when the song begins playing.
stop_singingEnds the effect when the song is no longer playing.
tempo_changeprevent more songs from being blessed concurrently, mob signal +and hook into the instrument this time, preventing other weird exploity stuff. +Prevents changing tempo during a song to sneak in final effects quicker
+

Var Details

allow_repeats + + + + +

+

if repeats count as continuations instead of a song's end, TRUE

glow_color + + + + +

+

a funny little glow applied to the instrument while playing

linked_song + + + + +

+

linked song

linked_songtuner_rite + + + + +

+

if applied due to a rite, we link it here

particle_holder + + + + +

+

the particle holder of the particle path (created when song starts) ((no i cant think of a better var name because i made the typepath and im perfect))

particles_path + + + + +

+

particles to apply, if applicable

viable_for_final_effect + + + + +

+

whether to call the rite's finish effect, only true when the song is long enough

Proc Details

start_singing +

+

Initiates the effect when the song begins playing.

stop_singing +

+

Ends the effect when the song is no longer playing.

tempo_change +

+

prevent more songs from being blessed concurrently, mob signal +and hook into the instrument this time, preventing other weird exploity stuff. +Prevents changing tempo during a song to sneak in final effects quicker

+ + + diff --git a/datum/component/sound_player.html b/datum/component/sound_player.html new file mode 100644 index 000000000000..1015a89a1d17 --- /dev/null +++ b/datum/component/sound_player.html @@ -0,0 +1,59 @@ + + + + + + + /datum/component/sound_player - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

sound_player + + + +

+ +

Sound Player component

+

Component that will play a sound upon recieving some signal

+ + + +

Vars

soundsThe list of sounds played, picked randomly.
usesUses left before the sound player deletes itself. If set to a negative number that will mean infinite uses.
volumeVolume of the sound when played

Procs

play_soundAttempt to play the sound on parent
+

Var Details

sounds + + + + +

+

The list of sounds played, picked randomly.

uses + + + + +

+

Uses left before the sound player deletes itself. If set to a negative number that will mean infinite uses.

volume + + + + +

+

Volume of the sound when played

Proc Details

play_sound +

+

Attempt to play the sound on parent

+

If out of uses, will qdel itself.

+ + + diff --git a/datum/component/spinny.html b/datum/component/spinny.html new file mode 100644 index 000000000000..79f5e9b3d621 --- /dev/null +++ b/datum/component/spinny.html @@ -0,0 +1,44 @@ + + + + + + + /datum/component/spinny - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

spinny + + + +

+ +

spinny.dm

+

It's a component that spins things a whole bunch, like [proc/dance_rotate] but without the sleeps

+ +

Vars

steps_leftHow many turns are left?
turn_degreesTurns clockwise by default, or counterclockwise if the reverse argument is TRUE
+

Var Details

steps_left + + + + +

+

How many turns are left?

turn_degrees + + + + +

+

Turns clockwise by default, or counterclockwise if the reverse argument is TRUE

+ + + diff --git a/datum/component/spirit_holding.html b/datum/component/spirit_holding.html new file mode 100644 index 000000000000..f42767c093c0 --- /dev/null +++ b/datum/component/spirit_holding.html @@ -0,0 +1,98 @@ + + + + + + + /datum/component/spirit_holding - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

spirit_holding + + + +

+ +

spirit holding component; for items to have spirits inside of them for "advice"

+

Used for the possessed blade and fantasy affixes

+ + + + + + + +

Vars

attempting_awakeningbool on if this component is currently polling for observers to inhabit the item
bound_spiritmob contained in the item.

Procs

attempt_exorcismattempt_exorcism: called from on_bible_smacked, takes time and if successful +resets the item to a pre-possessed state
attempt_spirit_awakenattempt_spirit_awaken: called from on_attack_self, polls ghosts to possess the item in the form +of a mob sitting inside the item itself
block_buckle_messagesignal fired from a mob moving inside the parent
on_attack_selfsignal fired on self attacking parent
on_destroysignal fired from parent being destroyed
on_examinesignal fired on examining the parent
+

Var Details

attempting_awakening + + + + +

+

bool on if this component is currently polling for observers to inhabit the item

bound_spirit + + + + +

+

mob contained in the item.

Proc Details

attempt_exorcism +

+

attempt_exorcism: called from on_bible_smacked, takes time and if successful +resets the item to a pre-possessed state

+

Arguments:

+

attempt_spirit_awaken +

+

attempt_spirit_awaken: called from on_attack_self, polls ghosts to possess the item in the form +of a mob sitting inside the item itself

+

Arguments:

+

block_buckle_message +

+

signal fired from a mob moving inside the parent

on_attack_self +

+

signal fired on self attacking parent

on_destroy +

+

signal fired from parent being destroyed

on_examine +

+

signal fired on examining the parent

+ + + diff --git a/datum/component/squashable.html b/datum/component/squashable.html new file mode 100644 index 000000000000..d8b5c46ae813 --- /dev/null +++ b/datum/component/squashable.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/squashable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

squashable + + + +

+ +

This component allows something to be when crossed, for example for cockroaches.

+ + + + + +

Vars

loc_connectionssignal list given to connect_loc
on_squash_callbackSpecial callback to call on squash instead, for things like hauberoach
squash_chanceChance on crossed to be squashed
squash_damageHow much brute is applied when mob is squashed
squash_flagsSquash flags, for extra checks etcetera.

Procs

on_enteredHandles the squashing of the mob
+

Var Details

loc_connections + + + + +

+

signal list given to connect_loc

on_squash_callback + + + + +

+

Special callback to call on squash instead, for things like hauberoach

squash_chance + + + + +

+

Chance on crossed to be squashed

squash_damage + + + + +

+

How much brute is applied when mob is squashed

squash_flags + + + + +

+

Squash flags, for extra checks etcetera.

Proc Details

on_entered +

+

Handles the squashing of the mob

+ + + diff --git a/datum/component/squeak.html b/datum/component/squeak.html new file mode 100644 index 000000000000..c77f3c5ecde2 --- /dev/null +++ b/datum/component/squeak.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/squeak - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

squeak + + + +

+ + + + + + +

Vars

item_connectionswhat we set connect_loc to if parent is an item
sound_extra_rangeextra-range for this component's sound
sound_falloff_distancewhen sounds start falling off for the squeak
sound_falloff_exponentsound exponent for squeak. Defaults to 10 as squeaking is loud and annoying enough.

Procs

holder_deletedjust gets rid of the reference to holder in the case that theyre qdeleted
+

Var Details

item_connections + + + + +

+

what we set connect_loc to if parent is an item

sound_extra_range + + + + +

+

extra-range for this component's sound

sound_falloff_distance + + + + +

+

when sounds start falling off for the squeak

sound_falloff_exponent + + + + +

+

sound exponent for squeak. Defaults to 10 as squeaking is loud and annoying enough.

Proc Details

holder_deleted +

+

just gets rid of the reference to holder in the case that theyre qdeleted

+ + + diff --git a/datum/component/stationloving.html b/datum/component/stationloving.html new file mode 100644 index 000000000000..feec9a087cd7 --- /dev/null +++ b/datum/component/stationloving.html @@ -0,0 +1,80 @@ + + + + + + + /datum/component/stationloving - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

stationloving + + + +

+ +

Teleports the movable atom back to a safe turf on the station if it leaves the z-level or becomes inaccessible.

+ + + + + + +

Vars

allow_item_destructionIf FALSE, prevents parent from being qdel'd unless it's a force = TRUE qdel.
inform_adminsIf TRUE, notifies admins when parent is teleported back to the station.

Procs

atom_in_boundsChecks whether a given atom's turf is within bounds. Returns TRUE if it is, FALSE if it isn't.
on_parent_pre_qdeletedSignal handler for before the parent is qdel'd. Can prevent the parent from being deleted where allow_item_destruction is FALSE and force is FALSE.
on_parent_unreachableSignal handler for when the parent enters an unreachable location. Always relocates the parent.
on_parent_z_changeSignal handler when the parent has changed z-levels. +Checks to make sure it's a valid destination, if it's not then it relacates the parent instead.
relocateTeleports parent to a safe turf on the station z-level.
+

Var Details

allow_item_destruction + + + + +

+

If FALSE, prevents parent from being qdel'd unless it's a force = TRUE qdel.

inform_admins + + + + +

+

If TRUE, notifies admins when parent is teleported back to the station.

Proc Details

atom_in_bounds +

+

Checks whether a given atom's turf is within bounds. Returns TRUE if it is, FALSE if it isn't.

on_parent_pre_qdeleted +

+

Signal handler for before the parent is qdel'd. Can prevent the parent from being deleted where allow_item_destruction is FALSE and force is FALSE.

on_parent_unreachable +

+

Signal handler for when the parent enters an unreachable location. Always relocates the parent.

on_parent_z_change +

+

Signal handler when the parent has changed z-levels. +Checks to make sure it's a valid destination, if it's not then it relacates the parent instead.

relocate +

+

Teleports parent to a safe turf on the station z-level.

+ + + diff --git a/datum/component/stationstuck.html b/datum/component/stationstuck.html new file mode 100644 index 000000000000..66f826333b07 --- /dev/null +++ b/datum/component/stationstuck.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/stationstuck - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

stationstuck + + + +

+ + +

Procs

punishCalled when parent leaves the zlevel this is set to (aka whichever zlevel it was on when it was added) +Sends a message, then does an effect depending on what the punishment was.

Proc Details

punish +

+

Called when parent leaves the zlevel this is set to (aka whichever zlevel it was on when it was added) +Sends a message, then does an effect depending on what the punishment was.

+

Punishments:

+
+ + + diff --git a/datum/component/strong_pull.html b/datum/component/strong_pull.html new file mode 100644 index 000000000000..d7d5d64bd5f3 --- /dev/null +++ b/datum/component/strong_pull.html @@ -0,0 +1,49 @@ + + + + + + + /datum/component/strong_pull - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

strong_pull + + + +

+ + + + +

Procs

on_no_longer_pulledCalled when the hooked object is no longer pulled and removes the strong grip.
on_pullCalled when the parent grabs something, adds signals to the object to reject interactions
reject_further_pullsSignal for rejecting further grabs

Proc Details

on_no_longer_pulled +

+

Called when the hooked object is no longer pulled and removes the strong grip.

on_pull +

+

Called when the parent grabs something, adds signals to the object to reject interactions

reject_further_pulls +

+

Signal for rejecting further grabs

+ + + diff --git a/datum/component/subtype_picker.html b/datum/component/subtype_picker.html new file mode 100644 index 000000000000..91dbadd19c9f --- /dev/null +++ b/datum/component/subtype_picker.html @@ -0,0 +1,97 @@ + + + + + + + /datum/component/subtype_picker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

subtype_picker + + + +

+ +

subtype picker component allows for an item to transform into its subtypes (this is not enforced and you can turn in whatever types, but +i used this name as it was incredibly accurate for current usage of the behavior)

+

Used for the null rod to pick the other holy weapons.

+ + + + + + + +

Vars

built_radial_listlist given to the radial menu to display, built after init
name2subtypethe radial will return a name of the wanted subtype, this is a list of names back to the type, built after init
on_picked_callbackoptional proc to callback to when the weapon is picked
subtype2descriptionsA list of types and their menu descriptions

Procs

build_radial_listpick_subtype: turns the list of types to their description into all the data radial menus need
check_menuChecks if we are allowed to interact with the radial menu
on_attack_selfsignal called by the stat of the target changing
pick_subtypepick_subtype: called from on_attack_self, shows a user a radial menu of all available null rod reskins and replaces the current null rod with the user's chosen reskinned variant
+

Var Details

built_radial_list + + + + +

+

list given to the radial menu to display, built after init

name2subtype + + + + +

+

the radial will return a name of the wanted subtype, this is a list of names back to the type, built after init

on_picked_callback + + + + +

+

optional proc to callback to when the weapon is picked

subtype2descriptions + + + + +

+

A list of types and their menu descriptions

Proc Details

build_radial_list +

+

pick_subtype: turns the list of types to their description into all the data radial menus need

check_menu +

+

Checks if we are allowed to interact with the radial menu

+

Arguments:

+

on_attack_self +

+

signal called by the stat of the target changing

pick_subtype +

+

pick_subtype: called from on_attack_self, shows a user a radial menu of all available null rod reskins and replaces the current null rod with the user's chosen reskinned variant

+

Arguments:

+
+ + + diff --git a/datum/component/tackler.html b/datum/component/tackler.html new file mode 100644 index 000000000000..9fc2f556c173 --- /dev/null +++ b/datum/component/tackler.html @@ -0,0 +1,184 @@ + + + + + + + /datum/component/tackler - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tackler + + + +

+ +

For when you want to throw a person at something and have fun stuff happen

+

This component is made for carbon mobs (really, humans), and allows its parent to throw themselves and perform tackles. This is done by enabling throw mode, then clicking on your +intended target with an empty hand. You will then launch toward your target. If you hit a carbon, you'll roll to see how hard you hit them. If you hit a solid non-mob, you'll +roll to see how badly you just messed yourself up. If, along your journey, you hit a table, you'll slam onto it and send up to MAX_TABLE_MESSES (8) /obj/items on the table flying, +and take a bit of extra damage and stun for each thing launched.

+

There are 2 separate """skill rolls""" involved here, which are handled and explained in rollTackle() (for roll 1, carbons), and splat() (for roll 2, walls and solid objects)

+ + + + + + + + + + + + + + +

Vars

base_knockdownLaunching a tackle calls Knockdown on you for this long, so this is your cooldown. Once you stand back up, you can tackle again.
min_distanceSome gloves, generally ones that increase mobility, may have a minimum distance to fly. Rocket gloves are especially dangerous with this, be sure you'll hit your target or have a clear background if you miss, or else!
rangeYour max range for how far you can tackle.
skill_modA flat modifier to your roll against your target, as described in rollTackle(). Slightly misleading, skills aren't relevant here, this is a matter of what type of gloves (or whatever) is granting you the ability to tackle.
speedHow fast you sail through the air. Standard tackles are 1 speed, but gloves that throw you faster come at a cost: higher speeds make it more likely you'll be badly injured if you fly into a non-mob obstacle.
stamina_costHow much stamina it takes to launch a tackle
tackle_refA wearkef to the throwdatum we're currently dealing with, if we need it
tacklingIf we're currently tackling or are on cooldown. Actually, shit, if I use this to handle cooldowns, then getting thrown by something while on cooldown will count as a tackle..... whatever, i'll fix that next commit

Procs

checkObstacleCheck to see if we hit a table, and if so, make a big mess!
checkTackleSee if we can tackle or not. If we can, leap!
registerTackleStore the thrownthing datum for later use
rollTackleThis handles all of the modifiers for the actual carbon-on-carbon tackling, and gets its own proc because of how many there are (with plenty more in mind!)
sacksack() is called when you actually smack into something, assuming we're mid-tackle. First it deals with smacking into non-carbons, in two cases:
splatThis is where we handle diving into dense atoms, generally with effects ranging from bad to REALLY bad. This works as a percentile roll that is modified in two steps as detailed below. The higher +the roll, the more severe the result.
splatWindowA special case for splatting for handling windows
+

Var Details

base_knockdown + + + + +

+

Launching a tackle calls Knockdown on you for this long, so this is your cooldown. Once you stand back up, you can tackle again.

min_distance + + + + +

+

Some gloves, generally ones that increase mobility, may have a minimum distance to fly. Rocket gloves are especially dangerous with this, be sure you'll hit your target or have a clear background if you miss, or else!

range + + + + +

+

Your max range for how far you can tackle.

skill_mod + + + + +

+

A flat modifier to your roll against your target, as described in rollTackle(). Slightly misleading, skills aren't relevant here, this is a matter of what type of gloves (or whatever) is granting you the ability to tackle.

speed + + + + +

+

How fast you sail through the air. Standard tackles are 1 speed, but gloves that throw you faster come at a cost: higher speeds make it more likely you'll be badly injured if you fly into a non-mob obstacle.

stamina_cost + + + + +

+

How much stamina it takes to launch a tackle

tackle_ref + + + + +

+

A wearkef to the throwdatum we're currently dealing with, if we need it

tackling + + + + +

+

If we're currently tackling or are on cooldown. Actually, shit, if I use this to handle cooldowns, then getting thrown by something while on cooldown will count as a tackle..... whatever, i'll fix that next commit

Proc Details

checkObstacle +

+

Check to see if we hit a table, and if so, make a big mess!

checkTackle +

+

See if we can tackle or not. If we can, leap!

registerTackle +

+

Store the thrownthing datum for later use

rollTackle +

+

This handles all of the modifiers for the actual carbon-on-carbon tackling, and gets its own proc because of how many there are (with plenty more in mind!)

+

The base roll is between (-3, 3), with negative numbers favoring the target, and positive numbers favoring the tackler. The target and the tackler are both assessed for +how easy they are to knock over, with clumsiness and dwarfiness being strong maluses for each, and gigantism giving a bonus for each. These numbers and ideas +are absolutely subject to change.

+

In addition, after subtracting the defender's mod and adding the attacker's mod to the roll, the component's base (skill) mod is added as well. Some sources of tackles +are better at taking people down, like the bruiser and rocket gloves, while the dolphin gloves have a malus in exchange for better mobility.

sack +

+

sack() is called when you actually smack into something, assuming we're mid-tackle. First it deals with smacking into non-carbons, in two cases:

+ +

If it's a carbon we hit, we'll call rollTackle() which rolls a die and calculates modifiers for both the tackler and target, then gives us a number. Negatives favor the target, while positives favor the tackler. +Check rollTackle() for a more thorough explanation on the modifiers at play.

+

Then, we figure out what effect we want, and we get to work! Note that with standard gripper gloves and no modifiers, the range of rolls is (-3, 3). The results are as follows, based on what we rolled:

+ +

Finally, we return a bitflag to COMSIG_MOVABLE_IMPACT that forces the hitpush to false so that we don't knock them away.

splat +

+

This is where we handle diving into dense atoms, generally with effects ranging from bad to REALLY bad. This works as a percentile roll that is modified in two steps as detailed below. The higher +the roll, the more severe the result.

+

Mod 1: Speed-

+ +

Mod 2: Misc- +-Flat modifiers, these take whatever you rolled and add/subtract to it, with the end result capped between the minimum from Mod 1 and 100. Note that since we can't roll higher than 100 to start with, +wearing a helmet should be enough to remove any chance of permanently paralyzing yourself and dramatically lessen knocking yourself unconscious, even with rocket gloves. Will expand on maybe

+ +

Effects: Below are the outcomes based off your roll, in order of increasing severity

+

splatWindow +

+

A special case for splatting for handling windows

+ + + diff --git a/datum/component/tameable.html b/datum/component/tameable.html new file mode 100644 index 000000000000..fbccbad9206a --- /dev/null +++ b/datum/component/tameable.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/tameable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tameable + + + +

+ +

This component lets you make specific mobs tameable by feeding them

+ + + + + +

Vars

after_tameFor effects once soemthing is tamed
bonus_tame_chanceAdded success chance after every failed tame attempt.
food_typesWhat the mob eats, typically used for taming or animal husbandry.
tameAre we domesticated?
tame_chanceStarting success chance for taming.

Procs

on_tameRan once taming succeeds
+

Var Details

after_tame + + + + +

+

For effects once soemthing is tamed

bonus_tame_chance + + + + +

+

Added success chance after every failed tame attempt.

food_types + + + + +

+

What the mob eats, typically used for taming or animal husbandry.

tame + + + + +

+

Are we domesticated?

tame_chance + + + + +

+

Starting success chance for taming.

Proc Details

on_tame +

+

Ran once taming succeeds

+ + + diff --git a/datum/component/tattoo.html b/datum/component/tattoo.html new file mode 100644 index 000000000000..c9fb123b8847 --- /dev/null +++ b/datum/component/tattoo.html @@ -0,0 +1,46 @@ + + + + + + + /datum/component/tattoo - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tattoo + + + +

+ +engraved component! +

component for walls that applies an engraved overlay and lets you examine it to read a story (+ art element yay) +new creations will get a high art value, cross round scrawlings will get a low one. +MUST be a component, though it doesn't look like it. SSPersistence demandeth

+ +

Vars

tattoo_descriptionthe generated story string

Procs

Destroyokay, i need to add some way to saved tattoos
+

Var Details

tattoo_description + + + + +

+

the generated story string

Proc Details

Destroy +

+

okay, i need to add some way to saved tattoos

+ + + diff --git a/datum/component/technointrovert.html b/datum/component/technointrovert.html new file mode 100644 index 000000000000..83758706b52d --- /dev/null +++ b/datum/component/technointrovert.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/technointrovert - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

technointrovert + + + +

+ +

You can't use machines unless they are in a whitelist

+ +

Vars

messageMessage presented when
whitelistTypecache of allowed machinery
+

Var Details

message + + + + +

+

Message presented when

whitelist + + + + +

+

Typecache of allowed machinery

+ + + diff --git a/datum/component/technoshy.html b/datum/component/technoshy.html new file mode 100644 index 000000000000..bbba32c58dde --- /dev/null +++ b/datum/component/technoshy.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/technoshy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

technoshy + + + +

+ +

You can't use machines when they've been touched within the last [unused_duration], unless it was by a mob in [whitelist]

+ + +

Vars

messageMessage presented if the machine was used too recently
unused_durationHow long in deciseconds the machine can be untouched for
whitelistTypecache of allowed last_users
+

Var Details

message + + + + +

+

Message presented if the machine was used too recently

unused_duration + + + + +

+

How long in deciseconds the machine can be untouched for

whitelist + + + + +

+

Typecache of allowed last_users

+ + + diff --git a/datum/component/thermite.html b/datum/component/thermite.html new file mode 100644 index 000000000000..179af6cf69fd --- /dev/null +++ b/datum/component/thermite.html @@ -0,0 +1,148 @@ + + + + + + + /datum/component/thermite - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

thermite + + + +

+ + + + + + + + + + + + + + + +

Vars

amountAmoumt of thermite on parent
blacklistBlacklist of turfs that cannot have thermite on it
burn_requireAmount of thermite required to burn through parent
burn_timerThe timer for burning parent
fakefireThe thermite fire overlay
immunelistList of turfs that are immune to thermite
overlayThe thermite overlay
resistlistList of turfs that take extra thermite to burn through

Procs

attackby_reactattackby reaction, ignites the thermite if its a flame creating object
burn_parentUsed to actually melt parent
clean_reactwash reaction, used to clean off thermite from parent
delete_fireUsed to delete the fake fire overlay
flame_reactfire_act reaction, has to be the correct temperature
thermite_meltUsed to begin the thermite burning process
+

Var Details

amount + + + + +

+

Amoumt of thermite on parent

blacklist + + + + +

+

Blacklist of turfs that cannot have thermite on it

burn_require + + + + +

+

Amount of thermite required to burn through parent

burn_timer + + + + +

+

The timer for burning parent

fakefire + + + + +

+

The thermite fire overlay

immunelist + + + + +

+

List of turfs that are immune to thermite

overlay + + + + +

+

The thermite overlay

resistlist + + + + +

+

List of turfs that take extra thermite to burn through

Proc Details

attackby_react +

+

attackby reaction, ignites the thermite if its a flame creating object

+

Arguments:

+

burn_parent +

+

Used to actually melt parent

+

Arguments:

+

clean_react +

+

wash reaction, used to clean off thermite from parent

delete_fire +

+

Used to delete the fake fire overlay

flame_react +

+

fire_act reaction, has to be the correct temperature

+

Arguments:

+

thermite_melt +

+

Used to begin the thermite burning process

+

Arguments:

+
+ + + diff --git a/datum/component/tippable.html b/datum/component/tippable.html new file mode 100644 index 000000000000..f42cc4fbb3c2 --- /dev/null +++ b/datum/component/tippable.html @@ -0,0 +1,203 @@ + + + + + + + /datum/component/tippable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tippable + + + +

+ +

Tippable component. For making mobs able to be tipped, like cows and medibots.

+ + + + + + + + + + + + + + + + + + + +

Vars

is_tippedWhether the mob is currently tipped.
post_tipped_callbackCallback to additional behavior after successfully tipping the mob.
post_untipped_callbackCallback to additional behavior after being untipped.
pre_tipped_callbackCallback to additional behavior before being tipped (on try_tip). Return anything from this callback to cancel the tip.
roleplay_callbackCallback to any extra roleplay behaviour
roleplay_emotesList of emotes that will half their untip time
roleplay_friendlyShould we accept roleplay?
roleplayedHave we roleplayed?
self_right_timeTime it takes for the mob to right itself. Can be 0 for instant self-righting, or null, to never self-right.
self_untip_timerThe timer given until they untip themselves
tip_timeTime it takes to tip the mob. Can be 0, for instant tipping.
untip_timeTime it takes to untip the mob. Can also be 0, for instant untip.

Procs

accept_roleplayAccepts "roleplay" in the form of emotes, which removes a quarter of the remaining time left to untip ourself.
do_tipActually tip over the mob, setting it to tipped. +Also invoking any callbacks we have, with the tipper as the argument, +and set a timer to right our self-right our tipped mob if we can.
do_untipActually untip over the mob, setting it to untipped. +Also invoke any untip callbacks we have, with the untipper as the argument.
interact_with_tippableAttempt to interact with [source], either tipping it or helping it up.
right_selfProc called after a timer to have a tipped mob un-tip itself after a certain length of time. +Sets our mob to untipped and invokes the untipped callback without any arguments if we have one.
set_tipped_statusToggles our tipped status between tipped or untipped (TRUE or FALSE) +also handles rotating our mob and adding immobilization traits
try_tipTry to tip over [tipped_mob]. +If the mob is dead, or optional callback returns a value, or our do-after fails, we don't tip the mob. +Otherwise, upon completing of the do_after, tip over the mob.
try_untipTry to untip a mob that has been tipped. +After a do-after is completed, we untip the mob.
+

Var Details

is_tipped + + + + +

+

Whether the mob is currently tipped.

post_tipped_callback + + + + +

+

Callback to additional behavior after successfully tipping the mob.

post_untipped_callback + + + + +

+

Callback to additional behavior after being untipped.

pre_tipped_callback + + + + +

+

Callback to additional behavior before being tipped (on try_tip). Return anything from this callback to cancel the tip.

roleplay_callback + + + + +

+

Callback to any extra roleplay behaviour

roleplay_emotes + + + + +

+

List of emotes that will half their untip time

roleplay_friendly + + + + +

+

Should we accept roleplay?

roleplayed + + + + +

+

Have we roleplayed?

self_right_time + + + + +

+

Time it takes for the mob to right itself. Can be 0 for instant self-righting, or null, to never self-right.

self_untip_timer + + + + +

+

The timer given until they untip themselves

tip_time + + + + +

+

Time it takes to tip the mob. Can be 0, for instant tipping.

untip_time + + + + +

+

Time it takes to untip the mob. Can also be 0, for instant untip.

Proc Details

accept_roleplay +

+

Accepts "roleplay" in the form of emotes, which removes a quarter of the remaining time left to untip ourself.

+

Arguments:

+

do_tip +

+

Actually tip over the mob, setting it to tipped. +Also invoking any callbacks we have, with the tipper as the argument, +and set a timer to right our self-right our tipped mob if we can.

+

tipped_mob - the mob who was tipped +tipper - the mob who tipped the tipped_mob

do_untip +

+

Actually untip over the mob, setting it to untipped. +Also invoke any untip callbacks we have, with the untipper as the argument.

+

tipped_mob - the mob who was tipped +tipper - the mob who tipped the tipped_mob

interact_with_tippable +

+

Attempt to interact with [source], either tipping it or helping it up.

+

source - the mob being tipped over +user - the mob interacting with source

right_self +

+

Proc called after a timer to have a tipped mob un-tip itself after a certain length of time. +Sets our mob to untipped and invokes the untipped callback without any arguments if we have one.

+

tipped_mob - the mob who was tipped, and is freeing itself

set_tipped_status +

+

Toggles our tipped status between tipped or untipped (TRUE or FALSE) +also handles rotating our mob and adding immobilization traits

+

tipped_mob - the mob we're setting to tipped or untipped +new_status - the tipped status we're setting the mob to - TRUE for tipped, FALSE for untipped

try_tip +

+

Try to tip over [tipped_mob]. +If the mob is dead, or optional callback returns a value, or our do-after fails, we don't tip the mob. +Otherwise, upon completing of the do_after, tip over the mob.

+

tipped_mob - the mob being tipped over +tipper - the mob tipping the tipped_mob

try_untip +

+

Try to untip a mob that has been tipped. +After a do-after is completed, we untip the mob.

+

tipped_mob - the mob who is tipped +untipper - the mob who is untipping the tipped_mob

+ + + diff --git a/datum/component/toggle_icon.html b/datum/component/toggle_icon.html new file mode 100644 index 000000000000..ac5f8ab00c10 --- /dev/null +++ b/datum/component/toggle_icon.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/toggle_icon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

toggle_icon + + + +

+ + + + +

Vars

base_icon_stateThe base icon state we do operations on.
toggle_nounThe noun of what was "toggled" displayed to the user. EX: "Toggled the item's [buttons]"
toggledWhether the icon is toggled
+

Var Details

base_icon_state + + + + +

+

The base icon state we do operations on.

toggle_noun + + + + +

+

The noun of what was "toggled" displayed to the user. EX: "Toggled the item's [buttons]"

toggled + + + + +

+

Whether the icon is toggled

+ + + diff --git a/datum/component/traitor_objective_limit_per_time.html b/datum/component/traitor_objective_limit_per_time.html new file mode 100644 index 000000000000..4ff44aa13ed5 --- /dev/null +++ b/datum/component/traitor_objective_limit_per_time.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/traitor_objective_limit_per_time - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

traitor_objective_limit_per_time + + + +

+ +

Helper component to track events on

+ + +

Vars

maximum_objectivesThe maximum amount of objectives that can be active or recently active at one time
time_periodThe maximum time that an objective will be considered for. Set to -1 to accept any time.
typepathThe typepath which we check for
+

Var Details

maximum_objectives + + + + +

+

The maximum amount of objectives that can be active or recently active at one time

time_period + + + + +

+

The maximum time that an objective will be considered for. Set to -1 to accept any time.

typepath + + + + +

+

The typepath which we check for

+ + + diff --git a/datum/component/traitor_objective_mind_tracker.html b/datum/component/traitor_objective_mind_tracker.html new file mode 100644 index 000000000000..963a17e5e634 --- /dev/null +++ b/datum/component/traitor_objective_mind_tracker.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/traitor_objective_mind_tracker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

traitor_objective_mind_tracker + + + +

+ +

Helper component to track events on

+ + +

Vars

current_registered_targetCurrent registered target
signalsSignals to listen out for mapped to procs to call
targetThe target to track
+

Var Details

current_registered_target + + + + +

+

Current registered target

signals + + + + +

+

Signals to listen out for mapped to procs to call

target + + + + +

+

The target to track

+ + + diff --git a/datum/component/traitor_objective_register.html b/datum/component/traitor_objective_register.html new file mode 100644 index 000000000000..3fbbb8f31799 --- /dev/null +++ b/datum/component/traitor_objective_register.html @@ -0,0 +1,58 @@ + + + + + + + /datum/component/traitor_objective_register - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

traitor_objective_register + + + +

+ +

Helper component that registers signals on an object +This is not necessary to use and gives little control over the conditions

+ + + +

Vars

fail_signalsSignals to listen out for to automatically fail the objective.
penaltyWhether failing has a penalty
succeed_signalsSignals to listen out for to automatically succeed the objective
targetThe target to apply the succeed/fail signals onto
+

Var Details

fail_signals + + + + +

+

Signals to listen out for to automatically fail the objective.

penalty + + + + +

+

Whether failing has a penalty

succeed_signals + + + + +

+

Signals to listen out for to automatically succeed the objective

target + + + + +

+

The target to apply the succeed/fail signals onto

+ + + diff --git a/datum/component/transforming.html b/datum/component/transforming.html new file mode 100644 index 000000000000..922fcf7f2091 --- /dev/null +++ b/datum/component/transforming.html @@ -0,0 +1,134 @@ + + + + + + + /datum/component/transforming - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

transforming + + + +

+ + + + + + + + + + + + + + + + +

Vars

activeWhether the weapon is transformed
attack_verb_continuous_offList of the original continuous attack verbs the item has.
attack_verb_continuous_onList of continuous attack verbs used when the weapon is enabled
attack_verb_simple_offList of the original simple attack verbs the item has.
attack_verb_simple_onList of simple attack verbs used when the weapon is enabled
clumsy_checkWhether clumsy people need to succeed an RNG check to turn it on without hurting themselves
force_onForce of the weapon when active
hitsound_onHitsound played when active
sharpened_bonusIf we get sharpened with a whetstone, save the bonus here for later use if we un/redeploy
sharpness_onThe sharpness of the weapon when active
throw_speed_onThrow speed of the weapon when active
throwforce_onThrowforce of the weapon when active
transform_cooldownCooldown in between transforms
transform_cooldown_timeCooldown on transforming this item back and forth
w_class_onWeight class of the weapon when active
+

Var Details

active + + + + +

+

Whether the weapon is transformed

attack_verb_continuous_off + + + + +

+

List of the original continuous attack verbs the item has.

attack_verb_continuous_on + + + + +

+

List of continuous attack verbs used when the weapon is enabled

attack_verb_simple_off + + + + +

+

List of the original simple attack verbs the item has.

attack_verb_simple_on + + + + +

+

List of simple attack verbs used when the weapon is enabled

clumsy_check + + + + +

+

Whether clumsy people need to succeed an RNG check to turn it on without hurting themselves

force_on + + + + +

+

Force of the weapon when active

hitsound_on + + + + +

+

Hitsound played when active

sharpened_bonus + + + + +

+

If we get sharpened with a whetstone, save the bonus here for later use if we un/redeploy

sharpness_on + + + + +

+

The sharpness of the weapon when active

throw_speed_on + + + + +

+

Throw speed of the weapon when active

throwforce_on + + + + +

+

Throwforce of the weapon when active

transform_cooldown + + + + +

+

Cooldown in between transforms

transform_cooldown_time + + + + +

+

Cooldown on transforming this item back and forth

w_class_on + + + + +

+

Weight class of the weapon when active

+ + + diff --git a/datum/component/trapdoor.html b/datum/component/trapdoor.html new file mode 100644 index 000000000000..1c9794e581de --- /dev/null +++ b/datum/component/trapdoor.html @@ -0,0 +1,115 @@ + + + + + + + /datum/component/trapdoor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

trapdoor + + + +

+ +trapdoor component! +

component attached to floors to turn them into trapdoors, a constructable trap that when signalled drops people to the level below. +assembly code at the bottom of this file

+ + + + + + + + + + +

Vars

assemblyassembly tied to this trapdoor
trapdoor_turf_pathpath of the turf this should change into when the assembly is pulsed. needed for openspace trapdoors knowing what to turn back into

Procs

apply_decalsmall proc that takes passed arguments and drops it into a new element
on_link_requestedcalled by linking remotes to tie an assembly to the trapdoor
openspace_trapdoor_setupinitializing as an opened trapdoor, we need to trust that we were given the data by a closed trapdoor
reapply_all_decalsso it adds the list to the list, not appending it to the end. thank you byond, very cool.
tile_trapdoor_setupinitializing as a closed trapdoor, we need to take data from the tile we're on to give it to the open state to store
toggle_trapdoorsignal called by our assembly being pulsed
try_closingwe want to save this turf's decals as they were right before deletion, so this is the point where we begin listening
try_opening
turf_changed_presignal called by turf changing
+

Var Details

assembly + + + + +

+

assembly tied to this trapdoor

trapdoor_turf_path + + + + +

+

path of the turf this should change into when the assembly is pulsed. needed for openspace trapdoors knowing what to turn back into

Proc Details

apply_decal +

+

small proc that takes passed arguments and drops it into a new element

+

called by linking remotes to tie an assembly to the trapdoor

openspace_trapdoor_setup +

+

initializing as an opened trapdoor, we need to trust that we were given the data by a closed trapdoor

reapply_all_decals +

+

so it adds the list to the list, not appending it to the end. thank you byond, very cool.

+reapply_all_decals +

changing turfs does not bring over decals, so we must perform a little bit of element reapplication.

tile_trapdoor_setup +

+

initializing as a closed trapdoor, we need to take data from the tile we're on to give it to the open state to store

toggle_trapdoor +

+

signal called by our assembly being pulsed

try_closing +

+

we want to save this turf's decals as they were right before deletion, so this is the point where we begin listening

+try_closing +

small proc for closing the turf back into what it should be +trapdoor can be blocked by building things on the openspace turf

try_opening +

+ try_opening +

small proc for opening the turf into openspace +there are no checks for opening a trapdoor, but closed has some

turf_changed_pre +

+

signal called by turf changing

+ + + diff --git a/datum/component/udder.html b/datum/component/udder.html new file mode 100644 index 000000000000..f00ffc866783 --- /dev/null +++ b/datum/component/udder.html @@ -0,0 +1,58 @@ + + + + + + + /datum/component/udder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

udder + + + +

+ +

Udder component; for farm animals to generate milk.

+

Used for cows, goats, gutlunches. neat!

+ + + +

Vars

on_milk_callbackoptional proc to callback to when the udder is milked
udderabstract item for managing reagents (further down in this file)

Procs

on_attackbysignal called on parent being attacked with an item
on_examinesignal called on parent being examined
+

Var Details

on_milk_callback + + + + +

+

optional proc to callback to when the udder is milked

udder + + + + +

+

abstract item for managing reagents (further down in this file)

Proc Details

on_attackby +

+

signal called on parent being attacked with an item

on_examine +

+

signal called on parent being examined

+ + + diff --git a/datum/component/uplink.html b/datum/component/uplink.html new file mode 100644 index 000000000000..14f74359e54d --- /dev/null +++ b/datum/component/uplink.html @@ -0,0 +1,137 @@ + + + + + + + /datum/component/uplink - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

uplink + + + +

+ +

Uplinks

+

All /obj/item(s) have a hidden_uplink var. By default it's null. Give the item one with 'new(src') (it must be in it's contents). Then add 'uses.' +Use whatever conditionals you want to check that the user has an uplink, and then call interact() on their uplink. +You might also want the uplink menu to open if active. Check if the uplink is 'active' and then interact() with it.

+ + + + + + + + + + + + + + +

Vars

activeWhether the uplink is currently active or not
allow_restrictedWhether this uplink allows restricted items to be accessed
failsafe_codeThe failsafe code that causes this uplink to blow up.
lockableWhether this uplink can be locked or not
lockedWhether the uplink is locked or not.
nameName of the uplink
ownerCurrent owner of the uplink
previous_attemptsUsed for pen uplink
purchase_logPurchase log, listing all the purchases this uplink has made
unlock_codeCode to unlock the uplink.
unlock_noteThe unlock note that is sent to the traitor with this uplink. This is not modular and not recommended to expand upon
unlock_textThe unlock text that is sent to the traitor with this uplink. This is not modular and not recommended to expand upon
uplink_handlerThe current linked uplink handler.

Procs

add_telecrystalsAdds telecrystals to the uplink. It is bad practice to use this outside of the component itself.
set_telecrystalsSets the telecrystals of the uplink. It is bad practice to use this outside of the component itself.
+

Var Details

active + + + + +

+

Whether the uplink is currently active or not

allow_restricted + + + + +

+

Whether this uplink allows restricted items to be accessed

failsafe_code + + + + +

+

The failsafe code that causes this uplink to blow up.

lockable + + + + +

+

Whether this uplink can be locked or not

locked + + + + +

+

Whether the uplink is locked or not.

name + + + + +

+

Name of the uplink

owner + + + + +

+

Current owner of the uplink

previous_attempts + + + + +

+

Used for pen uplink

purchase_log + + + + +

+

Purchase log, listing all the purchases this uplink has made

unlock_code + + + + +

+

Code to unlock the uplink.

unlock_note + + + + +

+

The unlock note that is sent to the traitor with this uplink. This is not modular and not recommended to expand upon

unlock_text + + + + +

+

The unlock text that is sent to the traitor with this uplink. This is not modular and not recommended to expand upon

+

The current linked uplink handler.

Proc Details

add_telecrystals +

+

Adds telecrystals to the uplink. It is bad practice to use this outside of the component itself.

set_telecrystals +

+

Sets the telecrystals of the uplink. It is bad practice to use this outside of the component itself.

+ + + diff --git a/datum/component/usb_port.html b/datum/component/usb_port.html new file mode 100644 index 000000000000..4ba46b010c4b --- /dev/null +++ b/datum/component/usb_port.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/usb_port - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

usb_port + + + +

+ +

Opens up a USB port that can be connected to by circuits, creating registerable circuit components

+ + + + + +

Vars

attached_circuitThe currently connected circuit
circuit_component_typesThe component types to create when something plugs in
circuit_componentsThe components inside the parent
physical_objectThe current physical object that the beam is connected to and listens to.
usb_cable_beamThe beam connecting the USB cable to the machine
usb_cable_refThe currently connected USB cable
+

Var Details

attached_circuit + + + + +

+

The currently connected circuit

circuit_component_types + + + + +

+

The component types to create when something plugs in

circuit_components + + + + +

+

The components inside the parent

physical_object + + + + +

+

The current physical object that the beam is connected to and listens to.

usb_cable_beam + + + + +

+

The beam connecting the USB cable to the machine

usb_cable_ref + + + + +

+

The currently connected USB cable

+ + + diff --git a/datum/component/vacuum.html b/datum/component/vacuum.html new file mode 100644 index 000000000000..30da693615ef --- /dev/null +++ b/datum/component/vacuum.html @@ -0,0 +1,82 @@ + + + + + + + /datum/component/vacuum - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Vacuum Component + + + +

+ +

Adds a vacuum functionality to an atom, requires a trashbag to be linked +using signals

+ + + + +

Vars

vacuum_bagThe linked trash bag to vacuum trash into

Procs

attach_bagHandler for when a new trash bag is attached
detach_bagHandler for when a trash bag is detached
suckCalled when parent moves, deligates vacuuming functionality
suck_itemsSucks up items as possible from a provided turf into the connected trash bag
+

Var Details

vacuum_bag + + + + +

+

The linked trash bag to vacuum trash into

Proc Details

attach_bag +

+

Handler for when a new trash bag is attached

+

Arguments:

+

detach_bag +

+

Handler for when a trash bag is detached

+

Arguments:

+

suck +

+

Called when parent moves, deligates vacuuming functionality

+

Arguments:

+

suck_items +

+

Sucks up items as possible from a provided turf into the connected trash bag

+

Arguments:

+
+ + + diff --git a/datum/component/wearertargeting/punchcooldown.html b/datum/component/wearertargeting/punchcooldown.html new file mode 100644 index 000000000000..17f742453bfc --- /dev/null +++ b/datum/component/wearertargeting/punchcooldown.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/wearertargeting/punchcooldown - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

punchcooldown + + + +

+ +

Your favourite Jojoke. Used for the gloves of the north star.

+ + +

Vars

warcryThe warcry this generates

Procs

changewarcryCalled on COMSIG_ITEM_ATTACK_SELF. Allows you to change the warcry.
reducecooldownCalled on COMSIG_LIVING_UNARMED_ATTACK. Yells the warcry and and reduces punch cooldown.
+

Var Details

warcry + + + + +

+

The warcry this generates

Proc Details

changewarcry +

+

Called on COMSIG_ITEM_ATTACK_SELF. Allows you to change the warcry.

reducecooldown +

+

Called on COMSIG_LIVING_UNARMED_ATTACK. Yells the warcry and and reduces punch cooldown.

+ + + diff --git a/datum/component/wearertargeting/sitcomlaughter.html b/datum/component/wearertargeting/sitcomlaughter.html new file mode 100644 index 000000000000..639bada5bd24 --- /dev/null +++ b/datum/component/wearertargeting/sitcomlaughter.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/wearertargeting/sitcomlaughter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

sitcomlaughter + + + +

+ + + + + + +

Vars

comedysoundsSounds used for when user has a sitcom action occur
cooldown_timeCooldown for inbetween laughs
laugh_delayDelay before laugh starts
post_comedy_callbackInvoked in EngageInComedy is ran

Procs

EngageInComedyPlay the laugh track if any of the signals related to comedy have been sent.
+

Var Details

comedysounds + + + + +

+

Sounds used for when user has a sitcom action occur

cooldown_time + + + + +

+

Cooldown for inbetween laughs

laugh_delay + + + + +

+

Delay before laugh starts

post_comedy_callback + + + + +

+

Invoked in EngageInComedy is ran

Proc Details

EngageInComedy +

+

Play the laugh track if any of the signals related to comedy have been sent.

+ + + diff --git a/datum/computer_file.html b/datum/computer_file.html new file mode 100644 index 000000000000..98e191427c8c --- /dev/null +++ b/datum/computer_file.html @@ -0,0 +1,56 @@ + + + + + + + /datum/computer_file - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

computer_file + + + +

+ + + + + +

Procs

added_to_computerCalled when this file is added to a hard drive inside a computer or the hardrive containing it was added.
added_to_driveCalled when this file is added to a hard drive.
deleted_from_driveCalled when this file is removed from a hard drive.
removed_from_computerCalled when this file is removed from a hard drive inside a computer or the hardrive containing it was removed.

Proc Details

added_to_computer +

+

Called when this file is added to a hard drive inside a computer or the hardrive containing it was added.

added_to_drive +

+

Called when this file is added to a hard drive.

deleted_from_drive +

+

Called when this file is removed from a hard drive.

removed_from_computer +

+

Called when this file is removed from a hard drive inside a computer or the hardrive containing it was removed.

+ + + diff --git a/datum/computer_file/data.html b/datum/computer_file/data.html new file mode 100644 index 000000000000..1ff096a596eb --- /dev/null +++ b/datum/computer_file/data.html @@ -0,0 +1,36 @@ + + + + + + + /datum/computer_file/data - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

data + + + +

+ +

Data files. Doesn't really hold many important functionalities, here for organization.

+

Vars

do_not_editWhether the user will be reminded that the file probably shouldn't be edited.
+

Var Details

do_not_edit + + + + +

+

Whether the user will be reminded that the file probably shouldn't be edited.

+ + + diff --git a/datum/computer_file/data/ordnance.html b/datum/computer_file/data/ordnance.html new file mode 100644 index 000000000000..16c5d10f95f1 --- /dev/null +++ b/datum/computer_file/data/ordnance.html @@ -0,0 +1,37 @@ + + + + + + + /datum/computer_file/data/ordnance - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ordnance + + + +

+ +

Ordnance data +Holds possible experiments to do

+

Vars

possible_experimentsList of experiments filtered by doppler array or populated by the tank compressor. Experiment path as key, score as value.
+

Var Details

possible_experiments + + + + +

+

List of experiments filtered by doppler array or populated by the tank compressor. Experiment path as key, score as value.

+ + + diff --git a/datum/computer_file/data/ordnance/explosive.html b/datum/computer_file/data/ordnance/explosive.html new file mode 100644 index 000000000000..f52e7e37142f --- /dev/null +++ b/datum/computer_file/data/ordnance/explosive.html @@ -0,0 +1,37 @@ + + + + + + + /datum/computer_file/data/ordnance/explosive - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

explosive + + + +

+ +

Explosive data +Holds a specific taychon record.

+

Vars

explosion_recordTachyon record, used for an explosive experiment.
+

Var Details

explosion_record + + + + +

+

Tachyon record, used for an explosive experiment.

+ + + diff --git a/datum/computer_file/data/ordnance/gaseous.html b/datum/computer_file/data/ordnance/gaseous.html new file mode 100644 index 000000000000..5314dd8b2117 --- /dev/null +++ b/datum/computer_file/data/ordnance/gaseous.html @@ -0,0 +1,37 @@ + + + + + + + /datum/computer_file/data/ordnance/gaseous - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

gaseous + + + +

+ +

Gaseous data +Holds a specific compressor record.

+

Vars

gas_recordThe gas record stored in the file.
+

Var Details

gas_record + + + + +

+

The gas record stored in the file.

+ + + diff --git a/datum/computer_file/data/text.html b/datum/computer_file/data/text.html new file mode 100644 index 000000000000..2516e9ca931d --- /dev/null +++ b/datum/computer_file/data/text.html @@ -0,0 +1,36 @@ + + + + + + + /datum/computer_file/data/text - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

text + + + +

+ + +

Vars

stored_textStored data in string format.
+

Var Details

stored_text + + + + +

+

Stored data in string format.

+ + + diff --git a/datum/computer_file/program.html b/datum/computer_file/program.html new file mode 100644 index 000000000000..b658a3d00f37 --- /dev/null +++ b/datum/computer_file/program.html @@ -0,0 +1,241 @@ + + + + + + + /datum/computer_file/program - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

program + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

alert_ableWhether this program can send alerts while minimized or closed. Used to show a mute button per program in the file manager
alert_pendingWhether to highlight our program in the main screen. Intended for alerts, but loosely available for any need to notify of changed conditions. Think Windows task bar highlighting. Available even if alerts are muted.
alert_silencedWhether the user has muted this program's ability to send alerts.
available_on_ntnetWhether the program can be downloaded from NTNet. Set to FALSE to disable.
available_on_syndinetWhether the program can be downloaded from SyndiNet (accessible via emagging the computer). Set to TRUE to enable.
categoryCategory in the NTDownloader.
computerDevice that runs this program.
extended_descShort description of this program's function.
filedescUser-friendly name of this program.
filenameFile name. FILE NAME MUST BE UNIQUE IF YOU WANT THE PROGRAM TO BE DOWNLOADABLE FROM NTNET!
ntnet_statusNTNet status, updated every tick by computer running this program. Don't use this for checks if NTNet works, computers do that. Use this for calculations, etc.
program_iconFont Awesome icon to use as this program's icon in the modular computer main menu. Defaults to a basic program maximize window icon if not overridden.
program_icon_stateProgram-specific screen icon state
program_statePROGRAM_STATE_KILLED or PROGRAM_STATE_BACKGROUND or PROGRAM_STATE_ACTIVE - specifies whether this program is running.
required_accessList of required accesses to run the program. Any match will do.
requires_ntnetSet to 1 for program to require nonstop NTNet connection to run. If NTNet connection is lost program crashes.
requires_ntnet_featureOptional, if above is set to 1 checks for specific function of NTNet (currently NTNET_SOFTWAREDOWNLOAD, NTNET_PEERTOPEER, NTNET_SYSTEMCONTROL and NTNET_COMMUNICATION)
tgui_idName of the tgui interface
transfer_accessList of required access to download or file host the program. Any match will do.
ui_headerExample: "something.gif" - a header image that will be rendered in computer's UI when this program is running at background. Images are taken from /icons/program_icons. Be careful not to use too large images!
usage_flagsBitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination) or PROGRAM_ALL

Procs

can_runCheck if the user can run program. Only humans and silicons can operate computer. Automatically called in run_program() +ID must be inserted into a card slot to be read. If the program is not currently installed (as is the case when +NT Software Hub is checking available software), a list can be given to be used instead. +Arguments: +user is a ref of the mob using the device. +loud is a bool deciding if this proc should use to_chats +access_to_check is an access level that will be checked against the ID +transfer, if TRUE and access_to_check is null, will tell this proc to use the program's transfer_access in place of access_to_check +access can contain a list of access numbers to check against. If access is not empty, it will be used istead of checking any inserted ID.
event_id_insertedCalled when an ID card is added to the computer.
event_id_removedCalled when an ID card is removed from computer.
run_emagCalled by the device when it is emagged.
tapRuns when the device is used to attack an atom in non-combat mode.
+

Var Details

alert_able + + + + +

+

Whether this program can send alerts while minimized or closed. Used to show a mute button per program in the file manager

alert_pending + + + + +

+

Whether to highlight our program in the main screen. Intended for alerts, but loosely available for any need to notify of changed conditions. Think Windows task bar highlighting. Available even if alerts are muted.

alert_silenced + + + + +

+

Whether the user has muted this program's ability to send alerts.

available_on_ntnet + + + + +

+

Whether the program can be downloaded from NTNet. Set to FALSE to disable.

available_on_syndinet + + + + +

+

Whether the program can be downloaded from SyndiNet (accessible via emagging the computer). Set to TRUE to enable.

category + + + + +

+

Category in the NTDownloader.

computer + + + + +

+

Device that runs this program.

extended_desc + + + + +

+

Short description of this program's function.

filedesc + + + + +

+

User-friendly name of this program.

filename + + + + +

+

File name. FILE NAME MUST BE UNIQUE IF YOU WANT THE PROGRAM TO BE DOWNLOADABLE FROM NTNET!

ntnet_status + + + + +

+

NTNet status, updated every tick by computer running this program. Don't use this for checks if NTNet works, computers do that. Use this for calculations, etc.

program_icon + + + + +

+

Font Awesome icon to use as this program's icon in the modular computer main menu. Defaults to a basic program maximize window icon if not overridden.

program_icon_state + + + + +

+

Program-specific screen icon state

program_state + + + + +

+

PROGRAM_STATE_KILLED or PROGRAM_STATE_BACKGROUND or PROGRAM_STATE_ACTIVE - specifies whether this program is running.

required_access + + + + +

+

List of required accesses to run the program. Any match will do.

requires_ntnet + + + + +

+

Set to 1 for program to require nonstop NTNet connection to run. If NTNet connection is lost program crashes.

requires_ntnet_feature + + + + +

+

Optional, if above is set to 1 checks for specific function of NTNet (currently NTNET_SOFTWAREDOWNLOAD, NTNET_PEERTOPEER, NTNET_SYSTEMCONTROL and NTNET_COMMUNICATION)

tgui_id + + + + +

+

Name of the tgui interface

transfer_access + + + + +

+

List of required access to download or file host the program. Any match will do.

ui_header + + + + +

+

Example: "something.gif" - a header image that will be rendered in computer's UI when this program is running at background. Images are taken from /icons/program_icons. Be careful not to use too large images!

usage_flags + + + + +

+

Bitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination) or PROGRAM_ALL

Proc Details

can_run +

+

Check if the user can run program. Only humans and silicons can operate computer. Automatically called in run_program() +ID must be inserted into a card slot to be read. If the program is not currently installed (as is the case when +NT Software Hub is checking available software), a list can be given to be used instead. +Arguments: +user is a ref of the mob using the device. +loud is a bool deciding if this proc should use to_chats +access_to_check is an access level that will be checked against the ID +transfer, if TRUE and access_to_check is null, will tell this proc to use the program's transfer_access in place of access_to_check +access can contain a list of access numbers to check against. If access is not empty, it will be used istead of checking any inserted ID.

event_id_inserted +

+

Called when an ID card is added to the computer.

event_id_removed +

+

Called when an ID card is removed from computer.

run_emag +

+

Called by the device when it is emagged.

+

Emagging the device allows certain programs to unlock new functions. However, the program will +need to be downloaded first, and then handle the unlock on their own in their run_emag() proc. +The device will allow an emag to be run multiple times, so the user can re-emag to run the +override again, should they download something new. The run_emag() proc should return TRUE if +the emagging affected anything, and FALSE if no change was made (already emagged, or has no +emag functions).

tap +

+

Runs when the device is used to attack an atom in non-combat mode.

+

Simulates using the device to read or scan something. Tap is called by the computer during pre_attack +and sends us all of the related info. If we return TRUE, the computer will stop the attack process +there. What we do with the info is up to us, but we should only return TRUE if we actually perform +an action of some sort. +Arguments: +A is the atom being tapped +user is the person making the attack action +params is anything the pre_attack() proc had in the same-named variable.

+ + + diff --git a/datum/computer_file/program/aidiag.html b/datum/computer_file/program/aidiag.html new file mode 100644 index 000000000000..f3d838ee34a8 --- /dev/null +++ b/datum/computer_file/program/aidiag.html @@ -0,0 +1,36 @@ + + + + + + + /datum/computer_file/program/aidiag - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

aidiag + + + +

+ + +

Vars

restoringVariable dictating if we are in the process of restoring the AI in the inserted intellicard
+

Var Details

restoring + + + + +

+

Variable dictating if we are in the process of restoring the AI in the inserted intellicard

+ + + diff --git a/datum/computer_file/program/alarm_monitor.html b/datum/computer_file/program/alarm_monitor.html new file mode 100644 index 000000000000..10076bd0e466 --- /dev/null +++ b/datum/computer_file/program/alarm_monitor.html @@ -0,0 +1,43 @@ + + + + + + + /datum/computer_file/program/alarm_monitor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

alarm_monitor + + + +

+ + + +

Vars

alert_controlStation alert datum for showing alerts UI
has_alertIf there is any station alert
+

Var Details

alert_control + + + + +

+

Station alert datum for showing alerts UI

has_alert + + + + +

+

If there is any station alert

+ + + diff --git a/datum/computer_file/program/arcade.html b/datum/computer_file/program/arcade.html new file mode 100644 index 000000000000..729c07bd3361 --- /dev/null +++ b/datum/computer_file/program/arcade.html @@ -0,0 +1,57 @@ + + + + + + + /datum/computer_file/program/arcade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

arcade + + + +

+ + + + + +

Vars

boss_idDetermines which boss image to use on the UI.
game_activeReturns TRUE if the game is being played.
heads_upShows what text is shown on the app, usually showing the log of combat actions taken by the player.
pause_stateThis disables buttom actions from having any impact if TRUE. Resets to FALSE when the player is allowed to make an action again.
+

Var Details

boss_id + + + + +

+

Determines which boss image to use on the UI.

game_active + + + + +

+

Returns TRUE if the game is being played.

heads_up + + + + +

+

Shows what text is shown on the app, usually showing the log of combat actions taken by the player.

pause_state + + + + +

+

This disables buttom actions from having any impact if TRUE. Resets to FALSE when the player is allowed to make an action again.

+ + + diff --git a/datum/computer_file/program/borg_monitor.html b/datum/computer_file/program/borg_monitor.html new file mode 100644 index 000000000000..33541bcb4a1f --- /dev/null +++ b/datum/computer_file/program/borg_monitor.html @@ -0,0 +1,71 @@ + + + + + + + /datum/computer_file/program/borg_monitor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

borg_monitor + + + +

+ + + + + + + +

Vars

DL_progressreference of a borg if we're downloading a log, or null if not.
DL_sourceA list to copy a borg's IC log list into
loglistBool of if this app has already been emagged

Procs

DestroyProgress of current download, 0 to 100, -1 for no current download
checkIDGets the ID's name, if one is inserted into the device. This is a separate proc solely to be overridden by the syndicate version of the app.
evaluate_borgThis proc is used to determin if a borg should be shown in the list (based on the borg's scrambledcodes var). Syndicate version overrides this to show only syndicate borgs.
+

Var Details

DL_progress + + + + +

+

reference of a borg if we're downloading a log, or null if not.

DL_source + + + + +

+

A list to copy a borg's IC log list into

loglist + + + + +

+

Bool of if this app has already been emagged

Proc Details

Destroy +

+

Progress of current download, 0 to 100, -1 for no current download

checkID +

+

Gets the ID's name, if one is inserted into the device. This is a separate proc solely to be overridden by the syndicate version of the app.

evaluate_borg +

+

This proc is used to determin if a borg should be shown in the list (based on the borg's scrambledcodes var). Syndicate version overrides this to show only syndicate borgs.

+ + + diff --git a/datum/computer_file/program/bounty_board.html b/datum/computer_file/program/bounty_board.html new file mode 100644 index 000000000000..f5f34512add8 --- /dev/null +++ b/datum/computer_file/program/bounty_board.html @@ -0,0 +1,64 @@ + + + + + + + /datum/computer_file/program/bounty_board - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bounty_board + + + +

+ + + + + + +

Vars

active_requestThe station request datum being affected by UI actions.
bounty_textText of the currently written bounty
bounty_valueValue of the currently bounty input
current_userReference to the currently logged in user.
networkedHas the app been added to the network yet?
+

Var Details

active_request + + + + +

+

The station request datum being affected by UI actions.

bounty_text + + + + +

+

Text of the currently written bounty

bounty_value + + + + +

+

Value of the currently bounty input

current_user + + + + +

+

Reference to the currently logged in user.

networked + + + + +

+

Has the app been added to the network yet?

+ + + diff --git a/datum/computer_file/program/budgetorders.html b/datum/computer_file/program/budgetorders.html new file mode 100644 index 000000000000..023b81052ce6 --- /dev/null +++ b/datum/computer_file/program/budgetorders.html @@ -0,0 +1,106 @@ + + + + + + + /datum/computer_file/program/budgetorders - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

budgetorders + + + +

+ + + + + + + + + + + + +

Vars

blockade_warningIf you're being raided by pirates, what do you tell the crew?
can_approve_requestsCan this console approve purchase requests?
cargo_accountThe account this console processes and displays. Independent from the account the shuttle processes.
cargo_shuttleThe name of the shuttle template being used as the cargo shuttle. 'supply' is default and contains critical code. Don't change this unless you know what you're doing.
contrabandCan the tablet see or buy illegal stuff?
docking_awayThe docking port called when leaving the station.
docking_homeThe docking port called when returning to the station.
requestonlyAre you actually placing orders with it?
safety_warningWhat do we say when the shuttle moves with living beings on it.
self_paidIs it being bought from a personal account, or is it being done via a budget/cargo?
stationcargoIf this console can loan the cargo shuttle. Set to false to disable.
+

Var Details

blockade_warning + + + + +

+

If you're being raided by pirates, what do you tell the crew?

can_approve_requests + + + + +

+

Can this console approve purchase requests?

cargo_account + + + + +

+

The account this console processes and displays. Independent from the account the shuttle processes.

cargo_shuttle + + + + +

+

The name of the shuttle template being used as the cargo shuttle. 'supply' is default and contains critical code. Don't change this unless you know what you're doing.

contraband + + + + +

+

Can the tablet see or buy illegal stuff?

docking_away + + + + +

+

The docking port called when leaving the station.

docking_home + + + + +

+

The docking port called when returning to the station.

requestonly + + + + +

+

Are you actually placing orders with it?

safety_warning + + + + +

+

What do we say when the shuttle moves with living beings on it.

self_paid + + + + +

+

Is it being bought from a personal account, or is it being done via a budget/cargo?

stationcargo + + + + +

+

If this console can loan the cargo shuttle. Set to false to disable.

+ + + diff --git a/datum/computer_file/program/card_mod.html b/datum/computer_file/program/card_mod.html new file mode 100644 index 000000000000..75069a9dd654 --- /dev/null +++ b/datum/computer_file/program/card_mod.html @@ -0,0 +1,100 @@ + + + + + + + /datum/computer_file/program/card_mod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

card_mod + + + +

+ + + + + + + + + + +

Vars

authenticated_cardThe name/assignment combo of the ID card used to authenticate.
authenticated_userThe name of the registered user, related to authenticated_card.
is_centcomIf TRUE, this program only modifies Centcom accesses.
job_templatesList of job templates that can be applied to ID cards from this program.
minorIf TRUE, this program is authenticated with limited departmental access.
region_accessThe regions this program has access to based on the authenticated ID.
target_deptWhich departments this program has access to. See region defines.
valid_accessThe list of accesses this program is verified to change based on the authenticated ID. Used for state checking against player input.

Procs

authenticateAuthenticates the program based on the specific ID card.
+

Var Details

authenticated_card + + + + +

+

The name/assignment combo of the ID card used to authenticate.

authenticated_user + + + + +

+

The name of the registered user, related to authenticated_card.

is_centcom + + + + +

+

If TRUE, this program only modifies Centcom accesses.

job_templates + + + + +

+

List of job templates that can be applied to ID cards from this program.

minor + + + + +

+

If TRUE, this program is authenticated with limited departmental access.

region_access + + + + +

+

The regions this program has access to based on the authenticated ID.

target_dept + + + + +

+

Which departments this program has access to. See region defines.

valid_access + + + + +

+

The list of accesses this program is verified to change based on the authenticated ID. Used for state checking against player input.

Proc Details

authenticate +

+

Authenticates the program based on the specific ID card.

+

If the card has ACCESS_CHANGE_IDs, it authenticates with all options. +Otherwise, it authenticates depending on SSid_access.sub_department_managers_tgui +compared to the access on the supplied ID card. +Arguments:

+
+ + + diff --git a/datum/computer_file/program/job_management.html b/datum/computer_file/program/job_management.html new file mode 100644 index 000000000000..deb3d6275650 --- /dev/null +++ b/datum/computer_file/program/job_management.html @@ -0,0 +1,36 @@ + + + + + + + /datum/computer_file/program/job_management - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

job_management + + + +

+ + +

Vars

blacklistedJobs blacklisted from having their slots edited.
+

Var Details

blacklisted + + + + +

+

Jobs blacklisted from having their slots edited.

+ + + diff --git a/datum/computer_file/program/messenger.html b/datum/computer_file/program/messenger.html new file mode 100644 index 000000000000..0e276474e013 --- /dev/null +++ b/datum/computer_file/program/messenger.html @@ -0,0 +1,100 @@ + + + + + + + /datum/computer_file/program/messenger - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

messenger + + + +

+ + + + + + + + + + + +

Vars

is_siliconWhether or not this app is loaded on a silicon's tablet.
known_cellsLearned PDA info tuples
last_textgreat wisdom from PDA.dm - "no spamming" (prevents people from spamming the same message over and over)
last_text_everyoneeven more wisdom from PDA.dm - "no everyone spamming" (prevents people from spamming the same message over and over)
messagesThe messages currently saved in the app.
mime_modeWhether or not we're in a mime PDA.
netcard_cacheCache of the network card, so we don't need to drag it out of the list every time.
ringer_statusWhether or not the ringtone is currently on.
ringtoneThe current ringtone (displayed in the chat when a message is received).
viewing_messagesWhether or not we're currently looking at the message list.
+

Var Details

is_silicon + + + + +

+

Whether or not this app is loaded on a silicon's tablet.

known_cells + + + + +

+

Learned PDA info tuples

+

list(d_addr1 = list(d_addr1, name, job), d_addr2=list(d_addr2, name, job),...)

last_text + + + + +

+

great wisdom from PDA.dm - "no spamming" (prevents people from spamming the same message over and over)

last_text_everyone + + + + +

+

even more wisdom from PDA.dm - "no everyone spamming" (prevents people from spamming the same message over and over)

messages + + + + +

+

The messages currently saved in the app.

mime_mode + + + + +

+

Whether or not we're in a mime PDA.

netcard_cache + + + + +

+

Cache of the network card, so we don't need to drag it out of the list every time.

ringer_status + + + + +

+

Whether or not the ringtone is currently on.

ringtone + + + + +

+

The current ringtone (displayed in the chat when a message is received).

viewing_messages + + + + +

+

Whether or not we're currently looking at the message list.

+ + + diff --git a/datum/computer_file/program/newscaster.html b/datum/computer_file/program/newscaster.html new file mode 100644 index 000000000000..d515a518e6c7 --- /dev/null +++ b/datum/computer_file/program/newscaster.html @@ -0,0 +1,36 @@ + + + + + + + /datum/computer_file/program/newscaster - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

newscaster + + + +

+ + +

Vars

newscaster_uiThe UI we use for the newscaster
+

Var Details

newscaster_ui + + + + +

+

The UI we use for the newscaster

+ + + diff --git a/datum/computer_file/program/portrait_printer.html b/datum/computer_file/program/portrait_printer.html new file mode 100644 index 000000000000..ec791d119e25 --- /dev/null +++ b/datum/computer_file/program/portrait_printer.html @@ -0,0 +1,54 @@ + + + + + + + /datum/computer_file/program/portrait_printer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

portrait_printer + + + +

+ +portrait printer! +

Program that lets the curator browse all of the portraits in the database +They are free to print them out as they please.

+ + +

Vars

matching_paintingsStores the result of the search, for later access.
search_modeWhether the search function will check the title of the painting or the author's name.
search_stringThe last input in the search tab, stored here and reused in the UI to show successive users if +the current list of paintings is limited to the results of a search or not.
+

Var Details

matching_paintings + + + + +

+

Stores the result of the search, for later access.

search_mode + + + + +

+

Whether the search function will check the title of the painting or the author's name.

search_string + + + + +

+

The last input in the search tab, stored here and reused in the UI to show successive users if +the current list of paintings is limited to the results of a search or not.

+ + + diff --git a/datum/computer_file/program/radar.html b/datum/computer_file/program/radar.html new file mode 100644 index 000000000000..c70ebdd4cce2 --- /dev/null +++ b/datum/computer_file/program/radar.html @@ -0,0 +1,120 @@ + + + + + + + /datum/computer_file/program/radar - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

radar + + + +

+ + + + + + + + + + + +

Vars

arrowstyleUsed by the tgui interface, themed NT or Syndicate.
last_icon_stateUsed to keep track of the last value program_icon_state was set to, to prevent constant unnecessary update_appearance() calls
next_scanUsed to store when the next scan is available. Updated by the scan() proc.
objectsList of trackable entities. Updated by the scan() proc.
pointercolorUsed by the tgui interface, themed for NT or Syndicate colors.
selectedRef of the last trackable object selected by the user in the tgui window. Updated in the ui_act() proc.

Procs

find_atomFinds the atom in the appropriate list that the selected var indicates
scanRuns a scan of all the trackable atoms.
trackUpdates tracking information of the selected target.
trackableChecks the trackability of the selected target.
+

Var Details

arrowstyle + + + + +

+

Used by the tgui interface, themed NT or Syndicate.

last_icon_state + + + + +

+

Used to keep track of the last value program_icon_state was set to, to prevent constant unnecessary update_appearance() calls

next_scan + + + + +

+

Used to store when the next scan is available. Updated by the scan() proc.

objects + + + + +

+

List of trackable entities. Updated by the scan() proc.

pointercolor + + + + +

+

Used by the tgui interface, themed for NT or Syndicate colors.

selected + + + + +

+

Ref of the last trackable object selected by the user in the tgui window. Updated in the ui_act() proc.

Proc Details

find_atom +

+

Finds the atom in the appropriate list that the selected var indicates

+

The selected var holds a REF, which is a string. A mob REF may be +something like "mob_209". In order to find the actual atom, we need +to search the appropriate list for the REF string. This is dependant +on the program (Lifeline uses GLOB.human_list, while Fission360 uses +GLOB.poi_list), but the result will be the same; evaluate the string and +return an atom reference.

scan +

+

Runs a scan of all the trackable atoms.

+

Checks each entry in the GLOB of the specific trackable atoms against +the track() proc, and fill the objects list with lists containing the +atoms' names and REFs. The objects list is handed to the tgui screen +for displaying to, and being selected by, the user. A two second +sleep is used to delay the scan, both for thematical reasons as well +as to limit the load players may place on the server using these +somewhat costly loops.

track +

+

Updates tracking information of the selected target.

+

The track() proc updates the entire set of information about the location +of the target, including whether the Ntos window should use a pinpointer +crosshair over the up/down arrows, or none in favor of a rotating arrow +for far away targets. This information is returned in the form of a list.

trackable +

+

Checks the trackability of the selected target.

+

If the target is on the computer's Z level, or both are on station Z +levels, and the target isn't untrackable, return TRUE. +Arguments: +*arg1 is the atom being evaluated.

+ + + diff --git a/datum/computer_file/program/robocontrol.html b/datum/computer_file/program/robocontrol.html new file mode 100644 index 000000000000..01825300d1ae --- /dev/null +++ b/datum/computer_file/program/robocontrol.html @@ -0,0 +1,50 @@ + + + + + + + /datum/computer_file/program/robocontrol - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

robocontrol + + + +

+ + + + +

Vars

botcountNumber of simple robots on-station.
cart_modeWhether or not this is the cartridge program version.
current_accessAccess granted by the used to summon robots.
+

Var Details

botcount + + + + +

+

Number of simple robots on-station.

cart_mode + + + + +

+

Whether or not this is the cartridge program version.

current_access + + + + +

+

Access granted by the used to summon robots.

+ + + diff --git a/datum/computer_file/program/robotact.html b/datum/computer_file/program/robotact.html new file mode 100644 index 000000000000..4f743f7bbcd4 --- /dev/null +++ b/datum/computer_file/program/robotact.html @@ -0,0 +1,37 @@ + + + + + + + /datum/computer_file/program/robotact - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

robotact + + + +

+ + +

Procs

force_full_updateForces a full update of the UI, if currently open.

Proc Details

force_full_update +

+

Forces a full update of the UI, if currently open.

+

Forces an update that includes refreshing ui_static_data. Called by +law changes and borg log additions.

+ + + diff --git a/datum/computer_file/program/secureye.html b/datum/computer_file/program/secureye.html new file mode 100644 index 000000000000..e218239caca0 --- /dev/null +++ b/datum/computer_file/program/secureye.html @@ -0,0 +1,50 @@ + + + + + + + /datum/computer_file/program/secureye - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

secureye + + + +

+ + + + +

Vars

cam_plane_mastersAll the plane masters that need to be applied.
camera_refWeakref to the active camera
last_camera_turfThe turf where the camera was last updated.
+

Var Details

cam_plane_masters + + + + +

+

All the plane masters that need to be applied.

camera_ref + + + + +

+

Weakref to the active camera

last_camera_turf + + + + +

+

The turf where the camera was last updated.

+ + + diff --git a/datum/computer_file/program/shipping.html b/datum/computer_file/program/shipping.html new file mode 100644 index 000000000000..c0fc1097bd8d --- /dev/null +++ b/datum/computer_file/program/shipping.html @@ -0,0 +1,57 @@ + + + + + + + /datum/computer_file/program/shipping - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

shipping + + + +

+ + + + + +

Vars

cut_maxMaximum value for cut_multiplier.
cut_minMinimum value for cut_multiplier.
cut_multiplierThe person who tagged this will receive the sale value multiplied by this number.
payments_accAccount used for creating barcodes.
+

Var Details

cut_max + + + + +

+

Maximum value for cut_multiplier.

cut_min + + + + +

+

Minimum value for cut_multiplier.

cut_multiplier + + + + +

+

The person who tagged this will receive the sale value multiplied by this number.

payments_acc + + + + +

+

Account used for creating barcodes.

+ + + diff --git a/datum/computer_file/program/signal_commander.html b/datum/computer_file/program/signal_commander.html new file mode 100644 index 000000000000..51fa59fd3294 --- /dev/null +++ b/datum/computer_file/program/signal_commander.html @@ -0,0 +1,50 @@ + + + + + + + /datum/computer_file/program/signal_commander - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

signal_commander + + + +

+ + + + +

Vars

radio_connectionRadio connection datum used by signalers.
signal_codeWhat is the saved signal code?
signal_frequencyWhat is the saved signal frequency?
+

Var Details

radio_connection + + + + +

+

Radio connection datum used by signalers.

signal_code + + + + +

+

What is the saved signal code?

signal_frequency + + + + +

+

What is the saved signal frequency?

+ + + diff --git a/datum/computer_file/program/supermatter_monitor.html b/datum/computer_file/program/supermatter_monitor.html new file mode 100644 index 000000000000..0a4cbaf622c5 --- /dev/null +++ b/datum/computer_file/program/supermatter_monitor.html @@ -0,0 +1,69 @@ + + + + + + + /datum/computer_file/program/supermatter_monitor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

supermatter_monitor + + + +

+ + + + + +

Procs

clear_signalsRemoves the signal listener for Supermatter delaminations from the selected supermatter.
send_alertSends an SM delam alert to the computer.
send_start_alertSends an SM delam start alert to the computer.
set_signalsSets up the signal listener for Supermatter delaminations.

Proc Details

clear_signals +

+

Removes the signal listener for Supermatter delaminations from the selected supermatter.

+

Pretty much does what it says.

send_alert +

+

Sends an SM delam alert to the computer.

+

Triggered by a signal from the selected supermatter, this proc sends a notification +to the computer if the program is either closed or minimized. We do not send these +notifications to the comptuer if we're the active program, because engineers fixing +the supermatter probably don't need constant beeping to distract them.

send_start_alert +

+

Sends an SM delam start alert to the computer.

+

Triggered by a signal from the selected supermatter at the start of a delamination, +this proc sends a notification to the computer if this program is the active one. +We do this so that people carrying a tablet with NT CIMS open but with the NTOS window +closed will still get one audio alert. This is not sent to computers with the program +minimized or closed to avoid double-notifications.

set_signals +

+

Sets up the signal listener for Supermatter delaminations.

+

Unregisters any old listners for SM delams, and then registers one for the SM refered +to in the active variable. This proc is also used with no active SM to simply clear +the signal and exit.

+ + + diff --git a/datum/config_entry.html b/datum/config_entry.html new file mode 100644 index 000000000000..75c3f49bd3d6 --- /dev/null +++ b/datum/config_entry.html @@ -0,0 +1,106 @@ + + + + + + + /datum/config_entry - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

config_entry + + + +

+ + + + + + + + + + + + +

Vars

config_entry_valueThe configured value for this entry. This shouldn't be initialized in code, instead set default
defaultRead-only default value for this config entry, used for resetting value to defaults when necessary. This is what config_entry_value is initially set to
default_protectionStores the original protection configuration, used for set_default()
deprecated_byThe config name of a configuration type that depricates this, if it exists
dupes_allowedControls if error is thrown when duplicate configuration values for this entry type are encountered
modifiedSet to TRUE if the default has been overridden by a config entry
nameRead-only, this is determined by the last portion of the derived entry type
protectionThe /datum/config_entry type that supercedes this one
resident_fileThe file which this was loaded from, if any
vv_VASForce validate and set on VV. VAS proccall guard will run regardless.

Procs

set_defaultReturns the value of the configuration datum to its default, used for resetting a config value. Note this also sets the protection back to default.
+

Var Details

config_entry_value + + + + +

+

The configured value for this entry. This shouldn't be initialized in code, instead set default

default + + + + +

+

Read-only default value for this config entry, used for resetting value to defaults when necessary. This is what config_entry_value is initially set to

default_protection + + + + +

+

Stores the original protection configuration, used for set_default()

deprecated_by + + + + +

+

The config name of a configuration type that depricates this, if it exists

dupes_allowed + + + + +

+

Controls if error is thrown when duplicate configuration values for this entry type are encountered

modified + + + + +

+

Set to TRUE if the default has been overridden by a config entry

name + + + + +

+

Read-only, this is determined by the last portion of the derived entry type

protection + + + + +

+

The /datum/config_entry type that supercedes this one

resident_file + + + + +

+

The file which this was loaded from, if any

vv_VAS + + + + +

+

Force validate and set on VV. VAS proccall guard will run regardless.

Proc Details

set_default +

+

Returns the value of the configuration datum to its default, used for resetting a config value. Note this also sets the protection back to default.

+ + + diff --git a/datum/config_entry/keyed_list.html b/datum/config_entry/keyed_list.html new file mode 100644 index 000000000000..5e44ee69c566 --- /dev/null +++ b/datum/config_entry/keyed_list.html @@ -0,0 +1,50 @@ + + + + + + + /datum/config_entry/keyed_list - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

keyed_list + + + +

+ + + + +

Vars

lowercase_keywhether the key names will be lowercased on ValidateAndSet or not.

Procs

validate_config_keyTakes a given config key and validates it. If successful, returns the formatted key. If unsuccessful, returns null.
validate_config_valueTakes a given config value and validates it. If successful, returns the formatted key. If unsuccessful, returns null.
+

Var Details

lowercase_key + + + + +

+

whether the key names will be lowercased on ValidateAndSet or not.

Proc Details

validate_config_key +

+

Takes a given config key and validates it. If successful, returns the formatted key. If unsuccessful, returns null.

validate_config_value +

+

Takes a given config value and validates it. If successful, returns the formatted key. If unsuccessful, returns null.

+ + + diff --git a/datum/config_entry/str_list.html b/datum/config_entry/str_list.html new file mode 100644 index 000000000000..1c8fcaafac7b --- /dev/null +++ b/datum/config_entry/str_list.html @@ -0,0 +1,36 @@ + + + + + + + /datum/config_entry/str_list - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

str_list + + + +

+ +

List config entry, used for configuring a list of strings

+

Vars

lowercasewhether the string elements will be lowercased on ValidateAndSet or not.
+

Var Details

lowercase + + + + +

+

whether the string elements will be lowercased on ValidateAndSet or not.

+ + + diff --git a/datum/config_entry/string.html b/datum/config_entry/string.html new file mode 100644 index 000000000000..fcacfaa533de --- /dev/null +++ b/datum/config_entry/string.html @@ -0,0 +1,36 @@ + + + + + + + /datum/config_entry/string - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

string + + + +

+ + +

Vars

lowercasewhether the string will be lowercased on ValidateAndSet or not.
+

Var Details

lowercase + + + + +

+

whether the string will be lowercased on ValidateAndSet or not.

+ + + diff --git a/datum/controller/configuration.html b/datum/controller/configuration.html new file mode 100644 index 000000000000..9134299bb4b7 --- /dev/null +++ b/datum/controller/configuration.html @@ -0,0 +1,134 @@ + + + + + + + /datum/controller/configuration - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

configuration + + + +

+ + + + + + + + + + + + + + + + +

Vars

fail2topic_whitelisted_ipsIPs allowed through the fail2topic firewall
ic_filter_reasonsAn assoc list of blocked IC words to their reasons
ic_filter_regexA regex that matches words blocked IC
ic_outside_pda_filter_reasonsAn assoc list of words that are blocked IC, but not in PDAs, to their reasons
ic_outside_pda_filter_regexA regex that matches words blocked IC, but not in PDAs
loadedIf the configuration is loaded
ooc_filter_regexA regex that matches words blocked OOC
shared_filter_reasonsAn assoc list of words that are blocked both IC and OOC to their reasons
soft_ic_filter_reasonsAn assoc list of soft blocked IC words to their reasons
soft_ic_filter_regexA regex that matches words soft blocked IC
soft_ic_outside_pda_filter_reasonsAn assoc list of words that are soft blocked IC, but not in PDAs, to their reasons
soft_ic_outside_pda_filter_regexA regex that matches words soft blocked IC, but not in PDAs
soft_ooc_filter_regexA regex that matches words soft blocked OOC
soft_shared_filter_reasonsAn assoc list of words that are soft blocked both IC and OOC to their reasons

Procs

update_chat_filter_regexesWill update the internal regexes of the chat filter based on the filter reasons
+

Var Details

fail2topic_whitelisted_ips + + + + +

+

IPs allowed through the fail2topic firewall

ic_filter_reasons + + + + +

+

An assoc list of blocked IC words to their reasons

ic_filter_regex + + + + +

+

A regex that matches words blocked IC

ic_outside_pda_filter_reasons + + + + +

+

An assoc list of words that are blocked IC, but not in PDAs, to their reasons

ic_outside_pda_filter_regex + + + + +

+

A regex that matches words blocked IC, but not in PDAs

loaded + + + + +

+

If the configuration is loaded

ooc_filter_regex + + + + +

+

A regex that matches words blocked OOC

shared_filter_reasons + + + + +

+

An assoc list of words that are blocked both IC and OOC to their reasons

soft_ic_filter_reasons + + + + +

+

An assoc list of soft blocked IC words to their reasons

soft_ic_filter_regex + + + + +

+

A regex that matches words soft blocked IC

soft_ic_outside_pda_filter_reasons + + + + +

+

An assoc list of words that are soft blocked IC, but not in PDAs, to their reasons

soft_ic_outside_pda_filter_regex + + + + +

+

A regex that matches words soft blocked IC, but not in PDAs

soft_ooc_filter_regex + + + + +

+

A regex that matches words soft blocked OOC

soft_shared_filter_reasons + + + + +

+

An assoc list of words that are soft blocked both IC and OOC to their reasons

Proc Details

update_chat_filter_regexes +

+

Will update the internal regexes of the chat filter based on the filter reasons

+ + + diff --git a/datum/controller/global_vars.html b/datum/controller/global_vars.html new file mode 100644 index 000000000000..98a3c68933e6 --- /dev/null +++ b/datum/controller/global_vars.html @@ -0,0 +1,1118 @@ + + + + + + + /datum/controller/global_vars - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

global_vars + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

GPS_listGlobal GPS_list. All GPS components get saved in here for easy reference.
WALLITEMS_INTERIORChecks if that loc and dir has an item on the wall
acid_overlayACID
active_lifts_by_typeassociative list of the form: list(lift_id = list(all lift_master datums attached to lifts of that type))
admin_fax_destinationsGlobal list of all admin fax machine destinations
admin_statetgui state: admin_state
ai_employersemployers for malfunctioning ais. they do not have sides, unlike traitors.
airflow_step_blacklistThe typecache of objects airflow can't push objects into the same tile of
alive_player_listAll alive mobs with clients.
all_grabstatesAn associative list of type:instance for grab datums
all_mutant_colors_keysADD NEW ONES TO THIS OR SHIT DOESNT WORK
all_pref_groupsA list of preference modules.
all_voice_of_god_triggersUsed to stop listeners with silly or clown-esque (first) names such as "Honk" or "Flip" from screwing up certain commands.
always_statetgui state: always_state
announcer_keysGlobal list of all of our announcer keys.
areasNote, areas can have duplicate types
areas_by_typeAn association from typepath to area instance. Only includes areas with unique set.
blood_datumsContains the singletons of blood datums
bsa_unlockBSA unlocked by head ID swipes
cached_storage_typecachesAlmost 100% of the time the lists passed into set_holdable are reused for each instance +Just fucking cache it 4head +Yes I could generalize this, but I don't want anyone else using it. in fact, DO NOT COPY THIS +If you find yourself needing this pattern, you're likely better off using static typecaches +I'm not because I do not trust implementers of the storage component to use them, BUT +IF I FIND YOU USING THIS PATTERN IN YOUR CODE I WILL BREAK YOU ACROSS MY KNEES +~Lemon
can_pass_info_varsList of vars on /datum/can_pass_info to use when checking two instances for equality
conscious_statetgui state: conscious_state
contained_statetgui state: contained_state
current_anonymous_themeglobal reference to the current theme, if there is one.
current_living_antagsAll alive antags with clients.
current_observers_listAll observers with clients that joined as observers.
dead_player_listAll dead mobs with clients. Does not include observers.
deep_inventory_statetgui state: deep_inventory_state
default_statetgui state: default_state
deliverybeaconsList of beacons set to delivery mode
deliverybeacontagsList of tags belonging to beacons set to delivery mode
department_order_cooldownscooldown for each department, assoc type 2 cooldown. global, so rebuilding the console doesn't refresh the cd
drone_machine_blacklist_enabledIf drones are blacklisted from certain sensitive machines
dug_up_basaltUsed by ashstorms to replenish basalt tiles that have been dug up without going through all of them.
editable_sign_typesThis is a global list of all signs you can change an existing sign or new sign backing to, when using a pen on them.
em_block_colorA globaly cached version of EM_BLOCK_COLOR for quick access.
em_mask_matrixA globaly cached version of EM_MASK_MATRIX for quick access.
emissive_colorA globaly cached version of EMISSIVE_COLOR for quick access.
exodrone_launchersAll exodrone launchers.
exodronesAll exodrones.
exoscanner_bandsList of scanned distances
exploration_sitesAll exploration site instances
explorer_drone_adventure_db_entriesAll possible adventures in raw form
families_override_themeForces the Families theme to be the one in this variable via variable editing. Used for debugging.
fax_machines--- Fax Machines. --- +GLOB list of all fax machines.
features_block_lengthsThe same rules of the above also apply here, with the exception that this is for the unique_features string variable +(commonly abbreviated with uf) and its blocks. Both ui and uf have a standard block length of 3 ASCII characters.
features_by_speciesAn assoc list of species types to their features (from get_features())
fileaccess_timerFor FTP requests. (i.e. downloading runtime logs.)
fire_appearancesGlobal list that containes cached fire overlays for mobs
freq2iconFrequency to file name. See chat_icons.dm
gas_id_to_canisterList of all the gases, used in labelling the canisters
gateway_destinationsList of possible gateway destinations.
glide_size_multiplierCompensating for time dialation
global_funny_embeddingset this to a new instance of a SUBTYPE of global_funny_embedding. The main type is a prototype and will runtime really hard
gravity_generatorsWe will keep track of this by adding new gravity generators to the list, and keying it with the z level.
hands_statetgui state: hands_state
has_antagonist_hudsAll active /datum/atom_hud/alternate_appearance/basic/has_antagonist instances
heretic_sacrifice_landmarksA global assoc list of all landmarks that denote a heretic sacrifice location. [string heretic path] = [landmark].
heretic_start_knowledgeGlobal list of all heretic knowledge that have route = PATH_START. List of PATHS.
hijack_employersemployers who hire agents to do the hijack
huds_by_categorygets filled by each /datum/atom_hud/New(). +associative list of the form: list(hud category = list(all global atom huds that use that category))
human_adjacent_statetgui state: human_adjacent_state
ice_cream_flavoursICE CREAM FLAVOUR DATUM STUFF
identity_block_lengthsSome identity blocks (basically pieces of the unique_identity string variable of the dna datum, commonly abbreviated with ui) +may have a length that differ from standard length of 3 ASCII characters. This list is necessary +for these non-standard blocks to work, as well as the entire unique identity string. +Should you add a new ui block which size differ from the standard (again, 3 ASCII characters), like for example, a color, +please do not forget to also include it in this list in the following format: +"[dna block number]" = dna block size, +Failure to do that may result in bugs. Thanks.
integrated_circuitsA list of all integrated circuits
intento_playersAll people who have used an Intento this round along with their high scores.
inventory_statetgui state: inventory_state
language_menu_statetgui state: language_menu_state
mafia_bad_signuplist of ghosts who want to play mafia that have since disconnected. They are kept in the lobby, but not counted for starting a game.
mafia_gamethe current global mafia game running.
mafia_signuplist of ghosts who want to play mafia, every time someone enters the list it checks to see if enough are in
map_reportsGlobal list of map report datums
marker_beacon_colorsMarker Beacons
message_modes_stat_limitsWhitelist of saymodes or radio extensions that can be spoken through even if not fully conscious. +Associated values are their maximum allowed mob stats.
mimic_blacklistMimics can't be made out of these objects
mod_link_idsGlobal list of all ids associated to a /datum/mod_link instance
mod_themesGlobal list of all /datum/mod_theme
narcd_underagesunderages who have been reported to security for trying to buy things they shouldn't, so they can't spam
navbeaconsList of all navbeacons by Z level
nearsighted_glassesLists related to quirk selection +Types of glasses that can be selected at character selection with the Nearsighted quirk
never_statetgui state: never_state
new_player_statetgui state: new_player_state
normal_employersemployers who hire agents to do a task and escape...
not_incapacitated_statetgui state: not_incapacitated_state
not_incapacitated_turf_statetgui state: not_incapacitated_turf_state
notcontained_statetgui state: notcontained_state
observer_statetgui state: observer_state
organ_process_orderDefines how a mob's processing_organs is ordered +Exists so Life()'s organ process order is consistent
orion_eventsassoc list, [datum singleton] = weight
paicard_statetgui state: paicard_state
phobia_typesPhobia types that can be pulled randomly for brain traumas. +Also determines what phobias you can choose as your preference with the quirk.
physical_obscured_statetgui state: physical_obscured_state
physical_statepaicard is in the user's closest inventory +paicard is in a pda slot which is in the user's closest inventory +tgui state: physical_state
picture_log_directoryPicture logging
pipe_color_nameNames shown in the examine for every colored atmos component
pipe_colors_orderedList that sorts the colors and is used for setting up the pipes layer so that they overlap correctly
pipe_paint_colorsAll colors available to pipes and atmos components
player_detailsassoc list of ckey -> /datum/player_details
poll_optionsAll poll option datums of running polls
pollsAll currently running polls held as datums
preference_entriesAn assoc list list of types to instantiated /datum/preference instances
preference_entries_by_keyAn assoc list of preference entries by their savefile_key
reality_smash_trackWe want reality_smash_tracker to exist only once and be accessible from anywhere.
req_console_assistanceRequests Console
reverse_contained_statetgui state: reverse_contained_state
rpgloot_controllerHolds the global datum for rpgloot, so anywhere may check for its existence (it signals into whatever it needs to modify, so it shouldn't require fetching)
rpgtitle_controllerHolds the global datum for rpgtitle, so anywhere may check for its existence (it signals into whatever it needs to modify, so it shouldn't require fetching)
rune_typesAssoc list of every rune that can be drawn by ritual daggers. [rune_name] = [typepath]
sacrificedlist of weakrefs to mobs OR minds that have been sacrificed
scan_conditionsScan condition instances
see_through_mapsglobal statics for the see_through_component coordinate maps +For ease of use, include a comment in the shape of the coordinate map, where O is nothing, X is a hidden tile and A is the object +List-coordinate layout is list(relative_x, relative_y, relative_z) +Turf finding algorithm needs the z and you can totally use it, but I can't think of any reason to ever do it +Also it'd be really cool if you could keep the list-coordinates in here represent their actual relative coords, dont use tabs though since their spacing can differ
self_statetgui state: self_state
sortInstanceThis is a global instance to allow much of this code to be reused. The interfaces are kept separately
sortedAreasUsed by jump-to-area etc. Updated by area/updateName() +If this is null, it needs to be recalculated. Use get_sorted_areas() as a getter please
special_rolesThis defines the antagonists you can operate with in the settings. +Keys are the antagonist, values are the number of days since the player's +first connection in order to play.
species_augment_treeMap of species > category > slot > item
species_listAn assoc list of species IDs to type paths
station_goalsList of available station goals for the crew to be working on
station_was_nukedTRUE only if the station was actually hit by the nuke, otherwise FALSE
supplypod_loading_baysEnables profiling ATMOS_CANPASS_TURF. Profile data is stored in SSzas. +///////////////////////////PROFILING//////////////////////////////
teleport_runesList of all teleport runes
teleportlocsA list of teleport locations
the_gatewayStation home gateway
time_last_changed_positionThe time since the last job opening was created
timezoneOffsetThe difference betwen midnight (of the host computer) and 0 world.ticks.
total_uf_len_by_blockDitto but for unique features. Used by the datum/dna/set_uni_feature_block and datum/dna/get_uni_feature_block procs.
total_ui_len_by_blockA list of numbers that keeps track of where ui blocks start in the unique_identity string variable of the dna datum. +Commonly used by the datum/dna/set_uni_identity_block and datum/dna/get_uni_identity_block procs.
trait_name_mapvalue -> trait name, generated on use from trait_by_type global
triple_ai_controllerglobal reference to the current theme, if there is one.
typecache_elevated_structuresA typecache listing structures that are considered to have surfaces that you can place items on that are higher than the floor. This, of course, should be restricted to /atom/movables. This is primarily used for food decomposition code.
typecache_general_bad_hostile_attack_targetsA typecache of objects that player controlled, easily accessible, hostile mobs should not be able to attack
typecache_general_bad_things_to_easily_moveA typecache of objects that player controlled, easily accessible, hostile mobs should not be able to move around easily
typecache_holodeck_linked_floorcheck_oktypecache for turfs that should be considered ok during floorchecks. +A linked turf being anything not in this typecache will cause the holodeck to perform an emergency shutdown.
unit_test_mapping_logsWhen unit testing, all logs sent to log_mapping are stored here and retrieved in log_mapping unit test.
vampire_houseslist that stores a vampire house name for each department
voice_of_god_commandsList of all voice of god commands
voice_type2sound_refManaged global that is a reference to the real global
wiremod_basic_typesThe basic player-facing types that don't have any super special behaviour.
wiremod_fundamental_typesThe fundamental datatypes of the byond game engine.
wizard_spellbook_purchases_by_keyGlobal assoc list. [ckey] = [spellbook entry type]
world_suspicious_login_logLog associated with [/proc/log_suspicious_login()] - Intended to hold all logins that failed due to suspicious circumstances such as ban detection, CID randomisation etc.
z_statetgui state: z_state
+

Var Details

GPS_list + + + + +

+

Global GPS_list. All GPS components get saved in here for easy reference.

WALLITEMS_INTERIOR + + + + +

+

Checks if that loc and dir has an item on the wall

acid_overlay + + + + +

+

ACID

active_lifts_by_type + + + + +

+

associative list of the form: list(lift_id = list(all lift_master datums attached to lifts of that type))

admin_fax_destinations + + + + +

+

Global list of all admin fax machine destinations

admin_state + + + + +

+

tgui state: admin_state

+

Checks that the user is an admin, end-of-story.

ai_employers + + + + +

+

employers for malfunctioning ais. they do not have sides, unlike traitors.

airflow_step_blacklist + + + + +

+

The typecache of objects airflow can't push objects into the same tile of

alive_player_list + + + + +

+

All alive mobs with clients.

all_grabstates + + + + +

+

An associative list of type:instance for grab datums

all_mutant_colors_keys + + + + +

+

ADD NEW ONES TO THIS OR SHIT DOESNT WORK

all_pref_groups + + + + +

+

A list of preference modules.

all_voice_of_god_triggers + + + + +

+

Used to stop listeners with silly or clown-esque (first) names such as "Honk" or "Flip" from screwing up certain commands.

always_state + + + + +

+

tgui state: always_state

+

Always grants the user UI_INTERACTIVE. Period.

announcer_keys + + + + +

+

Global list of all of our announcer keys.

areas + + + + +

+

Note, areas can have duplicate types

areas_by_type + + + + +

+

An association from typepath to area instance. Only includes areas with unique set.

blood_datums + + + + +

+

Contains the singletons of blood datums

bsa_unlock + + + + +

+

BSA unlocked by head ID swipes

cached_storage_typecaches + + + + +

+

Almost 100% of the time the lists passed into set_holdable are reused for each instance +Just fucking cache it 4head +Yes I could generalize this, but I don't want anyone else using it. in fact, DO NOT COPY THIS +If you find yourself needing this pattern, you're likely better off using static typecaches +I'm not because I do not trust implementers of the storage component to use them, BUT +IF I FIND YOU USING THIS PATTERN IN YOUR CODE I WILL BREAK YOU ACROSS MY KNEES +~Lemon

can_pass_info_vars + + + + +

+

List of vars on /datum/can_pass_info to use when checking two instances for equality

conscious_state + + + + +

+

tgui state: conscious_state

+

Only checks if the user is conscious.

contained_state + + + + +

+

tgui state: contained_state

+

Checks that the user is inside the src_object.

current_anonymous_theme + + + + +

+

global reference to the current theme, if there is one.

current_living_antags + + + + +

+

All alive antags with clients.

current_observers_list + + + + +

+

All observers with clients that joined as observers.

dead_player_list + + + + +

+

All dead mobs with clients. Does not include observers.

deep_inventory_state + + + + +

+

tgui state: deep_inventory_state

+

Checks that the src_object is in the user's deep +(backpack, box, toolbox, etc) inventory.

default_state + + + + +

+

tgui state: default_state

+

Checks a number of things -- mostly physical distance for humans +and view for robots.

deliverybeacons + + + + +

+

List of beacons set to delivery mode

deliverybeacontags + + + + +

+

List of tags belonging to beacons set to delivery mode

department_order_cooldowns + + + + +

+

cooldown for each department, assoc type 2 cooldown. global, so rebuilding the console doesn't refresh the cd

drone_machine_blacklist_enabled + + + + +

+

If drones are blacklisted from certain sensitive machines

dug_up_basalt + + + + +

+

Used by ashstorms to replenish basalt tiles that have been dug up without going through all of them.

editable_sign_types + + + + +

+

This is a global list of all signs you can change an existing sign or new sign backing to, when using a pen on them.

em_block_color + + + + +

+

A globaly cached version of EM_BLOCK_COLOR for quick access.

em_mask_matrix + + + + +

+

A globaly cached version of EM_MASK_MATRIX for quick access.

emissive_color + + + + +

+

A globaly cached version of EMISSIVE_COLOR for quick access.

exodrone_launchers + + + + +

+

All exodrone launchers.

exodrones + + + + +

+

All exodrones.

exoscanner_bands + + + + +

+

List of scanned distances

exploration_sites + + + + +

+

All exploration site instances

explorer_drone_adventure_db_entries + + + + +

+

All possible adventures in raw form

families_override_theme + + + + +

+

Forces the Families theme to be the one in this variable via variable editing. Used for debugging.

fax_machines + + + + +

+

--- Fax Machines. --- +GLOB list of all fax machines.

features_block_lengths + + + + +

+

The same rules of the above also apply here, with the exception that this is for the unique_features string variable +(commonly abbreviated with uf) and its blocks. Both ui and uf have a standard block length of 3 ASCII characters.

features_by_species + + + + +

+

An assoc list of species types to their features (from get_features())

fileaccess_timer + + + + +

+

For FTP requests. (i.e. downloading runtime logs.)

+

However it'd be ok to use for accessing attack logs and such too, which are even laggier.

fire_appearances + + + + +

+

Global list that containes cached fire overlays for mobs

freq2icon + + + + +

+

Frequency to file name. See chat_icons.dm

gas_id_to_canister + + + + +

+

List of all the gases, used in labelling the canisters

gateway_destinations + + + + +

+

List of possible gateway destinations.

glide_size_multiplier + + + + +

+

Compensating for time dialation

global_funny_embedding + + + + +

+

set this to a new instance of a SUBTYPE of global_funny_embedding. The main type is a prototype and will runtime really hard

gravity_generators + + + + +

+

We will keep track of this by adding new gravity generators to the list, and keying it with the z level.

hands_state + + + + +

+

tgui state: hands_state

+

Checks that the src_object is in the user's hands.

has_antagonist_huds + + + + +

+

All active /datum/atom_hud/alternate_appearance/basic/has_antagonist instances

heretic_sacrifice_landmarks + + + + +

+

A global assoc list of all landmarks that denote a heretic sacrifice location. [string heretic path] = [landmark].

heretic_start_knowledge + + + + +

+

Global list of all heretic knowledge that have route = PATH_START. List of PATHS.

hijack_employers + + + + +

+

employers who hire agents to do the hijack

huds_by_category + + + + +

+

gets filled by each /datum/atom_hud/New(). +associative list of the form: list(hud category = list(all global atom huds that use that category))

human_adjacent_state + + + + +

+

tgui state: human_adjacent_state

+

In addition to default checks, only allows interaction for a +human adjacent user.

ice_cream_flavours + + + + +

+

ICE CREAM FLAVOUR DATUM STUFF

identity_block_lengths + + + + +

+

Some identity blocks (basically pieces of the unique_identity string variable of the dna datum, commonly abbreviated with ui) +may have a length that differ from standard length of 3 ASCII characters. This list is necessary +for these non-standard blocks to work, as well as the entire unique identity string. +Should you add a new ui block which size differ from the standard (again, 3 ASCII characters), like for example, a color, +please do not forget to also include it in this list in the following format: +"[dna block number]" = dna block size, +Failure to do that may result in bugs. Thanks.

integrated_circuits + + + + +

+

A list of all integrated circuits

intento_players + + + + +

+

All people who have used an Intento this round along with their high scores.

inventory_state + + + + +

+

tgui state: inventory_state

+

Checks that the src_object is in the user's top-level +(hand, ear, pocket, belt, etc) inventory.

language_menu_state + + + + +

+

tgui state: language_menu_state

mafia_bad_signup + + + + +

+

list of ghosts who want to play mafia that have since disconnected. They are kept in the lobby, but not counted for starting a game.

mafia_game + + + + +

+

the current global mafia game running.

mafia_signup + + + + +

+

list of ghosts who want to play mafia, every time someone enters the list it checks to see if enough are in

map_reports + + + + +

+

Global list of map report datums

marker_beacon_colors + + + + +

+

Marker Beacons

message_modes_stat_limits + + + + +

+

Whitelist of saymodes or radio extensions that can be spoken through even if not fully conscious. +Associated values are their maximum allowed mob stats.

mimic_blacklist + + + + +

+

Mimics can't be made out of these objects

+

Global list of all ids associated to a /datum/mod_link instance

mod_themes + + + + +

+

Global list of all /datum/mod_theme

narcd_underages + + + + +

+

underages who have been reported to security for trying to buy things they shouldn't, so they can't spam

navbeacons + + + + +

+

List of all navbeacons by Z level

nearsighted_glasses + + + + +

+

Lists related to quirk selection +Types of glasses that can be selected at character selection with the Nearsighted quirk

never_state + + + + +

+

tgui state: never_state

+

Always closes the UI, no matter what. See the ui_state in religious_tool.dm to see an example

new_player_state + + + + +

+

tgui state: new_player_state

+

Checks that the user is a new_player, or if user is an admin

normal_employers + + + + +

+

employers who hire agents to do a task and escape...

not_incapacitated_state + + + + +

+

tgui state: not_incapacitated_state

+

Checks that the user isn't incapacitated

not_incapacitated_turf_state + + + + +

+

tgui state: not_incapacitated_turf_state

+

Checks that the user isn't incapacitated and that their loc is a turf

notcontained_state + + + + +

+

tgui state: notcontained_state

+

Checks that the user is not inside src_object, and then makes the +default checks.

observer_state + + + + +

+

tgui state: observer_state

+

Checks that the user is an observer/ghost.

organ_process_order + + + + +

+

Defines how a mob's processing_organs is ordered +Exists so Life()'s organ process order is consistent

orion_events + + + + +

+

assoc list, [datum singleton] = weight

paicard_state + + + + +

+

tgui state: paicard_state

+

Checks that the paicard is in the user's top-level +(hand, ear, pocket, belt, etc) inventory OR +if the paicard has been slotted into a PDA which +is also on the user's person.

phobia_types + + + + +

+

Phobia types that can be pulled randomly for brain traumas. +Also determines what phobias you can choose as your preference with the quirk.

physical_obscured_state + + + + +

+

tgui state: physical_obscured_state

+

Short-circuits the default state to only check physical distance, being in view doesn't matter

physical_state + + + + +

+

paicard is in the user's closest inventory +paicard is in a pda slot which is in the user's closest inventory +tgui state: physical_state

+

Short-circuits the default state to only check physical distance.

picture_log_directory + + + + +

+

Picture logging

pipe_color_name + + + + +

+

Names shown in the examine for every colored atmos component

pipe_colors_ordered + + + + +

+

List that sorts the colors and is used for setting up the pipes layer so that they overlap correctly

pipe_paint_colors + + + + +

+

All colors available to pipes and atmos components

player_details + + + + +

+

assoc list of ckey -> /datum/player_details

poll_options + + + + +

+

All poll option datums of running polls

polls + + + + +

+

All currently running polls held as datums

preference_entries + + + + +

+

An assoc list list of types to instantiated /datum/preference instances

preference_entries_by_key + + + + +

+

An assoc list of preference entries by their savefile_key

reality_smash_track + + + + +

+

We want reality_smash_tracker to exist only once and be accessible from anywhere.

req_console_assistance + + + + +

+

Requests Console

+

Originally written by errorage, updated by: Carn, needs more work though. I just added some security fixes

reverse_contained_state + + + + +

+

tgui state: reverse_contained_state

+

Checks if src_object is inside of user.

rpgloot_controller + + + + +

+

Holds the global datum for rpgloot, so anywhere may check for its existence (it signals into whatever it needs to modify, so it shouldn't require fetching)

rpgtitle_controller + + + + +

+

Holds the global datum for rpgtitle, so anywhere may check for its existence (it signals into whatever it needs to modify, so it shouldn't require fetching)

rune_types + + + + +

+

Assoc list of every rune that can be drawn by ritual daggers. [rune_name] = [typepath]

sacrificed + + + + +

+

list of weakrefs to mobs OR minds that have been sacrificed

scan_conditions + + + + +

+

Scan condition instances

see_through_maps + + + + +

+

global statics for the see_through_component coordinate maps +For ease of use, include a comment in the shape of the coordinate map, where O is nothing, X is a hidden tile and A is the object +List-coordinate layout is list(relative_x, relative_y, relative_z) +Turf finding algorithm needs the z and you can totally use it, but I can't think of any reason to ever do it +Also it'd be really cool if you could keep the list-coordinates in here represent their actual relative coords, dont use tabs though since their spacing can differ

self_state + + + + +

+

tgui state: self_state

+

Only checks that the user and src_object are the same.

sortInstance + + + + +

+

This is a global instance to allow much of this code to be reused. The interfaces are kept separately

sortedAreas + + + + +

+

Used by jump-to-area etc. Updated by area/updateName() +If this is null, it needs to be recalculated. Use get_sorted_areas() as a getter please

special_roles + + + + +

+

This defines the antagonists you can operate with in the settings. +Keys are the antagonist, values are the number of days since the player's +first connection in order to play.

species_augment_tree + + + + +

+

Map of species > category > slot > item

species_list + + + + +

+

An assoc list of species IDs to type paths

station_goals + + + + +

+

List of available station goals for the crew to be working on

station_was_nuked + + + + +

+

TRUE only if the station was actually hit by the nuke, otherwise FALSE

supplypod_loading_bays + + + + +

+

Enables profiling ATMOS_CANPASS_TURF. Profile data is stored in SSzas. +///////////////////////////PROFILING//////////////////////////////

teleport_runes + + + + +

+

List of all teleport runes

teleportlocs + + + + +

+

A list of teleport locations

+

Adding a wizard area teleport list because motherfucking lag -- Urist +I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game

the_gateway + + + + +

+

Station home gateway

time_last_changed_position + + + + +

+

The time since the last job opening was created

timezoneOffset + + + + +

+

The difference betwen midnight (of the host computer) and 0 world.ticks.

total_uf_len_by_block + + + + +

+

Ditto but for unique features. Used by the datum/dna/set_uni_feature_block and datum/dna/get_uni_feature_block procs.

total_ui_len_by_block + + + + +

+

A list of numbers that keeps track of where ui blocks start in the unique_identity string variable of the dna datum. +Commonly used by the datum/dna/set_uni_identity_block and datum/dna/get_uni_identity_block procs.

trait_name_map + + + + +

+

value -> trait name, generated on use from trait_by_type global

triple_ai_controller + + + + +

+

global reference to the current theme, if there is one.

typecache_elevated_structures + + + + +

+

A typecache listing structures that are considered to have surfaces that you can place items on that are higher than the floor. This, of course, should be restricted to /atom/movables. This is primarily used for food decomposition code.

typecache_general_bad_hostile_attack_targets + + + + +

+

A typecache of objects that player controlled, easily accessible, hostile mobs should not be able to attack

typecache_general_bad_things_to_easily_move + + + + +

+

A typecache of objects that player controlled, easily accessible, hostile mobs should not be able to move around easily

typecache_holodeck_linked_floorcheck_ok + + + + +

+

typecache for turfs that should be considered ok during floorchecks. +A linked turf being anything not in this typecache will cause the holodeck to perform an emergency shutdown.

unit_test_mapping_logs + + + + +

+

When unit testing, all logs sent to log_mapping are stored here and retrieved in log_mapping unit test.

vampire_houses + + + + +

+

list that stores a vampire house name for each department

voice_of_god_commands + + + + +

+

List of all voice of god commands

voice_type2sound_ref + + + + +

+

Managed global that is a reference to the real global

wiremod_basic_types + + + + +

+

The basic player-facing types that don't have any super special behaviour.

wiremod_fundamental_types + + + + +

+

The fundamental datatypes of the byond game engine.

wizard_spellbook_purchases_by_key + + + + +

+

Global assoc list. [ckey] = [spellbook entry type]

world_suspicious_login_log + + + + +

+

Log associated with [/proc/log_suspicious_login()] - Intended to hold all logins that failed due to suspicious circumstances such as ban detection, CID randomisation etc.

z_state + + + + +

+

tgui state: z_state

+

Only checks that the Z-level of the user and src_object are the same.

+ + + diff --git a/datum/controller/master.html b/datum/controller/master.html new file mode 100644 index 000000000000..09d2541f0928 --- /dev/null +++ b/datum/controller/master.html @@ -0,0 +1,143 @@ + + + + + + + /datum/controller/master - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

master + + + +

+ +

Start of queue linked list +End of queue linked list (used for appending to the list) +Are we loading in a new map? +for scheduling different subsystems for different stages of the round

+ + + + + + + + + + + + + + +

Vars

current_initializing_subsystemDuring initialization, will be the instanced subsytem that is currently initializing. +Outside of initialization, returns null.
current_ticklimitcurrent tick limit, assigned before running a subsystem. +used by CHECK_TICK as well so that the procs subsystems call can obey that SS's tick limits
init_stage_completedMost recent init stage to complete init.
iterationHow many times have we ran
last_runworld.time of last fire, for tracking lag outside of the mc
last_type_processedThe type of the last subsystem to be fire()'d.
make_runtimemakes the mc main loop runtime
processingAre we processing (higher values increase the processing delay by n ticks)
skip_ticksOnly run ticker subsystems for the next n ticks.
sleep_deltaHow long is the MC sleeping between runs, read only (set by Loop() based off of anti-tick-contention heuristics)
stack_end_detectorStack end detector to detect stack overflows that kill the mc's main loop
subsystemsList of subsystems to process().

Procs

RunQueueRunQueue - Run thru the queue of subsystems to run, running them while balancing out their allocated tick precentage +Returns 0 if runtimed, a negitive number for logic errors, and a positive number if the operation completed without errors
SetRunLevelBest way to tell if a server is a local debug vs production
laggy_byond_map_update_incomingWarns us that the end of tick byond map_update will be laggier then normal, so that we can just skip running subsystems this tick.
+

Var Details

current_initializing_subsystem + + + + +

+

During initialization, will be the instanced subsytem that is currently initializing. +Outside of initialization, returns null.

current_ticklimit + + + + +

+

current tick limit, assigned before running a subsystem. +used by CHECK_TICK as well so that the procs subsystems call can obey that SS's tick limits

init_stage_completed + + + + +

+

Most recent init stage to complete init.

iteration + + + + +

+

How many times have we ran

last_run + + + + +

+

world.time of last fire, for tracking lag outside of the mc

last_type_processed + + + + +

+

The type of the last subsystem to be fire()'d.

make_runtime + + + + +

+

makes the mc main loop runtime

processing + + + + +

+

Are we processing (higher values increase the processing delay by n ticks)

skip_ticks + + + + +

+

Only run ticker subsystems for the next n ticks.

sleep_delta + + + + +

+

How long is the MC sleeping between runs, read only (set by Loop() based off of anti-tick-contention heuristics)

stack_end_detector + + + + +

+

Stack end detector to detect stack overflows that kill the mc's main loop

subsystems + + + + +

+

List of subsystems to process().

Proc Details

RunQueue +

+

RunQueue - Run thru the queue of subsystems to run, running them while balancing out their allocated tick precentage +Returns 0 if runtimed, a negitive number for logic errors, and a positive number if the operation completed without errors

SetRunLevel +

+

Best way to tell if a server is a local debug vs production

laggy_byond_map_update_incoming +

+

Warns us that the end of tick byond map_update will be laggier then normal, so that we can just skip running subsystems this tick.

+ + + diff --git a/datum/controller/modmanager.html b/datum/controller/modmanager.html new file mode 100644 index 000000000000..894d25a64478 --- /dev/null +++ b/datum/controller/modmanager.html @@ -0,0 +1,57 @@ + + + + + + + /datum/controller/modmanager - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

modmanager + + + +

+ + + + + +

Vars

mod_singletonsA flat list of all appearance mod templates
mods_by_nameA list of all appearance mod template instances mapped by their name
mods_by_speciesA list of all appearance mod template instances mapped by what species can use them
mods_by_typeA list of all appearance mod template instances mapped by their type
+

Var Details

mod_singletons + + + + +

+

A flat list of all appearance mod templates

mods_by_name + + + + +

+

A list of all appearance mod template instances mapped by their name

mods_by_species + + + + +

+

A list of all appearance mod template instances mapped by what species can use them

mods_by_type + + + + +

+

A list of all appearance mod template instances mapped by their type

+ + + diff --git a/datum/controller/subsystem.html b/datum/controller/subsystem.html new file mode 100644 index 000000000000..d8b1392cc22f --- /dev/null +++ b/datum/controller/subsystem.html @@ -0,0 +1,310 @@ + + + + + + + /datum/controller/subsystem - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Subsystem base class + + + +

+ +

Defines a subsystem to be managed by the Master Controller

+

Simply define a child of this subsystem, using the [SUBSYSTEM_DEF] macro, and the MC will handle registration. +Changing the name is required

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

can_fireSet to 0 to prevent fire() calls, mostly for admin use or subsystems that may be resumed later +use the SS_NO_FIRE flag instead for systems that never fire to keep it from even being added to list that is checked every tick
costRunning average of the amount of milliseconds it takes the subsystem to complete a run (including all resumes but not the time spent paused)
failure_strikesHow many times we suspect a subsystem type has crashed the MC, 3 strikes and you're out!
flagsSubsystem Flags to control binary behavior. Flags must be set at compile time or before preinit finishes to take full effect. (You can also restart the mc to force them to process again)
hibernate_checksA list of var names present on this subsystem to be checked during CheckQueue. See SS_HIBERNATE for usage.
hibernatingThe subsystem had no work during CheckQueue and was not queued
init_orderOrder of initialization. Higher numbers are initialized first, lower numbers later. Use or create defines such as [INIT_ORDER_DEFAULT] so we can see the order in one file.
init_stageWhich stage does this subsystem init at. Earlier stages can fire while later stages init.
initializedThis var is set to TRUE after the subsystem has been initialized.
last_fireLast world.time the subsystem completed a run (as in wasn't paused by [MC_TICK_CHECK])
nameName of the subsystem - you must change this
next_fireScheduled world.time for next fire()
paused_tick_usageTracks how much of a tick the subsystem has consumed in the current run
paused_ticksTracks how many fires the subsystem has consecutively paused on in the current run
postponed_firesHow many fires have we been requested to postpone
priorityPriority Weight: When mutiple subsystems need to run in the same tick, higher priority subsystems will be given a higher share of the tick before MC_TICK_CHECK triggers a sleep, higher priority subsystems also run before lower priority subsystems
queue_nextNext subsystem in the queue of subsystems to run this tick
queue_prevPrevious subsystem in the queue of subsystems to run this tick
queued_priorityPriority at the time the subsystem entered the queue. Needed to avoid changes in priority (by admins and the like) from breaking things.
queued_timeTime the subsystem entered the queue, (for timing and priority reasons)
runlevelsBitmap of what game states can this subsystem fire at. See [RUNLEVELS_DEFAULT] for more details.
slept_countTracks how many times a subsystem has ever slept in fire().
stateTracks the current execution state of the subsystem. Used to handle subsystems that sleep in fire so the mc doesn't run them again while they are sleeping
suspendedIf the subsystem is suspended, it cannot be queued. Managed version of can_fire
tick_allocation_avgHow much of a tick (in percents of a tick) do we get allocated by the mc on avg.
tick_allocation_lastHow much of a tick (in percents of a tick) were we allocated last fire.
tick_overrunRunning average of the amount of tick usage (in percents of a game tick) the subsystem has spent past its allocated time without pausing
tick_usageRunning average of the amount of tick usage in percents of a tick it takes the subsystem to complete a run
ticksTracks how many fires the subsystem takes to complete a run on average.
times_firedTracks the amount of completed runs for the subsystem
waitTime to wait (in deciseconds) between each call to fire(). Must be a positive integer.

Procs

OnConfigLoadCalled after the config has been loaded or reloaded.
PreInitdatum/controller/subsystem/New()
enqueueQueue it to run. +(we loop thru a linked list until we get to the end or find the right point) +(this lets us sort our run order correctly without having to re-sort the entire already sorted list)
firepreviously, this would have been named 'process()' but that name is used everywhere for different things! +fire() seems more suitable. This is the procedure that gets called every 'wait' deciseconds. +Sleeping in here prevents future fires until returned.
igniteThis is used so the mc knows when the subsystem sleeps. do not override.
postponeCauses the next "cycle" fires to be missed. Effect is accumulative but can reset by calling update_nextfire(reset_time = TRUE)
update_nextfire
+

Var Details

can_fire + + + + +

+

Set to 0 to prevent fire() calls, mostly for admin use or subsystems that may be resumed later +use the SS_NO_FIRE flag instead for systems that never fire to keep it from even being added to list that is checked every tick

cost + + + + +

+

Running average of the amount of milliseconds it takes the subsystem to complete a run (including all resumes but not the time spent paused)

failure_strikes + + + + +

+

How many times we suspect a subsystem type has crashed the MC, 3 strikes and you're out!

flags + + + + +

+

Subsystem Flags to control binary behavior. Flags must be set at compile time or before preinit finishes to take full effect. (You can also restart the mc to force them to process again)

hibernate_checks + + + + +

+

A list of var names present on this subsystem to be checked during CheckQueue. See SS_HIBERNATE for usage.

hibernating + + + + +

+

The subsystem had no work during CheckQueue and was not queued

init_order + + + + +

+

Order of initialization. Higher numbers are initialized first, lower numbers later. Use or create defines such as [INIT_ORDER_DEFAULT] so we can see the order in one file.

init_stage + + + + +

+

Which stage does this subsystem init at. Earlier stages can fire while later stages init.

initialized + + + + +

+

This var is set to TRUE after the subsystem has been initialized.

last_fire + + + + +

+

Last world.time the subsystem completed a run (as in wasn't paused by [MC_TICK_CHECK])

name + + + + +

+

Name of the subsystem - you must change this

next_fire + + + + +

+

Scheduled world.time for next fire()

paused_tick_usage + + + + +

+

Tracks how much of a tick the subsystem has consumed in the current run

paused_ticks + + + + +

+

Tracks how many fires the subsystem has consecutively paused on in the current run

postponed_fires + + + + +

+

How many fires have we been requested to postpone

priority + + + + +

+

Priority Weight: When mutiple subsystems need to run in the same tick, higher priority subsystems will be given a higher share of the tick before MC_TICK_CHECK triggers a sleep, higher priority subsystems also run before lower priority subsystems

queue_next + + + + +

+

Next subsystem in the queue of subsystems to run this tick

queue_prev + + + + +

+

Previous subsystem in the queue of subsystems to run this tick

queued_priority + + + + +

+

Priority at the time the subsystem entered the queue. Needed to avoid changes in priority (by admins and the like) from breaking things.

queued_time + + + + +

+

Time the subsystem entered the queue, (for timing and priority reasons)

runlevels + + + + +

+

Bitmap of what game states can this subsystem fire at. See [RUNLEVELS_DEFAULT] for more details.

slept_count + + + + +

+

Tracks how many times a subsystem has ever slept in fire().

state + + + + +

+

Tracks the current execution state of the subsystem. Used to handle subsystems that sleep in fire so the mc doesn't run them again while they are sleeping

suspended + + + + +

+

If the subsystem is suspended, it cannot be queued. Managed version of can_fire

tick_allocation_avg + + + + +

+

How much of a tick (in percents of a tick) do we get allocated by the mc on avg.

tick_allocation_last + + + + +

+

How much of a tick (in percents of a tick) were we allocated last fire.

tick_overrun + + + + +

+

Running average of the amount of tick usage (in percents of a game tick) the subsystem has spent past its allocated time without pausing

tick_usage + + + + +

+

Running average of the amount of tick usage in percents of a tick it takes the subsystem to complete a run

ticks + + + + +

+

Tracks how many fires the subsystem takes to complete a run on average.

times_fired + + + + +

+

Tracks the amount of completed runs for the subsystem

wait + + + + +

+

Time to wait (in deciseconds) between each call to fire(). Must be a positive integer.

Proc Details

OnConfigLoad +

+

Called after the config has been loaded or reloaded.

PreInit +

+

datum/controller/subsystem/New()

enqueue +

+

Queue it to run. +(we loop thru a linked list until we get to the end or find the right point) +(this lets us sort our run order correctly without having to re-sort the entire already sorted list)

fire +

+

previously, this would have been named 'process()' but that name is used everywhere for different things! +fire() seems more suitable. This is the procedure that gets called every 'wait' deciseconds. +Sleeping in here prevents future fires until returned.

ignite +

+

This is used so the mc knows when the subsystem sleeps. do not override.

postpone +

+

Causes the next "cycle" fires to be missed. Effect is accumulative but can reset by calling update_nextfire(reset_time = TRUE)

update_nextfire +

+
+ + + diff --git a/datum/controller/subsystem/achievements.html b/datum/controller/subsystem/achievements.html new file mode 100644 index 000000000000..149c895103e5 --- /dev/null +++ b/datum/controller/subsystem/achievements.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/achievements - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

achievements + + + +

+ + + + +

Vars

achievementsList of achievements
awardsList of all awards
scoresList of scores
+

Var Details

achievements + + + + +

+

List of achievements

awards + + + + +

+

List of all awards

scores + + + + +

+

List of scores

+ + + diff --git a/datum/controller/subsystem/addiction.html b/datum/controller/subsystem/addiction.html new file mode 100644 index 000000000000..9b45e5408d3b --- /dev/null +++ b/datum/controller/subsystem/addiction.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/addiction - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

addiction + + + +

+ + + +

Vars

all_addictionsDictionary of addiction.type || addiction ref

Procs

InitializeAddictionsRan on initialize, populates the addiction dictionary
+

Var Details

all_addictions + + + + +

+

Dictionary of addiction.type || addiction ref

Proc Details

InitializeAddictions +

+

Ran on initialize, populates the addiction dictionary

+ + + diff --git a/datum/controller/subsystem/ai_controllers.html b/datum/controller/subsystem/ai_controllers.html new file mode 100644 index 000000000000..0421f7d77901 --- /dev/null +++ b/datum/controller/subsystem/ai_controllers.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/ai_controllers - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ai_controllers + + + +

+ + + +

Vars

active_ai_controllersList of all ai controllers currently running
ai_subtreesList of all ai_subtree singletons, key is the typepath while assigned value is a newly created instance of the typepath. See setup_subtrees()
+

Var Details

active_ai_controllers + + + + +

+

List of all ai controllers currently running

ai_subtrees + + + + +

+

List of all ai_subtree singletons, key is the typepath while assigned value is a newly created instance of the typepath. See setup_subtrees()

+ + + diff --git a/datum/controller/subsystem/airmachines.html b/datum/controller/subsystem/airmachines.html new file mode 100644 index 000000000000..3849f3c80a49 --- /dev/null +++ b/datum/controller/subsystem/airmachines.html @@ -0,0 +1,57 @@ + + + + + + + /datum/controller/subsystem/airmachines - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

airmachines + + + +

+ + + + +

Procs

expand_pipelineRebuilds a pipeline by expanding outwards, while yielding when sane
start_processing_machineAdds a given machine to the processing system for SSAIR_ATMOSMACHINERY processing.
stop_processing_machineRemoves a given machine to the processing system for SSZAS_MACHINES processing.

Proc Details

expand_pipeline +

+

Rebuilds a pipeline by expanding outwards, while yielding when sane

start_processing_machine +

+

Adds a given machine to the processing system for SSAIR_ATMOSMACHINERY processing.

+

Arguments:

+

stop_processing_machine +

+

Removes a given machine to the processing system for SSZAS_MACHINES processing.

+

Arguments:

+
+ + + diff --git a/datum/controller/subsystem/ambience.html b/datum/controller/subsystem/ambience.html new file mode 100644 index 000000000000..27394237603b --- /dev/null +++ b/datum/controller/subsystem/ambience.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/ambience - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ambience + + + +

+ + + +

Vars

ambience_listening_clientsAssoc list of listening client - next ambience time
currentrunCache for sanic speed :D
+

Var Details

ambience_listening_clients + + + + +

+

Assoc list of listening client - next ambience time

currentrun + + + + +

+

Cache for sanic speed :D

+ + + diff --git a/datum/controller/subsystem/ao.html b/datum/controller/subsystem/ao.html new file mode 100644 index 000000000000..2508bdb0c19c --- /dev/null +++ b/datum/controller/subsystem/ao.html @@ -0,0 +1,36 @@ + + + + + + + /datum/controller/subsystem/ao - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ao + + + +

+ + +

Vars

image_cacheStores image datums of AO for speed
+

Var Details

image_cache + + + + +

+

Stores image datums of AO for speed

+ + + diff --git a/datum/controller/subsystem/atoms.html b/datum/controller/subsystem/atoms.html new file mode 100644 index 000000000000..c538e12b7e4e --- /dev/null +++ b/datum/controller/subsystem/atoms.html @@ -0,0 +1,96 @@ + + + + + + + /datum/controller/subsystem/atoms - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

atoms + + + +

+ + + + + + + + + + +

Vars

created_atomsinitAtom() adds the atom its creating to this list iff InitializeAtoms() has been given a list to populate as an argument
initialized_stateA stack of list(source, desired initialized state) +We read the source of init changes from the last entry, and assert that all changes will come with a reset
queued_deletionsAtoms that will be deleted once the subsystem is initialized

Procs

CreateAtomsActually creates the list of atoms. Exists soley so a runtime in the creation logic doesn't cause initalized to totally break
InitAtomInit this specific atom
get_initialized_sourceReturns the source currently modifying SSatom's init behavior
initializing_somethingReturns TRUE if anything is currently being initialized
prepare_deletionPrepares an atom to be deleted once the atoms SS is initialized.
set_tracked_initalizedUse this to set initialized to prevent error states where the old initialized is overriden, and we end up losing all context +Accepts a state and a source, the most recent state is used, sources exist to prevent overriding old values accidentially
+

Var Details

created_atoms + + + + +

+

initAtom() adds the atom its creating to this list iff InitializeAtoms() has been given a list to populate as an argument

initialized_state + + + + +

+

A stack of list(source, desired initialized state) +We read the source of init changes from the last entry, and assert that all changes will come with a reset

queued_deletions + + + + +

+

Atoms that will be deleted once the subsystem is initialized

Proc Details

CreateAtoms +

+

Actually creates the list of atoms. Exists soley so a runtime in the creation logic doesn't cause initalized to totally break

InitAtom +

+

Init this specific atom

get_initialized_source +

+

Returns the source currently modifying SSatom's init behavior

initializing_something +

+

Returns TRUE if anything is currently being initialized

prepare_deletion +

+

Prepares an atom to be deleted once the atoms SS is initialized.

set_tracked_initalized +

+

Use this to set initialized to prevent error states where the old initialized is overriden, and we end up losing all context +Accepts a state and a source, the most recent state is used, sources exist to prevent overriding old values accidentially

+ + + diff --git a/datum/controller/subsystem/ban_cache.html b/datum/controller/subsystem/ban_cache.html new file mode 100644 index 000000000000..1663b261d7a2 --- /dev/null +++ b/datum/controller/subsystem/ban_cache.html @@ -0,0 +1,35 @@ + + + + + + + /datum/controller/subsystem/ban_cache - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

ban_cache + + + +

+ + +

Procs

generate_queriesGenerates ban caches for any logged in clients. This ensures the amount of in-series ban checking we have to do that actually involves sleeps is VERY low

Proc Details

generate_queries +

+

Generates ban caches for any logged in clients. This ensures the amount of in-series ban checking we have to do that actually involves sleeps is VERY low

+ + + diff --git a/datum/controller/subsystem/blackmarket.html b/datum/controller/subsystem/blackmarket.html new file mode 100644 index 000000000000..881e34f88321 --- /dev/null +++ b/datum/controller/subsystem/blackmarket.html @@ -0,0 +1,71 @@ + + + + + + + /datum/controller/subsystem/blackmarket - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

blackmarket + + + +

+ + + + + + + +

Vars

marketsList of all existing markets.
queued_purchasesCurrently queued purchases.
shipping_method_descriptionsDescriptions for each shipping methods.
telepadsList of existing ltsrbts.

Procs

fake_teleportUsed to make a teleportation effect as do_teleport does not like moving items from nullspace.
queue_itemUsed to add /datum/market_purchase to queued_purchases var. Returns TRUE when queued.
+

Var Details

markets + + + + +

+

List of all existing markets.

queued_purchases + + + + +

+

Currently queued purchases.

shipping_method_descriptions + + + + +

+

Descriptions for each shipping methods.

telepads + + + + +

+

List of existing ltsrbts.

Proc Details

fake_teleport +

+

Used to make a teleportation effect as do_teleport does not like moving items from nullspace.

queue_item +

+

Used to add /datum/market_purchase to queued_purchases var. Returns TRUE when queued.

+ + + diff --git a/datum/controller/subsystem/circuit_component.html b/datum/controller/subsystem/circuit_component.html new file mode 100644 index 000000000000..93da488f9501 --- /dev/null +++ b/datum/controller/subsystem/circuit_component.html @@ -0,0 +1,52 @@ + + + + + + + /datum/controller/subsystem/circuit_component - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

circuit_component + + + +

+ + + + +

Procs

add_callbackAdds a callback to be invoked when the next fire() is done. Used by the integrated circuit system.
execute_instant_runInstantly executes the stored callbacks and does this in a loop until there are no stored callbacks or it hits tick limit.
queue_instant_runQueues any callbacks to be executed instantly instead of using the subsystem.

Proc Details

add_callback +

+

Adds a callback to be invoked when the next fire() is done. Used by the integrated circuit system.

+

Prevents race conditions as it acts like a queue system. +Those that registered first will be executed first and those registered last will be executed last.

execute_instant_run +

+

Instantly executes the stored callbacks and does this in a loop until there are no stored callbacks or it hits tick limit.

+

Returns a list containing any values added by any input port.

queue_instant_run +

+

Queues any callbacks to be executed instantly instead of using the subsystem.

+ + + diff --git a/datum/controller/subsystem/codex.html b/datum/controller/subsystem/codex.html new file mode 100644 index 000000000000..62eec6e1ddc4 --- /dev/null +++ b/datum/controller/subsystem/codex.html @@ -0,0 +1,135 @@ + + + + + + + /datum/controller/subsystem/codex - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

codex + + + +

+ + + + + + + + + + + + + + + +

Vars

all_entriesAll entries. Unkeyed.
codex_categoriesAll categories.
codex_indexCodex Database Connection
entries_by_pathAll STATIC entries, By path. Does not include dynamic entries.
entries_by_stringAll entries, by name.
index_fileThe same as above, but sorted (?)
search_cacheSearch result cache, so we don't need to hit the DB every time.

Procs

build_db_indexHolds the revision the index was compiled for. If it's different then live, we need to regenerate the index.
get_codex_entryReturns a codex entry for the given query. May return a list if multiple are found, or null if none.
prepare_search_databasePrepare the search database.
present_codex_entryPresents a codex entry to a mob. If it receives a list of entries, it will prompt them to choose one.
present_codex_searchPresents a list of codex entries to a mob.
retrieve_entries_for_stringPerform a full-text search through all codex entries. Entries matching the query by name will be shown first. +Results are cached. Relies on the index database.
text_search_no_dbStraight-DM implimentation of full text search. Objectively garbage. +Does not use the DB. Used when database loading is skipped. +Argument has already been sanitized. +Safety checks have already been done. Cache has already been checked.
+

Var Details

all_entries + + + + +

+

All entries. Unkeyed.

codex_categories + + + + +

+

All categories.

codex_index + + + + +

+

Codex Database Connection

entries_by_path + + + + +

+

All STATIC entries, By path. Does not include dynamic entries.

entries_by_string + + + + +

+

All entries, by name.

index_file + + + + +

+

The same as above, but sorted (?)

search_cache + + + + +

+

Search result cache, so we don't need to hit the DB every time.

Proc Details

build_db_index +

+

Holds the revision the index was compiled for. If it's different then live, we need to regenerate the index.

get_codex_entry +

+

Returns a codex entry for the given query. May return a list if multiple are found, or null if none.

prepare_search_database +

+

Prepare the search database.

present_codex_entry +

+

Presents a codex entry to a mob. If it receives a list of entries, it will prompt them to choose one.

+

Presents a list of codex entries to a mob.

retrieve_entries_for_string +

+

Perform a full-text search through all codex entries. Entries matching the query by name will be shown first. +Results are cached. Relies on the index database.

text_search_no_db +

+

Straight-DM implimentation of full text search. Objectively garbage. +Does not use the DB. Used when database loading is skipped. +Argument has already been sanitized. +Safety checks have already been done. Cache has already been checked.

+ + + diff --git a/datum/controller/subsystem/communications.html b/datum/controller/subsystem/communications.html new file mode 100644 index 000000000000..028b3a48bc47 --- /dev/null +++ b/datum/controller/subsystem/communications.html @@ -0,0 +1,55 @@ + + + + + + + /datum/controller/subsystem/communications - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

communications + + + +

+ + + +

Procs

can_make_emergency_meetingCheck if a mob can call an emergency meeting
emergency_meetingCall an emergency meeting

Proc Details

can_make_emergency_meeting +

+

Check if a mob can call an emergency meeting

+

Should only really happen during april fools. +Checks to see that it's been at least 5 minutes since the last emergency meeting call. +Arguments:

+

emergency_meeting +

+

Call an emergency meeting

+

Communications subsystem wrapper for the call_emergency_meeting world proc. +Checks to make sure the proc can be called, and handles +relevant logging and timing. See that proc definition for more detail. +Arguments:

+
+ + + diff --git a/datum/controller/subsystem/credits.html b/datum/controller/subsystem/credits.html new file mode 100644 index 000000000000..5de5b723436c --- /dev/null +++ b/datum/controller/subsystem/credits.html @@ -0,0 +1,35 @@ + + + + + + + /datum/controller/subsystem/credits - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

credits + + + +

+ + +

Procs

clear_credits_from_clientsClear the existing credits data from clients

Proc Details

clear_credits_from_clients +

+

Clear the existing credits data from clients

+ + + diff --git a/datum/controller/subsystem/datacore.html b/datum/controller/subsystem/datacore.html new file mode 100644 index 000000000000..d7e427696bde --- /dev/null +++ b/datum/controller/subsystem/datacore.html @@ -0,0 +1,133 @@ + + + + + + + /datum/controller/subsystem/datacore - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

datacore + + + +

+ + + + + + + + + + + + + +

Vars

finished_setupSet to TRUE when the initial roundstart manifest is complete
libraryA list of data libraries keyed by DATACORE_RECORDS_*

Procs

OnReadyAdd a callback to execute when the datacore has loaded
demanifestRemoves a person from history. Except locked. That's permanent history.
generate_manifestCreate the roundstart manifest using the newplayer list.
get_general_recordsSupporing proc for getting general records +and using them as pAI ui data. This gets +medical information - or what I would deem +medical information - and sends it as a list.
get_pda_netidsGrab all PDA network IDs by department.
get_record_by_nameReturns a data record or null.
get_recordsReturns a data library's records list
get_security_recordsThe array of records +The object containing the crew info +Supporing proc for getting secrurity records +and using them as pAI ui data. Sends it as a +list.
new_crime_entryThe array of records +The object containing the crew info +Creates a new crime entry and hands it back.
wipe_recordsEmpties out a library
+

Var Details

finished_setup + + + + +

+

Set to TRUE when the initial roundstart manifest is complete

library + + + + +

+

A list of data libraries keyed by DATACORE_RECORDS_*

Proc Details

OnReady +

+

Add a callback to execute when the datacore has loaded

demanifest +

+

Removes a person from history. Except locked. That's permanent history.

generate_manifest +

+

Create the roundstart manifest using the newplayer list.

get_general_records +

+

Supporing proc for getting general records +and using them as pAI ui data. This gets +medical information - or what I would deem +medical information - and sends it as a list.

+

@return - list(general_records_out)

get_pda_netids +

+

Grab all PDA network IDs by department.

get_record_by_name +

+

Returns a data record or null.

get_records +

+

Returns a data library's records list

get_security_records +

+

The array of records +The object containing the crew info +Supporing proc for getting secrurity records +and using them as pAI ui data. Sends it as a +list.

+

@return - list(security_records_out)

new_crime_entry +

+

The array of records +The object containing the crew info +Creates a new crime entry and hands it back.

wipe_records +

+

Empties out a library

+ + + diff --git a/datum/controller/subsystem/dbcore.html b/datum/controller/subsystem/dbcore.html new file mode 100644 index 000000000000..bbbc6874101b --- /dev/null +++ b/datum/controller/subsystem/dbcore.html @@ -0,0 +1,106 @@ + + + + + + + /datum/controller/subsystem/dbcore - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

dbcore + + + +

+ + + + + + + + + + + + +

Vars

all_queriesAll the current queries that exist.
all_queries_numNumber of all queries, reset to 0 when logged in SStime_track. Used by SStime_track
processing_queriesQueries being checked for timeouts.
queries_activeQueries currently being handled by database driver
queries_active_numNumber of active queries, reset to 0 when logged in SStime_track. Used by SStime_track
queries_currentQueries left to handle during controller firing
queries_newQueries pending execution that will be handled this controller firing
queries_standbyQueries pending execution, mapped to complete arguments
queries_standby_numNumber of standby queries, reset to 0 when logged in SStime_track. Used by SStime_track

Procs

create_active_queryHelper proc for handling queued new queries
reset_trackingResets the tracking numbers on the subsystem. Used by SStime_track.
+

Var Details

all_queries + + + + +

+

All the current queries that exist.

all_queries_num + + + + +

+

Number of all queries, reset to 0 when logged in SStime_track. Used by SStime_track

processing_queries + + + + +

+

Queries being checked for timeouts.

queries_active + + + + +

+

Queries currently being handled by database driver

queries_active_num + + + + +

+

Number of active queries, reset to 0 when logged in SStime_track. Used by SStime_track

queries_current + + + + +

+

Queries left to handle during controller firing

queries_new + + + + +

+

Queries pending execution that will be handled this controller firing

queries_standby + + + + +

+

Queries pending execution, mapped to complete arguments

queries_standby_num + + + + +

+

Number of standby queries, reset to 0 when logged in SStime_track. Used by SStime_track

Proc Details

create_active_query +

+

Helper proc for handling queued new queries

reset_tracking +

+

Resets the tracking numbers on the subsystem. Used by SStime_track.

+ + + diff --git a/datum/controller/subsystem/economy.html b/datum/controller/subsystem/economy.html new file mode 100644 index 000000000000..bbb45960d1e7 --- /dev/null +++ b/datum/controller/subsystem/economy.html @@ -0,0 +1,195 @@ + + + + + + + /datum/controller/subsystem/economy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

economy + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

audit_logA list of strings containing a basic transaction history of purchases on the station. +Added to any time when player accounts purchase something.
bank_accounts_by_idList of normal (no department ones) accounts' identifiers with associated datum accounts, for big O performance. +A list of sole account datums can be obtained with flatten_list(), another variable would be redundant rn.
bounty_modifierThe modifier multiplied to the value of bounties paid out.
dep_cardsList of the departmental budget cards in existance.
department_accounts_by_idDepartmental account datums by ID
earning_reportContains the message to send to newscasters about price inflation and earnings, updated on price_update()
export_totalTotal value of exported materials.
full_ancapEnables extra money charges for things that normally would be free, such as sleepers/cryo/beepsky. +Take care when enabling, as players will NOT respond well if the economy is set up for low cash flows.
government_budgetGovt Bux, for the government supply console
import_totalTotal value of imported goods.
mail_blockedMail Holiday: AKA does mail arrive today? Always blocked on Sundays.
mail_waitingNumber of mail items generated.
pack_price_modifierThe modifier multiplied to the value of cargo pack prices.
roundstart_budget_amtHow many credits to give to each department at round start.
roundstart_paychecksHow many paychecks should players start out the round with?
station_masterThe station's master account, used for splitting up funds and pooling money.
station_totalA var that collects the total amount of credits owned in player accounts on station, reset and recounted on fire()

Procs

paydayThe first fire at roundstart is discarded.
price_updateUpdates the prices of all station vendors.
spawn_cash_for_amountSpawns a given amount of money in optimal stacks at the given location.
track_purchaseProc that adds a set of strings and ints to the audit log, tracked by the economy SS.
update_mailWe don't use transfering, because we already know there's enough money.
+

Var Details

audit_log + + + + +

+

A list of strings containing a basic transaction history of purchases on the station. +Added to any time when player accounts purchase something.

bank_accounts_by_id + + + + +

+

List of normal (no department ones) accounts' identifiers with associated datum accounts, for big O performance. +A list of sole account datums can be obtained with flatten_list(), another variable would be redundant rn.

bounty_modifier + + + + +

+

The modifier multiplied to the value of bounties paid out.

dep_cards + + + + +

+

List of the departmental budget cards in existance.

department_accounts_by_id + + + + +

+

Departmental account datums by ID

earning_report + + + + +

+

Contains the message to send to newscasters about price inflation and earnings, updated on price_update()

export_total + + + + +

+

Total value of exported materials.

full_ancap + + + + +

+

Enables extra money charges for things that normally would be free, such as sleepers/cryo/beepsky. +Take care when enabling, as players will NOT respond well if the economy is set up for low cash flows.

government_budget + + + + +

+

Govt Bux, for the government supply console

import_total + + + + +

+

Total value of imported goods.

mail_blocked + + + + +

+

Mail Holiday: AKA does mail arrive today? Always blocked on Sundays.

mail_waiting + + + + +

+

Number of mail items generated.

pack_price_modifier + + + + +

+

The modifier multiplied to the value of cargo pack prices.

roundstart_budget_amt + + + + +

+

How many credits to give to each department at round start.

roundstart_paychecks + + + + +

+

How many paychecks should players start out the round with?

station_master + + + + +

+

The station's master account, used for splitting up funds and pooling money.

station_total + + + + +

+

A var that collects the total amount of credits owned in player accounts on station, reset and recounted on fire()

Proc Details

payday +

+

The first fire at roundstart is discarded.

price_update +

+

Updates the prices of all station vendors.

+

Iterates over the machines list for vending machines, resets their regular and premium product prices (Not contraband).

spawn_cash_for_amount +

+

Spawns a given amount of money in optimal stacks at the given location.

track_purchase +

+

Proc that adds a set of strings and ints to the audit log, tracked by the economy SS.

+

update_mail +

+

We don't use transfering, because we already know there's enough money.

+ + + diff --git a/datum/controller/subsystem/eigenstates.html b/datum/controller/subsystem/eigenstates.html new file mode 100644 index 000000000000..f31ceb758b7e --- /dev/null +++ b/datum/controller/subsystem/eigenstates.html @@ -0,0 +1,94 @@ + + + + + + + /datum/controller/subsystem/eigenstates - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

eigenstates + + + +

+ + + + + + + + + + +

Vars

eigen_idUID to object reference
eigen_targetsThe list of objects that something is linked to indexed by UID
id_counterUnique id counter
spark_timeLimit the number of sparks created when teleporting multiple atoms to 1

Procs

Destroyreverts everything back to start
create_new_linkCreates a new link of targets unique to their own id
remove_eigen_entryremoves an object reference from the master list
tool_interactPrevents tool use on the item
use_eigenlinked_atomRemove the current entry if we're empty +Finds the object within the master list, then sends the thing to the object's location
+

Var Details

eigen_id + + + + +

+

UID to object reference

eigen_targets + + + + +

+

The list of objects that something is linked to indexed by UID

id_counter + + + + +

+

Unique id counter

spark_time + + + + +

+

Limit the number of sparks created when teleporting multiple atoms to 1

Proc Details

Destroy +

+

reverts everything back to start

+

Creates a new link of targets unique to their own id

remove_eigen_entry +

+

removes an object reference from the master list

tool_interact +

+

Prevents tool use on the item

use_eigenlinked_atom +

+

Remove the current entry if we're empty +Finds the object within the master list, then sends the thing to the object's location

+ + + diff --git a/datum/controller/subsystem/events.html b/datum/controller/subsystem/events.html new file mode 100644 index 000000000000..d9e59e842bd4 --- /dev/null +++ b/datum/controller/subsystem/events.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/events - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

events + + + +

+ + + + +

Vars

frequency_lowerThe minimum time between random events
frequency_upperThe maximum time between random events
runningList of all existing /datum/round_event
+

Var Details

frequency_lower + + + + +

+

The minimum time between random events

frequency_upper + + + + +

+

The maximum time between random events

running + + + + +

+

List of all existing /datum/round_event

+ + + diff --git a/datum/controller/subsystem/explosions.html b/datum/controller/subsystem/explosions.html new file mode 100644 index 000000000000..698561f0b63f --- /dev/null +++ b/datum/controller/subsystem/explosions.html @@ -0,0 +1,49 @@ + + + + + + + /datum/controller/subsystem/explosions - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

explosions + + + +

+ + +

Procs

shake_the_roomHandles the sfx and screenshake caused by an explosion.

Proc Details

shake_the_room +

+

Handles the sfx and screenshake caused by an explosion.

+

Arguments:

+
+ + + diff --git a/datum/controller/subsystem/fluids.html b/datum/controller/subsystem/fluids.html new file mode 100644 index 000000000000..411de8962495 --- /dev/null +++ b/datum/controller/subsystem/fluids.html @@ -0,0 +1,170 @@ + + + + + + + /datum/controller/subsystem/fluids - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

fluids + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

currently_processingThe set of fluid nodes we are currently processing effects for.
currently_spreadingThe set of fluid nodes we are currently processing spreading for.
effect_bucket_indexThe index of the currently processing bucket on the effect carousel.
effect_carouselThe set of buckets containing fluid nodes to process effects for.
effect_waitThe amount of time (in deciseconds) between effect processing ticks for each fluid node.
num_effect_bucketsThe number of buckets in the effect carousel.
num_spread_bucketsThe number of buckets in the spread carousel.
spread_bucket_indexThe index of the spread carousel bucket currently being processed.
spread_carouselThe set of buckets containing fluid nodes to spread.
spread_waitThe amount of time (in deciseconds) before a fluid node is created and when it spreads.

Procs

cancel_spreadCancels a queued spread of a fluid node.
initialize_effect_carouselInitializes the carousel used to process fluid effects.
initialize_spread_carouselInitializes the carousel used to process fluid spreading.
initialize_waitsInitializes the subsystem waits.
queue_spreadQueues a fluid node to spread later after one full carousel rotation.
start_processingStarts processing the effects of a fluid node.
stop_processingStops processing the effects of a fluid node.
+

Var Details

currently_processing + + + + +

+

The set of fluid nodes we are currently processing effects for.

currently_spreading + + + + +

+

The set of fluid nodes we are currently processing spreading for.

effect_bucket_index + + + + +

+

The index of the currently processing bucket on the effect carousel.

+

The set of buckets containing fluid nodes to process effects for.

effect_wait + + + + +

+

The amount of time (in deciseconds) between effect processing ticks for each fluid node.

num_effect_buckets + + + + +

+

The number of buckets in the effect carousel.

num_spread_buckets + + + + +

+

The number of buckets in the spread carousel.

spread_bucket_index + + + + +

+

The index of the spread carousel bucket currently being processed.

+

The set of buckets containing fluid nodes to spread.

spread_wait + + + + +

+

The amount of time (in deciseconds) before a fluid node is created and when it spreads.

Proc Details

cancel_spread +

+

Cancels a queued spread of a fluid node.

+

Arguments:

+ +

Initializes the carousel used to process fluid effects.

+

Synchronizes the spread delta time with the actual target spread tick rate. +Builds the carousel buckets used to bubble processing.

+

Initializes the carousel used to process fluid spreading.

+

Synchronizes the spread delta time with the actual target spread tick rate. +Builds the carousel buckets used to queue spreads.

initialize_waits +

+

Initializes the subsystem waits.

+

Ensures that the subsystem's fire wait evenly splits the spread and effect waits.

queue_spread +

+

Queues a fluid node to spread later after one full carousel rotation.

+

Arguments:

+

start_processing +

+

Starts processing the effects of a fluid node.

+

The fluid node will next process after one full bucket rotation.

+

Arguments:

+

stop_processing +

+

Stops processing the effects of a fluid node.

+

Arguments:

+
+ + + diff --git a/datum/controller/subsystem/holomap.html b/datum/controller/subsystem/holomap.html new file mode 100644 index 000000000000..b02998dc1914 --- /dev/null +++ b/datum/controller/subsystem/holomap.html @@ -0,0 +1,64 @@ + + + + + + + /datum/controller/subsystem/holomap - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

holomap + + + +

+ + + + + + +

Vars

holomaps_by_zStores /icon objects for the holomaps
invalid_holomap_iconGeneric invalid holomap icon
minimapsStores images for the holomaps scaled down for use by station map machines as overlays

Procs

generate_minimapsGenerate minimaps from a full map.
get_holomapGet a holomap icon for a given z level
+

Var Details

holomaps_by_z + + + + +

+

Stores /icon objects for the holomaps

invalid_holomap_icon + + + + +

+

Generic invalid holomap icon

minimaps + + + + +

+

Stores images for the holomaps scaled down for use by station map machines as overlays

Proc Details

generate_minimaps +

+

Generate minimaps from a full map.

get_holomap +

+

Get a holomap icon for a given z level

+ + + diff --git a/datum/controller/subsystem/icon_smooth.html b/datum/controller/subsystem/icon_smooth.html new file mode 100644 index 000000000000..9c9207a345af --- /dev/null +++ b/datum/controller/subsystem/icon_smooth.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/icon_smooth - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

icon_smooth + + + +

+ + + +

Vars

blueprint_queueBlueprints assemble an image of what pipes/manifolds/wires look like on initialization, and thus should be taken after everything's been smoothed

Procs

free_deferredReleases a pool of delayed smooth attempts from a particular source
+

Var Details

blueprint_queue + + + + +

+

Blueprints assemble an image of what pipes/manifolds/wires look like on initialization, and thus should be taken after everything's been smoothed

Proc Details

free_deferred +

+

Releases a pool of delayed smooth attempts from a particular source

+ + + diff --git a/datum/controller/subsystem/id_access.html b/datum/controller/subsystem/id_access.html new file mode 100644 index 000000000000..e9f1d0c33908 --- /dev/null +++ b/datum/controller/subsystem/id_access.html @@ -0,0 +1,319 @@ + + + + + + + /datum/controller/subsystem/id_access - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

id_access + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

access_flag_string_by_flagDictionary of access flag string representations. Keys are bitflags. Values are their associated names.
accesses_by_flagDictionary of access lists. Keys are access flag names. Values are lists of all accesses as part of that access.
accesses_by_regionDictionary of accesses based on station region. Keys are region strings. Values are lists of accesses.
all_region_access_tguiSpecially formatted list for sending access levels to tgui interfaces.
centcom_job_templatesHelper list containing all trim paths that can be used as Centcom templates.
desc_by_accessDictionary of access names. Keys are access levels. Values are their associated names.
flags_by_accessDictionary of access flags. Keys are accesses. Values are their associated bitflags.
spare_id_safe_codeThe roundstart generated code for the spare ID safe. This is given to the Captain on shift start. If there's no Captain, it's given to the HoP. If there's no HoP
station_job_templatesHelper list containing all trim paths that can be used as job templates. Intended to be used alongside logic for ACCESS_CHANGE_IDS. Grab templates from sub_department_managers_tgui for Head of Staff restrictions.
station_pda_templatesHelper list containing all PDA paths that can be painted by station machines. Intended to be used alongside logic for ACCESS_CHANGE_IDS. Grab templates from sub_department_managers_tgui for Head of Staff restrictions.
station_regionsHelper list containing all station regions.
sub_department_managers_tguiList of accesses for the Heads of each sub-department alongside the regions they control and their job name.
trim_singletons_by_pathDictionary of trim singletons. Keys are paths. Values are their associated singletons.
wildcard_flags_by_wildcardDictionary of wildcard compatibility flags. Keys are strings for the wildcards. Values are their associated flags.

Procs

add_trim_access_to_cardAdds the accesses associated with a trim to an ID card.
apply_trim_to_cardApplies a trim singleton to a card.
apply_trim_to_chameleon_card
get_access_descReturns the access description associated with any given access level.
get_access_flagReturns the access bitflags associated with any given access level.
get_flag_access_listReturns the list of all accesses associated with any given access flag.
get_region_access_listBuilds and returns a list of accesses from a list of regions.
refresh_job_trim_singletonsCalled by [/datum/controller/subsystem/ticker/proc/setup]
remove_trim_from_cardRemoves a trim from an ID card. Also removes all accesses from it too.
remove_trim_from_chameleon_cardRemoves a trim from a chameleon ID card.
setup_access_descriptionsSetup dictionary that converts access levels to text descriptions.
setup_access_flagsBuild access flag lists.
setup_region_listsPopulates the region lists with data about which accesses correspond to which regions.
setup_tgui_listsCreates various data structures that primarily get fed to tgui interfaces, although these lists are used in other places.
setup_trim_singletonsInstantiate trim singletons and add them to a list.
setup_wildcard_dictSet up dictionary to convert wildcard names to flags.
tally_accessTallies up all accesses the card has that have flags greater than or equal to the access_flag supplied.
+

Var Details

access_flag_string_by_flag + + + + +

+

Dictionary of access flag string representations. Keys are bitflags. Values are their associated names.

accesses_by_flag + + + + +

+

Dictionary of access lists. Keys are access flag names. Values are lists of all accesses as part of that access.

accesses_by_region + + + + +

+

Dictionary of accesses based on station region. Keys are region strings. Values are lists of accesses.

all_region_access_tgui + + + + +

+

Specially formatted list for sending access levels to tgui interfaces.

centcom_job_templates + + + + +

+

Helper list containing all trim paths that can be used as Centcom templates.

desc_by_access + + + + +

+

Dictionary of access names. Keys are access levels. Values are their associated names.

flags_by_access + + + + +

+

Dictionary of access flags. Keys are accesses. Values are their associated bitflags.

spare_id_safe_code + + + + +

+

The roundstart generated code for the spare ID safe. This is given to the Captain on shift start. If there's no Captain, it's given to the HoP. If there's no HoP

station_job_templates + + + + +

+

Helper list containing all trim paths that can be used as job templates. Intended to be used alongside logic for ACCESS_CHANGE_IDS. Grab templates from sub_department_managers_tgui for Head of Staff restrictions.

station_pda_templates + + + + +

+

Helper list containing all PDA paths that can be painted by station machines. Intended to be used alongside logic for ACCESS_CHANGE_IDS. Grab templates from sub_department_managers_tgui for Head of Staff restrictions.

station_regions + + + + +

+

Helper list containing all station regions.

sub_department_managers_tgui + + + + +

+

List of accesses for the Heads of each sub-department alongside the regions they control and their job name.

trim_singletons_by_path + + + + +

+

Dictionary of trim singletons. Keys are paths. Values are their associated singletons.

wildcard_flags_by_wildcard + + + + +

+

Dictionary of wildcard compatibility flags. Keys are strings for the wildcards. Values are their associated flags.

Proc Details

add_trim_access_to_card +

+

Adds the accesses associated with a trim to an ID card.

+

Clears the card's existing access levels first. +Primarily intended for applying trim templates to cards. Will attempt to add as many ordinary access +levels as it can, without consuming any wildcards. Will then attempt to apply the trim-specific wildcards after.

+

Arguments:

+

apply_trim_to_card +

+

Applies a trim singleton to a card.

+

Returns FALSE if the trim could not be applied due to being incompatible with the card. +Incompatibility is defined as a card not being able to hold all the trim's required wildcards. +Returns TRUE otherwise. +Arguments:

+

apply_trim_to_chameleon_card +

+

get_access_desc +

+

Returns the access description associated with any given access level.

+

In proc form due to accesses being stored in the list as text instead of numbers. +Arguments:

+

get_access_flag +

+

Returns the access bitflags associated with any given access level.

+

In proc form due to accesses being stored in the list as text instead of numbers. +Arguments:

+

get_flag_access_list +

+

Returns the list of all accesses associated with any given access flag.

+

In proc form due to accesses being stored in the list as text instead of numbers. +Arguments:

+

get_region_access_list +

+

Builds and returns a list of accesses from a list of regions.

+

Arguments:

+

refresh_job_trim_singletons +

+

Called by [/datum/controller/subsystem/ticker/proc/setup]

+

This runs through every /datum/id_trim/job singleton and ensures that its access is setup according to +appropriate config entries.

remove_trim_from_card +

+

Removes a trim from an ID card. Also removes all accesses from it too.

+

Arguments:

+

remove_trim_from_chameleon_card +

+

Removes a trim from a chameleon ID card.

+

Arguments:

+

setup_access_descriptions +

+

Setup dictionary that converts access levels to text descriptions.

setup_access_flags +

+

Build access flag lists.

setup_region_lists +

+

Populates the region lists with data about which accesses correspond to which regions.

setup_tgui_lists +

+

Creates various data structures that primarily get fed to tgui interfaces, although these lists are used in other places.

setup_trim_singletons +

+

Instantiate trim singletons and add them to a list.

setup_wildcard_dict +

+

Set up dictionary to convert wildcard names to flags.

tally_access +

+

Tallies up all accesses the card has that have flags greater than or equal to the access_flag supplied.

+

Returns the number of accesses that have flags matching access_flag or a higher tier access. +Arguments:

+
+ + + diff --git a/datum/controller/subsystem/job.html b/datum/controller/subsystem/job.html new file mode 100644 index 000000000000..acdc1cb7cc1f --- /dev/null +++ b/datum/controller/subsystem/job.html @@ -0,0 +1,280 @@ + + + + + + + /datum/controller/subsystem/job - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

job + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

all_occupationsList of all jobs.
assigned_captainIf TRUE, some player has been assigned Captaincy or Acting Captaincy at some point during the shift and has been given the spare ID safe code.
chain_of_commandKeys should be assigned job roles. Values should be >= 1. +Represents the chain of command on the station. Lower numbers mean higher priority. +Used to give the Cap's Spare safe code to a an appropriate player. +Assumed Captain is always the highest in the chain of command. +See [/datum/controller/subsystem/ticker/proc/equip_characters]
departmentsList of all departments.
departments_by_typeList of all departments indexed by their typepath, sorted by their own display order.
dynamic_forced_occupationsLazylist of mob:occupation_string pairs.
experience_jobs_mapDictionary of jobs indexed by the experience type they grant.
job_priorities_to_stringsDictionary that maps job priorities to low/medium/high. Keys have to be number-strings as assoc lists cannot be indexed by integers. Set in setup_job_lists.
joinable_occupationsList of jobs that can be joined through the starting menu.
name_occupationsDictionary of all jobs, keys are titles.
safe_code_request_locThe loc to which the emergency safe code has been requested for delivery.
safe_code_requestedWhether the emergency safe code has been requested via a comms console on shifts with no Captain or Acting Captain.
safe_code_timer_idTimer ID for the emergency safe code request.
temporary_heads_by_depA k:v list of department_path : name, where name is the name of the player who was given head access at roundstart
type_occupationsDictionary of all jobs, keys are types.

Procs

AssignRoleAssigns the given job role to the player.
CheckHeadPositionsAttempts to fill out all possible head positions for players with that job at a a given job priority level.
DivideOccupations
DropLandAtRandomHallwayPointLands specified mob at a random spot in the hallways
FillHeadPositionWill try to select a head, ignoring ALL non-head preferences for every level until.
assign_captainFinds a captain first a foremost. Returns success or failure
assign_priority_positionsBlindly assigns the required roles to every player in the dynamic_forced_occupations list.
check_job_eligibilityRuns a standard suite of eligibility checks to make sure the player can take the reqeusted job.
fill_ai_positionsAttempts to fill out all available AI positions.
get_necessary_departmentsReturns a list of department paths that must be filled.
job_priority_level_to_stringTakes a job priority #define such as JP_LOW and gets its string representation for logging.
promote_to_department_headCalled when there's no department head present.
send_spare_id_safe_codeSend a drop pod containing a piece of paper with the spare ID safe code to loc
setup_alt_job_itemsShows a list of all current and future polls and buttons to edit or delete them or create a new poll.
setup_job_listsBuilds various lists of jobs based on station, centcom and additional jobs with icons associated with them.
+

Var Details

all_occupations + + + + +

+

List of all jobs.

assigned_captain + + + + +

+

If TRUE, some player has been assigned Captaincy or Acting Captaincy at some point during the shift and has been given the spare ID safe code.

chain_of_command + + + + +

+

Keys should be assigned job roles. Values should be >= 1. +Represents the chain of command on the station. Lower numbers mean higher priority. +Used to give the Cap's Spare safe code to a an appropriate player. +Assumed Captain is always the highest in the chain of command. +See [/datum/controller/subsystem/ticker/proc/equip_characters]

departments + + + + +

+

List of all departments.

departments_by_type + + + + +

+

List of all departments indexed by their typepath, sorted by their own display order.

dynamic_forced_occupations + + + + +

+

Lazylist of mob:occupation_string pairs.

experience_jobs_map + + + + +

+

Dictionary of jobs indexed by the experience type they grant.

job_priorities_to_strings + + + + +

+

Dictionary that maps job priorities to low/medium/high. Keys have to be number-strings as assoc lists cannot be indexed by integers. Set in setup_job_lists.

joinable_occupations + + + + +

+

List of jobs that can be joined through the starting menu.

name_occupations + + + + +

+

Dictionary of all jobs, keys are titles.

safe_code_request_loc + + + + +

+

The loc to which the emergency safe code has been requested for delivery.

safe_code_requested + + + + +

+

Whether the emergency safe code has been requested via a comms console on shifts with no Captain or Acting Captain.

safe_code_timer_id + + + + +

+

Timer ID for the emergency safe code request.

temporary_heads_by_dep + + + + +

+

A k:v list of department_path : name, where name is the name of the player who was given head access at roundstart

type_occupations + + + + +

+

Dictionary of all jobs, keys are types.

Proc Details

AssignRole +

+

Assigns the given job role to the player.

+

Arguments:

+

CheckHeadPositions +

+

Attempts to fill out all possible head positions for players with that job at a a given job priority level.

+

Arguments:

+

DivideOccupations +

+

DropLandAtRandomHallwayPoint +

+

Lands specified mob at a random spot in the hallways

FillHeadPosition +

+

Will try to select a head, ignoring ALL non-head preferences for every level until.

+

Basically tries to ensure there is at least one head in every shift if anyone has that job preference enabled at all.

assign_captain +

+

Finds a captain first a foremost. Returns success or failure

assign_priority_positions +

+

Blindly assigns the required roles to every player in the dynamic_forced_occupations list.

check_job_eligibility +

+

Runs a standard suite of eligibility checks to make sure the player can take the reqeusted job.

+

Checks:

+ +

Arguments:

+

fill_ai_positions +

+

Attempts to fill out all available AI positions.

get_necessary_departments +

+

Returns a list of department paths that must be filled.

job_priority_level_to_string +

+

Takes a job priority #define such as JP_LOW and gets its string representation for logging.

promote_to_department_head +

+

Called when there's no department head present.

send_spare_id_safe_code +

+

Send a drop pod containing a piece of paper with the spare ID safe code to loc

setup_alt_job_items +

+

Shows a list of all current and future polls and buttons to edit or delete them or create a new poll.

+

All extra functionality to run on new player mobs, in a place where we actually have the client, +and haven't called COMSIG_GLOB_JOB_AFTER_SPAWN yet, so we are running before the wallet trait, +and other things that rely on items already being settled.

setup_job_lists +

+

Builds various lists of jobs based on station, centcom and additional jobs with icons associated with them.

+ + + diff --git a/datum/controller/subsystem/lag_switch.html b/datum/controller/subsystem/lag_switch.html new file mode 100644 index 000000000000..41f0854a5ea6 --- /dev/null +++ b/datum/controller/subsystem/lag_switch.html @@ -0,0 +1,106 @@ + + + + + + + /datum/controller/subsystem/lag_switch - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

lag_switch + + + +

+ + + + + + + + + + + + +

Vars

auto_measuresList of measures that toggle automatically
auto_switchIf the lag switch measures should attempt to trigger automatically, TRUE if a config value exists
measuresList of bools corresponding to code/__DEFINES/lag_switch.dm
slowmode_cooldownCooldown between say verb uses when slowmode is enabled
trigger_popAmount of connected clients at which the Lag Switch should engage, set via config or admin panel
veto_timer_idTimer ID for the automatic veto period

Procs

cancel_auto_enable_in_progressCalled from an admin chat link
change_slowmode_cooldownUpdate the slowmode timer length and clear existing ones if reduced
set_all_measuresHelper to loop over all measures for mass changes
set_measureHandle the state change for individual measures
toggle_auto_enable(En/Dis)able automatic triggering of switches based on client count
+

Var Details

auto_measures + + + + +

+

List of measures that toggle automatically

auto_switch + + + + +

+

If the lag switch measures should attempt to trigger automatically, TRUE if a config value exists

measures + + + + +

+

List of bools corresponding to code/__DEFINES/lag_switch.dm

slowmode_cooldown + + + + +

+

Cooldown between say verb uses when slowmode is enabled

trigger_pop + + + + +

+

Amount of connected clients at which the Lag Switch should engage, set via config or admin panel

veto_timer_id + + + + +

+

Timer ID for the automatic veto period

Proc Details

cancel_auto_enable_in_progress +

+

Called from an admin chat link

change_slowmode_cooldown +

+

Update the slowmode timer length and clear existing ones if reduced

set_all_measures +

+

Helper to loop over all measures for mass changes

set_measure +

+

Handle the state change for individual measures

toggle_auto_enable +

+

(En/Dis)able automatic triggering of switches based on client count

+ + + diff --git a/datum/controller/subsystem/library.html b/datum/controller/subsystem/library.html new file mode 100644 index 000000000000..8c39903e461a --- /dev/null +++ b/datum/controller/subsystem/library.html @@ -0,0 +1,78 @@ + + + + + + + /datum/controller/subsystem/library - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

library + + + +

+ + + + + + + + +

Vars

books_by_areaList of book datums that we consider to be "in" any one area.
library_areasList of areas that count as "a library", modified by map config
printable_postersList of poster typepaths we're ok with being printable
search_categoriesList of acceptable search categories for book consoles
shelves_to_loadList of bookselves to prefill with books
upload_categoriesList of acceptable categories for a book to be

Procs

get_area_booksReturns a list of copied book datums that we consider to be "in" the passed in area at roundstart
+

Var Details

books_by_area + + + + +

+

List of book datums that we consider to be "in" any one area.

library_areas + + + + +

+

List of areas that count as "a library", modified by map config

printable_posters + + + + +

+

List of poster typepaths we're ok with being printable

search_categories + + + + +

+

List of acceptable search categories for book consoles

shelves_to_load + + + + +

+

List of bookselves to prefill with books

upload_categories + + + + +

+

List of acceptable categories for a book to be

Proc Details

get_area_books +

+

Returns a list of copied book datums that we consider to be "in" the passed in area at roundstart

+ + + diff --git a/datum/controller/subsystem/mapping.html b/datum/controller/subsystem/mapping.html new file mode 100644 index 000000000000..b16f3e64d0c4 --- /dev/null +++ b/datum/controller/subsystem/mapping.html @@ -0,0 +1,215 @@ + + + + + + + /datum/controller/subsystem/mapping - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mapping + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

adding_new_zlevelTrue when in the process of adding a new Z-level, global locking
biomesAll possible biomes in assoc list as type || instance
gravity_by_zlevelshows the default gravity value for each z level. recalculated when gravity generators change. +List in the form: list(z level num = max generator gravity in that z level OR the gravity level trait)
laterally_linked_zlevelsSame as above but includes lateral connections. Dangerous!
linked_zlevelsList of Z level connections. This is NOT direct connections, Decks 1 and 3 of a ship are "connected", but not directly. Use SSmapping.are_same_zstack()
lists_to_reserveList of lists of turfs to reserve
multiz_levelslist of all z level indices that form multiz connections. multi_zlevels[Z] = TRUE indicates there is an above Z-level.
themed_ruinsList of ruins, separated by their theme
z_listlist of all z level datums in the order of their z (z level 1 is at index 1, etc.)

Procs

add_reservation_zlevelAdds a new reservation z level. A bit of space that can be handed out on request +Of note, reservations default to transit turfs, to make their most common use, shuttles, faster
are_same_zstackChecks if 2 levels are in the same Z-stack.
build_area_turfsIncrement all the z level lists (note: not all yet)
filter_map_optionsTakes a list of map names, returns a list of valid maps.
get_station_centerPrefer not to use this one too often
get_zstackGet a list of Z levels that are in zA's Z-stack.
initialize_biomesInitialize all biomes, assoc as type || instance
initialize_reserved_levelSets up a z level as reserved +This is not for wiping reserved levels, use wipe_reservations() for that. +If this is called after SSatom init, it will call Initialize on all turfs on the passed z, as its name promises
level_has_all_traitsCheck if levels[z] has all of the specified traits
level_has_any_traitCheck if levels[z] has any of the specified traits
level_traitLook up levels[z].traits[trait]
levels_by_any_traitGet a list of all z which have any of the specified traits
levels_by_traitGet a list of all z which have the specified trait
manage_z_levelTakes a z level datum, and tells the mapping subsystem to manage it
reserve_turfsSchedules a group of turfs to be handed back to the reservation system's control +If await is true, will sleep until the turfs are finished work
setup_ruins##setup_ruins
+

Var Details

adding_new_zlevel + + + + +

+

True when in the process of adding a new Z-level, global locking

biomes + + + + +

+

All possible biomes in assoc list as type || instance

gravity_by_zlevel + + + + +

+

shows the default gravity value for each z level. recalculated when gravity generators change. +List in the form: list(z level num = max generator gravity in that z level OR the gravity level trait)

laterally_linked_zlevels + + + + +

+

Same as above but includes lateral connections. Dangerous!

linked_zlevels + + + + +

+

List of Z level connections. This is NOT direct connections, Decks 1 and 3 of a ship are "connected", but not directly. Use SSmapping.are_same_zstack()

lists_to_reserve + + + + +

+

List of lists of turfs to reserve

multiz_levels + + + + +

+

list of all z level indices that form multiz connections. multi_zlevels[Z] = TRUE indicates there is an above Z-level.

themed_ruins + + + + +

+

List of ruins, separated by their theme

z_list + + + + +

+

list of all z level datums in the order of their z (z level 1 is at index 1, etc.)

Proc Details

add_reservation_zlevel +

+

Adds a new reservation z level. A bit of space that can be handed out on request +Of note, reservations default to transit turfs, to make their most common use, shuttles, faster

are_same_zstack +

+

Checks if 2 levels are in the same Z-stack.

build_area_turfs +

+

Increment all the z level lists (note: not all yet)

filter_map_options +

+

Takes a list of map names, returns a list of valid maps.

get_station_center +

+

Prefer not to use this one too often

get_zstack +

+

Get a list of Z levels that are in zA's Z-stack.

initialize_biomes +

+

Initialize all biomes, assoc as type || instance

initialize_reserved_level +

+

Sets up a z level as reserved +This is not for wiping reserved levels, use wipe_reservations() for that. +If this is called after SSatom init, it will call Initialize on all turfs on the passed z, as its name promises

level_has_all_traits +

+

Check if levels[z] has all of the specified traits

level_has_any_trait +

+

Check if levels[z] has any of the specified traits

level_trait +

+

Look up levels[z].traits[trait]

levels_by_any_trait +

+

Get a list of all z which have any of the specified traits

levels_by_trait +

+

Get a list of all z which have the specified trait

manage_z_level +

+

Takes a z level datum, and tells the mapping subsystem to manage it

reserve_turfs +

+

Schedules a group of turfs to be handed back to the reservation system's control +If await is true, will sleep until the turfs are finished work

setup_ruins +

+

##setup_ruins

+

Sets up all of the ruins to be spawned

+ + + diff --git a/datum/controller/subsystem/materials.html b/datum/controller/subsystem/materials.html new file mode 100644 index 000000000000..59b74362cac7 --- /dev/null +++ b/datum/controller/subsystem/materials.html @@ -0,0 +1,193 @@ + + + + + + + /datum/controller/subsystem/materials - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

materials + + + +

+ + + + + + + + + + + + + + + + +

Vars

base_stack_recipesList of stackcrafting recipes for materials using base recipes
material_combosA cache of all material combinations that have been used
materialids_by_categoryDictionary of category || list of material ids, mostly used by rnd machines like autolathes.
materialids_by_typeDictionary of type || list of material ids
materialsDictionary of material.id || material ref
materials_by_categoryDictionary of category || list of material refs
materials_by_typeDictionary of type || list of material refs
rigid_stack_recipesList of stackcrafting recipes for materials using rigid recipes
template_paths_by_rarityBlank versions of all of the mining templates, indexed by rarity.

Procs

FindOrCreateMaterialComboReturns a list to be used as an object's custom_materials. Lists will be cached and re-used based on the parameters.
GetIdFromArgumentsGenerates a unique ID from a list of arguments. Does not support passing in lists.
GetMaterialNameReturns the name of a supplied material datum or reagent ID.
InitializeMaterial
InitializeMaterialsRan on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info)
_GetMaterialRef
+

Var Details

base_stack_recipes + + + + +

+

List of stackcrafting recipes for materials using base recipes

material_combos + + + + +

+

A cache of all material combinations that have been used

materialids_by_category + + + + +

+

Dictionary of category || list of material ids, mostly used by rnd machines like autolathes.

materialids_by_type + + + + +

+

Dictionary of type || list of material ids

materials + + + + +

+

Dictionary of material.id || material ref

materials_by_category + + + + +

+

Dictionary of category || list of material refs

materials_by_type + + + + +

+

Dictionary of type || list of material refs

rigid_stack_recipes + + + + +

+

List of stackcrafting recipes for materials using rigid recipes

template_paths_by_rarity + + + + +

+

Blank versions of all of the mining templates, indexed by rarity.

Proc Details

FindOrCreateMaterialCombo +

+

Returns a list to be used as an object's custom_materials. Lists will be cached and re-used based on the parameters.

GetIdFromArguments +

+

Generates a unique ID from a list of arguments. Does not support passing in lists.

GetMaterialName +

+

Returns the name of a supplied material datum or reagent ID.

InitializeMaterial +

+

InitializeMaterials +

+

Ran on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info)

_GetMaterialRef +

+
+ + + diff --git a/datum/controller/subsystem/media.html b/datum/controller/subsystem/media.html new file mode 100644 index 000000000000..d39d1fa16c55 --- /dev/null +++ b/datum/controller/subsystem/media.html @@ -0,0 +1,82 @@ + + + + + + + /datum/controller/subsystem/media - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

media + + + +

+ + + + + + + + +

Vars

byond_sound_formatsStores all sound formats byond understands.
errored_filesIt's more consistently functional to just store these in a list and tell admins to go digging than log it.
invalid_jsons_existOnly notify admins once per init about invalid jsons
tracks_by_tagMedia definitions grouped by their media_tags, All tracks share the implicit tag all

Procs

decode_or_nullA two-entry list containing the erroring tag, and a reason for the error. +Quarantine proc for json decoding, Has handling code for most reasonable issues with file structure, and can safely die. +Returns -1/MEDIA_LOAD_FAILED on error, a list on success, and null on suicide.
log_load_failLog a failure to load a specific media track, and notify admins.
validate_mediaRun media validation checks. Returns null on success, or a log_load_failure compatible tuple-list on failure.
+

Var Details

byond_sound_formats + + + + +

+

Stores all sound formats byond understands.

errored_files + + + + +

+

It's more consistently functional to just store these in a list and tell admins to go digging than log it.

invalid_jsons_exist + + + + +

+

Only notify admins once per init about invalid jsons

tracks_by_tag + + + + +

+

Media definitions grouped by their media_tags, All tracks share the implicit tag all

Proc Details

decode_or_null +

+

A two-entry list containing the erroring tag, and a reason for the error. +Quarantine proc for json decoding, Has handling code for most reasonable issues with file structure, and can safely die. +Returns -1/MEDIA_LOAD_FAILED on error, a list on success, and null on suicide.

log_load_fail +

+

Log a failure to load a specific media track, and notify admins.

validate_media +

+

Run media validation checks. Returns null on success, or a log_load_failure compatible tuple-list on failure.

+ + + diff --git a/datum/controller/subsystem/mouse_entered.html b/datum/controller/subsystem/mouse_entered.html new file mode 100644 index 000000000000..d357928b4093 --- /dev/null +++ b/datum/controller/subsystem/mouse_entered.html @@ -0,0 +1,36 @@ + + + + + + + /datum/controller/subsystem/mouse_entered - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mouse_entered + + + +

+ + +

Vars

sustained_hoversKeep track of what clients are hovering over. This is used for mouse icon logic.
+

Var Details

sustained_hovers + + + + +

+

Keep track of what clients are hovering over. This is used for mouse icon logic.

+ + + diff --git a/datum/controller/subsystem/move_manager.html b/datum/controller/subsystem/move_manager.html new file mode 100644 index 000000000000..6c21f8c4f90d --- /dev/null +++ b/datum/controller/subsystem/move_manager.html @@ -0,0 +1,250 @@ + + + + + + + /datum/controller/subsystem/move_manager - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

move_manager + + + +

+ + + + + + + + + + + + + + + + +

Procs

add_to_loopAdds a movable thing to a movement subsystem. Returns TRUE if it all worked, FALSE if it failed somehow
force_moveUsed for force-move loops, similar to move_towards_legacy() but not quite the same
force_move_dirLike move(), but we don't care about collision at all
home_ontoHelper proc for homing onto something with move_towards
jps_moveUsed for following jps defined paths. The proc signature here's a bit long, I'm sorry
moveReplacement for walk()
move_awayWrapper around walk_away()
move_disposalsSnowflake disposal movement. Moves a disposal holder along a chain of disposal pipes
move_randHelper proc for the move_rand datum
move_toWrapper around walk_to()
move_to_randWrapper around walk_rand(), doesn't actually result in a random walk, it's more like moving to random places in viewish
move_towardsHelper proc for the move_towards datum
move_towards_legacyWrapper for walk_towards, not reccomended, as it's movement ends up being a bit stilted
processing_onReturns the subsystem's loop if we're processing on it, null otherwise
stop_loopingRemoves the atom from some movement subsystem. Defaults to SSmovement

Proc Details

add_to_loop +

+

Adds a movable thing to a movement subsystem. Returns TRUE if it all worked, FALSE if it failed somehow

force_move +

+

Used for force-move loops, similar to move_towards_legacy() but not quite the same

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

force_move_dir +

+

Like move(), but we don't care about collision at all

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +direction - The direction we want to move in +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

home_onto +

+

Helper proc for homing onto something with move_towards

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +home - Should we move towards the object at all times? Or launch towards them, but allow walls and such to take us off track. Defaults to FALSE +timeout - Time in deci-seconds until the moveloop self expires. Defaults to INFINITY +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

jps_move +

+

Used for following jps defined paths. The proc signature here's a bit long, I'm sorry

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +repath_delay - How often we're allowed to recalculate our path +max_path_length - The maximum number of steps we can take in a given path to search (default: 30, 0 = infinite) +miminum_distance - Minimum distance to the target before path returns, could be used to get near a target, but not right to it - for an AI mob with a gun, for example +id - An ID card representing what access we have and what doors we can open +simulated_only - Whether we consider turfs without atmos simulation (AKA do we want to ignore space) +avoid - If we want to avoid a specific turf, like if we're a mulebot who already got blocked by some turf +skip_first - Whether or not to delete the first item in the path. This would be done because the first item is the starting tile, which can break things +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move +

+

Replacement for walk()

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +direction - The direction we want to move in +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_away +

+

Wrapper around walk_away()

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +max_dist - the furthest away from the target we're allowed to get +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_disposals +

+

Snowflake disposal movement. Moves a disposal holder along a chain of disposal pipes

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_rand +

+

Helper proc for the move_rand datum

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +directions - A list of acceptable directions to try and move in. Defaults to GLOB.alldirs +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_to +

+

Wrapper around walk_to()

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +min_dist - the closest we're allower to get to the target +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_to_rand +

+

Wrapper around walk_rand(), doesn't actually result in a random walk, it's more like moving to random places in viewish

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_towards +

+

Helper proc for the move_towards datum

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +home - Should we move towards the object at all times? Or launch towards them, but allow walls and such to take us off track. Defaults to FALSE +timeout - Time in deci-seconds until the moveloop self expires. Defaults to INFINITY +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_towards_legacy +

+

Wrapper for walk_towards, not reccomended, as it's movement ends up being a bit stilted

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

processing_on +

+

Returns the subsystem's loop if we're processing on it, null otherwise

stop_looping +

+

Removes the atom from some movement subsystem. Defaults to SSmovement

+ + + diff --git a/datum/controller/subsystem/movement.html b/datum/controller/subsystem/movement.html new file mode 100644 index 000000000000..85bec7e9a73d --- /dev/null +++ b/datum/controller/subsystem/movement.html @@ -0,0 +1,71 @@ + + + + + + + /datum/controller/subsystem/movement - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

movement + + + +

+ + + + + + + +

Vars

bucketsAssoc list of "target time" -> list(things to process). Used for quick lookup
canonical_timeThe time we started our last fire at
sorted_bucketsSorted list of list(target time, bucket to process)
visual_delayThe visual delay of the subsystem

Procs

pour_bucketProcesses a bucket of movement loops (This should only ever be called by fire(), it exists to prevent runtime fuckery)
smash_bucketRemoves a bucket from our system. You only need to pass in the time, but if you pass in the index of the list you save us some work
+

Var Details

buckets + + + + +

+

Assoc list of "target time" -> list(things to process). Used for quick lookup

canonical_time + + + + +

+

The time we started our last fire at

sorted_buckets + + + + +

+

Sorted list of list(target time, bucket to process)

visual_delay + + + + +

+

The visual delay of the subsystem

Proc Details

pour_bucket +

+

Processes a bucket of movement loops (This should only ever be called by fire(), it exists to prevent runtime fuckery)

smash_bucket +

+

Removes a bucket from our system. You only need to pass in the time, but if you pass in the index of the list you save us some work

+ + + diff --git a/datum/controller/subsystem/movement/ai_movement.html b/datum/controller/subsystem/movement/ai_movement.html new file mode 100644 index 000000000000..ead53e5acde7 --- /dev/null +++ b/datum/controller/subsystem/movement/ai_movement.html @@ -0,0 +1,36 @@ + + + + + + + /datum/controller/subsystem/movement/ai_movement - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ai_movement + + + +

+ + +

Vars

movement_typesan assoc list of all ai_movement types. Assoc type to instance
+

Var Details

movement_types + + + + +

+

an assoc list of all ai_movement types. Assoc type to instance

+ + + diff --git a/datum/controller/subsystem/networks.html b/datum/controller/subsystem/networks.html new file mode 100644 index 000000000000..dcc79a842663 --- /dev/null +++ b/datum/controller/subsystem/networks.html @@ -0,0 +1,80 @@ + + + + + + + /datum/controller/subsystem/networks - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

networks + + + +

+ + + + + + +

Vars

station_networkLegacy ntnet lookup for software.
used_namesRandom name search for +DO NOT REMOVE NAMES HERE UNLESS YOU KNOW WHAT YOUR DOING

Procs

add_logRecords a message into the station logging system for the network
purge_logsRemoves all station logs for the current game
update_max_log_countUpdates the maximum amount of logs and purges those that go beyond that number
+

Var Details

station_network + + + + +

+

Legacy ntnet lookup for software.

used_names + + + + +

+

Random name search for +DO NOT REMOVE NAMES HERE UNLESS YOU KNOW WHAT YOUR DOING

Proc Details

add_log +

+

Records a message into the station logging system for the network

+

This CAN be read in station by personal so do not use it for game debugging +during fire. At this point data.receiver_id has already been converted if it was a broadcast but +is undefined in this function. It is also dumped to normal logs but remember players can read/intercept +these messages +Arguments:

+

purge_logs +

+

Removes all station logs for the current game

update_max_log_count +

+

Updates the maximum amount of logs and purges those that go beyond that number

+

Shouldn't been needed to be run by players but maybe admins need it? +Arguments:

+
+ + + diff --git a/datum/controller/subsystem/packets.html b/datum/controller/subsystem/packets.html new file mode 100644 index 000000000000..9298a7127225 --- /dev/null +++ b/datum/controller/subsystem/packets.html @@ -0,0 +1,193 @@ + + + + + + + /datum/controller/subsystem/packets - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

packets + + + +

+ + + + + + + + + + + + + + + + + + + + + +

Vars

cached_costTick usage
clownvirus_magic_packetMagic command sent by the Clown Virus to honkify PDAs
current_networksThe current processing lists
detomatix_magic_packetMagic command sent by the Detomatix to cause PDAs to explode
framevirus_magic_packetMagic command sent by the FRAME virus to install an uplink. +Mostly a formality as this packet MUST be obfuscated.
gprs_broadcast_packet@everyone broadcast key
last_processed_radio_packetsAmount of radio packets processed last cycle
last_processed_ssv_packetsAmount of subspace vocal packets processed last cycle
last_processed_tablet_message_packetsAmount of tabletmessage packets processed last cycle
mimevirus_magic_packetMagic command sent by the Mime virus to mute PDAs
pda_exploitable_registerFancy field name to use for virus packets. Randomly picked for flavor and obscurity.
queued_networksAll the physical networks to process
queued_radio_packetsRadio packets to process
queued_subspace_vocalsSubspace/vocal packets to process
stageWhat processing stage we're at

Procs

ImmediatePacketSendNetwork packets +Cycle the packet queue +No packets no problem +This might need [set waitfor = FALSE] alongside a CHECK_TICK +Remove this signal from the queue and see if we're strangling the server +Reset to the first stage +Immediately send a packet to it's target(s). Used for high-importance packets.
_irps_spatialgrid_atmosDo Spatial Grid handling for IRPS, Atmos Radio group. +These are separate to save just that little bit more overhead.
_irps_spatialgrid_everyone_elseDo Spatial Grid handling for IRPS, Non-Atmos Radio group. +These are separate to save just that little bit more overhead.
generate_net_idGenerates a unique (at time of read) ID for an atom, It just plays silly with the ref. +Pass the target atom in as arg[1]
make_radio_sensitiveAdd the respective sensitivity and gridmap membership to a device. +This is here instead of /atom/movable because there's no good reason for them to do it themselves +(and it centralizes all the radio weirdness). Handles the atmos/nonatmos bucket split internally.
+

Var Details

cached_cost + + + + +

+

Tick usage

clownvirus_magic_packet + + + + +

+

Magic command sent by the Clown Virus to honkify PDAs

current_networks + + + + +

+

The current processing lists

detomatix_magic_packet + + + + +

+

Magic command sent by the Detomatix to cause PDAs to explode

framevirus_magic_packet + + + + +

+

Magic command sent by the FRAME virus to install an uplink. +Mostly a formality as this packet MUST be obfuscated.

gprs_broadcast_packet + + + + +

+

@everyone broadcast key

last_processed_radio_packets + + + + +

+

Amount of radio packets processed last cycle

last_processed_ssv_packets + + + + +

+

Amount of subspace vocal packets processed last cycle

last_processed_tablet_message_packets + + + + +

+

Amount of tabletmessage packets processed last cycle

mimevirus_magic_packet + + + + +

+

Magic command sent by the Mime virus to mute PDAs

pda_exploitable_register + + + + +

+

Fancy field name to use for virus packets. Randomly picked for flavor and obscurity.

queued_networks + + + + +

+

All the physical networks to process

queued_radio_packets + + + + +

+

Radio packets to process

queued_subspace_vocals + + + + +

+

Subspace/vocal packets to process

stage + + + + +

+

What processing stage we're at

Proc Details

ImmediatePacketSend +

+

Network packets +Cycle the packet queue +No packets no problem +This might need [set waitfor = FALSE] alongside a CHECK_TICK +Remove this signal from the queue and see if we're strangling the server +Reset to the first stage +Immediately send a packet to it's target(s). Used for high-importance packets.

_irps_spatialgrid_atmos +

+

Do Spatial Grid handling for IRPS, Atmos Radio group. +These are separate to save just that little bit more overhead.

_irps_spatialgrid_everyone_else +

+

Do Spatial Grid handling for IRPS, Non-Atmos Radio group. +These are separate to save just that little bit more overhead.

generate_net_id +

+

Generates a unique (at time of read) ID for an atom, It just plays silly with the ref. +Pass the target atom in as arg[1]

make_radio_sensitive +

+

Add the respective sensitivity and gridmap membership to a device. +This is here instead of /atom/movable because there's no good reason for them to do it themselves +(and it centralizes all the radio weirdness). Handles the atmos/nonatmos bucket split internally.

+ + + diff --git a/datum/controller/subsystem/pai.html b/datum/controller/subsystem/pai.html new file mode 100644 index 000000000000..08f017ef13e4 --- /dev/null +++ b/datum/controller/subsystem/pai.html @@ -0,0 +1,119 @@ + + + + + + + /datum/controller/subsystem/pai - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pai + + + +

+ + + + + + + + + + + + +

Vars

candidatesList of pAI candidates, including those not submitted.
pai_card_listAll pAI cards on the map.
request_spamPrevents a crew member from hitting "request pAI"
submit_spamPrevents a pAI from submitting itself repeatedly and sounding an alert.

Procs

check_candidateThe matching candidate from search +Finds the candidate in question from the list of candidates.
check_readyChecks if a candidate is ready so that they may be displayed in the pAI +card's candidate window
findPAIPings ghosts to announce that someone is requesting a pAI
recruitWindowThis is the primary window proc when the pAI candidate +hud menu is pressed by observers.
submit_alertFinds a matching candidate. +Pings all pAI cards on the station that new candidates are available.
ui_actThe matching candidate from search
ui_stateSearches for a previous candidate upon opening the menu
+

Var Details

candidates + + + + +

+

List of pAI candidates, including those not submitted.

pai_card_list + + + + +

+

All pAI cards on the map.

request_spam + + + + +

+

Prevents a crew member from hitting "request pAI"

submit_spam + + + + +

+

Prevents a pAI from submitting itself repeatedly and sounding an alert.

Proc Details

check_candidate +

+

The matching candidate from search +Finds the candidate in question from the list of candidates.

check_ready +

+

Checks if a candidate is ready so that they may be displayed in the pAI +card's candidate window

findPAI +

+

Pings ghosts to announce that someone is requesting a pAI

+

Arguments +@pai - The card requesting assistance +@user - The player requesting a pAI

recruitWindow +

+

This is the primary window proc when the pAI candidate +hud menu is pressed by observers.

+

Arguments +@user - The ghost doing the pressing.

submit_alert +

+

Finds a matching candidate. +Pings all pAI cards on the station that new candidates are available.

ui_act +

+

The matching candidate from search

ui_state +

+

Searches for a previous candidate upon opening the menu

+ + + diff --git a/datum/controller/subsystem/pathfinder.html b/datum/controller/subsystem/pathfinder.html new file mode 100644 index 000000000000..4f96d8ca8baf --- /dev/null +++ b/datum/controller/subsystem/pathfinder.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/pathfinder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pathfinder + + + +

+ + + + +

Vars

active_pathingList of pathfind datums we are currently trying to process
currentrunList of pathfind datums being ACTIVELY processed. exists to make subsystem stats readable

Procs

pathfindInitiates a pathfind. Returns true if we're good, FALSE if something's failed
+

Var Details

active_pathing + + + + +

+

List of pathfind datums we are currently trying to process

currentrun + + + + +

+

List of pathfind datums being ACTIVELY processed. exists to make subsystem stats readable

Proc Details

pathfind +

+

Initiates a pathfind. Returns true if we're good, FALSE if something's failed

+ + + diff --git a/datum/controller/subsystem/persistence.html b/datum/controller/subsystem/persistence.html new file mode 100644 index 000000000000..494ebc3f13a6 --- /dev/null +++ b/datum/controller/subsystem/persistence.html @@ -0,0 +1,71 @@ + + + + + + + /datum/controller/subsystem/persistence - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

persistence + + + +

+ + + + + + + +

Vars

prison_tattoos_to_savetattoo stories that we're saving.
prison_tattoos_to_usetattoo stories that have been selected for this round.
wall_engravingsinstantiated wall engraving components

Procs

RemovePhotoFrameRemoves the identifier of a persitent photo frame from the json.
update_prisoner_tattoosThis proc can update entries if the format has changed at some point.
update_wall_engravingsThis proc can update entries if the format has changed at some point.
+

Var Details

prison_tattoos_to_save + + + + +

+

tattoo stories that we're saving.

prison_tattoos_to_use + + + + +

+

tattoo stories that have been selected for this round.

wall_engravings + + + + +

+

instantiated wall engraving components

Proc Details

RemovePhotoFrame +

+

Removes the identifier of a persitent photo frame from the json.

update_prisoner_tattoos +

+

This proc can update entries if the format has changed at some point.

update_wall_engravings +

+

This proc can update entries if the format has changed at some point.

+ + + diff --git a/datum/controller/subsystem/persistent_paintings.html b/datum/controller/subsystem/persistent_paintings.html new file mode 100644 index 000000000000..4a556322ab95 --- /dev/null +++ b/datum/controller/subsystem/persistent_paintings.html @@ -0,0 +1,122 @@ + + + + + + + /datum/controller/subsystem/persistent_paintings - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

persistent_paintings + + + +

+ + + + + + + + + + + + + +

Vars

admin_painting_dataA list of paintings' data for paintings that are currently stored in the library, with admin metadata
cached_painting_dataA list of paintings' data for paintings that are currently stored in the library.
deleted_paintings_md5sHashes of paintings deleted this round
frame_types_by_patronage_tierThe list of available frame reskins (they are purely cosmetic) and the associated patronage amount required for them.
painting_framesA list of painting frames that this controls
paintingsA list of /datum/paintings saved or ready to be saved this round.

Procs

get_available_framesreturns a list of cosmetic frames which patronage tier values are are within credit_value. +If only_current_tier is TRUE, the list will be populated only by the ones from the highest tier.
get_paintings_with_tagReturns paintings with given tag.
painting_ui_dataGenerates painting data ready to be consumed by ui. +Args:
save_paintingsSaves all persistent paintings
save_to_fileSaves all currently tracked painting data to file
update_formatUpdates paintings data format to latest if necessary
+

Var Details

admin_painting_data + + + + +

+

A list of paintings' data for paintings that are currently stored in the library, with admin metadata

cached_painting_data + + + + +

+

A list of paintings' data for paintings that are currently stored in the library.

deleted_paintings_md5s + + + + +

+

Hashes of paintings deleted this round

frame_types_by_patronage_tier + + + + +

+

The list of available frame reskins (they are purely cosmetic) and the associated patronage amount required for them.

painting_frames + + + + +

+

A list of painting frames that this controls

paintings + + + + +

+

A list of /datum/paintings saved or ready to be saved this round.

Proc Details

get_available_frames +

+

returns a list of cosmetic frames which patronage tier values are are within credit_value. +If only_current_tier is TRUE, the list will be populated only by the ones from the highest tier.

get_paintings_with_tag +

+

Returns paintings with given tag.

painting_ui_data +

+

Generates painting data ready to be consumed by ui. +Args:

+

save_paintings +

+

Saves all persistent paintings

save_to_file +

+

Saves all currently tracked painting data to file

update_format +

+

Updates paintings data format to latest if necessary

+ + + diff --git a/datum/controller/subsystem/points_of_interest.html b/datum/controller/subsystem/points_of_interest.html new file mode 100644 index 000000000000..14271e0d31d7 --- /dev/null +++ b/datum/controller/subsystem/points_of_interest.html @@ -0,0 +1,133 @@ + + + + + + + /datum/controller/subsystem/points_of_interest - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

points_of_interest + + + +

+ + + + + + + + + + + + + + +

Vars

mob_points_of_interestList of mob POIs. This list is automatically sorted.
narsiesSpecial helper list to track any Nar'sies.
other_points_of_interestList of non-mob POIs. This list is automatically sorted.
points_of_interest_by_target_refList of all value:POI datums by their key:target refs.
real_nuclear_disksSpecial helper list of all real nuke disks.

Procs

get_mob_poisReturns a list of mob POIs with names as keys and mobs as values.
get_other_poisReturns a list of non-mob POIs with names as keys and atoms as values.
get_poi_atom_by_refIf there is a valid POI for a given reference, it returns that POI's associated atom. Otherwise, it returns null.
is_valid_poiReturns TRUE if potential_poi has an associated poi_datum that validates.
make_point_of_interestTurns new_poi into a new point of interest by adding the /datum/element/point_of_interest element to it.
on_poi_element_addedCalled by /datum/element/point_of_interest when it gets removed from old_poi.
on_poi_element_removedCalled by /datum/element/point_of_interest when it gets removed from old_poi.
remove_point_of_interestStops old_poi from being a point of interest by removing the /datum/element/point_of_interest element from it.
+

Var Details

mob_points_of_interest + + + + +

+

List of mob POIs. This list is automatically sorted.

narsies + + + + +

+

Special helper list to track any Nar'sies.

other_points_of_interest + + + + +

+

List of non-mob POIs. This list is automatically sorted.

points_of_interest_by_target_ref + + + + +

+

List of all value:POI datums by their key:target refs.

real_nuclear_disks + + + + +

+

Special helper list of all real nuke disks.

Proc Details

get_mob_pois +

+

Returns a list of mob POIs with names as keys and mobs as values.

+

If multiple POIs have the same name, then avoid_assoc_duplicate_keys is used alongside used_name_list to +tag them as Mob Name (1), Mob Name (2), Mob Name (3) etc.

+

Arguments:

+

get_other_pois +

+

Returns a list of non-mob POIs with names as keys and atoms as values.

+

If multiple POIs have the same name, then avoid_assoc_duplicate_keys is used alongside used_name_list to +tag them as Object Name (1), Object Name (2), Object Name (3) etc.

+

Arguments:

+

get_poi_atom_by_ref +

+

If there is a valid POI for a given reference, it returns that POI's associated atom. Otherwise, it returns null.

is_valid_poi +

+

Returns TRUE if potential_poi has an associated poi_datum that validates.

make_point_of_interest +

+

Turns new_poi into a new point of interest by adding the /datum/element/point_of_interest element to it.

on_poi_element_added +

+

Called by /datum/element/point_of_interest when it gets removed from old_poi.

on_poi_element_removed +

+

Called by /datum/element/point_of_interest when it gets removed from old_poi.

remove_point_of_interest +

+

Stops old_poi from being a point of interest by removing the /datum/element/point_of_interest element from it.

+ + + diff --git a/datum/controller/subsystem/processing/ai_behaviors.html b/datum/controller/subsystem/processing/ai_behaviors.html new file mode 100644 index 000000000000..e9bfaa888c1b --- /dev/null +++ b/datum/controller/subsystem/processing/ai_behaviors.html @@ -0,0 +1,36 @@ + + + + + + + /datum/controller/subsystem/processing/ai_behaviors - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ai_behaviors + + + +

+ + +

Vars

ai_behaviorsList of all ai_behavior singletons, key is the typepath while assigned value is a newly created instance of the typepath. See SetupAIBehaviors()
+

Var Details

ai_behaviors + + + + +

+

List of all ai_behavior singletons, key is the typepath while assigned value is a newly created instance of the typepath. See SetupAIBehaviors()

+ + + diff --git a/datum/controller/subsystem/processing/dcs.html b/datum/controller/subsystem/processing/dcs.html new file mode 100644 index 000000000000..db6beb249c30 --- /dev/null +++ b/datum/controller/subsystem/processing/dcs.html @@ -0,0 +1,48 @@ + + + + + + + /datum/controller/subsystem/processing/dcs - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

dcs + + + +

+ + + +

Procs

GetIdFromArgumentsGenerates an id for bespoke elements when given the argument list +Generating the id here is a bit complex because we need to support named arguments +Named arguments can appear in any order and we need them to appear after ordered arguments +We assume that no one will pass in a named argument with a value of null
rotate_decalsRemove old decals and apply new decals after rotation as necessary

Proc Details

GetIdFromArguments +

+

Generates an id for bespoke elements when given the argument list +Generating the id here is a bit complex because we need to support named arguments +Named arguments can appear in any order and we need them to appear after ordered arguments +We assume that no one will pass in a named argument with a value of null

rotate_decals +

+

Remove old decals and apply new decals after rotation as necessary

+ + + diff --git a/datum/controller/subsystem/processing/instruments.html b/datum/controller/subsystem/processing/instruments.html new file mode 100644 index 000000000000..2c401729ffe4 --- /dev/null +++ b/datum/controller/subsystem/processing/instruments.html @@ -0,0 +1,85 @@ + + + + + + + /datum/controller/subsystem/processing/instruments - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

instruments + + + +

+ + + + + + + + + +

Vars

current_instrument_channelsCurrent number of channels allocated for instruments
instrument_dataList of all instrument data, associative id = datum
max_instrument_channelsMaximum instrument channels total instruments are allowed to use. This is so you don't have instruments deadlocking all sound channels.
musician_hearcheck_mindelayDeciseconds between hearchecks. Too high and instruments seem to lag when people are moving around in terms of who can hear it. Too low and the server lags from this.
musician_maxlinecharsMax characters per line in songs
musician_maxlinesMax lines in songs
songsList of all song datums.
synthesizer_instrument_idsSingle cached list for synthesizer instrument ids, so you don't have to have a new list with every synthesizer.
+

Var Details

current_instrument_channels + + + + +

+

Current number of channels allocated for instruments

instrument_data + + + + +

+

List of all instrument data, associative id = datum

max_instrument_channels + + + + +

+

Maximum instrument channels total instruments are allowed to use. This is so you don't have instruments deadlocking all sound channels.

musician_hearcheck_mindelay + + + + +

+

Deciseconds between hearchecks. Too high and instruments seem to lag when people are moving around in terms of who can hear it. Too low and the server lags from this.

musician_maxlinechars + + + + +

+

Max characters per line in songs

musician_maxlines + + + + +

+

Max lines in songs

songs + + + + +

+

List of all song datums.

synthesizer_instrument_ids + + + + +

+

Single cached list for synthesizer instrument ids, so you don't have to have a new list with every synthesizer.

+ + + diff --git a/datum/controller/subsystem/processing/quirks.html b/datum/controller/subsystem/processing/quirks.html new file mode 100644 index 000000000000..49d08c789ad0 --- /dev/null +++ b/datum/controller/subsystem/processing/quirks.html @@ -0,0 +1,70 @@ + + + + + + + /datum/controller/subsystem/processing/quirks - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

quirks + + + +

+ + + + + + +

Vars

quirk_blacklistA list of quirks that can not be used with each other.
quirksAssociative list of "name" = /path/ of quirks
sorted_quirksSame as the above but sorted by the quirk cmp

Procs

filter_invalid_quirksTakes a list of quirk names and returns a new list of quirks that would +be valid. +If no changes need to be made, will return the same list. +Expects all quirk names to be unique, but makes no other expectations.
get_quirksReturns the list of possible quirks
+

Var Details

quirk_blacklist + + + + +

+

A list of quirks that can not be used with each other.

quirks + + + + +

+

Associative list of "name" = /path/ of quirks

sorted_quirks + + + + +

+

Same as the above but sorted by the quirk cmp

Proc Details

filter_invalid_quirks +

+

Takes a list of quirk names and returns a new list of quirks that would +be valid. +If no changes need to be made, will return the same list. +Expects all quirk names to be unique, but makes no other expectations.

get_quirks +

+

Returns the list of possible quirks

+ + + diff --git a/datum/controller/subsystem/processing/reagents.html b/datum/controller/subsystem/processing/reagents.html new file mode 100644 index 000000000000..24598011f789 --- /dev/null +++ b/datum/controller/subsystem/processing/reagents.html @@ -0,0 +1,78 @@ + + + + + + + /datum/controller/subsystem/processing/reagents - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

reagents + + + +

+ + + + + + + + +

Vars

chemical_reactions_listList of all /datum/chemical_reaction datums indexed by their typepath. Use this for general lookup stuff
chemical_reactions_list_product_indexList of all /datum/chemical_reaction datums. Used for the reaction lookup UI. Indexed by PRODUCT type
chemical_reactions_list_reactant_indexList of all /datum/chemical_reaction datums. Used during chemical reactions. Indexed by REACTANT types
chemical_reactions_results_lookup_listList of all reactions with their associated product and result ids. Used for reaction lookups
chemical_reagents_listList of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff
previous_world_timeWhat time was it when we last ticked

Procs

init_chemical_reagent_listInitialises all /datum/reagent into a list indexed by reagent id
+

Var Details

chemical_reactions_list + + + + +

+

List of all /datum/chemical_reaction datums indexed by their typepath. Use this for general lookup stuff

chemical_reactions_list_product_index + + + + +

+

List of all /datum/chemical_reaction datums. Used for the reaction lookup UI. Indexed by PRODUCT type

chemical_reactions_list_reactant_index + + + + +

+

List of all /datum/chemical_reaction datums. Used during chemical reactions. Indexed by REACTANT types

chemical_reactions_results_lookup_list + + + + +

+

List of all reactions with their associated product and result ids. Used for reaction lookups

chemical_reagents_list + + + + +

+

List of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff

previous_world_time + + + + +

+

What time was it when we last ticked

Proc Details

init_chemical_reagent_list +

+

Initialises all /datum/reagent into a list indexed by reagent id

+ + + diff --git a/datum/controller/subsystem/processing/station.html b/datum/controller/subsystem/processing/station.html new file mode 100644 index 000000000000..b6ee325ce436 --- /dev/null +++ b/datum/controller/subsystem/processing/station.html @@ -0,0 +1,71 @@ + + + + + + + /datum/controller/subsystem/processing/station - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

station + + + +

+ + + + + + + +

Vars

announcerCurrently active announcer. Starts as a type but gets initialized after traits are selected
selectable_traits_by_typesAssoc list of trait type || assoc list of traits with weighted value. Used for picking traits from a specific category.
station_traitsA list of currently active station traits

Procs

SetupTraitsRolls for the amount of traits and adds them to the traits list
pick_traitsPicks traits of a specific category (e.g. bad or good) and a specified amount, then initializes them and adds them to the list of traits.
setup_traitCreates a given trait of a specific type, while also removing any blacklisted ones from the future pool.
+

Var Details

announcer + + + + +

+

Currently active announcer. Starts as a type but gets initialized after traits are selected

selectable_traits_by_types + + + + +

+

Assoc list of trait type || assoc list of traits with weighted value. Used for picking traits from a specific category.

station_traits + + + + +

+

A list of currently active station traits

Proc Details

SetupTraits +

+

Rolls for the amount of traits and adds them to the traits list

pick_traits +

+

Picks traits of a specific category (e.g. bad or good) and a specified amount, then initializes them and adds them to the list of traits.

setup_trait +

+

Creates a given trait of a specific type, while also removing any blacklisted ones from the future pool.

+ + + diff --git a/datum/controller/subsystem/processing/tramprocess.html b/datum/controller/subsystem/processing/tramprocess.html new file mode 100644 index 000000000000..6c0c079eefbd --- /dev/null +++ b/datum/controller/subsystem/processing/tramprocess.html @@ -0,0 +1,59 @@ + + + + + + + /datum/controller/subsystem/processing/tramprocess - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tramprocess + + + +

+ + + + + +

Vars

can_fireonly used on maps with trams, so only enabled by such.
max_cheap_moveshow many times the tram can move costing less than half max_time milliseconds before we speed it back up again. +is only used if the tram has been slowed down for exceeding max_time
max_exceeding_moveshow many times the tram can move costing over max_time milliseconds before it gets slowed down
max_timehow much time a tram can take per movement before we notify admins and slow down the tram. in milliseconds
+

Var Details

can_fire + + + + +

+

only used on maps with trams, so only enabled by such.

max_cheap_moves + + + + +

+

how many times the tram can move costing less than half max_time milliseconds before we speed it back up again. +is only used if the tram has been slowed down for exceeding max_time

max_exceeding_moves + + + + +

+

how many times the tram can move costing over max_time milliseconds before it gets slowed down

max_time + + + + +

+

how much time a tram can take per movement before we notify admins and slow down the tram. in milliseconds

+ + + diff --git a/datum/controller/subsystem/radiation.html b/datum/controller/subsystem/radiation.html new file mode 100644 index 000000000000..37a7ed352604 --- /dev/null +++ b/datum/controller/subsystem/radiation.html @@ -0,0 +1,61 @@ + + + + + + + /datum/controller/subsystem/radiation - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

radiation + + + +

+ + + + + +

Vars

processingA list of radiation sources (/datum/radiation_pulse_information) that have yet to process. +Do not interact with this directly, use radiation_pulse instead.

Procs

can_irradiate_basicReturns whether or not the target can be irradiated by any means. +Does not check for clothing.
irradiateWill attempt to irradiate the given target, limited through IC means, such as radiation protected clothing.
wearing_rad_protected_clothingReturns whether or not the human is covered head to toe in rad-protected clothing.
+

Var Details

processing + + + + +

+

A list of radiation sources (/datum/radiation_pulse_information) that have yet to process. +Do not interact with this directly, use radiation_pulse instead.

Proc Details

can_irradiate_basic +

+

Returns whether or not the target can be irradiated by any means. +Does not check for clothing.

irradiate +

+

Will attempt to irradiate the given target, limited through IC means, such as radiation protected clothing.

wearing_rad_protected_clothing +

+

Returns whether or not the human is covered head to toe in rad-protected clothing.

+ + + diff --git a/datum/controller/subsystem/restaurant.html b/datum/controller/subsystem/restaurant.html new file mode 100644 index 000000000000..d135241dcd53 --- /dev/null +++ b/datum/controller/subsystem/restaurant.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/restaurant - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

restaurant + + + +

+ + + + +

Vars

all_customersAll customer data datums that exist, assoc list of type - reference
all_venuesAll venues that exist, assoc list of type - reference
food_appearance_cacheCaches appearances of food, assoc list where key is the type of food, and value is the appearance. Used so we don't have to keep creating new food. Gets filled whenever a new food that hasn't been ordered gets ordered for the first time.
+

Var Details

all_customers + + + + +

+

All customer data datums that exist, assoc list of type - reference

all_venues + + + + +

+

All venues that exist, assoc list of type - reference

food_appearance_cache + + + + +

+

Caches appearances of food, assoc list where key is the type of food, and value is the appearance. Used so we don't have to keep creating new food. Gets filled whenever a new food that hasn't been ordered gets ordered for the first time.

+ + + diff --git a/datum/controller/subsystem/security_level.html b/datum/controller/subsystem/security_level.html new file mode 100644 index 000000000000..5beab74fb82d --- /dev/null +++ b/datum/controller/subsystem/security_level.html @@ -0,0 +1,47 @@ + + + + + + + /datum/controller/subsystem/security_level - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

security_level + + + +

+ + + +

Vars

current_levelCurrently set security level

Procs

set_levelSets a new security level as our current level
+

Var Details

current_level + + + + +

+

Currently set security level

Proc Details

set_level +

+

Sets a new security level as our current level

+

Arguments:

+
+ + + diff --git a/datum/controller/subsystem/server_maint.html b/datum/controller/subsystem/server_maint.html new file mode 100644 index 000000000000..b52863b48ebf --- /dev/null +++ b/datum/controller/subsystem/server_maint.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/server_maint - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

server_maint + + + +

+ + + +

Vars

delayDelay between list clearings in ticks
lists_to_clearAssociated list of list names to lists to clear of nulls
+

Var Details

delay + + + + +

+

Delay between list clearings in ticks

lists_to_clear + + + + +

+

Associated list of list names to lists to clear of nulls

+ + + diff --git a/datum/controller/subsystem/shuttle.html b/datum/controller/subsystem/shuttle.html new file mode 100644 index 000000000000..31a3453ebfac --- /dev/null +++ b/datum/controller/subsystem/shuttle.html @@ -0,0 +1,385 @@ + + + + + + + /datum/controller/subsystem/shuttle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

shuttle + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

admin_emergency_no_recallDid admins force-prevent the recall of the shuttle?
arrivalsThe mobile docking port of the arrivals shuttle.
assoc_mobileNow it's only for ID generation in /obj/docking_port/mobile/register()
assoc_stationaryNow it's only for ID generation in /obj/docking_port/stationary/register()
backup_shuttleThe mobile docking port of the backup emergency shuttle.
beacon_listA list of all the beacons that can be docked to.
centcom_messageRemarks from CentCom on how well you checked the last order.
chef_groceriesQueued supplies to be purchased for the chef.
discovered_plantsTypepaths for unusual plants we've already sent CentCom, associated with their potencies.
emergencyEmergency shuttle stuff +The mobile docking port of the emergency shuttle.
emergencyCallAmountHow many times was the escape shuttle called?
emergency_call_timeTime taken for emergency shuttle to reach the station when called (in deciseconds).
emergency_dock_timeTime taken for emergency shuttle to leave again once it has docked (in deciseconds).
emergency_escape_timeTime taken for emergency shuttle to reach a safe distance after leaving station (in deciseconds).
emergency_last_call_locWhere was the emergency shuttle last called from?
emergency_no_escapeIs the departure of the shuttle currently prevented? FALSE for no, any other number for yes (thanks shuttle code).
emergency_no_recallDo we prevent the recall of the shuttle?
existing_shuttleThe existing shuttle associated with the selected shuttle map_template.
has_purchase_shuttle_accessA list of job accesses that are able to purchase any shuttles.
hidden_shuttle_turf_imagesOnly the images from the /datum/controller/subsystem/shuttle/hidden_shuttle_turfs list.
hidden_shuttle_turfsAll turfs hidden from navigation computers associated with a list containing the image hiding them and the type of the turf they are pretending to be
hostile_environmentsThings blocking escape shuttle from leaving.
last_call_timePrevious time left to the call, only useful for disabling and re-enabling the shuttle for admins so it doesn't have to start the whole timer again.
last_modePrevious mode of the shuttle before it was forcefully disabled by admins.
lockdownDisallow transit after nuke goes off
mobile_docking_portsA list of all the mobile docking ports.
order_historyA listing of previously delivered supply packs.
order_numberOrder number given to next order.
pointsNumber of trade-points we have (basically money).
preview_reservationThe turf reservation for the current previewed shuttle.
preview_shuttleThe docking port associated to the preview_template that's currently being previewed.
preview_templateThe shuttle map_template of the shuttle we want to preview.
request_listWishlist items made by crew for cargo to purchase at their leisure.
selectedThe currently selected shuttle map_template in the shuttle manipulator's template viewer.
shopping_listQueued supply packs to be purchased.
shuttle_insuranceIf the event happens where the crew can purchase shuttle insurance, catastrophe can't run.
shuttle_loadingAre we currently in the process of loading a shuttle? Useful to ensure we don't load more than one at once, to avoid weird inconsistencies and possible runtimes.
shuttle_loanThe current shuttle loan event, if any.
shuttle_purchase_requirements_metFor keeping track of ingame events that would unlock new shuttles, such as defeating a boss or discovering a secret item.
stationary_docking_portsA list of all the stationary docking ports.
supplySupply shuttle stuff +The current cargo shuttle's mobile docking port.
supply_blockedIs the cargo shuttle currently blocked from leaving?
supply_packsAll of the possible supply packs that can be purchased by cargo.
trade_blockadeThings blocking the cargo shuttle from leaving.
transit_docking_portsA list of all the transit docking ports.
transit_request_failuresAn associative list of the mobile docking ports that have failed a transit request, with the amount of times they've actually failed that transit request, up to MAX_TRANSIT_REQUEST_RETRIES
transit_requestersA list of all the mobile docking ports currently requesting a spot in hyperspace.
transit_utilizedHow many turfs our shuttles are currently utilizing in reservation space

Procs

canEvacCheck if we can call the evac shuttle. +Returns TRUE if we can. Otherwise, returns a string detailing the problem.
transit_space_clearingGotta manage our space brother
+

Var Details

admin_emergency_no_recall + + + + +

+

Did admins force-prevent the recall of the shuttle?

arrivals + + + + +

+

The mobile docking port of the arrivals shuttle.

assoc_mobile + + + + +

+

Now it's only for ID generation in /obj/docking_port/mobile/register()

assoc_stationary + + + + +

+

Now it's only for ID generation in /obj/docking_port/stationary/register()

backup_shuttle + + + + +

+

The mobile docking port of the backup emergency shuttle.

beacon_list + + + + +

+

A list of all the beacons that can be docked to.

centcom_message + + + + +

+

Remarks from CentCom on how well you checked the last order.

chef_groceries + + + + +

+

Queued supplies to be purchased for the chef.

discovered_plants + + + + +

+

Typepaths for unusual plants we've already sent CentCom, associated with their potencies.

emergency + + + + +

+

Emergency shuttle stuff +The mobile docking port of the emergency shuttle.

emergencyCallAmount + + + + +

+

How many times was the escape shuttle called?

emergency_call_time + + + + +

+

Time taken for emergency shuttle to reach the station when called (in deciseconds).

emergency_dock_time + + + + +

+

Time taken for emergency shuttle to leave again once it has docked (in deciseconds).

emergency_escape_time + + + + +

+

Time taken for emergency shuttle to reach a safe distance after leaving station (in deciseconds).

emergency_last_call_loc + + + + +

+

Where was the emergency shuttle last called from?

emergency_no_escape + + + + +

+

Is the departure of the shuttle currently prevented? FALSE for no, any other number for yes (thanks shuttle code).

emergency_no_recall + + + + +

+

Do we prevent the recall of the shuttle?

existing_shuttle + + + + +

+

The existing shuttle associated with the selected shuttle map_template.

has_purchase_shuttle_access + + + + +

+

A list of job accesses that are able to purchase any shuttles.

hidden_shuttle_turf_images + + + + +

+

Only the images from the /datum/controller/subsystem/shuttle/hidden_shuttle_turfs list.

hidden_shuttle_turfs + + + + +

+

All turfs hidden from navigation computers associated with a list containing the image hiding them and the type of the turf they are pretending to be

hostile_environments + + + + +

+

Things blocking escape shuttle from leaving.

last_call_time + + + + +

+

Previous time left to the call, only useful for disabling and re-enabling the shuttle for admins so it doesn't have to start the whole timer again.

last_mode + + + + +

+

Previous mode of the shuttle before it was forcefully disabled by admins.

lockdown + + + + +

+

Disallow transit after nuke goes off

mobile_docking_ports + + + + +

+

A list of all the mobile docking ports.

order_history + + + + +

+

A listing of previously delivered supply packs.

order_number + + + + +

+

Order number given to next order.

points + + + + +

+

Number of trade-points we have (basically money).

preview_reservation + + + + +

+

The turf reservation for the current previewed shuttle.

preview_shuttle + + + + +

+

The docking port associated to the preview_template that's currently being previewed.

preview_template + + + + +

+

The shuttle map_template of the shuttle we want to preview.

request_list + + + + +

+

Wishlist items made by crew for cargo to purchase at their leisure.

selected + + + + +

+

The currently selected shuttle map_template in the shuttle manipulator's template viewer.

shopping_list + + + + +

+

Queued supply packs to be purchased.

shuttle_insurance + + + + +

+

If the event happens where the crew can purchase shuttle insurance, catastrophe can't run.

shuttle_loading + + + + +

+

Are we currently in the process of loading a shuttle? Useful to ensure we don't load more than one at once, to avoid weird inconsistencies and possible runtimes.

shuttle_loan + + + + +

+

The current shuttle loan event, if any.

shuttle_purchase_requirements_met + + + + +

+

For keeping track of ingame events that would unlock new shuttles, such as defeating a boss or discovering a secret item.

stationary_docking_ports + + + + +

+

A list of all the stationary docking ports.

supply + + + + +

+

Supply shuttle stuff +The current cargo shuttle's mobile docking port.

supply_blocked + + + + +

+

Is the cargo shuttle currently blocked from leaving?

supply_packs + + + + +

+

All of the possible supply packs that can be purchased by cargo.

trade_blockade + + + + +

+

Things blocking the cargo shuttle from leaving.

transit_docking_ports + + + + +

+

A list of all the transit docking ports.

transit_request_failures + + + + +

+

An associative list of the mobile docking ports that have failed a transit request, with the amount of times they've actually failed that transit request, up to MAX_TRANSIT_REQUEST_RETRIES

transit_requesters + + + + +

+

A list of all the mobile docking ports currently requesting a spot in hyperspace.

transit_utilized + + + + +

+

How many turfs our shuttles are currently utilizing in reservation space

Proc Details

canEvac +

+

Check if we can call the evac shuttle. +Returns TRUE if we can. Otherwise, returns a string detailing the problem.

transit_space_clearing +

+

Gotta manage our space brother

+ + + diff --git a/datum/controller/subsystem/skills.html b/datum/controller/subsystem/skills.html new file mode 100644 index 000000000000..309a98b2343c --- /dev/null +++ b/datum/controller/subsystem/skills.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/skills - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

skills + + + +

+ + + + +

Vars

all_skillsDictionary of skill.type || skill ref
level_namesList of level names with index corresponding to skill level

Procs

InitializeSkillsRan on initialize, populates the skills dictionary
+

Var Details

all_skills + + + + +

+

Dictionary of skill.type || skill ref

level_names + + + + +

+

List of level names with index corresponding to skill level

Proc Details

InitializeSkills +

+

Ran on initialize, populates the skills dictionary

+ + + diff --git a/datum/controller/subsystem/sounds.html b/datum/controller/subsystem/sounds.html new file mode 100644 index 000000000000..9f13809c9f45 --- /dev/null +++ b/datum/controller/subsystem/sounds.html @@ -0,0 +1,148 @@ + + + + + + + /datum/controller/subsystem/sounds - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

sounds + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

channel_listList of all channels as numbers
channel_random_lowlower iteration position - Incremented and looped to get "random" sound channels for normal sounds. The channel at this index is returned when asking for a random channel.
channel_reserve_highhigher reserve position - decremented and incremented to reserve sound channels, anything above this is reserved. The channel at this index is the highest unreserved channel.
random_channels_minAmount of channels to reserve for random usage rather than reservations being allowed to reserve all channels. Also a nice safeguard for when someone screws up.
reserved_channelsAssociative list of all reserved channels associated to their position. "[channel_number]" = index as number
using_channelsAssoc list, "[channel]" = either the datum using it or TRUE for an unsafe-reserved (datumless reservation) channel
using_channels_by_datumAssoc list datum = list(channel1, channel2, ...) for what channels something reserved.

Procs

available_channels_leftHow many channels we have left.
free_channelFrees a channel and updates the datastructure. Private proc.
free_datum_channelsFrees all the channels a datum is using.
free_datumless_channelsFrees all datumless channels
free_sound_channelRemoves a channel from using list.
random_available_channelRandom available channel, returns number
random_available_channel_textRandom available channel, returns text.
reserve_channelReserves a channel and updates the datastructure. Private proc.
reserve_sound_channelReserves a channel for a datum. Automatic cleanup only when the datum is deleted. Returns an integer for channel.
reserve_sound_channel_datumlessNO AUTOMATIC CLEANUP - If you use this, you better manually free it later! Returns an integer for channel.
+

Var Details

channel_list + + + + +

+

List of all channels as numbers

channel_random_low + + + + +

+

lower iteration position - Incremented and looped to get "random" sound channels for normal sounds. The channel at this index is returned when asking for a random channel.

channel_reserve_high + + + + +

+

higher reserve position - decremented and incremented to reserve sound channels, anything above this is reserved. The channel at this index is the highest unreserved channel.

random_channels_min + + + + +

+

Amount of channels to reserve for random usage rather than reservations being allowed to reserve all channels. Also a nice safeguard for when someone screws up.

reserved_channels + + + + +

+

Associative list of all reserved channels associated to their position. "[channel_number]" = index as number

using_channels + + + + +

+

Assoc list, "[channel]" = either the datum using it or TRUE for an unsafe-reserved (datumless reservation) channel

using_channels_by_datum + + + + +

+

Assoc list datum = list(channel1, channel2, ...) for what channels something reserved.

Proc Details

available_channels_left +

+

How many channels we have left.

free_channel +

+

Frees a channel and updates the datastructure. Private proc.

free_datum_channels +

+

Frees all the channels a datum is using.

free_datumless_channels +

+

Frees all datumless channels

free_sound_channel +

+

Removes a channel from using list.

random_available_channel +

+

Random available channel, returns number

random_available_channel_text +

+

Random available channel, returns text.

reserve_channel +

+

Reserves a channel and updates the datastructure. Private proc.

reserve_sound_channel +

+

Reserves a channel for a datum. Automatic cleanup only when the datum is deleted. Returns an integer for channel.

reserve_sound_channel_datumless +

+

NO AUTOMATIC CLEANUP - If you use this, you better manually free it later! Returns an integer for channel.

+ + + diff --git a/datum/controller/subsystem/spatial_grid.html b/datum/controller/subsystem/spatial_grid.html new file mode 100644 index 000000000000..deb7bac5f398 --- /dev/null +++ b/datum/controller/subsystem/spatial_grid.html @@ -0,0 +1,285 @@ + + + + + + + /datum/controller/subsystem/spatial_grid - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

spatial_grid + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

dummy_listempty spatial grid cell content lists are just a reference to this instead of a standalone list to save memory without needed to check if its null when iterating
grids_by_z_levellist of the spatial_grid_cell datums per z level, arranged in the order of y index then x index
number_of_oranges_earshow many pregenerated /mob/oranges_ear instances currently exist. this should hopefully never exceed its starting value
pregenerated_oranges_earslist of all of /mob/oranges_ear instances we have pregenerated for view() iteration speedup
spatial_grid_categoriesassociative list of the form: movable.spatial_grid_key (string) -> inner list of spatial grid types for that key. +inner lists contain contents channel types such as SPATIAL_GRID_CONTENTS_TYPE_HEARING etc. +we use this to make adding to a cell static cost, and to save on memory
waiting_to_add_by_typeeverything that spawns before us is added to this list until we initialize

Procs

add_grid_awarenessAdds grid awareness to the passed in atom, of the passed in type +Basically, when this atom moves between grids, it wants to have enter/exit cell called on it
add_grid_membershipAlerts the atom's current cell that it wishes to be treated as a member +This functionally amounts to "hey, I was recently made aware by [add_grid_awareness], please insert me into my current cell"
add_single_typeacts like enter_cell() but only adds the target to a specified type of grid cell contents list
after_world_bounds_expandedadds cells to the grid for every z level when world.maxx or world.maxy is expanded after this subsystem is initialized. hopefully this is never needed. +because i never tested this.
assign_oranges_earsallocate one /mob/oranges_ear mob per turf containing atoms_that_need_ears and give them a reference to every listed atom in their turf. +if an oranges_ear is allocated to a turf that already has an oranges_ear then the second one fails to allocate (and gives the existing one the atom it was assigned to)
enter_cellfind the spatial map cell that target belongs to, then add the target to it, as its type prefers. +make sure to provide the turf new_target is "in"
enter_pre_init_queueadd a movable to the pre init queue for whichever type is specified so that when the subsystem initializes they get added to the grid
exit_cellfind the spatial map cell that target used to belong to, then remove the target (and sometimes it's important_recusive_contents) from it. +make sure to provide the turf old_target used to be "in"
find_hanging_cell_refs_for_movableif shit goes south, this will find hanging references for qdeleting movables inside the spatial grid
force_remove_from_cellremove this movable from the given spatial_grid_cell
force_remove_from_gridexample:
get_cell_ofget the grid cell encomapassing targets coordinates
get_cells_in_boundsget all grid cells intersecting the bounding box around center with sides of length (2 * range_x, 2 * range_y)
get_cells_in_rangeget all grid cells intersecting the bounding box around center with sides of length 2 * range
orthogonal_range_searchhttps://en.wikipedia.org/wiki/Range_searching#Orthogonal_range_searching
pregenerate_more_oranges_earscreates number_to_generate new oranges_ear's and adds them to the subsystems list of ears. +i really fucking hope this never gets called after init :clueless:
propogate_spatial_grid_to_new_zcreates the spatial grid for a new z level
queued_item_deletedif a movable is inside our pre init queue before we're initialized and it gets deleted we need to remove that reference with this proc
remove_from_pre_init_queueremoves an initialized and probably deleted movable from our pre init queue before we're initialized
remove_grid_awarenessRemoves grid awareness from the passed in atom, of the passed in type
remove_grid_membershipRemoves grid membership from the passed in atom, of the passed in type
remove_single_typeacts like exit_cell() but only removes the target from the specified type of grid cell contents list
untracked_movable_errorif for whatever reason this movable is "untracked" e.g. it breaks the assumption that a movable is only inside the contents of any grid cell associated with its loc, +this will error. this checks every grid cell in the world so dont call this on live unless you have to. +returns TRUE if this movable is untracked, FALSE otherwise
update_grid_awarenessUpdates the string that atoms hold that stores their grid awareness +We will use it to key into their spatial grid categories later
+

Var Details

dummy_list + + + + +

+

empty spatial grid cell content lists are just a reference to this instead of a standalone list to save memory without needed to check if its null when iterating

grids_by_z_level + + + + +

+

list of the spatial_grid_cell datums per z level, arranged in the order of y index then x index

number_of_oranges_ears + + + + +

+

how many pregenerated /mob/oranges_ear instances currently exist. this should hopefully never exceed its starting value

pregenerated_oranges_ears + + + + +

+

list of all of /mob/oranges_ear instances we have pregenerated for view() iteration speedup

spatial_grid_categories + + + + +

+

associative list of the form: movable.spatial_grid_key (string) -> inner list of spatial grid types for that key. +inner lists contain contents channel types such as SPATIAL_GRID_CONTENTS_TYPE_HEARING etc. +we use this to make adding to a cell static cost, and to save on memory

waiting_to_add_by_type + + + + +

+

everything that spawns before us is added to this list until we initialize

Proc Details

add_grid_awareness +

+

Adds grid awareness to the passed in atom, of the passed in type +Basically, when this atom moves between grids, it wants to have enter/exit cell called on it

add_grid_membership +

+

Alerts the atom's current cell that it wishes to be treated as a member +This functionally amounts to "hey, I was recently made aware by [add_grid_awareness], please insert me into my current cell"

add_single_type +

+

acts like enter_cell() but only adds the target to a specified type of grid cell contents list

after_world_bounds_expanded +

+

adds cells to the grid for every z level when world.maxx or world.maxy is expanded after this subsystem is initialized. hopefully this is never needed. +because i never tested this.

assign_oranges_ears +

+

allocate one /mob/oranges_ear mob per turf containing atoms_that_need_ears and give them a reference to every listed atom in their turf. +if an oranges_ear is allocated to a turf that already has an oranges_ear then the second one fails to allocate (and gives the existing one the atom it was assigned to)

enter_cell +

+

find the spatial map cell that target belongs to, then add the target to it, as its type prefers. +make sure to provide the turf new_target is "in"

enter_pre_init_queue +

+

add a movable to the pre init queue for whichever type is specified so that when the subsystem initializes they get added to the grid

exit_cell +

+

find the spatial map cell that target used to belong to, then remove the target (and sometimes it's important_recusive_contents) from it. +make sure to provide the turf old_target used to be "in"

+

find_hanging_cell_refs_for_movable +

+

if shit goes south, this will find hanging references for qdeleting movables inside the spatial grid

force_remove_from_cell +

+

remove this movable from the given spatial_grid_cell

force_remove_from_grid +

+

example:

+

/mob/living/trolls_the_maintainer instance, which is supposed to only be in the contents of a spatial grid cell at coords: (136, 136, 14), +was in the contents of 3 spatial grid cells when it was only supposed to be in one! within the contents of the following cells: +{(68, 153, 2), within channels: hearing}, +{coords: (221, 170, 3), within channels: hearing}, +{coords: (255, 153, 11), within channels: hearing}, +{coords: (136, 136, 14), within channels: hearing}.

+

remove this movable from the grid by finding the grid cell its in and removing it from that. +if it cant infer a grid cell its located in (e.g. if its in nullspace but it can happen if the grid isnt expanded to a z level), search every grid cell.

get_cell_of +

+

get the grid cell encomapassing targets coordinates

get_cells_in_bounds +

+

get all grid cells intersecting the bounding box around center with sides of length (2 * range_x, 2 * range_y)

get_cells_in_range +

+

get all grid cells intersecting the bounding box around center with sides of length 2 * range

+

https://en.wikipedia.org/wiki/Range_searching#Orthogonal_range_searching

+

searches through the grid cells intersecting a rectangular search space (with sides of length 2 * range) then returns all contents of type inside them. +much faster than iterating through view() to find all of what you want.

+

this does NOT return things only in range distance from center! the search space is a square not a circle, if you want only things in a certain distance +then you need to filter that yourself

+

pregenerate_more_oranges_ears +

+

creates number_to_generate new oranges_ear's and adds them to the subsystems list of ears. +i really fucking hope this never gets called after init :clueless:

propogate_spatial_grid_to_new_z +

+

creates the spatial grid for a new z level

queued_item_deleted +

+

if a movable is inside our pre init queue before we're initialized and it gets deleted we need to remove that reference with this proc

remove_from_pre_init_queue +

+

removes an initialized and probably deleted movable from our pre init queue before we're initialized

remove_grid_awareness +

+

Removes grid awareness from the passed in atom, of the passed in type

remove_grid_membership +

+

Removes grid membership from the passed in atom, of the passed in type

remove_single_type +

+

acts like exit_cell() but only removes the target from the specified type of grid cell contents list

untracked_movable_error +

+

if for whatever reason this movable is "untracked" e.g. it breaks the assumption that a movable is only inside the contents of any grid cell associated with its loc, +this will error. this checks every grid cell in the world so dont call this on live unless you have to. +returns TRUE if this movable is untracked, FALSE otherwise

update_grid_awareness +

+

Updates the string that atoms hold that stores their grid awareness +We will use it to key into their spatial grid categories later

+ + + diff --git a/datum/controller/subsystem/statpanels.html b/datum/controller/subsystem/statpanels.html new file mode 100644 index 000000000000..f5c384103851 --- /dev/null +++ b/datum/controller/subsystem/statpanels.html @@ -0,0 +1,87 @@ + + + + + + + /datum/controller/subsystem/statpanels - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

statpanels + + + +

+ + + + + + + + + +

Vars

default_waithow many subsystem fires between most tab updates
mc_waithow many subsystem fires between updates of the MC tab
num_fireshow many full runs this subsystem has completed. used for variable rate refreshes.
status_waithow many subsystem fires between updates of the status tab

Procs

immediate_send_stat_dataimmediately update the active statpanel tab of the target client
refresh_client_obj_viewSet the atoms we're meant to display
return_object_imagesReturns all our ready object tab images +Returns a list in the form list(list(object_name, object_ref, loaded_image), ...)
set_action_tabsSet up the various action tabs.
+

Var Details

default_wait + + + + +

+

how many subsystem fires between most tab updates

mc_wait + + + + +

+

how many subsystem fires between updates of the MC tab

num_fires + + + + +

+

how many full runs this subsystem has completed. used for variable rate refreshes.

status_wait + + + + +

+

how many subsystem fires between updates of the status tab

Proc Details

immediate_send_stat_data +

+

immediately update the active statpanel tab of the target client

refresh_client_obj_view +

+

Set the atoms we're meant to display

return_object_images +

+

Returns all our ready object tab images +Returns a list in the form list(list(object_name, object_ref, loaded_image), ...)

set_action_tabs +

+

Set up the various action tabs.

+ + + diff --git a/datum/controller/subsystem/sun.html b/datum/controller/subsystem/sun.html new file mode 100644 index 000000000000..867b5910e361 --- /dev/null +++ b/datum/controller/subsystem/sun.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/sun - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

sun + + + +

+ + + + +

Vars

azimuth_modclockwise, top-down rotation from 0 (north) to 359
base_rotationmultiplier against base_rotation

Procs

Initializebase rotation in degrees per fire
+

Var Details

azimuth_mod + + + + +

+

clockwise, top-down rotation from 0 (north) to 359

base_rotation + + + + +

+

multiplier against base_rotation

Proc Details

Initialize +

+

base rotation in degrees per fire

+ + + diff --git a/datum/controller/subsystem/tech.html b/datum/controller/subsystem/tech.html new file mode 100644 index 000000000000..c639efaf380b --- /dev/null +++ b/datum/controller/subsystem/tech.html @@ -0,0 +1,42 @@ + + + + + + + /datum/controller/subsystem/tech - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

tech + + + +

+ + + +

Procs

fetch_designsUsed to turn a list of design types into instances.
sanitize_design_idUsed by machinery for UI act sanitization

Proc Details

fetch_designs +

+

Used to turn a list of design types into instances.

sanitize_design_id +

+

Used by machinery for UI act sanitization

+ + + diff --git a/datum/controller/subsystem/tgui.html b/datum/controller/subsystem/tgui.html new file mode 100644 index 000000000000..726f67eb4b47 --- /dev/null +++ b/datum/controller/subsystem/tgui.html @@ -0,0 +1,202 @@ + + + + + + + /datum/controller/subsystem/tgui - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tgui + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

basehtmlThe HTML base used for all UIs.
current_runA list of UIs scheduled to process
open_uisA list of open UIs
open_uis_by_srcA list of open UIs, grouped by src_object.

Procs

close_all_uispublic
close_uispublic
close_user_uispublic
force_close_all_windowspublic
force_close_windowpublic
get_open_uipublic
on_closeprivate
on_logoutprivate
on_openprivate
on_transferprivate
request_pooled_windowpublic
try_update_uipublic
update_uispublic
update_user_uispublic
+

Var Details

basehtml + + + + +

+

The HTML base used for all UIs.

current_run + + + + +

+

A list of UIs scheduled to process

open_uis + + + + +

+

A list of open UIs

open_uis_by_src + + + + +

+

A list of open UIs, grouped by src_object.

Proc Details

close_all_uis +

+

public

+

Close all UIs regardless of their attachment to src_object.

+

return int The number of UIs closed.

close_uis +

+

public

+

Close all UIs attached to src_object.

+

required src_object datum The object/datum which owns the UIs.

+

return int The number of UIs closed.

close_user_uis +

+

public

+

Close all UIs belonging to a user.

+

required user mob The mob who opened/is using the UI. +optional src_object datum If provided, only close UIs belonging this src_object.

+

return int The number of UIs closed.

force_close_all_windows +

+

public

+

Force closes all tgui windows.

+

required user mob

force_close_window +

+

public

+

Force closes the tgui window by window_id.

+

required user mob +required window_id string

get_open_ui +

+

public

+

Get a open UI given a user and src_object.

+

required user mob The mob who opened/is using the UI. +required src_object datum The object/datum which owns the UI.

+

return datum/tgui The found UI.

on_close +

+

private

+

Remove a UI from the list of open UIs.

+

required ui datum/tgui The UI to be removed.

+

return bool If the UI was removed or not.

on_logout +

+

private

+

Handle client logout, by closing all their UIs.

+

required user mob The mob which logged out.

+

return int The number of UIs closed.

on_open +

+

private

+

Add a UI to the list of open UIs.

+

required ui datum/tgui The UI to be added.

on_transfer +

+

private

+

Handle clients switching mobs, by transferring their UIs.

+

required user source The client's original mob. +required user target The client's new mob.

+

return bool If the UIs were transferred.

request_pooled_window +

+

public

+

Requests a usable tgui window from the pool. +Returns null if pool was exhausted.

+

required user mob +return datum/tgui

try_update_ui +

+

public

+

Try to find an instance of a UI, and push an update to it.

+

required user mob The mob who opened/is using the UI. +required src_object datum The object/datum which owns the UI. +optional ui datum/tgui The UI to be updated, if it exists. +optional force_open bool If the UI should be re-opened instead of updated.

+

return datum/tgui The found UI.

update_uis +

+

public

+

Update all UIs attached to src_object.

+

required src_object datum The object/datum which owns the UIs.

+

return int The number of UIs updated.

update_user_uis +

+

public

+

Update all UIs belonging to a user.

+

required user mob The mob who opened/is using the UI. +optional src_object datum If provided, only update UIs belonging this src_object.

+

return int The number of UIs updated.

+ + + diff --git a/datum/controller/subsystem/ticker.html b/datum/controller/subsystem/ticker.html new file mode 100644 index 000000000000..330c33a091eb --- /dev/null +++ b/datum/controller/subsystem/ticker.html @@ -0,0 +1,223 @@ + + + + + + + /datum/controller/subsystem/ticker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ticker + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

credits_musicMedia track for the round end music.
emergency_reasonWhy an emergency shuttle was called
force_endingWhen TRUE, the round will end next tick or has already ended. Use SSticker.end_round() instead. This var is used by non-gamemodes to end the round.
heartsPeople who have been commended and will receive a heart
login_musicMedia track for the music played in the lobby
mode_display_nameThe name of the gamemode to show at roundstart. This is here to admins can give fake gamemodes.
player_ready_dataData for lobby player stat panels during the pre-game.
popcountRound end statistics of the population
ready_playersAll players that are readied up and about to spawn in.
totalPlayersNum of players, used for pregame stats on statpanel
totalPlayersReadyNum of ready players, used for pregame stats on statpanel (only viewable by admins)
total_admins_readyNum of ready admins, used for pregame stats on statpanel (only viewable by admins)

Procs

HandleRandomHardcoreScoreHandles random hardcore point rewarding if it applies.
antag_reportgotta escape nerd
award_servicetotal service income +This is the richest account on station at roundend. +This is the station's total wealth at the end of the round. +How many players joined the round. +Awards the service department an achievement and updates the chef and bartender's highscore for tourists served.
choose_round_end_songThe reference to the end of round sound that we have chosen.
declare_completionno score no glory
draft_gamemodesGenerate a list of gamemodes we can play.
filter_headless_departmentsRemoves departments with a head present from the given list, returning the values as bitflags
handle_heartsOnce the round is actually over, cycle through the ckeys in the hearts list and give them the hearted status
hardcore_random_reportGenerate a report for all players who made it out alive with a hardcore random character and prints their final score
log_roundend_reportLog the round-end report as an HTML file
market_reportGenerate a report for how much money is on station, as well as the richest crewmember on the station.
pick_credits_musicThe full path of the last song used +The full datum of the last song used.
poll_heartsCalled when the shuttle starts launching back to centcom, polls a few random players who joined the round for commendations
+

Var Details

credits_music + + + + +

+

Media track for the round end music.

emergency_reason + + + + +

+

Why an emergency shuttle was called

force_ending + + + + +

+

When TRUE, the round will end next tick or has already ended. Use SSticker.end_round() instead. This var is used by non-gamemodes to end the round.

hearts + + + + +

+

People who have been commended and will receive a heart

login_music + + + + +

+

Media track for the music played in the lobby

mode_display_name + + + + +

+

The name of the gamemode to show at roundstart. This is here to admins can give fake gamemodes.

player_ready_data + + + + +

+

Data for lobby player stat panels during the pre-game.

popcount + + + + +

+

Round end statistics of the population

ready_players + + + + +

+

All players that are readied up and about to spawn in.

totalPlayers + + + + +

+

Num of players, used for pregame stats on statpanel

totalPlayersReady + + + + +

+

Num of ready players, used for pregame stats on statpanel (only viewable by admins)

total_admins_ready + + + + +

+

Num of ready admins, used for pregame stats on statpanel (only viewable by admins)

Proc Details

HandleRandomHardcoreScore +

+

Handles random hardcore point rewarding if it applies.

antag_report +

+

gotta escape nerd

award_service +

+

total service income +This is the richest account on station at roundend. +This is the station's total wealth at the end of the round. +How many players joined the round. +Awards the service department an achievement and updates the chef and bartender's highscore for tourists served.

+

Arguments:

+

choose_round_end_song +

+

The reference to the end of round sound that we have chosen.

declare_completion +

+

no score no glory

draft_gamemodes +

+

Generate a list of gamemodes we can play.

filter_headless_departments +

+

Removes departments with a head present from the given list, returning the values as bitflags

handle_hearts +

+

Once the round is actually over, cycle through the ckeys in the hearts list and give them the hearted status

hardcore_random_report +

+

Generate a report for all players who made it out alive with a hardcore random character and prints their final score

log_roundend_report +

+

Log the round-end report as an HTML file

+

Composits the roundend report, and saves it in two locations. +The report is first saved along with the round's logs +Then, the report is copied to a fixed directory specifically for +housing the server's last roundend report. In this location, +the file will be overwritten at the end of each shift.

market_report +

+

Generate a report for how much money is on station, as well as the richest crewmember on the station.

pick_credits_music +

+

The full path of the last song used +The full datum of the last song used.

poll_hearts +

+

Called when the shuttle starts launching back to centcom, polls a few random players who joined the round for commendations

+ + + diff --git a/datum/controller/subsystem/timer.html b/datum/controller/subsystem/timer.html new file mode 100644 index 000000000000..4116fead5061 --- /dev/null +++ b/datum/controller/subsystem/timer.html @@ -0,0 +1,141 @@ + + + + + + + /datum/controller/subsystem/timer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

timer + + + +

+ + + + + + + + + + + + + + + + + +

Vars

bucket_auto_resetBoolean operator controlling if the timer SS will automatically reset buckets if it fails to invoke callbacks for an extended period of time
bucket_countHow many timers are in the buckets
bucket_listList of buckets, each bucket holds every timer that has to run that byond tick
bucket_reset_countHow many times bucket was reset
bucket_resolutionworld.tick_lag the bucket was designed for
clienttime_timersSpecial timers that run in real-time, not BYOND time; these are more expensive to run and maintain
hashesA hashlist dictionary used for storing unique timers
head_offsetworld.time of the first entry in the bucket list, effectively the 'start time' of the current buckets
last_invoke_tickContains the last time that a timer's callback was invoked, or the last tick the SS fired if no timers are being processed
last_invoke_warningContains the last time that a warning was issued for not invoking callbacks
next_clienttime_timer_indexKeeps track of the next index to work on for client timers
practical_offsetIndex of the wrap around pivot for buckets. buckets before this are later running buckets wrapped around from the end of the bucket list.
second_queueQueue used for storing timers that do not fit into the current buckets
timer_id_dictList of all active timers associated to their timer ID (for easy lookup)

Procs

get_timer_debug_stringGenerates a string with details about the timed event for debugging purposes
reset_bucketsDestroys the existing buckets and creates new buckets from the existing timed events
+

Var Details

bucket_auto_reset + + + + +

+

Boolean operator controlling if the timer SS will automatically reset buckets if it fails to invoke callbacks for an extended period of time

bucket_count + + + + +

+

How many timers are in the buckets

bucket_list + + + + +

+

List of buckets, each bucket holds every timer that has to run that byond tick

bucket_reset_count + + + + +

+

How many times bucket was reset

bucket_resolution + + + + +

+

world.tick_lag the bucket was designed for

clienttime_timers + + + + +

+

Special timers that run in real-time, not BYOND time; these are more expensive to run and maintain

hashes + + + + +

+

A hashlist dictionary used for storing unique timers

head_offset + + + + +

+

world.time of the first entry in the bucket list, effectively the 'start time' of the current buckets

last_invoke_tick + + + + +

+

Contains the last time that a timer's callback was invoked, or the last tick the SS fired if no timers are being processed

last_invoke_warning + + + + +

+

Contains the last time that a warning was issued for not invoking callbacks

next_clienttime_timer_index + + + + +

+

Keeps track of the next index to work on for client timers

practical_offset + + + + +

+

Index of the wrap around pivot for buckets. buckets before this are later running buckets wrapped around from the end of the bucket list.

second_queue + + + + +

+

Queue used for storing timers that do not fit into the current buckets

timer_id_dict + + + + +

+

List of all active timers associated to their timer ID (for easy lookup)

Proc Details

get_timer_debug_string +

+

Generates a string with details about the timed event for debugging purposes

reset_buckets +

+

Destroys the existing buckets and creates new buckets from the existing timed events

+ + + diff --git a/datum/controller/subsystem/trading_card_game.html b/datum/controller/subsystem/trading_card_game.html new file mode 100644 index 000000000000..c01d3bc4c97b --- /dev/null +++ b/datum/controller/subsystem/trading_card_game.html @@ -0,0 +1,170 @@ + + + + + + + /datum/controller/subsystem/trading_card_game - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

trading_card_game + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

cached_cardsList of all cards by series, with cards cached by rarity to make those lookups faster
card_directoryBase directory for all related string files
card_filesList of card files to load
card_packsWhat cardpack types to load
keyword_filesList of keyword files +These allow you to add on hovor logic to parts of a card's text, displaying extra info
keywordsList of loaded keywords matched with their hovor text

Procs

checkCardDatumsChecks the global card list for cards that don't override all the default values of the card datum
checkCardDistributionUsed to test open a large amount of cardpacks
checkCardpacksChecks the passed type list for missing raritys, or raritys out of bounds
clearCardsEmpty the rarity cache so we can safely add new cards
get_guarenteed_rarity_tableSee above
get_rarity_tableBecause old me wanted to keep memory costs down, each cardpack type shares a rarity list +We do the spooky stuff in here to ensure we don't have too many lists lying around
loadAllCardFilesLoads all the card files
loadCardFileGets the keyword this string wants to use +We offset the start by two indexes to account for +Loads the contents of a json file into our global card list
loadKeywordFileLoads the contents of a json file into our global card list
printAllCardsPrints all the cards names
reloadAllCardFilesReloads all card files
resolve_keywordsTakes a string as input. Searches it for keywords in the pattern {$keyword}, and replaces them with their expanded form, generated above
styleKeywordsStyles our keywords, converting them from just the raw text to the output we want
+

Var Details

cached_cards + + + + +

+

List of all cards by series, with cards cached by rarity to make those lookups faster

card_directory + + + + +

+

Base directory for all related string files

card_files + + + + +

+

List of card files to load

card_packs + + + + +

+

What cardpack types to load

keyword_files + + + + +

+

List of keyword files +These allow you to add on hovor logic to parts of a card's text, displaying extra info

keywords + + + + +

+

List of loaded keywords matched with their hovor text

Proc Details

checkCardDatums +

+

Checks the global card list for cards that don't override all the default values of the card datum

checkCardDistribution +

+

Used to test open a large amount of cardpacks

checkCardpacks +

+

Checks the passed type list for missing raritys, or raritys out of bounds

clearCards +

+

Empty the rarity cache so we can safely add new cards

get_guarenteed_rarity_table +

+

See above

get_rarity_table +

+

Because old me wanted to keep memory costs down, each cardpack type shares a rarity list +We do the spooky stuff in here to ensure we don't have too many lists lying around

loadAllCardFiles +

+

Loads all the card files

loadCardFile +

+

Gets the keyword this string wants to use +We offset the start by two indexes to account for +Loads the contents of a json file into our global card list

loadKeywordFile +

+

Loads the contents of a json file into our global card list

printAllCards +

+

Prints all the cards names

reloadAllCardFiles +

+

Reloads all card files

resolve_keywords +

+

Takes a string as input. Searches it for keywords in the pattern {$keyword}, and replaces them with their expanded form, generated above

styleKeywords +

+

Styles our keywords, converting them from just the raw text to the output we want

+ + + diff --git a/datum/controller/subsystem/traitor.html b/datum/controller/subsystem/traitor.html new file mode 100644 index 000000000000..0e3938d90939 --- /dev/null +++ b/datum/controller/subsystem/traitor.html @@ -0,0 +1,130 @@ + + + + + + + /datum/controller/subsystem/traitor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

traitor + + + +

+ + + + + + + + + + + + + + +

Vars

category_handlerUsed to handle the probability of getting an objective.
configuration_dataGlobal configuration data that gets applied to each objective when it is created. +Basic objective format +'/datum/traitor_objective/path/to/objective': { +"global_progression_influence_intensity": 0 +}
configuration_pathFile to load configurations from.
current_global_progressionThe current progression that all traitors should be at in the round
current_progression_scalingThe current scaling per minute of progression. Has a maximum value of 1 MINUTES.
generate_objectivesUsed by the debug menu, decides whether newly created objectives should generate progression and telecrystals. Do not modify for non-debug purposes.
newjoin_progression_coeffThe coefficient multiplied by the current_global_progression for new joining traitors to calculate their progression
progression_scaling_devianceThe amount of deviance from the current global progression before you start getting 2x the current scaling or no scaling at all +Also affects objectives, so -50% progress reduction or 50% progress boost.
taken_objectives_by_typeObjectives that have been completed by type. Used for limiting objectives.
traitor_debug_panelThe current debug handler for objectives. Used for debugging objectives
uplink_handlersThe current uplink handlers being managed
uplink_itemsA list of all uplink items
uplink_items_by_typeA list of all uplink items mapped by type
+

Var Details

category_handler + + + + +

+

Used to handle the probability of getting an objective.

configuration_data + + + + +

+

Global configuration data that gets applied to each objective when it is created. +Basic objective format +'/datum/traitor_objective/path/to/objective': { +"global_progression_influence_intensity": 0 +}

configuration_path + + + + +

+

File to load configurations from.

current_global_progression + + + + +

+

The current progression that all traitors should be at in the round

current_progression_scaling + + + + +

+

The current scaling per minute of progression. Has a maximum value of 1 MINUTES.

generate_objectives + + + + +

+

Used by the debug menu, decides whether newly created objectives should generate progression and telecrystals. Do not modify for non-debug purposes.

newjoin_progression_coeff + + + + +

+

The coefficient multiplied by the current_global_progression for new joining traitors to calculate their progression

progression_scaling_deviance + + + + +

+

The amount of deviance from the current global progression before you start getting 2x the current scaling or no scaling at all +Also affects objectives, so -50% progress reduction or 50% progress boost.

taken_objectives_by_type + + + + +

+

Objectives that have been completed by type. Used for limiting objectives.

traitor_debug_panel + + + + +

+

The current debug handler for objectives. Used for debugging objectives

+

The current uplink handlers being managed

+

A list of all uplink items

+

A list of all uplink items mapped by type

+ + + diff --git a/datum/controller/subsystem/verb_manager.html b/datum/controller/subsystem/verb_manager.html new file mode 100644 index 000000000000..2358d4acc251 --- /dev/null +++ b/datum/controller/subsystem/verb_manager.html @@ -0,0 +1,114 @@ + + + + + + + /datum/controller/subsystem/verb_manager - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

verb_manager + + + +

+ + + + + + + + + + + +

Vars

FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbsif this is true all verbs immediately execute and dont queue. in case the mc is fucked or something
always_queuealways queue if possible. overides can_queue_admin_verbs but not FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbs
can_queue_admin_verbsif TRUE we treat usr's with holders just like usr's without holders. otherwise they always execute immediately
message_admins_on_queueif TRUE this will... message admins every time a verb is queued to this subsystem for the next tick with stats. +for obvious reasons dont make this be TRUE on the code level this is for admins to turn on
use_default_statsused for subtypes to determine if they use their own stats for the stat entry
verb_queuelist of callbacks to procs called from verbs or verblike procs that were executed when the server was overloaded and had to delay to the next tick. +this list is ran through every tick, and the subsystem does not yield until this queue is finished.
verbs_executed_per_secondrunning average of how many verb callbacks are executed every second. used for the stat entry

Procs

can_queue_verbsubsystem-specific check for whether a callback can be queued. +intended so that subsystem subtypes can verify whether
queue_verbqueue a callback for the given proc, so that it is invoked in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB()
run_verb_queueruns through all of this subsystems queue of verb callbacks. +goes through the entire verb queue without yielding. +used so you can flush the queue outside of fire() without interfering with anything else subtype subsystems might do in fire().
+

Var Details

FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbs + + + + +

+

if this is true all verbs immediately execute and dont queue. in case the mc is fucked or something

always_queue + + + + +

+

always queue if possible. overides can_queue_admin_verbs but not FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbs

can_queue_admin_verbs + + + + +

+

if TRUE we treat usr's with holders just like usr's without holders. otherwise they always execute immediately

message_admins_on_queue + + + + +

+

if TRUE this will... message admins every time a verb is queued to this subsystem for the next tick with stats. +for obvious reasons dont make this be TRUE on the code level this is for admins to turn on

use_default_stats + + + + +

+

used for subtypes to determine if they use their own stats for the stat entry

verb_queue + + + + +

+

list of callbacks to procs called from verbs or verblike procs that were executed when the server was overloaded and had to delay to the next tick. +this list is ran through every tick, and the subsystem does not yield until this queue is finished.

verbs_executed_per_second + + + + +

+

running average of how many verb callbacks are executed every second. used for the stat entry

Proc Details

can_queue_verb +

+

subsystem-specific check for whether a callback can be queued. +intended so that subsystem subtypes can verify whether

+

subtypes may include additional arguments here if they need them! you just need to include them properly +in TRY_QUEUE_VERB() and co.

queue_verb +

+

queue a callback for the given proc, so that it is invoked in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB()

+

returns TRUE if the queuing was successful, FALSE otherwise.

run_verb_queue +

+

runs through all of this subsystems queue of verb callbacks. +goes through the entire verb queue without yielding. +used so you can flush the queue outside of fire() without interfering with anything else subtype subsystems might do in fire().

+ + + diff --git a/datum/controller/subsystem/verb_manager/input.html b/datum/controller/subsystem/verb_manager/input.html new file mode 100644 index 000000000000..790f0d4bf5dc --- /dev/null +++ b/datum/controller/subsystem/verb_manager/input.html @@ -0,0 +1,101 @@ + + + + + + + /datum/controller/subsystem/verb_manager/input - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

input + + + +

+ + + + + + + + + + + +

Vars

average_click_delayrunning average of the amount of real time clicks take to truly execute after the command is originally sent to the server. +if a click isnt delayed at all then it counts as 0 deciseconds.
classic_only_setMacros applied onlt to classic users
clicks_per_secondrunning average of how many clicks inputted by a player the server processes every second. used for the subsystem stat entry
current_clickscount of how many clicks onto atoms have elapsed before being cleared by fire(). used to average with clicks_per_second.
delayed_clicks_per_secondacts like clicks_per_second but only counts the clicks actually processed by SSinput itself while clicks_per_second counts all clicks
hotkey_only_setMacros applied only to hotkey users
macro_setStandard macroset ALL players get
movements_per_secondrunning average of how many movement iterations from player input the server processes every second. used for the subsystem stat entry
protected_macro_idsMacro IDs we shouldn't clear during client.clear_macros()
unprintables_cacheTypecache of all unprintable keys that are safe for classic to bind
+

Var Details

average_click_delay + + + + +

+

running average of the amount of real time clicks take to truly execute after the command is originally sent to the server. +if a click isnt delayed at all then it counts as 0 deciseconds.

classic_only_set + + + + +

+

Macros applied onlt to classic users

clicks_per_second + + + + +

+

running average of how many clicks inputted by a player the server processes every second. used for the subsystem stat entry

current_clicks + + + + +

+

count of how many clicks onto atoms have elapsed before being cleared by fire(). used to average with clicks_per_second.

delayed_clicks_per_second + + + + +

+

acts like clicks_per_second but only counts the clicks actually processed by SSinput itself while clicks_per_second counts all clicks

hotkey_only_set + + + + +

+

Macros applied only to hotkey users

macro_set + + + + +

+

Standard macroset ALL players get

movements_per_second + + + + +

+

running average of how many movement iterations from player input the server processes every second. used for the subsystem stat entry

protected_macro_ids + + + + +

+

Macro IDs we shouldn't clear during client.clear_macros()

unprintables_cache + + + + +

+

Typecache of all unprintable keys that are safe for classic to bind

+ + + diff --git a/datum/controller/subsystem/vote.html b/datum/controller/subsystem/vote.html new file mode 100644 index 000000000000..5ee53910cc06 --- /dev/null +++ b/datum/controller/subsystem/vote.html @@ -0,0 +1,71 @@ + + + + + + + /datum/controller/subsystem/vote - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vote + + + +

+ + + + + + + +

Vars

current_voteThe current active vote, if there is one
generated_actionsA list of action datums to garbage collect when it's over
initiatorWho or what started the vote, string
started_timeREALTIMEOFDAY start time
time_remainingTime remaining in DS
votingList of ckeys who have the vote menu open.
+

Var Details

current_vote + + + + +

+

The current active vote, if there is one

generated_actions + + + + +

+

A list of action datums to garbage collect when it's over

initiator + + + + +

+

Who or what started the vote, string

started_time + + + + +

+

REALTIMEOFDAY start time

time_remaining + + + + +

+

Time remaining in DS

voting + + + + +

+

List of ckeys who have the vote menu open.

+ + + diff --git a/datum/controller/subsystem/wardrobe.html b/datum/controller/subsystem/wardrobe.html new file mode 100644 index 000000000000..8de7318bf841 --- /dev/null +++ b/datum/controller/subsystem/wardrobe.html @@ -0,0 +1,195 @@ + + + + + + + /datum/controller/subsystem/wardrobe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

wardrobe + + + +

+ + + + + + + + + + + + + + + + + + + + + +

Vars

cache_intensityHow much to cache outfit items +Multiplier, 2 would mean cache enough items to stock 1 of each preloaded order twice, etc
canon_minimumCanonical list of types required to fill all preloaded stocks once. +Type -> list(count, last inspection timestamp, call on insert, call on removal)
current_taskWhat we're currently doing
initial_callbacksList of type -> list(insertion callback, removal callback) callbacks for insertion/removal to use. +Set in setup_callbacks, used in canonization.
inspect_delayHow often to inspect our stock, in deciseconds
last_inspect_timeThe last time we inspected our stock
one_go_masterHow many items would we make just by loading the master list once?
order_listList of types to load. Type -> count //(I'd do a list of lists but this needs to be refillable)
overflow_lienencyHow many more then the template of a type are we allowed to have before we delete applicants?
preloaded_stockList of lists. Contains our preloaded atoms. Type -> list(last inspect time, list(instances))
stock_hitHow many times we've successfully returned a cached item
stock_missHow many times we've had to generate a stock item on request

Procs

canonize_typeCanonizes the type, which means it's now managed by the subsystem, and will be created deleted and passed out to comsumers
get_callback_typeTakes a path to get the callback owner for +Returns the deepest path in our callback store that matches the input +The hope is this will prevent dumb conflicts, since the furthest down is always going to be the most relevant
hard_refresh_queueResets the load queue to the master template, accounting for the existing stock
run_inspectionOnce every medium while, go through the current stock and make sure we don't have too much of one thing +Or that we're not too low on some other stock +This exists as a failsafe, so the wardrobe doesn't just end up generating too many items or accidentially running out somehow
setup_callbacksSets up insertion and removal callbacks by typepath +We will always use the deepest path. So /obj/item/blade/knife superceeds the entries of /obj/item and /obj/item/blade +Mind this
stash_objectTake an existing object, and insert it into our storage +If we can't or won't take it, it's deleted. You do not own this object after passing it in
stock_wardrobeTurns the order list into actual loaded items, this is where most work is done
unload_stockUnloads an amount of some type we have in stock +Private function, for internal use only
+

Var Details

cache_intensity + + + + +

+

How much to cache outfit items +Multiplier, 2 would mean cache enough items to stock 1 of each preloaded order twice, etc

canon_minimum + + + + +

+

Canonical list of types required to fill all preloaded stocks once. +Type -> list(count, last inspection timestamp, call on insert, call on removal)

current_task + + + + +

+

What we're currently doing

initial_callbacks + + + + +

+

List of type -> list(insertion callback, removal callback) callbacks for insertion/removal to use. +Set in setup_callbacks, used in canonization.

inspect_delay + + + + +

+

How often to inspect our stock, in deciseconds

last_inspect_time + + + + +

+

The last time we inspected our stock

one_go_master + + + + +

+

How many items would we make just by loading the master list once?

order_list + + + + +

+

List of types to load. Type -> count //(I'd do a list of lists but this needs to be refillable)

overflow_lienency + + + + +

+

How many more then the template of a type are we allowed to have before we delete applicants?

preloaded_stock + + + + +

+

List of lists. Contains our preloaded atoms. Type -> list(last inspect time, list(instances))

stock_hit + + + + +

+

How many times we've successfully returned a cached item

stock_miss + + + + +

+

How many times we've had to generate a stock item on request

Proc Details

canonize_type +

+

Canonizes the type, which means it's now managed by the subsystem, and will be created deleted and passed out to comsumers

+

Arguments:

+

get_callback_type +

+

Takes a path to get the callback owner for +Returns the deepest path in our callback store that matches the input +The hope is this will prevent dumb conflicts, since the furthest down is always going to be the most relevant

hard_refresh_queue +

+

Resets the load queue to the master template, accounting for the existing stock

run_inspection +

+

Once every medium while, go through the current stock and make sure we don't have too much of one thing +Or that we're not too low on some other stock +This exists as a failsafe, so the wardrobe doesn't just end up generating too many items or accidentially running out somehow

setup_callbacks +

+

Sets up insertion and removal callbacks by typepath +We will always use the deepest path. So /obj/item/blade/knife superceeds the entries of /obj/item and /obj/item/blade +Mind this

stash_object +

+

Take an existing object, and insert it into our storage +If we can't or won't take it, it's deleted. You do not own this object after passing it in

stock_wardrobe +

+

Turns the order list into actual loaded items, this is where most work is done

unload_stock +

+

Unloads an amount of some type we have in stock +Private function, for internal use only

+ + + diff --git a/datum/controller/subsystem/wiremod_composite.html b/datum/controller/subsystem/wiremod_composite.html new file mode 100644 index 000000000000..27c3ad5fa5c4 --- /dev/null +++ b/datum/controller/subsystem/wiremod_composite.html @@ -0,0 +1,45 @@ + + + + + + + /datum/controller/subsystem/wiremod_composite - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

wiremod_composite + + + +

+ + + +

Vars

templatesThe templates created and stored

Procs

composite_datatypeUsed to produce a composite datatype using another datatype, or +to get an already existing composite datatype.
+

Var Details

templates + + + + +

+

The templates created and stored

Proc Details

composite_datatype +

+

Used to produce a composite datatype using another datatype, or +to get an already existing composite datatype.

+ + + diff --git a/datum/controller/subsystem/zas.html b/datum/controller/subsystem/zas.html new file mode 100644 index 000000000000..cbd99eaf2021 --- /dev/null +++ b/datum/controller/subsystem/zas.html @@ -0,0 +1,150 @@ + + + + + + + /datum/controller/subsystem/zas - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

zas + + + +

+ + + + + + + + + + + + + + + + +

Vars

last_processThe last process, as a string, before the previous run ended.
unsimulated_gas_cacheA global cache of unsimulated gas mixture singletons, associative by type.

Procs

RebootStops processing while all ZAS-controlled airs and fires are nulled and the subsystem is reinitialized.
add_zone//////TILES////////// +///////DEFERRED TILES////////// +///////CHECK_EDGES///////// +///////EDGES////////// +///////HOTSPOTS////////// +///////ZONES////////// +//////ATMOS EXPOSE////// +Adds a zone to the subsystem, gives it's identifer, and marks it for update.
air_blockedChecks to see if air can flow between A and B.
connectForms a /connection/ between two turfs.
create_edgeCreate an edge of the appropriate type between zone A and zone-or-turf B.
excite_edgeWakes an edge, adding it to the active process list.
get_edgeReturns the edge between zones A and B. If one doesn't exist, it creates one. See header for more information
mark_for_updateThe logic around get_edge() requires air to exist at this point, which it probably should. +Marks a turf for update.
mark_zone_updateMarks a zone for update.
mergeMerges two zones. Largest by turf count wins.
remove_edgeRemoves an edge from the subsystem.
remove_zoneRemoves a zone from the subsystem.
sleep_edgeSleeps an edge, preventing it from processing.
+

Var Details

last_process + + + + +

+

The last process, as a string, before the previous run ended.

unsimulated_gas_cache + + + + +

+

A global cache of unsimulated gas mixture singletons, associative by type.

Proc Details

Reboot +

+

Stops processing while all ZAS-controlled airs and fires are nulled and the subsystem is reinitialized.

add_zone +

+

//////TILES////////// +///////DEFERRED TILES////////// +///////CHECK_EDGES///////// +///////EDGES////////// +///////HOTSPOTS////////// +///////ZONES////////// +//////ATMOS EXPOSE////// +Adds a zone to the subsystem, gives it's identifer, and marks it for update.

air_blocked +

+

Checks to see if air can flow between A and B.

connect +

+

Forms a /connection/ between two turfs.

create_edge +

+

Create an edge of the appropriate type between zone A and zone-or-turf B.

excite_edge +

+

Wakes an edge, adding it to the active process list.

get_edge +

+

Returns the edge between zones A and B. If one doesn't exist, it creates one. See header for more information

mark_for_update +

+

The logic around get_edge() requires air to exist at this point, which it probably should. +Marks a turf for update.

mark_zone_update +

+

Marks a zone for update.

merge +

+

Merges two zones. Largest by turf count wins.

remove_edge +

+

Removes an edge from the subsystem.

remove_zone +

+

Removes a zone from the subsystem.

sleep_edge +

+

Sleeps an edge, preventing it from processing.

+ + + diff --git a/datum/controller/subsystem/zcopy.html b/datum/controller/subsystem/zcopy.html new file mode 100644 index 000000000000..567e64ac4ee8 --- /dev/null +++ b/datum/controller/subsystem/zcopy.html @@ -0,0 +1,35 @@ + + + + + + + /datum/controller/subsystem/zcopy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

zcopy + + + +

+ + +

Procs

fixup_appearance_planesGenerate a new appearance from appearance with planes mangled to work with Z-Mimic. Do not pass a depth.

Proc Details

fixup_appearance_planes +

+

Generate a new appearance from appearance with planes mangled to work with Z-Mimic. Do not pass a depth.

+ + + diff --git a/datum/crafting_recipe.html b/datum/crafting_recipe.html new file mode 100644 index 000000000000..f3f351a64ef0 --- /dev/null +++ b/datum/crafting_recipe.html @@ -0,0 +1,80 @@ + + + + + + + /datum/crafting_recipe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

crafting_recipe + + + +

+ + + + + + + + +

Vars

additional_req_textAdditonal requirements text shown in UI
machineryRequired machines for the craft, set the assigned value of the typepath to CRAFTING_MACHINERY_CONSUME or CRAFTING_MACHINERY_USE. Lazy associative list: type_path key -> flag value.
one_per_turfShould only one object exist on the same turf?
tool_behaviorsString defines of items needed but not consumed. Lazy list.
tool_pathsType paths of items needed but not consumed. Lazy list.

Procs

atmos_pipe_checkCheck if the pipe used for atmospheric device crafting is the proper one
check_requirementsRun custom pre-craft checks for this recipe, don't add feedback messages in this because it will spam the client
+

Var Details

additional_req_text + + + + +

+

Additonal requirements text shown in UI

machinery + + + + +

+

Required machines for the craft, set the assigned value of the typepath to CRAFTING_MACHINERY_CONSUME or CRAFTING_MACHINERY_USE. Lazy associative list: type_path key -> flag value.

one_per_turf + + + + +

+

Should only one object exist on the same turf?

tool_behaviors + + + + +

+

String defines of items needed but not consumed. Lazy list.

tool_paths + + + + +

+

Type paths of items needed but not consumed. Lazy list.

Proc Details

atmos_pipe_check +

+

Check if the pipe used for atmospheric device crafting is the proper one

check_requirements +

+

Run custom pre-craft checks for this recipe, don't add feedback messages in this because it will spam the client

+

user: The /mob that initiated the crafting +collected_requirements: A list of lists of /obj/item instances that satisfy reqs. Top level list is keyed by requirement path.

+ + + diff --git a/datum/crewmonitor.html b/datum/crewmonitor.html new file mode 100644 index 000000000000..562f6dfb227c --- /dev/null +++ b/datum/crewmonitor.html @@ -0,0 +1,57 @@ + + + + + + + /datum/crewmonitor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

crewmonitor + + + +

+ + + + + +

Vars

data_by_zCache of data generated by z-level, used for serving the data within SENSOR_UPDATE_PERIOD of the last update
jobsMap of job to ID for sorting purposes
last_updateCache of last update time for each z-level
ui_sourcesList of user -> UI source
+

Var Details

data_by_z + + + + +

+

Cache of data generated by z-level, used for serving the data within SENSOR_UPDATE_PERIOD of the last update

jobs + + + + +

+

Map of job to ID for sorting purposes

last_update + + + + +

+

Cache of last update time for each z-level

ui_sources + + + + +

+

List of user -> UI source

+ + + diff --git a/datum/ctf_voting_controller.html b/datum/ctf_voting_controller.html new file mode 100644 index 000000000000..1d3ce214aabd --- /dev/null +++ b/datum/ctf_voting_controller.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ctf_voting_controller - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ctf_voting_controller + + + +

+ + + + +

Vars

volunteersThe list of ckeys that want to play CTF

Procs

unvoteRemoves an existing vote for user.
voteCasts a vote in favor of CTF for user.
+

Var Details

volunteers + + + + +

+

The list of ckeys that want to play CTF

Proc Details

unvote +

+

Removes an existing vote for user.

vote +

+

Casts a vote in favor of CTF for user.

+ + + diff --git a/datum/custom_order.html b/datum/custom_order.html new file mode 100644 index 000000000000..b0fa24485738 --- /dev/null +++ b/datum/custom_order.html @@ -0,0 +1,62 @@ + + + + + + + /datum/custom_order - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

custom_order + + + +

+ +

custom order datums +Used for less generic orders (ice cream for example) +without snowflaking venue and customer code too much.

+ + + +

Procs

dispense_orderReturns the object that will be stored in the controller blackboard for the customer bot. +Normally but not necessarily, this would be the custom order itself. The moth clothing is a +good example of an exception to that.
get_order_appearanceReturns the appearance of the order that appears when hovering over the mob with the cursor
get_order_lineReturns the order line shout by the mob and also shown to the player when examining it.
is_correct_orderWhether or not the order is correct. Only relevant if dispense_order didn't return another object.

Proc Details

dispense_order +

+

Returns the object that will be stored in the controller blackboard for the customer bot. +Normally but not necessarily, this would be the custom order itself. The moth clothing is a +good example of an exception to that.

get_order_appearance +

+

Returns the appearance of the order that appears when hovering over the mob with the cursor

get_order_line +

+

Returns the order line shout by the mob and also shown to the player when examining it.

is_correct_order +

+

Whether or not the order is correct. Only relevant if dispense_order didn't return another object.

+ + + diff --git a/datum/custom_order/icecream.html b/datum/custom_order/icecream.html new file mode 100644 index 000000000000..7b07064b14e0 --- /dev/null +++ b/datum/custom_order/icecream.html @@ -0,0 +1,50 @@ + + + + + + + /datum/custom_order/icecream - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

icecream + + + +

+ + + + +

Vars

cone_typeThe type of cone we want the ice cream served in
icecream_namestores tha name of our order generated on New()
wanted_flavorsThe list of flavors we want.
+

Var Details

cone_type + + + + +

+

The type of cone we want the ice cream served in

icecream_name + + + + +

+

stores tha name of our order generated on New()

wanted_flavors + + + + +

+

The list of flavors we want.

+ + + diff --git a/datum/custom_order/moth_clothing.html b/datum/custom_order/moth_clothing.html new file mode 100644 index 000000000000..a2abd5347a93 --- /dev/null +++ b/datum/custom_order/moth_clothing.html @@ -0,0 +1,36 @@ + + + + + + + /datum/custom_order/moth_clothing - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

moth_clothing + + + +

+ + +

Vars

wanted_clothing_typeThe item type that we want to order, usually clothing
+

Var Details

wanted_clothing_type + + + + +

+

The item type that we want to order, usually clothing

+ + + diff --git a/datum/customer_data.html b/datum/customer_data.html new file mode 100644 index 000000000000..744d6fa3bb3d --- /dev/null +++ b/datum/customer_data.html @@ -0,0 +1,176 @@ + + + + + + + /datum/customer_data - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

customer_data + + + +

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

ai_controller_usedDatum AI used for the robot. Should almost never be overwritten unless theyre subtypes of ai_controller/robot_customer
base_iconBase icon for the customer
base_icon_stateBase icon state for the customer
cant_find_seat_linesLines the robot says when it can't find a seat
clothing_setsClothing sets to pick from when dressing the robot.
first_warning_lineLine when harrased by someone for the first time
found_seat_linesLines the robot says when it finds a seat
friendly_pull_lineLine when pulled by a friendly venue owner
is_uniqueIs this unique once per venue?
leave_happy_linesLines the robot says when leaving with food
leave_mad_linesLines the robot says when leaving without food
name_prefixesList of prefixes for our robots name
order_pricesThe amount a robot pays for each food he likes in an assoc list type | payment
orderable_objectsThe types of food this robot likes in a assoc list of venue type | weighted list. does NOT include subtypes.
prefix_filePrefix file to uise
second_warning_lineLine when harrased by someone for the second time
self_defense_lineLine when harrased by someone for the last time
speech_soundSound to use when this robot type speaks
total_patiencePatience of the AI, how long they will wait for their meal.
wait_for_food_linesLines the robot says when leaving waiting for food

Procs

can_useCan this customer be chosen for this venue?
+

Var Details

ai_controller_used + + + + +

+

Datum AI used for the robot. Should almost never be overwritten unless theyre subtypes of ai_controller/robot_customer

base_icon + + + + +

+

Base icon for the customer

base_icon_state + + + + +

+

Base icon state for the customer

cant_find_seat_lines + + + + +

+

Lines the robot says when it can't find a seat

clothing_sets + + + + +

+

Clothing sets to pick from when dressing the robot.

first_warning_line + + + + +

+

Line when harrased by someone for the first time

found_seat_lines + + + + +

+

Lines the robot says when it finds a seat

friendly_pull_line + + + + +

+

Line when pulled by a friendly venue owner

is_unique + + + + +

+

Is this unique once per venue?

leave_happy_lines + + + + +

+

Lines the robot says when leaving with food

leave_mad_lines + + + + +

+

Lines the robot says when leaving without food

name_prefixes + + + + +

+

List of prefixes for our robots name

order_prices + + + + +

+

The amount a robot pays for each food he likes in an assoc list type | payment

orderable_objects + + + + +

+

The types of food this robot likes in a assoc list of venue type | weighted list. does NOT include subtypes.

prefix_file + + + + +

+

Prefix file to uise

second_warning_line + + + + +

+

Line when harrased by someone for the second time

self_defense_line + + + + +

+

Line when harrased by someone for the last time

speech_sound + + + + +

+

Sound to use when this robot type speaks

total_patience + + + + +

+

Patience of the AI, how long they will wait for their meal.

wait_for_food_lines + + + + +

+

Lines the robot says when leaving waiting for food

Proc Details

can_use +

+

Can this customer be chosen for this venue?

+ + + diff --git a/datum/customer_data/moth.html b/datum/customer_data/moth.html new file mode 100644 index 000000000000..95e0f7ca0041 --- /dev/null +++ b/datum/customer_data/moth.html @@ -0,0 +1,36 @@ + + + + + + + /datum/customer_data/moth - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

moth + + + +

+ + +

Vars

wings_chosenThe wings chosen for the moth customers.
+

Var Details

wings_chosen + + + + +

+

The wings chosen for the moth customers.

+ + + diff --git a/datum/data/compressor_record.html b/datum/data/compressor_record.html new file mode 100644 index 000000000000..a3fa13bb86db --- /dev/null +++ b/datum/data/compressor_record.html @@ -0,0 +1,43 @@ + + + + + + + /datum/data/compressor_record - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

compressor_record + + + +

+ +

Stores the record of the gas data for a significant enough tank leak

+ +

Vars

experiment_sourceTank Name
gas_dataKey: Path, Value: Moles
+

Var Details

experiment_source + + + + +

+

Tank Name

gas_data + + + + +

+

Key: Path, Value: Moles

+ + + diff --git a/datum/data/record.html b/datum/data/record.html new file mode 100644 index 000000000000..7e4527949b1b --- /dev/null +++ b/datum/data/record.html @@ -0,0 +1,90 @@ + + + + + + + /datum/data/record - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

record + + + +

+ + + + + + + +

Vars

fieldsThe data
libraryA ref to the library we're contained in.

Procs

CopyCreates a copy of the record, without it's library.
get_front_photoA helper proc to get the front photo of a character from the record. +Handles calling get_photo(), read its documentation for more information.
get_photoYou shouldn't be calling this directly, use get_front_photo() or get_side_photo() +instead.
get_side_photoA helper proc to get the side photo of a character from the record. +Handles calling get_photo(), read its documentation for more information.
+

Var Details

fields + + + + +

+

The data

library + + + + +

+

A ref to the library we're contained in.

Proc Details

Copy +

+

Creates a copy of the record, without it's library.

get_front_photo +

+

A helper proc to get the front photo of a character from the record. +Handles calling get_photo(), read its documentation for more information.

get_photo +

+

You shouldn't be calling this directly, use get_front_photo() or get_side_photo() +instead.

+

This is the proc that handles either fetching (if it was already generated before) or +generating (if it wasn't) the specified photo from the specified record. This is only +intended to be used by records that used to try to access fields["photo_front"] or +fields["photo_side"], and will return an empty icon if there isn't any of the necessary +fields.

+

Arguments:

+ +

Returns an empty /icon if there was no character_appearance entry in the fields list, +returns the generated/cached photo otherwise.

get_side_photo +

+

A helper proc to get the side photo of a character from the record. +Handles calling get_photo(), read its documentation for more information.

+ + + diff --git a/datum/data/record/security.html b/datum/data/record/security.html new file mode 100644 index 000000000000..2c48cc31e0ae --- /dev/null +++ b/datum/data/record/security.html @@ -0,0 +1,35 @@ + + + + + + + /datum/data/record/security - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

security + + + +

+ + +

Procs

set_criminal_statusSet the criminal status of a crew member in the security records.

Proc Details

set_criminal_status +

+

Set the criminal status of a crew member in the security records.

+ + + diff --git a/datum/data/tachyon_record.html b/datum/data/tachyon_record.html new file mode 100644 index 000000000000..6a2d8a6a95b3 --- /dev/null +++ b/datum/data/tachyon_record.html @@ -0,0 +1,36 @@ + + + + + + + /datum/data/tachyon_record - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tachyon_record + + + +

+ + +

Vars

reaction_resultsIndexed to length 3 if filled properly. Should be an empty list otherwise.
+

Var Details

reaction_results + + + + +

+

Indexed to length 3 if filled properly. Should be an empty list otherwise.

+ + + diff --git a/datum/data/vending_product.html b/datum/data/vending_product.html new file mode 100644 index 000000000000..f40add0e1871 --- /dev/null +++ b/datum/data/vending_product.html @@ -0,0 +1,85 @@ + + + + + + + /datum/data/vending_product - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vending record datum + + + +

+ +

A datum that represents a product that is vendable

+ + + + + + + +

Vars

age_restrictedWhether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item
amountHow many of this product we currently have
colorableWhether the product can be recolored by the GAGS system
custom_premium_priceDoes the item have a custom premium price override
custom_priceDoes the item have a custom price override
max_amountHow many we can store at maximum
product_pathTypepath of the product that is created when this record "sells"
returned_productsList of items that have been returned to the vending machine.
+

Var Details

age_restricted + + + + +

+

Whether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item

amount + + + + +

+

How many of this product we currently have

colorable + + + + +

+

Whether the product can be recolored by the GAGS system

custom_premium_price + + + + +

+

Does the item have a custom premium price override

custom_price + + + + +

+

Does the item have a custom price override

max_amount + + + + +

+

How many we can store at maximum

product_path + + + + +

+

Typepath of the product that is created when this record "sells"

returned_products + + + + +

+

List of items that have been returned to the vending machine.

+ + + diff --git a/datum/data_library.html b/datum/data_library.html new file mode 100644 index 000000000000..c8b274066d3f --- /dev/null +++ b/datum/data_library.html @@ -0,0 +1,42 @@ + + + + + + + /datum/data_library - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

data_library + + + +

+ + + +

Procs

get_record_by_nameReturns a data record or null.
inject_recordInject a record into this library.

Proc Details

get_record_by_name +

+

Returns a data record or null.

inject_record +

+

Inject a record into this library.

+ + + diff --git a/datum/db_query.html b/datum/db_query.html new file mode 100644 index 000000000000..52d644f75f34 --- /dev/null +++ b/datum/db_query.html @@ -0,0 +1,50 @@ + + + + + + + /datum/db_query - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

db_query + + + +

+ + + + +

Vars

job_idJob ID of the query passed by rustg.
statusCurrent status of the query.

Procs

syncSleeps until execution of the query has finished.
+

Var Details

job_id + + + + +

+

Job ID of the query passed by rustg.

status + + + + +

+

Current status of the query.

Proc Details

sync +

+

Sleeps until execution of the query has finished.

+ + + diff --git a/datum/decompose_matrix.html b/datum/decompose_matrix.html new file mode 100644 index 000000000000..6838d0ade988 --- /dev/null +++ b/datum/decompose_matrix.html @@ -0,0 +1,64 @@ + + + + + + + /datum/decompose_matrix - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

decompose_matrix + + + +

+ +

Datum which stores information about a matrix decomposed with decompose().

+ + + + +

Vars

rotation?
scale_x?
scale_y?
shift_x?
shift_y?
+

Var Details

rotation + + + + +

+

?

scale_x + + + + +

+

?

scale_y + + + + +

+

?

shift_x + + + + +

+

?

shift_y + + + + +

+

?

+ + + diff --git a/datum/design.html b/datum/design.html new file mode 100644 index 000000000000..77422bb754a9 --- /dev/null +++ b/datum/design.html @@ -0,0 +1,163 @@ + + + + + + + /datum/design - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

design + + + +

+ +

Design Datums +All the data for building stuff.

+ + + + + + + + + + + + + + + + + + +

Vars

build_pathThe typepath of the object produced by this design
build_typeBitflags indicating what machines this design is compatable with. ([IMPRINTER]|AWAY_IMPRINTER|[FABRICATOR]|[AWAY_LATHE]|[AUTOLATHE]|[MECHFAB]|[BIOGENERATOR]|[LIMBGROWER]|[SMELTER])
categoryWhat category this design falls under. Used for sorting in production machines, mostly the mechfab.
construction_timeThe amount of time required to create one unit of the product.
dangerous_constructionIf this is [TRUE] the admins get notified whenever anyone prints this. Currently only used by the BoH.
descDescription of the created object
icon_cacheAppears to be unused.
idThe ID of the design. Used for quick reference. Alphanumeric, lower-case, no symbols
lathe_time_factorProduction speed multiplier
make_reagentsList of reagents produced by this design. Currently only supported by the biogenerator.
mapload_design_flagsBitflags indicating what rnd machines should have this design roundstart.
materialsList of materials required to create one unit of the product. Format is (typepath or caregory) -> amount
maxstackThe maximum number of units of whatever is produced by this can be produced in one go.
nameName of the created object
reagents_listList of reagents required to create one unit of the product.
research_iconOverride for the automatic icon generation used for some UIs
research_icon_stateOverride for the automatic icon state generation used for some UIs.
search_metadataOptional string that interfaces can use as part of search filters. See- item/borg/upgrade/ai and the Exosuit Fabs.

Procs

get_descriptionReturns the description of the design
+

Var Details

build_path + + + + +

+

The typepath of the object produced by this design

build_type + + + + +

+

Bitflags indicating what machines this design is compatable with. ([IMPRINTER]|AWAY_IMPRINTER|[FABRICATOR]|[AWAY_LATHE]|[AUTOLATHE]|[MECHFAB]|[BIOGENERATOR]|[LIMBGROWER]|[SMELTER])

category + + + + +

+

What category this design falls under. Used for sorting in production machines, mostly the mechfab.

construction_time + + + + +

+

The amount of time required to create one unit of the product.

dangerous_construction + + + + +

+

If this is [TRUE] the admins get notified whenever anyone prints this. Currently only used by the BoH.

desc + + + + +

+

Description of the created object

icon_cache + + + + +

+

Appears to be unused.

id + + + + +

+

The ID of the design. Used for quick reference. Alphanumeric, lower-case, no symbols

lathe_time_factor + + + + +

+

Production speed multiplier

make_reagents + + + + +

+

List of reagents produced by this design. Currently only supported by the biogenerator.

mapload_design_flags + + + + +

+

Bitflags indicating what rnd machines should have this design roundstart.

materials + + + + +

+

List of materials required to create one unit of the product. Format is (typepath or caregory) -> amount

maxstack + + + + +

+

The maximum number of units of whatever is produced by this can be produced in one go.

name + + + + +

+

Name of the created object

reagents_list + + + + +

+

List of reagents required to create one unit of the product.

research_icon + + + + +

+

Override for the automatic icon generation used for some UIs

research_icon_state + + + + +

+

Override for the automatic icon state generation used for some UIs.

search_metadata + + + + +

+

Optional string that interfaces can use as part of search filters. See- item/borg/upgrade/ai and the Exosuit Fabs.

Proc Details

get_description +

+

Returns the description of the design

+ + + diff --git a/datum/discord_embed.html b/datum/discord_embed.html new file mode 100644 index 000000000000..550fef19f803 --- /dev/null +++ b/datum/discord_embed.html @@ -0,0 +1,122 @@ + + + + + + + /datum/discord_embed - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

discord_embed + + + +

+ +

Documentation for the embed object and all of its variables can be found at +https://discord.com/developers/docs/resources/channel#embed-object +It is recommended to read the documentation on the discord website, as the information below could become outdated in the future.

+ + + + + + + + + + + + +

Vars

authorName of the author of the embed
colorThe colour that appears on the top of the embed. This is an integer and is the color code of the embed.
contentAny content that should appear above the embed
descriptionThe description
fieldsA key-value string list of fields that should be displayed
footerThe footer that appears on the embed
imageString representing a link to an image
providerString representing the name of the provider
provider_urlString representing the link of the provider
thumbnailString representing a link to the thumbnail image
titleTitle of the embed
urlThe URL that the title
videoString representing a link to the video
+

Var Details

author + + + + +

+

Name of the author of the embed

color + + + + +

+

The colour that appears on the top of the embed. This is an integer and is the color code of the embed.

content + + + + +

+

Any content that should appear above the embed

description + + + + +

+

The description

fields + + + + +

+

A key-value string list of fields that should be displayed

footer + + + + +

+

The footer that appears on the embed

image + + + + +

+

String representing a link to an image

provider + + + + +

+

String representing the name of the provider

provider_url + + + + +

+

String representing the link of the provider

thumbnail + + + + +

+

String representing a link to the thumbnail image

title + + + + +

+

Title of the embed

url + + + + +

+

The URL that the title

video + + + + +

+

String representing a link to the video

+ + + diff --git a/datum/discord_link_record.html b/datum/discord_link_record.html new file mode 100644 index 000000000000..b94686fc865a --- /dev/null +++ b/datum/discord_link_record.html @@ -0,0 +1,43 @@ + + + + + + + /datum/discord_link_record - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

discord_link_record + + + +

+ +

Represents a record from the discord link table in a nicer format

+

Procs

NewGenerate a discord link datum from the values

Proc Details

New +

+

Generate a discord link datum from the values

+

Arguments:

+
+ + + diff --git a/datum/disease.html b/datum/disease.html new file mode 100644 index 000000000000..c7dd5a0db202 --- /dev/null +++ b/datum/disease.html @@ -0,0 +1,70 @@ + + + + + + + /datum/disease - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

disease + + + +

+ + + + + + +

Vars

cure_chanceThe probability of this infection being cured every second the cure is present
infectivityThe probability of spreading through the air every second
stage_probThe probability of this infection advancing a stage every second the cure is not present.

Procs

is_viable_mobtypeChecks the given typepath against the list of viable mobtypes.
stage_actProc to process the disease and decide on whether to advance, cure or make the sympthoms appear. Returns a boolean on whether to continue acting on the symptoms or not.
+

Var Details

cure_chance + + + + +

+

The probability of this infection being cured every second the cure is present

infectivity + + + + +

+

The probability of spreading through the air every second

stage_prob + + + + +

+

The probability of this infection advancing a stage every second the cure is not present.

Proc Details

is_viable_mobtype +

+

Checks the given typepath against the list of viable mobtypes.

+

Returns TRUE if the mob_type path is derived from of any entry in the viable_mobtypes list. +Returns FALSE otherwise.

+

Arguments:

+

stage_act +

+

Proc to process the disease and decide on whether to advance, cure or make the sympthoms appear. Returns a boolean on whether to continue acting on the symptoms or not.

+ + + diff --git a/datum/dna.html b/datum/dna.html new file mode 100644 index 000000000000..9d6ad4ddf668 --- /dev/null +++ b/datum/dna.html @@ -0,0 +1,166 @@ + + + + + + + /datum/dna - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

dna + + + +

+ +

DNA DATUM

+ + + + + + + + + + + + + + + + + + +

Vars

current_body_sizeCurrent body size, used for proper re-sizing and keeping track of that
default_mutation_genesList of the default genes from this mutation to allow DNA Scanner highlighting
featuresfirst value is mutant color //This comment is older than the average tg player
mutant_colorsA large list of key:value pairs for mutant colors
mutation_indexList of which mutations this carbon has and its assigned block
mutationsAll mutations are from now on here
previousFor temporary name/ui/ue/blood_type modifications
real_nameStores the real name of the person who originally got this dna datum. Used primarely for changelings,
scrambledDid we take something like mutagen? In that case we cant get our genes scanned to instantly cheese all the powers.
speciesThe type of mutant race the player is if applicable (i.e. potato-man)
temporary_mutationsTemporary changes to the UE
unique_enzymesAn md5 hash of the dna holder's real name
unique_featuresStores the hashed values of the person's non-human features
unique_identityStores the hashed values of traits such as skin tones, hair style, and gender

Procs

is_same_asChecks if two DNAs are practically the same by comparing their most defining features
mutation_in_sequenceDNA HELPER-PROCS
set_uni_feature_blockSetter macro used to modify unique features blocks.
set_uni_identity_blockSetter macro used to modify unique identity blocks.
update_body_sizeDNA MOB-PROCS
+

Var Details

current_body_size + + + + +

+

Current body size, used for proper re-sizing and keeping track of that

default_mutation_genes + + + + +

+

List of the default genes from this mutation to allow DNA Scanner highlighting

features + + + + +

+

first value is mutant color //This comment is older than the average tg player

mutant_colors + + + + +

+

A large list of key:value pairs for mutant colors

mutation_index + + + + +

+

List of which mutations this carbon has and its assigned block

mutations + + + + +

+

All mutations are from now on here

previous + + + + +

+

For temporary name/ui/ue/blood_type modifications

real_name + + + + +

+

Stores the real name of the person who originally got this dna datum. Used primarely for changelings,

scrambled + + + + +

+

Did we take something like mutagen? In that case we cant get our genes scanned to instantly cheese all the powers.

species + + + + +

+

The type of mutant race the player is if applicable (i.e. potato-man)

temporary_mutations + + + + +

+

Temporary changes to the UE

unique_enzymes + + + + +

+

An md5 hash of the dna holder's real name

unique_features + + + + +

+

Stores the hashed values of the person's non-human features

unique_identity + + + + +

+

Stores the hashed values of traits such as skin tones, hair style, and gender

Proc Details

is_same_as +

+

Checks if two DNAs are practically the same by comparing their most defining features

+

Arguments:

+

mutation_in_sequence +

+

DNA HELPER-PROCS

set_uni_feature_block +

+

Setter macro used to modify unique features blocks.

set_uni_identity_block +

+

Setter macro used to modify unique identity blocks.

update_body_size +

+

DNA MOB-PROCS

+ + + diff --git a/datum/dream.html b/datum/dream.html new file mode 100644 index 000000000000..ad93e32ac764 --- /dev/null +++ b/datum/dream.html @@ -0,0 +1,91 @@ + + + + + + + /datum/dream - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

dream + + + +

+ +

Contains all the behavior needed to play a kind of dream. +All dream types get randomly selected from based on weight when an appropriate mobs dreams.

+ + + + + + +

Vars

sleep_until_finishedCauses the mob to sleep long enough for the dream to finish if begun
weightThe relative chance this dream will be randomly selected

Procs

DreamLoopDisplays the passed list of dream fragments to a sleeping carbon.
GenerateDreamCalled when beginning a new dream for the dreamer. +Gives back a list of dream events. Events can be text or callbacks that return text. +The associated value is the delay FOLLOWING the message at that index, in deciseconds.
OnDreamEndCalled when the dream ends or is interrupted.
OnDreamStartCalled when the dream starts.
WrapMessageCalled by dream_sequence to wrap a message in any effects.
+

Var Details

sleep_until_finished + + + + +

+

Causes the mob to sleep long enough for the dream to finish if begun

weight + + + + +

+

The relative chance this dream will be randomly selected

Proc Details

DreamLoop +

+

Displays the passed list of dream fragments to a sleeping carbon.

+

Displays the first string of the passed dream fragments, then either ends the dream sequence +or performs a callback on itself depending on if there are any remaining dream fragments to display.

+

Arguments:

+

GenerateDream +

+

Called when beginning a new dream for the dreamer. +Gives back a list of dream events. Events can be text or callbacks that return text. +The associated value is the delay FOLLOWING the message at that index, in deciseconds.

OnDreamEnd +

+

Called when the dream ends or is interrupted.

OnDreamStart +

+

Called when the dream starts.

WrapMessage +

+

Called by dream_sequence to wrap a message in any effects.

+ + + diff --git a/datum/dream/detective_nightmare/limbic_system.html b/datum/dream/detective_nightmare/limbic_system.html new file mode 100644 index 000000000000..81ea145b718a --- /dev/null +++ b/datum/dream/detective_nightmare/limbic_system.html @@ -0,0 +1,36 @@ + + + + + + + /datum/dream/detective_nightmare/limbic_system - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

limbic_system + + + +

+ + +

Vars

fragmentsThe fragments are deterministic, just need to replacetext the name.
+

Var Details

fragments + + + + +

+

The fragments are deterministic, just need to replacetext the name.

+ + + diff --git a/datum/duel.html b/datum/duel.html new file mode 100644 index 000000000000..49ce8ee185d5 --- /dev/null +++ b/datum/duel.html @@ -0,0 +1,35 @@ + + + + + + + /datum/duel - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

duel + + + +

+ + +

Procs

clear_duelFor each linked gun that still exists, clear its reference to us, then delete.

Proc Details

clear_duel +

+

For each linked gun that still exists, clear its reference to us, then delete.

+ + + diff --git a/datum/dynamic_ruleset.html b/datum/dynamic_ruleset.html new file mode 100644 index 000000000000..89c40e54eae7 --- /dev/null +++ b/datum/dynamic_ruleset.html @@ -0,0 +1,393 @@ + + + + + + + /datum/dynamic_ruleset - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

dynamic_ruleset + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

antag_capJudges the amount of antagonists to apply, for both solo and teams. +Note that some antagonists (such as traitors, lings, heretics, etc) will add more based on how many times they've been scaled. +Written as a linear equation--ceil(x/denominator) + offset, or as a fixed constant. +If written as a linear equation, will be in the form of `list("denominator" = denominator, "offset" = offset).
antag_datumThe antagonist datum that is assigned to the mobs mind on ruleset execution.
antag_flagPreferences flag such as ROLE_WIZARD that need to be turned on for players to be antag.
antag_flag_overrideIf a role is to be considered another for the purpose of banning.
antag_preferenceIf set, will check this preference instead of antag_flag.
assignedList of players that were selected for this rule
base_probBase probability used in scaling. The higher it is, the more likely to scale. Kept as a var to allow for config editing._SendSignal(sigtype, list/arguments)
blocking_rulesIf a ruleset type which is in this list has been executed, then the ruleset will not be executed.
candidatesList of players that are being drafted for this rule
costThreat cost for this rule, this is decreased from the mode's threat when the rule is executed.
delayDelay for when execute will get called from the time of post_setup (roundstart) or process (midround/latejoin). +Make sure your ruleset works with execute being called during the game when using this, and that the clean_up proc reverts it properly in case of faliure.
enemy_rolesIf set, there needs to be a certain amount of players doing those roles (among the players who won't be drafted) for the rule to be drafted IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.
exclusive_rolesIf set, rule will only accept candidates from those roles. If on a roundstart ruleset, requires the player to have the correct antag pref enabled and any of the possible roles enabled.
flagsA flag that determines how the ruleset is handled. Check __DEFINES/dynamic.dm for an explanation of the accepted values.
indice_popCalculated during acceptable(), used in scaling and team sizes.
maximum_playersThe maximum amount of players required for the rule to be considered. +Anything below zero or exactly zero is ignored.
minimum_playersThe minimum amount of players required for the rule to be considered.
minimum_required_ageThe required minimum account age for this ruleset.
modeReference to the mode, use this instead of SSticker.mode.
nameFor admin logging and round end screen.
persistentIf set to TRUE, the rule won't be discarded after being executed, and dynamic will call rule_process() every time it ticks.
pop_per_requirementPop range per requirement. If zero defaults to mode's pop_per_requirement.
protected_rolesIf set, and config flag protect_roles_from_antagonist is false, then the rule will not pick players from these roles.
repeatableIf set to TRUE, dynamic mode will be able to draft this ruleset again later on. (doesn't apply for roundstart rules)
repeatable_weight_decreaseIf set higher than 0 decreases weight by itself causing the ruleset to appear less often the more it is repeated.
required_candidatesThe rule needs this many candidates (post-trimming) to be executed (example: Cult needs 4 players at round start)
required_enemiesIf enemy_roles was set, this is the amount of enemy job workers needed per threat_level range (0-10,10-20,etc) IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.
requirementsRequirements are the threat level requirements per pop range. +With the default values, The rule will never get drafted below 10 threat level (aka: "peaceful extended"), and it requires a higher threat level at lower pops.
restricted_rolesIf set, rule will deny candidates from those roles always.
ruletypeFor admin logging and round end screen, do not change this unless making a new rule type.
scaled_timesHow many times a rule has scaled up upon getting picked.
scaling_costCost per level the rule scales up.
total_costUsed for the roundend report
weight0 -> 9, probability for this rule to be picked against other rules. If zero this will effectively disable the rule.

Procs

acceptableBy default, a rule is acceptable if it satisfies the threat level/population requirements. +If your rule has extra checks, such as counting security officers, do that in ready() instead
check_finishedReturns TRUE if the round should end.
clean_upRuns from gamemode process() if ruleset fails to start, like delayed rulesets not getting valid candidates. +This one only handles refunding the threat, override in ruleset to clean up the rest.
executeCalled on post_setup on roundstart and when the rule executes on midround and latejoin. +Give your candidates or assignees equipment and antag datum here.
get_antag_capReturns what the antag cap with the given population is.
get_weightGets weight of the ruleset +Note that this decreases weight if repeatable is TRUE and repeatable_weight_decrease is higher than 0 +Note: If you don't want repeatable rulesets to decrease their weight use the weight variable directly
pre_executeCalled on game mode pre_setup for roundstart rulesets. +Do everything you need to do before job is assigned here. +IMPORTANT: ASSIGN special_role HERE
readyHere you can perform any additional checks you want. (such as checking the map etc) +Remember that on roundstart no one knows what their job is at this point. +IMPORTANT: If ready() returns TRUE, that means pre_execute() or execute() should never fail!
round_resultSet mode result and news report here. +Only called if ruleset is flagged as HIGH_IMPACT_RULESET
rule_processThis is called if persistent variable is true everytime SSTicker ticks.
scale_upWhen picking rulesets, if dynamic picks the same one multiple times, it will "scale up". +However, doing this blindly would result in lowpop rounds (think under 10 people) where over 80% of the crew is antags! +This function is here to ensure the antag ratio is kept under control while scaling up. +Returns how much threat to actually spend in the end.
trim_candidatesHere you can remove candidates that do not meet your requirements. +This means if their job is not correct or they have disconnected you can remove them from candidates here. +Usually this does not need to be changed unless you need some specific requirements from your candidates.
+

Var Details

antag_cap + + + + +

+

Judges the amount of antagonists to apply, for both solo and teams. +Note that some antagonists (such as traitors, lings, heretics, etc) will add more based on how many times they've been scaled. +Written as a linear equation--ceil(x/denominator) + offset, or as a fixed constant. +If written as a linear equation, will be in the form of `list("denominator" = denominator, "offset" = offset).

antag_datum + + + + +

+

The antagonist datum that is assigned to the mobs mind on ruleset execution.

antag_flag + + + + +

+

Preferences flag such as ROLE_WIZARD that need to be turned on for players to be antag.

antag_flag_override + + + + +

+

If a role is to be considered another for the purpose of banning.

antag_preference + + + + +

+

If set, will check this preference instead of antag_flag.

assigned + + + + +

+

List of players that were selected for this rule

base_prob + + + + +

+

Base probability used in scaling. The higher it is, the more likely to scale. Kept as a var to allow for config editing._SendSignal(sigtype, list/arguments)

blocking_rules + + + + +

+

If a ruleset type which is in this list has been executed, then the ruleset will not be executed.

candidates + + + + +

+

List of players that are being drafted for this rule

cost + + + + +

+

Threat cost for this rule, this is decreased from the mode's threat when the rule is executed.

delay + + + + +

+

Delay for when execute will get called from the time of post_setup (roundstart) or process (midround/latejoin). +Make sure your ruleset works with execute being called during the game when using this, and that the clean_up proc reverts it properly in case of faliure.

enemy_roles + + + + +

+

If set, there needs to be a certain amount of players doing those roles (among the players who won't be drafted) for the rule to be drafted IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.

exclusive_roles + + + + +

+

If set, rule will only accept candidates from those roles. If on a roundstart ruleset, requires the player to have the correct antag pref enabled and any of the possible roles enabled.

flags + + + + +

+

A flag that determines how the ruleset is handled. Check __DEFINES/dynamic.dm for an explanation of the accepted values.

indice_pop + + + + +

+

Calculated during acceptable(), used in scaling and team sizes.

maximum_players + + + + +

+

The maximum amount of players required for the rule to be considered. +Anything below zero or exactly zero is ignored.

minimum_players + + + + +

+

The minimum amount of players required for the rule to be considered.

minimum_required_age + + + + +

+

The required minimum account age for this ruleset.

mode + + + + +

+

Reference to the mode, use this instead of SSticker.mode.

name + + + + +

+

For admin logging and round end screen.

persistent + + + + +

+

If set to TRUE, the rule won't be discarded after being executed, and dynamic will call rule_process() every time it ticks.

pop_per_requirement + + + + +

+

Pop range per requirement. If zero defaults to mode's pop_per_requirement.

protected_roles + + + + +

+

If set, and config flag protect_roles_from_antagonist is false, then the rule will not pick players from these roles.

repeatable + + + + +

+

If set to TRUE, dynamic mode will be able to draft this ruleset again later on. (doesn't apply for roundstart rules)

repeatable_weight_decrease + + + + +

+

If set higher than 0 decreases weight by itself causing the ruleset to appear less often the more it is repeated.

required_candidates + + + + +

+

The rule needs this many candidates (post-trimming) to be executed (example: Cult needs 4 players at round start)

required_enemies + + + + +

+

If enemy_roles was set, this is the amount of enemy job workers needed per threat_level range (0-10,10-20,etc) IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.

requirements + + + + +

+

Requirements are the threat level requirements per pop range. +With the default values, The rule will never get drafted below 10 threat level (aka: "peaceful extended"), and it requires a higher threat level at lower pops.

restricted_roles + + + + +

+

If set, rule will deny candidates from those roles always.

ruletype + + + + +

+

For admin logging and round end screen, do not change this unless making a new rule type.

scaled_times + + + + +

+

How many times a rule has scaled up upon getting picked.

scaling_cost + + + + +

+

Cost per level the rule scales up.

total_cost + + + + +

+

Used for the roundend report

weight + + + + +

+

0 -> 9, probability for this rule to be picked against other rules. If zero this will effectively disable the rule.

Proc Details

acceptable +

+

By default, a rule is acceptable if it satisfies the threat level/population requirements. +If your rule has extra checks, such as counting security officers, do that in ready() instead

check_finished +

+

Returns TRUE if the round should end.

clean_up +

+

Runs from gamemode process() if ruleset fails to start, like delayed rulesets not getting valid candidates. +This one only handles refunding the threat, override in ruleset to clean up the rest.

execute +

+

Called on post_setup on roundstart and when the rule executes on midround and latejoin. +Give your candidates or assignees equipment and antag datum here.

get_antag_cap +

+

Returns what the antag cap with the given population is.

get_weight +

+

Gets weight of the ruleset +Note that this decreases weight if repeatable is TRUE and repeatable_weight_decrease is higher than 0 +Note: If you don't want repeatable rulesets to decrease their weight use the weight variable directly

pre_execute +

+

Called on game mode pre_setup for roundstart rulesets. +Do everything you need to do before job is assigned here. +IMPORTANT: ASSIGN special_role HERE

ready +

+

Here you can perform any additional checks you want. (such as checking the map etc) +Remember that on roundstart no one knows what their job is at this point. +IMPORTANT: If ready() returns TRUE, that means pre_execute() or execute() should never fail!

round_result +

+

Set mode result and news report here. +Only called if ruleset is flagged as HIGH_IMPACT_RULESET

rule_process +

+

This is called if persistent variable is true everytime SSTicker ticks.

scale_up +

+

When picking rulesets, if dynamic picks the same one multiple times, it will "scale up". +However, doing this blindly would result in lowpop rounds (think under 10 people) where over 80% of the crew is antags! +This function is here to ensure the antag ratio is kept under control while scaling up. +Returns how much threat to actually spend in the end.

trim_candidates +

+

Here you can remove candidates that do not meet your requirements. +This means if their job is not correct or they have disconnected you can remove them from candidates here. +Usually this does not need to be changed unless you need some specific requirements from your candidates.

+ + + diff --git a/datum/dynamic_ruleset/latejoin/provocateur.html b/datum/dynamic_ruleset/latejoin/provocateur.html new file mode 100644 index 000000000000..c82da2b52358 --- /dev/null +++ b/datum/dynamic_ruleset/latejoin/provocateur.html @@ -0,0 +1,43 @@ + + + + + + + /datum/dynamic_ruleset/latejoin/provocateur - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

provocateur + + + +

+ + + +

Vars

revs_win_threat_injectionHow much threat should be injected when the revolution wins?

Procs

check_eligibleChecks for revhead loss conditions and other antag datums.
+

Var Details

revs_win_threat_injection + + + + +

+

How much threat should be injected when the revolution wins?

Proc Details

check_eligible +

+

Checks for revhead loss conditions and other antag datums.

+ + + diff --git a/datum/dynamic_ruleset/midround.html b/datum/dynamic_ruleset/midround.html new file mode 100644 index 000000000000..030195c82744 --- /dev/null +++ b/datum/dynamic_ruleset/midround.html @@ -0,0 +1,43 @@ + + + + + + + /datum/dynamic_ruleset/midround - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

midround + + + +

+ + + +

Vars

required_typeWhat mob type the ruleset is restricted to.
restrict_ghost_rolesIf the ruleset should be restricted from ghost roles.
+

Var Details

required_type + + + + +

+

What mob type the ruleset is restricted to.

restrict_ghost_roles + + + + +

+

If the ruleset should be restricted from ghost roles.

+ + + diff --git a/datum/dynamic_ruleset/midround/autotraitor.html b/datum/dynamic_ruleset/midround/autotraitor.html new file mode 100644 index 000000000000..7814ee73519f --- /dev/null +++ b/datum/dynamic_ruleset/midround/autotraitor.html @@ -0,0 +1,38 @@ + + + + + + + /datum/dynamic_ruleset/midround/autotraitor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

autotraitor + + + +

+ + +

Vars

has_failure_chanceWhether or not this instance of sleeper agent should be randomly acceptable. +If TRUE, then this has a threat level% chance to succeed.
+

Var Details

has_failure_chance + + + + +

+

Whether or not this instance of sleeper agent should be randomly acceptable. +If TRUE, then this has a threat level% chance to succeed.

+ + + diff --git a/datum/dynamic_ruleset/midround/families.html b/datum/dynamic_ruleset/midround/families.html new file mode 100644 index 000000000000..13c987e83567 --- /dev/null +++ b/datum/dynamic_ruleset/midround/families.html @@ -0,0 +1,36 @@ + + + + + + + /datum/dynamic_ruleset/midround/families - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

families + + + +

+ + +

Vars

handlerA reference to the handler that is used to run pre_execute(), execute(), etc..
+

Var Details

handler + + + + +

+

A reference to the handler that is used to run pre_execute(), execute(), etc..

+ + + diff --git a/datum/dynamic_ruleset/midround/from_ghosts.html b/datum/dynamic_ruleset/midround/from_ghosts.html new file mode 100644 index 000000000000..ab6b0c061ffc --- /dev/null +++ b/datum/dynamic_ruleset/midround/from_ghosts.html @@ -0,0 +1,66 @@ + + + + + + + /datum/dynamic_ruleset/midround/from_ghosts - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

from_ghosts + + + +

+ + + + + + +

Vars

makeBodyWhether the ruleset should call generate_ruleset_body or not.
required_applicantsThe rule needs this many applicants to be properly executed.

Procs

attempt_replacementFired when there are no valid candidates. Will spawn a sleeper agent or latejoin traitor.
review_applicationsHere is where you can check if your ghost applicants are valid for the ruleset. +Called by send_applications().
send_applicationsThis sends a poll to ghosts if they want to be a ghost spawn from a ruleset.
+

Var Details

makeBody + + + + +

+

Whether the ruleset should call generate_ruleset_body or not.

required_applicants + + + + +

+

The rule needs this many applicants to be properly executed.

Proc Details

attempt_replacement +

+

Fired when there are no valid candidates. Will spawn a sleeper agent or latejoin traitor.

review_applications +

+

Here is where you can check if your ghost applicants are valid for the ruleset. +Called by send_applications().

send_applications +

+

This sends a poll to ghosts if they want to be a ghost spawn from a ruleset.

+ + + diff --git a/datum/dynamic_ruleset/roundstart.html b/datum/dynamic_ruleset/roundstart.html new file mode 100644 index 000000000000..b2b06145cd1c --- /dev/null +++ b/datum/dynamic_ruleset/roundstart.html @@ -0,0 +1,44 @@ + + + + + + + /datum/dynamic_ruleset/roundstart - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

roundstart + + + +

+ + + +

Procs

readyDo your checks if the ruleset is ready to be executed here. +Should ignore certain checks if forced is TRUE
trim_candidatesChecks if candidates are connected and if they are banned or don't want to be the antagonist.

Proc Details

ready +

+

Do your checks if the ruleset is ready to be executed here. +Should ignore certain checks if forced is TRUE

trim_candidates +

+

Checks if candidates are connected and if they are banned or don't want to be the antagonist.

+ + + diff --git a/datum/dynamic_ruleset/roundstart/families.html b/datum/dynamic_ruleset/roundstart/families.html new file mode 100644 index 000000000000..c1f4de04bb36 --- /dev/null +++ b/datum/dynamic_ruleset/roundstart/families.html @@ -0,0 +1,36 @@ + + + + + + + /datum/dynamic_ruleset/roundstart/families - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

families + + + +

+ + +

Vars

handlerA reference to the handler that is used to run pre_execute(), execute(), etc..
+

Var Details

handler + + + + +

+

A reference to the handler that is used to run pre_execute(), execute(), etc..

+ + + diff --git a/datum/dynamic_ruleset/roundstart/revs.html b/datum/dynamic_ruleset/roundstart/revs.html new file mode 100644 index 000000000000..3ea8c93d5778 --- /dev/null +++ b/datum/dynamic_ruleset/roundstart/revs.html @@ -0,0 +1,43 @@ + + + + + + + /datum/dynamic_ruleset/roundstart/revs - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

revs + + + +

+ + + +

Vars

revs_win_threat_injectionHow much threat should be injected when the revolution wins?

Procs

check_eligibleChecks for revhead loss conditions and other antag datums.
+

Var Details

revs_win_threat_injection + + + + +

+

How much threat should be injected when the revolution wins?

Proc Details

check_eligible +

+

Checks for revhead loss conditions and other antag datums.

+ + + diff --git a/datum/dynamic_snapshot.html b/datum/dynamic_snapshot.html new file mode 100644 index 000000000000..95b302c14ebf --- /dev/null +++ b/datum/dynamic_snapshot.html @@ -0,0 +1,100 @@ + + + + + + + /datum/dynamic_snapshot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

dynamic_snapshot + + + +

+ +

A "snapshot" of dynamic at an important point in time. +Exported to JSON in the dynamic.json log file.

+ + + + + + + + + +

Vars

alive_antagsThe number of alive antags
alive_playersThe number of alive players
dead_playersThe number of dead players
observersThe number of observers
remaining_threatThe remaining midround threat
ruleset_chosenThe rulesets chosen this snapshot
serializationThe cached serialization of this snapshot
timeThe world.time when the snapshot was taken
total_playersThe total number of players in the server

Procs

to_listConvert the snapshot to an associative list
+

Var Details

alive_antags + + + + +

+

The number of alive antags

alive_players + + + + +

+

The number of alive players

dead_players + + + + +

+

The number of dead players

observers + + + + +

+

The number of observers

remaining_threat + + + + +

+

The remaining midround threat

ruleset_chosen + + + + +

+

The rulesets chosen this snapshot

serialization + + + + +

+

The cached serialization of this snapshot

time + + + + +

+

The world.time when the snapshot was taken

total_players + + + + +

+

The total number of players in the server

Proc Details

to_list +

+

Convert the snapshot to an associative list

+ + + diff --git a/datum/dynamic_snapshot_ruleset.html b/datum/dynamic_snapshot_ruleset.html new file mode 100644 index 000000000000..bf182096cc0c --- /dev/null +++ b/datum/dynamic_snapshot_ruleset.html @@ -0,0 +1,50 @@ + + + + + + + /datum/dynamic_snapshot_ruleset - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

dynamic_snapshot_ruleset + + + +

+ +

A ruleset chosen during a snapshot

+ + +

Vars

assignedThe number of assigned antags
nameThe name of the ruleset chosen
scaledIf it is a round start ruleset, how much it was scaled by
+

Var Details

assigned + + + + +

+

The number of assigned antags

name + + + + +

+

The name of the ruleset chosen

scaled + + + + +

+

If it is a round start ruleset, how much it was scaled by

+ + + diff --git a/datum/effect_system/fluid_spread.html b/datum/effect_system/fluid_spread.html new file mode 100644 index 000000000000..02d011174b02 --- /dev/null +++ b/datum/effect_system/fluid_spread.html @@ -0,0 +1,49 @@ + + + + + + + /datum/effect_system/fluid_spread - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

fluid_spread + + + +

+ +

A factory which produces fluid groups.

+ +

Vars

amountThe amount of smoke to produce.

Procs

help_out_the_adminsHandles logging the beginning of a fluid flood.
+

Var Details

amount + + + + +

+

The amount of smoke to produce.

Proc Details

help_out_the_admins +

+

Handles logging the beginning of a fluid flood.

+

Arguments:

+
+ + + diff --git a/datum/effect_system/fluid_spread/foam.html b/datum/effect_system/fluid_spread/foam.html new file mode 100644 index 000000000000..ae44d83b5f20 --- /dev/null +++ b/datum/effect_system/fluid_spread/foam.html @@ -0,0 +1,50 @@ + + + + + + + /datum/effect_system/fluid_spread/foam - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

foam + + + +

+ +

A factory for foam fluid floods.

+ + +

Vars

chemholderA container for all of the chemicals we distribute through the foam.
reagent_scaleThe amount that
result_typeWhat type of thing the foam should leave behind when it dissipates.
+

Var Details

chemholder + + + + +

+

A container for all of the chemicals we distribute through the foam.

reagent_scale + + + + +

+

The amount that

result_type + + + + +

+

What type of thing the foam should leave behind when it dissipates.

+ + + diff --git a/datum/effect_system/fluid_spread/smoke/chem.html b/datum/effect_system/fluid_spread/smoke/chem.html new file mode 100644 index 000000000000..013663c3ae61 --- /dev/null +++ b/datum/effect_system/fluid_spread/smoke/chem.html @@ -0,0 +1,36 @@ + + + + + + + /datum/effect_system/fluid_spread/smoke/chem - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chem + + + +

+ +

A factory which produces clouds of chemical bearing smoke.

+

Vars

chemholderEvil evil hack so we have something to "hold" our reagents
+

Var Details

chemholder + + + + +

+

Evil evil hack so we have something to "hold" our reagents

+ + + diff --git a/datum/effect_system/fluid_spread/smoke/freezing.html b/datum/effect_system/fluid_spread/smoke/freezing.html new file mode 100644 index 000000000000..7df14b1c6634 --- /dev/null +++ b/datum/effect_system/fluid_spread/smoke/freezing.html @@ -0,0 +1,72 @@ + + + + + + + /datum/effect_system/fluid_spread/smoke/freezing - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

freezing + + + +

+ +

A factory which produces light blue, transparent smoke and a blast that chills every turf in the area.

+ + + + +

Vars

blastThe radius in which to chill every open turf.
distcheckWhether to make sure each affected turf is actually within range before cooling it.
temperatureThe temperature to set the turfs air temperature to.
weldventsWhether to weld every vent and air scrubber in the affected area shut.

Procs

ChilledChills an open turf.
+

Var Details

blast + + + + +

+

The radius in which to chill every open turf.

distcheck + + + + +

+

Whether to make sure each affected turf is actually within range before cooling it.

temperature + + + + +

+

The temperature to set the turfs air temperature to.

weldvents + + + + +

+

Whether to weld every vent and air scrubber in the affected area shut.

Proc Details

Chilled +

+

Chills an open turf.

+

Forces the air temperature to a specific value. +Transmutes all of the plasma in the air into nitrogen. +Extinguishes all fires and burning objects/mobs in the turf. +May freeze all vents and vent scrubbers shut.

+

Arguments:

+
+ + + diff --git a/datum/effect_system/reagents_explosion.html b/datum/effect_system/reagents_explosion.html new file mode 100644 index 000000000000..c8f4ab7d8c8d --- /dev/null +++ b/datum/effect_system/reagents_explosion.html @@ -0,0 +1,35 @@ + + + + + + + /datum/effect_system/reagents_explosion - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

reagents_explosion + + + +

+ + +

Procs

startStarts the explosion. The explosion_source is as part of logging and identifying the source of the explosion for logs.

Proc Details

start +

+

Starts the explosion. The explosion_source is as part of logging and identifying the source of the explosion for logs.

+ + + diff --git a/datum/element.html b/datum/element.html new file mode 100644 index 000000000000..41195cda3a14 --- /dev/null +++ b/datum/element.html @@ -0,0 +1,63 @@ + + + + + + + /datum/element - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

element + + + +

+ +

A holder for simple behaviour that can be attached to many different types

+

Only one element of each type is instanced during game init. +Otherwise acts basically like a lightweight component.

+ + + +

Vars

element_flagsOption flags for element behaviour
id_arg_indexThe index of the first attach argument to consider for duplicate elements

Procs

AttachActivates the functionality defined by the element on the given target datum
DetachDeactivates the functionality defines by the element on the given datum
+

Var Details

element_flags + + + + +

+

Option flags for element behaviour

id_arg_index + + + + +

+

The index of the first attach argument to consider for duplicate elements

+

All arguments from this index onwards (1 based) are hashed into the key to determine +if this is a new unique element or one already exists

+

Is only used when flags contains ELEMENT_BESPOKE

+

This is infinity so you must explicitly set this

Proc Details

Attach +

+

Activates the functionality defined by the element on the given target datum

Detach +

+

Deactivates the functionality defines by the element on the given datum

+ + + diff --git a/datum/element/animal_variety.html b/datum/element/animal_variety.html new file mode 100644 index 000000000000..97c5a1473d41 --- /dev/null +++ b/datum/element/animal_variety.html @@ -0,0 +1,51 @@ + + + + + + + /datum/element/animal_variety - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

animal variety element! + + + +

+ +

bespoke element that picks an suffix to append onto the icon state from a list given on creation, among some pixel shifting stuff +basically you will see VARIETY in a batch of simplemobs.

+ + +

Vars

chosen_sprite_suffixchosen sprite suffix, in element args it picks from a list on what this will be
icon_prefixprefix for the icon state, this will always stay the same
modify_pixelsboolean on whether the element should also mess with the pixel_x and pixel_y
+

Var Details

chosen_sprite_suffix + + + + +

+

chosen sprite suffix, in element args it picks from a list on what this will be

icon_prefix + + + + +

+

prefix for the icon state, this will always stay the same

modify_pixels + + + + +

+

boolean on whether the element should also mess with the pixel_x and pixel_y

+ + + diff --git a/datum/element/atmos_requirements.html b/datum/element/atmos_requirements.html new file mode 100644 index 000000000000..7699536ef848 --- /dev/null +++ b/datum/element/atmos_requirements.html @@ -0,0 +1,39 @@ + + + + + + + /datum/element/atmos_requirements - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

atmos_requirements + + + +

+ +

Atmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage +Leaving something at 0 means it's off - has no maximum. +This damage is taken when atmos doesn't fit all the requirements above.

+atmos requirements element! +

bespoke element that deals damage to the attached mob when the atmos requirements aren't satisfied

+

Procs

on_non_stasis_lifesignal called by the living mob's life() while non stasis

Proc Details

on_non_stasis_life +

+

signal called by the living mob's life() while non stasis

+ + + diff --git a/datum/element/backblast.html b/datum/element/backblast.html new file mode 100644 index 000000000000..aa96e2a44c31 --- /dev/null +++ b/datum/element/backblast.html @@ -0,0 +1,73 @@ + + + + + + + /datum/element/backblast - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

backblast + + + +

+ +

When attached to a gun and the gun is successfully fired, this element creates a "backblast" of fire and pain, like you'd find in a rocket launcher or recoilless rifle

+

The backblast is simulated by a number of fire plumes, or invisible incendiary rounds that will torch anything they come across for a short distance, as well as knocking +back nearby items.

+ + + + + +

Vars

angle_spreadAssuming we don't just have 1 plume, this is the total angle we'll cover with the plumes, split down the middle directly behind the angle we fired at
plumesHow many "pellets" of backblast we're shooting backwards, spread between the angle defined in angle_spread
rangeHow far each plume of fire will fly, assuming it doesn't hit a mob

Procs

gun_firedFor firing multiple plumes behind us, we evenly spread out our projectiles based on the angle_spread and number of plumes
gun_fired_simpleIf we're only firing one plume directly behind us, we don't need to bother with the loop or angles or anything
pewFor firing an actual backblast pellet
+

Var Details

angle_spread + + + + +

+

Assuming we don't just have 1 plume, this is the total angle we'll cover with the plumes, split down the middle directly behind the angle we fired at

plumes + + + + +

+

How many "pellets" of backblast we're shooting backwards, spread between the angle defined in angle_spread

range + + + + +

+

How far each plume of fire will fly, assuming it doesn't hit a mob

Proc Details

gun_fired +

+

For firing multiple plumes behind us, we evenly spread out our projectiles based on the angle_spread and number of plumes

gun_fired_simple +

+

If we're only firing one plume directly behind us, we don't need to bother with the loop or angles or anything

pew +

+

For firing an actual backblast pellet

+ + + diff --git a/datum/element/bane.html b/datum/element/bane.html new file mode 100644 index 000000000000..d243c9051178 --- /dev/null +++ b/datum/element/bane.html @@ -0,0 +1,57 @@ + + + + + + + /datum/element/bane - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bane + + + +

+ +

Deals extra damage to mobs of a certain type or species.

+ + + +

Vars

added_damageAdded after the above.
damage_multipliermultiplier of the extra damage based on the force of the item.
requires_combat_modeIf it requires combat mode on to deal the extra damage or not.
target_typecan be a mob or a species.
+

Var Details

added_damage + + + + +

+

Added after the above.

damage_multiplier + + + + +

+

multiplier of the extra damage based on the force of the item.

requires_combat_mode + + + + +

+

If it requires combat mode on to deal the extra damage or not.

target_type + + + + +

+

can be a mob or a species.

+ + + diff --git a/datum/element/basic_body_temp_sensitive.html b/datum/element/basic_body_temp_sensitive.html new file mode 100644 index 000000000000..16878058a637 --- /dev/null +++ b/datum/element/basic_body_temp_sensitive.html @@ -0,0 +1,57 @@ + + + + + + + /datum/element/basic_body_temp_sensitive - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

basic_body_temp_sensitive + + + +

+ +

When attached to a basic mob, it gives it the ability to be hurt by cold/hot body temperatures

+ + + +

Vars

cold_damageDamage when below min temp
heat_damageDamage when above max temp
max_body_tempMax body temp
min_body_tempMin body temp
+

Var Details

cold_damage + + + + +

+

Damage when below min temp

heat_damage + + + + +

+

Damage when above max temp

max_body_temp + + + + +

+

Max body temp

min_body_temp + + + + +

+

Min body temp

+ + + diff --git a/datum/element/beauty.html b/datum/element/beauty.html new file mode 100644 index 000000000000..4bafd23fa6ae --- /dev/null +++ b/datum/element/beauty.html @@ -0,0 +1,40 @@ + + + + + + + /datum/element/beauty - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

beauty + + + +

+ +

Beauty element. It makes the indoor area the parent is in prettier or uglier depending on the beauty var value. +Clean and well decorated areas lead to positive moodlets for passerbies; +Shabbier, dirtier ones lead to negative moodlets EXCLUSIVE to characters with the snob quirk.

+

Vars

beauty_counterAssoc list of atoms as keys and number of time the same element instance has been attached to them as assoc value. +So things don't get odd with same-valued yet dissimilar beauty modifiers being added to the same atom.
+

Var Details

beauty_counter + + + + +

+

Assoc list of atoms as keys and number of time the same element instance has been attached to them as assoc value. +So things don't get odd with same-valued yet dissimilar beauty modifiers being added to the same atom.

+ + + diff --git a/datum/element/bed_tuckable.html b/datum/element/bed_tuckable.html new file mode 100644 index 000000000000..37ca0dcbe270 --- /dev/null +++ b/datum/element/bed_tuckable.html @@ -0,0 +1,68 @@ + + + + + + + /datum/element/bed_tuckable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

bed_tuckable + + + +

+ +

Tucking element, for things that can be tucked into bed.

+ + + + +

Vars

rotation_degreeour rotation degree - how much the item turns when in bed (+degrees turns it more parallel)
x_offsetour pixel_x offset - how much the item moves x when in bed (+x is closer to the pillow)
y_offsetour pixel_y offset - how much the item move y when in bed (-y is closer to the middle)

Procs

tuck_into_bedTuck our object into bed.
untuckIf we rotate our object, then we need to un-rotate it when it's picked up
+

Var Details

rotation_degree + + + + +

+

our rotation degree - how much the item turns when in bed (+degrees turns it more parallel)

x_offset + + + + +

+

our pixel_x offset - how much the item moves x when in bed (+x is closer to the pillow)

y_offset + + + + +

+

our pixel_y offset - how much the item move y when in bed (-y is closer to the middle)

Proc Details

tuck_into_bed +

+

Tuck our object into bed.

+

tucked - the object being tucked +target_bed - the bed we're tucking them into +tucker - the guy doing the tucking

untuck +

+

If we rotate our object, then we need to un-rotate it when it's picked up

+

tucked - the object that is tucked

+ + + diff --git a/datum/element/blood_walk.html b/datum/element/blood_walk.html new file mode 100644 index 000000000000..396a6bc7d22e --- /dev/null +++ b/datum/element/blood_walk.html @@ -0,0 +1,71 @@ + + + + + + + /datum/element/blood_walk - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

blood_walk + + + +

+ +

Blood walk, a bespoke element that causes you to make blood wherever you walk.

+ + + + + +

Vars

blood_spawn_chanceThe chance of spawning blood whenever walking
blood_typeA unique blood type we might want to spread
sound_playedThe sound that plays when we spread blood.
sound_volumeHow loud will the sound be, if there is one.
target_dir_changeShould the decal face the direction of the target

Procs

spread_bloodSpawns blood (if possible) under the source, and plays a sound effect (if any)
+

Var Details

blood_spawn_chance + + + + +

+

The chance of spawning blood whenever walking

blood_type + + + + +

+

A unique blood type we might want to spread

sound_played + + + + +

+

The sound that plays when we spread blood.

sound_volume + + + + +

+

How loud will the sound be, if there is one.

target_dir_change + + + + +

+

Should the decal face the direction of the target

Proc Details

spread_blood +

+

Spawns blood (if possible) under the source, and plays a sound effect (if any)

+ + + diff --git a/datum/element/bump_click.html b/datum/element/bump_click.html new file mode 100644 index 000000000000..e63c19684ad4 --- /dev/null +++ b/datum/element/bump_click.html @@ -0,0 +1,65 @@ + + + + + + + /datum/element/bump_click - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bump_click + + + +

+ +

Bump click bespoke element

+

Simulates a click on the attached atom when it's bumped, if the bumper and their active object meet certain criteria.

+ + + + +

Vars

allow_anyClick with any item?
allow_combatClick with combat mode on?
allow_unarmedClick with an empty active hand?
tool_behavioursTool behaviours to check for on the bumper's active held item before clicking the attached atom with it.
tool_typesTypes (and their subtypes) of item to look for in the bumper's active hand before clicking the attached atom.
+

Var Details

allow_any + + + + +

+

Click with any item?

allow_combat + + + + +

+

Click with combat mode on?

allow_unarmed + + + + +

+

Click with an empty active hand?

tool_behaviours + + + + +

+

Tool behaviours to check for on the bumper's active held item before clicking the attached atom with it.

tool_types + + + + +

+

Types (and their subtypes) of item to look for in the bumper's active hand before clicking the attached atom.

+ + + diff --git a/datum/element/chemical_transfer.html b/datum/element/chemical_transfer.html new file mode 100644 index 000000000000..2792a6dc30cf --- /dev/null +++ b/datum/element/chemical_transfer.html @@ -0,0 +1,68 @@ + + + + + + + /datum/element/chemical_transfer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

chemical_transfer + + + +

+ +chemical transfer element! +

Bespoke element that, on a certain chance to proc, transfers all chemicals from the person attacking to the victim being attacked +with whatever item has this element.

+

attacker_message uses %VICTIM as whomever is getting attacked. +victim_message uses %ATTACKER for the same.

+ + + + +

Vars

attacker_messagemessage attacker gets when the chemical transfer procs
transfer_probchance for the chemical transfer to proc.
victim_messagemessage victim gets when the chemical transfer procs

Procs

on_attacksignal called on parent being used to attack a victim
on_examinesignal called on parent being examined
+

Var Details

attacker_message + + + + +

+

message attacker gets when the chemical transfer procs

transfer_prob + + + + +

+

chance for the chemical transfer to proc.

victim_message + + + + +

+

message victim gets when the chemical transfer procs

Proc Details

on_attack +

+

signal called on parent being used to attack a victim

on_examine +

+

signal called on parent being examined

+ + + diff --git a/datum/element/chewable.html b/datum/element/chewable.html new file mode 100644 index 000000000000..e357c416db6b --- /dev/null +++ b/datum/element/chewable.html @@ -0,0 +1,53 @@ + + + + + + + /datum/element/chewable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chewable + + + +

+ +

Anything with this element will provide the reagents inside the +item to the user when it is equipped.

+ + +

Vars

metabolization_amountThe amount to metabolize per second
processingThe objects with this element that are currently being processed
slots_to_checkA bitfield of valid slots. If this is not provided, then it will +use the slot_flags of the item.
+

Var Details

metabolization_amount + + + + +

+

The amount to metabolize per second

processing + + + + +

+

The objects with this element that are currently being processed

slots_to_check + + + + +

+

A bitfield of valid slots. If this is not provided, then it will +use the slot_flags of the item.

+ + + diff --git a/datum/element/climbable.html b/datum/element/climbable.html new file mode 100644 index 000000000000..30990333d8d3 --- /dev/null +++ b/datum/element/climbable.html @@ -0,0 +1,64 @@ + + + + + + + /datum/element/climbable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

climbable + + + +

+ + + + + + +

Vars

climb_stunStun duration for when you get onto the object
climb_timeTime it takes to climb onto the object
current_climbersAssoc list of object being climbed on - climbers. This allows us to check who needs to be shoved off a climbable object when its clicked on.

Procs

mousedrop_receiveHandles climbing onto the atom when you click-drag
try_speedrunTries to climb onto the target if the forced movement of the mob allows it
+

Var Details

climb_stun + + + + +

+

Stun duration for when you get onto the object

climb_time + + + + +

+

Time it takes to climb onto the object

current_climbers + + + + +

+

Assoc list of object being climbed on - climbers. This allows us to check who needs to be shoved off a climbable object when its clicked on.

Proc Details

mousedrop_receive +

+

Handles climbing onto the atom when you click-drag

try_speedrun +

+

Tries to climb onto the target if the forced movement of the mob allows it

+ + + diff --git a/datum/element/connect_loc.html b/datum/element/connect_loc.html new file mode 100644 index 000000000000..2ceef1c22d39 --- /dev/null +++ b/datum/element/connect_loc.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/connect_loc - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

connect_loc + + + +

+ +

This element hooks a signal onto the loc the current object is on. +When the object moves, it will unhook the signal and rehook it to the new object.

+

Vars

connectionsAn assoc list of signal -> procpath to register to the loc this object is on.
+

Var Details

connections + + + + +

+

An assoc list of signal -> procpath to register to the loc this object is on.

+ + + diff --git a/datum/element/contextual_screentip_bare_hands.html b/datum/element/contextual_screentip_bare_hands.html new file mode 100644 index 000000000000..5759ba7c1c38 --- /dev/null +++ b/datum/element/contextual_screentip_bare_hands.html @@ -0,0 +1,59 @@ + + + + + + + /datum/element/contextual_screentip_bare_hands - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

contextual_screentip_bare_hands + + + +

+ +

Apply basic contextual screentips when the user hovers over this item with an empty hand. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

+ + + +

Vars

lmb_textIf set, the text to show for LMB
lmb_text_combat_modeIf set, the text to show for LMB when in combat mode. Otherwise, defaults to lmb_text.
rmb_textIf set, the text to show for RMB
rmb_text_combat_modeIf set, the text to show for RMB when in combat mode. Otherwise, defaults to rmb_text.
+

Var Details

lmb_text + + + + +

+

If set, the text to show for LMB

lmb_text_combat_mode + + + + +

+

If set, the text to show for LMB when in combat mode. Otherwise, defaults to lmb_text.

rmb_text + + + + +

+

If set, the text to show for RMB

rmb_text_combat_mode + + + + +

+

If set, the text to show for RMB when in combat mode. Otherwise, defaults to rmb_text.

+ + + diff --git a/datum/element/contextual_screentip_item_typechecks.html b/datum/element/contextual_screentip_item_typechecks.html new file mode 100644 index 000000000000..ede882e698ad --- /dev/null +++ b/datum/element/contextual_screentip_item_typechecks.html @@ -0,0 +1,38 @@ + + + + + + + /datum/element/contextual_screentip_item_typechecks - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

contextual_screentip_item_typechecks + + + +

+ +

Apply basic contextual screentips when the user hovers over this item with a provided item. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

+

Vars

item_paths_to_contextsMap of item paths to contexts to usages
+

Var Details

item_paths_to_contexts + + + + +

+

Map of item paths to contexts to usages

+ + + diff --git a/datum/element/contextual_screentip_tools.html b/datum/element/contextual_screentip_tools.html new file mode 100644 index 000000000000..0c1439239e5d --- /dev/null +++ b/datum/element/contextual_screentip_tools.html @@ -0,0 +1,38 @@ + + + + + + + /datum/element/contextual_screentip_tools - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

contextual_screentip_tools + + + +

+ +

Apply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

+

Vars

tool_behaviorsMap of tool behaviors to contexts to usages
+

Var Details

tool_behaviors + + + + +

+

Map of tool behaviors to contexts to usages

+ + + diff --git a/datum/element/crackable.html b/datum/element/crackable.html new file mode 100644 index 000000000000..7f770f3cd0fe --- /dev/null +++ b/datum/element/crackable.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/crackable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

crackable + + + +

+ +

Adds crack overlays to an object when integrity gets low

+

Vars

crack_integrityThe level at which the object starts showing cracks, 1 being at full health and 0.5 being at half health
+

Var Details

crack_integrity + + + + +

+

The level at which the object starts showing cracks, 1 being at full health and 0.5 being at half health

+ + + diff --git a/datum/element/curse_announcement.html b/datum/element/curse_announcement.html new file mode 100644 index 000000000000..fbe0d3cdd809 --- /dev/null +++ b/datum/element/curse_announcement.html @@ -0,0 +1,59 @@ + + + + + + + /datum/element/curse_announcement - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

curse announcement element! + + + +

+ +

Bespoke element that sends a harrowing message when you first pick up an item, applying a spooky color outline and renaming the item. +For most items, it will announce when picked up. If the item can be equipped, though, it will only announce when the item is worn. +Possible improvements for the future: add an option to allow the cursed affix to be a prefix. right now only coded for suffixes

+ + + +

Vars

announcement_messagemessage sent on announce
fantasy_componentoptional fantasy component, used in building the name if provided
filter_colorcolor of the outline filter on announce
new_namenew name given to the item on announce
+

Var Details

announcement_message + + + + +

+

message sent on announce

fantasy_component + + + + +

+

optional fantasy component, used in building the name if provided

filter_color + + + + +

+

color of the outline filter on announce

new_name + + + + +

+

new name given to the item on announce

+ + + diff --git a/datum/element/death_drops.html b/datum/element/death_drops.html new file mode 100644 index 000000000000..5cd5147168c1 --- /dev/null +++ b/datum/element/death_drops.html @@ -0,0 +1,44 @@ + + + + + + + /datum/element/death_drops - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

death_drops + + + +

+ +death drops element! +

bespoke element that spawns loot when a mob is killed

+ +

Vars

lootwhat items the target drops when killed

Procs

on_deathsignal called by the stat of the target changing
+

Var Details

loot + + + + +

+

what items the target drops when killed

Proc Details

on_death +

+

signal called by the stat of the target changing

+ + + diff --git a/datum/element/decal.html b/datum/element/decal.html new file mode 100644 index 000000000000..620f81e2acaa --- /dev/null +++ b/datum/element/decal.html @@ -0,0 +1,93 @@ + + + + + + + /datum/element/decal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

decal + + + +

+ + + + + + + + + +

Vars

base_icon_stateThe base icon state that this decal was initialized with.
cleanableWhether this decal can be cleaned.
descriptionA description this decal appends to the target's examine message.
directionalIf true this was initialized with no set direction - will follow the parent dir.
picThe overlay applied by this decal to the target.
smoothingWhat smoothing junction this was initialized with.

Procs

generate_appearance
smooth_reactReacts to the source atom smoothing.
+

Var Details

base_icon_state + + + + +

+

The base icon state that this decal was initialized with.

cleanable + + + + +

+

Whether this decal can be cleaned.

description + + + + +

+

A description this decal appends to the target's examine message.

directional + + + + +

+

If true this was initialized with no set direction - will follow the parent dir.

pic + + + + +

+

The overlay applied by this decal to the target.

smoothing + + + + +

+

What smoothing junction this was initialized with.

Proc Details

generate_appearance +

+ generate_appearance +

If the decal was not given an appearance, it will generate one based on the other given arguments. +element won't be compatible if it cannot do either +all args are fed into creating an image, they are byond vars for images you'll recognize in the byond docs +(except source, source is the object whose appearance we're copying.)

smooth_react +

+

Reacts to the source atom smoothing.

+

Arguments:

+
+ + + diff --git a/datum/element/deliver_first.html b/datum/element/deliver_first.html new file mode 100644 index 000000000000..4b365282b2e9 --- /dev/null +++ b/datum/element/deliver_first.html @@ -0,0 +1,85 @@ + + + + + + + /datum/element/deliver_first - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

deliver_first + + + +

+ + + + + + + + + +

Vars

deny_cooldowncooldown for the deny sound
goal_area_typetypepath of the area we will be allowed to be opened in
paymenthow much is earned on delivery of the crate

Procs

area_checkregisters the signal that blocks target from opening when outside of the valid area, returns if it is now unlocked
on_examinesignal sent from examining target
on_post_opensignal called by successfully opening target
on_pre_opensignal called before opening target, blocks opening
remove_lockcalled to remove the element in a flavorful way, either from delivery or from emagging/breaking open the crate
+

Var Details

deny_cooldown + + + + +

+

cooldown for the deny sound

goal_area_type + + + + +

+

typepath of the area we will be allowed to be opened in

payment + + + + +

+

how much is earned on delivery of the crate

Proc Details

area_check +

+

registers the signal that blocks target from opening when outside of the valid area, returns if it is now unlocked

on_examine +

+

signal sent from examining target

on_post_open +

+

signal called by successfully opening target

on_pre_open +

+

signal called before opening target, blocks opening

remove_lock +

+

called to remove the element in a flavorful way, either from delivery or from emagging/breaking open the crate

+ + + diff --git a/datum/element/drag_pickup.html b/datum/element/drag_pickup.html new file mode 100644 index 000000000000..9164a3f22f10 --- /dev/null +++ b/datum/element/drag_pickup.html @@ -0,0 +1,29 @@ + + + + + + + /datum/element/drag_pickup - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

drag_pickup + + + +

+ +

drag_pickup element; for allowing things to be picked up by dragging.

+

Used for paper bins.

+ + + diff --git a/datum/element/dryable.html b/datum/element/dryable.html new file mode 100644 index 000000000000..55f968a19970 --- /dev/null +++ b/datum/element/dryable.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/dryable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

dryable + + + +

+ + +

Vars

dry_resultThe type of atom that is spawned by this element on drying.
+

Var Details

dry_result + + + + +

+

The type of atom that is spawned by this element on drying.

+ + + diff --git a/datum/element/embed.html b/datum/element/embed.html new file mode 100644 index 000000000000..9e8e3ec4def4 --- /dev/null +++ b/datum/element/embed.html @@ -0,0 +1,89 @@ + + + + + + + /datum/element/embed - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

embed + + + +

+ + + + + + + + +

Vars

embed_chancewhether we can skip assigning all the vars (since these are bespoke elements, we don't have to reset the vars every time we attach to something, we already know what we are!)

Procs

checkEmbedChecking to see if we're gonna embed into a human
checkEmbedProjectilecheckEmbedProjectile() is what we get when a projectile with a defined shrapnel_type impacts a target.
detachFromWeaponIf we don't want to be embeddable anymore (deactivating an e-dagger for instance)
examinedSomeone inspected our embeddable item
severancePackageA different embed element has been attached, so we'll detach and let them handle things
tryForceEmbedtryForceEmbed() is called here when we fire COMSIG_EMBED_TRY_FORCE from /obj/item/proc/tryEmbed. Mostly, this means we're a piece of shrapnel from a projectile that just impacted something, and we're trying to embed in it.
+

Var Details

embed_chance + + + + +

+

whether we can skip assigning all the vars (since these are bespoke elements, we don't have to reset the vars every time we attach to something, we already know what we are!)

Proc Details

checkEmbed +

+

Checking to see if we're gonna embed into a human

checkEmbedProjectile +

+

checkEmbedProjectile() is what we get when a projectile with a defined shrapnel_type impacts a target.

+

If we hit a valid target, we create the shrapnel_type object and immediately call tryEmbed() on it, targeting what we impacted. That will lead +it to call tryForceEmbed() on its own embed element (it's out of our hands here, our projectile is done), where it will run through all the checks it needs to.

detachFromWeapon +

+

If we don't want to be embeddable anymore (deactivating an e-dagger for instance)

examined +

+

Someone inspected our embeddable item

severancePackage +

+

A different embed element has been attached, so we'll detach and let them handle things

tryForceEmbed +

+

tryForceEmbed() is called here when we fire COMSIG_EMBED_TRY_FORCE from /obj/item/proc/tryEmbed. Mostly, this means we're a piece of shrapnel from a projectile that just impacted something, and we're trying to embed in it.

+

The reason for this extra mucking about is avoiding having to do an extra hitby(), and annoying the target by impacting them once with the projectile, then again with the shrapnel, and possibly +AGAIN if we actually embed. This way, we save on at least one message.

+

Arguments:

+
+ + + diff --git a/datum/element/eyestab.html b/datum/element/eyestab.html new file mode 100644 index 000000000000..ee2a57131496 --- /dev/null +++ b/datum/element/eyestab.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/eyestab - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

eyestab + + + +

+ +

An element that lets you stab people in the eyes when targeting them

+

Vars

damageThe amount of damage to do per eyestab
+

Var Details

damage + + + + +

+

The amount of damage to do per eyestab

+ + + diff --git a/datum/element/firestacker.html b/datum/element/firestacker.html new file mode 100644 index 000000000000..d9eac75d4d75 --- /dev/null +++ b/datum/element/firestacker.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/firestacker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

firestacker + + + +

+ +

Can be applied to /atom/movable subtypes to make them apply fire stacks to things they hit

+

Vars

amountHow many firestacks to apply per hit
+

Var Details

amount + + + + +

+

How many firestacks to apply per hit

+ + + diff --git a/datum/element/food_trash.html b/datum/element/food_trash.html new file mode 100644 index 000000000000..ed1fca34c783 --- /dev/null +++ b/datum/element/food_trash.html @@ -0,0 +1,57 @@ + + + + + + + /datum/element/food_trash - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

food_trash + + + +

+ + + + + +

Vars

flagsFlags of the trash element that change its behavior
generate_trash_procpathGenerate trash proc path
trashThe type of trash that is spawned by this element

Procs

async_generate_trashcringy signal_handler shouldnt be needed if you dont want to return but oh well
+

Var Details

flags + + + + +

+

Flags of the trash element that change its behavior

generate_trash_procpath + + + + +

+

Generate trash proc path

trash + + + + +

+

The type of trash that is spawned by this element

Proc Details

async_generate_trash +

+

cringy signal_handler shouldnt be needed if you dont want to return but oh well

+ + + diff --git a/datum/element/footstep.html b/datum/element/footstep.html new file mode 100644 index 000000000000..f77dec5d1ba4 --- /dev/null +++ b/datum/element/footstep.html @@ -0,0 +1,87 @@ + + + + + + + /datum/element/footstep - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

footstep + + + +

+ +

Footstep element. Plays footsteps at parents location when it is appropriate.

+ + + + + + + +

Vars

e_rangee_range stands for extra range - aka how far the sound can be heard. This is added to the base value and ignored if there isn't a base value.
footstep_soundsThis can be a list OR a soundfile OR null. Determines whatever sound gets played.
footstep_typefootstep_type is a define which determines what kind of sounds should get chosen.
sound_varyWhether or not to add variation to the sounds played
steps_for_livingA list containing living mobs and the number of steps they have taken since the last time their footsteps were played.
volumevolume determines the extra volume of the footstep. This is multiplied by the base volume, should there be one.

Procs

play_simplestep_machinelist returned by playsound() filled by client mobs who heard the footstep. given to play_fov_effect() +Prepares a footstep for machine walking
prepare_stepPrepares a footstep for living mobs. Determines if it should get played. Returns the turf it should get played on. Note that it is always a /turf/open
+

Var Details

e_range + + + + +

+

e_range stands for extra range - aka how far the sound can be heard. This is added to the base value and ignored if there isn't a base value.

footstep_sounds + + + + +

+

This can be a list OR a soundfile OR null. Determines whatever sound gets played.

footstep_type + + + + +

+

footstep_type is a define which determines what kind of sounds should get chosen.

sound_vary + + + + +

+

Whether or not to add variation to the sounds played

steps_for_living + + + + +

+

A list containing living mobs and the number of steps they have taken since the last time their footsteps were played.

volume + + + + +

+

volume determines the extra volume of the footstep. This is multiplied by the base volume, should there be one.

Proc Details

play_simplestep_machine +

+

list returned by playsound() filled by client mobs who heard the footstep. given to play_fov_effect() +Prepares a footstep for machine walking

prepare_step +

+

Prepares a footstep for living mobs. Determines if it should get played. Returns the turf it should get played on. Note that it is always a /turf/open

+ + + diff --git a/datum/element/footstep_override.html b/datum/element/footstep_override.html new file mode 100644 index 000000000000..cf9768ee0eae --- /dev/null +++ b/datum/element/footstep_override.html @@ -0,0 +1,102 @@ + + + + + + + /datum/element/footstep_override - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

footstep_override + + + +

+ +

When attached, the footstep sound played by the footstep element will be replaced by this one's

+ + + + + + + + +

Vars

barefootstepThe sound played for movables with barefoot step sound type.
clawfootstepThe sound played for movables with claw step sound type.
footstepThe sound played for movables with shoed step sound type.
heavyfootstepThe sound played for movables with heavy step sound type.
occupied_turfsA list of turfs occupied by the movables this element is attached to. +Needed so it stops listening the turf's signals ONLY when it has no movable with the element.
priorityThe priority this element has in relation to other elements of the same type attached to other movables on the same turf.

Procs

occupy_turfAdds the movable to the list of movables with the element occupying the turf. +If the turf was not on the list of occupied turfs before, a signal will be registered +to it.
prepare_stepsChanges the sound types to be played if the element priority is higher than the one in the steps list.
vacate_turfRemoves the movable from the list of movables with the element occupying the turf. +If the turf is no longer occupied, it'll be removed from the list, and the signal +unregistered from it
+

Var Details

barefootstep + + + + +

+

The sound played for movables with barefoot step sound type.

clawfootstep + + + + +

+

The sound played for movables with claw step sound type.

footstep + + + + +

+

The sound played for movables with shoed step sound type.

heavyfootstep + + + + +

+

The sound played for movables with heavy step sound type.

occupied_turfs + + + + +

+

A list of turfs occupied by the movables this element is attached to. +Needed so it stops listening the turf's signals ONLY when it has no movable with the element.

priority + + + + +

+

The priority this element has in relation to other elements of the same type attached to other movables on the same turf.

Proc Details

occupy_turf +

+

Adds the movable to the list of movables with the element occupying the turf. +If the turf was not on the list of occupied turfs before, a signal will be registered +to it.

prepare_steps +

+

Changes the sound types to be played if the element priority is higher than the one in the steps list.

vacate_turf +

+

Removes the movable from the list of movables with the element occupying the turf. +If the turf is no longer occupied, it'll be removed from the list, and the signal +unregistered from it

+ + + diff --git a/datum/element/forced_gravity.html b/datum/element/forced_gravity.html new file mode 100644 index 000000000000..51a462ba30dd --- /dev/null +++ b/datum/element/forced_gravity.html @@ -0,0 +1,43 @@ + + + + + + + /datum/element/forced_gravity - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

forced_gravity + + + +

+ + + +

Vars

gravitythe level of gravity we force unto our target
ignore_turf_gravitywhether we will override the turf if it forces no gravity
+

Var Details

gravity + + + + +

+

the level of gravity we force unto our target

ignore_turf_gravity + + + + +

+

whether we will override the turf if it forces no gravity

+ + + diff --git a/datum/element/frozen.html b/datum/element/frozen.html new file mode 100644 index 000000000000..4dfa5a9ad31a --- /dev/null +++ b/datum/element/frozen.html @@ -0,0 +1,51 @@ + + + + + + + /datum/element/frozen - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

frozen + + + +

+ +

simple element to handle frozen obj's

+ + +

Procs

on_movedsignal handler for COMSIG_MOVABLE_MOVED that unfreezes our target if it moves onto an open turf thats hotter than +our melting temperature.
on_unfreezesignal handler for COMSIG_OBJ_UNFREEZE that forces us to detach from the target
shatter_on_throwsignal handler for COMSIG_MOVABLE_POST_THROW that shatters our target after impacting after a throw

Proc Details

on_moved +

+

signal handler for COMSIG_MOVABLE_MOVED that unfreezes our target if it moves onto an open turf thats hotter than +our melting temperature.

on_unfreeze +

+

signal handler for COMSIG_OBJ_UNFREEZE that forces us to detach from the target

shatter_on_throw +

+

signal handler for COMSIG_MOVABLE_POST_THROW that shatters our target after impacting after a throw

+ + + diff --git a/datum/element/item_scaling.html b/datum/element/item_scaling.html new file mode 100644 index 000000000000..af895f5755b1 --- /dev/null +++ b/datum/element/item_scaling.html @@ -0,0 +1,118 @@ + + + + + + + /datum/element/item_scaling - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

item_scaling + + + +

+ +

Element for scaling item appearances in the overworld or in inventory/storage.

+

This bespoke element allows for items to have varying sizes depending on their location. +The overworld simply refers to items being on a turf. Inventory includes HUD item slots, +and storage is anywhere a storage component is used. +Scaling should affect the item's icon and all attached overlays (such as blood decals).

+ + + + + + +

Vars

overworld_scalingScaling value when the attached item is in the overworld (on a turf).
storage_scalingScaling value when the attached item is in a storage component or inventory slot.

Procs

AttachAttach proc for the item_scaling element
DetachDetach proc for the item_scaling element.
scaleScales the attached item's matrix.
scale_overworldSignal handler for COMSIG_ITEM_DROPPED or COMSIG_ATOM_EXITED
scale_storageSignal handler for COMSIG_ITEM_EQUIPPED or COMSIG_ATOM_ENTERED.
+

Var Details

overworld_scaling + + + + +

+

Scaling value when the attached item is in the overworld (on a turf).

storage_scaling + + + + +

+

Scaling value when the attached item is in a storage component or inventory slot.

Proc Details

Attach +

+

Attach proc for the item_scaling element

+

The proc checks the target's type before attaching. It then initializes +the target to overworld scaling. The target should then rescale if it is placed +in inventory/storage on initialization. Relevant signals are registered to listen +for pickup/drop or storage events. Scaling values of 1 will result in items +returning to their original size. +Arguments:

+

Detach +

+

Detach proc for the item_scaling element.

+

All registered signals are unregistered, and the attached element is removed from the target datum. +Arguments:

+

scale +

+

Scales the attached item's matrix.

+

The proc first narrows the type of the source to (datums do not have a transform matrix). +It then creates an identity matrix, M, which is transformed by the scaling value. +The object's transform variable (matrix) is then set to the resulting value of M. +Arguments:

+

scale_overworld +

+

Signal handler for COMSIG_ITEM_DROPPED or COMSIG_ATOM_EXITED

+

Longer detailed paragraph about the proc +including any relevant detail +Arguments:

+

scale_storage +

+

Signal handler for COMSIG_ITEM_EQUIPPED or COMSIG_ATOM_ENTERED.

+

Longer detailed paragraph about the proc +including any relevant detail +Arguments:

+
+ + + diff --git a/datum/element/kneecapping.html b/datum/element/kneecapping.html new file mode 100644 index 000000000000..5b8baa4b0dfa --- /dev/null +++ b/datum/element/kneecapping.html @@ -0,0 +1,54 @@ + + + + + + + /datum/element/kneecapping - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

kneecapping + + + +

+ +

Kneecapping element replaces the item's secondary attack with an aimed attack at the kneecaps under certain circumstances.

+

Element is incompatible with non-items. Requires the parent item to have a force equal to or greater than WOUND_MINIMUM_DAMAGE. +Also requires that the parent can actually get past pre_secondary_attack without the attack chain cancelling.

+

Kneecapping attacks have a wounding bonus between severe and critical+10 wound thresholds. Without some serious wound protecting +armour this all but guarantees a wound of some sort. The attack is directed specifically at a limb and the limb takes the damage.

+

Requires the attacker to be aiming for either leg zone, which will be targetted specifically. They will than have a 3-second long +do_mob before executing the attack.

+

Kneecapping requires the target to either be on the floor, immobilised or buckled to something. And also to have an appropriate leg.

+

Passing all the checks will cancel the entire attack chain.

+ +

Procs

do_kneecap_targetAfter a short do_mob, attacker applies damage to the given leg with a significant wounding bonus, applying the weapon's force as damage.
try_kneecap_targetSignal handler for COMSIG_ITEM_ATTACK_SECONDARY. Does checks for pacifism, zones and target state before either returning nothing +if the special attack could not be attempted, performing the ordinary attack procs instead - Or cancelling the attack chain if +the attack can be started.

Proc Details

do_kneecap_target +

+

After a short do_mob, attacker applies damage to the given leg with a significant wounding bonus, applying the weapon's force as damage.

try_kneecap_target +

+

Signal handler for COMSIG_ITEM_ATTACK_SECONDARY. Does checks for pacifism, zones and target state before either returning nothing +if the special attack could not be attempted, performing the ordinary attack procs instead - Or cancelling the attack chain if +the attack can be started.

+ + + diff --git a/datum/element/knockback.html b/datum/element/knockback.html new file mode 100644 index 000000000000..62c623529c74 --- /dev/null +++ b/datum/element/knockback.html @@ -0,0 +1,85 @@ + + + + + + + /datum/element/knockback - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

knockback + + + +

+ +

Mobs and items with this element will knock movable targets they hit away from them. +Guns and turrets will instead fire projectiles with similar effects.

+ + + + + + +

Vars

throw_anchoredwhether this can throw anchored targets (tables, etc)
throw_distancedistance the atom will be thrown
throw_gentlewhether this is a gentle throw (default false means people thrown into walls are stunned / take damage)

Procs

do_knockbackThrow a target in a direction
hostile_attackingtargettriggered after a hostile simplemob attacks something
item_afterattacktriggered after an item attacks something
projectile_hittriggered after a projectile hits something
+

Var Details

throw_anchored + + + + +

+

whether this can throw anchored targets (tables, etc)

throw_distance + + + + +

+

distance the atom will be thrown

throw_gentle + + + + +

+

whether this is a gentle throw (default false means people thrown into walls are stunned / take damage)

Proc Details

do_knockback +

+

Throw a target in a direction

+

Arguments:

+

hostile_attackingtarget +

+

triggered after a hostile simplemob attacks something

item_afterattack +

+

triggered after an item attacks something

projectile_hit +

+

triggered after a projectile hits something

+ + + diff --git a/datum/element/lateral_bound.html b/datum/element/lateral_bound.html new file mode 100644 index 000000000000..e5fce8688b31 --- /dev/null +++ b/datum/element/lateral_bound.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/lateral_bound - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lateral_bound + + + +

+ + +

Vars

throw_onlyDo we only delete the parent if they're being thrown? (Mass Driver, Etc.)
+

Var Details

throw_only + + + + +

+

Do we only delete the parent if they're being thrown? (Mass Driver, Etc.)

+ + + diff --git a/datum/element/lifesteal.html b/datum/element/lifesteal.html new file mode 100644 index 000000000000..241e3449c12b --- /dev/null +++ b/datum/element/lifesteal.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/lifesteal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lifesteal + + + +

+ +

Heals the user (if attached to an item) or the mob itself (if attached to a hostile simple mob) +by a flat amount whenever a successful attack is performed against another living mob.

+

Vars

flat_healheals a constant amount every time a hit occurs
+

Var Details

flat_heal + + + + +

+

heals a constant amount every time a hit occurs

+ + + diff --git a/datum/element/light_blocking.html b/datum/element/light_blocking.html new file mode 100644 index 000000000000..b3092021ac88 --- /dev/null +++ b/datum/element/light_blocking.html @@ -0,0 +1,35 @@ + + + + + + + /datum/element/light_blocking - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

light_blocking + + + +

+ +

Attached to movable atoms with opacity. Listens to them move and updates their old and new turf loc's opacity accordingly.

+

Procs

on_target_moveUpdates old and new turf loc opacities.

Proc Details

on_target_move +

+

Updates old and new turf loc opacities.

+ + + diff --git a/datum/element/light_eaten.html b/datum/element/light_eaten.html new file mode 100644 index 000000000000..3264ecc6a4da --- /dev/null +++ b/datum/element/light_eaten.html @@ -0,0 +1,63 @@ + + + + + + + /datum/element/light_eaten - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

light_eaten + + + +

+ +

Makes anything that it attaches to incapable of producing light

+ + + + +

Procs

DetachBecause the lighting system does not like movable lights getting set_light() called.
block_light_onPrevents the light from turning on while the light power is greater than 0.
block_light_powerPrevents the light power of the target atom from exceeding 0 or increasing.
block_light_rangePrevents the light range of the target atom from exceeding 0 while the light power is greater than 0.
on_examineSignal handler for light eater flavortext

Proc Details

Detach +

+

Because the lighting system does not like movable lights getting set_light() called.

block_light_on +

+

Prevents the light from turning on while the light power is greater than 0.

block_light_power +

+

Prevents the light power of the target atom from exceeding 0 or increasing.

block_light_range +

+

Prevents the light range of the target atom from exceeding 0 while the light power is greater than 0.

on_examine +

+

Signal handler for light eater flavortext

+ + + diff --git a/datum/element/light_eater.html b/datum/element/light_eater.html new file mode 100644 index 000000000000..21db7678cf42 --- /dev/null +++ b/datum/element/light_eater.html @@ -0,0 +1,134 @@ + + + + + + + /datum/element/light_eater - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

light_eater + + + +

+ +

Makes anything it attaches to capable of permanently removing something's ability to produce light.

+

The temporary equivalent is /datum/component/light_eater

+ + + + + + + +

Procs

devourConsumes the light on the target, permanently rendering it incapable of producing light
eat_lightsMakes the light eater consume all of the lights attached to the target atom.
on_afterattackCalled when a target is attacked with a source item
on_expose_atomCalled when a source reagent exposes a target atom
on_hit_reactionCalled when a source object is used to block a thrown object, projectile, or attack
on_projectile_hitCalled when a source projectile strikes a target atom
on_throw_impactCalled when a movable source is thrown and strikes a target
table_buffetAggregates a list of the light sources attached to the target atom.

Proc Details

devour +

+

Consumes the light on the target, permanently rendering it incapable of producing light

+

Arguments:

+

eat_lights +

+

Makes the light eater consume all of the lights attached to the target atom.

+

Arguments:

+

on_afterattack +

+

Called when a target is attacked with a source item

+

Arguments:

+

on_expose_atom +

+

Called when a source reagent exposes a target atom

+

Arguments:

+

on_hit_reaction +

+

Called when a source object is used to block a thrown object, projectile, or attack

+

Arguments:

+

on_projectile_hit +

+

Called when a source projectile strikes a target atom

+

Arguments:

+

on_throw_impact +

+

Called when a movable source is thrown and strikes a target

+

Arugments:

+

table_buffet +

+

Aggregates a list of the light sources attached to the target atom.

+

Arguments:

+
+ + + diff --git a/datum/element/movement_turf_changer.html b/datum/element/movement_turf_changer.html new file mode 100644 index 000000000000..34124ab975cc --- /dev/null +++ b/datum/element/movement_turf_changer.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/movement_turf_changer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

movement_turf_changer + + + +

+ +

movement_turf_changer element; which makes the movement of a movable atom change the turf it moved to

+

Used for moonicorns!

+

Vars

turf_typePath of the turf added on top
+

Var Details

turf_type + + + + +

+

Path of the turf added on top

+ + + diff --git a/datum/element/movetype_handler.html b/datum/element/movetype_handler.html new file mode 100644 index 000000000000..88f1dca476d6 --- /dev/null +++ b/datum/element/movetype_handler.html @@ -0,0 +1,73 @@ + + + + + + + /datum/element/movetype_handler - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

movetype_handler + + + +

+ +

An element that enables and disables movetype bitflags whenever the relative traits are added or removed. +It also handles the +2/-2 pixel y anim loop typical of mobs possessing the FLYING or FLOATING movetypes. +This element is necessary for the TRAIT_MOVE_ traits to work correctly, so make sure to attach this element +before adding them to non-living movables.

+ + + + + +

Procs

on_movement_type_trait_gainCalled when a movement type trait is added to the movable. Enables the relative bitflag.
on_movement_type_trait_lossCalled when a movement type trait is removed from the movable. Disables the relative bitflag if it wasn't there in the compile-time bitfield.
on_no_floating_anim_trait_gainCalled when the TRAIT_NO_FLOATING_ANIM trait is added to the movable. Stops it from bobbing up and down.
on_no_floating_anim_trait_lossCalled when the TRAIT_NO_FLOATING_ANIM trait is removed from the mob. Restarts the bobbing animation.
pause_floating_animPauses the floating animation for the duration of the timer... plus [tickrate - (world.time + timer) % tickrate] to be precise.
stop_floatingStops the above. Also not a comsig proc.

Proc Details

on_movement_type_trait_gain +

+

Called when a movement type trait is added to the movable. Enables the relative bitflag.

on_movement_type_trait_loss +

+

Called when a movement type trait is removed from the movable. Disables the relative bitflag if it wasn't there in the compile-time bitfield.

on_no_floating_anim_trait_gain +

+

Called when the TRAIT_NO_FLOATING_ANIM trait is added to the movable. Stops it from bobbing up and down.

on_no_floating_anim_trait_loss +

+

Called when the TRAIT_NO_FLOATING_ANIM trait is removed from the mob. Restarts the bobbing animation.

pause_floating_anim +

+

Pauses the floating animation for the duration of the timer... plus [tickrate - (world.time + timer) % tickrate] to be precise.

stop_floating +

+

Stops the above. Also not a comsig proc.

+ + + diff --git a/datum/element/obj_regen.html b/datum/element/obj_regen.html new file mode 100644 index 000000000000..211f23356afb --- /dev/null +++ b/datum/element/obj_regen.html @@ -0,0 +1,71 @@ + + + + + + + /datum/element/obj_regen - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

obj_regen + + + +

+ +

Object integrity regeneration element added by alien alloy.

+ + + + + +

Vars

currentrunThe current stack of objects we are processing.
processingThe objects that are regenerating due to this element.
rateThe rate of regeneration as a function of maximum integrity.
resumedWhether we stopped processing early the last tick.

Procs

on_take_damageHandles beginning processing objects.
processHandle regenerating attached objects.
+

Var Details

currentrun + + + + +

+

The current stack of objects we are processing.

processing + + + + +

+

The objects that are regenerating due to this element.

rate + + + + +

+

The rate of regeneration as a function of maximum integrity.

resumed + + + + +

+

Whether we stopped processing early the last tick.

Proc Details

on_take_damage +

+

Handles beginning processing objects.

process +

+

Handle regenerating attached objects.

+ + + diff --git a/datum/element/pet_bonus.html b/datum/element/pet_bonus.html new file mode 100644 index 000000000000..43fbd3f8b6a8 --- /dev/null +++ b/datum/element/pet_bonus.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/pet_bonus - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Pet bonus element! + + + +

+ +

Bespoke element that plays a fun message, sends a heart out, and gives a stronger mood bonus when you pet this animal. +I may have been able to make this work for carbons, but it would have been interjecting on some help mode interactions anyways.

+

Vars

emote_messageoptional cute message to send when you pet your pet!
+

Var Details

emote_message + + + + +

+

optional cute message to send when you pet your pet!

+ + + diff --git a/datum/element/plant_backfire.html b/datum/element/plant_backfire.html new file mode 100644 index 000000000000..1169d4800598 --- /dev/null +++ b/datum/element/plant_backfire.html @@ -0,0 +1,106 @@ + + + + + + + /datum/element/plant_backfire - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

plant_backfire + + + +

+ +

-- Plant backfire element -- +Certain high-danger plants, like death-nettles, will backfire and harm the holder if they're not properly protected. +If a user is protected with something like leather gloves, they can handle them normally. +If they're not protected properly, we invoke a callback on the user, harming or inconveniencing them.

+ + + + + + + +

Vars

cancel_actionWhether we stop the current action if backfire is triggered (EX: returning CANCEL_ATTACK_CHAIN)
extra_genesAny plant genes we want to check that are required for our plant to be dangerous. Plants without a gene in this list will be considered safe. List of typepaths.
extra_traitsAny extra traits we want to check in addition to TRAIT_PLANT_SAFE. Mobs with a trait in this list will be considered safe. List of traits.

Procs

attack_safety_checkChecks before we attack if we're okay to continue.
backfireThe actual backfire occurs here. +Checks if the user is able to safely handle the plant. +If not, sends the backfire signal (meaning backfire will occur and be handled by one or multiple genes).
pickup_safety_checkChecks before we pick up the plant if we're okay to continue.
plant_safety_checkActually checks if our user is safely handling our plant.
throw_safety_checkChecks before we throw the plant if we're okay to continue.
+

Var Details

cancel_action + + + + +

+

Whether we stop the current action if backfire is triggered (EX: returning CANCEL_ATTACK_CHAIN)

extra_genes + + + + +

+

Any plant genes we want to check that are required for our plant to be dangerous. Plants without a gene in this list will be considered safe. List of typepaths.

extra_traits + + + + +

+

Any extra traits we want to check in addition to TRAIT_PLANT_SAFE. Mobs with a trait in this list will be considered safe. List of traits.

Proc Details

attack_safety_check +

+

Checks before we attack if we're okay to continue.

+

source - our plant +user - the mob wielding our [source]

backfire +

+

The actual backfire occurs here. +Checks if the user is able to safely handle the plant. +If not, sends the backfire signal (meaning backfire will occur and be handled by one or multiple genes).

+

Returns FALSE if the user was safe and no backfire occured. +Returns TRUE if the user was not safe and a backfire actually happened.

pickup_safety_check +

+

Checks before we pick up the plant if we're okay to continue.

+

source - our plant +user - the mob picking our [source]

plant_safety_check +

+

Actually checks if our user is safely handling our plant.

+

Checks for TRAIT_PLANT_SAFE, and returns TRUE if we have it. +Then, any extra traits we need to check (Like TRAIT_PIERCEIMMUNE for nettles) and returns TRUE if we have one of them. +Then, any extra genes we need to check (Like liquid contents for bluespace tomatos) and returns TRUE if we don't have the gene.

+

source - our plant +user - the carbon handling our [source]

+

returns FALSE if none of the checks are successful.

throw_safety_check +

+

Checks before we throw the plant if we're okay to continue.

+

source - our plant +thrower - the mob throwing our [source]

+ + + diff --git a/datum/element/prevent_attacking_of_types.html b/datum/element/prevent_attacking_of_types.html new file mode 100644 index 000000000000..9fe9da43550e --- /dev/null +++ b/datum/element/prevent_attacking_of_types.html @@ -0,0 +1,44 @@ + + + + + + + /datum/element/prevent_attacking_of_types - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

prevent_attacking_of_types + + + +

+ +

This hostile will not be able to attack a given typecache, and will receive +a balloon alert when it tries to.

+ +

Vars

alert_messageThe message to send to the hostile mob when they try to attack something they can't
typecacheThe typecache of things this hostile can't attack
+

Var Details

alert_message + + + + +

+

The message to send to the hostile mob when they try to attack something they can't

typecache + + + + +

+

The typecache of things this hostile can't attack

+ + + diff --git a/datum/element/processable.html b/datum/element/processable.html new file mode 100644 index 000000000000..ced2969e9b16 --- /dev/null +++ b/datum/element/processable.html @@ -0,0 +1,71 @@ + + + + + + + /datum/element/processable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

processable + + + +

+ + + + + + + +

Vars

amount_createdAmount of the resulting actor this will create
result_atom_typeThe type of atom this creates when the processing recipe is used.
table_requiredWhether or not the atom being processed has to be on a table or tray to process it
time_to_processTime to process the atom
tool_behaviourThe tool behaviour for this processing recipe

Procs

OnExamineSo people know what the frick they're doing without reading from a wiki page (I mean they will inevitably but i'm trying to help, ok?)
+

Var Details

amount_created + + + + +

+

Amount of the resulting actor this will create

result_atom_type + + + + +

+

The type of atom this creates when the processing recipe is used.

table_required + + + + +

+

Whether or not the atom being processed has to be on a table or tray to process it

time_to_process + + + + +

+

Time to process the atom

tool_behaviour + + + + +

+

The tool behaviour for this processing recipe

Proc Details

OnExamine +

+

So people know what the frick they're doing without reading from a wiki page (I mean they will inevitably but i'm trying to help, ok?)

+ + + diff --git a/datum/element/ridable.html b/datum/element/ridable.html new file mode 100644 index 000000000000..419a3ade615f --- /dev/null +++ b/datum/element/ridable.html @@ -0,0 +1,75 @@ + + + + + + + /datum/element/ridable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ridable + + + +

+ +

This element is used to indicate that a movable atom can be mounted by mobs in order to ride it. The movable is considered mounted when a mob is buckled to it, +at which point a riding component is created on the movable, and that component handles the actual riding behavior.

+

Besides the target, the ridable element has one argument: the component subtype. This is not really ideal since there's ~20-30 component subtypes rather than +having the behavior defined on the ridable atoms themselves or some such, but because the old riding behavior was so horrifyingly spread out and redundant, +just having the variables, behavior, and procs be standardized is still a big improvement.

+ + + + + +

Vars

potion_boostedIf we have a xenobio red potion applied to us, we get split off so we can pass our special status onto new riding components
riding_component_typeThe specific riding component subtype we're loading our instructions from, don't leave this as default please!

Procs

check_mountingSomeone is buckling to this movable, which is literally the only thing we care about (other than speed potions)
check_potionChecks to see if we've been hit with a red xenobio potion to make us faster. This is only registered if we're a vehicle
equip_buckle_inhandsTry putting the appropriate number of riding offhand items into the target's hands, return FALSE if we can't
unequip_buckle_inhandsRemove all of the relevant riding offhand items from the target
+

Var Details

potion_boosted + + + + +

+

If we have a xenobio red potion applied to us, we get split off so we can pass our special status onto new riding components

riding_component_type + + + + +

+

The specific riding component subtype we're loading our instructions from, don't leave this as default please!

Proc Details

check_mounting +

+

Someone is buckling to this movable, which is literally the only thing we care about (other than speed potions)

check_potion +

+

Checks to see if we've been hit with a red xenobio potion to make us faster. This is only registered if we're a vehicle

equip_buckle_inhands +

+

Try putting the appropriate number of riding offhand items into the target's hands, return FALSE if we can't

unequip_buckle_inhands +

+

Remove all of the relevant riding offhand items from the target

+ + + diff --git a/datum/element/rust.html b/datum/element/rust.html new file mode 100644 index 000000000000..108bd2ddd87e --- /dev/null +++ b/datum/element/rust.html @@ -0,0 +1,51 @@ + + + + + + + /datum/element/rust - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

rust + + + +

+ +

Adding this element to an atom will have it automatically render an overlay. +The overlay can be specified in new as the first paramter; if not set it defaults to rust_overlay's rust_default

+ + +

Vars

rust_overlayThe rust image itself, since the icon and icon state are only used as an argument

Procs

handle_tool_useWe call this from secondary_tool_act because we sleep with do_after
secondary_tool_actBecause do_after sleeps we register the signal here and defer via an async call
+

Var Details

rust_overlay + + + + +

+

The rust image itself, since the icon and icon state are only used as an argument

Proc Details

handle_tool_use +

+

We call this from secondary_tool_act because we sleep with do_after

secondary_tool_act +

+

Because do_after sleeps we register the signal here and defer via an async call

+ + + diff --git a/datum/element/series.html b/datum/element/series.html new file mode 100644 index 000000000000..71ed1bf95815 --- /dev/null +++ b/datum/element/series.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/series - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

series + + + +

+ +series element! +

bespoke element that assigns a series number to toys on examine, and shows their series name! +used for mechas and rare collectable hats, should totally be used for way more ;)

+

Procs

on_examinesignal called examining

Proc Details

on_examine +

+

signal called examining

+ + + diff --git a/datum/element/simple_flying.html b/datum/element/simple_flying.html new file mode 100644 index 000000000000..3e68fdd669d9 --- /dev/null +++ b/datum/element/simple_flying.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/simple_flying - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

simple flying element! + + + +

+ +

Non bespoke element (1 in existence) that makes animals fly while living and... not while dead! +Note: works for carbons and above, but please do something better. humans have wings got dangit!

+

Procs

on_stat_changesignal called by the stat of the target changing

Proc Details

on_stat_change +

+

signal called by the stat of the target changing

+ + + diff --git a/datum/element/soft_landing.html b/datum/element/soft_landing.html new file mode 100644 index 000000000000..6c1cdcaf0010 --- /dev/null +++ b/datum/element/soft_landing.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/soft_landing - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

soft_landing + + + +

+ +soft landing element! +

Non bespoke element (1 in existence) that makes objs provide a soft landing when you fall on them!

+

Procs

intercept_z_fallsignal called by the stat of the target changing

Proc Details

intercept_z_fall +

+

signal called by the stat of the target changing

+ + + diff --git a/datum/element/squish.html b/datum/element/squish.html new file mode 100644 index 000000000000..f080430292e3 --- /dev/null +++ b/datum/element/squish.html @@ -0,0 +1,30 @@ + + + + + + + /datum/element/squish - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

squish + + + +

+ +

squish.dm

+

It's an element that squishes things. After the duration passes, it reverses the transformation it squished with, taking into account if they are a different orientation than they started (read: rotationally-fluid)

+

Normal squishes apply vertically, as if the target is being squished from above, but you can set reverse to TRUE if you want to squish them from the sides, like if they pancake into a wall from the East or West

+ + + diff --git a/datum/element/strippable.html b/datum/element/strippable.html new file mode 100644 index 000000000000..12c2ec326ecf --- /dev/null +++ b/datum/element/strippable.html @@ -0,0 +1,54 @@ + + + + + + + /datum/element/strippable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

strippable + + + +

+ +

An element for atoms that, when dragged and dropped onto a mob, opens a strip panel.

+ + +

Vars

itemsAn assoc list of keys to /datum/strippable_item
should_strip_proc_pathA proc path that returns TRUE/FALSE if we should show the strip panel for this entity. +If it does not exist, the strip menu will always show. +Will be called with (mob/user).
strip_menusAn existing strip menus
+

Var Details

items + + + + +

+

An assoc list of keys to /datum/strippable_item

should_strip_proc_path + + + + +

+

A proc path that returns TRUE/FALSE if we should show the strip panel for this entity. +If it does not exist, the strip menu will always show. +Will be called with (mob/user).

strip_menus + + + + +

+

An existing strip menus

+ + + diff --git a/datum/element/tenacious.html b/datum/element/tenacious.html new file mode 100644 index 000000000000..5305f88c74b1 --- /dev/null +++ b/datum/element/tenacious.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/tenacious - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

tenacious + + + +

+ +

tenacious element; which makes the parent move faster while crawling

+

Used by sparring sect!

+

Procs

on_softcrit_gainsignal called by the stat of the target changing

Proc Details

on_softcrit_gain +

+

signal called by the stat of the target changing

+ + + diff --git a/datum/element/tool_flash.html b/datum/element/tool_flash.html new file mode 100644 index 000000000000..699e82c0a5c3 --- /dev/null +++ b/datum/element/tool_flash.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/tool_flash - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tool_flash + + + +

+ +

Tool flash bespoke element

+

Flashes the user when using this tool

+

Vars

flash_strengthStrength of the flash
+

Var Details

flash_strength + + + + +

+

Strength of the flash

+ + + diff --git a/datum/element/undertile.html b/datum/element/undertile.html new file mode 100644 index 000000000000..0c5ddad0425d --- /dev/null +++ b/datum/element/undertile.html @@ -0,0 +1,71 @@ + + + + + + + /datum/element/undertile - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

undertile + + + +

+ +

Add to an object if you want to be able to be hidden under tiles

+ + + + + +

Vars

invisibility_levellevel of invisibility applied when under a tile. Could be INVISIBILITY_OBSERVER if you still want it to be visible to ghosts
invisibility_traitthe invisiblity trait applied, like TRAIT_T_RAY_VISIBLE
tile_overlayan overlay for the tile if we wish to apply that
use_alphawhether we use alpha or not. TRUE uses ALPHA_UNDERTILE because otherwise we have 200 different instances of this element for different alphas
use_anchorWe will switch between anchored and unanchored. for stuff like satchels that shouldn't be pullable under tiles but are otherwise unanchored

Procs

hidecalled when a tile has been covered or uncovered
+

Var Details

invisibility_level + + + + +

+

level of invisibility applied when under a tile. Could be INVISIBILITY_OBSERVER if you still want it to be visible to ghosts

invisibility_trait + + + + +

+

the invisiblity trait applied, like TRAIT_T_RAY_VISIBLE

tile_overlay + + + + +

+

an overlay for the tile if we wish to apply that

use_alpha + + + + +

+

whether we use alpha or not. TRUE uses ALPHA_UNDERTILE because otherwise we have 200 different instances of this element for different alphas

use_anchor + + + + +

+

We will switch between anchored and unanchored. for stuff like satchels that shouldn't be pullable under tiles but are otherwise unanchored

Proc Details

hide +

+

called when a tile has been covered or uncovered

+ + + diff --git a/datum/element/update_icon_blocker.html b/datum/element/update_icon_blocker.html new file mode 100644 index 000000000000..5f95cc4f94d3 --- /dev/null +++ b/datum/element/update_icon_blocker.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/update_icon_blocker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

update_icon_blocker + + + +

+ + +

Vars

blocking_flagsSet of COMSIG_ATOM_UPDATE_ICON to return. See [signals_atom_main.dm]
+

Var Details

blocking_flags + + + + +

+

Set of COMSIG_ATOM_UPDATE_ICON to return. See [signals_atom_main.dm]

+ + + diff --git a/datum/element/update_icon_updates_onmob.html b/datum/element/update_icon_updates_onmob.html new file mode 100644 index 000000000000..276947c9d843 --- /dev/null +++ b/datum/element/update_icon_updates_onmob.html @@ -0,0 +1,43 @@ + + + + + + + /datum/element/update_icon_updates_onmob - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

update_icon_updates_onmob + + + +

+ + + +

Vars

update_bodyShould the element call [/mob/proc/update_body()] in addition to clothing updates?
update_flagsThe ITEM_SLOT_X flags to update on the parent mob. (Ex: ITEM_SLOT_HANDS|ITEM_SLOT_FEET)
+

Var Details

update_body + + + + +

+

Should the element call [/mob/proc/update_body()] in addition to clothing updates?

update_flags + + + + +

+

The ITEM_SLOT_X flags to update on the parent mob. (Ex: ITEM_SLOT_HANDS|ITEM_SLOT_FEET)

+ + + diff --git a/datum/element/venomous.html b/datum/element/venomous.html new file mode 100644 index 000000000000..2389eacb7fbc --- /dev/null +++ b/datum/element/venomous.html @@ -0,0 +1,44 @@ + + + + + + + /datum/element/venomous - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

venomous + + + +

+ +

Venomous element; which makes the attacks of the simplemob attached poison the enemy.

+

Used for spiders and bees!

+ +

Vars

amount_addedHow much of the reagent added. if it's a list, it'll pick a range with the range being list(lower_value, upper_value)
poison_typePath of the reagent added
+

Var Details

amount_added + + + + +

+

How much of the reagent added. if it's a list, it'll pick a range with the range being list(lower_value, upper_value)

poison_type + + + + +

+

Path of the reagent added

+ + + diff --git a/datum/element/volatile_gas_storage.html b/datum/element/volatile_gas_storage.html new file mode 100644 index 000000000000..4c33eb8d1003 --- /dev/null +++ b/datum/element/volatile_gas_storage.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/volatile_gas_storage - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

volatile_gas_storage + + + +

+ +

An element to make an /obj explode based on gas pressure when broken

+ + +

Vars

max_explosive_forceThe max explsion range at the max pressure
max_explosive_pressureThe max pressure to stop scaling the explosion at, you can go higher but the explosion range will stay at max
minimum_explosive_pressureThe minimum pressure of the gas storage to consider an explosion when broken
+

Var Details

max_explosive_force + + + + +

+

The max explsion range at the max pressure

max_explosive_pressure + + + + +

+

The max pressure to stop scaling the explosion at, you can go higher but the explosion range will stay at max

minimum_explosive_pressure + + + + +

+

The minimum pressure of the gas storage to consider an explosion when broken

+ + + diff --git a/datum/emote.html b/datum/emote.html new file mode 100644 index 000000000000..365671826bed --- /dev/null +++ b/datum/emote.html @@ -0,0 +1,336 @@ + + + + + + + /datum/emote - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Emote + + + +

+ +

Most of the text that's not someone talking is based off of this.

+

Yes, the displayed message is stored on the datum, it would cause problems +for emotes with a message that can vary, but that's handled differently in +run_emote(), so be sure to use can_message_change if you plan to have +different displayed messages from player to player.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

audio_cooldownHow long is the cooldown on the audio of the emote, if it has one?
can_message_changeDoes this message have a message that can be modified by the user?
cooldownThe cooldown between the uses of the emote.
emote_typeWhether the emote is visible or audible.
hands_use_checkChecks if the mob can use its hands before performing the emote.
keyWhat calls the emote.
key_third_personThis will also call the emote.
messageMessage displayed when emote is used.
message_AIMessage displayed if the user is an AI.
message_alienMessage displayed if the user is a grown alien.
message_ipcMessage displayed if the user is an IPC.
message_larvaMessage displayed if the user is an alien larva.
message_mimeMessage displayed if the user is a mime.
message_monkeyMessage displayed if the user is a monkey.
message_paramMessage with %t at the end to allow adding params to the message, like for mobs doing an emote relatively to something else.
message_robotMessage displayed if the user is a robot.
message_simpleMessage to display if the user is a simple_animal.
mob_type_allowed_typecacheTypes that are allowed to use that emote.
mob_type_blacklist_typecacheTypes that are NOT allowed to use that emote.
mob_type_ignore_stat_typecacheTypes that can use this emote regardless of their state.
muzzle_ignoreWill only work if the emote is EMOTE_AUDIBLE.
only_forced_audioCan only code call this event instead of the player.
soundSound to play when emote is called.
species_type_whitelist_typecacheSpecies types which the emote will be exclusively available to.
stat_allowedIn which state can you use this emote? (Check stat.dm for a full list of them)
varyUsed for the honk borg emote.

Procs

can_run_emoteCheck to see if the user is allowed to run the emote.
check_cooldownFor handling emote cooldown, return true to allow the emote to happen.
get_frequencyReturns a number to be used as the frequency variable for the emote sound. +[/datum/emote/var/vary] must also be set to TRUE for this to work, due a check in playsound_local().
get_soundTo get the sound that the emote plays, for special sound interactions depending on the mob.
replace_pronounTo replace pronouns in the inputed string with the user's proper pronouns.
run_emoteHandles the modifications and execution of emotes.
select_message_typeSelects the message type to override the message with.
select_paramReplaces the %t in the message in message_param by params.
should_play_soundCheck to see if the user should play a sound when performing the emote.
+

Var Details

audio_cooldown + + + + +

+

How long is the cooldown on the audio of the emote, if it has one?

can_message_change + + + + +

+

Does this message have a message that can be modified by the user?

cooldown + + + + +

+

The cooldown between the uses of the emote.

emote_type + + + + +

+

Whether the emote is visible or audible.

hands_use_check + + + + +

+

Checks if the mob can use its hands before performing the emote.

key + + + + +

+

What calls the emote.

key_third_person + + + + +

+

This will also call the emote.

message + + + + +

+

Message displayed when emote is used.

message_AI + + + + +

+

Message displayed if the user is an AI.

message_alien + + + + +

+

Message displayed if the user is a grown alien.

message_ipc + + + + +

+

Message displayed if the user is an IPC.

message_larva + + + + +

+

Message displayed if the user is an alien larva.

message_mime + + + + +

+

Message displayed if the user is a mime.

message_monkey + + + + +

+

Message displayed if the user is a monkey.

message_param + + + + +

+

Message with %t at the end to allow adding params to the message, like for mobs doing an emote relatively to something else.

message_robot + + + + +

+

Message displayed if the user is a robot.

message_simple + + + + +

+

Message to display if the user is a simple_animal.

mob_type_allowed_typecache + + + + +

+

Types that are allowed to use that emote.

mob_type_blacklist_typecache + + + + +

+

Types that are NOT allowed to use that emote.

mob_type_ignore_stat_typecache + + + + +

+

Types that can use this emote regardless of their state.

muzzle_ignore + + + + +

+

Will only work if the emote is EMOTE_AUDIBLE.

only_forced_audio + + + + +

+

Can only code call this event instead of the player.

sound + + + + +

+

Sound to play when emote is called.

species_type_whitelist_typecache + + + + +

+

Species types which the emote will be exclusively available to.

stat_allowed + + + + +

+

In which state can you use this emote? (Check stat.dm for a full list of them)

vary + + + + +

+

Used for the honk borg emote.

Proc Details

can_run_emote +

+

Check to see if the user is allowed to run the emote.

+

Arguments:

+ +

Returns a bool about whether or not the user can run the emote.

check_cooldown +

+

For handling emote cooldown, return true to allow the emote to happen.

+

Arguments:

+ +

Returns FALSE if the cooldown is not over, TRUE if the cooldown is over.

get_frequency +

+

Returns a number to be used as the frequency variable for the emote sound. +[/datum/emote/var/vary] must also be set to TRUE for this to work, due a check in playsound_local().

+

Arguments:

+ +

Returns the frequency that will modify the the sound used by the emote.

get_sound +

+

To get the sound that the emote plays, for special sound interactions depending on the mob.

+

Arguments:

+ +

Returns the sound that will be made while sending the emote.

replace_pronoun +

+

To replace pronouns in the inputed string with the user's proper pronouns.

+

Arguments:

+ +

Returns the modified msg string.

run_emote +

+

Handles the modifications and execution of emotes.

+

Arguments:

+ +

Returns TRUE if it was able to run the emote, FALSE otherwise.

select_message_type +

+

Selects the message type to override the message with.

+

Arguments:

+ +

Returns the new message, or msg directly, if no change was needed.

select_param +

+

Replaces the %t in the message in message_param by params.

+

Arguments:

+ +

Returns the modified string.

should_play_sound +

+

Check to see if the user should play a sound when performing the emote.

+

Arguments:

+ +

Returns a bool about whether or not the user should play a sound when performing the emote.

+ + + diff --git a/datum/emote/living/blush.html b/datum/emote/living/blush.html new file mode 100644 index 000000000000..4672c9fde974 --- /dev/null +++ b/datum/emote/living/blush.html @@ -0,0 +1,36 @@ + + + + + + + /datum/emote/living/blush - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

blush + + + +

+ + +

Vars

blush_timerTimer for the blush visual to wear off
+

Var Details

blush_timer + + + + +

+

Timer for the blush visual to wear off

+ + + diff --git a/datum/emote/living/yawn.html b/datum/emote/living/yawn.html new file mode 100644 index 000000000000..b32fbe89882e --- /dev/null +++ b/datum/emote/living/yawn.html @@ -0,0 +1,35 @@ + + + + + + + /datum/emote/living/yawn - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

yawn + + + +

+ + +

Procs

propagate_yawnThis yawn has been triggered by someone else yawning specifically, likely after a delay. Check again if they don't have the yawned recently trait

Proc Details

propagate_yawn +

+

This yawn has been triggered by someone else yawning specifically, likely after a delay. Check again if they don't have the yawned recently trait

+ + + diff --git a/datum/equilibrium.html b/datum/equilibrium.html new file mode 100644 index 000000000000..193e5a690e10 --- /dev/null +++ b/datum/equilibrium.html @@ -0,0 +1,140 @@ + + + + + + + /datum/equilibrium - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

equilibrium + + + +

+ + + + + + + + + + + + + + + + +

Vars

dataUsed to store specific data needed for a reaction, usually used to keep track of things between explosion calls. CANNOT be used as a part of chemical_recipe - those vars are static lookup tables.
delta_tResult vars, private - do not edit unless in reaction_step() +How much we're adding
holderThe location/reagents datum the processing is taking place
last_tick_overheatingTracks if we were overheating last tick or not.
multiplierHow much product we can make multiplied by the input recipe's products/required_reagents numerical values
product_ratioThe sum total of each of the product's numerical's values. This is so the addition/deletion is kept at the right values for multiple product reactions
reacted_volHow much of the reaction has been made so far. Mostly used for subprocs, but it keeps track across the whole reaction and is added to every step.
reactionThe chemical reaction that is presently being processed
speed_modModifiers from catalysts, do not use negative numbers. +I should write a better handiler for modifying these +Speed mod
step_target_volThe target volume the reaction is headed towards. This is updated every tick, so isn't the total value for the reaction, it's just a way to ensure we can't make more than is possible.
target_volThe total possible that this reaction can make presently - used for gui outputs
thermic_modTemp mod
time_deficitAllow us to deal with lag by "charging" up our reactions to react faster over a period - this means that the reaction doesn't suddenly mass react - which can cause explosions
to_deleteIf we're done with this reaction so that holder can clear it.

Procs

force_clear_reactive_agentsPanic stop a reaction - cleanup should be handled by the next timestep
+

Var Details

data + + + + +

+

Used to store specific data needed for a reaction, usually used to keep track of things between explosion calls. CANNOT be used as a part of chemical_recipe - those vars are static lookup tables.

delta_t + + + + +

+

Result vars, private - do not edit unless in reaction_step() +How much we're adding

holder + + + + +

+

The location/reagents datum the processing is taking place

last_tick_overheating + + + + +

+

Tracks if we were overheating last tick or not.

multiplier + + + + +

+

How much product we can make multiplied by the input recipe's products/required_reagents numerical values

product_ratio + + + + +

+

The sum total of each of the product's numerical's values. This is so the addition/deletion is kept at the right values for multiple product reactions

reacted_vol + + + + +

+

How much of the reaction has been made so far. Mostly used for subprocs, but it keeps track across the whole reaction and is added to every step.

reaction + + + + +

+

The chemical reaction that is presently being processed

speed_mod + + + + +

+

Modifiers from catalysts, do not use negative numbers. +I should write a better handiler for modifying these +Speed mod

step_target_vol + + + + +

+

The target volume the reaction is headed towards. This is updated every tick, so isn't the total value for the reaction, it's just a way to ensure we can't make more than is possible.

target_vol + + + + +

+

The total possible that this reaction can make presently - used for gui outputs

thermic_mod + + + + +

+

Temp mod

time_deficit + + + + +

+

Allow us to deal with lag by "charging" up our reactions to react faster over a period - this means that the reaction doesn't suddenly mass react - which can cause explosions

to_delete + + + + +

+

If we're done with this reaction so that holder can clear it.

Proc Details

force_clear_reactive_agents +

+

Panic stop a reaction - cleanup should be handled by the next timestep

+ + + diff --git a/datum/ert.html b/datum/ert.html new file mode 100644 index 000000000000..a2971f1b7f09 --- /dev/null +++ b/datum/ert.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ert - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ert + + + +

+ + + + +

Vars

leader_experienceIf TRUE, we try and pick one of the most experienced players who volunteered to fill the leader slot
random_namesIf TRUE, gives the team members "[role] [random last name]" style names
spawn_adminIf TRUE, the admin who created the response team will be spawned in the briefing room in their preferred briefing outfit (assuming they're a ghost)
+

Var Details

leader_experience + + + + +

+

If TRUE, we try and pick one of the most experienced players who volunteered to fill the leader slot

random_names + + + + +

+

If TRUE, gives the team members "[role] [random last name]" style names

spawn_admin + + + + +

+

If TRUE, the admin who created the response team will be spawned in the briefing room in their preferred briefing outfit (assuming they're a ghost)

+ + + diff --git a/datum/exoscan.html b/datum/exoscan.html new file mode 100644 index 000000000000..3e3fd94f259e --- /dev/null +++ b/datum/exoscan.html @@ -0,0 +1,64 @@ + + + + + + + /datum/exoscan - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

exoscan + + + +

+ +

Represents scan in progress, only one globally for now, todo later split per z or allow partial dish swarm usage

+ + + + +

Vars

scan_powerThe scan power this scan was started with, if scanner swarm power falls below this value it will be interrupted
scan_timerEnd of scan timer id
scan_typeScan type wide/point/deep
targetTarget site for point/band scans

Procs

ui_descriptionShort description for in progress scan
+

Var Details

scan_power + + + + +

+

The scan power this scan was started with, if scanner swarm power falls below this value it will be interrupted

scan_timer + + + + +

+

End of scan timer id

scan_type + + + + +

+

Scan type wide/point/deep

target + + + + +

+

Target site for point/band scans

Proc Details

ui_description +

+

Short description for in progress scan

+ + + diff --git a/datum/exploration_event.html b/datum/exploration_event.html new file mode 100644 index 000000000000..f2d3d8431e69 --- /dev/null +++ b/datum/exploration_event.html @@ -0,0 +1,120 @@ + + + + + + + /datum/exploration_event - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

exploration_event + + + +

+ +

Exploration event

+ + + + + + + + + + + + +

Vars

abstract_typeThese types will be ignored in event creation
band_valuesModifies site scan results by these
blacklisted_site_traitsIf these site traits are present the event won't show up
deep_scan_descriptionOptional description that will be added to site description when point scan is completed.
discovery_logmessage logged when first encountering the event.
nameThis name will show up in exploration list if it's repeatable
point_scan_descriptionOptional description that will be added to site description when point scan is completed.
required_site_traitsExploration site required_traits for this event to show up
site_description_modThis will be added to site description, mind this will most likely reveal presence of this event early if set.
visitedencountered at least once

Procs

encounterMain event functionality, called when exploring randomly/revisiting.
get_discovery_messageOverride this if you need to modify discovery message
is_targetableShould this event show up on site exploration list.
+

Var Details

abstract_type + + + + +

+

These types will be ignored in event creation

band_values + + + + +

+

Modifies site scan results by these

blacklisted_site_traits + + + + +

+

If these site traits are present the event won't show up

deep_scan_description + + + + +

+

Optional description that will be added to site description when point scan is completed.

discovery_log + + + + +

+

message logged when first encountering the event.

name + + + + +

+

This name will show up in exploration list if it's repeatable

point_scan_description + + + + +

+

Optional description that will be added to site description when point scan is completed.

required_site_traits + + + + +

+

Exploration site required_traits for this event to show up

site_description_mod + + + + +

+

This will be added to site description, mind this will most likely reveal presence of this event early if set.

visited + + + + +

+

encountered at least once

Proc Details

encounter +

+

Main event functionality, called when exploring randomly/revisiting.

get_discovery_message +

+

Override this if you need to modify discovery message

is_targetable +

+

Should this event show up on site exploration list.

+ + + diff --git a/datum/exploration_event/simple.html b/datum/exploration_event/simple.html new file mode 100644 index 000000000000..b56a76279e53 --- /dev/null +++ b/datum/exploration_event/simple.html @@ -0,0 +1,106 @@ + + + + + + + /datum/exploration_event/simple - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

simple + + + +

+ +

Simple events, not a full fledged adventure, consist only of single encounter screen

+ + + + + + + + + + +

Vars

action_textAction text, can be further parametrized in get_action_text()
descriptionDescription, can be further parametrized in get_description()
ignore_textIgnore button text
skippableShow ignore button.

Procs

action_enabledButton to act disabled or not
build_ui_eventCreates ui data for displaying the event
encounterOn exploration, only display our information with the act/ignore options
endEnds simple event and cleans up display data
fireAfter choosing not to ignore the event, THIS IS DONE AFTER UNKNOWN DELAY SO YOU NEED TO VALIDATE IF ACTION IS POSSIBLE AGAIN
get_action_textText on the act button
get_descriptionDescription shown below image
+

Var Details

action_text + + + + +

+

Action text, can be further parametrized in get_action_text()

description + + + + +

+

Description, can be further parametrized in get_description()

ignore_text + + + + +

+

Ignore button text

skippable + + + + +

+

Show ignore button.

Proc Details

action_enabled +

+

Button to act disabled or not

build_ui_event +

+

Creates ui data for displaying the event

encounter +

+

On exploration, only display our information with the act/ignore options

end +

+

Ends simple event and cleans up display data

fire +

+

After choosing not to ignore the event, THIS IS DONE AFTER UNKNOWN DELAY SO YOU NEED TO VALIDATE IF ACTION IS POSSIBLE AGAIN

get_action_text +

+

Text on the act button

get_description +

+

Description shown below image

+ + + diff --git a/datum/exploration_event/simple/resource.html b/datum/exploration_event/simple/resource.html new file mode 100644 index 000000000000..5f2b72208679 --- /dev/null +++ b/datum/exploration_event/simple/resource.html @@ -0,0 +1,85 @@ + + + + + + + /datum/exploration_event/simple/resource - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

resource + + + +

+ +

Simple event type that checks if you have a tool and after a retrieval delay adds loot to drone.

+ + + + + + + +

Vars

amountHow many times can this be extracted
has_tool_descriptionDescription shown when you have the necessary tool
loot_typeWhat you get out of it, either /obj path or adventure_loot_generator id
no_tool_descriptionDescription shown when you don't have the tool
required_toolTool type required to recover this resource
success_logMessage logged on success

Procs

delay_finishedCan go back if something is left.
get_descriptionDescription shown below image
+

Var Details

amount + + + + +

+

How many times can this be extracted

has_tool_description + + + + +

+

Description shown when you have the necessary tool

loot_type + + + + +

+

What you get out of it, either /obj path or adventure_loot_generator id

no_tool_description + + + + +

+

Description shown when you don't have the tool

required_tool + + + + +

+

Tool type required to recover this resource

success_log + + + + +

+

Message logged on success

Proc Details

delay_finished +

+

Can go back if something is left.

get_description +

+

Description shown below image

+ + + diff --git a/datum/exploration_event/simple/trader.html b/datum/exploration_event/simple/trader.html new file mode 100644 index 000000000000..c22d448993ba --- /dev/null +++ b/datum/exploration_event/simple/trader.html @@ -0,0 +1,43 @@ + + + + + + + /datum/exploration_event/simple/trader - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

trader + + + +

+ +

Trader events - If drone is loaded with X exchanges it for Y, might require translator tool.

+ +

Vars

required_pathObj path we'll take or list of paths ,one path will be picked from it at init
traded_pathObj path we'll give out or list of paths ,one path will be picked from it at init
+

Var Details

required_path + + + + +

+

Obj path we'll take or list of paths ,one path will be picked from it at init

traded_path + + + + +

+

Obj path we'll give out or list of paths ,one path will be picked from it at init

+ + + diff --git a/datum/exploration_site.html b/datum/exploration_site.html new file mode 100644 index 000000000000..7d3a966d806f --- /dev/null +++ b/datum/exploration_site.html @@ -0,0 +1,147 @@ + + + + + + + /datum/exploration_site - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

exploration_site + + + +

+ +

Exploration site, drone travel destination representing interesting zone for exploration.

+ + + + + + + + + + + + + + + +

Vars

band_infoContains baseline site bands at define time. Events bands will be added to this list as part of event generation.
coordinatesCoordinates in Station coordinate system - don't ask if station rotates
deep_scan_completeWas deep scan of this site completed.
descriptionDescription shown after scanning/exploring
distanceHow far is it, affects travel time/cost.
eventsList of event instances represting thing to be found around this exploration site.
fluff_typeKey for strings file fluff events
nameName displayed after scanning/exploring
point_scan_completeWas point scan of this site completed.
revealedWas the point scan done or a drone arrived on the site. Affects displayed name/description
scan_conditionsList of scan conditions for this site - scan conditions are singletons
site_traitsThese are used to determine events/adventures possible for this site

Procs

build_exploration_event_requirements_cacheList of exploration event requirements indexed by type, ./datum/exploration_site/a = list("required"=list(trait),"blacklisted"=list(other_trait))
generate_scan_conditionsTry to find aventure first since they're the meat of the system. +Fill other events +Baseline weights for each event root type +Weight mods scaled by distance, resources are more easily found on farther sites
on_drone_arrivalAdd up event band values to ours
site_dataData for ui_data, exploration
+

Var Details

band_info + + + + +

+

Contains baseline site bands at define time. Events bands will be added to this list as part of event generation.

coordinates + + + + +

+

Coordinates in Station coordinate system - don't ask if station rotates

deep_scan_complete + + + + +

+

Was deep scan of this site completed.

description + + + + +

+

Description shown after scanning/exploring

distance + + + + +

+

How far is it, affects travel time/cost.

events + + + + +

+

List of event instances represting thing to be found around this exploration site.

fluff_type + + + + +

+

Key for strings file fluff events

name + + + + +

+

Name displayed after scanning/exploring

point_scan_complete + + + + +

+

Was point scan of this site completed.

revealed + + + + +

+

Was the point scan done or a drone arrived on the site. Affects displayed name/description

scan_conditions + + + + +

+

List of scan conditions for this site - scan conditions are singletons

site_traits + + + + +

+

These are used to determine events/adventures possible for this site

Proc Details

build_exploration_event_requirements_cache +

+

List of exploration event requirements indexed by type, ./datum/exploration_site/a = list("required"=list(trait),"blacklisted"=list(other_trait))

generate_scan_conditions +

+

Try to find aventure first since they're the meat of the system. +Fill other events +Baseline weights for each event root type +Weight mods scaled by distance, resources are more easily found on farther sites

on_drone_arrival +

+

Add up event band values to ours

site_data +

+

Data for ui_data, exploration

+ + + diff --git a/datum/export.html b/datum/export.html new file mode 100644 index 000000000000..41de14c402d6 --- /dev/null +++ b/datum/export.html @@ -0,0 +1,111 @@ + + + + + + + /datum/export - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

export + + + +

+ + + + + + + + + + + + +

Vars

allow_negative_costwhether this export can have a negative impact on the cargo budget or not
amount_report_multiplierThe multiplier of the amount sold shown on the report. Useful for exports, such as material, which costs are not strictly per single units sold.
costCost of item, in cargo credits. Must not allow for infinite price dupes, see above.
exclude_typesTypes excluded from export
export_typesType of the exported object. If none, the export datum is considered base type.
include_subtypesSet to FALSE to make the datum apply only to a strict type.
init_costcost includes elasticity, this does not.
k_elasticitycoefficient used in marginal price calculation that roughly corresponds to the inverse of price elasticity, or "quantity elasticity"
unit_nameUnit name. Only used in "Received [total_amount] [name]s [message]." message

Procs

sell_objectCalculates the exact export value of the object, while factoring in all the relivant variables.
total_printoutThis is the value of the object, as derived from export datums. +Quantity of the object in question.
+

Var Details

allow_negative_cost + + + + +

+

whether this export can have a negative impact on the cargo budget or not

amount_report_multiplier + + + + +

+

The multiplier of the amount sold shown on the report. Useful for exports, such as material, which costs are not strictly per single units sold.

cost + + + + +

+

Cost of item, in cargo credits. Must not allow for infinite price dupes, see above.

exclude_types + + + + +

+

Types excluded from export

export_types + + + + +

+

Type of the exported object. If none, the export datum is considered base type.

include_subtypes + + + + +

+

Set to FALSE to make the datum apply only to a strict type.

init_cost + + + + +

+

cost includes elasticity, this does not.

k_elasticity + + + + +

+

coefficient used in marginal price calculation that roughly corresponds to the inverse of price elasticity, or "quantity elasticity"

unit_name + + + + +

+

Unit name. Only used in "Received [total_amount] [name]s [message]." message

Proc Details

sell_object +

+

Calculates the exact export value of the object, while factoring in all the relivant variables.

+

Called only once, when the object is actually sold by the datum. +Adds item's cost and amount to the current export cycle. +get_cost, get_amount and applies_to do not neccesary mean a successful sale.

total_printout +

+

This is the value of the object, as derived from export datums. +Quantity of the object in question.

+ + + diff --git a/datum/fantasy_affix.html b/datum/fantasy_affix.html new file mode 100644 index 000000000000..7b30c3b20384 --- /dev/null +++ b/datum/fantasy_affix.html @@ -0,0 +1,36 @@ + + + + + + + /datum/fantasy_affix - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

fantasy_affix + + + +

+ + +

Vars

nameonly used for admins adding the affix, this is not what players will see.
+

Var Details

name + + + + +

+

only used for admins adding the affix, this is not what players will see.

+ + + diff --git a/datum/feed_channel.html b/datum/feed_channel.html new file mode 100644 index 000000000000..3af851753ea2 --- /dev/null +++ b/datum/feed_channel.html @@ -0,0 +1,119 @@ + + + + + + + /datum/feed_channel - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

feed_channel + + + +

+ + + + + + + + + + + + + +

Vars

D_class_censor_timeAt what times has the author been D-Class censored.
authorWho is the author of this channel? Taken from the user's ID card.
author_censorHas the author of the channel been censored, as opposed to the message itself?
author_censor_timeAt what times has the author been censored?
censoredHas this channel been censored? Where Locked channels cannot be commented on, Censored channels cannot be viewed at all.
channel_IDChannel ID is a random number sequence similar to account ID number that allows for us to link messages to the proper channels through the UI backend.
channel_descThe description of the channel, players see this upon clicking on the channel before seeing messages.
channel_nameThe name of the channel, players see this on the channel selection list
is_admin_channelIs this an admin channel? Allows for actions to be taken by the admin only.
lockedIs the channel locked? Locked channels cannot be commented on.
messagesDatum list of all feed_messages.

Procs

random_channel_id_setupThis proc assigns each feed_channel a random integer, from 1-999 as a unique identifer. +Using this value, the TGUI window has a unique identifier to attach to messages that can be used to reattach them +to their parent channels back in dreammaker. +Based on implementation, we're limiting outselves to only 998 player made channels maximum. How we'd use all of them, I don't know.
+

Var Details

D_class_censor_time + + + + +

+

At what times has the author been D-Class censored.

author + + + + +

+

Who is the author of this channel? Taken from the user's ID card.

author_censor + + + + +

+

Has the author of the channel been censored, as opposed to the message itself?

author_censor_time + + + + +

+

At what times has the author been censored?

censored + + + + +

+

Has this channel been censored? Where Locked channels cannot be commented on, Censored channels cannot be viewed at all.

channel_ID + + + + +

+

Channel ID is a random number sequence similar to account ID number that allows for us to link messages to the proper channels through the UI backend.

channel_desc + + + + +

+

The description of the channel, players see this upon clicking on the channel before seeing messages.

channel_name + + + + +

+

The name of the channel, players see this on the channel selection list

is_admin_channel + + + + +

+

Is this an admin channel? Allows for actions to be taken by the admin only.

locked + + + + +

+

Is the channel locked? Locked channels cannot be commented on.

messages + + + + +

+

Datum list of all feed_messages.

Proc Details

random_channel_id_setup +

+

This proc assigns each feed_channel a random integer, from 1-999 as a unique identifer. +Using this value, the TGUI window has a unique identifier to attach to messages that can be used to reattach them +to their parent channels back in dreammaker. +Based on implementation, we're limiting outselves to only 998 player made channels maximum. How we'd use all of them, I don't know.

+ + + diff --git a/datum/feed_comment.html b/datum/feed_comment.html new file mode 100644 index 000000000000..08298a0a3f45 --- /dev/null +++ b/datum/feed_comment.html @@ -0,0 +1,50 @@ + + + + + + + /datum/feed_comment - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

feed_comment + + + +

+ + + + +

Vars

authorThe author of the comment, as seen on a newscaster feed.
bodyBody of the aforementioned comment.
time_stampAt what time was the feed comment sent? Time is in station time.
+

Var Details

author + + + + +

+

The author of the comment, as seen on a newscaster feed.

body + + + + +

+

Body of the aforementioned comment.

time_stamp + + + + +

+

At what time was the feed comment sent? Time is in station time.

+ + + diff --git a/datum/feed_message.html b/datum/feed_message.html new file mode 100644 index 000000000000..0504f31ba086 --- /dev/null +++ b/datum/feed_message.html @@ -0,0 +1,141 @@ + + + + + + + /datum/feed_message - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

feed_message + + + +

+ + + + + + + + + + + + + + + + + +

Vars

authorWho is the author of the full-size article to the feed channel?
author_censorHas the author been blocked from making new feed messages?
author_censor_timeIn station time, at what time was the author's messages censored and blocked from viewing.
bodyBody of the full-size article to the feed channel.
body_censorHas the body of the message been censored?
body_censor_timeIn station time, at what time was this message censored and blocked from viewing.
captionIf the message has an image, what is that image's caption?
commentsList consisting of the articles feed comments for this full-size article.
creation_timeAt what time was the feed message created?
imgIs there an image tied to the feed message?
is_admin_messageDid an admin send this message?
lockedCan comments be placed on that feed message?
message_IDWhat number message is this? IE: The first message sent in a round including automated messages is message 1.
parent_IDWhat is the channel ID of the parent channel?
photo_fileReferece to the photo used in picture messages.
time_stampAt what time was the full-size article sent? Time is in station time.
+

Var Details

author + + + + +

+

Who is the author of the full-size article to the feed channel?

author_censor + + + + +

+

Has the author been blocked from making new feed messages?

author_censor_time + + + + +

+

In station time, at what time was the author's messages censored and blocked from viewing.

body + + + + +

+

Body of the full-size article to the feed channel.

body_censor + + + + +

+

Has the body of the message been censored?

body_censor_time + + + + +

+

In station time, at what time was this message censored and blocked from viewing.

caption + + + + +

+

If the message has an image, what is that image's caption?

comments + + + + +

+

List consisting of the articles feed comments for this full-size article.

creation_time + + + + +

+

At what time was the feed message created?

img + + + + +

+

Is there an image tied to the feed message?

is_admin_message + + + + +

+

Did an admin send this message?

locked + + + + +

+

Can comments be placed on that feed message?

message_ID + + + + +

+

What number message is this? IE: The first message sent in a round including automated messages is message 1.

parent_ID + + + + +

+

What is the channel ID of the parent channel?

photo_file + + + + +

+

Referece to the photo used in picture messages.

time_stamp + + + + +

+

At what time was the full-size article sent? Time is in station time.

+ + + diff --git a/datum/feed_network.html b/datum/feed_network.html new file mode 100644 index 000000000000..4933583381e3 --- /dev/null +++ b/datum/feed_network.html @@ -0,0 +1,71 @@ + + + + + + + /datum/feed_network - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

feed_network + + + +

+ + + + + + + +

Vars

channel_IDsList of all the network_channels Channel Id numbers, kept in a global easy to find place.
last_actionWhat time was the last action taken on the feed_network?
message_countHow many messages currently exist on this feed_network? Increments as new messages are written.
network_channelsAll the feed channels that have been made on the feed network.
redacted_textWhat does this feed network say when a message/author is redacted?
wanted_issueWhat is the wanted issue being sent out to all newscasters.
+

Var Details

channel_IDs + + + + +

+

List of all the network_channels Channel Id numbers, kept in a global easy to find place.

last_action + + + + +

+

What time was the last action taken on the feed_network?

message_count + + + + +

+

How many messages currently exist on this feed_network? Increments as new messages are written.

network_channels + + + + +

+

All the feed channels that have been made on the feed network.

redacted_text + + + + +

+

What does this feed network say when a message/author is redacted?

wanted_issue + + + + +

+

What is the wanted issue being sent out to all newscasters.

+ + + diff --git a/datum/fluid_group.html b/datum/fluid_group.html new file mode 100644 index 000000000000..052b1f2ca2ba --- /dev/null +++ b/datum/fluid_group.html @@ -0,0 +1,89 @@ + + + + + + + /datum/fluid_group - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

fluid_group + + + +

+ +

SMOKE SYSTEMS +A group of fluid objects.

+ + + + +

Vars

nodesThe set of fluid objects currently in this group.
target_sizeThe number of fluid object that this group wants to have contained.
total_sizeThe total number of fluid objects that have ever been in this group.

Procs

add_nodeAdds a fluid node to this fluid group.
remove_nodeRemoves a fluid node from this fluid group.
+

Var Details

nodes + + + + +

+

The set of fluid objects currently in this group.

target_size + + + + +

+

The number of fluid object that this group wants to have contained.

total_size + + + + +

+

The total number of fluid objects that have ever been in this group.

Proc Details

add_node +

+

Adds a fluid node to this fluid group.

+

Is a noop if the node is already in the group. +Removes the node from any other fluid groups it is in. +Syncs the group of the node with the group it is being added to (this one). +Increments the total size of the fluid group.

+

Arguments:

+ +

Returns:

+

remove_node +

+

Removes a fluid node from this fluid group.

+

Is a noop if the node is not in this group. +Nulls the nodes fluid group ref to sync it with its new state. +DOES NOT decrement the total size of the fluid group.

+

Arguments:

+ +

Returns:

+
+ + + diff --git a/datum/food_processor_process.html b/datum/food_processor_process.html new file mode 100644 index 000000000000..21b9f96faa72 --- /dev/null +++ b/datum/food_processor_process.html @@ -0,0 +1,78 @@ + + + + + + + /datum/food_processor_process - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

food_processor_process + + + +

+ + + + + + + + +

Vars

blacklistSubtypes of what the recipe takes that it can't actually take.
food_multiplierMultiplied additional food made when processed
inputWhat this recipe takes
outputWhat this recipe creates
preserve_materialsWhether to copy the materials from the input to the output
required_machineThe machine required to do this recipe
timeThe amount of time this recipe takes.
+

Var Details

blacklist + + + + +

+

Subtypes of what the recipe takes that it can't actually take.

food_multiplier + + + + +

+

Multiplied additional food made when processed

input + + + + +

+

What this recipe takes

output + + + + +

+

What this recipe creates

preserve_materials + + + + +

+

Whether to copy the materials from the input to the output

required_machine + + + + +

+

The machine required to do this recipe

time + + + + +

+

The amount of time this recipe takes.

+ + + diff --git a/datum/foreign_calendar.html b/datum/foreign_calendar.html new file mode 100644 index 000000000000..5b953c77ffb9 --- /dev/null +++ b/datum/foreign_calendar.html @@ -0,0 +1,49 @@ + + + + + + + /datum/foreign_calendar - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

foreign_calendar + + + +

+ + + + +

Procs

gregorian_to_jdConverts Gregorian date to Julian Day
leap_gregorianReturns whether a year is a leap year in the Gregorian calendar
realtime_to_jdConverts BYOND realtime to Julian Day

Proc Details

gregorian_to_jd +

+

Converts Gregorian date to Julian Day

leap_gregorian +

+

Returns whether a year is a leap year in the Gregorian calendar

realtime_to_jd +

+

Converts BYOND realtime to Julian Day

+ + + diff --git a/datum/forensics.html b/datum/forensics.html new file mode 100644 index 000000000000..20ed2b11d165 --- /dev/null +++ b/datum/forensics.html @@ -0,0 +1,190 @@ + + + + + + + /datum/forensics - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

forensics + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

admin_logA k:v list of ckey : thing. For admins.
blood_DNAA k:v list of dna : blood_type
fibersA k:v list of fibers : amount
fingerprintsA k:v list of fingerprint : partial_or_full_print
gunshot_residueA k:v FLAT list of residues
parentThe object we belong to. This can be null.
trace_DNAA list of DNA

Procs

add_blood_DNAAdds blood dna. Returns TRUE if the blood dna list expanded.
add_fiber_listAdds a list of fibers.
add_fibersAdds the fibers of M to our fiber list.
add_fingerprintAdds the fingerprint of M to our fingerprint list
add_fingerprint_listAdd a list of fingerprints
add_gunshot_residueAdds gunshot residue to our list
add_gunshot_residue_listAdds a list of gunshot residue
check_bloodAdds blood to our parent object if we have any
log_touchFor admins. Logs when mobs players with this thing.
log_touch_listsee datum/forensics/proc/log_touch
remove_evidenceDelete all non-admin evidence
washCalled by atom/proc/wash.
wipe_blood_DNAClear blood dna list.
wipe_fibersClear fibers list.
wipe_fingerprintsClear fingerprints list.
wipe_gunshot_residueClear the gunshot residue list.
+

Var Details

admin_log + + + + +

+

A k:v list of ckey : thing. For admins.

blood_DNA + + + + +

+

A k:v list of dna : blood_type

fibers + + + + +

+

A k:v list of fibers : amount

fingerprints + + + + +

+

A k:v list of fingerprint : partial_or_full_print

gunshot_residue + + + + +

+

A k:v FLAT list of residues

parent + + + + +

+

The object we belong to. This can be null.

trace_DNA + + + + +

+

A list of DNA

Proc Details

add_blood_DNA +

+

Adds blood dna. Returns TRUE if the blood dna list expanded.

add_fiber_list +

+

Adds a list of fibers.

add_fibers +

+

Adds the fibers of M to our fiber list.

add_fingerprint +

+

Adds the fingerprint of M to our fingerprint list

add_fingerprint_list +

+

Add a list of fingerprints

add_gunshot_residue +

+

Adds gunshot residue to our list

add_gunshot_residue_list +

+

Adds a list of gunshot residue

check_blood +

+

Adds blood to our parent object if we have any

log_touch +

+

For admins. Logs when mobs players with this thing.

log_touch_list +

+

see datum/forensics/proc/log_touch

remove_evidence +

+

Delete all non-admin evidence

wash +

+

Called by atom/proc/wash.

wipe_blood_DNA +

+

Clear blood dna list.

wipe_fibers +

+

Clear fibers list.

wipe_fingerprints +

+

Clear fingerprints list.

wipe_gunshot_residue +

+

Clear the gunshot residue list.

+ + + diff --git a/datum/game_mode.html b/datum/game_mode.html new file mode 100644 index 000000000000..2da4a51f1391 --- /dev/null +++ b/datum/game_mode.html @@ -0,0 +1,260 @@ + + + + + + + /datum/game_mode - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

game_mode + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

antag_datumTypepath of the antagonist datum to hand out at round start
antag_flagThe antagonist flag to check player prefs for, for example ROLE_WIZARD
antag_flag_to_ban_checkIf a role is to be considered another for the purpose of banning.
antag_preferenceIf set, will check this preference instead of antag_flag.
antagonistsALL antagonists, not just the roundstart ones
death_timersA k:v list of mind:time of death.
exclusive_rolesIf set, rule will only accept candidates from those roles. If on a roundstart ruleset, requires the player to have the correct antag pref enabled and any of the possible roles enabled.
force_pre_setup_checkEven if the mode has no antag datum, force possible_antags to be built
max_popThe maximum players this gamemode can roll
min_popThe minimum players this gamemode can roll
permadead_antag_poolA list of names of antagonists who are permanantly. This list will be cut down to spend on midrounds.
possible_antagsA list of minds that are elligible to be given antagonist at roundstart
protected_jobsA list of jobs that should not be this antagonist
recommended_enemiesThe recommended number of antag players for this round type
required_enemiesThe number of antag players required for this round type to be considered
required_jobsJobs required for this round type to function, k:v list of JOB_TITLE : NUM_JOB. list(list(cap=1),list(hos=1,sec=2)) translates to one captain OR one hos and two secmans
restricted_jobsA list of jobs cannot physically be this antagonist, typically AI and borgs.
setup_errorDynamically set to what the problem was. Or the first problem, anyway.
votableIs the gamemode votable? !Not implimented!
weightThis is a WEIGHT not a PROBABILITY

Procs

admin_panelMode specific admin panel.
check_for_errorsPass in a list of players about to participate in roundstart, returns an error as a string if the round cannot start.
execute_roundstartTry to start this gamemode, called by SSticker. Returns FALSE if it fails.
give_antag_datumsActually send out the antag datums
init_mob_signalsSetup signals for the antagonist's mind and mob. Make sure it gets cleared in handle_antagonist_mind_transfer.
make_antag_chanceHandles late-join antag assignments
on_failed_executeClean up a mess we may have made during set up.
post_setupEveryone should now be on the station and have their normal gear. This is the place to give the special roles extra things
pre_setupPopulate the possible_antags list of minds, and any child behavior.
processStub for reference that gamemodes do infact, process.
select_antagonistAdd a mind to pre_setup_antags and perform any work on it.
setup_antagsThe absolute last thing called before the round starts. Setup gamemode info/antagonists.
trim_candidatesReturn a list of players that have our antag flag checked in prefs and are not banned, among other criteria.
+

Var Details

antag_datum + + + + +

+

Typepath of the antagonist datum to hand out at round start

antag_flag + + + + +

+

The antagonist flag to check player prefs for, for example ROLE_WIZARD

antag_flag_to_ban_check + + + + +

+

If a role is to be considered another for the purpose of banning.

antag_preference + + + + +

+

If set, will check this preference instead of antag_flag.

antagonists + + + + +

+

ALL antagonists, not just the roundstart ones

death_timers + + + + +

+

A k:v list of mind:time of death.

exclusive_roles + + + + +

+

If set, rule will only accept candidates from those roles. If on a roundstart ruleset, requires the player to have the correct antag pref enabled and any of the possible roles enabled.

force_pre_setup_check + + + + +

+

Even if the mode has no antag datum, force possible_antags to be built

max_pop + + + + +

+

The maximum players this gamemode can roll

min_pop + + + + +

+

The minimum players this gamemode can roll

permadead_antag_pool + + + + +

+

A list of names of antagonists who are permanantly. This list will be cut down to spend on midrounds.

possible_antags + + + + +

+

A list of minds that are elligible to be given antagonist at roundstart

protected_jobs + + + + +

+

A list of jobs that should not be this antagonist

recommended_enemies + + + + +

+

The recommended number of antag players for this round type

required_enemies + + + + +

+

The number of antag players required for this round type to be considered

required_jobs + + + + +

+

Jobs required for this round type to function, k:v list of JOB_TITLE : NUM_JOB. list(list(cap=1),list(hos=1,sec=2)) translates to one captain OR one hos and two secmans

restricted_jobs + + + + +

+

A list of jobs cannot physically be this antagonist, typically AI and borgs.

setup_error + + + + +

+

Dynamically set to what the problem was. Or the first problem, anyway.

votable + + + + +

+

Is the gamemode votable? !Not implimented!

weight + + + + +

+

This is a WEIGHT not a PROBABILITY

Proc Details

admin_panel +

+

Mode specific admin panel.

check_for_errors +

+

Pass in a list of players about to participate in roundstart, returns an error as a string if the round cannot start.

execute_roundstart +

+

Try to start this gamemode, called by SSticker. Returns FALSE if it fails.

give_antag_datums +

+

Actually send out the antag datums

init_mob_signals +

+

Setup signals for the antagonist's mind and mob. Make sure it gets cleared in handle_antagonist_mind_transfer.

make_antag_chance +

+

Handles late-join antag assignments

on_failed_execute +

+

Clean up a mess we may have made during set up.

post_setup +

+

Everyone should now be on the station and have their normal gear. This is the place to give the special roles extra things

pre_setup +

+

Populate the possible_antags list of minds, and any child behavior.

process +

+

Stub for reference that gamemodes do infact, process.

select_antagonist +

+

Add a mind to pre_setup_antags and perform any work on it.

setup_antags +

+

The absolute last thing called before the round starts. Setup gamemode info/antagonists.

trim_candidates +

+

Return a list of players that have our antag flag checked in prefs and are not banned, among other criteria.

+ + + diff --git a/datum/game_mode/bloodcult.html b/datum/game_mode/bloodcult.html new file mode 100644 index 000000000000..e47b6e195520 --- /dev/null +++ b/datum/game_mode/bloodcult.html @@ -0,0 +1,36 @@ + + + + + + + /datum/game_mode/bloodcult - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bloodcult + + + +

+ + +

Vars

main_cultThe cult created by the gamemode.
+

Var Details

main_cult + + + + +

+

The cult created by the gamemode.

+ + + diff --git a/datum/game_mode/dynamic.html b/datum/game_mode/dynamic.html new file mode 100644 index 000000000000..4ac0bc32bd85 --- /dev/null +++ b/datum/game_mode/dynamic.html @@ -0,0 +1,582 @@ + + + + + + + /datum/game_mode/dynamic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

dynamic + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

candidatesList of candidates used on roundstart rulesets.
configurationDynamic configuration, loaded on pre_setup
current_midround_rulesetsThe last drafted midround rulesets (without the current one included). +Used for choosing different midround injections.
current_rulesRules that are processed, rule_process is called on the rules in this list.
executed_rulesList of executed rulesets.
forced_injectionWhen TRUE GetInjectionChance returns 100.
forced_latejoin_ruleForced ruleset to be executed for the next latejoin.
high_impact_ruleset_executedIf a high impact ruleset was executed. Only one will run at a time in most circumstances.
higher_injection_chanceThe chance of injection increase when above higher_injection_chance_minimum_threat
higher_injection_chance_minimum_threatIf above this threat, increase the chance of injection
hijacked_random_event_injection_chanceThe amount to inject when a round event is hijacked
initial_round_start_budgetThe initial round start budget for logging purposes, set once at the beginning of the round.
last_midround_injection_attemptThe time when the last midround injection was attempted, whether or not it was successful
latejoin_delay_maxThe maximum time the recurring latejoin ruleset timer is allowed to be.
latejoin_delay_minThe minimum time the recurring latejoin ruleset timer is allowed to be.
latejoin_injection_cooldownWhen world.time is over this number the mode tries to inject a latejoin ruleset.
latejoin_rulesList of latejoin rules used for selecting the rules.
lower_injection_chanceThe chance of injection decrease when above lower_injection_chance_minimum_threat
lower_injection_chance_minimum_threatIf below this threat, decrease the chance of injection
max_threat_levelMaximum amount of threat allowed to generate.
mid_round_budgetSet at the beginning of the round. Spent by midrounds and latejoins.
midround_delay_maxThe maximum time the recurring midround ruleset timer is allowed to be.
midround_delay_minThe minimum time the recurring midround ruleset timer is allowed to be.
midround_injection_cooldownWhen world.time is over this number the mode tries to inject a midround ruleset.
midround_injection_timer_idThe timer ID for the cancellable midround rule injection
midround_rulesList of midround rules used for selecting the rules.
only_ruleset_executedIf a only ruleset has been executed.
peaceful_percentageHow many percent of the rounds are more peaceful.
pop_per_requirement
random_event_hijack_maximumThe maximum amount of time for antag random events to be hijacked.
random_event_hijack_minimumThe minimum amount of time for antag random events to be hijacked.
random_event_hijackedWhether or not a random event has been hijacked this midround cycle
round_start_budgetSet at the beginning of the round. Spent by the mode to "purchase" rules. Everything else goes in the postround budget.
roundend_threat_logThreat log shown on the roundend report. Should only list player-made edits.
roundstart_pop_readyNumber of players who were ready on roundstart.
roundstart_split_curve_centreA number between -5 and +5. +Equivalent to threat_curve_centre, but for the budget split. +A negative value will weigh towards midround rulesets, and a positive +value will weight towards roundstart ones.
roundstart_split_curve_widthA number between 0.5 and 4. +Equivalent to threat_curve_width, but for the budget split. +Higher value will favour more variance in splits and +lower value rounds closer to the average.
shown_threatThe amount of threat shown on the piece of paper. +Can differ from the actual threat amount.
snapshotsA list of recorded "snapshots" of the round, stored in the dynamic.json log
threat_curve_centreA number between -5 and +5. +A negative value will give a more peaceful round and +a positive value will give a round with higher threat.
threat_curve_widthA number between 0.5 and 4. +Higher value will favour extreme rounds and +lower value rounds closer to the average.
threat_levelThe "threat cap", threat shouldn't normally go above this and is used in ruleset calculations
threat_logRunning information about the threat. Can store text or datum entries.
waittime_hWhat is the higher bound of when the roundstart annoucement is sent out?
waittime_lWhat is the lower bound of when the roundstart annoucement is sent out?

Procs

admin_cancel_midroundFired when an admin cancels the current midround injection.
admin_different_midroundFired when an admin requests a different midround injection.
check_blockingChecks if a type in blocking_list is in rule_list.
configure_rulesetApply configurations to rule.
create_threatGenerate threat and increase the threat_level if it goes beyond, capped at 100
dynamic_logLog to messages and to the game
execute_midround_latejoin_ruleMainly here to facilitate delayed rulesets. All midround/latejoin rulesets are executed with a timered callback to this proc.
execute_midround_ruleFired after admins do not cancel a midround injection.
execute_roundstart_ruleMainly here to facilitate delayed rulesets. All roundstart rulesets are executed with a timered callback to this proc.
generate_budgetsGenerates the midround and roundstart budgets
generate_threatGenerates the threat level using lorentz distribution and assigns peaceful_percentage.
get_injection_chanceGets the chance for latejoin injection, the dry_run argument is only used for forced injection.
get_midround_injection_chanceGets the chance for midround injection, the dry_run argument is only used for forced injection. +Usually defers to the latejoin injection chance.
init_rulesetsReturns a list of the provided rulesets. +Configures their variables to match config.
lorentz_to_amountTurns the value generated by lorentz distribution to number between 0 and 100. +Used for threat level and splitting the budgets.
new_snapshotCreates a new snapshot with the given rulesets chosen, and writes to the JSON output.
pick_latejoin_ruleExecutes a random latejoin ruleset from the list of drafted rules.
pick_midround_ruleExecutes a random midround ruleset from the list of drafted rules.
pick_rulesetFrom a list of rulesets, returns one based on weight and availability. +Mutates the list that is passed into it to remove invalid rules.
picking_roundstart_ruleInitializes the round start ruleset provided to it. Returns how much threat to spend.
picking_specific_ruleAn experimental proc to allow admins to call rules on the fly or have rules call other rules.
refund_threatRefund threat, but no more than threat_level.
remove_from_listRemoves type from the list
rigged_roundstartA simple roundstart proc used when dynamic_forced_roundstart_ruleset has rules in it.
setup_rulesetsInitializes the internal ruleset variables
spend_midround_budgetExpend midround threat, can't fall under 0.
spend_roundstart_budgetExpend round start threat, can't fall under 0.
update_logUpdates the log for the current snapshots.
+

Var Details

candidates + + + + +

+

List of candidates used on roundstart rulesets.

configuration + + + + +

+

Dynamic configuration, loaded on pre_setup

current_midround_rulesets + + + + +

+

The last drafted midround rulesets (without the current one included). +Used for choosing different midround injections.

current_rules + + + + +

+

Rules that are processed, rule_process is called on the rules in this list.

executed_rules + + + + +

+

List of executed rulesets.

forced_injection + + + + +

+

When TRUE GetInjectionChance returns 100.

forced_latejoin_rule + + + + +

+

Forced ruleset to be executed for the next latejoin.

high_impact_ruleset_executed + + + + +

+

If a high impact ruleset was executed. Only one will run at a time in most circumstances.

higher_injection_chance + + + + +

+

The chance of injection increase when above higher_injection_chance_minimum_threat

higher_injection_chance_minimum_threat + + + + +

+

If above this threat, increase the chance of injection

hijacked_random_event_injection_chance + + + + +

+

The amount to inject when a round event is hijacked

initial_round_start_budget + + + + +

+

The initial round start budget for logging purposes, set once at the beginning of the round.

last_midround_injection_attempt + + + + +

+

The time when the last midround injection was attempted, whether or not it was successful

latejoin_delay_max + + + + +

+

The maximum time the recurring latejoin ruleset timer is allowed to be.

latejoin_delay_min + + + + +

+

The minimum time the recurring latejoin ruleset timer is allowed to be.

latejoin_injection_cooldown + + + + +

+

When world.time is over this number the mode tries to inject a latejoin ruleset.

latejoin_rules + + + + +

+

List of latejoin rules used for selecting the rules.

lower_injection_chance + + + + +

+

The chance of injection decrease when above lower_injection_chance_minimum_threat

lower_injection_chance_minimum_threat + + + + +

+

If below this threat, decrease the chance of injection

max_threat_level + + + + +

+

Maximum amount of threat allowed to generate.

mid_round_budget + + + + +

+

Set at the beginning of the round. Spent by midrounds and latejoins.

midround_delay_max + + + + +

+

The maximum time the recurring midround ruleset timer is allowed to be.

midround_delay_min + + + + +

+

The minimum time the recurring midround ruleset timer is allowed to be.

midround_injection_cooldown + + + + +

+

When world.time is over this number the mode tries to inject a midround ruleset.

midround_injection_timer_id + + + + +

+

The timer ID for the cancellable midround rule injection

midround_rules + + + + +

+

List of midround rules used for selecting the rules.

only_ruleset_executed + + + + +

+

If a only ruleset has been executed.

peaceful_percentage + + + + +

+

How many percent of the rounds are more peaceful.

pop_per_requirement + + + + +

+

random_event_hijack_maximum + + + + +

+

The maximum amount of time for antag random events to be hijacked.

random_event_hijack_minimum + + + + +

+

The minimum amount of time for antag random events to be hijacked.

random_event_hijacked + + + + +

+

Whether or not a random event has been hijacked this midround cycle

round_start_budget + + + + +

+

Set at the beginning of the round. Spent by the mode to "purchase" rules. Everything else goes in the postround budget.

roundend_threat_log + + + + +

+

Threat log shown on the roundend report. Should only list player-made edits.

roundstart_pop_ready + + + + +

+

Number of players who were ready on roundstart.

roundstart_split_curve_centre + + + + +

+

A number between -5 and +5. +Equivalent to threat_curve_centre, but for the budget split. +A negative value will weigh towards midround rulesets, and a positive +value will weight towards roundstart ones.

roundstart_split_curve_width + + + + +

+

A number between 0.5 and 4. +Equivalent to threat_curve_width, but for the budget split. +Higher value will favour more variance in splits and +lower value rounds closer to the average.

shown_threat + + + + +

+

The amount of threat shown on the piece of paper. +Can differ from the actual threat amount.

snapshots + + + + +

+

A list of recorded "snapshots" of the round, stored in the dynamic.json log

threat_curve_centre + + + + +

+

A number between -5 and +5. +A negative value will give a more peaceful round and +a positive value will give a round with higher threat.

threat_curve_width + + + + +

+

A number between 0.5 and 4. +Higher value will favour extreme rounds and +lower value rounds closer to the average.

threat_level + + + + +

+

The "threat cap", threat shouldn't normally go above this and is used in ruleset calculations

threat_log + + + + +

+

Running information about the threat. Can store text or datum entries.

waittime_h + + + + +

+

What is the higher bound of when the roundstart annoucement is sent out?

waittime_l + + + + +

+

What is the lower bound of when the roundstart annoucement is sent out?

Proc Details

admin_cancel_midround +

+

Fired when an admin cancels the current midround injection.

admin_different_midround +

+

Fired when an admin requests a different midround injection.

check_blocking +

+

Checks if a type in blocking_list is in rule_list.

configure_ruleset +

+

Apply configurations to rule.

create_threat +

+

Generate threat and increase the threat_level if it goes beyond, capped at 100

dynamic_log +

+

Log to messages and to the game

execute_midround_latejoin_rule +

+

Mainly here to facilitate delayed rulesets. All midround/latejoin rulesets are executed with a timered callback to this proc.

execute_midround_rule +

+

Fired after admins do not cancel a midround injection.

execute_roundstart_rule +

+

Mainly here to facilitate delayed rulesets. All roundstart rulesets are executed with a timered callback to this proc.

generate_budgets +

+

Generates the midround and roundstart budgets

generate_threat +

+

Generates the threat level using lorentz distribution and assigns peaceful_percentage.

get_injection_chance +

+

Gets the chance for latejoin injection, the dry_run argument is only used for forced injection.

get_midround_injection_chance +

+

Gets the chance for midround injection, the dry_run argument is only used for forced injection. +Usually defers to the latejoin injection chance.

init_rulesets +

+

Returns a list of the provided rulesets. +Configures their variables to match config.

lorentz_to_amount +

+

Turns the value generated by lorentz distribution to number between 0 and 100. +Used for threat level and splitting the budgets.

new_snapshot +

+

Creates a new snapshot with the given rulesets chosen, and writes to the JSON output.

pick_latejoin_rule +

+

Executes a random latejoin ruleset from the list of drafted rules.

pick_midround_rule +

+

Executes a random midround ruleset from the list of drafted rules.

pick_ruleset +

+

From a list of rulesets, returns one based on weight and availability. +Mutates the list that is passed into it to remove invalid rules.

picking_roundstart_rule +

+

Initializes the round start ruleset provided to it. Returns how much threat to spend.

picking_specific_rule +

+

An experimental proc to allow admins to call rules on the fly or have rules call other rules.

refund_threat +

+

Refund threat, but no more than threat_level.

remove_from_list +

+

Removes type from the list

rigged_roundstart +

+

A simple roundstart proc used when dynamic_forced_roundstart_ruleset has rules in it.

setup_rulesets +

+

Initializes the internal ruleset variables

spend_midround_budget +

+

Expend midround threat, can't fall under 0.

spend_roundstart_budget +

+

Expend round start threat, can't fall under 0.

update_log +

+

Updates the log for the current snapshots.

+ + + diff --git a/datum/game_mode/revolution.html b/datum/game_mode/revolution.html new file mode 100644 index 000000000000..f9f9c18b5f1a --- /dev/null +++ b/datum/game_mode/revolution.html @@ -0,0 +1,35 @@ + + + + + + + /datum/game_mode/revolution - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

revolution + + + +

+ + +

Procs

check_eligibleChecks for revhead loss conditions and other antag datums.

Proc Details

check_eligible +

+

Checks for revhead loss conditions and other antag datums.

+ + + diff --git a/datum/gang_handler.html b/datum/gang_handler.html new file mode 100644 index 000000000000..50831ac965f6 --- /dev/null +++ b/datum/gang_handler.html @@ -0,0 +1,292 @@ + + + + + + + /datum/gang_handler - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Families gamemode / dynamic ruleset handler + + + +

+ +

A special datum used by the families gamemode and dynamic rulesets to centralize code. "Family" and "gang" used interchangeably in code.

+

This datum centralizes code used for the families gamemode / dynamic rulesets. Families incorporates a significant +amount of unique processing; without this datum, that could would be duplicated. To ensure the maintainability +of the families gamemode / rulesets, the code was moved to this datum. The gamemode / rulesets instance this +datum, pass it lists (lists are passed by reference; removing candidates here removes candidates in the gamemode), +and call its procs. Additionally, the families antagonist datum and families induction package also +contain vars that reference this datum, allowing for new families / family members to add themselves +to this datum's lists thereof (primarily used for point calculation). Despite this, the basic team mechanics +themselves should function regardless of this datum's instantiation, should a player have the gang or cop +antagonist datum added to them through methods external to the families gamemode / rulesets.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

antag_candidatesList of all eligible starting family members / undercover cops. Set externally (passed by reference) by gamemode / ruleset; used internally. Note that dynamic uses a list of mobs to handle candidates while game_modes use lists of minds! Don't be fooled!
check_counterA counter used to minimize the overhead of computationally intensive, periodic family point gain checks. Used and set internally.
cops_arrivedWhether the space cops have arrived. Set internally; used internally, and for updating the wanted HUD.
current_themeThe current chosen gamemode theme. Decides the available Gangs, objectives, and equipment.
deaths_during_shift_at_beginningKeeps track of the amount of deaths since the calling of pre_setup_analogue() if this is a midround handler. Used to prevent a high wanted level due to a large amount of deaths during the shift prior to the activation of this handler / the midround ruleset.
end_timeThe time, in deciseconds, that the space cops will arrive at. Calculated based on wanted level and start_time. Used and set internally.
gang_balance_capThe number of family members more that a family may have over other active families. Can be set externally; used internally.
gangbangersList of all family member minds. Used internally; added to internally, and externally by /obj/item/gang_induction_package when used to induct a new family member.
gangsList of all /datum/team/gang. Used internally; added to externally by /datum/antagonist/gang when it generates a new /datum/team/gang.
gangs_to_generateThe number of families (and 1:1 corresponding undercover cops) that should be generated. Can be set externally; used internally.
midround_rulesetWhether the handler corresponds to a ruleset that does not trigger at round start. Should be set externally only if applicable; used internally.
restricted_jobsList of jobs not eligible for starting family member / undercover cop. Set externally (passed by reference) by gamemode / ruleset; used internally.
sent_announcementWhether the gamemode-announcing announcement has been sent. Used and set internally.
sent_second_announcementWhether the "5 minute warning" announcement has been sent. Used and set internally.
start_timeThe time, in deciseconds, that the datum's pre_setup() occured at. Used in end_time. Used and set internally.
undercover_copsList of all undercover cop minds. Used and set internally.
use_dynamic_timingWhether we want to use the 30 to 15 minute timer instead of the 60 to 30 minute timer, for Dynamic.
wanted_levelThe current wanted level. Set internally; used internally, and for updating the wanted HUD.

Procs

NewSets antag_candidates and restricted_jobs.
announce_gang_locationsInternal. Announces the presence of families to the entire station and sets sent_announcement to true to allow other checks to occur.
check_wanted_levelInternal. Checks if our wanted level has changed; calls update_wanted_level. Only updates wanted level post the initial announcement and until the cops show up. After that, it's locked.
on_gain_wanted_levelInternal. Updates the end_time and sends out an announcement if the wanted level has increased. Called by update_wanted_level().
on_lower_wanted_levelInternal. Updates the end_time and sends out an announcement if the wanted level has decreased. Called by update_wanted_level().
post_setup_analoguepost_setup() or execute() equivalent.
pre_setup_analoguepre_setup() or pre_execute() equivalent.
process_analogueprocess() or rule_process() equivalent.
send_in_the_fuzzInternal. Polls ghosts and sends in a team of space cops according to the wanted level, accompanied by an announcement. Will let the shuttle leave 10 minutes after sending. Freezes the wanted level.
set_round_result_analogueset_round_result() or round_result() equivalent.
update_wanted_levelInternal. Updates the icon states for everyone, and calls procs that send out announcements / change the end_time if the wanted level has changed.
+

Var Details

antag_candidates + + + + +

+

List of all eligible starting family members / undercover cops. Set externally (passed by reference) by gamemode / ruleset; used internally. Note that dynamic uses a list of mobs to handle candidates while game_modes use lists of minds! Don't be fooled!

check_counter + + + + +

+

A counter used to minimize the overhead of computationally intensive, periodic family point gain checks. Used and set internally.

cops_arrived + + + + +

+

Whether the space cops have arrived. Set internally; used internally, and for updating the wanted HUD.

current_theme + + + + +

+

The current chosen gamemode theme. Decides the available Gangs, objectives, and equipment.

deaths_during_shift_at_beginning + + + + +

+

Keeps track of the amount of deaths since the calling of pre_setup_analogue() if this is a midround handler. Used to prevent a high wanted level due to a large amount of deaths during the shift prior to the activation of this handler / the midround ruleset.

end_time + + + + +

+

The time, in deciseconds, that the space cops will arrive at. Calculated based on wanted level and start_time. Used and set internally.

gang_balance_cap + + + + +

+

The number of family members more that a family may have over other active families. Can be set externally; used internally.

gangbangers + + + + +

+

List of all family member minds. Used internally; added to internally, and externally by /obj/item/gang_induction_package when used to induct a new family member.

gangs + + + + +

+

List of all /datum/team/gang. Used internally; added to externally by /datum/antagonist/gang when it generates a new /datum/team/gang.

gangs_to_generate + + + + +

+

The number of families (and 1:1 corresponding undercover cops) that should be generated. Can be set externally; used internally.

midround_ruleset + + + + +

+

Whether the handler corresponds to a ruleset that does not trigger at round start. Should be set externally only if applicable; used internally.

restricted_jobs + + + + +

+

List of jobs not eligible for starting family member / undercover cop. Set externally (passed by reference) by gamemode / ruleset; used internally.

sent_announcement + + + + +

+

Whether the gamemode-announcing announcement has been sent. Used and set internally.

sent_second_announcement + + + + +

+

Whether the "5 minute warning" announcement has been sent. Used and set internally.

start_time + + + + +

+

The time, in deciseconds, that the datum's pre_setup() occured at. Used in end_time. Used and set internally.

undercover_cops + + + + +

+

List of all undercover cop minds. Used and set internally.

use_dynamic_timing + + + + +

+

Whether we want to use the 30 to 15 minute timer instead of the 60 to 30 minute timer, for Dynamic.

wanted_level + + + + +

+

The current wanted level. Set internally; used internally, and for updating the wanted HUD.

Proc Details

New +

+

Sets antag_candidates and restricted_jobs.

+

Sets the antag_candidates and restricted_jobs lists to the equivalent +lists of its instantiating game_mode / dynamic_ruleset datum. As lists +are passed by reference, the variable set in this datum and the passed list +list used to set it are literally the same; changes to one affect the other. +Like all New() procs, called when the datum is first instantiated. +There's an annoying caveat here, though -- dynamic rulesets don't have +lists of minds for candidates, they have lists of mobs. Ghost mobs, before +the round has started. But we still want to preserve the structure of the candidates +list by not duplicating it and making sure to remove the candidates as we use them. +So there's a little bit of boilerplate throughout to preserve the sanctity of this reference. +Arguments:

+

announce_gang_locations +

+

Internal. Announces the presence of families to the entire station and sets sent_announcement to true to allow other checks to occur.

check_wanted_level +

+

Internal. Checks if our wanted level has changed; calls update_wanted_level. Only updates wanted level post the initial announcement and until the cops show up. After that, it's locked.

on_gain_wanted_level +

+

Internal. Updates the end_time and sends out an announcement if the wanted level has increased. Called by update_wanted_level().

on_lower_wanted_level +

+

Internal. Updates the end_time and sends out an announcement if the wanted level has decreased. Called by update_wanted_level().

post_setup_analogue +

+

post_setup() or execute() equivalent.

+

This proc is always called externally, by the instantiating game_mode / dynamic_ruleset. +This is done during the post_setup() or execute() phase, after the pre_setup() / pre_execute() phase. +It is intended to take the place of the code that would normally occupy the pre_setup() +or pre_execute() proc. As such, it ensures that all prospective starting family members / +undercover cops are eligible, and picks replacements if there were ineligible cops / family members. +It then assigns gear to the finalized family members and undercover cops, adding them to its lists, +and sets the families announcement proc (that does the announcing) to trigger in five minutes. +Additionally, if given the argument TRUE, it will return FALSE if there are no eligible starting family members. +This is only to be done if the instantiating datum is a dynamic_ruleset, as these require returns +while a game_mode is not expected to return early during this phase. +Arguments:

+

pre_setup_analogue +

+

pre_setup() or pre_execute() equivalent.

+

This proc is always called externally, by the instantiating game_mode / dynamic_ruleset. +This is done during the pre_setup() or pre_execute() phase, after first instantiation +and the modification of gangs_to_generate, gang_balance_cap, and midround_ruleset. +It is intended to take the place of the code that would normally occupy the pre_setup() +or pre_execute() proc, were the code localized to the game_mode or dynamic_ruleset datum respectively +as opposed to this handler. As such, it picks players to be chosen for starting familiy members +or undercover cops prior to assignment to jobs. Sets start_time, default end_time, +and the current value of deaths_during_shift, to ensure the wanted level only cares about +the deaths since this proc has been called. +Takes no arguments.

process_analogue +

+

process() or rule_process() equivalent.

+

This proc is always called externally, by the instantiating game_mode / dynamic_ruleset. +This is done during the process() or rule_process() phase, after post_setup() or +execute() and at regular intervals thereafter. process() and rule_process() are optional +for a game_mode / dynamic_ruleset, but are important for this gamemode. It is of central +importance to the gamemode's flow, calculating wanted level updates, family point gain, +and announcing + executing the arrival of the space cops, achieved through calling internal procs. +Takes no arguments.

send_in_the_fuzz +

+

Internal. Polls ghosts and sends in a team of space cops according to the wanted level, accompanied by an announcement. Will let the shuttle leave 10 minutes after sending. Freezes the wanted level.

set_round_result_analogue +

+

set_round_result() or round_result() equivalent.

+

This proc is always called externally, by the instantiating game_mode / dynamic_ruleset. +This is done by the set_round_result() or round_result() procs, at roundend. +Sets the ticker subsystem to the correct result based off of the relative populations +of space cops and family members. +Takes no arguments.

update_wanted_level +

+

Internal. Updates the icon states for everyone, and calls procs that send out announcements / change the end_time if the wanted level has changed.

+ + + diff --git a/datum/gang_theme.html b/datum/gang_theme.html new file mode 100644 index 000000000000..6347fe445b4f --- /dev/null +++ b/datum/gang_theme.html @@ -0,0 +1,85 @@ + + + + + + + /datum/gang_theme - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

gang_theme + + + +

+ +

Gang themes for the Families gamemode. Used to determine the RP theme of the round, what gangs are present, and what their objectives are.

+ + + + + + + +

Vars

bonus_first_gangster_itemsStuff given to the starting gangster at roundstart. Assoc list, type = list(item_type)
bonus_itemsStuff given to every gangster in this theme.
descriptionThe radio announcement played after 5 minutes.
everyone_objectiveIf this isn't null, everyone gets this objective.
gang_objectivesThe objectives for the gangs. Associative list, type = "objective"
involved_gangsAll gangs in the theme, typepaths of gangs.
nameThe name of the theme.
starting_gangstersHow many gangsters should each gang start with? Recommend to keep this in the ballpark of ensuring 9-10 total gangsters spawn.
+

Var Details

bonus_first_gangster_items + + + + +

+

Stuff given to the starting gangster at roundstart. Assoc list, type = list(item_type)

bonus_items + + + + +

+

Stuff given to every gangster in this theme.

description + + + + +

+

The radio announcement played after 5 minutes.

everyone_objective + + + + +

+

If this isn't null, everyone gets this objective.

gang_objectives + + + + +

+

The objectives for the gangs. Associative list, type = "objective"

involved_gangs + + + + +

+

All gangs in the theme, typepaths of gangs.

name + + + + +

+

The name of the theme.

starting_gangsters + + + + +

+

How many gangsters should each gang start with? Recommend to keep this in the ballpark of ensuring 9-10 total gangsters spawn.

+ + + diff --git a/datum/gas_mixture.html b/datum/gas_mixture.html new file mode 100644 index 000000000000..d04f69d91733 --- /dev/null +++ b/datum/gas_mixture.html @@ -0,0 +1,298 @@ + + + + + + + /datum/gas_mixture - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

gas_mixture + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Procs

addSimpler version of merge(), adjusts gas amounts directly and doesn't account for temperature or group_multiplier.
adjustGasTakes a gas string and the amount of moles to adjust by. Calls updateValues() if update isn't 0.
adjustGasWithTempSame as adjustGas(), but takes a temperature which is mixed in with the gas.
adjustMultipleGasesVariadic version of adjustGas(). Takes any number of gas and mole pairs and applies them.
adjustMultipleGasesWithTempVariadic version of adjustGasWithTemp(). Takes any number of gas, mole and temperature associations and applies them.
adjustThermalEnergyAdds or removes thermal energy. Returns the actual thermal energy change, as in the case of removing energy we can't go below TCMB.
checkTileGraphicIf check_vacuum is TRUE, if one of the mixtures is a vacuum, return FALSE until both are or neither are. +Rechecks the gas_mixture and adjusts the graphic list if needed. ///Two lists can be passed by reference if you need know specifically which graphics were added and removed.
compareChecks if we are within acceptable range of another gas_mixture to suspend processing or merge.
copyReturns a gas_mixture datum with identical contents.
copyFromCopies gas and temperature from another gas_mixture.
divideDivide all gas amounts by a factor.
equalizeUsed to equalize the mixture between two zones before sleeping an edge.
getBreathPartialPressureTakes the amount of the gas you want to PP as an argument +So I don't have to do some hacky switches/defines/magic strings +eg: +Plas_PP = get_partial_pressure(gas_mixture.plasma) +O2_PP = get_partial_pressure(gas_mixture.oxygen) +getBreathPartialPressure(gas_pp) --> gas_pp/get_moles()breath_pp = pp +getTrueBreathPressure(pp) --> gas_pp = pp/breath_ppget_moles()
getByFlagReturns the amount of gas that has the given flag, in moles..
getGroupGasReturns the volume of a specific gas within the entire zone.
getGroupMolesReturns the volume of the entire zone's gas contents.
getHeatCapacityReturns the heat capacity of the gas mix based on the specific heat of the gases.
getThermalEnergyChangeReturns the thermal energy change required to get to a new temperature
getTileOverlayInlined getTileOverlay(g) +End inline
getTrueBreathPressureinverse
get_volumeLINDA COMPATABILITY PROCS
hasGasReturns TRUE if the given gas has a volume equal to or greater than the given amount in one group share of gas.
isEqualCompares the contents of two mixtures to see if they are identical.
mergeMerges all the gas from another mixture into this one. Respects group_multipliers and adjusts temperature correctly. Does not modify giver in any way.
multiplyMultiply all gas amounts by a factor.
removeRemoves moles from the gas mixture and returns a gas_mixture containing the removed air.
removeByFlagRemoves moles from the gas mixture, limited by a given flag. Returns a gax_mixture containing the removed air.
removeRatioRemoves a ratio of gas from the mixture and returns a gas_mixture containing the removed air.
removeVolumeRemoves a volume of gas from the mixture and returns a gas_mixture containing the removed air with the given volume.
returnPressureReturns the pressure of the gas mix. Only accurate if there have been no gas modifications since updateValues() has been called.
setGasMolesSets the given gas id's mole count to the specified amount.
shareRatioShares gas with another gas_mixture based on the amount of connecting tiles and a fixed lookup table.
shareSpaceA wrapper around share_ratio for spacing gas at the same rate as if it were going into a large airless room.
specificGroupEntropyReturns the ideal gas specific entropy of the whole mix. This is the entropy per mole of /mixed/ gas.
subtractSimpler version of remove(), adjusts gas amounts directly and doesn't account for group_multiplier.
updateValuesUpdates the total_moles count and trims any empty gases. DO NOT USE. USE AIR_UPDATE_VALUES(air)!!!

Proc Details

add +

+

Simpler version of merge(), adjusts gas amounts directly and doesn't account for temperature or group_multiplier.

adjustGas +

+

Takes a gas string and the amount of moles to adjust by. Calls updateValues() if update isn't 0.

adjustGasWithTemp +

+

Same as adjustGas(), but takes a temperature which is mixed in with the gas.

adjustMultipleGases +

+

Variadic version of adjustGas(). Takes any number of gas and mole pairs and applies them.

adjustMultipleGasesWithTemp +

+

Variadic version of adjustGasWithTemp(). Takes any number of gas, mole and temperature associations and applies them.

adjustThermalEnergy +

+

Adds or removes thermal energy. Returns the actual thermal energy change, as in the case of removing energy we can't go below TCMB.

checkTileGraphic +

+

If check_vacuum is TRUE, if one of the mixtures is a vacuum, return FALSE until both are or neither are. +Rechecks the gas_mixture and adjusts the graphic list if needed. ///Two lists can be passed by reference if you need know specifically which graphics were added and removed.

compare +

+

Checks if we are within acceptable range of another gas_mixture to suspend processing or merge.

copy +

+

Returns a gas_mixture datum with identical contents.

copyFrom +

+

Copies gas and temperature from another gas_mixture.

divide +

+

Divide all gas amounts by a factor.

equalize +

+

Used to equalize the mixture between two zones before sleeping an edge.

getBreathPartialPressure +

+

Takes the amount of the gas you want to PP as an argument +So I don't have to do some hacky switches/defines/magic strings +eg: +Plas_PP = get_partial_pressure(gas_mixture.plasma) +O2_PP = get_partial_pressure(gas_mixture.oxygen) +getBreathPartialPressure(gas_pp) --> gas_pp/get_moles()breath_pp = pp +getTrueBreathPressure(pp) --> gas_pp = pp/breath_ppget_moles()

+

10/205 = 2.5 +10 = 2.5/520

getByFlag +

+

Returns the amount of gas that has the given flag, in moles..

getGroupGas +

+

Returns the volume of a specific gas within the entire zone.

getGroupMoles +

+

Returns the volume of the entire zone's gas contents.

getHeatCapacity +

+

Returns the heat capacity of the gas mix based on the specific heat of the gases.

getThermalEnergyChange +

+

Returns the thermal energy change required to get to a new temperature

getTileOverlay +

+

Inlined getTileOverlay(g) +End inline

getTrueBreathPressure +

+

inverse

get_volume +

+

LINDA COMPATABILITY PROCS

hasGas +

+

Returns TRUE if the given gas has a volume equal to or greater than the given amount in one group share of gas.

isEqual +

+

Compares the contents of two mixtures to see if they are identical.

merge +

+

Merges all the gas from another mixture into this one. Respects group_multipliers and adjusts temperature correctly. Does not modify giver in any way.

multiply +

+

Multiply all gas amounts by a factor.

remove +

+

Removes moles from the gas mixture and returns a gas_mixture containing the removed air.

removeByFlag +

+

Removes moles from the gas mixture, limited by a given flag. Returns a gax_mixture containing the removed air.

removeRatio +

+

Removes a ratio of gas from the mixture and returns a gas_mixture containing the removed air.

removeVolume +

+

Removes a volume of gas from the mixture and returns a gas_mixture containing the removed air with the given volume.

returnPressure +

+

Returns the pressure of the gas mix. Only accurate if there have been no gas modifications since updateValues() has been called.

setGasMoles +

+

Sets the given gas id's mole count to the specified amount.

shareRatio +

+

Shares gas with another gas_mixture based on the amount of connecting tiles and a fixed lookup table.

shareSpace +

+

A wrapper around share_ratio for spacing gas at the same rate as if it were going into a large airless room.

specificGroupEntropy +

+

Returns the ideal gas specific entropy of the whole mix. This is the entropy per mole of /mixed/ gas.

subtract +

+

Simpler version of remove(), adjusts gas amounts directly and doesn't account for group_multiplier.

updateValues +

+

Updates the total_moles count and trims any empty gases. DO NOT USE. USE AIR_UPDATE_VALUES(air)!!!

+ + + diff --git a/datum/gateway_destination.html b/datum/gateway_destination.html new file mode 100644 index 000000000000..9a3afff804d7 --- /dev/null +++ b/datum/gateway_destination.html @@ -0,0 +1,51 @@ + + + + + + + /datum/gateway_destination - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

gateway_destination + + + +

+ +

Corresponds to single entry in gateway control.

+

Will NOT be added automatically to GLOB.gateway_destinations list.

+ + +

Vars

enabledHow long after roundstart this destination becomes active
hiddenIf disabled, the destination won't be available

Procs

is_availableWill not show on gateway controls at all.
+

Var Details

enabled + + + + +

+

How long after roundstart this destination becomes active

hidden + + + + +

+

If disabled, the destination won't be available

Proc Details

is_available +

+

Will not show on gateway controls at all.

+ + + diff --git a/datum/gateway_destination/gateway.html b/datum/gateway_destination/gateway.html new file mode 100644 index 000000000000..e6a87364b1e9 --- /dev/null +++ b/datum/gateway_destination/gateway.html @@ -0,0 +1,36 @@ + + + + + + + /datum/gateway_destination/gateway - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

gateway + + + +

+ + +

Vars

target_gatewayThe gateway this destination points at
+

Var Details

target_gateway + + + + +

+

The gateway this destination points at

+ + + diff --git a/datum/gateway_destination/point.html b/datum/gateway_destination/point.html new file mode 100644 index 000000000000..09ae45e086fd --- /dev/null +++ b/datum/gateway_destination/point.html @@ -0,0 +1,36 @@ + + + + + + + /datum/gateway_destination/point - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

point + + + +

+ + +

Vars

idUsed by away landmarks
+

Var Details

id + + + + +

+

Used by away landmarks

+ + + diff --git a/datum/global_funny_embedding.html b/datum/global_funny_embedding.html new file mode 100644 index 000000000000..808361737708 --- /dev/null +++ b/datum/global_funny_embedding.html @@ -0,0 +1,46 @@ + + + + + + + /datum/global_funny_embedding - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

global_funny_embedding + + + +

+ +global_funny_embedding! +

Stored in a global datum, and created when it is turned on via event or VV'ing the GLOB.embedpocalypse_controller to be a new /datum/global_funny_embedding. +Gives every item in the world a prefix to their name, and... +Makes every item in the world embed when thrown, but also hooks into global signals for new items created to also bless them with embed-ability(??).

+ +

Procs

handle_current_items
on_new_item_in_existencesignal sent by a new item being created.

Proc Details

handle_current_items +

+ handle_current_items +

Gives every viable item in the world the embed_type, and the prefix prefixed to the name.

on_new_item_in_existence +

+

signal sent by a new item being created.

+ + + diff --git a/datum/grab.html b/datum/grab.html new file mode 100644 index 000000000000..623c1930e9da --- /dev/null +++ b/datum/grab.html @@ -0,0 +1,192 @@ + + + + + + + /datum/grab - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

grab + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

breakabilityThe baseline index of break_chance_table, before modifiers. This can be higher than the length of break_chance_table.
can_absorbWhether this grab state is strong enough to, as a changeling, absorb the person you're grabbing.
can_throwIf the grabber can throw the person grabbed.
damage_stageAffects how much damage is being dealt using certain actions.
downgrabThe grab that this will downgrade to if it downgrades, null means break grab on downgrade
downgrade_on_actionIf the grab needs to be downgraded when the grabber does stuff.
downgrade_on_moveIf the grab needs to be downgraded when the grabber moves.
enable_violent_interactionsIf the grab is strong enough to be able to force someone to do something harmful to them, like slam their head into glass.
point_blank_multHow much the grab increases point blank damage.
restrainsIf the grab acts like cuffs and prevents action from the victim.
same_tileIf the grabbed person and the grabbing person are on the same tile.
upgrabThe grab that this will upgrade to if it upgrades, null means no upgrade

Procs

add_contextAdd screentip context, user will always be assailant.
apply_unique_grab_effectsApply effects that should only be applied when a grab type is first used on a mob.
enter_as_downReturn TRUE unless the grab state is changing during this proc (for example, calling upgrade())
enter_as_upReturn TRUE unless the grab state is changing during this proc (for example, calling upgrade())
handle_resistHandle resist actions from the affected mob. Returns TRUE if the grab was broken.
refresh_updownCalled during world/New to setup references.
remove_bodyzone_effectsClear out any effects from special_bodyzone_effects()
remove_unique_grab_effectsRemove effects added by apply_unique_grab_effects()
setupCalled by the grab item's setup() proc. May return FALSE to interrupt, otherwise the grab has succeeded.
special_bodyzone_effectsHandles special targeting like eyes and mouth being covered. +CLEAR OUT ANY EFFECTS USING remove_bodyzone_effects()
update_stage_effectsAdd effects that apply based on damage_stage here
+

Var Details

breakability + + + + +

+

The baseline index of break_chance_table, before modifiers. This can be higher than the length of break_chance_table.

can_absorb + + + + +

+

Whether this grab state is strong enough to, as a changeling, absorb the person you're grabbing.

can_throw + + + + +

+

If the grabber can throw the person grabbed.

damage_stage + + + + +

+

Affects how much damage is being dealt using certain actions.

downgrab + + + + +

+

The grab that this will downgrade to if it downgrades, null means break grab on downgrade

downgrade_on_action + + + + +

+

If the grab needs to be downgraded when the grabber does stuff.

downgrade_on_move + + + + +

+

If the grab needs to be downgraded when the grabber moves.

enable_violent_interactions + + + + +

+

If the grab is strong enough to be able to force someone to do something harmful to them, like slam their head into glass.

point_blank_mult + + + + +

+

How much the grab increases point blank damage.

restrains + + + + +

+

If the grab acts like cuffs and prevents action from the victim.

same_tile + + + + +

+

If the grabbed person and the grabbing person are on the same tile.

upgrab + + + + +

+

The grab that this will upgrade to if it upgrades, null means no upgrade

Proc Details

add_context +

+

Add screentip context, user will always be assailant.

apply_unique_grab_effects +

+

Apply effects that should only be applied when a grab type is first used on a mob.

enter_as_down +

+

Return TRUE unless the grab state is changing during this proc (for example, calling upgrade())

enter_as_up +

+

Return TRUE unless the grab state is changing during this proc (for example, calling upgrade())

handle_resist +

+

Handle resist actions from the affected mob. Returns TRUE if the grab was broken.

refresh_updown +

+

Called during world/New to setup references.

remove_bodyzone_effects +

+

Clear out any effects from special_bodyzone_effects()

remove_unique_grab_effects +

+

Remove effects added by apply_unique_grab_effects()

setup +

+

Called by the grab item's setup() proc. May return FALSE to interrupt, otherwise the grab has succeeded.

special_bodyzone_effects +

+

Handles special targeting like eyes and mouth being covered. +CLEAR OUT ANY EFFECTS USING remove_bodyzone_effects()

update_stage_effects +

+

Add effects that apply based on damage_stage here

+ + + diff --git a/datum/grab/normal/struggle.html b/datum/grab/normal/struggle.html new file mode 100644 index 000000000000..04e15b1bbf57 --- /dev/null +++ b/datum/grab/normal/struggle.html @@ -0,0 +1,35 @@ + + + + + + + /datum/grab/normal/struggle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

struggle + + + +

+ + +

Procs

resolve_struggle_checkCallback for the above proc

Proc Details

resolve_struggle_check +

+

Callback for the above proc

+ + + diff --git a/datum/greyscale_config.html b/datum/greyscale_config.html new file mode 100644 index 000000000000..cf166e5e1759 --- /dev/null +++ b/datum/greyscale_config.html @@ -0,0 +1,206 @@ + + + + + + + /datum/greyscale_config - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

greyscale_config + + + +

+ +

A datum tying together a greyscale configuration and dmi file. Required for using GAGS and handles the code interactions.

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

expected_colorsHow many colors are expected to be given when building the sprite
flat_all_layersA list of all layers irrespective of nesting
heightSpritesheet height of the icon_file
icon_cacheGenerated icons keyed by their color arguments
icon_fileReference to the dmi file for this config
icon_file_hashThe md5 file hash for the icon file. Used to check if the file has changed
icon_statesA list of icon states and their layers
json_configReference to the json config file
json_config_hashThe md5 file hash for the json configuration. Used to check if the file has changed
live_edit_typesA list of types to update in the world whenever a config changes
material_skinAn optional var to set that tells the material system what material this configuration is for. +Use a typepath here, not an instance.
nameUser friendly name used in the debug menu
string_icon_fileString path to the icon file, used for reloading
string_json_configString path to the json file, used for reloading
widthSpritesheet width of the icon_file

Procs

CrossVerifyCalled after every config has refreshed, this proc handles data verification that depends on multiple entwined configurations.
DebugNameGets the name used for debug purposes
GenerateActually create the icon and color it in, handles caching
GenerateBundleHandles the actual icon manipulation to create the spritesheet
GenerateLayerGroupInternal recursive proc to handle nested layer groups
ReadIconStateConfigurationTakes the json icon state configuration and puts it into a more processed format.
ReadLayersFromJsonTakes the json layers configuration and puts it into a more processed format
ReadMetadataReads layer configurations to take out some useful overall information
RefreshCall this proc to handle all the data extraction from the json configuration. Can be forced to load values from disk instead of memory.
SaveOutputFor saving a dmi to disk, useful for debug mainly
+

Var Details

expected_colors + + + + +

+

How many colors are expected to be given when building the sprite

flat_all_layers + + + + +

+

A list of all layers irrespective of nesting

height + + + + +

+

Spritesheet height of the icon_file

icon_cache + + + + +

+

Generated icons keyed by their color arguments

icon_file + + + + +

+

Reference to the dmi file for this config

icon_file_hash + + + + +

+

The md5 file hash for the icon file. Used to check if the file has changed

icon_states + + + + +

+

A list of icon states and their layers

json_config + + + + +

+

Reference to the json config file

json_config_hash + + + + +

+

The md5 file hash for the json configuration. Used to check if the file has changed

live_edit_types + + + + +

+

A list of types to update in the world whenever a config changes

material_skin + + + + +

+

An optional var to set that tells the material system what material this configuration is for. +Use a typepath here, not an instance.

name + + + + +

+

User friendly name used in the debug menu

string_icon_file + + + + +

+

String path to the icon file, used for reloading

string_json_config + + + + +

+

String path to the json file, used for reloading

width + + + + +

+

Spritesheet width of the icon_file

Proc Details

CrossVerify +

+

Called after every config has refreshed, this proc handles data verification that depends on multiple entwined configurations.

DebugName +

+

Gets the name used for debug purposes

Generate +

+

Actually create the icon and color it in, handles caching

GenerateBundle +

+

Handles the actual icon manipulation to create the spritesheet

GenerateLayerGroup +

+

Internal recursive proc to handle nested layer groups

ReadIconStateConfiguration +

+

Takes the json icon state configuration and puts it into a more processed format.

ReadLayersFromJson +

+

Takes the json layers configuration and puts it into a more processed format

ReadMetadata +

+

Reads layer configurations to take out some useful overall information

Refresh +

+

Call this proc to handle all the data extraction from the json configuration. Can be forced to load values from disk instead of memory.

SaveOutput +

+

For saving a dmi to disk, useful for debug mainly

+ + + diff --git a/datum/greyscale_layer.html b/datum/greyscale_layer.html new file mode 100644 index 000000000000..7d1d07270c94 --- /dev/null +++ b/datum/greyscale_layer.html @@ -0,0 +1,89 @@ + + + + + + + /datum/greyscale_layer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

greyscale_layer + + + +

+ + + + + + + + +

Procs

CrossVerifyUse this proc for extra verification needed by a particular layer, gets run after all greyscale configs have finished reading their json files.
DiskRefreshOverride this if you need to do something during a full config refresh from disk, return TRUE if something was changed
GenerateUsed to actualy create the layer using the given colors +Do not override, use InternalGenerate instead
GetExpectedValuesGathers information from the layer about what variables are expected in the json. +Override and add to the two argument lists if you want extra information in your layer. +The lists are formatted like keyname:keytype_define. +The key name is assigned to the var named the same on the layer type.
InitializeOverride this to do initial set up
InternalGenerateOverride this to implement layers. +The colors var will only contain colors that this layer is configured to use.
ReadJsonDataHandles the processing of the json data and conversion to correct value types. +Will error on incorrect, missing, or unexpected values.

Proc Details

CrossVerify +

+

Use this proc for extra verification needed by a particular layer, gets run after all greyscale configs have finished reading their json files.

DiskRefresh +

+

Override this if you need to do something during a full config refresh from disk, return TRUE if something was changed

Generate +

+

Used to actualy create the layer using the given colors +Do not override, use InternalGenerate instead

GetExpectedValues +

+

Gathers information from the layer about what variables are expected in the json. +Override and add to the two argument lists if you want extra information in your layer. +The lists are formatted like keyname:keytype_define. +The key name is assigned to the var named the same on the layer type.

Initialize +

+

Override this to do initial set up

InternalGenerate +

+

Override this to implement layers. +The colors var will only contain colors that this layer is configured to use.

ReadJsonData +

+

Handles the processing of the json data and conversion to correct value types. +Will error on incorrect, missing, or unexpected values.

+ + + diff --git a/datum/greyscale_modify_menu.html b/datum/greyscale_modify_menu.html new file mode 100644 index 000000000000..a5aef057dab5 --- /dev/null +++ b/datum/greyscale_modify_menu.html @@ -0,0 +1,128 @@ + + + + + + + /datum/greyscale_modify_menu - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

greyscale_modify_menu + + + +

+ +

The controller for the ui in charge of all runtime greyscale configuration/debug. +If Unlock() is not called the menu is safe for players to use.

+ + + + + + + + + + + + + +

Vars

allowed_configsA keyed list of allowed configs in the form niceName:typepath
apply_callbackA callback to control what happens when the user presses apply. Used mainly for if you want the menu to be used outside of vv.
configThe current config being previewed
config_owner_typeThe type that the configuration file was assigned at
generate_full_previewWhether the full preview should be generated, with this FALSE only the final sprite is shown instead of all steps.
icon_stateThe sprite icon state currently being shown
refreshingWhether the menu is in the middle of refreshing the preview
split_colorsA list of colors currently selected
sprite_dataCollection of data for tgui to use in displaying everything
sprite_dirThe sprite dir currently being shown
targetThe "owner" object of this menu, is usually the greyscale object being edited but that can be changed for specific uses of this menu
unlockedWhether the menu is currently locked down to prevent abuse from players. Currently is only unlocked when opened from vv.
userThe client that opened this menu

Procs

SetupConfigOwnerGets the top level type that first uses the configuration in this type path
+

Var Details

allowed_configs + + + + +

+

A keyed list of allowed configs in the form niceName:typepath

apply_callback + + + + +

+

A callback to control what happens when the user presses apply. Used mainly for if you want the menu to be used outside of vv.

config + + + + +

+

The current config being previewed

config_owner_type + + + + +

+

The type that the configuration file was assigned at

generate_full_preview + + + + +

+

Whether the full preview should be generated, with this FALSE only the final sprite is shown instead of all steps.

icon_state + + + + +

+

The sprite icon state currently being shown

refreshing + + + + +

+

Whether the menu is in the middle of refreshing the preview

split_colors + + + + +

+

A list of colors currently selected

sprite_data + + + + +

+

Collection of data for tgui to use in displaying everything

sprite_dir + + + + +

+

The sprite dir currently being shown

target + + + + +

+

The "owner" object of this menu, is usually the greyscale object being edited but that can be changed for specific uses of this menu

unlocked + + + + +

+

Whether the menu is currently locked down to prevent abuse from players. Currently is only unlocked when opened from vv.

user + + + + +

+

The client that opened this menu

Proc Details

SetupConfigOwner +

+

Gets the top level type that first uses the configuration in this type path

+ + + diff --git a/datum/greyscale_state.html b/datum/greyscale_state.html new file mode 100644 index 000000000000..403607986842 --- /dev/null +++ b/datum/greyscale_state.html @@ -0,0 +1,43 @@ + + + + + + + /datum/greyscale_state - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

greyscale_state + + + +

+ +

An icon state information for GAGS system

+ +

Vars

bitmask_configFlags for the bitmasking configuration
layersList of /datum/greyscale_layer
+

Var Details

bitmask_config + + + + +

+

Flags for the bitmasking configuration

layers + + + + +

+

List of /datum/greyscale_layer

+ + + diff --git a/datum/gun_bolt.html b/datum/gun_bolt.html new file mode 100644 index 000000000000..94dc2f85651a --- /dev/null +++ b/datum/gun_bolt.html @@ -0,0 +1,99 @@ + + + + + + + /datum/gun_bolt - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

gun_bolt + + + +

+ +

Gun has a bolt, it stays closed while not cycling. The gun must be racked to have a bullet chambered when a mag is inserted. +Example: c20, shotguns, m90

+ + + + + + + + + +

Procs

after_chamberingCalled at the foot of after_chambering()
attack_selfCalled during attack_self(). Return TRUE to cancel the rest of the proc.
before_firingCalled during before_firing()
get_overlaysReturns overlays for a gun's update_overlays()
loaded_ammoCalled when ammo was successfully loaded into the weapon.
magazine_ejectedCalled when a magazine is about to be ejected.
magazine_insertedCalled after a magazine is successfully inserted into the firearm.
post_rackCalled after rack(), before update_appearance()
pre_rackCalled at the start of rack(), return TRUE to cancel the rest of the proc.
unloadCalled at the start of unload(), return TRUE to cancel the rest of the proc.

Proc Details

after_chambering +

+

Called at the foot of after_chambering()

attack_self +

+

Called during attack_self(). Return TRUE to cancel the rest of the proc.

before_firing +

+

Called during before_firing()

get_overlays +

+

Returns overlays for a gun's update_overlays()

loaded_ammo +

+

Called when ammo was successfully loaded into the weapon.

magazine_ejected +

+

Called when a magazine is about to be ejected.

magazine_inserted +

+

Called after a magazine is successfully inserted into the firearm.

post_rack +

+

Called after rack(), before update_appearance()

pre_rack +

+

Called at the start of rack(), return TRUE to cancel the rest of the proc.

unload +

+

Called at the start of unload(), return TRUE to cancel the rest of the proc.

+ + + diff --git a/datum/hallucination/fake_health_doll.html b/datum/hallucination/fake_health_doll.html new file mode 100644 index 000000000000..4b519a241f2b --- /dev/null +++ b/datum/hallucination/fake_health_doll.html @@ -0,0 +1,56 @@ + + + + + + + /datum/hallucination/fake_health_doll - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

fake_health_doll + + + +

+ +

Causes the target to see incorrect health damages on the healthdoll

+ + + +

Procs

NewCreates a specified doll hallucination, or picks one randomly
add_fake_limbAdds a fake limb to the hallucination datum effect
cleanupCleans up the hallucinations - this deletes any overlap, but that shouldn't happen.
increment_fake_damageIncrements the severity of the damage seen on the doll

Proc Details

New +

+

Creates a specified doll hallucination, or picks one randomly

add_fake_limb +

+

Adds a fake limb to the hallucination datum effect

cleanup +

+

Cleans up the hallucinations - this deletes any overlap, but that shouldn't happen.

increment_fake_damage +

+

Increments the severity of the damage seen on the doll

+ + + diff --git a/datum/heretic_knowledge.html b/datum/heretic_knowledge.html new file mode 100644 index 000000000000..b43321284b6c --- /dev/null +++ b/datum/heretic_knowledge.html @@ -0,0 +1,226 @@ + + + + + + + /datum/heretic_knowledge - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Heretic Knowledge + + + +

+ +

The datums that allow heretics to progress and learn new spells and rituals.

+

Heretic Knowledge datums are not singletons - they are instantiated as they +are given to heretics, and deleted if the heretic antagonist is removed.

+ + + + + + + + + + + + + + + + + + +

Vars

abstract_parent_typeThe abstract parent type of the knowledge, used in determine mutual exclusivity in some cases
banned_knowledgeWhat knowledge is incompatible with this. Knowledge in this list cannot be researched with this current knowledge.
costCost of knowledge in knowlege points
descDescription of the knowledge, shown to the heretic. Describes what it unlocks / does.
gain_textWhat's shown to the heretic when the knowledge is aquired
mutually_exclusiveIf TRUE, populates the banned_knowledge list of every other subtype of this knowledge's abstract_parent_type
nameName of the knowledge, shown to the heretic.
next_knowledgeThe knowledge this unlocks next after learning.
priorityThe priority of the knowledge. Higher priority knowledge appear higher in the ritual list. +Number itself is completely arbitrary. Does not need to be set for non-ritual knowledge.
required_atomsAssoc list of [typepaths we need] to [amount needed]. +If set, this knowledge allows the heretic to do a ritual on a transmutation rune with the components set.
result_atomsPaired with above. If set, the resulting spawned atoms upon ritual completion.
routeWhat path is this on. If set to "null", assumed to be unreachable (or abstract).

Procs

can_be_invokedDetermines if a heretic can actually attempt to invoke the knowledge as a ritual. +By default, we can only invoke knowledge with rituals associated.
cleanup_atomsCalled after on_finished_recipe returns TRUE +and a ritual was successfully completed.
on_finished_recipeCalled whenever the knowledge's associated ritual is completed successfully.
on_gainCalled when the knowledge is applied to a mob. +This can be called multiple times per heretic, +in the case of bodyswap shenanigans.
on_loseCalled when the knowledge is removed from a mob, +either due to a heretic being de-heretic'd or bodyswap memery.
on_researchCalled when the knowledge is first researched. +This is only ever called once per heretic.
recipe_snowflake_checkSpecial check for rituals. +Called before any of the required atoms are checked.
+

Var Details

abstract_parent_type + + + + +

+

The abstract parent type of the knowledge, used in determine mutual exclusivity in some cases

banned_knowledge + + + + +

+

What knowledge is incompatible with this. Knowledge in this list cannot be researched with this current knowledge.

cost + + + + +

+

Cost of knowledge in knowlege points

desc + + + + +

+

Description of the knowledge, shown to the heretic. Describes what it unlocks / does.

gain_text + + + + +

+

What's shown to the heretic when the knowledge is aquired

mutually_exclusive + + + + +

+

If TRUE, populates the banned_knowledge list of every other subtype of this knowledge's abstract_parent_type

name + + + + +

+

Name of the knowledge, shown to the heretic.

next_knowledge + + + + +

+

The knowledge this unlocks next after learning.

priority + + + + +

+

The priority of the knowledge. Higher priority knowledge appear higher in the ritual list. +Number itself is completely arbitrary. Does not need to be set for non-ritual knowledge.

required_atoms + + + + +

+

Assoc list of [typepaths we need] to [amount needed]. +If set, this knowledge allows the heretic to do a ritual on a transmutation rune with the components set.

result_atoms + + + + +

+

Paired with above. If set, the resulting spawned atoms upon ritual completion.

route + + + + +

+

What path is this on. If set to "null", assumed to be unreachable (or abstract).

Proc Details

can_be_invoked +

+

Determines if a heretic can actually attempt to invoke the knowledge as a ritual. +By default, we can only invoke knowledge with rituals associated.

+

Return TRUE to have the ritual show up in the rituals list, FALSE otherwise.

cleanup_atoms +

+

Called after on_finished_recipe returns TRUE +and a ritual was successfully completed.

+

Goes through and cleans up (deletes) +all atoms in the selected_atoms list.

+

Remove atoms from the selected_atoms +(either in this proc or in on_finished_recipe) +to NOT have certain atoms deleted on cleanup.

+

Arguments

+

on_finished_recipe +

+

Called whenever the knowledge's associated ritual is completed successfully.

+

Creates atoms from types in result_atoms. +Override this is you want something else to happen. +This CAN sleep, such as for summoning rituals which poll for ghosts.

+

Arguments

+ +

Returns: TRUE, if the ritual should cleanup afterwards, or FALSE, to avoid calling cleanup after.

on_gain +

+

Called when the knowledge is applied to a mob. +This can be called multiple times per heretic, +in the case of bodyswap shenanigans.

+

Arguments

+

on_lose +

+

Called when the knowledge is removed from a mob, +either due to a heretic being de-heretic'd or bodyswap memery.

+

Arguments

+

on_research +

+

Called when the knowledge is first researched. +This is only ever called once per heretic.

+

Arguments

+

recipe_snowflake_check +

+

Special check for rituals. +Called before any of the required atoms are checked.

+

If you are adding a more complex summoning, +or something that requires a special check +that parses through all the atoms, +you should override this.

+

Arguments

+ +

Returns: TRUE, if the ritual will continue, or FALSE, if the ritual is skipped / cancelled

+ + + diff --git a/datum/heretic_knowledge/blade_dance.html b/datum/heretic_knowledge/blade_dance.html new file mode 100644 index 000000000000..0249c33cec74 --- /dev/null +++ b/datum/heretic_knowledge/blade_dance.html @@ -0,0 +1,38 @@ + + + + + + + /datum/heretic_knowledge/blade_dance - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

blade_dance + + + +

+ + +

Vars

riposte_readyWhether the counter-attack is ready or not. +Used instead of cooldowns, so we can give feedback when it's ready again
+

Var Details

riposte_ready + + + + +

+

Whether the counter-attack is ready or not. +Used instead of cooldowns, so we can give feedback when it's ready again

+ + + diff --git a/datum/heretic_knowledge/blade_upgrade.html b/datum/heretic_knowledge/blade_upgrade.html new file mode 100644 index 000000000000..70e36f74a742 --- /dev/null +++ b/datum/heretic_knowledge/blade_upgrade.html @@ -0,0 +1,62 @@ + + + + + + + /datum/heretic_knowledge/blade_upgrade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

blade_upgrade + + + +

+ + + + + +

Procs

do_melee_effectsOverridable proc that invokes special effects +whenever the heretic attacks someone in melee with their heretic blade.
do_ranged_effectsOverridable proc that invokes special effects +whenever the heretic clicks on someone at range with their heretic blade.
on_eldritch_bladeSignal proc for COMSIG_HERETIC_BLADE_ATTACK.
on_ranged_eldritch_bladeSignal proc for COMSIG_HERETIC_RANGED_BLADE_ATTACK.

Proc Details

do_melee_effects +

+

Overridable proc that invokes special effects +whenever the heretic attacks someone in melee with their heretic blade.

do_ranged_effects +

+

Overridable proc that invokes special effects +whenever the heretic clicks on someone at range with their heretic blade.

on_eldritch_blade +

+

Signal proc for COMSIG_HERETIC_BLADE_ATTACK.

+

Apply any melee effects from hitting someone with our blade.

on_ranged_eldritch_blade +

+

Signal proc for COMSIG_HERETIC_RANGED_BLADE_ATTACK.

+

Apply any ranged effects from hitting someone with our blade.

+ + + diff --git a/datum/heretic_knowledge/curse.html b/datum/heretic_knowledge/curse.html new file mode 100644 index 000000000000..4a19ef291d29 --- /dev/null +++ b/datum/heretic_knowledge/curse.html @@ -0,0 +1,57 @@ + + + + + + + /datum/heretic_knowledge/curse - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

curse + + + +

+ + + + + +

Vars

durationThe duration of the curse
fingerprintsCache list of fingerprints (actual fingerprint strings) we have from our current ritual

Procs

curseCalls a curse onto [chosen_mob].
uncurseRemoves a curse from [chosen_mob]. Used in timers / callbacks.
+

Var Details

duration + + + + +

+

The duration of the curse

fingerprints + + + + +

+

Cache list of fingerprints (actual fingerprint strings) we have from our current ritual

Proc Details

curse +

+

Calls a curse onto [chosen_mob].

uncurse +

+

Removes a curse from [chosen_mob]. Used in timers / callbacks.

+ + + diff --git a/datum/heretic_knowledge/duel_stance.html b/datum/heretic_knowledge/duel_stance.html new file mode 100644 index 000000000000..1ca76a4735d9 --- /dev/null +++ b/datum/heretic_knowledge/duel_stance.html @@ -0,0 +1,36 @@ + + + + + + + /datum/heretic_knowledge/duel_stance - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

duel_stance + + + +

+ + +

Vars

in_duelist_stanceWhether we're currently in duelist stance, gaining certain buffs (low health)
+

Var Details

in_duelist_stance + + + + +

+

Whether we're currently in duelist stance, gaining certain buffs (low health)

+ + + diff --git a/datum/heretic_knowledge/final.html b/datum/heretic_knowledge/final.html new file mode 100644 index 000000000000..a322d39e95f6 --- /dev/null +++ b/datum/heretic_knowledge/final.html @@ -0,0 +1,35 @@ + + + + + + + /datum/heretic_knowledge/final - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

final + + + +

+ + +

Procs

is_valid_sacrificeChecks if the passed human is a valid sacrifice for our ritual.

Proc Details

is_valid_sacrifice +

+

Checks if the passed human is a valid sacrifice for our ritual.

+ + + diff --git a/datum/heretic_knowledge/final/ash_final.html b/datum/heretic_knowledge/final/ash_final.html new file mode 100644 index 000000000000..28dbdfea4a30 --- /dev/null +++ b/datum/heretic_knowledge/final/ash_final.html @@ -0,0 +1,36 @@ + + + + + + + /datum/heretic_knowledge/final/ash_final - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ash_final + + + +

+ + +

Vars

traits_to_applyA static list of all traits we apply on ascension.
+

Var Details

traits_to_apply + + + + +

+

A static list of all traits we apply on ascension.

+ + + diff --git a/datum/heretic_knowledge/final/rust_final.html b/datum/heretic_knowledge/final/rust_final.html new file mode 100644 index 000000000000..6e756ee964e4 --- /dev/null +++ b/datum/heretic_knowledge/final/rust_final.html @@ -0,0 +1,66 @@ + + + + + + + /datum/heretic_knowledge/final/rust_final - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

rust_final + + + +

+ + + + + + +

Vars

conditional_immunitiesA static list of traits we give to the heretic when on rust.
immunities_activeIf TRUE, then immunities are currently active.
ritual_locationA typepath to an area that we must finish the ritual in.

Procs

on_lifeSignal proc for COMSIG_LIVING_LIFE.
on_moveSignal proc for COMSIG_MOVABLE_MOVED.
+

Var Details

conditional_immunities + + + + +

+

A static list of traits we give to the heretic when on rust.

immunities_active + + + + +

+

If TRUE, then immunities are currently active.

ritual_location + + + + +

+

A typepath to an area that we must finish the ritual in.

Proc Details

on_life +

+

Signal proc for COMSIG_LIVING_LIFE.

+

Gradually heals the heretic ([source]) on rust.

on_move +

+

Signal proc for COMSIG_MOVABLE_MOVED.

+

Gives our heretic ([source]) buffs if they stand on rust.

+ + + diff --git a/datum/heretic_knowledge/final/void_final.html b/datum/heretic_knowledge/final/void_final.html new file mode 100644 index 000000000000..c4923ea57f9a --- /dev/null +++ b/datum/heretic_knowledge/final/void_final.html @@ -0,0 +1,61 @@ + + + + + + + /datum/heretic_knowledge/final/void_final - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

void_final + + + +

+ + + + + +

Vars

sound_loopsoundloop for the void theme
stormReference to the ongoing voidstrom that surrounds the heretic

Procs

on_deathSignal proc for COMSIG_LIVING_DEATH.
on_lifeSignal proc for COMSIG_LIVING_LIFE.
+

Var Details

sound_loop + + + + +

+

soundloop for the void theme

storm + + + + +

+

Reference to the ongoing voidstrom that surrounds the heretic

Proc Details

on_death +

+

Signal proc for COMSIG_LIVING_DEATH.

+

Stop the storm when the heretic passes away.

on_life +

+

Signal proc for COMSIG_LIVING_LIFE.

+

Any non-heretics nearby the heretic ([source]) +are constantly silenced and battered by the storm.

+

Also starts storms in any area that doesn't have one.

+ + + diff --git a/datum/heretic_knowledge/hunt_and_sacrifice.html b/datum/heretic_knowledge/hunt_and_sacrifice.html new file mode 100644 index 000000000000..1ae91a32c61c --- /dev/null +++ b/datum/heretic_knowledge/hunt_and_sacrifice.html @@ -0,0 +1,187 @@ + + + + + + + /datum/heretic_knowledge/hunt_and_sacrifice - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

hunt_and_sacrifice + + + +

+ +

Allows the heretic to sacrifice living heart targets.

+ + + + + + + + + + + + + + + + +

Vars

heretic_level_generatedWhether we've generated a heretic sacrifice z-level yet, from any heretic.
heretic_mindA weakref to the mind of our heretic.
return_timersAn assoc list of [ref] to [timers] - a list of all the timers of people in the shadow realm currently
target_blacklistLazylist of minds that we won't pick as targets.

Procs

after_helgrasp_endsThis proc is called from [proc/after_target_wakes] after the helgrasp runs out in the [sac_target].
after_return_dead_targetThis proc is called from [proc/return_target] if the target dies in the shadow realm.
after_return_live_targetThis proc is called from [proc/return_target] if the [sac_target] survives the shadow realm.
after_target_sleepsThis proc is called from [proc/begin_sacrifice] after the [sac_target] falls asleep, shortly after the sacrifice occurs.
after_target_wakesThis proc is called from [proc/after_target_sleeps] when the [sac_target] should be waking up.
begin_sacrificeThis proc is called from [proc/sacrifice_process] after the heretic successfully sacrifices [sac_target].
disembowel_target"Fuck you" proc that gets called if the chain is interrupted at some points. +Disembowels the [sac_target] and brutilizes their body. Throws some gibs around for good measure.
generate_heretic_z_levelGenerate the sacrifice z-level.
obtain_targetsObtain a list of targets for the user to hunt down and sacrifice. +Tries to get four targets (minds) with living human currents.
on_target_deathIf they die in the shadow realm, they lost. Send them back.
on_target_escapeIf they somehow cheese the shadow realm by teleporting out, they are disemboweled and killed.
return_targetThis proc is called from [proc/begin_sacrifice] if the target survived the shadow realm, or COMSIG_LIVING_DEATH if they don't.
sacrifice_processBegin the process of sacrificing the target.
+

Var Details

heretic_level_generated + + + + +

+

Whether we've generated a heretic sacrifice z-level yet, from any heretic.

heretic_mind + + + + +

+

A weakref to the mind of our heretic.

return_timers + + + + +

+

An assoc list of [ref] to [timers] - a list of all the timers of people in the shadow realm currently

target_blacklist + + + + +

+

Lazylist of minds that we won't pick as targets.

Proc Details

after_helgrasp_ends +

+

This proc is called from [proc/after_target_wakes] after the helgrasp runs out in the [sac_target].

+

It gives them a message letting them know it's getting easier and they're almost free.

after_return_dead_target +

+

This proc is called from [proc/return_target] if the target dies in the shadow realm.

+

After teleporting the target back to the station (dead), +it spawns a special red broken illusion on their spot, for style.

after_return_live_target +

+

This proc is called from [proc/return_target] if the [sac_target] survives the shadow realm.

+

Gives the sacrifice target some after effects upon ariving back to reality.

after_target_sleeps +

+

This proc is called from [proc/begin_sacrifice] after the [sac_target] falls asleep, shortly after the sacrifice occurs.

+

Teleports the [sac_target] to the heretic room, asleep. +If it fails to teleport, they will be disemboweled and stop the chain.

+

Arguments

+

after_target_wakes +

+

This proc is called from [proc/after_target_sleeps] when the [sac_target] should be waking up.

+

Begins the survival minigame, featuring the sacrifice targets. +Gives them Helgrasp, throwing cursed hands towards them that they must dodge to survive. +Also gives them a status effect, Unholy Determination, to help them in this endeavor.

+

Then applies some miscellaneous effects.

begin_sacrifice +

+

This proc is called from [proc/sacrifice_process] after the heretic successfully sacrifices [sac_target].

+

Sets off a chain that sends the person sacrificed to the shadow realm to dodge hands to fight for survival.

+

Arguments

+

disembowel_target +

+

"Fuck you" proc that gets called if the chain is interrupted at some points. +Disembowels the [sac_target] and brutilizes their body. Throws some gibs around for good measure.

generate_heretic_z_level +

+

Generate the sacrifice z-level.

obtain_targets +

+

Obtain a list of targets for the user to hunt down and sacrifice. +Tries to get four targets (minds) with living human currents.

+

Returns FALSE if no targets are found, TRUE if the targets list was populated.

on_target_death +

+

If they die in the shadow realm, they lost. Send them back.

on_target_escape +

+

If they somehow cheese the shadow realm by teleporting out, they are disemboweled and killed.

return_target +

+

This proc is called from [proc/begin_sacrifice] if the target survived the shadow realm, or COMSIG_LIVING_DEATH if they don't.

+

Teleports [sac_target] back to a random safe turf on the station (or observer spawn if it fails to find a safe turf). +Also clears their status effects, unregisters any signals associated with the shadow realm, and sends a message +to the heretic who did the sacrificed about whether they survived, and where they ended up.

+

Arguments

+

sacrifice_process +

+

Begin the process of sacrificing the target.

+

Arguments

+
+ + + diff --git a/datum/heretic_knowledge/knowledge_ritual.html b/datum/heretic_knowledge/knowledge_ritual.html new file mode 100644 index 000000000000..62e8b8d48d67 --- /dev/null +++ b/datum/heretic_knowledge/knowledge_ritual.html @@ -0,0 +1,36 @@ + + + + + + + /datum/heretic_knowledge/knowledge_ritual - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

knowledge_ritual + + + +

+ + +

Vars

was_completedWhether we've done the ritual. Only doable once.
+

Var Details

was_completed + + + + +

+

Whether we've done the ritual. Only doable once.

+ + + diff --git a/datum/heretic_knowledge/limited_amount.html b/datum/heretic_knowledge/limited_amount.html new file mode 100644 index 000000000000..594b972cbed9 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount.html @@ -0,0 +1,43 @@ + + + + + + + /datum/heretic_knowledge/limited_amount - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

limited_amount + + + +

+ + + +

Vars

created_itemsA list of weakrefs to all items we've created.
limitThe limit to how many items we can create at once.
+

Var Details

created_items + + + + +

+

A list of weakrefs to all items we've created.

limit + + + + +

+

The limit to how many items we can create at once.

+ + + diff --git a/datum/heretic_knowledge/limited_amount/flesh_ghoul.html b/datum/heretic_knowledge/limited_amount/flesh_ghoul.html new file mode 100644 index 000000000000..beee317384cf --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/flesh_ghoul.html @@ -0,0 +1,49 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/flesh_ghoul - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

flesh_ghoul + + + +

+ + + + +

Procs

apply_to_ghoulCallback for the ghoul status effect - Tracks all of our ghouls and applies effects
make_ghoulMakes [victim] into a ghoul.
remove_from_ghoulCallback for the ghoul status effect - Tracks all of our ghouls and applies effects

Proc Details

apply_to_ghoul +

+

Callback for the ghoul status effect - Tracks all of our ghouls and applies effects

make_ghoul +

+

Makes [victim] into a ghoul.

remove_from_ghoul +

+

Callback for the ghoul status effect - Tracks all of our ghouls and applies effects

+ + + diff --git a/datum/heretic_knowledge/limited_amount/flesh_grasp.html b/datum/heretic_knowledge/limited_amount/flesh_grasp.html new file mode 100644 index 000000000000..e830201990b9 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/flesh_grasp.html @@ -0,0 +1,49 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/flesh_grasp - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

flesh_grasp + + + +

+ + + + +

Procs

apply_to_ghoulCallback for the ghoul status effect - Tracking all of our ghouls
make_ghoulMakes [victim] into a ghoul.
remove_from_ghoulCallback for the ghoul status effect - Tracking all of our ghouls

Proc Details

apply_to_ghoul +

+

Callback for the ghoul status effect - Tracking all of our ghouls

make_ghoul +

+

Makes [victim] into a ghoul.

remove_from_ghoul +

+

Callback for the ghoul status effect - Tracking all of our ghouls

+ + + diff --git a/datum/heretic_knowledge/limited_amount/risen_corpse.html b/datum/heretic_knowledge/limited_amount/risen_corpse.html new file mode 100644 index 000000000000..344074125e26 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/risen_corpse.html @@ -0,0 +1,49 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/risen_corpse - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

risen_corpse + + + +

+ + + + +

Procs

apply_to_risenCallback for the ghoul status effect - what effects are applied to the ghoul.
make_risenMake [victim] into a shattered risen ghoul.
remove_from_risenCallback for the ghoul status effect - cleaning up effects after the ghoul status is removed.

Proc Details

apply_to_risen +

+

Callback for the ghoul status effect - what effects are applied to the ghoul.

make_risen +

+

Make [victim] into a shattered risen ghoul.

remove_from_risen +

+

Callback for the ghoul status effect - cleaning up effects after the ghoul status is removed.

+ + + diff --git a/datum/heretic_knowledge/limited_amount/starting/base_ash.html b/datum/heretic_knowledge/limited_amount/starting/base_ash.html new file mode 100644 index 000000000000..2e50c114a7c2 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting/base_ash.html @@ -0,0 +1,52 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/starting/base_ash - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

The path of Ash. + + + +

+ +

Goes as follows:

+

Nightwatcher's Secret +Grasp of Ash +Ashen Passage

+
+

Sidepaths: +Priest's Ritual +Ashen Eyes

+
+

Mark of Ash +Ritual of Knowledge +Mask of Madness

+
+

Sidepaths: +Curse of Corrosion +Curse of Paralysis

+
+

Fiery Blade +Nightwater's Rebirth

+
+

Sidepaths: +Ashen Ritual +Rusted Ritual

+
+

Ashlord's Rite

+ + + diff --git a/datum/heretic_knowledge/limited_amount/starting/base_blade.html b/datum/heretic_knowledge/limited_amount/starting/base_blade.html new file mode 100644 index 000000000000..e5c55e6138b1 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting/base_blade.html @@ -0,0 +1,52 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/starting/base_blade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

The path of Blades. Stab stab. + + + +

+ +

Goes as follows:

+

The Cutting Edge +Grasp of the Blade +Dance of the Brand

+
+

Sidepaths: +Shattered Risen +Armorer's Ritual

+
+

Mark of the Blade +Ritual of Knowledge +Stance of the Scarred Duelist

+
+

Sidepaths: +Carving Knife +Mawed Crucible

+
+

Swift Blades +Furious Steel

+
+

Sidepaths: +Maid in the Mirror +Lionhunter Rifle

+
+

Maelstrom of Silver

+ + + diff --git a/datum/heretic_knowledge/limited_amount/starting/base_flesh.html b/datum/heretic_knowledge/limited_amount/starting/base_flesh.html new file mode 100644 index 000000000000..259a3d5021c9 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting/base_flesh.html @@ -0,0 +1,52 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/starting/base_flesh - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

The path of Flesh. + + + +

+ +

Goes as follows:

+

Principle of Hunger +Grasp of Flesh +Imperfect Ritual

+
+

Sidepaths: +Void Cloak +Ashen Eyes

+
+

Mark of Flesh +Ritual of Knowledge +Raw Ritual

+
+

Sidepaths: +Blood Siphon +Curse of Paralysis

+
+

Bleeding Steel +Lonely Ritual

+
+

Sidepaths: +Ashen Ritual +Cleave

+
+

Priest's Final Hymn

+ + + diff --git a/datum/heretic_knowledge/limited_amount/starting/base_rust.html b/datum/heretic_knowledge/limited_amount/starting/base_rust.html new file mode 100644 index 000000000000..137963c57637 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting/base_rust.html @@ -0,0 +1,52 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/starting/base_rust - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

The path of Rust. + + + +

+ +

Goes as follows:

+

Blacksmith's Tale +Grasp of Rust +Leeching Walk

+
+

Sidepaths: +Priest's Ritual +Armorer's Ritual

+
+

Mark of Rust +Ritual of Knowledge +Aggressive Spread

+
+

Sidepaths: +Curse of Corrosion +Mawed Crucible

+
+

Toxic Blade +Entropic Plume

+
+

Sidepaths: +Rusted Ritual +Blood Cleave

+
+

Rustbringer's Oath

+ + + diff --git a/datum/heretic_knowledge/limited_amount/starting/base_void.html b/datum/heretic_knowledge/limited_amount/starting/base_void.html new file mode 100644 index 000000000000..0b3f0103d946 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting/base_void.html @@ -0,0 +1,52 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/starting/base_void - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

The path of VOID. + + + +

+ +

Goes as follows:

+

Glimmer of Winter +Grasp of Void +Aristocrat's Way

+
+

Sidepaths: +Void Cloak +Shattered Ritual

+
+

Mark of Void +Ritual of Knowledge +Void Phase

+
+

Sidepaths: +Carving Knife +Blood Siphon

+
+

Seeking blade +Void Pull

+
+

Sidepaths: +Cleave +Maid in the Mirror

+
+

Waltz at the End of Time

+ + + diff --git a/datum/heretic_knowledge/living_heart.html b/datum/heretic_knowledge/living_heart.html new file mode 100644 index 000000000000..533135b1aaf0 --- /dev/null +++ b/datum/heretic_knowledge/living_heart.html @@ -0,0 +1,38 @@ + + + + + + + /datum/heretic_knowledge/living_heart - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

living_heart + + + +

+ +

The Living Heart heretic knowledge.

+

Gives the heretic a living heart. +Also includes a ritual to turn their heart into a living heart.

+

Vars

required_organ_typeThe typepath of the organ type required for our heart.
+

Var Details

required_organ_type + + + + +

+

The typepath of the organ type required for our heart.

+ + + diff --git a/datum/heretic_knowledge/mark.html b/datum/heretic_knowledge/mark.html new file mode 100644 index 000000000000..5e42d28067f2 --- /dev/null +++ b/datum/heretic_knowledge/mark.html @@ -0,0 +1,72 @@ + + + + + + + /datum/heretic_knowledge/mark - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mark + + + +

+ + + + + + +

Vars

mark_typeThe status effect typepath we apply on people on mansus grasp.

Procs

create_markCreates the mark status effect on our target. +This proc handles the instatiate and the application of the station effect, +and returns the /datum/status_effect instance that was made.
on_eldritch_bladeSignal proc for COMSIG_HERETIC_BLADE_ATTACK.
on_mansus_graspSignal proc for COMSIG_HERETIC_MANSUS_GRASP_ATTACK.
trigger_markHandles triggering the mark on the target.
+

Var Details

mark_type + + + + +

+

The status effect typepath we apply on people on mansus grasp.

Proc Details

create_mark +

+

Creates the mark status effect on our target. +This proc handles the instatiate and the application of the station effect, +and returns the /datum/status_effect instance that was made.

+

Can be overriden to set or pass in additional vars of the status effect.

on_eldritch_blade +

+

Signal proc for COMSIG_HERETIC_BLADE_ATTACK.

+

Whenever we attack someone with our blade, attempt to trigger any marks on them.

on_mansus_grasp +

+

Signal proc for COMSIG_HERETIC_MANSUS_GRASP_ATTACK.

+

Whenever we cast mansus grasp on someone, apply our mark.

trigger_mark +

+

Handles triggering the mark on the target.

+

If there is no mark, returns FALSE. Returns TRUE if a mark was triggered.

+ + + diff --git a/datum/heretic_knowledge/rifle_ammo.html b/datum/heretic_knowledge/rifle_ammo.html new file mode 100644 index 000000000000..59fb37660da9 --- /dev/null +++ b/datum/heretic_knowledge/rifle_ammo.html @@ -0,0 +1,36 @@ + + + + + + + /datum/heretic_knowledge/rifle_ammo - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

rifle_ammo + + + +

+ + +

Vars

acceptable_calibersA list of calibers we will accept for "ballistic ammo casings".
+

Var Details

acceptable_calibers + + + + +

+

A list of calibers we will accept for "ballistic ammo casings".

+ + + diff --git a/datum/heretic_knowledge/rust_regen.html b/datum/heretic_knowledge/rust_regen.html new file mode 100644 index 000000000000..5bca77cf6e98 --- /dev/null +++ b/datum/heretic_knowledge/rust_regen.html @@ -0,0 +1,37 @@ + + + + + + + /datum/heretic_knowledge/rust_regen - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

rust_regen + + + +

+ + +

Procs

on_lifeSignal proc for COMSIG_LIVING_LIFE.

Proc Details

on_life +

+

Signal proc for COMSIG_LIVING_LIFE.

+

Gradually heals the heretic ([source]) on rust, +including stuns and stamina damage.

+ + + diff --git a/datum/heretic_knowledge/spell.html b/datum/heretic_knowledge/spell.html new file mode 100644 index 000000000000..3751e31e3af9 --- /dev/null +++ b/datum/heretic_knowledge/spell.html @@ -0,0 +1,43 @@ + + + + + + + /datum/heretic_knowledge/spell - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

spell + + + +

+ + + +

Vars

created_spell_refThe spell we actually created.
spell_to_addSpell path we add to the heretic. Type-path.
+

Var Details

created_spell_ref + + + + +

+

The spell we actually created.

spell_to_add + + + + +

+

Spell path we add to the heretic. Type-path.

+ + + diff --git a/datum/heretic_knowledge/summon.html b/datum/heretic_knowledge/summon.html new file mode 100644 index 000000000000..ea1ba7e48b87 --- /dev/null +++ b/datum/heretic_knowledge/summon.html @@ -0,0 +1,36 @@ + + + + + + + /datum/heretic_knowledge/summon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

summon + + + +

+ + +

Vars

mob_to_summonTypepath of a mob to summon when we finish the recipe.
+

Var Details

mob_to_summon + + + + +

+

Typepath of a mob to summon when we finish the recipe.

+ + + diff --git a/datum/highlander_controller.html b/datum/highlander_controller.html new file mode 100644 index 000000000000..67539de3eb38 --- /dev/null +++ b/datum/highlander_controller.html @@ -0,0 +1,50 @@ + + + + + + + /datum/highlander_controller - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

highlander_controller + + + +

+ +

The highlander controller handles the admin highlander mode, if enabled. +It is first created when "there can only be one" triggers it, and it can be referenced from GLOB.highlander_controller

+

Procs

new_highlanderTriggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game

Proc Details

new_highlander +

+

Triggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game

+

Does the following:

+
+ + + diff --git a/datum/holiday.html b/datum/holiday.html new file mode 100644 index 000000000000..ae5590b3538b --- /dev/null +++ b/datum/holiday.html @@ -0,0 +1,106 @@ + + + + + + + /datum/holiday - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

holiday + + + +

+ + + + + + + + + + + + +

Vars

always_celebratefor christmas neverending, or testing. Forces a holiday to be celebrated.
begin_dayWhat day of begin_month does the holiday begin on?
begin_monthWhat month does the holiday begin on?
current_yearHeld variable to better calculate when certain holidays may fall on, like easter.
drone_hatIf this is defined, drones without a default hat will spawn with this one during the holiday; check drones_as_items.dm to see this used
end_dayWhat day of end_month does the holiday end? Default of 0 means the holiday lasts a single.
end_monthWhat month does the holiday end on?
mail_holidayWhen this holiday is active, does this prevent mail from arriving to cargo? Try not to use this for longer holidays.
nameName of the holiday itself. Visible to players.
timezonesTimezones this holiday is celebrated in (defaults to three timezones spanning a 50 hour window covering all timezones)
year_offsetHow many years are you offsetting your calculations for begin_day and end_day on. Used for holidays like easter.
+

Var Details

always_celebrate + + + + +

+

for christmas neverending, or testing. Forces a holiday to be celebrated.

begin_day + + + + +

+

What day of begin_month does the holiday begin on?

begin_month + + + + +

+

What month does the holiday begin on?

current_year + + + + +

+

Held variable to better calculate when certain holidays may fall on, like easter.

drone_hat + + + + +

+

If this is defined, drones without a default hat will spawn with this one during the holiday; check drones_as_items.dm to see this used

end_day + + + + +

+

What day of end_month does the holiday end? Default of 0 means the holiday lasts a single.

end_month + + + + +

+

What month does the holiday end on?

mail_holiday + + + + +

+

When this holiday is active, does this prevent mail from arriving to cargo? Try not to use this for longer holidays.

name + + + + +

+

Name of the holiday itself. Visible to players.

timezones + + + + +

+

Timezones this holiday is celebrated in (defaults to three timezones spanning a 50 hour window covering all timezones)

year_offset + + + + +

+

How many years are you offsetting your calculations for begin_day and end_day on. Used for holidays like easter.

+ + + diff --git a/datum/holiday/nth_week.html b/datum/holiday/nth_week.html new file mode 100644 index 000000000000..360380a4c28b --- /dev/null +++ b/datum/holiday/nth_week.html @@ -0,0 +1,57 @@ + + + + + + + /datum/holiday/nth_week - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

nth_week + + + +

+ +

A holiday lasting one day only that falls on the nth weekday in a month i.e. 3rd Wednesday of February.

+ + + +

Vars

begin_weekNth weekday of type begin_weekday in begin_month to start on (1 to 5).
begin_weekdayWeekday of begin_week to start on.
end_weekNth weekday of type end_weekday in end_month to end on (1 to 5, defaults to begin_week).
end_weekdayWeekday of end_week to end on (defaults to begin_weekday).
+

Var Details

begin_week + + + + +

+

Nth weekday of type begin_weekday in begin_month to start on (1 to 5).

begin_weekday + + + + +

+

Weekday of begin_week to start on.

end_week + + + + +

+

Nth weekday of type end_weekday in end_month to end on (1 to 5, defaults to begin_week).

end_weekday + + + + +

+

Weekday of end_week to end on (defaults to begin_weekday).

+ + + diff --git a/datum/holiday/pride_week.html b/datum/holiday/pride_week.html new file mode 100644 index 000000000000..29193b765767 --- /dev/null +++ b/datum/holiday/pride_week.html @@ -0,0 +1,35 @@ + + + + + + + /datum/holiday/pride_week - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

pride_week + + + +

+ + +

Procs

get_floor_tile_colorGiven an atom, will return what color it should be to match the pride flag.

Proc Details

get_floor_tile_color +

+

Given an atom, will return what color it should be to match the pride flag.

+ + + diff --git a/datum/holocall.html b/datum/holocall.html new file mode 100644 index 000000000000..2c05c12581b7 --- /dev/null +++ b/datum/holocall.html @@ -0,0 +1,92 @@ + + + + + + + /datum/holocall - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

holocall + + + +

+ + + + + + + + + + +

Vars

calling_holopadthe holopad that sent the call to another holopad
connected_holopadthe one that answered the call (may be null)
dialed_holopadspopulated with all holopads that are either being dialed or have that have answered us, will be cleared out to just connected_holopad once answered
eyeuser's eye, once connected
hanguphangup action
head_callcalls from a head of staff autoconnect, if the receiving pad is not secure.
hologramuser's hologram, once connected
userthe one that called

Procs

AnswerAnswers a call made to answering_holopad which cannot be the calling holopad. Pads not in the call are ignored
+

Var Details

calling_holopad + + + + +

+

the holopad that sent the call to another holopad

connected_holopad + + + + +

+

the one that answered the call (may be null)

dialed_holopads + + + + +

+

populated with all holopads that are either being dialed or have that have answered us, will be cleared out to just connected_holopad once answered

eye + + + + +

+

user's eye, once connected

hangup + + + + +

+

hangup action

head_call + + + + +

+

calls from a head of staff autoconnect, if the receiving pad is not secure.

hologram + + + + +

+

user's hologram, once connected

user + + + + +

+

the one that called

Proc Details

Answer +

+

Answers a call made to answering_holopad which cannot be the calling holopad. Pads not in the call are ignored

+ + + diff --git a/datum/holomap_holder.html b/datum/holomap_holder.html new file mode 100644 index 000000000000..23465191ae71 --- /dev/null +++ b/datum/holomap_holder.html @@ -0,0 +1,92 @@ + + + + + + + /datum/holomap_holder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

holomap_holder + + + +

+ + + + + + + + + + +

Vars

offset_xUsed by children to properly position elements on the map.
offset_yUsed by children to properly position elements on the map.
parentA physical object this holomap is bound to. Optional.
viewer_mapk:v list of mob:image

Procs

get_imageReturns the holomap image.
remove_all_viewersRemove all viewers
remove_viewerRemoves a viewer.
show_toShow the map to a mob and add them to the viewers list.
you_are_hereAdds a "you are here" overlay to the given image based on the given location.
+

Var Details

offset_x + + + + +

+

Used by children to properly position elements on the map.

offset_y + + + + +

+

Used by children to properly position elements on the map.

parent + + + + +

+

A physical object this holomap is bound to. Optional.

viewer_map + + + + +

+

k:v list of mob:image

Proc Details

get_image +

+

Returns the holomap image.

remove_all_viewers +

+

Remove all viewers

remove_viewer +

+

Removes a viewer.

show_to +

+

Show the map to a mob and add them to the viewers list.

you_are_here +

+

Adds a "you are here" overlay to the given image based on the given location.

+ + + diff --git a/datum/http_request.html b/datum/http_request.html new file mode 100644 index 000000000000..c00b32e556ca --- /dev/null +++ b/datum/http_request.html @@ -0,0 +1,36 @@ + + + + + + + /datum/http_request - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

http_request + + + +

+ + +

Vars

output_fileIf present response body will be saved to this file.
+

Var Details

output_file + + + + +

+

If present response body will be saved to this file.

+ + + diff --git a/datum/hud.html b/datum/hud.html new file mode 100644 index 000000000000..e97974bb4bbe --- /dev/null +++ b/datum/hud.html @@ -0,0 +1,114 @@ + + + + + + + /datum/hud - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

hud + + + +

+ + + + + + + + + + + +

Vars

plane_master_controllersAssoc list of controller groups, associated with key string group name with value of the plane master controller ref
screentip_colorThe color to use for the screentips. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered).
screentip_textUI for screentips that appear when you mouse over things
screentips_enabledWhether or not screentips are enabled. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered).

Procs

build_action_groupsGenerates and fills new action groups with our mob's current actions
generate_landingsGenerates visual landings for all groups that the button is not a memeber of
get_action_buttons_iconsThis is a silly proc used in hud code code to determine what icon and icon state we should be using +for hud elements (such as action buttons) that don't have their own icon and icon state set.
hide_actionRemoves the passed in action from its current position on the screen
hide_landingsClears all currently visible landings
view_audit_buttonsEnsures all of our buttons are properly within the bounds of our client's view, moves them if they're not
+

Var Details

plane_master_controllers + + + + +

+

Assoc list of controller groups, associated with key string group name with value of the plane master controller ref

screentip_color + + + + +

+

The color to use for the screentips. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered).

screentip_text + + + + +

+

UI for screentips that appear when you mouse over things

screentips_enabled + + + + +

+

Whether or not screentips are enabled. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered).

Proc Details

build_action_groups +

+

Generates and fills new action groups with our mob's current actions

generate_landings +

+

Generates visual landings for all groups that the button is not a memeber of

get_action_buttons_icons +

+

This is a silly proc used in hud code code to determine what icon and icon state we should be using +for hud elements (such as action buttons) that don't have their own icon and icon state set.

+

It returns a list, which is pretty much just a struct of info

hide_action +

+

Removes the passed in action from its current position on the screen

hide_landings +

+

Clears all currently visible landings

view_audit_buttons +

+

Ensures all of our buttons are properly within the bounds of our client's view, moves them if they're not

+ + + diff --git a/datum/hud/ooze.html b/datum/hud/ooze.html new file mode 100644 index 000000000000..fa384f271b4a --- /dev/null +++ b/datum/hud/ooze.html @@ -0,0 +1,35 @@ + + + + + + + /datum/hud/ooze - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

ooze + + + +

+ + +

Procs

NewHud type with targetting dol and a nutrition bar

Proc Details

New +

+

Hud type with targetting dol and a nutrition bar

+ + + diff --git a/datum/ice_cream_flavour.html b/datum/ice_cream_flavour.html new file mode 100644 index 000000000000..8bb732f64128 --- /dev/null +++ b/datum/ice_cream_flavour.html @@ -0,0 +1,85 @@ + + + + + + + /datum/ice_cream_flavour - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ice_cream_flavour + + + +

+ + + + + + + + + +

Vars

hiddenIs this flavour shown in the ice cream vat menu or not?
icon_stateThe icon state of the flavour, overlay or not.
ingredientsThe ingredients required to produce a unit with the ice cream vat, these are multiplied by 3.
ingredients_textThe same as above, but in a readable text generated on New() that can also contain fluff ingredients such as "lot of love" or "optional flavorings".
nameMake sure the same name is not found on other types; These are singletons keyed by their name after all.
reagent_amountthe amount of reagent added in 'add_flavour()'
reagent_typethe reagent added in 'add_flavour()'

Procs

add_flavourAdds a new flavour to the ice cream cone.
+

Var Details

hidden + + + + +

+

Is this flavour shown in the ice cream vat menu or not?

icon_state + + + + +

+

The icon state of the flavour, overlay or not.

ingredients + + + + +

+

The ingredients required to produce a unit with the ice cream vat, these are multiplied by 3.

ingredients_text + + + + +

+

The same as above, but in a readable text generated on New() that can also contain fluff ingredients such as "lot of love" or "optional flavorings".

name + + + + +

+

Make sure the same name is not found on other types; These are singletons keyed by their name after all.

reagent_amount + + + + +

+

the amount of reagent added in 'add_flavour()'

reagent_type + + + + +

+

the reagent added in 'add_flavour()'

Proc Details

add_flavour +

+

Adds a new flavour to the ice cream cone.

+ + + diff --git a/datum/id_trim.html b/datum/id_trim.html new file mode 100644 index 000000000000..a3c6f8300e55 --- /dev/null +++ b/datum/id_trim.html @@ -0,0 +1,78 @@ + + + + + + + /datum/id_trim - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

id_trim + + + +

+ +

Simple datum that holds the basic information associated with an ID card trim.

+ + + + + + +

Vars

accessAccesses that this trim unlocks on a card it is imprinted on. These accesses never take wildcard slots and can be added and removed at will.
assignmentJob/assignment associated with this trim. Can be transferred to ID cards holding this trim.
intern_alt_nameThe name of the job for interns. If unset it will default to "[assignment] (Intern)".
sechud_icon_stateThe icon_state associated with this trim, as it will show on the security HUD.
trim_iconIcon file for this trim.
trim_stateIcon state for this trim. Overlayed on advanced ID cards.
wildcard_accessAccesses that this trim unlocks on a card that require wildcard slots to apply. If a card cannot accept all a trim's wildcard accesses, the card is incompatible with the trim.
+

Var Details

access + + + + +

+

Accesses that this trim unlocks on a card it is imprinted on. These accesses never take wildcard slots and can be added and removed at will.

assignment + + + + +

+

Job/assignment associated with this trim. Can be transferred to ID cards holding this trim.

intern_alt_name + + + + +

+

The name of the job for interns. If unset it will default to "[assignment] (Intern)".

sechud_icon_state + + + + +

+

The icon_state associated with this trim, as it will show on the security HUD.

trim_icon + + + + +

+

Icon file for this trim.

trim_state + + + + +

+

Icon state for this trim. Overlayed on advanced ID cards.

wildcard_access + + + + +

+

Accesses that this trim unlocks on a card that require wildcard slots to apply. If a card cannot accept all a trim's wildcard accesses, the card is incompatible with the trim.

+ + + diff --git a/datum/id_trim/job.html b/datum/id_trim/job.html new file mode 100644 index 000000000000..afd9cb1461e9 --- /dev/null +++ b/datum/id_trim/job.html @@ -0,0 +1,95 @@ + + + + + + + /datum/id_trim/job - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

job + + + +

+ +

This file contains all the trims associated with station jobs. +It also contains special prisoner trims and the miner's spare ID trim. +ID Trims for station jobs.

+ + + + + + + + +

Vars

config_jobWhat config entry relates to this job. Should be a lowercase job name with underscores for spaces, eg "prisoner" "research_director" "head_of_security"
extra_accessThe extra access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is FALSE.
extra_wildcard_accessThe extra wildcard_access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is FALSE.
jobThe typepath to the job datum from the id_trim. This is converted to one of the job singletons in New().
job_changesStatic list. Cache of any mapping config job changes.
minimal_accessThe base access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is TRUE.
minimal_wildcard_accessThe base wildcard_access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is TRUE.
template_accessAn ID card with an access in this list can apply this trim to IDs or use it as a job template when adding access to a card. If the list is null, cannot be used as a template. Should be Head of Staff or ID Console accesses or it may do nothing.

Procs

refresh_trim_accessGoes through various non-map config settings and modifies the trim's access based on this.
+

Var Details

config_job + + + + +

+

What config entry relates to this job. Should be a lowercase job name with underscores for spaces, eg "prisoner" "research_director" "head_of_security"

extra_access + + + + +

+

The extra access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is FALSE.

extra_wildcard_access + + + + +

+

The extra wildcard_access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is FALSE.

job + + + + +

+

The typepath to the job datum from the id_trim. This is converted to one of the job singletons in New().

job_changes + + + + +

+

Static list. Cache of any mapping config job changes.

minimal_access + + + + +

+

The base access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is TRUE.

minimal_wildcard_access + + + + +

+

The base wildcard_access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is TRUE.

template_access + + + + +

+

An ID card with an access in this list can apply this trim to IDs or use it as a job template when adding access to a card. If the list is null, cannot be used as a template. Should be Head of Staff or ID Console accesses or it may do nothing.

Proc Details

refresh_trim_access +

+

Goes through various non-map config settings and modifies the trim's access based on this.

+

Returns TRUE if the config is loaded, FALSE otherwise.

+ + + diff --git a/datum/id_trim/job/captain.html b/datum/id_trim/job/captain.html new file mode 100644 index 000000000000..afa3de33f9d0 --- /dev/null +++ b/datum/id_trim/job/captain.html @@ -0,0 +1,35 @@ + + + + + + + /datum/id_trim/job/captain - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

captain + + + +

+ + +

Procs

NewCaptain gets all station accesses hardcoded in because it's the Captain.

Proc Details

New +

+

Captain gets all station accesses hardcoded in because it's the Captain.

+ + + diff --git a/datum/id_trim/job/security_officer.html b/datum/id_trim/job/security_officer.html new file mode 100644 index 000000000000..444571db4c7c --- /dev/null +++ b/datum/id_trim/job/security_officer.html @@ -0,0 +1,36 @@ + + + + + + + /datum/id_trim/job/security_officer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

security_officer + + + +

+ +

Sec officers have departmental variants. They each have their own trims with bonus departmental accesses.

+

Vars

department_accessList of bonus departmental accesses that departmental sec officers get.
+

Var Details

department_access + + + + +

+

List of bonus departmental accesses that departmental sec officers get.

+ + + diff --git a/datum/idle_behavior/idle_dog.html b/datum/idle_behavior/idle_dog.html new file mode 100644 index 000000000000..82b7e1d38c86 --- /dev/null +++ b/datum/idle_behavior/idle_dog.html @@ -0,0 +1,35 @@ + + + + + + + /datum/idle_behavior/idle_dog - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

idle_dog + + + +

+ + +

Procs

perform_idle_behaviorDog specific idle behavior.

Proc Details

perform_idle_behavior +

+

Dog specific idle behavior.

+ + + diff --git a/datum/idle_behavior/idle_ghost_item.html b/datum/idle_behavior/idle_ghost_item.html new file mode 100644 index 000000000000..262f6db88b15 --- /dev/null +++ b/datum/idle_behavior/idle_ghost_item.html @@ -0,0 +1,36 @@ + + + + + + + /datum/idle_behavior/idle_ghost_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

idle_ghost_item + + + +

+ +

If not held, teleport somewhere else

+

Vars

teleport_chanceChance for item to teleport somewhere else
+

Var Details

teleport_chance + + + + +

+

Chance for item to teleport somewhere else

+ + + diff --git a/datum/idle_behavior/idle_random_walk.html b/datum/idle_behavior/idle_random_walk.html new file mode 100644 index 000000000000..d329be7a9697 --- /dev/null +++ b/datum/idle_behavior/idle_random_walk.html @@ -0,0 +1,36 @@ + + + + + + + /datum/idle_behavior/idle_random_walk - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

idle_random_walk + + + +

+ + +

Vars

walk_chanceChance that the mob random walks per second
+

Var Details

walk_chance + + + + +

+

Chance that the mob random walks per second

+ + + diff --git a/datum/instrument.html b/datum/instrument.html new file mode 100644 index 000000000000..5d0cc9ccd159 --- /dev/null +++ b/datum/instrument.html @@ -0,0 +1,152 @@ + + + + + + + /datum/instrument - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Instrument Datums + + + +

+ +

Instrument datums hold the data for any given instrument, as well as data on how to play it and what bounds there are to playing it.

+

The datums themselves are kept in SSinstruments in a list by their unique ID. The reason it uses ID instead of typepath is to support the runtime creation of instruments. +Since songs cache them while playing, there isn't realistic issues regarding performance from accessing.

+ + + + + + + + + + + + + + + + +

Vars

HIGHEST_KEYDon't touch this
LOWEST_KEYDon't touch this x2
abstract_typeUsed for categorization subtypes
admin_onlyOh no - For truly troll instruments.
categoryCategory
idUniquely identifies this instrument so runtime changes are possible as opposed to paths. If this is unset, things will use path instead.
instrument_flagsSee __DEFINES/flags/instruments.dm
legacy_instrument_extFor legacy instruments, our file extension
legacy_instrument_pathFor legacy instruments, the path to our notes
nameName of the instrument
real_samplesWrite here however many samples, follow this syntax: "%note num%"='%sample file%' eg. "27"='synthesizer/e2.ogg'. Key must never be lower than 0 and higher than 127
samplesassoc list key = /datum/instrument_key. do not fill this yourself!
songs_usingWhat songs are using us
volume_multiplierVolume multiplier. Synthesized instruments are quite loud and I don't like to cut off potential detail via editing. (someone correct me if this isn't a thing)

Procs

InitializeInitializes the instrument, calculating its samples if necessary.
calculate_samplesFor synthesized instruments, this is how the instrument generates the "keys" that a /datum/song uses to play notes. +Calculating them on the fly would be unperformant, so we do it during init and keep it all cached in a list.
readyChecks if this instrument is ready to play.
+

Var Details

HIGHEST_KEY + + + + +

+

Don't touch this

LOWEST_KEY + + + + +

+

Don't touch this x2

abstract_type + + + + +

+

Used for categorization subtypes

admin_only + + + + +

+

Oh no - For truly troll instruments.

category + + + + +

+

Category

id + + + + +

+

Uniquely identifies this instrument so runtime changes are possible as opposed to paths. If this is unset, things will use path instead.

instrument_flags + + + + +

+

See __DEFINES/flags/instruments.dm

legacy_instrument_ext + + + + +

+

For legacy instruments, our file extension

legacy_instrument_path + + + + +

+

For legacy instruments, the path to our notes

name + + + + +

+

Name of the instrument

real_samples + + + + +

+

Write here however many samples, follow this syntax: "%note num%"='%sample file%' eg. "27"='synthesizer/e2.ogg'. Key must never be lower than 0 and higher than 127

samples + + + + +

+

assoc list key = /datum/instrument_key. do not fill this yourself!

songs_using + + + + +

+

What songs are using us

volume_multiplier + + + + +

+

Volume multiplier. Synthesized instruments are quite loud and I don't like to cut off potential detail via editing. (someone correct me if this isn't a thing)

Proc Details

Initialize +

+

Initializes the instrument, calculating its samples if necessary.

calculate_samples +

+

For synthesized instruments, this is how the instrument generates the "keys" that a /datum/song uses to play notes. +Calculating them on the fly would be unperformant, so we do it during init and keep it all cached in a list.

ready +

+

Checks if this instrument is ready to play.

+ + + diff --git a/datum/instrument_key.html b/datum/instrument_key.html new file mode 100644 index 000000000000..0c67253929cf --- /dev/null +++ b/datum/instrument_key.html @@ -0,0 +1,65 @@ + + + + + + + /datum/instrument_key - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

instrument_key + + + +

+ +

Instrument key datums contain everything needed to know how to play a specific +note of an instrument.*

+ + + + +

Vars

deviationDeviation up/down from the pivot point that uses its sample. Used to calculate frequency.
frequencyThe frequency to play the sample to get our desired note.
keyThe numerical key of what this is, from 1 to 127 on a standard piano keyboard.
sampleThe actual sample file that will be loaded when playing.

Procs

calculateCalculates and stores our deviation.
+

Var Details

deviation + + + + +

+

Deviation up/down from the pivot point that uses its sample. Used to calculate frequency.

frequency + + + + +

+

The frequency to play the sample to get our desired note.

key + + + + +

+

The numerical key of what this is, from 1 to 127 on a standard piano keyboard.

sample + + + + +

+

The actual sample file that will be loaded when playing.

Proc Details

calculate +

+

Calculates and stores our deviation.

+ + + diff --git a/datum/interview.html b/datum/interview.html new file mode 100644 index 000000000000..7b8f8131a696 --- /dev/null +++ b/datum/interview.html @@ -0,0 +1,141 @@ + + + + + + + /datum/interview - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

interview + + + +

+ +

Represents a new-player interview form

+

Represents a new-player interview form, enabled by configuration to require +players with low playtime to request access to the server. To do so, they will +out a brief questionnaire, and are otherwise unable to do anything while they +wait for a response.

+ + + + + + + + + + + + + +

Vars

atomic_idAtomic ID for incrementing unique IDs
idUnique ID of the interview
ownerThe /client who owns this interview, the intiator
owner_ckeyThe Ckey of the owner, used for when a client could disconnect
pos_in_queueInteger that contains the current position in the interview queue, used for rendering
questionsThe questions to display on the questionnaire of the interview
read_onlyBoolean operator controlling if the questionnaire's contents can be edited
responsesThe stored responses, will be filled as the questionnaire is answered
statusContains the state of the form, used for rendering and sanity checking
welcome_messageThe welcome message shown at the top of the interview panel

Procs

approveApproves the interview, forces reconnect of owner if relevant.
denyDenies the interview and adds the owner to the cooldown for new interviews.
link_selfGenerates a clickable link to open this interview
reconnect_ownerForces client to reconnect, used in the callback from approval
+

Var Details

atomic_id + + + + +

+

Atomic ID for incrementing unique IDs

id + + + + +

+

Unique ID of the interview

owner + + + + +

+

The /client who owns this interview, the intiator

owner_ckey + + + + +

+

The Ckey of the owner, used for when a client could disconnect

pos_in_queue + + + + +

+

Integer that contains the current position in the interview queue, used for rendering

questions + + + + +

+

The questions to display on the questionnaire of the interview

read_only + + + + +

+

Boolean operator controlling if the questionnaire's contents can be edited

responses + + + + +

+

The stored responses, will be filled as the questionnaire is answered

status + + + + +

+

Contains the state of the form, used for rendering and sanity checking

welcome_message + + + + +

+

The welcome message shown at the top of the interview panel

Proc Details

approve +

+

Approves the interview, forces reconnect of owner if relevant.

+

Approves the interview, and if relevant will force the owner to reconnect so that they have the proper +verbs returned to them. +Arguments:

+

deny +

+

Denies the interview and adds the owner to the cooldown for new interviews.

+

Arguments:

+ +

Generates a clickable link to open this interview

reconnect_owner +

+

Forces client to reconnect, used in the callback from approval

+ + + diff --git a/datum/interview_manager.html b/datum/interview_manager.html new file mode 100644 index 000000000000..39fd961f66b7 --- /dev/null +++ b/datum/interview_manager.html @@ -0,0 +1,174 @@ + + + + + + + /datum/interview_manager - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Interview Manager + + + +

+ +

Handles all interviews in the duration of a round, includes the primary functionality for +handling the interview queue.

+ + + + + + + + + + + + + +

Vars

approved_ckeysCkeys which are allowed to bypass the time-based allowlist
closed_interviewsAll closed interviews
cooldown_ckeysCkeys which are currently in the cooldown system, they will be unable to create new interviews
interview_queueThe queue of interviews to be processed (submitted interviews)
open_interviewsThe interviews that are currently "open", those that are not submitted as well as those that are waiting review

Procs

client_loginUsed in the new client pipeline to catch when clients are reconnecting and need to have their +reference re-assigned to the 'owner' variable of an interview
client_logoutUsed in the destroy client pipeline to catch when clients are disconnecting and need to have their +reference nulled on the 'owner' variable of an interview
close_interviewCloses an interview, removing it from the queued interviews as well as adding it to the closed +interviews list.
dequeueDequeues the first interview from the interview queue, and updates the queue positions of any relevant +interviews that follow it.
dequeue_specificDequeues an interview from the interview queue if present, and updates the queue positions of +any relevant interviews that follow it.
enqueueEnqueues an interview in the interview queue, and notifies admins of the new interview to be +reviewed.
interview_by_idAttempts to return an interview for a provided ID, will return null if no matching interview is found
interview_for_clientAttempts to return an interview for a given client, using an existing interview if found, otherwise +a new interview is created; if the user is on cooldown then it will return null.
release_from_cooldownRemoves a ckey from the cooldown list, used for enforcing cooldown after an interview is denied.
+

Var Details

approved_ckeys + + + + +

+

Ckeys which are allowed to bypass the time-based allowlist

closed_interviews + + + + +

+

All closed interviews

cooldown_ckeys + + + + +

+

Ckeys which are currently in the cooldown system, they will be unable to create new interviews

interview_queue + + + + +

+

The queue of interviews to be processed (submitted interviews)

open_interviews + + + + +

+

The interviews that are currently "open", those that are not submitted as well as those that are waiting review

Proc Details

client_login +

+

Used in the new client pipeline to catch when clients are reconnecting and need to have their +reference re-assigned to the 'owner' variable of an interview

+

Arguments:

+

client_logout +

+

Used in the destroy client pipeline to catch when clients are disconnecting and need to have their +reference nulled on the 'owner' variable of an interview

+

Arguments:

+

close_interview +

+

Closes an interview, removing it from the queued interviews as well as adding it to the closed +interviews list.

+

Arguments:

+

dequeue +

+

Dequeues the first interview from the interview queue, and updates the queue positions of any relevant +interviews that follow it.

dequeue_specific +

+

Dequeues an interview from the interview queue if present, and updates the queue positions of +any relevant interviews that follow it.

+

Arguments:

+

enqueue +

+

Enqueues an interview in the interview queue, and notifies admins of the new interview to be +reviewed.

+

Arguments:

+

interview_by_id +

+

Attempts to return an interview for a provided ID, will return null if no matching interview is found

+

Arguments:

+

interview_for_client +

+

Attempts to return an interview for a given client, using an existing interview if found, otherwise +a new interview is created; if the user is on cooldown then it will return null.

+

Arguments:

+

release_from_cooldown +

+

Removes a ckey from the cooldown list, used for enforcing cooldown after an interview is denied.

+

Arguments:

+
+ + + diff --git a/datum/job.html b/datum/job.html new file mode 100644 index 000000000000..11d8a6a0c28c --- /dev/null +++ b/datum/job.html @@ -0,0 +1,428 @@ + + + + + + + /datum/job - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

job + + + +

+ +

datum/job/bureaucrat, +This is the file you should use to add alternate titles for each job, just +follow the way they're done here, it's easy enough and shouldn't take any +time at all to add more or add some for a job that doesn't have any.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

allow_bureaucratic_errorShould this job be allowed to be picked for the bureaucratic error event?
alt_titlesThe list of alternative job titles people can pick from, null by default.
auto_deadmin_role_flagsBitflags for the job
blacklist_dresscode_slotsA list of slots that can't have loadout items assigned to them if no_dresscode is applied, used for important items such as ID, PDA, backpack and headset
current_positionsHow many players have this job
department_for_prefsIf specified, this department will be used for the preferences menu.
department_headDetermines who can demote this position
departments_bitflagsBitfield of departments this job belongs to. These get setup when adding the job into the department, on job datum creation.
departments_listLazy list with the departments this job belongs to. +Required to be set for playable jobs. +The first department will be used in the preferences menu, +unless department_for_prefs is set.
descriptionThe description of the job, used for preferences menu. +Keep it short and useful. Avoid in-jokes, these are for new players.
employersWhat company can employ this job? First index is default
exclusive_mail_goodiesIf this job's mail goodies compete with generic goodies.
exp_granted_typeExperience type granted by playing in this job.
exp_required_typeExperience required to play this job, if the config is enabled, and exp_required_type_department is not enabled with the proper config.
exp_required_type_departmentDepartment experience required to play this job, if the config is enabled.
exp_requirementsMinutes of experience-time required to play in this job. The type is determined by [exp_required_type] and [exp_required_type_department] depending on configs.
factionPlayers will be allowed to spawn in as jobs that are set to "Station"
family_heirloomsList of family heirlooms this job can get with the family heirloom quirk. List of types.
head_announceTells the given channels that the given mob is the new department head. See communications.dm for valid channels.
job_flagsAll values = (JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN)
job_spawn_titleJob title to use for spawning. Allows a job to spawn without needing map edits.
liver_traitsLazylist of traits added to the liver of the mob assigned this job (used for the classic "cops heal from donuts" reaction, among others)
mail_goodiesGoodies that can be received via the mail system. +Keep the _job definition for this empty and use /obj/item/mail to define general gifts.
minimal_player_ageIf you have the use_age_restriction_for_jobs config option enabled and the database set up, this option will add a requirement for players to be at least minimal_player_age days old. (meaning they first signed in at least that many days before.)
minimal_skillsInnate skill levels unlocked at roundstart. Based on config.jobs_have_minimal_access config setting, for example with a full crew. Format is list(/datum/skill/foo = SKILL_EXP_NOVICE) with exp as an integer or as per code/_DEFINES/skills.dm
no_dresscodeWith this set to TRUE, the loadout will be applied before a job clothing will be
outfitsDifferent outfits for alternate job titles and different species
plasmaman_outfitThe job's outfit that will be assigned for plasmamen.
policy_indexString. If set to a non-empty one, it will be the key for the policy text value to show this role on spawn.
radio_help_messageA string added to the on-join block to tell you how to use your radio.
random_spawns_possibleIs this job affected by weird spawns like the ones from station traits
req_admin_notifyIf this is set to 1, a text is printed to the player when jobs are assigned, telling him that he should let admins know that he has to disconnect.
rpg_titleRPG job names, for the memes
selection_colorSelection screen color
skillsInnate skill levels unlocked at roundstart. Based on config.jobs_have_minimal_access config setting, for example with a skeleton crew. Format is list(/datum/skill/foo = SKILL_EXP_NOVICE) with exp as an integer or as per code/_DEFINES/skills.dm
spawn_positionsHow many players can spawn in as this job
spawn_typeWhat kind of mob type joining players with this job as their assigned role are spawned as.
supervisorsSupervisors, who this person answers to directly
titleThe name of the job , used for preferences, bans and more. Make sure you know what you're doing before changing this.
total_positionsHow many players can be this job
veteran_onlyIs this job veteran only? If so, then this job requires the player to be in the veteran_players.txt
voice_of_god_powerMultiplier for general usage of the voice of god.
voice_of_god_silence_powerMultiplier for the silence command of the voice of god.

Procs

after_latejoin_spawnCalled after a successful latejoin spawn. +Client is in the mob. +This happens after after_spawn()
after_roundstart_spawnCalled after a successful roundstart spawn. +Client is not yet in the mob. +This happens after after_spawn()
after_spawnExecutes after the mob has been spawned in the map. Client might not be yet in the mob, and is thus a separate variable.
get_default_roundstart_spawn_pointHandles finding and picking a valid roundstart effect landmark spawn point, in case no uncommon different spawning events occur.
get_latejoin_spawn_pointFinds a valid latejoin spawn point, checking for events and special conditions.
get_mail_goodiesAn overridable getter for more dynamic goodies.
get_map_changesLoads up map configs if necessary and returns job changes for this job.
get_roundstart_spawn_pointReturns either an atom the mob should spawn in, or null, if we have no special overrides.
get_spawn_mobSpawns the mob to be played as, taking into account preferences and the desired spawn point.
on_join_messageCalled by SSjob when a player joins the round as this job.
on_join_popupCalled by SSjob when a player joins the round as this job.
+

Var Details

allow_bureaucratic_error + + + + +

+

Should this job be allowed to be picked for the bureaucratic error event?

alt_titles + + + + +

+

The list of alternative job titles people can pick from, null by default.

auto_deadmin_role_flags + + + + +

+

Bitflags for the job

blacklist_dresscode_slots + + + + +

+

A list of slots that can't have loadout items assigned to them if no_dresscode is applied, used for important items such as ID, PDA, backpack and headset

current_positions + + + + +

+

How many players have this job

department_for_prefs + + + + +

+

If specified, this department will be used for the preferences menu.

department_head + + + + +

+

Determines who can demote this position

departments_bitflags + + + + +

+

Bitfield of departments this job belongs to. These get setup when adding the job into the department, on job datum creation.

departments_list + + + + +

+

Lazy list with the departments this job belongs to. +Required to be set for playable jobs. +The first department will be used in the preferences menu, +unless department_for_prefs is set.

description + + + + +

+

The description of the job, used for preferences menu. +Keep it short and useful. Avoid in-jokes, these are for new players.

employers + + + + +

+

What company can employ this job? First index is default

exclusive_mail_goodies + + + + +

+

If this job's mail goodies compete with generic goodies.

exp_granted_type + + + + +

+

Experience type granted by playing in this job.

exp_required_type + + + + +

+

Experience required to play this job, if the config is enabled, and exp_required_type_department is not enabled with the proper config.

exp_required_type_department + + + + +

+

Department experience required to play this job, if the config is enabled.

exp_requirements + + + + +

+

Minutes of experience-time required to play in this job. The type is determined by [exp_required_type] and [exp_required_type_department] depending on configs.

faction + + + + +

+

Players will be allowed to spawn in as jobs that are set to "Station"

family_heirlooms + + + + +

+

List of family heirlooms this job can get with the family heirloom quirk. List of types.

head_announce + + + + +

+

Tells the given channels that the given mob is the new department head. See communications.dm for valid channels.

job_flags + + + + +

+

All values = (JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN)

job_spawn_title + + + + +

+

Job title to use for spawning. Allows a job to spawn without needing map edits.

liver_traits + + + + +

+

Lazylist of traits added to the liver of the mob assigned this job (used for the classic "cops heal from donuts" reaction, among others)

mail_goodies + + + + +

+

Goodies that can be received via the mail system. +Keep the _job definition for this empty and use /obj/item/mail to define general gifts.

minimal_player_age + + + + +

+

If you have the use_age_restriction_for_jobs config option enabled and the database set up, this option will add a requirement for players to be at least minimal_player_age days old. (meaning they first signed in at least that many days before.)

minimal_skills + + + + +

+

Innate skill levels unlocked at roundstart. Based on config.jobs_have_minimal_access config setting, for example with a full crew. Format is list(/datum/skill/foo = SKILL_EXP_NOVICE) with exp as an integer or as per code/_DEFINES/skills.dm

no_dresscode + + + + +

+

With this set to TRUE, the loadout will be applied before a job clothing will be

outfits + + + + +

+

Different outfits for alternate job titles and different species

plasmaman_outfit + + + + +

+

The job's outfit that will be assigned for plasmamen.

policy_index + + + + +

+

String. If set to a non-empty one, it will be the key for the policy text value to show this role on spawn.

radio_help_message + + + + +

+

A string added to the on-join block to tell you how to use your radio.

random_spawns_possible + + + + +

+

Is this job affected by weird spawns like the ones from station traits

req_admin_notify + + + + +

+

If this is set to 1, a text is printed to the player when jobs are assigned, telling him that he should let admins know that he has to disconnect.

rpg_title + + + + +

+

RPG job names, for the memes

selection_color + + + + +

+

Selection screen color

skills + + + + +

+

Innate skill levels unlocked at roundstart. Based on config.jobs_have_minimal_access config setting, for example with a skeleton crew. Format is list(/datum/skill/foo = SKILL_EXP_NOVICE) with exp as an integer or as per code/_DEFINES/skills.dm

spawn_positions + + + + +

+

How many players can spawn in as this job

spawn_type + + + + +

+

What kind of mob type joining players with this job as their assigned role are spawned as.

supervisors + + + + +

+

Supervisors, who this person answers to directly

title + + + + +

+

The name of the job , used for preferences, bans and more. Make sure you know what you're doing before changing this.

total_positions + + + + +

+

How many players can be this job

veteran_only + + + + +

+

Is this job veteran only? If so, then this job requires the player to be in the veteran_players.txt

voice_of_god_power + + + + +

+

Multiplier for general usage of the voice of god.

voice_of_god_silence_power + + + + +

+

Multiplier for the silence command of the voice of god.

Proc Details

after_latejoin_spawn +

+

Called after a successful latejoin spawn. +Client is in the mob. +This happens after after_spawn()

after_roundstart_spawn +

+

Called after a successful roundstart spawn. +Client is not yet in the mob. +This happens after after_spawn()

after_spawn +

+

Executes after the mob has been spawned in the map. Client might not be yet in the mob, and is thus a separate variable.

get_default_roundstart_spawn_point +

+

Handles finding and picking a valid roundstart effect landmark spawn point, in case no uncommon different spawning events occur.

get_latejoin_spawn_point +

+

Finds a valid latejoin spawn point, checking for events and special conditions.

get_mail_goodies +

+

An overridable getter for more dynamic goodies.

get_map_changes +

+

Loads up map configs if necessary and returns job changes for this job.

get_roundstart_spawn_point +

+

Returns either an atom the mob should spawn in, or null, if we have no special overrides.

get_spawn_mob +

+

Spawns the mob to be played as, taking into account preferences and the desired spawn point.

on_join_message +

+

Called by SSjob when a player joins the round as this job.

on_join_popup +

+

Called by SSjob when a player joins the round as this job.

+ + + diff --git a/datum/job/cook.html b/datum/job/cook.html new file mode 100644 index 000000000000..dc9925c2c558 --- /dev/null +++ b/datum/job/cook.html @@ -0,0 +1,36 @@ + + + + + + + /datum/job/cook - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cook + + + +

+ + +

Vars

kitchen_areasList of areas that are counted as the kitchen for the purposes of CQC. Defaults to just the kitchen. Mapping configs can and should override this.
+

Var Details

kitchen_areas + + + + +

+

List of areas that are counted as the kitchen for the purposes of CQC. Defaults to just the kitchen. Mapping configs can and should override this.

+ + + diff --git a/datum/job/servant_golem.html b/datum/job/servant_golem.html new file mode 100644 index 000000000000..b4b58a8d06fc --- /dev/null +++ b/datum/job/servant_golem.html @@ -0,0 +1,39 @@ + + + + + + + /datum/job/servant_golem - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

servant_golem + + + +

+ +

For late joiners, we're forced to put them in an alone department at some point.

+

This is because reusing the round-start algorithm would force existing officers into +a different department in order to preserve having partners at all times.

+

This would mean retroactively updating their access as well, which is too much +of a headache for me to want to bother.

+

So, here's the method. If any department currently has 1 officer, they are forced into +that.

+

Otherwise, the department with the least officers in it is chosen. +Preference takes priority, meaning that if both medical and engineering have zero officers, +and the preference is medical, then medical is what will be chosen.

+

Just like get_officer_departments, this function is deterministic. +Randomness should instead be handled in the shuffling of the departments argument.

+ + + diff --git a/datum/job_department.html b/datum/job_department.html new file mode 100644 index 000000000000..a8e677a7b466 --- /dev/null +++ b/datum/job_department.html @@ -0,0 +1,120 @@ + + + + + + + /datum/job_department - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

job_department + + + +

+ +

Singleton representing a category of jobs forming a department.

+ + + + + + + + + + + + +

Vars

budget_idAccount ID for the budget
department_bitflagsBitflags associated to the specific department.
department_experience_typeExperience granted by playing in a job of this department.
department_headTypepath of the job datum leading this department.
department_jobsJob singleton datums associated to this department. Populated on job initialization.
department_nameDepartment as displayed on different menus.
display_orderThe order in which this department appears on menus, in relation to other departments.
label_classThe header color to be displayed in the ban panel, classes defined in banpanel.css
latejoin_colorThe color used in the latejoin menu.
manifest_keyWhat manifest to start in besides the generic ones. Can be null.
nation_prefixesFor separatists, what independent name prefix does their nation get named?

Procs

add_jobHandles adding jobs to the department and setting up the job bitflags.
generate_nation_nameReturns a nation name for this department.
+

Var Details

budget_id + + + + +

+

Account ID for the budget

department_bitflags + + + + +

+

Bitflags associated to the specific department.

department_experience_type + + + + +

+

Experience granted by playing in a job of this department.

department_head + + + + +

+

Typepath of the job datum leading this department.

department_jobs + + + + +

+

Job singleton datums associated to this department. Populated on job initialization.

department_name + + + + +

+

Department as displayed on different menus.

display_order + + + + +

+

The order in which this department appears on menus, in relation to other departments.

label_class + + + + +

+

The header color to be displayed in the ban panel, classes defined in banpanel.css

latejoin_color + + + + +

+

The color used in the latejoin menu.

manifest_key + + + + +

+

What manifest to start in besides the generic ones. Can be null.

nation_prefixes + + + + +

+

For separatists, what independent name prefix does their nation get named?

Proc Details

add_job +

+

Handles adding jobs to the department and setting up the job bitflags.

generate_nation_name +

+

Returns a nation name for this department.

+ + + diff --git a/datum/jps_node.html b/datum/jps_node.html new file mode 100644 index 000000000000..f6c165c44af2 --- /dev/null +++ b/datum/jps_node.html @@ -0,0 +1,78 @@ + + + + + + + /datum/jps_node - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

jps_node + + + +

+ +

The JPS Node datum represents a turf that we find interesting enough to add to the open list and possibly search for new tiles from

+ + + + + + +

Vars

f_valueThe A* node weight (f_value = number_of_tiles + heuristic)
heuristicThe A* node heuristic (a rough estimate of how far we are from the goal)
jumpsHow many steps it took to get here from the last node
node_goalNodes store the endgoal so they can process their heuristic without a reference to the pathfind datum
number_tilesHow many steps it's taken to get here from the start (currently pulling double duty as steps taken & cost to get here, since all moves incl diagonals cost 1 rn)
previous_nodeThe node we just came from
tileThe turf associated with this node
+

Var Details

f_value + + + + +

+

The A* node weight (f_value = number_of_tiles + heuristic)

heuristic + + + + +

+

The A* node heuristic (a rough estimate of how far we are from the goal)

jumps + + + + +

+

How many steps it took to get here from the last node

node_goal + + + + +

+

Nodes store the endgoal so they can process their heuristic without a reference to the pathfind datum

number_tiles + + + + +

+

How many steps it's taken to get here from the start (currently pulling double duty as steps taken & cost to get here, since all moves incl diagonals cost 1 rn)

previous_node + + + + +

+

The node we just came from

tile + + + + +

+

The turf associated with this node

+ + + diff --git a/datum/json_reader.html b/datum/json_reader.html new file mode 100644 index 000000000000..c91c2aec14c3 --- /dev/null +++ b/datum/json_reader.html @@ -0,0 +1,36 @@ + + + + + + + /datum/json_reader - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

json_reader + + + +

+ +

Takes a json list and extracts a single value. +Subtypes represent different conversions of that value.

+

Procs

ReadJsonTakes a value read directly from json and verifies/converts as needed to a result

Proc Details

ReadJson +

+

Takes a value read directly from json and verifies/converts as needed to a result

+ + + diff --git a/datum/keybinding/human/quick_equip_belt.html b/datum/keybinding/human/quick_equip_belt.html new file mode 100644 index 000000000000..cda784fdb1a5 --- /dev/null +++ b/datum/keybinding/human/quick_equip_belt.html @@ -0,0 +1,43 @@ + + + + + + + /datum/keybinding/human/quick_equip_belt - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

quick_equip_belt + + + +

+ + + +

Vars

slot_item_namewhat we should call slot_type in messages (including failure messages)
slot_typewhich slot are we trying to quickdraw from/quicksheathe into?
+

Var Details

slot_item_name + + + + +

+

what we should call slot_type in messages (including failure messages)

slot_type + + + + +

+

which slot are we trying to quickdraw from/quicksheathe into?

+ + + diff --git a/datum/keycard_auth_action.html b/datum/keycard_auth_action.html new file mode 100644 index 000000000000..d7eb12199919 --- /dev/null +++ b/datum/keycard_auth_action.html @@ -0,0 +1,68 @@ + + + + + + + /datum/keycard_auth_action - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

keycard_auth_action + + + +

+ + + + + + +

Vars

available_roundstartAre we added to the actions list roundstart?
nameDisplay name of the action
ui_iconFontAwesome Icon for TGUI display

Procs

is_availableIs this action available for use (Alert level, Time, Etc)
triggerCalled by KAD upon successful 2-person auth, +You should probably call parent in this just to make sure it's safe. +Return value is discarded.
+

Var Details

available_roundstart + + + + +

+

Are we added to the actions list roundstart?

name + + + + +

+

Display name of the action

ui_icon + + + + +

+

FontAwesome Icon for TGUI display

Proc Details

is_available +

+

Is this action available for use (Alert level, Time, Etc)

trigger +

+

Called by KAD upon successful 2-person auth, +You should probably call parent in this just to make sure it's safe. +Return value is discarded.

+ + + diff --git a/datum/known_alts.html b/datum/known_alts.html new file mode 100644 index 000000000000..d2f3cc35794a --- /dev/null +++ b/datum/known_alts.html @@ -0,0 +1,37 @@ + + + + + + + /datum/known_alts - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

known_alts + + + +

+ + +

Procs

load_known_altsReturns the list of known alts, will return an empty list if the DB could not be connected to. +This proc can block.

Proc Details

load_known_alts +

+

Returns the list of known alts, will return an empty list if the DB could not be connected to. +This proc can block.

+ + + diff --git a/datum/language.html b/datum/language.html new file mode 100644 index 000000000000..8ef933650f37 --- /dev/null +++ b/datum/language.html @@ -0,0 +1,70 @@ + + + + + + + /datum/language - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

language + + + +

+ +

Install the shared set, so that we force capture all macro keys

+ + + + + +

Procs

can_receive_languageReturns TRUE if the movable can even "see" or "hear" the language. This does not check it knows the language.
can_speak_languageReturns TRUE if the movable can speak the language. This does not check it knows the language.
get_say_modCalled by /atom/proc/say_mod if LANGUAGE_OVERRIDE_SAY_MOD is present.
hear_speechCalled by Hear() to process a language and display it to the hearer. Returns NULL if cannot hear, otherwise returns the translated raw_message.
speech_not_understoodCalled by process_received_message() when the hearer does not understand the language.
speech_understoodCalled by process_received_message() when the hearer does understand the language.

Proc Details

can_receive_language +

+

Returns TRUE if the movable can even "see" or "hear" the language. This does not check it knows the language.

can_speak_language +

+

Returns TRUE if the movable can speak the language. This does not check it knows the language.

get_say_mod +

+

Called by /atom/proc/say_mod if LANGUAGE_OVERRIDE_SAY_MOD is present.

hear_speech +

+

Called by Hear() to process a language and display it to the hearer. Returns NULL if cannot hear, otherwise returns the translated raw_message.

speech_not_understood +

+

Called by process_received_message() when the hearer does not understand the language.

speech_understood +

+

Called by process_received_message() when the hearer does understand the language.

+ + + diff --git a/datum/language_holder.html b/datum/language_holder.html new file mode 100644 index 000000000000..23f9144e839b --- /dev/null +++ b/datum/language_holder.html @@ -0,0 +1,192 @@ + + + + + + + /datum/language_holder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

language_holder + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

blocked_languagesA list of blocked languages. Used to prevent understanding and speaking certain languages, ie for certain mobs, mutations etc.
bypass_speaking_limitationsIf true, overrides tongue limitations.
language_menuHandles displaying the language menu UI.
ownerTracks the entity that owns the holder.
selected_languageCurrently spoken language
spoken_languagesA list of languages that can be spoken. Tongue organ may also set limits beyond this list.
understood_languagesUnderstood languages.

Procs

NewInitializes, and copies in the languages from the current atom if available.
add_blocked_languageAdds a single language or list of languages to the blocked language list.
can_speak_languageChecks if you can speak the language. Tongue limitations should be supplied as an argument.
copy_languagesCopies all languages from the supplied atom/language holder. Source should be overridden when you +do not want the language overwritten by later atom updates or want to avoid blocked languages.
get_atomGets the atom, since we some times need to check if the tongue has limitations.
get_random_spoken_languageGets a random spoken language, useful for forced speech and such.
get_random_understood_languageGets a random understood language, useful for hallucinations and such.
get_selected_languageReturns selected language if it can be spoken, or decides, sets and returns a new selected language if possible.
grant_all_languagesGrants every language to understood and spoken, and gives omnitongue.
grant_languageGrants the supplied language.
has_languageChecks if you have the language. If spoken is true, only checks if you can speak the language.
open_language_menuOpens a language menu reading from the language holder.
remove_all_languagesRemoves every language and optionally sets omnitongue false. If a non default source is supplied, only removes that source.
remove_blocked_languageRemoves a single language or list of languages from the blocked language list.
remove_languageRemoves a single language or source, removing all sources returns the pre-removal state of the language.
update_atom_languagesEmpties out the atom specific languages and updates them according to the supplied atoms language holder.
+

Var Details

blocked_languages + + + + +

+

A list of blocked languages. Used to prevent understanding and speaking certain languages, ie for certain mobs, mutations etc.

bypass_speaking_limitations + + + + +

+

If true, overrides tongue limitations.

language_menu + + + + +

+

Handles displaying the language menu UI.

owner + + + + +

+

Tracks the entity that owns the holder.

selected_language + + + + +

+

Currently spoken language

spoken_languages + + + + +

+

A list of languages that can be spoken. Tongue organ may also set limits beyond this list.

understood_languages + + + + +

+

Understood languages.

Proc Details

New +

+

Initializes, and copies in the languages from the current atom if available.

add_blocked_language +

+

Adds a single language or list of languages to the blocked language list.

can_speak_language +

+

Checks if you can speak the language. Tongue limitations should be supplied as an argument.

copy_languages +

+

Copies all languages from the supplied atom/language holder. Source should be overridden when you +do not want the language overwritten by later atom updates or want to avoid blocked languages.

get_atom +

+

Gets the atom, since we some times need to check if the tongue has limitations.

get_random_spoken_language +

+

Gets a random spoken language, useful for forced speech and such.

get_random_understood_language +

+

Gets a random understood language, useful for hallucinations and such.

get_selected_language +

+

Returns selected language if it can be spoken, or decides, sets and returns a new selected language if possible.

grant_all_languages +

+

Grants every language to understood and spoken, and gives omnitongue.

grant_language +

+

Grants the supplied language.

has_language +

+

Checks if you have the language. If spoken is true, only checks if you can speak the language.

open_language_menu +

+

Opens a language menu reading from the language holder.

remove_all_languages +

+

Removes every language and optionally sets omnitongue false. If a non default source is supplied, only removes that source.

remove_blocked_language +

+

Removes a single language or list of languages from the blocked language list.

remove_language +

+

Removes a single language or source, removing all sources returns the pre-removal state of the language.

update_atom_languages +

+

Empties out the atom specific languages and updates them according to the supplied atoms language holder.

+ + + diff --git a/datum/lift_master.html b/datum/lift_master.html new file mode 100644 index 000000000000..4e6613825379 --- /dev/null +++ b/datum/lift_master.html @@ -0,0 +1,206 @@ + + + + + + + /datum/lift_master - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

lift_master + + + +

+ +

coordinate and control movement across linked industrial_lift's. allows moving large single multitile platforms and many 1 tile platforms. +also is capable of linking platforms across linked z levels

+ + + + + + + + + + + + + + + + + + + + +

Vars

allowed_travel_directionswhat directions we're allowed to move
controls_lockedif true, the lift cannot be manually moved.
create_multitile_platformtaken from our lift platforms. if true we go through each z level of platforms and attempt to make the lowest left corner platform +into one giant multitile object the size of all other platforms on that z level.
ignored_smashthroughsTypepath list of what to ignore smashing through, controls all lifts
lift_idlift_id taken from our base lift platform, used to put us into GLOB.active_lifts_by_type
lift_platformsthe lift platforms we consider as part of this lift. ordered in order of lowest z level to highest z level after init. +(the sorting algorithm sucks btw)
multitile_platformwhether the lift handled by this lift_master datum is multitile as opposed to nxm platforms per z level
specific_lift_idoverridable ID string to link control units to this specific lift_master datum. created by placing a lift id landmark object +somewhere on the tram, if its anywhere on the tram we'll find it in init and set this to whatever it specifies
z_sortedlift platforms have already been sorted in order of z level.

Procs

Check_lift_moveCheck destination turfs
MoveLiftMoves the lift UP or DOWN, this is what users invoke with their hand. +This is a SAFE proc, ensuring every part of the lift moves SANELY. +It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming. +Arguments: +going - UP or DOWN directions, where the lift should go. Keep in mind by this point checks of whether it should go up or down have already been done. +user - Whomever made the lift movement.
MoveLiftHorizontalMoves the lift, this is what users invoke with their hand. +This is a SAFE proc, ensuring every part of the lift moves SANELY. +It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming.
Rebuild_lift_plaformCollect all bordered platforms via a simple floodfill algorithm. allows multiz trams because its funny
check_for_landmarkscheck for any landmarks placed inside the locs of the given lift_platform
create_multitile_platform_for_z_levelgoes through all platforms in the given list and finds the one in the lower left corner
get_platforms_on_levelreturns all industrial_lifts associated with this tram on the given z level or given atoms z level
order_platforms_by_z_levelorders the lift platforms in order of lowest z level to highest z level.
reset_lift_contentsresets the contents of all platforms to their original state in case someone put a bunch of shit onto the tram. +intended to be called by admins. passes all arguments to reset_contents() for each of our platforms.
return_closest_platform_toreturns the closest lift to the specified atom, prioritizing lifts on the same z level. used for comparing distance
set_controlsSets all lift parts's controls_locked variable. Used to prevent moving mid movement, or cooldowns.
set_info_from_id_landmarkset vars and such given an overriding lift_id landmark
+

Var Details

allowed_travel_directions + + + + +

+

what directions we're allowed to move

controls_locked + + + + +

+

if true, the lift cannot be manually moved.

create_multitile_platform + + + + +

+

taken from our lift platforms. if true we go through each z level of platforms and attempt to make the lowest left corner platform +into one giant multitile object the size of all other platforms on that z level.

ignored_smashthroughs + + + + +

+

Typepath list of what to ignore smashing through, controls all lifts

lift_id + + + + +

+

lift_id taken from our base lift platform, used to put us into GLOB.active_lifts_by_type

lift_platforms + + + + +

+

the lift platforms we consider as part of this lift. ordered in order of lowest z level to highest z level after init. +(the sorting algorithm sucks btw)

multitile_platform + + + + +

+

whether the lift handled by this lift_master datum is multitile as opposed to nxm platforms per z level

specific_lift_id + + + + +

+

overridable ID string to link control units to this specific lift_master datum. created by placing a lift id landmark object +somewhere on the tram, if its anywhere on the tram we'll find it in init and set this to whatever it specifies

z_sorted + + + + +

+

lift platforms have already been sorted in order of z level.

Proc Details

Check_lift_move +

+

Check destination turfs

MoveLift +

+

Moves the lift UP or DOWN, this is what users invoke with their hand. +This is a SAFE proc, ensuring every part of the lift moves SANELY. +It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming. +Arguments: +going - UP or DOWN directions, where the lift should go. Keep in mind by this point checks of whether it should go up or down have already been done. +user - Whomever made the lift movement.

MoveLiftHorizontal +

+

Moves the lift, this is what users invoke with their hand. +This is a SAFE proc, ensuring every part of the lift moves SANELY. +It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming.

Rebuild_lift_plaform +

+

Collect all bordered platforms via a simple floodfill algorithm. allows multiz trams because its funny

check_for_landmarks +

+

check for any landmarks placed inside the locs of the given lift_platform

create_multitile_platform_for_z_level +

+

goes through all platforms in the given list and finds the one in the lower left corner

get_platforms_on_level +

+

returns all industrial_lifts associated with this tram on the given z level or given atoms z level

order_platforms_by_z_level +

+

orders the lift platforms in order of lowest z level to highest z level.

reset_lift_contents +

+

resets the contents of all platforms to their original state in case someone put a bunch of shit onto the tram. +intended to be called by admins. passes all arguments to reset_contents() for each of our platforms.

+

Arguments:

+

return_closest_platform_to +

+

returns the closest lift to the specified atom, prioritizing lifts on the same z level. used for comparing distance

set_controls +

+

Sets all lift parts's controls_locked variable. Used to prevent moving mid movement, or cooldowns.

set_info_from_id_landmark +

+

set vars and such given an overriding lift_id landmark

+ + + diff --git a/datum/lift_master/tram.html b/datum/lift_master/tram.html new file mode 100644 index 000000000000..b7f91e8a784c --- /dev/null +++ b/datum/lift_master/tram.html @@ -0,0 +1,147 @@ + + + + + + + /datum/lift_master/tram - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tram + + + +

+ + + + + + + + + + + + + + + +

Vars

base_horizontal_speedversion of horizontal_speed that gets set in init and is considered our base speed if our lift gets slowed down
collision_lethalitymultiplier on how much damage/force the tram imparts on things it hits
from_wherereference to the destination landmark we consider ourselves "at". since we potentially span multiple z levels we dont actually +know where on us this platform is. as long as we know THAT its on us we can just move the distance and direction between this +and the destination landmark.
horizontal_speeddecisecond delay between horizontal movement. cannot make the tram move faster than 1 movement per world.tick_lag. +this var is poorly named its actually horizontal movement delay but whatever.
next_movethe world.time we should next move at. in case our speed is set to less than 1 movement per tick
slowed_downwhether we have been slowed down automatically
times_belowhow many times we moved while costing less than 0.5 * SStramprocess.max_time milliseconds per movement
times_exceededhow many times we moved while costing more than SStramprocess.max_time milliseconds per movement. +if this exceeds SStramprocess.max_exceeding_moves
travel_directionif we're travelling, what direction are we going
travel_distanceif we're travelling, how far do we have to go
travellingwhether this tram is traveling across vertical and/or horizontal axis for some distance. not all lifts use this

Procs

gracefully_breakSignal for when the tram runs into a field of which it cannot go through. +Stops the train's travel fully, sends a message, and destroys the train. +Arguments: +bumped_atom - The atom this tram bumped into
tram_travelHandles moving the tram
unlock_controlsHandles unlocking the tram controls for use after moving
+

Var Details

base_horizontal_speed + + + + +

+

version of horizontal_speed that gets set in init and is considered our base speed if our lift gets slowed down

collision_lethality + + + + +

+

multiplier on how much damage/force the tram imparts on things it hits

from_where + + + + +

+

reference to the destination landmark we consider ourselves "at". since we potentially span multiple z levels we dont actually +know where on us this platform is. as long as we know THAT its on us we can just move the distance and direction between this +and the destination landmark.

horizontal_speed + + + + +

+

decisecond delay between horizontal movement. cannot make the tram move faster than 1 movement per world.tick_lag. +this var is poorly named its actually horizontal movement delay but whatever.

next_move + + + + +

+

the world.time we should next move at. in case our speed is set to less than 1 movement per tick

slowed_down + + + + +

+

whether we have been slowed down automatically

times_below + + + + +

+

how many times we moved while costing less than 0.5 * SStramprocess.max_time milliseconds per movement

times_exceeded + + + + +

+

how many times we moved while costing more than SStramprocess.max_time milliseconds per movement. +if this exceeds SStramprocess.max_exceeding_moves

travel_direction + + + + +

+

if we're travelling, what direction are we going

travel_distance + + + + +

+

if we're travelling, how far do we have to go

travelling + + + + +

+

whether this tram is traveling across vertical and/or horizontal axis for some distance. not all lifts use this

Proc Details

gracefully_break +

+

Signal for when the tram runs into a field of which it cannot go through. +Stops the train's travel fully, sends a message, and destroys the train. +Arguments: +bumped_atom - The atom this tram bumped into

tram_travel +

+

Handles moving the tram

+

Tells the individual tram parts where to actually go and has an extra safety check +incase multiple inputs get through, preventing conflicting directions and the tram +literally ripping itself apart. all of the actual movement is handled by SStramprocess

unlock_controls +

+

Handles unlocking the tram controls for use after moving

+

More safety checks to make sure the tram has actually docked properly +at a location before users are allowed to interact with the tram console again. +Tram finds its location at this point before fully unlocking controls to the user.

+ + + diff --git a/datum/light_source.html b/datum/light_source.html new file mode 100644 index 000000000000..1fef0ad9b51a --- /dev/null +++ b/datum/light_source.html @@ -0,0 +1,148 @@ + + + + + + + /datum/light_source - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

light_source + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

appliedWhether we have applied our light yet or not.
effect_strList used to store how much we're affecting corners.
light_colorThe colour of the light, string, decomposed by parse_light_color()
light_falloff_curveAdjusts curve for falloff gradient
light_inner_rangeThe range of the emitted light.
light_outer_rangeRange where light begins to taper into darkness in tiles.
light_powerIntensity of the emitter light.
needs_updatewhether we are to be added to SSlighting's sources_queue list for an update
pixel_turfThe turf the top_atom appears to over.
source_atomThe atom that we belong to.
source_turfThe turf under the source atom.
top_atomThe atom we're emitting light from (for example a mob if we're from a flashlight that's being held).

Procs

add_to_light_sourcesadd this light source to new_atom_host's light_sources list. updating movement registrations as needed
remove_from_light_sourcesremove this light source from old_atom_host's light_sources list, unsetting movement registrations
remove_lumThis is the define used to calculate falloff.
updateThis proc will cause the light source to update the top atom, and add itself to the update queue.
update_host_lightssignal handler for when our host atom moves and we need to update our effects
+

Var Details

applied + + + + +

+

Whether we have applied our light yet or not.

effect_str + + + + +

+

List used to store how much we're affecting corners.

light_color + + + + +

+

The colour of the light, string, decomposed by parse_light_color()

light_falloff_curve + + + + +

+

Adjusts curve for falloff gradient

light_inner_range + + + + +

+

The range of the emitted light.

light_outer_range + + + + +

+

Range where light begins to taper into darkness in tiles.

light_power + + + + +

+

Intensity of the emitter light.

needs_update + + + + +

+

whether we are to be added to SSlighting's sources_queue list for an update

pixel_turf + + + + +

+

The turf the top_atom appears to over.

source_atom + + + + +

+

The atom that we belong to.

source_turf + + + + +

+

The turf under the source atom.

top_atom + + + + +

+

The atom we're emitting light from (for example a mob if we're from a flashlight that's being held).

Proc Details

add_to_light_sources +

+

add this light source to new_atom_host's light_sources list. updating movement registrations as needed

remove_from_light_sources +

+

remove this light source from old_atom_host's light_sources list, unsetting movement registrations

remove_lum +

+

This is the define used to calculate falloff.

update +

+

This proc will cause the light source to update the top atom, and add itself to the update queue.

update_host_lights +

+

signal handler for when our host atom moves and we need to update our effects

+ + + diff --git a/datum/lighting_corner.html b/datum/lighting_corner.html new file mode 100644 index 000000000000..89a787f4f03b --- /dev/null +++ b/datum/lighting_corner.html @@ -0,0 +1,43 @@ + + + + + + + /datum/lighting_corner - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lighting_corner + + + +

+ + + +

Vars

largest_color_luminositythe maximum of sum_r, sum_g, and sum_b. if this is > 1 then the three cached color values are divided by this
needs_updatewhether we are to be added to SSlighting's corners_queue list for an update
+

Var Details

largest_color_luminosity + + + + +

+

the maximum of sum_r, sum_g, and sum_b. if this is > 1 then the three cached color values are divided by this

needs_update + + + + +

+

whether we are to be added to SSlighting's corners_queue list for an update

+ + + diff --git a/datum/lighting_object.html b/datum/lighting_object.html new file mode 100644 index 000000000000..ff940127b5db --- /dev/null +++ b/datum/lighting_object.html @@ -0,0 +1,50 @@ + + + + + + + /datum/lighting_object - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lighting_object + + + +

+ + + + +

Vars

affected_turfthe turf that our light is applied to
current_underlaythe underlay we are currently applying to our turf to apply light
needs_updatewhether we are already in the SSlighting.objects_queue list
+

Var Details

affected_turf + + + + +

+

the turf that our light is applied to

current_underlay + + + + +

+

the underlay we are currently applying to our turf to apply light

needs_update + + + + +

+

whether we are already in the SSlighting.objects_queue list

+ + + diff --git a/datum/loadout_entry.html b/datum/loadout_entry.html new file mode 100644 index 000000000000..8e82a0cb483f --- /dev/null +++ b/datum/loadout_entry.html @@ -0,0 +1,71 @@ + + + + + + + /datum/loadout_entry - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

loadout_entry + + + +

+ +

Datum for storing and customizing a selected loadout item

+ + + + + +

Vars

custom_colorCustomized color if any.
custom_color_rotationCustomized color rotation if any.
custom_descCustomized description if any.
custom_gags_colorsCustomized GAGS colors if any.
custom_nameCustomized name if any.
pathPath to the loadout item (/datum/loadout_item)
+

Var Details

custom_color + + + + +

+

Customized color if any.

custom_color_rotation + + + + +

+

Customized color rotation if any.

custom_desc + + + + +

+

Customized description if any.

custom_gags_colors + + + + +

+

Customized GAGS colors if any.

custom_name + + + + +

+

Customized name if any.

path + + + + +

+

Path to the loadout item (/datum/loadout_item)

+ + + diff --git a/datum/loadout_item.html b/datum/loadout_item.html new file mode 100644 index 000000000000..0bac28e5ce37 --- /dev/null +++ b/datum/loadout_item.html @@ -0,0 +1,113 @@ + + + + + + + /datum/loadout_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

loadout_item + + + +

+ + + + + + + + + + + + + +

Vars

categoryCategory in which the item belongs to LOADOUT_CATEGORY_UNIFORM, LOADOUT_CATEGORY_BACKPACK etc.
costHow much loadout points does it cost?
customization_flagsFlags for customizing the item
descriptionDescription of the loadout item, automatically set by New() if null
gags_colorsAmount of gags colors this item expects. If null, it's not a GAGS item
gags_colors_stringString of the default gags colors. Can be null even if gags_colors is something (for cases where default items randomize for example)
nameName of the loadout item, automatically set by New() if null
pathTypepath to the item being spawned
restricted_rolesA list of job names this item is restricted to.
subcategorySubcategory in which the item belongs to

Procs

get_gags_stringGets a string for the gags config
parse_gagsRan from SSloadouts after SSgreyscale initializes so we can properly read some information
+

Var Details

category + + + + +

+

Category in which the item belongs to LOADOUT_CATEGORY_UNIFORM, LOADOUT_CATEGORY_BACKPACK etc.

cost + + + + +

+

How much loadout points does it cost?

customization_flags + + + + +

+

Flags for customizing the item

description + + + + +

+

Description of the loadout item, automatically set by New() if null

gags_colors + + + + +

+

Amount of gags colors this item expects. If null, it's not a GAGS item

gags_colors_string + + + + +

+

String of the default gags colors. Can be null even if gags_colors is something (for cases where default items randomize for example)

name + + + + +

+

Name of the loadout item, automatically set by New() if null

path + + + + +

+

Typepath to the item being spawned

restricted_roles + + + + +

+

A list of job names this item is restricted to.

subcategory + + + + +

+

Subcategory in which the item belongs to

Proc Details

get_gags_string +

+

Gets a string for the gags config

parse_gags +

+

Ran from SSloadouts after SSgreyscale initializes so we can properly read some information

+ + + diff --git a/datum/looping_sound.html b/datum/looping_sound.html new file mode 100644 index 000000000000..6e8fac0d37c1 --- /dev/null +++ b/datum/looping_sound.html @@ -0,0 +1,277 @@ + + + + + + + /datum/looping_sound - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

looping_sound + + + +

+ +

A datum for sounds that need to loop, with a high amount of configurability.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

chanceChance per loop to play a mid_sound.
directIf true, plays directly to provided atoms instead of from them.
end_sound(soundfile) The sound played after the main loop has concluded.
end_volumeOverride for volume of end sound.
extra_rangeThe extra range of the sound in tiles, defaults to 0.
falloff_distanceThe falloff distance of the sound,
falloff_exponentHow much the sound will be affected by falloff per tile.
ignore_wallsAre we ignoring walls? Defaults to TRUE.
loop_startedHas the looping started yet?
max_loopsThe max amount of loops to run for.
mid_lengthThe length of time to wait between playing mid_sounds.
mid_sounds(list or soundfile) Since this can be either a list or a single soundfile you can have random sounds. May contain further lists but must contain a soundfile at the end.
parentThe source of the sound, or the recipient of the sound.
pressure_affectedAre the sounds affected by pressure? Defaults to TRUE.
skip_starting_soundsDo we skip the starting sounds?
start_lengthHow long to wait before starting the main loop after playing start_sound.
start_sound(soundfile) Played before starting the mid_sounds loop.
start_volumeOverride for volume of start sound.
timer_idThe ID of the timer that's used to loop the sounds.
use_reverbAre the sounds subject to reverb? Defaults to TRUE.
varyWhether or not the sounds will vary in pitch when played.
volumeSound output volume.

Procs

get_soundReturns the sound we should now be playing.
handle_parent_delA simple proc to handle the deletion of the parent, so that it does not force it to hard-delete.
is_activeA simple proc that lets us know whether the sounds are currently active or not.
on_startA proc that's there to handle delaying the main sounds if there's a start_sound, and simply starting the sound loop in general.
on_stopSimple proc that's executed when the looping sound is stopped, so that the end_sound can be played, if there's one.
playThe proc that handles actually playing the sound.
set_parentA simple proc to change who our parent is set to, also handling registering and unregistering the QDELETING signals on the parent.
sound_loopA simple proc handling the looping of the sound itself.
startThe proc to actually kickstart the whole sound sequence. This is what you should call to start the looping_sound.
start_sound_loopThe proc that handles starting the actual core sound loop.
stopThe proc to call to stop the sound loop.
+

Var Details

chance + + + + +

+

Chance per loop to play a mid_sound.

direct + + + + +

+

If true, plays directly to provided atoms instead of from them.

end_sound + + + + +

+

(soundfile) The sound played after the main loop has concluded.

end_volume + + + + +

+

Override for volume of end sound.

extra_range + + + + +

+

The extra range of the sound in tiles, defaults to 0.

falloff_distance + + + + +

+

The falloff distance of the sound,

falloff_exponent + + + + +

+

How much the sound will be affected by falloff per tile.

ignore_walls + + + + +

+

Are we ignoring walls? Defaults to TRUE.

loop_started + + + + +

+

Has the looping started yet?

max_loops + + + + +

+

The max amount of loops to run for.

mid_length + + + + +

+

The length of time to wait between playing mid_sounds.

mid_sounds + + + + +

+

(list or soundfile) Since this can be either a list or a single soundfile you can have random sounds. May contain further lists but must contain a soundfile at the end.

parent + + + + +

+

The source of the sound, or the recipient of the sound.

pressure_affected + + + + +

+

Are the sounds affected by pressure? Defaults to TRUE.

skip_starting_sounds + + + + +

+

Do we skip the starting sounds?

start_length + + + + +

+

How long to wait before starting the main loop after playing start_sound.

start_sound + + + + +

+

(soundfile) Played before starting the mid_sounds loop.

start_volume + + + + +

+

Override for volume of start sound.

timer_id + + + + +

+

The ID of the timer that's used to loop the sounds.

use_reverb + + + + +

+

Are the sounds subject to reverb? Defaults to TRUE.

vary + + + + +

+

Whether or not the sounds will vary in pitch when played.

volume + + + + +

+

Sound output volume.

Proc Details

get_sound +

+

Returns the sound we should now be playing.

handle_parent_del +

+

A simple proc to handle the deletion of the parent, so that it does not force it to hard-delete.

is_active +

+

A simple proc that lets us know whether the sounds are currently active or not.

on_start +

+

A proc that's there to handle delaying the main sounds if there's a start_sound, and simply starting the sound loop in general.

on_stop +

+

Simple proc that's executed when the looping sound is stopped, so that the end_sound can be played, if there's one.

play +

+

The proc that handles actually playing the sound.

+

Arguments:

+

set_parent +

+

A simple proc to change who our parent is set to, also handling registering and unregistering the QDELETING signals on the parent.

sound_loop +

+

A simple proc handling the looping of the sound itself.

+

Arguments:

+

start +

+

The proc to actually kickstart the whole sound sequence. This is what you should call to start the looping_sound.

+

Arguments:

+

start_sound_loop +

+

The proc that handles starting the actual core sound loop.

stop +

+

The proc to call to stop the sound loop.

+

Arguments:

+
+ + + diff --git a/datum/mafia_controller.html b/datum/mafia_controller.html new file mode 100644 index 000000000000..635ca0e5b37b --- /dev/null +++ b/datum/mafia_controller.html @@ -0,0 +1,534 @@ + + + + + + + /datum/mafia_controller - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mafia_controller + + + +

+ +

The mafia controller handles the mafia minigame in progress. +It is first created when the first ghost signs up to play.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

all_rolesall roles in the game, dead or alive. check their game status if you only want living or dead.
current_maptemplate picked when the game starts. used for the name and desc reading
current_setup_textReadable list of roles in current game, sent to the tgui panel for roles list > list("Psychologist x1", "Clown x2")
custom_setupfor debugging and testing a full game, or adminbuse. If this is not empty, it will use this as a setup. clears when game is over
day_phase_periodtalk with others about the last night
debugused for debugging in testing (doesn't put people out of the game, some other shit i forgot, who knows just don't set this in live) honestly kinda deprecated
first_day_phase_periodfirst day has no voting, and thus is shorter
judgement_abstain_votesand these (judgement_innocent_votes, judgement_abstain_votes and judgement_guilty_votes) are the judgement phase votes, aka people sorting themselves into guilty and innocent, and "eh, i don't really care" lists. whichever has more inno or guilty wins!
judgement_lynch_periodguilty or innocent, we want a bit of time for players to process the outcome of the vote
judgement_phase_perioddefend yourself! don't get lynched! sometimes skipped if nobody votes.
landmarksspawn points for players, each one has a house
map_deletermap generation tool that deletes the current map after the game finishes
next_phase_timercurrent timer for phase
night_phase_periodmafia talk at night and pick someone to kill, some town roles use their actions, etc etc.
on_trialcurrent role on trial for the judgement phase, will die if guilty is greater than innocent
phasewhat part of the game you're playing in. day phases, night phases, judgement phases, etc.
player_outfitstarting outfit for all mafia players. it's just a grey jumpsuit.
player_role_lookupexists to speed up role retrieval, it's a dict. player_role_lookup[player ckey] will give you the role they play
spectatorslist of observers that should get game updates.
speed_upif enabled, the game has fallen under half pop and is sped up
town_center_landmarktown center for when people get put on trial
turnhow long the game has gone on for, changes with every sunrise. day one, night one, day two, etc.
victory_lap_periodlike the lynch period, players need to see what the other players in the game's roles were
votesgroup voting on one person, like putting people to trial or choosing who to kill as mafia
voting_phase_periodvote someone to get put on trial

Procs

add_setup_roleHelper proc that adds a random role of a type to a setup. if it doesn't exist in the setup, it adds the path to the list and otherwise bumps the path in the list up one. unique roles can only get added once.
award_rolePHASE ONE: TALLY UP ALL NUMBERS OF PEOPLE STILL ALIVE +PHASE TWO: SEND STATS TO SOLO ANTAGS, SEE IF THEY WON OR TEAMS CANNOT WIN +Lets the game award roles with all their checks and sanity, prevents achievements given out for debug games
basic_setupCalled when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START.
check_signupsFilters inactive player into a different list until they reconnect, and removes players who are no longer ghosts.
check_trialPlayers have voted someone up, and now the person must defend themselves while the town votes innocent or guilty.
check_victoryChecks to see if a faction (or solo antagonist) has won.
create_bodiesCalled when the game is setting up, AFTER map is loaded but BEFORE the phase timers start. Creates and places each role's body and gives the correct player key
display_votesAdds mutable appearances to people who get publicly voted on (so not night votes) showing how many people are picking them +Arguments:
end_gameCleans up the game, resetting variables back to the beginning and removing the map with the generator.
generate_random_setupReturns a semirandom setup with 12 roles. balance not guaranteed!
get_random_voterReturns a random person who voted for whatever vote (day vote, night kill vote) +Arguments:
get_vote_countReturns how many people voted for the role, in whatever vote (day vote, night kill vote) +Arguments:
get_vote_winnerReturns whichever role got the most votes, in whatever vote (day vote, night kill vote) +returns null if no votes +Arguments:
lockdownAfter the voting and judgement phases, the game goes to night shutting the windows and beginning night with a proc.
lynchPlayers have voted innocent or guilty on the person on trial, and that person is now killed or returned home.
prepare_gameTriggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game
reset_votesClears out the votes of a certain type (day votes, mafia kill votes) while leaving others untouched
resolve_nightThe end of the night, and a series of signals for the order of events on a night.
send_homeTeenie helper proc to move players back to their home. +Used in the above, but also used in the debug button "send all players home" +Arguments:
start_dayHow every day starts.
start_gameThe game by this point is now all set up, and so we can put people in their bodies and start the first phase.
start_nightThe actual start of night for players. Mostly info is given at the start of the night as the end of the night is when votes and actions are submitted and tried.
start_the_endThe end of the game is in two procs, because we want a bit of time for players to see eachothers roles. +Because of how check_victory works, the game is halted in other places by this point.
start_voting_phasePlayers have finished the discussion period, and now must put up someone to the chopping block.
toggle_night_curtainsShuts poddoors attached to mafia. +Arguments:
try_autostartCalled when someone signs up, and sees if there are enough people in the signup list to begin.
vote_forProc that goes off when players vote for something with their mafia panel.
+

Var Details

all_roles + + + + +

+

all roles in the game, dead or alive. check their game status if you only want living or dead.

current_map + + + + +

+

template picked when the game starts. used for the name and desc reading

current_setup_text + + + + +

+

Readable list of roles in current game, sent to the tgui panel for roles list > list("Psychologist x1", "Clown x2")

custom_setup + + + + +

+

for debugging and testing a full game, or adminbuse. If this is not empty, it will use this as a setup. clears when game is over

day_phase_period + + + + +

+

talk with others about the last night

debug + + + + +

+

used for debugging in testing (doesn't put people out of the game, some other shit i forgot, who knows just don't set this in live) honestly kinda deprecated

first_day_phase_period + + + + +

+

first day has no voting, and thus is shorter

judgement_abstain_votes + + + + +

+

and these (judgement_innocent_votes, judgement_abstain_votes and judgement_guilty_votes) are the judgement phase votes, aka people sorting themselves into guilty and innocent, and "eh, i don't really care" lists. whichever has more inno or guilty wins!

judgement_lynch_period + + + + +

+

guilty or innocent, we want a bit of time for players to process the outcome of the vote

judgement_phase_period + + + + +

+

defend yourself! don't get lynched! sometimes skipped if nobody votes.

landmarks + + + + +

+

spawn points for players, each one has a house

map_deleter + + + + +

+

map generation tool that deletes the current map after the game finishes

next_phase_timer + + + + +

+

current timer for phase

night_phase_period + + + + +

+

mafia talk at night and pick someone to kill, some town roles use their actions, etc etc.

on_trial + + + + +

+

current role on trial for the judgement phase, will die if guilty is greater than innocent

phase + + + + +

+

what part of the game you're playing in. day phases, night phases, judgement phases, etc.

player_outfit + + + + +

+

starting outfit for all mafia players. it's just a grey jumpsuit.

player_role_lookup + + + + +

+

exists to speed up role retrieval, it's a dict. player_role_lookup[player ckey] will give you the role they play

spectators + + + + +

+

list of observers that should get game updates.

speed_up + + + + +

+

if enabled, the game has fallen under half pop and is sped up

town_center_landmark + + + + +

+

town center for when people get put on trial

turn + + + + +

+

how long the game has gone on for, changes with every sunrise. day one, night one, day two, etc.

victory_lap_period + + + + +

+

like the lynch period, players need to see what the other players in the game's roles were

votes + + + + +

+

group voting on one person, like putting people to trial or choosing who to kill as mafia

voting_phase_period + + + + +

+

vote someone to get put on trial

Proc Details

add_setup_role +

+

Helper proc that adds a random role of a type to a setup. if it doesn't exist in the setup, it adds the path to the list and otherwise bumps the path in the list up one. unique roles can only get added once.

award_role +

+

PHASE ONE: TALLY UP ALL NUMBERS OF PEOPLE STILL ALIVE +PHASE TWO: SEND STATS TO SOLO ANTAGS, SEE IF THEY WON OR TEAMS CANNOT WIN +Lets the game award roles with all their checks and sanity, prevents achievements given out for debug games

+

Arguments:

+

basic_setup +

+

Called when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START.

+

Checks for a custom setup, if so gets the required players from that and if not it sets the player requirement to MAFIA_MAX_PLAYER_COUNT and generates one IF basic setup starts a game. +Checks if everyone signed up is an observer, and is still connected. If people aren't, they're removed from the list. +If there aren't enough players post sanity, it aborts. otherwise, it selects enough people for the game and starts preparing the game for real.

check_signups +

+

Filters inactive player into a different list until they reconnect, and removes players who are no longer ghosts.

+

If a disconnected player gets a non-ghost mob and reconnects, they will be first put back into mafia_signup then filtered by that.

check_trial +

+

Players have voted someone up, and now the person must defend themselves while the town votes innocent or guilty.

+

What players do in this phase:

+

check_victory +

+

Checks to see if a faction (or solo antagonist) has won.

+

Calculates in this order:

+

create_bodies +

+

Called when the game is setting up, AFTER map is loaded but BEFORE the phase timers start. Creates and places each role's body and gives the correct player key

+

Notably:

+

display_votes +

+

Adds mutable appearances to people who get publicly voted on (so not night votes) showing how many people are picking them +Arguments:

+

end_game +

+

Cleans up the game, resetting variables back to the beginning and removing the map with the generator.

generate_random_setup +

+

Returns a semirandom setup with 12 roles. balance not guaranteed!

+

please check the variables at the top of the proc to see how much of each role types it picks

get_random_voter +

+

Returns a random person who voted for whatever vote (day vote, night kill vote) +Arguments:

+

get_vote_count +

+

Returns how many people voted for the role, in whatever vote (day vote, night kill vote) +Arguments:

+

get_vote_winner +

+

Returns whichever role got the most votes, in whatever vote (day vote, night kill vote) +returns null if no votes +Arguments:

+

lockdown +

+

After the voting and judgement phases, the game goes to night shutting the windows and beginning night with a proc.

lynch +

+

Players have voted innocent or guilty on the person on trial, and that person is now killed or returned home.

+

What players do in this phase:

+

prepare_game +

+

Triggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game

+

Does the following:

+

reset_votes +

+

Clears out the votes of a certain type (day votes, mafia kill votes) while leaving others untouched

resolve_night +

+

The end of the night, and a series of signals for the order of events on a night.

+

Order of events, and what they mean:

+

send_home +

+

Teenie helper proc to move players back to their home. +Used in the above, but also used in the debug button "send all players home" +Arguments:

+

start_day +

+

How every day starts.

+

What players do in this phase:

+

start_game +

+

The game by this point is now all set up, and so we can put people in their bodies and start the first phase.

+

Does the following:

+

start_night +

+

The actual start of night for players. Mostly info is given at the start of the night as the end of the night is when votes and actions are submitted and tried.

+

What players do in this phase:

+

start_the_end +

+

The end of the game is in two procs, because we want a bit of time for players to see eachothers roles. +Because of how check_victory works, the game is halted in other places by this point.

+

What players do in this phase:

+

start_voting_phase +

+

Players have finished the discussion period, and now must put up someone to the chopping block.

+

What players do in this phase:

+

toggle_night_curtains +

+

Shuts poddoors attached to mafia. +Arguments:

+

try_autostart +

+

Called when someone signs up, and sees if there are enough people in the signup list to begin.

+

Only checks if everyone is actually valid to start (still connected and an observer) if there are enough players (basic_setup)

vote_for +

+

Proc that goes off when players vote for something with their mafia panel.

+

If teams, it hides the tally overlay and only sends the vote messages to the team that is voting +Arguments:

+
+ + + diff --git a/datum/mafia_role.html b/datum/mafia_role.html new file mode 100644 index 000000000000..62ccbe6eb9a7 --- /dev/null +++ b/datum/mafia_role.html @@ -0,0 +1,122 @@ + + + + + + + /datum/mafia_role - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mafia_role + + + +

+ + + + + + + + + + + + + + +

Vars

actionsaction = uses
game_statusso mafia have to also kill them to have a majority
hud_iconicon state in the mafia dmi of the hud of the role, used in the mafia ui
revealed_iconicon state in the mafia dmi of the hud of the role, used in the mafia ui
revealed_outfitwhat they get equipped with when they are revealed
role_flagsrole flags (special status of roles like detection immune)
role_typehow the random setup chooses which roles get put in
special_themeset this to something cool for antagonists and their window will look different
vote_potentialhow many votes your role COULD count for, now or later. used in checking victory
vote_powerhow many votes submitted when you vote. used in voting, but not victory
winner_awardwhat the role gets when it wins a game

Procs

can_actionTests if a visitor can actually perform an action on this role. Verbose on purpose!
killTests kill immunities, if nothing prevents the kill, kills this role.
+

Var Details

actions + + + + +

+

action = uses

game_status + + + + +

+

so mafia have to also kill them to have a majority

hud_icon + + + + +

+

icon state in the mafia dmi of the hud of the role, used in the mafia ui

revealed_icon + + + + +

+

icon state in the mafia dmi of the hud of the role, used in the mafia ui

revealed_outfit + + + + +

+

what they get equipped with when they are revealed

role_flags + + + + +

+

role flags (special status of roles like detection immune)

role_type + + + + +

+

how the random setup chooses which roles get put in

special_theme + + + + +

+

set this to something cool for antagonists and their window will look different

vote_potential + + + + +

+

how many votes your role COULD count for, now or later. used in checking victory

vote_power + + + + +

+

how many votes submitted when you vote. used in voting, but not victory

winner_award + + + + +

+

what the role gets when it wins a game

Proc Details

can_action +

+

Tests if a visitor can actually perform an action on this role. Verbose on purpose!

+

Will return false if: Your visit is roleblocked, they have perished, or your visit was interrupted

kill +

+

Tests kill immunities, if nothing prevents the kill, kills this role.

+

Does not count as visiting, see visit proc.

+ + + diff --git a/datum/map_config.html b/datum/map_config.html new file mode 100644 index 000000000000..16f7a6d6face --- /dev/null +++ b/datum/map_config.html @@ -0,0 +1,50 @@ + + + + + + + /datum/map_config - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

map_config + + + +

+ + + + +

Vars

holomap_offsetsX,Y values for the holomap offset. The holomap draws to a 480x480 image, so by default the offset is 480 / 4.
job_changesDictionary of job sub-typepath to template changes dictionary
library_areasList of additional areas that count as a part of the library
+

Var Details

holomap_offsets + + + + +

+

X,Y values for the holomap offset. The holomap draws to a 480x480 image, so by default the offset is 480 / 4.

job_changes + + + + +

+

Dictionary of job sub-typepath to template changes dictionary

library_areas + + + + +

+

List of additional areas that count as a part of the library

+ + + diff --git a/datum/map_generator.html b/datum/map_generator.html new file mode 100644 index 000000000000..32af8bd35ba9 --- /dev/null +++ b/datum/map_generator.html @@ -0,0 +1,35 @@ + + + + + + + /datum/map_generator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

map_generator + + + +

+ +

This type is responsible for any map generation behavior that is done in areas, override this to allow for area-specific map generation. This generation is ran by areas in initialize.

+

Procs

generate_terrainThis proc will be ran by areas on Initialize, and provides the areas turfs as argument to allow for generation.

Proc Details

generate_terrain +

+

This proc will be ran by areas on Initialize, and provides the areas turfs as argument to allow for generation.

+ + + diff --git a/datum/map_generator/cave_generator.html b/datum/map_generator/cave_generator.html new file mode 100644 index 000000000000..33930793af89 --- /dev/null +++ b/datum/map_generator/cave_generator.html @@ -0,0 +1,155 @@ + + + + + + + /datum/map_generator/cave_generator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cave_generator + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

birth_limitHow much neighbours does a dead cell need to become alive
closed_turf_typesExpanded list of the types that spawns if the turf is closed
death_limitHow little neighbours does a alive cell need to die
feature_spawn_chanceBase chance of spawning features
feature_spawn_listExpanded list of extra features that can spawn in the area. Reads from the weighted list
flora_spawn_chanceBase chance of spawning flora
flora_spawn_listExpanded list of flora that can spawn in the area. Reads from the weighted list
initial_closed_chanceChance of cells starting closed
mob_spawn_chanceBase chance of spawning a mob
mob_spawn_listExpanded list of mobs that can spawn in the area. Reads from the weighted list
open_turf_typesExpanded list of the types that spawns if the turf is open
smoothing_iterationsAmount of smoothing iterations
string_genUnique ID for this spawner
weighted_closed_turf_typesWeighted list of the types that spawns if the turf is closed
weighted_feature_spawn_listWeighted list of extra features that can spawn in the area, such as geysers.
weighted_flora_spawn_listWeighted list of flora that can spawn in the area.
weighted_mob_spawn_listWeighted list of mobs that can spawn in the area.
weighted_open_turf_typesWeighted list of the types that spawns if the turf is open
+

Var Details

birth_limit + + + + +

+

How much neighbours does a dead cell need to become alive

closed_turf_types + + + + +

+

Expanded list of the types that spawns if the turf is closed

death_limit + + + + +

+

How little neighbours does a alive cell need to die

feature_spawn_chance + + + + +

+

Base chance of spawning features

feature_spawn_list + + + + +

+

Expanded list of extra features that can spawn in the area. Reads from the weighted list

flora_spawn_chance + + + + +

+

Base chance of spawning flora

flora_spawn_list + + + + +

+

Expanded list of flora that can spawn in the area. Reads from the weighted list

initial_closed_chance + + + + +

+

Chance of cells starting closed

mob_spawn_chance + + + + +

+

Base chance of spawning a mob

mob_spawn_list + + + + +

+

Expanded list of mobs that can spawn in the area. Reads from the weighted list

open_turf_types + + + + +

+

Expanded list of the types that spawns if the turf is open

smoothing_iterations + + + + +

+

Amount of smoothing iterations

string_gen + + + + +

+

Unique ID for this spawner

weighted_closed_turf_types + + + + +

+

Weighted list of the types that spawns if the turf is closed

weighted_feature_spawn_list + + + + +

+

Weighted list of extra features that can spawn in the area, such as geysers.

weighted_flora_spawn_list + + + + +

+

Weighted list of flora that can spawn in the area.

weighted_mob_spawn_list + + + + +

+

Weighted list of mobs that can spawn in the area.

weighted_open_turf_types + + + + +

+

Weighted list of the types that spawns if the turf is open

+ + + diff --git a/datum/map_generator/jungle_generator.html b/datum/map_generator/jungle_generator.html new file mode 100644 index 000000000000..147f36304289 --- /dev/null +++ b/datum/map_generator/jungle_generator.html @@ -0,0 +1,50 @@ + + + + + + + /datum/map_generator/jungle_generator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

jungle_generator + + + +

+ +

Spawning isn't done in procs to save on overhead on the 60k turfs we're going through.

+ + +

Vars

perlin_zoomUsed to select "zoom" level into the perlin noise, higher numbers result in slower transitions
possible_biomes2D list of all biomes based on heat and humidity combos.

Procs

generate_terrainSeeds the rust-g perlin noise with a random number.
+

Var Details

perlin_zoom + + + + +

+

Used to select "zoom" level into the perlin noise, higher numbers result in slower transitions

possible_biomes + + + + +

+

2D list of all biomes based on heat and humidity combos.

Proc Details

generate_terrain +

+

Seeds the rust-g perlin noise with a random number.

+ + + diff --git a/datum/map_report.html b/datum/map_report.html new file mode 100644 index 000000000000..7493b464b73c --- /dev/null +++ b/datum/map_report.html @@ -0,0 +1,43 @@ + + + + + + + /datum/map_report - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

map_report + + + +

+ +

An error report generated by /datum/parsed_map/proc/check_for_errors.

+ +

Vars

loadableWhether this map can be loaded safely despite the errors.

Procs

show_toShow a rendered version of this report to a client.
+

Var Details

loadable + + + + +

+

Whether this map can be loaded safely despite the errors.

Proc Details

show_to +

+

Show a rendered version of this report to a client.

+ + + diff --git a/datum/map_template.html b/datum/map_template.html new file mode 100644 index 000000000000..0242b0523781 --- /dev/null +++ b/datum/map_template.html @@ -0,0 +1,64 @@ + + + + + + + /datum/map_template - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

map_template + + + +

+ + + + + + +

Vars

created_atomsthe list of atoms created by this template being loaded, only populated if returns_created_atoms is TRUE
default_areaDefault area associated with the map template
returns_created_atomsif true, creates a list of all atoms created by this template loading, defaults to FALSE
should_place_on_topif true, turfs loaded from this template are placed on top of the turfs already there, defaults to TRUE

Procs

discover_offsetTakes in a type path, locates an instance of that type in the cached map, and calculates its offset from the origin of the map, returns this offset in the form list(x, y).
+

Var Details

created_atoms + + + + +

+

the list of atoms created by this template being loaded, only populated if returns_created_atoms is TRUE

default_area + + + + +

+

Default area associated with the map template

returns_created_atoms + + + + +

+

if true, creates a list of all atoms created by this template loading, defaults to FALSE

should_place_on_top + + + + +

+

if true, turfs loaded from this template are placed on top of the turfs already there, defaults to TRUE

Proc Details

discover_offset +

+

Takes in a type path, locates an instance of that type in the cached map, and calculates its offset from the origin of the map, returns this offset in the form list(x, y).

+ + + diff --git a/datum/map_template/holodeck.html b/datum/map_template/holodeck.html new file mode 100644 index 000000000000..90b0417e7d48 --- /dev/null +++ b/datum/map_template/holodeck.html @@ -0,0 +1,35 @@ + + + + + + + /datum/map_template/holodeck - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

holodeck + + + +

+ + +

Procs

update_blacklistthis is what makes the holodeck not spawn anything on broken tiles (space and non engine plating / non holofloors)

Proc Details

update_blacklist +

+

this is what makes the holodeck not spawn anything on broken tiles (space and non engine plating / non holofloors)

+ + + diff --git a/datum/map_template/shuttle.html b/datum/map_template/shuttle.html new file mode 100644 index 000000000000..4a24871c2e1e --- /dev/null +++ b/datum/map_template/shuttle.html @@ -0,0 +1,57 @@ + + + + + + + /datum/map_template/shuttle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

shuttle + + + +

+ + + + + +

Vars

credit_costHow much does this shuttle cost the cargo budget to purchase? Put in terms of CARGO_CRATE_VALUE to properly scale the cost with the current balance of cargo's income.
emag_onlyWhether or not this shuttle is locked to emags only.
movement_forceIf set, overrides default movement_force on shuttle
who_can_purchaseWhat job accesses can buy this shuttle? If null, this shuttle cannot be bought.
+

Var Details

credit_cost + + + + +

+

How much does this shuttle cost the cargo budget to purchase? Put in terms of CARGO_CRATE_VALUE to properly scale the cost with the current balance of cargo's income.

emag_only + + + + +

+

Whether or not this shuttle is locked to emags only.

movement_force + + + + +

+

If set, overrides default movement_force on shuttle

who_can_purchase + + + + +

+

What job accesses can buy this shuttle? If null, this shuttle cannot be bought.

+ + + diff --git a/datum/map_template/shuttle/emergency/narnar.html b/datum/map_template/shuttle/emergency/narnar.html new file mode 100644 index 000000000000..b14445430a11 --- /dev/null +++ b/datum/map_template/shuttle/emergency/narnar.html @@ -0,0 +1,35 @@ + + + + + + + /datum/map_template/shuttle/emergency/narnar - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

narnar + + + +

+ + +

Procs

prerequisites_metThe joke is the number so no defines

Proc Details

prerequisites_met +

+

The joke is the number so no defines

+ + + diff --git a/datum/market.html b/datum/market.html new file mode 100644 index 000000000000..6d3a85680e3c --- /dev/null +++ b/datum/market.html @@ -0,0 +1,71 @@ + + + + + + + /datum/market - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

market + + + +

+ + + + + + + +

Vars

available_itemsItems available from this market, populated by SSblackmarket on initialization. Automatically assigned, so don't manually adjust.
categoriesItem categories available from this market, only items which are in these categories can be gotten from this market. Automatically assigned, so don't manually adjust.
nameName for the market.
shippingAvailable shipping methods and prices, just leave the shipping method out that you don't want to have.

Procs

add_itemAdds item to the available items and add it's category if it is not in categories yet.
purchaseHandles buying the item, this is mainly for future use and moving the code away from the uplink.
+

Var Details

available_items + + + + +

+

Items available from this market, populated by SSblackmarket on initialization. Automatically assigned, so don't manually adjust.

categories + + + + +

+

Item categories available from this market, only items which are in these categories can be gotten from this market. Automatically assigned, so don't manually adjust.

name + + + + +

+

Name for the market.

shipping + + + + +

+

Available shipping methods and prices, just leave the shipping method out that you don't want to have.

Proc Details

add_item +

+

Adds item to the available items and add it's category if it is not in categories yet.

purchase +

+

Handles buying the item, this is mainly for future use and moving the code away from the uplink.

+ + + diff --git a/datum/market_item.html b/datum/market_item.html new file mode 100644 index 000000000000..da0bd1804471 --- /dev/null +++ b/datum/market_item.html @@ -0,0 +1,127 @@ + + + + + + + /datum/market_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

market_item + + + +

+ + + + + + + + + + + + + + + +

Vars

availability_probProbability for this item to be available. Used by SSblackmarket on init.
categoryThe category this item belongs to, should be already declared in the market that this item is accessible in.
descDescription for the item entry used in the uplink.
itemPath to or the item itself what this entry is for, this should be set even if you override spawn_item to spawn your item.
markets"/datum/market"s that this item should be in, used by SSblackmarket on init.
nameName for the item entry used in the uplink.
pricePrice for the item, if not set creates a price according to the *_min and *_max vars.
price_maxMaximum price for the item if generated randomly.
price_minMinimum price for the item if generated randomly.
stockHow many of this type of item is available, if not set creates a price according to the *_min and *_max vars.
stock_maxMaximum amount that there should be of this item in the market if generated randomly.
stock_minMinimum amount that there should be of this item in the market if generated randomly. This defaults to 1 as most items will have it as 1.

Procs

buyBuys the item and makes SSblackmarket handle it.
spawn_itemUsed for spawning the wanted item, override if you need to do something special with the item.
+

Var Details

availability_prob + + + + +

+

Probability for this item to be available. Used by SSblackmarket on init.

category + + + + +

+

The category this item belongs to, should be already declared in the market that this item is accessible in.

desc + + + + +

+

Description for the item entry used in the uplink.

item + + + + +

+

Path to or the item itself what this entry is for, this should be set even if you override spawn_item to spawn your item.

markets + + + + +

+

"/datum/market"s that this item should be in, used by SSblackmarket on init.

name + + + + +

+

Name for the item entry used in the uplink.

price + + + + +

+

Price for the item, if not set creates a price according to the *_min and *_max vars.

price_max + + + + +

+

Maximum price for the item if generated randomly.

price_min + + + + +

+

Minimum price for the item if generated randomly.

stock + + + + +

+

How many of this type of item is available, if not set creates a price according to the *_min and *_max vars.

stock_max + + + + +

+

Maximum amount that there should be of this item in the market if generated randomly.

stock_min + + + + +

+

Minimum amount that there should be of this item in the market if generated randomly. This defaults to 1 as most items will have it as 1.

Proc Details

buy +

+

Buys the item and makes SSblackmarket handle it.

spawn_item +

+

Used for spawning the wanted item, override if you need to do something special with the item.

+ + + diff --git a/datum/market_purchase.html b/datum/market_purchase.html new file mode 100644 index 000000000000..605b5044e466 --- /dev/null +++ b/datum/market_purchase.html @@ -0,0 +1,57 @@ + + + + + + + /datum/market_purchase - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

market_purchase + + + +

+ + + + + +

Vars

entryThe entry being purchased.
itemInstance of the item being sent.
methodShipping method used to buy this item.
uplinkThe uplink where this purchase was done from.
+

Var Details

entry + + + + +

+

The entry being purchased.

item + + + + +

+

Instance of the item being sent.

method + + + + +

+

Shipping method used to buy this item.

+

The uplink where this purchase was done from.

+ + + diff --git a/datum/martial_art.html b/datum/martial_art.html new file mode 100644 index 000000000000..9a924852786d --- /dev/null +++ b/datum/martial_art.html @@ -0,0 +1,35 @@ + + + + + + + /datum/martial_art - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

martial_art + + + +

+ + +

Procs

on_projectile_hitGets called when a projectile hits the owner. Returning anything other than BULLET_ACT_HIT will stop the projectile from hitting the mob.

Proc Details

on_projectile_hit +

+

Gets called when a projectile hits the owner. Returning anything other than BULLET_ACT_HIT will stop the projectile from hitting the mob.

+ + + diff --git a/datum/martial_art/cqc/under_siege.html b/datum/martial_art/cqc/under_siege.html new file mode 100644 index 000000000000..9c40165df6e9 --- /dev/null +++ b/datum/martial_art/cqc/under_siege.html @@ -0,0 +1,42 @@ + + + + + + + /datum/martial_art/cqc/under_siege - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

under_siege + + + +

+ +

Subtype of CQC. Only used for the chef.

+ +

Procs

can_useLimits where the chef's CQC can be used to only whitelisted areas.
refresh_valid_areasRefreshes the valid areas from the cook job singleton, otherwise uses the default kitchen area as a fallback option. See also [/datum/job/cook/New].

Proc Details

can_use +

+

Limits where the chef's CQC can be used to only whitelisted areas.

refresh_valid_areas +

+

Refreshes the valid areas from the cook job singleton, otherwise uses the default kitchen area as a fallback option. See also [/datum/job/cook/New].

+ + + diff --git a/datum/martial_art/the_sleeping_carp.html b/datum/martial_art/the_sleeping_carp.html new file mode 100644 index 000000000000..5e148ef034b7 --- /dev/null +++ b/datum/martial_art/the_sleeping_carp.html @@ -0,0 +1,51 @@ + + + + + + + /datum/martial_art/the_sleeping_carp - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

the_sleeping_carp + + + +

+ + + + +

Procs

dropKickKeelhaul: Harm Grab combo, knocks people down, deals stamina damage while they're on the floor
launchKickthis var is so that the strong punch is always aiming for the body part the user is targeting and not trying to apply to the chest before deviating +Crashing Wave Kick: Punch Shove combo, throws people seven tiles backwards
strongPunchGnashing Teeth: Harm Harm, consistent 20 force punch on every second harm punch

Proc Details

dropKick +

+

Keelhaul: Harm Grab combo, knocks people down, deals stamina damage while they're on the floor

launchKick +

+

this var is so that the strong punch is always aiming for the body part the user is targeting and not trying to apply to the chest before deviating +Crashing Wave Kick: Punch Shove combo, throws people seven tiles backwards

strongPunch +

+

Gnashing Teeth: Harm Harm, consistent 20 force punch on every second harm punch

+ + + diff --git a/datum/material.html b/datum/material.html new file mode 100644 index 000000000000..f676f81bcf32 --- /dev/null +++ b/datum/material.html @@ -0,0 +1,307 @@ + + + + + + + /datum/material - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

material + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

alphaBase alpha of the material, is used for greyscale icons.
armor_modifiersArmor modifiers, multiplies an items normal armor vars by these amounts.
beauty_modifierHow beautiful is this material per unit.
bespokeIf set to TRUE, this material doesn't generate at roundstart, and generates unique instances based on the variables passed to GET_MATERIAL_REF
cached_texture_filter_icona cached icon for the texture filter
categoriesMaterials "Traits". its a map of key = category | Value = Bool. Used to define what it can be used for
colorBase color of the material, is used for greyscale. Item isn't changed in color if this is null. +Deprecated, use greyscale_color instead.
descA short description of the material. Not used anywhere, yet...
false_wall_typeType of the false wall this material will make when used as its plating
greyscale_colorsDetermines the color palette of the material. Formatted the same as atom/var/greyscale_colors
hard_wall_deconIf true, walls plated with this material that have a reinforcement, will be hard to deconstruct
idWhat the material is indexed by in the SSmaterials.materials list. Defaults to the type of the material.
integrity_modifierThis is a modifier for integrity, and resembles the strength of the material
item_sound_overrideCan be used to override the sound items make, lets add some SLOSHing.
nameWhat the material is referred to as IC.
reinforced_wall_iconIcon for reinforced walls which are plated with this material
shard_typeWhat type of shard the material will shatter to
sheet_typeThe type of sheet this material creates. This should be replaced as soon as possible by greyscale sheets
strength_modifierThis is a modifier for force, and resembles the strength of the material
texture_layer_icon_statewhat texture icon state to overlay
turf_sound_overrideCan be used to override the stepsound a turf makes. MORE SLOOOSH
value_per_unitThis is the amount of value per 1 unit of the material
wall_colorColor of walls constructed with this material as their plating
wall_iconIcon for walls which are plated with this material
wall_nameWhat do we call a 'wall' made out of this stuff?
wall_stripe_iconIcon for painted stripes on the walls
wall_typeType of the wall this material makes when its used as a plating, null means can't make a wall out of it.

Procs

Initialize
on_accidental_mat_consumptionThis proc is called when the mat is found in an item that's consumed by accident. see /obj/item/proc/on_accidental_consumption. +Arguments
on_appliedThis proc is called when the material is added to an object.
on_applied_objThis proc is called when the material is added to an object specifically.
on_removedThis proc is called when the material is removed from an object.
on_removed_objThis proc is called when the material is removed from an object specifically.
return_composition
+

Var Details

alpha + + + + +

+

Base alpha of the material, is used for greyscale icons.

armor_modifiers + + + + +

+

Armor modifiers, multiplies an items normal armor vars by these amounts.

beauty_modifier + + + + +

+

How beautiful is this material per unit.

bespoke + + + + +

+

If set to TRUE, this material doesn't generate at roundstart, and generates unique instances based on the variables passed to GET_MATERIAL_REF

cached_texture_filter_icon + + + + +

+

a cached icon for the texture filter

categories + + + + +

+

Materials "Traits". its a map of key = category | Value = Bool. Used to define what it can be used for

color + + + + +

+

Base color of the material, is used for greyscale. Item isn't changed in color if this is null. +Deprecated, use greyscale_color instead.

desc + + + + +

+

A short description of the material. Not used anywhere, yet...

false_wall_type + + + + +

+

Type of the false wall this material will make when used as its plating

greyscale_colors + + + + +

+

Determines the color palette of the material. Formatted the same as atom/var/greyscale_colors

hard_wall_decon + + + + +

+

If true, walls plated with this material that have a reinforcement, will be hard to deconstruct

id + + + + +

+

What the material is indexed by in the SSmaterials.materials list. Defaults to the type of the material.

integrity_modifier + + + + +

+

This is a modifier for integrity, and resembles the strength of the material

item_sound_override + + + + +

+

Can be used to override the sound items make, lets add some SLOSHing.

name + + + + +

+

What the material is referred to as IC.

reinforced_wall_icon + + + + +

+

Icon for reinforced walls which are plated with this material

shard_type + + + + +

+

What type of shard the material will shatter to

sheet_type + + + + +

+

The type of sheet this material creates. This should be replaced as soon as possible by greyscale sheets

strength_modifier + + + + +

+

This is a modifier for force, and resembles the strength of the material

texture_layer_icon_state + + + + +

+

what texture icon state to overlay

turf_sound_override + + + + +

+

Can be used to override the stepsound a turf makes. MORE SLOOOSH

value_per_unit + + + + +

+

This is the amount of value per 1 unit of the material

wall_color + + + + +

+

Color of walls constructed with this material as their plating

wall_icon + + + + +

+

Icon for walls which are plated with this material

wall_name + + + + +

+

What do we call a 'wall' made out of this stuff?

wall_stripe_icon + + + + +

+

Icon for painted stripes on the walls

wall_type + + + + +

+

Type of the wall this material makes when its used as a plating, null means can't make a wall out of it.

Proc Details

Initialize +

+

on_accidental_mat_consumption +

+

This proc is called when the mat is found in an item that's consumed by accident. see /obj/item/proc/on_accidental_consumption. +Arguments

+

on_applied +

+

This proc is called when the material is added to an object.

on_applied_obj +

+

This proc is called when the material is added to an object specifically.

on_removed +

+

This proc is called when the material is removed from an object.

on_removed_obj +

+

This proc is called when the material is removed from an object specifically.

return_composition +

+
+ + + diff --git a/datum/material/alloy.html b/datum/material/alloy.html new file mode 100644 index 000000000000..01988c57a70f --- /dev/null +++ b/datum/material/alloy.html @@ -0,0 +1,43 @@ + + + + + + + /datum/material/alloy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

alloy + + + +

+ +

Materials made from other materials.

+ +

Vars

compositionThe materials this alloy is made from weighted by their ratios.
req_breakdown_flagsBreakdown flags required to reduce this alloy to its component materials.
+

Var Details

composition + + + + +

+

The materials this alloy is made from weighted by their ratios.

req_breakdown_flags + + + + +

+

Breakdown flags required to reduce this alloy to its component materials.

+ + + diff --git a/datum/material/alloy/alien.html b/datum/material/alloy/alien.html new file mode 100644 index 000000000000..238cbb79333a --- /dev/null +++ b/datum/material/alloy/alien.html @@ -0,0 +1,41 @@ + + + + + + + /datum/material/alloy/alien - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

alien + + + +

+ +
+ + + diff --git a/datum/material/alloy/plasmaglass.html b/datum/material/alloy/plasmaglass.html new file mode 100644 index 000000000000..acd635c467aa --- /dev/null +++ b/datum/material/alloy/plasmaglass.html @@ -0,0 +1,35 @@ + + + + + + + /datum/material/alloy/plasmaglass - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

plasmaglass + + + +

+ +
+ + + diff --git a/datum/material/alloy/plasteel.html b/datum/material/alloy/plasteel.html new file mode 100644 index 000000000000..e4d076e3e387 --- /dev/null +++ b/datum/material/alloy/plasteel.html @@ -0,0 +1,38 @@ + + + + + + + /datum/material/alloy/plasteel - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

plasteel + + + +

+ +
+ + + diff --git a/datum/material/alloy/plastitanium.html b/datum/material/alloy/plastitanium.html new file mode 100644 index 000000000000..d1dfeb561c09 --- /dev/null +++ b/datum/material/alloy/plastitanium.html @@ -0,0 +1,35 @@ + + + + + + + /datum/material/alloy/plastitanium - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

plastitanium + + + +

+ +
+ + + diff --git a/datum/material/alloy/plastitaniumglass.html b/datum/material/alloy/plastitaniumglass.html new file mode 100644 index 000000000000..102195a197ec --- /dev/null +++ b/datum/material/alloy/plastitaniumglass.html @@ -0,0 +1,35 @@ + + + + + + + /datum/material/alloy/plastitaniumglass - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

plastitaniumglass + + + +

+ +
+ + + diff --git a/datum/material/alloy/titaniumglass.html b/datum/material/alloy/titaniumglass.html new file mode 100644 index 000000000000..7f8668bb4957 --- /dev/null +++ b/datum/material/alloy/titaniumglass.html @@ -0,0 +1,35 @@ + + + + + + + /datum/material/alloy/titaniumglass - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

titaniumglass + + + +

+ +
+ + + diff --git a/datum/mcinterface.html b/datum/mcinterface.html new file mode 100644 index 000000000000..bf9ed73ae476 --- /dev/null +++ b/datum/mcinterface.html @@ -0,0 +1,79 @@ + + + + + + + /datum/mcinterface - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mcinterface + + + +

+ + + + + + + + +

Vars

inputsA list of mcinterfaces that we are recieving from
outputsA list of mcinterfaces that we are outputting to

Procs

AddInput/// MESSAGES
AddOutputAdd an interface to our outputs, and add us to their inputs. Origin is an arg used to prevent an infinite loop of add/remove
RemoveInputRemove an interface from our inputs, and remove us from their outputs. Origin is an arg used to prevent an infinite loop of add/remove
RemoveOutputRemove an interface from our outputs, and remove us from their inputs. Origin is an arg used to prevent an infinite loop of add/remove
SendSend an mcmessage to our outputs
+

Var Details

inputs + + + + +

+

A list of mcinterfaces that we are recieving from

outputs + + + + +

+

A list of mcinterfaces that we are outputting to

Proc Details

AddInput +

+

/// MESSAGES

+

Add an interface to our inputs, and add us to their outputs. Origin is an arg used to prevent an infinite loop of add/remove

AddOutput +

+

Add an interface to our outputs, and add us to their inputs. Origin is an arg used to prevent an infinite loop of add/remove

RemoveInput +

+

Remove an interface from our inputs, and remove us from their outputs. Origin is an arg used to prevent an infinite loop of add/remove

RemoveOutput +

+

Remove an interface from our outputs, and remove us from their inputs. Origin is an arg used to prevent an infinite loop of add/remove

Send +

+

Send an mcmessage to our outputs

+ + + diff --git a/datum/media.html b/datum/media.html new file mode 100644 index 000000000000..5444af1eb50d --- /dev/null +++ b/datum/media.html @@ -0,0 +1,87 @@ + + + + + + + /datum/media - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

media + + + +

+ + + + + + + + + +

Vars

authorAuthor of the track.
definition_fileBack-reference name of the originating JSON file, so that you can track it down
durationREQUIRED for JUKEBOX tagged music, Duration of the track in Deciseconds. Yes it's a shit unit, blame BYOND.
mapOPTIONAL for LOBBY tagged music, Map-specific tracks.
media_tagsList of Media tags, used to allow tracks to be shared between various pools, such as +lobby tracks also being jukebox playable.
nameName of the track. Should be "friendly".
pathFile path of the actual sound.
rareOPTIONAL for LOBBY tagged music, Rarity control flag. 0 By default.
+

Var Details

author + + + + +

+

Author of the track.

definition_file + + + + +

+

Back-reference name of the originating JSON file, so that you can track it down

duration + + + + +

+

REQUIRED for JUKEBOX tagged music, Duration of the track in Deciseconds. Yes it's a shit unit, blame BYOND.

map + + + + +

+

OPTIONAL for LOBBY tagged music, Map-specific tracks.

media_tags + + + + +

+

List of Media tags, used to allow tracks to be shared between various pools, such as +lobby tracks also being jukebox playable.

name + + + + +

+

Name of the track. Should be "friendly".

path + + + + +

+

File path of the actual sound.

rare + + + + +

+

OPTIONAL for LOBBY tagged music, Rarity control flag. 0 By default.

+ + + diff --git a/datum/memory.html b/datum/memory.html new file mode 100644 index 000000000000..f63d390e982b --- /dev/null +++ b/datum/memory.html @@ -0,0 +1,96 @@ + + + + + + + /datum/memory - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

memory + + + +

+ +

little tidbits of past events generated by the player doing things. can be used in engravings, dreams, and changeling succs. +all of those things are supposed to be taken vaguely (engravings crossround and should not include names, dreams and succs are memory goop) +and as such the generated text of the memory is vague. also, no references held so hard delling isn't an issue, thank god

+ + + + + + + + +

Vars

actionthe action done to the target, see memory.dm in _DEFINES
extra_infoextra information used in the memories to more accurately describe what happened. Assoc list of key -> string identifying what kind of info it is, value is a string identifying the detail.
memorizerjob of the person memorizing the event
memorizer_mindjob of the person memorizing the event
memorizer_moodmood of the person memorizing the event when it happend. can change the style.
memory_flagsFlags of any special behavior for the memory
namename of the memory the user sees
story_valuethe value of the mood in it's worth as a story, defines how beautiful art from it can be and whether or not it stays in persistence.

Procs

generate_memory_nameThe action-specific reactions with mood intercepted into it e.g. "the clown looks (story_mood_here) at the situation" +Moods the mob can express e.g. "chuckles" "looks disinterested"
+

Var Details

action + + + + +

+

the action done to the target, see memory.dm in _DEFINES

extra_info + + + + +

+

extra information used in the memories to more accurately describe what happened. Assoc list of key -> string identifying what kind of info it is, value is a string identifying the detail.

memorizer + + + + +

+

job of the person memorizing the event

memorizer_mind + + + + +

+

job of the person memorizing the event

memorizer_mood + + + + +

+

mood of the person memorizing the event when it happend. can change the style.

memory_flags + + + + +

+

Flags of any special behavior for the memory

name + + + + +

+

name of the memory the user sees

story_value + + + + +

+

the value of the mood in it's worth as a story, defines how beautiful art from it can be and whether or not it stays in persistence.

Proc Details

generate_memory_name +

+

The action-specific reactions with mood intercepted into it e.g. "the clown looks (story_mood_here) at the situation" +Moods the mob can express e.g. "chuckles" "looks disinterested"

+ + + diff --git a/datum/merger.html b/datum/merger.html new file mode 100644 index 000000000000..8ce7d975178b --- /dev/null +++ b/datum/merger.html @@ -0,0 +1,71 @@ + + + + + + + /datum/merger - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

merger + + + +

+ +

A datum that tracks a type or types of objects in a cluster

+ + + + + +

Vars

attempt_merge_procOptional proc to call on potential members, return true to allow merge
idThe unique ID for this merger datum, adjacent merg groups with the same id will combine
membersAssoc list of all members in the group -> dirs from them to their connected nighbors
merged_typecacheThe types allowed to be in this merge group
originThe arbitrary "owner" member of the merge group
refresh_signalsSignals in members to trigger a refresh
+

Var Details

attempt_merge_proc + + + + +

+

Optional proc to call on potential members, return true to allow merge

id + + + + +

+

The unique ID for this merger datum, adjacent merg groups with the same id will combine

members + + + + +

+

Assoc list of all members in the group -> dirs from them to their connected nighbors

merged_typecache + + + + +

+

The types allowed to be in this merge group

origin + + + + +

+

The arbitrary "owner" member of the merge group

refresh_signals + + + + +

+

Signals in members to trigger a refresh

+ + + diff --git a/datum/mind.html b/datum/mind.html new file mode 100644 index 000000000000..15079499a410 --- /dev/null +++ b/datum/mind.html @@ -0,0 +1,305 @@ + + + + + + + /datum/mind - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mind + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_addictionsAssoc list of key active addictions and value amount of cycles that it has been active.
addiction_pointsAssoc list of addiction values, key is the type of withdrawal (as singleton type), and the value is the amount of addiction points (as number)
antag_hudthis mind's antag HUD
assigned_roleJob datum indicating the mind's role. This should always exist after initialization, as a reference to a singleton.
dream_cooldownThe cooldown for dreams.
enslaved_toIf this mind's master is another mob (i.e. adamantine golems)
experience_multiplierSkill multiplier, adjusts how much xp you get/loose from adjust_xp. Dont override it directly, add your reason to experience_multiplier_reasons and use that as a key to put your value in there.
experience_multiplier_reasonsSkill multiplier list, just slap your multiplier change onto this with the type it is coming from as key.
failed_special_equipmentList of objective-specific equipment that couldn't properly be given to the mind
finished_dream_typesA lazylist of dream types we have fully experienced
known_skillsAssoc list of skills. Use SKILL_LVL to access level, and SKILL_EXP to access skill's exp.
memoriesa list of /datum/memories. assoc type of memory = memory datum. only one type of memory will be stored, new ones of the same type overriding the last.
memory_panelreference to the memory panel tgui
original_characterWeakref to thecharacter we joined in as- either at roundstart or latejoin, so we know for persistent scars if we ended as the same person or not
skills_rewardedList of skills the user has received a reward for. Should not be used to keep track of currently known skills. Lazy list because it shouldnt be filled often
special_statusesA lazy list of statuses to add next to this mind in the traitor panel

Procs

add_addiction_pointsAdds addiction points to the specified addiction
add_memoryadd_memory
adjust_experienceAdjust experience of a specific skill
announce_objectivesPrints the objectives to the mind's owner. If loudly is true, instead open a window.
build_story_detailreturns the story name of anything
build_story_mobreturns the story name of a mob
exp_needed_to_level_upReturn the amount of EXP needed to go to the next level. Returns 0 if max level
get_hijack_speedSets our can_hijack to the fastest speed our antag datums allow.
get_skill_expGets the player's current exp from the relevant skill
get_skill_levelGets the player's current level number from the relevant skill
get_skill_modifierGets the skill's singleton and returns the result of its get_skill_modifier
give_uplink
remove_addiction_pointsAdds addiction points to the specified addiction
remove_antags_for_borgingRemove the antagonists that should not persist when being borged
select_memorysane proc for giving a mob with a mind the option to select one of their memories, returns the memory selected (null otherwise)
set_assigned_roleSetter for the assigned_role job datum.
set_experienceSet experience of a specific skill to a number
set_levelSet level of a specific skill
try_give_equipment_fallbackChecks to see if the mind has an accessible uplink (their own, if they are a traitor; any unlocked uplink otherwise), +and gives them a fallback spell if no uplink was found
update_skill_levelCheck what the current skill level is based on that skill's exp
wipe_memorysmall helper to clean out memories
+

Var Details

active_addictions + + + + +

+

Assoc list of key active addictions and value amount of cycles that it has been active.

addiction_points + + + + +

+

Assoc list of addiction values, key is the type of withdrawal (as singleton type), and the value is the amount of addiction points (as number)

antag_hud + + + + +

+

this mind's antag HUD

assigned_role + + + + +

+

Job datum indicating the mind's role. This should always exist after initialization, as a reference to a singleton.

dream_cooldown + + + + +

+

The cooldown for dreams.

enslaved_to + + + + +

+

If this mind's master is another mob (i.e. adamantine golems)

experience_multiplier + + + + +

+

Skill multiplier, adjusts how much xp you get/loose from adjust_xp. Dont override it directly, add your reason to experience_multiplier_reasons and use that as a key to put your value in there.

experience_multiplier_reasons + + + + +

+

Skill multiplier list, just slap your multiplier change onto this with the type it is coming from as key.

failed_special_equipment + + + + +

+

List of objective-specific equipment that couldn't properly be given to the mind

finished_dream_types + + + + +

+

A lazylist of dream types we have fully experienced

known_skills + + + + +

+

Assoc list of skills. Use SKILL_LVL to access level, and SKILL_EXP to access skill's exp.

memories + + + + +

+

a list of /datum/memories. assoc type of memory = memory datum. only one type of memory will be stored, new ones of the same type overriding the last.

memory_panel + + + + +

+

reference to the memory panel tgui

original_character + + + + +

+

Weakref to thecharacter we joined in as- either at roundstart or latejoin, so we know for persistent scars if we ended as the same person or not

skills_rewarded + + + + +

+

List of skills the user has received a reward for. Should not be used to keep track of currently known skills. Lazy list because it shouldnt be filled often

special_statuses + + + + +

+

A lazy list of statuses to add next to this mind in the traitor panel

Proc Details

add_addiction_points +

+

Adds addiction points to the specified addiction

add_memory +

+

add_memory

+

Adds a memory to a mob's mind if conditions are met, called wherever the memory takes place (memory for catching on fire in mob's fire code, for example) +Argument:

+

adjust_experience +

+

Adjust experience of a specific skill

announce_objectives +

+

Prints the objectives to the mind's owner. If loudly is true, instead open a window.

build_story_detail +

+

returns the story name of anything

build_story_mob +

+

returns the story name of a mob

exp_needed_to_level_up +

+

Return the amount of EXP needed to go to the next level. Returns 0 if max level

get_hijack_speed +

+

Sets our can_hijack to the fastest speed our antag datums allow.

get_skill_exp +

+

Gets the player's current exp from the relevant skill

get_skill_level +

+

Gets the player's current level number from the relevant skill

get_skill_modifier +

+

Gets the skill's singleton and returns the result of its get_skill_modifier

+ give_uplink +

A mind proc for giving anyone an uplink. +arguments:

+

remove_addiction_points +

+

Adds addiction points to the specified addiction

remove_antags_for_borging +

+

Remove the antagonists that should not persist when being borged

select_memory +

+

sane proc for giving a mob with a mind the option to select one of their memories, returns the memory selected (null otherwise)

set_assigned_role +

+

Setter for the assigned_role job datum.

set_experience +

+

Set experience of a specific skill to a number

set_level +

+

Set level of a specific skill

try_give_equipment_fallback +

+

Checks to see if the mind has an accessible uplink (their own, if they are a traitor; any unlocked uplink otherwise), +and gives them a fallback spell if no uplink was found

update_skill_level +

+

Check what the current skill level is based on that skill's exp

wipe_memory +

+

small helper to clean out memories

+ + + diff --git a/datum/mining_template.html b/datum/mining_template.html new file mode 100644 index 000000000000..e1247188c1cc --- /dev/null +++ b/datum/mining_template.html @@ -0,0 +1,94 @@ + + + + + + + /datum/mining_template - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mining_template + + + +

+ + + + + + + + + + +

Vars

centerThe center turf.
foundHas this template been located by players?
sizeThe size (radius, chebyshev distance). Will be clamped to the size of the asteroid magnet in New().
summonedHas this template been summoned?

Procs

AfterInitializeCalled during SSmapping.generate_asteroid() after all atoms have been initialized.
GenerateThe proc to call to completely generate an asteroid
PopulateCalled during SSmapping.generate_asteroid(). Here is where you mangle the geometry provided by the asteroid generator function. +Atoms at this stage are NOT initialized
get_descriptionCalled by an asteroid magnet to return a description as a list of bullets
randomizeRandomize the data of this template. Does not change size, center, or location.
+

Var Details

center + + + + +

+

The center turf.

found + + + + +

+

Has this template been located by players?

size + + + + +

+

The size (radius, chebyshev distance). Will be clamped to the size of the asteroid magnet in New().

summoned + + + + +

+

Has this template been summoned?

Proc Details

AfterInitialize +

+

Called during SSmapping.generate_asteroid() after all atoms have been initialized.

Generate +

+

The proc to call to completely generate an asteroid

Populate +

+

Called during SSmapping.generate_asteroid(). Here is where you mangle the geometry provided by the asteroid generator function. +Atoms at this stage are NOT initialized

get_description +

+

Called by an asteroid magnet to return a description as a list of bullets

randomize +

+

Randomize the data of this template. Does not change size, center, or location.

+ + + diff --git a/datum/mining_template/simple_asteroid/seeded.html b/datum/mining_template/simple_asteroid/seeded.html new file mode 100644 index 000000000000..1c6cfd20d7c5 --- /dev/null +++ b/datum/mining_template/simple_asteroid/seeded.html @@ -0,0 +1,64 @@ + + + + + + + /datum/mining_template/simple_asteroid/seeded - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

seeded + + + +

+ +

An asteroid with predetermined material makeup

+ + + + +

Vars

determined_orePredetermined ore makeup
highest_material_makeupThe most abundant material, used for description
vein_approximationAn offset vein count for the description
vein_countHow many ore veins will we generate

Procs

SeedOreSet our weighted_ores list
+

Var Details

determined_ore + + + + +

+

Predetermined ore makeup

highest_material_makeup + + + + +

+

The most abundant material, used for description

vein_approximation + + + + +

+

An offset vein count for the description

vein_count + + + + +

+

How many ore veins will we generate

Proc Details

SeedOre +

+

Set our weighted_ores list

+ + + diff --git a/datum/mod_link.html b/datum/mod_link.html new file mode 100644 index 000000000000..bc48a52575c0 --- /dev/null +++ b/datum/mod_link.html @@ -0,0 +1,113 @@ + + + + + + + /datum/mod_link - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mod_link + + + +

+ +

A MODlink datum, used to handle unique functions that will be used in the MODlink call.

+ + + + + + + + + + + +

Vars

can_call_callbackA callback that returns whether the MODlink can currently call.
delete_visual_callbackA callback that deletes the visuals of the MODlink.
frequencyThe frequency of the MODlink. You can only call other MODlinks on the same frequency.
get_user_callbackA callback that returns the user of the MODlink.
get_visual_callbackA callback that receives the visuals of the other MODlink.
holderThe atom that holds the MODlink.
idThe unique ID of the MODlink.
link_callA reference to the call between two MODlinks.
make_visual_callbackA callback that returns the visuals of the MODlink.
nameGeneric name for multitool buffers.
visualA reference to the visuals generated by the MODlink.
visual_overlaysA list of all overlays of the user, copied everytime they have an overlay change.
+

Var Details

can_call_callback + + + + +

+

A callback that returns whether the MODlink can currently call.

delete_visual_callback + + + + +

+

A callback that deletes the visuals of the MODlink.

frequency + + + + +

+

The frequency of the MODlink. You can only call other MODlinks on the same frequency.

get_user_callback + + + + +

+

A callback that returns the user of the MODlink.

get_visual_callback + + + + +

+

A callback that receives the visuals of the other MODlink.

holder + + + + +

+

The atom that holds the MODlink.

id + + + + +

+

The unique ID of the MODlink.

+

A reference to the call between two MODlinks.

make_visual_callback + + + + +

+

A callback that returns the visuals of the MODlink.

name + + + + +

+

Generic name for multitool buffers.

visual + + + + +

+

A reference to the visuals generated by the MODlink.

visual_overlays + + + + +

+

A list of all overlays of the user, copied everytime they have an overlay change.

+ + + diff --git a/datum/mod_link_call.html b/datum/mod_link_call.html new file mode 100644 index 000000000000..4c07ac626f95 --- /dev/null +++ b/datum/mod_link_call.html @@ -0,0 +1,43 @@ + + + + + + + /datum/mod_link_call - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mod_link_call + + + +

+ +

A MODlink call datum, used to handle the call between two MODlinks.

+ +

Vars

callerThe MODlink that is calling.
receiverThe MODlink that is being called.
+

Var Details

caller + + + + +

+

The MODlink that is calling.

receiver + + + + +

+

The MODlink that is being called.

+ + + diff --git a/datum/mod_part.html b/datum/mod_part.html new file mode 100644 index 000000000000..270b324b6602 --- /dev/null +++ b/datum/mod_part.html @@ -0,0 +1,85 @@ + + + + + + + /datum/mod_part - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mod_part + + + +

+ +

Datum to handle interactions between a MODsuit and its parts.

+ + + + + + + +

Vars

can_overslotCan our part overslot over others?
overslottingWhat are we overslotting over?
part_itemThe actual item we handle.
sealedAre we sealed?
sealed_layerThe layer the item will render on when sealed.
sealed_messageMessage to user when sealed.
unsealed_layerThe layer the item will render on when unsealed.
unsealed_messageMessage to user when unsealed.
+

Var Details

can_overslot + + + + +

+

Can our part overslot over others?

overslotting + + + + +

+

What are we overslotting over?

part_item + + + + +

+

The actual item we handle.

sealed + + + + +

+

Are we sealed?

sealed_layer + + + + +

+

The layer the item will render on when sealed.

sealed_message + + + + +

+

Message to user when sealed.

unsealed_layer + + + + +

+

The layer the item will render on when unsealed.

unsealed_message + + + + +

+

Message to user when unsealed.

+ + + diff --git a/datum/mod_theme.html b/datum/mod_theme.html new file mode 100644 index 000000000000..b82494cc271e --- /dev/null +++ b/datum/mod_theme.html @@ -0,0 +1,197 @@ + + + + + + + /datum/mod_theme - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mod_theme + + + +

+ +

MODsuit theme, instanced once and then used by MODsuits to grab various statistics.

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

activation_step_timeHow long this MOD takes each part to seal.
allowed_suit_storageAllowed items in the chestplate's suit storage.
armorArmor shared across the MOD parts.
atom_flagsAtom flags shared across the MOD parts.
charge_drainHow much battery power the MOD uses by just being on
complexity_maxHow much modules can the MOD carry without malfunctioning.
default_skinDefault skin of the MOD.
descDescription added to the MOD.
extended_descExtended description on examine_more
inbuilt_modulesList of inbuilt modules. These are different from the pre-equipped suits, you should mainly use these for unremovable modules with 0 complexity.
max_heat_protection_temperatureMax heat protection shared across the MOD parts.
min_cold_protection_temperatureMax cold protection shared across the MOD parts.
modsuit_tail_colorsTail colors for the tail overlay of the modsuit
module_blacklistModules blacklisted from the MOD.
nameTheme name for the MOD.
permeability_coefficientPermeability shared across the MOD parts.
resistance_flagsResistance flags shared across the MOD parts.
siemens_coefficientSiemens shared across the MOD parts.
slot_flagsThe slot this mod theme fits on
slowdown_activeSlowdown of the MOD when active.
slowdown_inactiveSlowdown of the MOD when not active.
ui_themeTheme used by the MOD TGUI.
variantsList of variants and items created by them, with the flags we set.

Procs

set_up_partsCreate parts of the suit and modify them using the theme's variables.
+

Var Details

activation_step_time + + + + +

+

How long this MOD takes each part to seal.

allowed_suit_storage + + + + +

+

Allowed items in the chestplate's suit storage.

armor + + + + +

+

Armor shared across the MOD parts.

atom_flags + + + + +

+

Atom flags shared across the MOD parts.

charge_drain + + + + +

+

How much battery power the MOD uses by just being on

complexity_max + + + + +

+

How much modules can the MOD carry without malfunctioning.

default_skin + + + + +

+

Default skin of the MOD.

desc + + + + +

+

Description added to the MOD.

extended_desc + + + + +

+

Extended description on examine_more

inbuilt_modules + + + + +

+

List of inbuilt modules. These are different from the pre-equipped suits, you should mainly use these for unremovable modules with 0 complexity.

max_heat_protection_temperature + + + + +

+

Max heat protection shared across the MOD parts.

min_cold_protection_temperature + + + + +

+

Max cold protection shared across the MOD parts.

modsuit_tail_colors + + + + +

+

Tail colors for the tail overlay of the modsuit

module_blacklist + + + + +

+

Modules blacklisted from the MOD.

name + + + + +

+

Theme name for the MOD.

permeability_coefficient + + + + +

+

Permeability shared across the MOD parts.

resistance_flags + + + + +

+

Resistance flags shared across the MOD parts.

siemens_coefficient + + + + +

+

Siemens shared across the MOD parts.

slot_flags + + + + +

+

The slot this mod theme fits on

slowdown_active + + + + +

+

Slowdown of the MOD when active.

slowdown_inactive + + + + +

+

Slowdown of the MOD when not active.

ui_theme + + + + +

+

Theme used by the MOD TGUI.

variants + + + + +

+

List of variants and items created by them, with the flags we set.

Proc Details

set_up_parts +

+

Create parts of the suit and modify them using the theme's variables.

+ + + diff --git a/datum/move_loop.html b/datum/move_loop.html new file mode 100644 index 000000000000..8745b42997a3 --- /dev/null +++ b/datum/move_loop.html @@ -0,0 +1,169 @@ + + + + + + + /datum/move_loop - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

move_loop + + + +

+ +

Template class of the movement datums, handles the timing portion of the loops

+ + + + + + + + + + + + + + + + + +

Vars

controllerThe subsystem we're processing on
delayDelay between each move in deci-seconds
extra_infoAn extra reference we pass around +It is on occasion useful to have a reference to some datum without storing it on the moving object +Mostly comes up in high performance senarios where we care about things being singletons +This feels horrible, but constantly making components seems worse
flagsBitfield of different things that affect how a loop operates
lifetimeTime till we stop processing in deci-seconds, defaults to forever
movingThe thing we're moving about
ownerThe movement packet that owns us
priorityDefines how different move loops override each other. Higher numbers beat lower numbers
queued_timeThe time we are CURRENTLY queued for processing +Do not modify this directly
statusStatus bitfield for what state the move loop is currently in
timerThe next time we should process +Used primarially as a hint to be reasoned about by our [controller], and as the id of our bucket

Procs

compare_loopscheck if this exact moveloop datum already exists (in terms of vars) so we can avoid creating a new one to overwrite the old duplicate
loop_stoppedCalled when a loop is stopped, doesn't stop the loop itself
moveHandles the actual move, overriden by children +Returns FALSE if nothing happen, TRUE otherwise
pause_forPauses the move loop for some passed in period +This functionally means shifting its timer up, and clearing it from its current bucket
pause_loopPause our loop untill restarted with resume_loop()
resume_loopResume our loop after being paused by pause_loop()
set_delayExists as a helper so outside code can modify delay in a sane way
+

Var Details

controller + + + + +

+

The subsystem we're processing on

delay + + + + +

+

Delay between each move in deci-seconds

extra_info + + + + +

+

An extra reference we pass around +It is on occasion useful to have a reference to some datum without storing it on the moving object +Mostly comes up in high performance senarios where we care about things being singletons +This feels horrible, but constantly making components seems worse

flags + + + + +

+

Bitfield of different things that affect how a loop operates

lifetime + + + + +

+

Time till we stop processing in deci-seconds, defaults to forever

moving + + + + +

+

The thing we're moving about

owner + + + + +

+

The movement packet that owns us

priority + + + + +

+

Defines how different move loops override each other. Higher numbers beat lower numbers

queued_time + + + + +

+

The time we are CURRENTLY queued for processing +Do not modify this directly

status + + + + +

+

Status bitfield for what state the move loop is currently in

timer + + + + +

+

The next time we should process +Used primarially as a hint to be reasoned about by our [controller], and as the id of our bucket

Proc Details

compare_loops +

+

check if this exact moveloop datum already exists (in terms of vars) so we can avoid creating a new one to overwrite the old duplicate

loop_stopped +

+

Called when a loop is stopped, doesn't stop the loop itself

move +

+

Handles the actual move, overriden by children +Returns FALSE if nothing happen, TRUE otherwise

pause_for +

+

Pauses the move loop for some passed in period +This functionally means shifting its timer up, and clearing it from its current bucket

pause_loop +

+

Pause our loop untill restarted with resume_loop()

resume_loop +

+

Resume our loop after being paused by pause_loop()

set_delay +

+

Exists as a helper so outside code can modify delay in a sane way

+ + + diff --git a/datum/move_loop/has_target.html b/datum/move_loop/has_target.html new file mode 100644 index 000000000000..a1f9b74273b5 --- /dev/null +++ b/datum/move_loop/has_target.html @@ -0,0 +1,36 @@ + + + + + + + /datum/move_loop/has_target - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

has_target + + + +

+ + +

Vars

targetThe thing we're moving in relation to, either at or away from
+

Var Details

target + + + + +

+

The thing we're moving in relation to, either at or away from

+ + + diff --git a/datum/move_loop/has_target/dist_bound.html b/datum/move_loop/has_target/dist_bound.html new file mode 100644 index 000000000000..36cb54edd3c3 --- /dev/null +++ b/datum/move_loop/has_target/dist_bound.html @@ -0,0 +1,35 @@ + + + + + + + /datum/move_loop/has_target/dist_bound - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

dist_bound + + + +

+ +

Base class of move_to and move_away, deals with the distance and target aspect of things

+

Procs

check_distReturns FALSE if the movement should pause, TRUE otherwise

Proc Details

check_dist +

+

Returns FALSE if the movement should pause, TRUE otherwise

+ + + diff --git a/datum/move_loop/has_target/jps.html b/datum/move_loop/has_target/jps.html new file mode 100644 index 000000000000..3d3d046e9bd3 --- /dev/null +++ b/datum/move_loop/has_target/jps.html @@ -0,0 +1,120 @@ + + + + + + + /datum/move_loop/has_target/jps - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

jps + + + +

+ + + + + + + + + + + + + + +

Vars

accessA list representing what access we have and what doors we can open.
avoidA perticular turf to avoid
is_pathingBool used to determine if we're already making a path in JPS. this prevents us from re-pathing while we're already busy.
max_path_lengthMax amount of steps to search
minimum_distanceMinimum distance to the target before path returns
movement_pathA list for the path we're currently following
on_finish_callbackCallback to invoke once we make a path
repath_cooldownCooldown for repathing, prevents spam
repath_delayHow often we're allowed to recalculate our path
simulated_onlyWhether we consider turfs without atmos simulation (AKA do we want to ignore space)
skip_firstShould we skip the first step? This is the tile we're currently on, which breaks some things

Procs

on_finish_pathingCalled when a path has finished being created
recalculate_pathTries to calculate a new path for this moveloop.
+

Var Details

access + + + + +

+

A list representing what access we have and what doors we can open.

avoid + + + + +

+

A perticular turf to avoid

is_pathing + + + + +

+

Bool used to determine if we're already making a path in JPS. this prevents us from re-pathing while we're already busy.

max_path_length + + + + +

+

Max amount of steps to search

minimum_distance + + + + +

+

Minimum distance to the target before path returns

movement_path + + + + +

+

A list for the path we're currently following

on_finish_callback + + + + +

+

Callback to invoke once we make a path

repath_cooldown + + + + +

+

Cooldown for repathing, prevents spam

repath_delay + + + + +

+

How often we're allowed to recalculate our path

simulated_only + + + + +

+

Whether we consider turfs without atmos simulation (AKA do we want to ignore space)

skip_first + + + + +

+

Should we skip the first step? This is the tile we're currently on, which breaks some things

Proc Details

on_finish_pathing +

+

Called when a path has finished being created

recalculate_path +

+

Tries to calculate a new path for this moveloop.

+ + + diff --git a/datum/move_loop/has_target/move_towards.html b/datum/move_loop/has_target/move_towards.html new file mode 100644 index 000000000000..7bce9c7e4ac4 --- /dev/null +++ b/datum/move_loop/has_target/move_towards.html @@ -0,0 +1,70 @@ + + + + + + + /datum/move_loop/has_target/move_towards - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

move_towards + + + +

+ +

Used as a alternative to walk_towards

+ + + + +

Vars

homeShould we try and stay on the path, or is deviation alright
moving_towardsThe turf we want to move into, used for course correction
x_rateThe rate at which we move, between 0 and 1
x_tickerWhen this gets larger then 1 we move a turf

Procs

update_slopeRecalculates the slope between our object and the target, sets our rates to it
+

Var Details

home + + + + +

+

Should we try and stay on the path, or is deviation alright

moving_towards + + + + +

+

The turf we want to move into, used for course correction

x_rate + + + + +

+

The rate at which we move, between 0 and 1

x_ticker + + + + +

+

When this gets larger then 1 we move a turf

Proc Details

update_slope +

+

Recalculates the slope between our object and the target, sets our rates to it

+

The math below is reminiscent of something like y = mx + b +Except we don't need to care about axis, since we do all our movement in steps of 1 +Because of that all that matters is we only move one tile at a time +So we take the smaller delta, divide it by the larger one, and get smaller step per large step +Then we set the large step to 1, and we're done. This way we're guaranteed to never move more then a tile at once +And we can have nice lines

+ + + diff --git a/datum/movement_detector.html b/datum/movement_detector.html new file mode 100644 index 000000000000..33019fc8d884 --- /dev/null +++ b/datum/movement_detector.html @@ -0,0 +1,51 @@ + + + + + + + /datum/movement_detector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

movement_detector + + + +

+ +

A datum to handle the busywork of registering signals to handle in depth tracking of a movable

+ + +

Procs

move_reactReacts to any movement that would cause a change in coordinates of the tracked movable atom +This works by detecting movement of either the tracked object, or anything it is inside, recursively
trackSets up tracking of the given movable atom
untrackStops tracking

Proc Details

move_react +

+

Reacts to any movement that would cause a change in coordinates of the tracked movable atom +This works by detecting movement of either the tracked object, or anything it is inside, recursively

track +

+

Sets up tracking of the given movable atom

untrack +

+

Stops tracking

+ + + diff --git a/datum/movement_packet.html b/datum/movement_packet.html new file mode 100644 index 000000000000..804fa6d7ea8c --- /dev/null +++ b/datum/movement_packet.html @@ -0,0 +1,84 @@ + + + + + + + /datum/movement_packet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

movement_packet + + + +

+ +

A packet of information that describes the current state of a moving object

+ + + + + + +

Vars

existing_loopsAssoc list of subsystems -> loop datum. Only one datum is allowed per subsystem
parentOur parent atom
processing_move_loop_flagsFlags passed from the move loop before it calls move() and unset right after. +Allows for properties of a move loop to be easily checked by mechanics outside of it. +Having this a bitfield rather than a type var means we don't get screwed over +if the move loop gets deleted mid-move, FYI.
running_loopThe move loop that's currently running

Procs

add_loopAdds a loop to our parent. Returns the created loop if a success, null otherwise
contest_running_loopAttempts to contest the current running move loop. Returns TRUE if the loop is active, FALSE otherwise
decide_on_running_loopTries to figure out the current favorite loop to run. More complex then just deciding between two different loops, assumes no running loop currently exists
+

Var Details

existing_loops + + + + +

+

Assoc list of subsystems -> loop datum. Only one datum is allowed per subsystem

parent + + + + +

+

Our parent atom

processing_move_loop_flags + + + + +

+

Flags passed from the move loop before it calls move() and unset right after. +Allows for properties of a move loop to be easily checked by mechanics outside of it. +Having this a bitfield rather than a type var means we don't get screwed over +if the move loop gets deleted mid-move, FYI.

running_loop + + + + +

+

The move loop that's currently running

Proc Details

add_loop +

+

Adds a loop to our parent. Returns the created loop if a success, null otherwise

contest_running_loop +

+

Attempts to contest the current running move loop. Returns TRUE if the loop is active, FALSE otherwise

decide_on_running_loop +

+

Tries to figure out the current favorite loop to run. More complex then just deciding between two different loops, assumes no running loop currently exists

+ + + diff --git a/datum/movespeed_modifier.html b/datum/movespeed_modifier.html new file mode 100644 index 000000000000..7dc8fe1f1d2f --- /dev/null +++ b/datum/movespeed_modifier.html @@ -0,0 +1,78 @@ + + + + + + + /datum/movespeed_modifier - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

movespeed_modifier + + + +

+ + + + + + + + +

Vars

blacklisted_movetypesMovetypes this never applies to
conflicts_withOther modification datums this conflicts with.
idUnique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.
movetypesMovetypes this applies to
priorityHigher ones override lower priorities. This is NOT used for ID, ID must be unique, if it isn't unique the newer one overwrites automatically if overriding.
slowdownHow many deciseconds of delay to add between each movement. Can be negative.
variableWhether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)
+

Var Details

blacklisted_movetypes + + + + +

+

Movetypes this never applies to

conflicts_with + + + + +

+

Other modification datums this conflicts with.

id + + + + +

+

Unique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.

movetypes + + + + +

+

Movetypes this applies to

priority + + + + +

+

Higher ones override lower priorities. This is NOT used for ID, ID must be unique, if it isn't unique the newer one overwrites automatically if overriding.

slowdown + + + + +

+

How many deciseconds of delay to add between each movement. Can be negative.

variable + + + + +

+

Whether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)

+ + + diff --git a/datum/mutation/human.html b/datum/mutation/human.html new file mode 100644 index 000000000000..6b1a58a43bab --- /dev/null +++ b/datum/mutation/human.html @@ -0,0 +1,260 @@ + + + + + + + /datum/mutation/human - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

human + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

alias'Mutation #49', decided every round to get some form of distinction between undiscovered mutations
blocksAmount of those big blocks with gene sequences
can_chromosomecan we take chromosomes? +0: CHROMOSOME_NEVER never +1: CHROMOSOME_NONE yeah +2: CHROMOSOME_USED no, already have one
chromosome_nameName of the chromosome
classThe class of mutation (MUT_NORMAL, MUT_EXTRA, MUT_OTHER)
conflictsany mutations that might conflict. +put mutation typepath defines in here. +make sure to enter it both ways (so that A conflicts with B, and B with A)
descDescription of the mutation
difficultyAmount of missing sequences. Sometimes it removes an entire pair for 2 points
dnaThe owner of this mutation's DNA
energy_coeffLowers mutation cooldown
health_reqMinimum health required to acquire the mutation
instabilityInstability the holder gets when the mutation is not native
layer_usedWhich mutation layer to use
limb_reqRequired limbs to acquire this mutation
lockedIs this mutation currently locked?
modifiedHas the chromosome been modified
ownerOwner of this mutation
power_coeffBoosts mutation strength
power_pathThe path of action we grant to our user on mutation gain
qualityQuality of the mutation
ryetalyn_proofIs this mutation ryetalyn proof
scrambledWhether we can read it if it's active. To avoid cheesing with mutagen
species_allowedTo restrict mutation to only certain species
stabilizer_coeffgenetic stability coeff
synchronizer_coeffMakes the mutation hurt the user less
text_gain_indicationMessage given to the user upon gaining this mutation
text_lose_indicationMessage given to the user upon losing this mutation
timeoutTime between mutation creation and removal. If this exists, we have a timer
valid_chrom_listList of strings of valid chromosomes this mutation can accept.
visual_indicatorsVisual indicators upon the character of the owner of this mutation

Procs

modifyCalled when a chromosome is applied so we can properly update some stats +without having to remove and reapply the mutation from someone
+

Var Details

alias + + + + +

+

'Mutation #49', decided every round to get some form of distinction between undiscovered mutations

blocks + + + + +

+

Amount of those big blocks with gene sequences

can_chromosome + + + + +

+

can we take chromosomes? +0: CHROMOSOME_NEVER never +1: CHROMOSOME_NONE yeah +2: CHROMOSOME_USED no, already have one

chromosome_name + + + + +

+

Name of the chromosome

class + + + + +

+

The class of mutation (MUT_NORMAL, MUT_EXTRA, MUT_OTHER)

conflicts + + + + +

+

any mutations that might conflict. +put mutation typepath defines in here. +make sure to enter it both ways (so that A conflicts with B, and B with A)

desc + + + + +

+

Description of the mutation

difficulty + + + + +

+

Amount of missing sequences. Sometimes it removes an entire pair for 2 points

dna + + + + +

+

The owner of this mutation's DNA

energy_coeff + + + + +

+

Lowers mutation cooldown

health_req + + + + +

+

Minimum health required to acquire the mutation

instability + + + + +

+

Instability the holder gets when the mutation is not native

layer_used + + + + +

+

Which mutation layer to use

limb_req + + + + +

+

Required limbs to acquire this mutation

locked + + + + +

+

Is this mutation currently locked?

modified + + + + +

+

Has the chromosome been modified

owner + + + + +

+

Owner of this mutation

power_coeff + + + + +

+

Boosts mutation strength

power_path + + + + +

+

The path of action we grant to our user on mutation gain

quality + + + + +

+

Quality of the mutation

ryetalyn_proof + + + + +

+

Is this mutation ryetalyn proof

scrambled + + + + +

+

Whether we can read it if it's active. To avoid cheesing with mutagen

species_allowed + + + + +

+

To restrict mutation to only certain species

stabilizer_coeff + + + + +

+

genetic stability coeff

synchronizer_coeff + + + + +

+

Makes the mutation hurt the user less

text_gain_indication + + + + +

+

Message given to the user upon gaining this mutation

text_lose_indication + + + + +

+

Message given to the user upon losing this mutation

timeout + + + + +

+

Time between mutation creation and removal. If this exists, we have a timer

valid_chrom_list + + + + +

+

List of strings of valid chromosomes this mutation can accept.

visual_indicators + + + + +

+

Visual indicators upon the character of the owner of this mutation

Proc Details

modify +

+

Called when a chromosome is applied so we can properly update some stats +without having to remove and reapply the mutation from someone

+

Returns null if no modification was done, and +returns an instance of a power if modification was complete

+ + + diff --git a/datum/mutation/human/acidflesh.html b/datum/mutation/human/acidflesh.html new file mode 100644 index 000000000000..2da9ee8deec6 --- /dev/null +++ b/datum/mutation/human/acidflesh.html @@ -0,0 +1,36 @@ + + + + + + + /datum/mutation/human/acidflesh - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

acidflesh + + + +

+ + +

Vars

msgcooldownThe cooldown for the warning message
+

Var Details

msgcooldown + + + + +

+

The cooldown for the warning message

+ + + diff --git a/datum/mutation/human/burdened.html b/datum/mutation/human/burdened.html new file mode 100644 index 000000000000..54aac8a073a1 --- /dev/null +++ b/datum/mutation/human/burdened.html @@ -0,0 +1,119 @@ + + + + + + + /datum/mutation/human/burdened - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

burdened + + + +

+ +

Burdened grants some more mutations upon injuring yourself sufficiently

+ + + + + + + + + + + +

Vars

burden_levelgoes from 0 to 6 (but can be beyond 6, just does nothing) and gives rewards. increased by disabling yourself with debuffs

Procs

addict_added_burdenSignal to increase burden_level (see update_burden proc) if an addiction is added
addict_removed_burdenSignal to decrease burden_level (see update_burden proc) if an addiction is removed
limbs_added_burdenSignal to decrease burden_level (see update_burden proc) if a limb is added
limbs_removed_burdenSignal to increase burden_level (see update_burden proc) if a limb is removed
mutation_added_burdenSignal to increase burden_level (see update_burden proc) if a mutation is added
mutation_removed_burdenSignal to decrease burden_level (see update_burden proc) if a mutation is removed
organ_added_burdenSignal to decrease burden_level (see update_burden proc) if an organ is added
organ_removed_burdenSignal to increase burden_level (see update_burden proc) if an organ is removed
trauma_added_burdenSignal to increase burden_level (see update_burden proc) if a trauma is added
trauma_removed_burdenSignal to decrease burden_level (see update_burden proc) if a trauma is removed
update_burdenCalled by hooked signals whenever burden_level var needs to go up or down by 1. +Sends messages on burden level, gives powers and takes them if needed, etc
+

Var Details

burden_level + + + + +

+

goes from 0 to 6 (but can be beyond 6, just does nothing) and gives rewards. increased by disabling yourself with debuffs

Proc Details

addict_added_burden +

+

Signal to increase burden_level (see update_burden proc) if an addiction is added

addict_removed_burden +

+

Signal to decrease burden_level (see update_burden proc) if an addiction is removed

limbs_added_burden +

+

Signal to decrease burden_level (see update_burden proc) if a limb is added

limbs_removed_burden +

+

Signal to increase burden_level (see update_burden proc) if a limb is removed

mutation_added_burden +

+

Signal to increase burden_level (see update_burden proc) if a mutation is added

mutation_removed_burden +

+

Signal to decrease burden_level (see update_burden proc) if a mutation is removed

organ_added_burden +

+

Signal to decrease burden_level (see update_burden proc) if an organ is added

organ_removed_burden +

+

Signal to increase burden_level (see update_burden proc) if an organ is removed

trauma_added_burden +

+

Signal to increase burden_level (see update_burden proc) if a trauma is added

trauma_removed_burden +

+

Signal to decrease burden_level (see update_burden proc) if a trauma is removed

update_burden +

+

Called by hooked signals whenever burden_level var needs to go up or down by 1. +Sends messages on burden level, gives powers and takes them if needed, etc

+

Arguments:

+
+ + + diff --git a/datum/mutation/human/chameleon.html b/datum/mutation/human/chameleon.html new file mode 100644 index 000000000000..f0c305cfb472 --- /dev/null +++ b/datum/mutation/human/chameleon.html @@ -0,0 +1,57 @@ + + + + + + + /datum/mutation/human/chameleon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

chameleon + + + +

+ + + +

Procs

on_attack_handResets the alpha of the host if they click on something nearby.
on_moveResets the alpha of the host to the chameleon default if they move.

Proc Details

on_attack_hand +

+

Resets the alpha of the host if they click on something nearby.

+

Arguments:

+

on_move +

+

Resets the alpha of the host to the chameleon default if they move.

+

Arguments:

+
+ + + diff --git a/datum/mutation/human/extrastun.html b/datum/mutation/human/extrastun.html new file mode 100644 index 000000000000..afc62a6f4201 --- /dev/null +++ b/datum/mutation/human/extrastun.html @@ -0,0 +1,35 @@ + + + + + + + /datum/mutation/human/extrastun - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

extrastun + + + +

+ + +

Procs

on_moveTriggers on moved(). Randomly makes the owner trip

Proc Details

on_move +

+

Triggers on moved(). Randomly makes the owner trip

+ + + diff --git a/datum/mutation/human/glow.html b/datum/mutation/human/glow.html new file mode 100644 index 000000000000..35f75d0169f6 --- /dev/null +++ b/datum/mutation/human/glow.html @@ -0,0 +1,35 @@ + + + + + + + /datum/mutation/human/glow - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

glow + + + +

+ + +

Procs

glow_colorReturns the color for the glow effect

Proc Details

glow_color +

+

Returns the color for the glow effect

+ + + diff --git a/datum/mutation/human/honorbound.html b/datum/mutation/human/honorbound.html new file mode 100644 index 000000000000..7fd8dd0a7e2c --- /dev/null +++ b/datum/mutation/human/honorbound.html @@ -0,0 +1,81 @@ + + + + + + + /datum/mutation/human/honorbound - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

honorbound + + + +

+ +

Honorbound prevents you from attacking the unready, the just, or the innocent

+ + + + +

Vars

guiltylist of guilty people

Procs

attack_honorSignal to see if the mutation allows us to attack a target
guiltyCalled by hooked signals whenever someone attacks the person with this mutation +Checks if the attacker should be considered guilty and adds them to the guilty list if true
is_honorableCalled by attack_honor signal to check whether an attack should be allowed or not
punishmentCalled when a spell is casted or a magic gun is fired, checks the signal and punishes accordingly
+

Var Details

guilty + + + + +

+

list of guilty people

Proc Details

attack_honor +

+

Signal to see if the mutation allows us to attack a target

guilty +

+

Called by hooked signals whenever someone attacks the person with this mutation +Checks if the attacker should be considered guilty and adds them to the guilty list if true

+

Arguments:

+

is_honorable +

+

Called by attack_honor signal to check whether an attack should be allowed or not

+

Arguments:

+

punishment +

+

Called when a spell is casted or a magic gun is fired, checks the signal and punishes accordingly

+

Arguments:

+
+ + + diff --git a/datum/mutation/human/hulk.html b/datum/mutation/human/hulk.html new file mode 100644 index 000000000000..7ff3b3225f32 --- /dev/null +++ b/datum/mutation/human/hulk.html @@ -0,0 +1,73 @@ + + + + + + + /datum/mutation/human/hulk - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

hulk + + + +

+ + + + + + +

Procs

break_an_armChecks damage of a hulk's arm and applies bone wounds as necessary.
check_swingRun a barrage of checks to see if any given click is actually able to swing
finish_swingTime to toss the victim at high speed
setup_swingBasically, we only proceed if we're in throw mode with a tailed carbon in our grasp with at least a neck grab and we're not restrained in some way +Do a short 2 second do_after before starting the actual swing
swing_loopDoes the animations for the hulk swing loop

Proc Details

break_an_arm +

+

Checks damage of a hulk's arm and applies bone wounds as necessary.

+

Called by specific atoms being attacked, such as walls. If an atom +does not call this proc, than punching that atom will not cause +arm breaking (even if the atom deals recoil damage to hulks). +Arguments: +arg1 is the arm to evaluate damage of and possibly break.

check_swing +

+

Run a barrage of checks to see if any given click is actually able to swing

finish_swing +

+

Time to toss the victim at high speed

setup_swing +

+

Basically, we only proceed if we're in throw mode with a tailed carbon in our grasp with at least a neck grab and we're not restrained in some way +Do a short 2 second do_after before starting the actual swing

swing_loop +

+

Does the animations for the hulk swing loop

+

This code is based in part on the wrestling swing code ported from goon, see [code/datums/martial/wrestling.dm] +credit to: cogwerks, pistoleer, spyguy, angriestibm, marquesas, and stuntwaffle. +For each step of the swinging, with the delay getting shorter along the way. Checks to see we still have them in our grasp at each step.

+ + + diff --git a/datum/mutation/human/laser_eyes.html b/datum/mutation/human/laser_eyes.html new file mode 100644 index 000000000000..80f664dd3a22 --- /dev/null +++ b/datum/mutation/human/laser_eyes.html @@ -0,0 +1,35 @@ + + + + + + + /datum/mutation/human/laser_eyes - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

laser_eyes + + + +

+ +

Laser Eyes lets you shoot lasers from your eyes!

+

Procs

on_ranged_attackTriggers on COMSIG_MOB_ATTACK_RANGED. Does the projectile shooting.

Proc Details

on_ranged_attack +

+

Triggers on COMSIG_MOB_ATTACK_RANGED. Does the projectile shooting.

+ + + diff --git a/datum/mutation/human/telekinesis.html b/datum/mutation/human/telekinesis.html new file mode 100644 index 000000000000..a219a46d3966 --- /dev/null +++ b/datum/mutation/human/telekinesis.html @@ -0,0 +1,43 @@ + + + + + + + /datum/mutation/human/telekinesis - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

telekinesis + + + +

+ +

Telekinesis lets you interact with objects from range, and gives you a light blue halo around your head.

+ +

Vars

blacklisted_atomsTypecache of atoms that TK shouldn't interact with

Procs

on_ranged_attackTriggers on COMSIG_MOB_ATTACK_RANGED. Usually handles stuff like picking up items at range.
+

Var Details

blacklisted_atoms + + + + +

+

Typecache of atoms that TK shouldn't interact with

Proc Details

on_ranged_attack +

+

Triggers on COMSIG_MOB_ATTACK_RANGED. Usually handles stuff like picking up items at range.

+ + + diff --git a/datum/newspanel.html b/datum/newspanel.html new file mode 100644 index 000000000000..49ca1182ecc7 --- /dev/null +++ b/datum/newspanel.html @@ -0,0 +1,176 @@ + + + + + + + /datum/newspanel - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

newspanel + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

channel_descWhat is the current, in-creation channel's description going to be?
channel_nameWhat is the current, in-creation channel's name going to be?
comment_textWhat is the current, in-creation comment's body going to be?
creating_channelIs the current user creating a new channel at the moment?
creating_commentIs the current user creating a new comment at the moment?
crime_descriptionWhat is the user submitted, crime description for the new wanted issue?
criminal_nameWhat is the user submitted, criminal name for the new wanted issue?
current_channelWhat newscaster channel is currently being viewed by the player?
current_imageThe current image that will be submitted with the newscaster story.
current_messageWhat newscaster feed_message is currently having a comment written for it?
feed_channel_messageThe message that's currently being written for a feed story.
viewing_wantedIs the current user editing or viewing a new wanted issue at the moment?

Procs

attach_photoThis takes a held photograph, and updates the current_image variable with that of the held photograph's image. +*user: The mob who is being checked for a held photo object.
create_channelPerforms a series of sanity checks before giving the user confirmation to create a new feed_channel using channel_name, and channel_desc. +*channel_locked: This variable determines if other users than the author can make comments and new feed_stories on this channel.
create_commentConstructs a comment to attach to the currently selected feed_message of choice, assuming that a user can be found and that a message body has been written.
create_storyCreates a new feed story to the global newscaster network. +Verifies that the message is being written to a real feed_channel, then provides a text input for the feed story to be written into. +Finally, it submits the message to the network, is logged globally, and clears all message-specific variables from the machine.
send_photo_dataSends photo data to build the newscaster article.
start_creating_channelThis proc performs checks before enabling the creating_channel var on the newscaster, such as preventing a user from having multiple channels, +preventing an un-ID'd user from making a channel, and preventing censored authors from making a channel. +Otherwise, sets creating_channel to TRUE.
toggle_photoSelects a currently held photo from the user's hand and makes it the current_image held by the newscaster. +If a photo is still held in the newscaster, it will otherwise clear it from the machine.
+

Var Details

channel_desc + + + + +

+

What is the current, in-creation channel's description going to be?

channel_name + + + + +

+

What is the current, in-creation channel's name going to be?

comment_text + + + + +

+

What is the current, in-creation comment's body going to be?

creating_channel + + + + +

+

Is the current user creating a new channel at the moment?

creating_comment + + + + +

+

Is the current user creating a new comment at the moment?

crime_description + + + + +

+

What is the user submitted, crime description for the new wanted issue?

criminal_name + + + + +

+

What is the user submitted, criminal name for the new wanted issue?

current_channel + + + + +

+

What newscaster channel is currently being viewed by the player?

current_image + + + + +

+

The current image that will be submitted with the newscaster story.

current_message + + + + +

+

What newscaster feed_message is currently having a comment written for it?

feed_channel_message + + + + +

+

The message that's currently being written for a feed story.

viewing_wanted + + + + +

+

Is the current user editing or viewing a new wanted issue at the moment?

Proc Details

attach_photo +

+

This takes a held photograph, and updates the current_image variable with that of the held photograph's image. +*user: The mob who is being checked for a held photo object.

create_channel +

+

Performs a series of sanity checks before giving the user confirmation to create a new feed_channel using channel_name, and channel_desc. +*channel_locked: This variable determines if other users than the author can make comments and new feed_stories on this channel.

create_comment +

+

Constructs a comment to attach to the currently selected feed_message of choice, assuming that a user can be found and that a message body has been written.

create_story +

+

Creates a new feed story to the global newscaster network. +Verifies that the message is being written to a real feed_channel, then provides a text input for the feed story to be written into. +Finally, it submits the message to the network, is logged globally, and clears all message-specific variables from the machine.

send_photo_data +

+

Sends photo data to build the newscaster article.

start_creating_channel +

+

This proc performs checks before enabling the creating_channel var on the newscaster, such as preventing a user from having multiple channels, +preventing an un-ID'd user from making a channel, and preventing censored authors from making a channel. +Otherwise, sets creating_channel to TRUE.

toggle_photo +

+

Selects a currently held photo from the user's hand and makes it the current_image held by the newscaster. +If a photo is still held in the newscaster, it will otherwise clear it from the machine.

+ + + diff --git a/datum/ntnet.html b/datum/ntnet.html new file mode 100644 index 000000000000..6f03fe66f224 --- /dev/null +++ b/datum/ntnet.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ntnet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

ntnet + + + +

+ + +

Procs

DestroyA network should NEVER be deleted. Only the station network is still used, and deleting that causes a lot of problems.

Proc Details

Destroy +

+

A network should NEVER be deleted. Only the station network is still used, and deleting that causes a lot of problems.

+ + + diff --git a/datum/ntnet_conversation.html b/datum/ntnet_conversation.html new file mode 100644 index 000000000000..e4fec343709d --- /dev/null +++ b/datum/ntnet_conversation.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ntnet_conversation - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ntnet_conversation + + + +

+ + + + +

Vars

active_clientschat clients who are active or minimized
muted_clientsclients muted by operator
offline_clientschat clients who have exited out of the program.
+

Var Details

active_clients + + + + +

+

chat clients who are active or minimized

muted_clients + + + + +

+

clients muted by operator

offline_clients + + + + +

+

chat clients who have exited out of the program.

+ + + diff --git a/datum/object_window_info.html b/datum/object_window_info.html new file mode 100644 index 000000000000..9892435bd532 --- /dev/null +++ b/datum/object_window_info.html @@ -0,0 +1,86 @@ + + + + + + + /datum/object_window_info - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

object_window_info + + + +

+ +

Datum that holds and tracks info about a client's object window +Really only exists because I want to be able to do logic with signals +And need a safe place to do the registration

+ + + + + + +

Vars

actively_trackingAre we currently tracking a turf?
atoms_to_imageslist of atom -> image string for objects we have had in the right click tab +this is our caching
atoms_to_imagifylist of atoms to turn into images for the object tab
atoms_to_showlist of atoms to show to our client via the object tab, at least currently
parentOur owner client

Procs

processTakes a client, attempts to generate object images for it +We will update the client with any improvements we make when we're done
viewing_atom_deletedClears any cached object window stuff +We use hard refs cause we'd need a signal for this anyway. Cleaner this way
+

Var Details

actively_tracking + + + + +

+

Are we currently tracking a turf?

atoms_to_images + + + + +

+

list of atom -> image string for objects we have had in the right click tab +this is our caching

atoms_to_imagify + + + + +

+

list of atoms to turn into images for the object tab

atoms_to_show + + + + +

+

list of atoms to show to our client via the object tab, at least currently

parent + + + + +

+

Our owner client

Proc Details

process +

+

Takes a client, attempts to generate object images for it +We will update the client with any improvements we make when we're done

viewing_atom_deleted +

+

Clears any cached object window stuff +We use hard refs cause we'd need a signal for this anyway. Cleaner this way

+ + + diff --git a/datum/objective.html b/datum/objective.html new file mode 100644 index 000000000000..916fe29abe79 --- /dev/null +++ b/datum/objective.html @@ -0,0 +1,43 @@ + + + + + + + /datum/objective - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

objective + + + +

+ + + +

Vars

blacklisted_target_areasTypecache of areas to ignore when looking for a potential target.
objective_namename used in printing this objective (Objective #1)
+

Var Details

blacklisted_target_areas + + + + +

+

Typecache of areas to ignore when looking for a potential target.

objective_name + + + + +

+

name used in printing this objective (Objective #1)

+ + + diff --git a/datum/objective/door_jack.html b/datum/objective/door_jack.html new file mode 100644 index 000000000000..a71ed276d4fc --- /dev/null +++ b/datum/objective/door_jack.html @@ -0,0 +1,36 @@ + + + + + + + /datum/objective/door_jack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

door_jack + + + +

+ + +

Vars

doors_requiredHow many doors that need to be opened using the gloves to pass the objective
+

Var Details

doors_required + + + + +

+

How many doors that need to be opened using the gloves to pass the objective

+ + + diff --git a/datum/objective/heretic_research.html b/datum/objective/heretic_research.html new file mode 100644 index 000000000000..4038e0b1d562 --- /dev/null +++ b/datum/objective/heretic_research.html @@ -0,0 +1,36 @@ + + + + + + + /datum/objective/heretic_research - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

heretic_research + + + +

+ +

Heretic's research objective. "Research" is heretic knowledge nodes (You start with some).

+

Vars

main_path_lengthThe length of a main path. Calculated once in New().
+

Var Details

main_path_length + + + + +

+

The length of a main path. Calculated once in New().

+ + + diff --git a/datum/objective/heretic_summon.html b/datum/objective/heretic_summon.html new file mode 100644 index 000000000000..0e963a310c75 --- /dev/null +++ b/datum/objective/heretic_summon.html @@ -0,0 +1,36 @@ + + + + + + + /datum/objective/heretic_summon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

heretic_summon + + + +

+ + +

Vars

num_summonedThe total number of summons the objective owner has done
+

Var Details

num_summoned + + + + +

+

The total number of summons the objective owner has done

+ + + diff --git a/datum/objective/hijack.html b/datum/objective/hijack.html new file mode 100644 index 000000000000..4afbe5ac9246 --- /dev/null +++ b/datum/objective/hijack.html @@ -0,0 +1,36 @@ + + + + + + + /datum/objective/hijack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hijack + + + +

+ + +

Vars

hijack_speed_overrideOverrides the hijack speed of any antagonist datum it is on ONLY, no other datums are impacted.
+

Var Details

hijack_speed_override + + + + +

+

Overrides the hijack speed of any antagonist datum it is on ONLY, no other datums are impacted.

+ + + diff --git a/datum/objective/sacrifice.html b/datum/objective/sacrifice.html new file mode 100644 index 000000000000..73d42434ae57 --- /dev/null +++ b/datum/objective/sacrifice.html @@ -0,0 +1,35 @@ + + + + + + + /datum/objective/sacrifice - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

sacrifice + + + +

+ + +

Procs

clear_sacrificeUnregister signals from the old target so it doesn't cause issues when sacrificed of when a new target is found.

Proc Details

clear_sacrifice +

+

Unregister signals from the old target so it doesn't cause issues when sacrificed of when a new target is found.

+ + + diff --git a/datum/objective_item.html b/datum/objective_item.html new file mode 100644 index 000000000000..b3c758dd4856 --- /dev/null +++ b/datum/objective_item.html @@ -0,0 +1,36 @@ + + + + + + + /datum/objective_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

objective_item + + + +

+ + +

Vars

exists_on_mapWhether this item exists on the station map at the start of a round.
+

Var Details

exists_on_map + + + + +

+

Whether this item exists on the station map at the start of a round.

+ + + diff --git a/datum/orbit_menu.html b/datum/orbit_menu.html new file mode 100644 index 000000000000..157aeb2d87b9 --- /dev/null +++ b/datum/orbit_menu.html @@ -0,0 +1,45 @@ + + + + + + + /datum/orbit_menu - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

orbit_menu + + + +

+ + + +

Procs

showShows the UI to the specified user.
validate_mob_poiHelper POI validation function passed as a callback to various SSpoints_of_interest procs.

Proc Details

show +

+

Shows the UI to the specified user.

validate_mob_poi +

+

Helper POI validation function passed as a callback to various SSpoints_of_interest procs.

+

Provides extended validation above and beyond standard, limiting mob POIs without minds or ckeys +unless they're mobs, camera mobs or megafauna.

+

If they satisfy that requirement, falls back to default validation for the POI.

+ + + diff --git a/datum/ore.html b/datum/ore.html new file mode 100644 index 000000000000..0dde3466c17b --- /dev/null +++ b/datum/ore.html @@ -0,0 +1,64 @@ + + + + + + + /datum/ore - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ore + + + +

+ + + + + + +

Vars

mining_healthHow much mining health to give to the turfs.
rarityRarity
scan_stateIcon state for the scan overlay
spread_chanceThe chance to spread during spread_vein()
stack_pathThe typepath of the stack dropped when mined
+

Var Details

mining_health + + + + +

+

How much mining health to give to the turfs.

rarity + + + + +

+

Rarity

scan_state + + + + +

+

Icon state for the scan overlay

spread_chance + + + + +

+

The chance to spread during spread_vein()

stack_path + + + + +

+

The typepath of the stack dropped when mined

+ + + diff --git a/datum/orion_event.html b/datum/orion_event.html new file mode 100644 index 000000000000..4ac49c64fc91 --- /dev/null +++ b/datum/orion_event.html @@ -0,0 +1,112 @@ + + + + + + + /datum/orion_event - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

orion_event + + + +

+ + + + + + + + + + +

Vars

emag_messagedefault emag effect of events is to play an audible message and sound
event_responsesbuttons to pick in response to the event. Don't worry, orion js will handle the rest
gamer_skillgaming skill of the player
gamer_skill_levelgaming skill level of the player
gamer_skill_randssome other metric that makes it easier to do randoms with skill testing, god really 3 vars guys
weightpickweight to show up. will still be in the events pool if added to the events list but not RANDOM, only triggered.

Procs

emag_effectSome effect that happens to the carbon when this event triggers on an emagged arcade machine.
on_selectWhat happens when this event is selected to trigger, sets vars. also can set some event pre-encounter randomization
responseWhat happens when you respond to this event by choosing one of the buttons
+

Var Details

emag_message + + + + +

+

default emag effect of events is to play an audible message and sound

event_responses + + + + +

+

buttons to pick in response to the event. Don't worry, orion js will handle the rest

gamer_skill + + + + +

+

gaming skill of the player

gamer_skill_level + + + + +

+

gaming skill level of the player

gamer_skill_rands + + + + +

+

some other metric that makes it easier to do randoms with skill testing, god really 3 vars guys

weight + + + + +

+

pickweight to show up. will still be in the events pool if added to the events list but not RANDOM, only triggered.

Proc Details

emag_effect +

+

Some effect that happens to the carbon when this event triggers on an emagged arcade machine.

+

By default, it just sends an audible message and a sound, both vars on the orion datum +Arguments:

+

on_select +

+

What happens when this event is selected to trigger, sets vars. also can set some event pre-encounter randomization

+

Arguments:

+

response +

+

What happens when you respond to this event by choosing one of the buttons

+

Arguments:

+
+ + + diff --git a/datum/outfit.html b/datum/outfit.html new file mode 100644 index 000000000000..852688eaab7b --- /dev/null +++ b/datum/outfit.html @@ -0,0 +1,331 @@ + + + + + + + /datum/outfit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Outfit datums + + + +

+ +

This is a clean system of applying outfits to mobs, if you need to equip someone in a uniform +this is the way to do it cleanly and properly.

+

You can also specify an outfit datum on a job to have it auto equipped to the mob on join

+

/mob/living/carbon/human/proc/equipOutfit(outfit) is the mob level proc to equip an outfit +and you pass it the relevant datum outfit

+

outfits can also be saved as json blobs downloadable by a client and then can be uploaded +by that user to recreate the outfit, this is used by admins to allow for custom event outfits +that can be restored at a later date

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

accessoryAny clothing accessory item
backType path of item to go in back slot
backpack_contentslist of items that should go in the backpack of the user
beltType path of item to go in belt slot
boxInternals box. Will be inserted at the start of backpack_contents
chameleon_extrasextra types for chameleon outfit changes, mostly guns
earsType path of item to go in ears slot
glassesType path of item to go in the glasses slot
glovesType path of item to go in gloves slot
headType path of item to go in head slot
idType path of item to go in the idcard slot
id_in_walletIf TRUE, will spawn their ID in a wallet.
id_trimType path of ID card trim associated with this outfit.
implantsAny implants the mob should start implanted with
internals_slotID of the slot containing a gas tank
l_handType path of item to go in the right hand
l_pocketType path of item for left pocket slot
maskType path of item to go in mask slot
nameName of the outfit (shows up in the equip admin verb)
neckType path of item to go in neck slot
preloadShould we preload some of this job's items?
r_pocketType path of item for right pocket slot
shoesType path of item to go in shoes slot
skillchipsAny skillchips the mob should have in their brain.
suitType path of item to go in suit slot
suit_storeType path of item to go in suit storage slot
undershirtAny undershirt. While on humans it is a string, here we use paths to stay consistent with the rest of the equips.
uniformType path of item to go in uniform slot

Procs

apply_fingerprintsApply a fingerprint from the passed in human to all items in the outfit
copyFromCopy most vars from another outfit to this one
equipEquips all defined types and paths to the mob passed in
get_chameleon_disguise_infoReturn a list of all the types that are required to disguise as this outfit type
get_json_dataReturn a json list of this outfit
get_types_to_preloadReturn a list of types to pregenerate for later equipping +This should not be things that do unique stuff in Initialize() based off their location, since we'll be storing them for a while
load_fromCreate an outfit datum from a list of json data
post_equipCalled after the equip proc has finished
pre_equipCalled at the start of the equip proc
save_to_filePrompt the passed in mob client to download this outfit as a json blob
+

Var Details

accessory + + + + +

+

Any clothing accessory item

back + + + + +

+

Type path of item to go in back slot

backpack_contents + + + + +

+

list of items that should go in the backpack of the user

+

Format of this list should be: list(path=count,otherpath=count)

belt + + + + +

+

Type path of item to go in belt slot

box + + + + +

+

Internals box. Will be inserted at the start of backpack_contents

chameleon_extras + + + + +

+

extra types for chameleon outfit changes, mostly guns

+

Format of this list is (typepath, typepath, typepath)

+

These are all added and returns in the list for get_chamelon_diguise_info proc

ears + + + + +

+

Type path of item to go in ears slot

glasses + + + + +

+

Type path of item to go in the glasses slot

gloves + + + + +

+

Type path of item to go in gloves slot

head + + + + +

+

Type path of item to go in head slot

id + + + + +

+

Type path of item to go in the idcard slot

id_in_wallet + + + + +

+

If TRUE, will spawn their ID in a wallet.

id_trim + + + + +

+

Type path of ID card trim associated with this outfit.

implants + + + + +

+

Any implants the mob should start implanted with

+

Format of this list is (typepath, typepath, typepath)

internals_slot + + + + +

+

ID of the slot containing a gas tank

l_hand + + + + +

+

Type path of item to go in the right hand

l_pocket + + + + +

+

Type path of item for left pocket slot

mask + + + + +

+

Type path of item to go in mask slot

name + + + + +

+

Name of the outfit (shows up in the equip admin verb)

neck + + + + +

+

Type path of item to go in neck slot

preload + + + + +

+

Should we preload some of this job's items?

r_pocket + + + + +

+

Type path of item for right pocket slot

shoes + + + + +

+

Type path of item to go in shoes slot

skillchips + + + + +

+

Any skillchips the mob should have in their brain.

+

Format of this list is (typepath, typepath, typepath)

suit + + + + +

+

Type path of item to go in suit slot

suit_store + + + + +

+

Type path of item to go in suit storage slot

+

(make sure it's valid for that suit)

undershirt + + + + +

+

Any undershirt. While on humans it is a string, here we use paths to stay consistent with the rest of the equips.

uniform + + + + +

+

Type path of item to go in uniform slot

Proc Details

apply_fingerprints +

+

Apply a fingerprint from the passed in human to all items in the outfit

+

Used for forensics setup when the mob is first equipped at roundstart +essentially calls add_fingerprint to every defined item on the human

copyFrom +

+

Copy most vars from another outfit to this one

equip +

+

Equips all defined types and paths to the mob passed in

+

Extra Arguments

+ +

If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite

get_chameleon_disguise_info +

+

Return a list of all the types that are required to disguise as this outfit type

get_json_data +

+

Return a json list of this outfit

get_types_to_preload +

+

Return a list of types to pregenerate for later equipping +This should not be things that do unique stuff in Initialize() based off their location, since we'll be storing them for a while

load_from +

+

Create an outfit datum from a list of json data

post_equip +

+

Called after the equip proc has finished

+

All items are on the mob at this point, use this proc to toggle internals +fiddle with id bindings and accesses etc

+

Extra Arguments

+ +

If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite

pre_equip +

+

Called at the start of the equip proc

+

Override to change the value of the slots depending on client prefs, species and +other such sources of change

+

Extra Arguments

+ +

If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite

save_to_file +

+

Prompt the passed in mob client to download this outfit as a json blob

+ + + diff --git a/datum/outfit/ctf.html b/datum/outfit/ctf.html new file mode 100644 index 000000000000..cbb9a3a2f1e1 --- /dev/null +++ b/datum/outfit/ctf.html @@ -0,0 +1,78 @@ + + + + + + + /datum/outfit/ctf - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ctf + + + +

+ + + + + + + + +

Vars

class_descriptionDescription to be shown in the class selection menu
has_cardDo they get an ID?
has_radioDo they get a headset?
iconIcon file for the class radial menu icons
icon_stateIcon state for this class
nodrop_slotsWhich slots to apply TRAIT_NODROP to the items in
team_radio_freqRadio frequency to assign players with this outfit
+

Var Details

class_description + + + + +

+

Description to be shown in the class selection menu

has_card + + + + +

+

Do they get an ID?

has_radio + + + + +

+

Do they get a headset?

icon + + + + +

+

Icon file for the class radial menu icons

icon_state + + + + +

+

Icon state for this class

nodrop_slots + + + + +

+

Which slots to apply TRAIT_NODROP to the items in

team_radio_freq + + + + +

+

Radio frequency to assign players with this outfit

+ + + diff --git a/datum/outfit/job.html b/datum/outfit/job.html new file mode 100644 index 000000000000..f43126788db2 --- /dev/null +++ b/datum/outfit/job.html @@ -0,0 +1,43 @@ + + + + + + + /datum/outfit/job - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

job + + + +

+ + + +

Vars

allow_jumpskirtIf this job uses the Jumpskirt/Jumpsuit pref

Procs

post_equipHandles jumpskirt pref
+

Var Details

allow_jumpskirt + + + + +

+

If this job uses the Jumpskirt/Jumpsuit pref

Proc Details

post_equip +

+

Handles jumpskirt pref

+ + + diff --git a/datum/pai_candidate.html b/datum/pai_candidate.html new file mode 100644 index 000000000000..d7dfb6cc47dc --- /dev/null +++ b/datum/pai_candidate.html @@ -0,0 +1,81 @@ + + + + + + + /datum/pai_candidate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pai_candidate + + + +

+ +

Created when a user clicks the "pAI candidate" window

+ + + + + +

Vars

commentsUser inputted OOC comments
descriptionUser inputted behavior description
keyUser's ckey - not input
nameUser's pAI name. If blank, ninja name.
readyIf the user has hit "submit"

Procs

savefile_pathname +key +description +role +comments +ready = TRUE
+

Var Details

comments + + + + +

+

User inputted OOC comments

description + + + + +

+

User inputted behavior description

key + + + + +

+

User's ckey - not input

name + + + + +

+

User's pAI name. If blank, ninja name.

ready + + + + +

+

If the user has hit "submit"

Proc Details

savefile_path +

+

name +key +description +role +comments +ready = TRUE

+ + + diff --git a/datum/painting.html b/datum/painting.html new file mode 100644 index 000000000000..de0896b3e35a --- /dev/null +++ b/datum/painting.html @@ -0,0 +1,134 @@ + + + + + + + /datum/painting - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

painting + + + +

+ + + + + + + + + + + + + + + + +

Vars

creation_dateTimestamp when painting was made (finalized ?)
creation_round_idRound if when the painting was made
creator_ckeyAuthor's ckey
creator_nameAuthor's name
credit_valueAmount paid by last patron for this painting
frame_typeThe appearance of the frame overlay that appears when the painting if framed.
heightpainting height
loaded_from_jsonWas the painting loaded from json or created this round
md5md5 of the png file, also the filename.
mediumshort painting medium description
patron_ckeyPatron ckey
patron_namePatron name
tagsList of this painting string tags if any
titleTitle
widthpainting width
+

Var Details

creation_date + + + + +

+

Timestamp when painting was made (finalized ?)

creation_round_id + + + + +

+

Round if when the painting was made

creator_ckey + + + + +

+

Author's ckey

creator_name + + + + +

+

Author's name

credit_value + + + + +

+

Amount paid by last patron for this painting

frame_type + + + + +

+

The appearance of the frame overlay that appears when the painting if framed.

height + + + + +

+

painting height

loaded_from_json + + + + +

+

Was the painting loaded from json or created this round

md5 + + + + +

+

md5 of the png file, also the filename.

medium + + + + +

+

short painting medium description

patron_ckey + + + + +

+

Patron ckey

patron_name + + + + +

+

Patron name

tags + + + + +

+

List of this painting string tags if any

title + + + + +

+

Title

width + + + + +

+

painting width

+ + + diff --git a/datum/parsed_map.html b/datum/parsed_map.html new file mode 100644 index 000000000000..e53872cf76e3 --- /dev/null +++ b/datum/parsed_map.html @@ -0,0 +1,159 @@ + + + + + + + /datum/parsed_map - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

parsed_map + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

boundsOffset bounds. Same as parsed_bounds until load().
expanded_xIf we've expanded world.maxy
expanded_yIf we've expanded world.maxx
key_lenThe length of a key in this file. This is promised by the standard to be static
line_lenThe length of a line in this file. Not promised by dmm but standard dmm uses it, so we can trust it
loaded_areasList of area types we've loaded AS A PART OF THIS MAP +We do this to allow non unique areas, so we'll only load one per map
loadingIf we are currently loading this map
matches_tgmMatches key formats in TMG (IE: newline after the ()
model_pathPulls out model paths for DMM
parsed_boundsUnoffset bounds. Null on parse failure.
turf_blacklistany turf in this list is skipped inside of build_coordinate. Lazy assoc list
var_edits_tgmPulls out key value pairs for TGM

Procs

NewParse a map, possibly cropping it.
_dmm_loadStanrdard loading, not used in production +Doesn't take advantage of any tgm optimizations, which makes it slower but also more general +Use this if for some reason your map format is messy
check_for_errorsCheck a parsed but not yet loaded map for errors.
dmm_build_cacheBuilds key caches for general formats +Slower then the proc above, tho it could still be optimized slightly. it's just not a priority +Since we don't run DMM maps, ever.
loadLoad the parsed map into the world. See /proc/load_map for arguments.
+

Var Details

bounds + + + + +

+

Offset bounds. Same as parsed_bounds until load().

expanded_x + + + + +

+

If we've expanded world.maxy

expanded_y + + + + +

+

If we've expanded world.maxx

key_len + + + + +

+

The length of a key in this file. This is promised by the standard to be static

line_len + + + + +

+

The length of a line in this file. Not promised by dmm but standard dmm uses it, so we can trust it

loaded_areas + + + + +

+

List of area types we've loaded AS A PART OF THIS MAP +We do this to allow non unique areas, so we'll only load one per map

loading + + + + +

+

If we are currently loading this map

matches_tgm + + + + +

+

Matches key formats in TMG (IE: newline after the ()

model_path + + + + +

+

Pulls out model paths for DMM

parsed_bounds + + + + +

+

Unoffset bounds. Null on parse failure.

turf_blacklist + + + + +

+

any turf in this list is skipped inside of build_coordinate. Lazy assoc list

var_edits_tgm + + + + +

+

Pulls out key value pairs for TGM

Proc Details

New +

+

Parse a map, possibly cropping it.

_dmm_load +

+

Stanrdard loading, not used in production +Doesn't take advantage of any tgm optimizations, which makes it slower but also more general +Use this if for some reason your map format is messy

check_for_errors +

+

Check a parsed but not yet loaded map for errors.

+

Returns a /datum/map_report if there are errors or FALSE otherwise.

dmm_build_cache +

+

Builds key caches for general formats +Slower then the proc above, tho it could still be optimized slightly. it's just not a priority +Since we don't run DMM maps, ever.

load +

+

Load the parsed map into the world. See /proc/load_map for arguments.

+ + + diff --git a/datum/particle_editor.html b/datum/particle_editor.html new file mode 100644 index 000000000000..41ae7786cafa --- /dev/null +++ b/datum/particle_editor.html @@ -0,0 +1,36 @@ + + + + + + + /datum/particle_editor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

particle_editor + + + +

+ + +

Vars

targetmovable whose particles we want to be editing
+

Var Details

target + + + + +

+

movable whose particles we want to be editing

+ + + diff --git a/datum/pathfind.html b/datum/pathfind.html new file mode 100644 index 000000000000..b099240056db --- /dev/null +++ b/datum/pathfind.html @@ -0,0 +1,114 @@ + + + + + + + /datum/pathfind - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pathfind + + + +

+ + + + + + + + + + + + +

Vars

avoidA specific turf we're avoiding, like if a mulebot is being blocked by someone t-posing in a doorway we're trying to get through
max_distanceLimits how far we can search before giving up on a path
on_finishThe callbacks to invoke when we're done working, passing in the completed product +Invoked in order
pass_infoDatum that holds the canpass info of this pathing attempt. This is what CanAstarPass sees
simulated_onlySpace is big and empty, if this is TRUE then we ignore pathing through unsimulated tiles
startThe turf we started at

Procs

early_exitearly_exit() is called when something goes wrong in processing, and we need to halt the pathfinding NOW
finishedCleanup pass for the pathfinder. This tidies up the path, and fufills the pathfind's obligations
hand_backCall to return a value to whoever spawned this pathfinding work +Will fail if it's already been called
search_stepsearch_step() is the workhorse of pathfinding. It'll do the searching logic, and will slowly build up a path +returns TRUE if everything is stable, FALSE if the pathfinding logic has failed, and we need to abort
start"starts" off the pathfinding, by storing the values this datum will need to work later on +returns FALSE if it fails to setup properly, TRUE otherwise
+

Var Details

avoid + + + + +

+

A specific turf we're avoiding, like if a mulebot is being blocked by someone t-posing in a doorway we're trying to get through

max_distance + + + + +

+

Limits how far we can search before giving up on a path

on_finish + + + + +

+

The callbacks to invoke when we're done working, passing in the completed product +Invoked in order

pass_info + + + + +

+

Datum that holds the canpass info of this pathing attempt. This is what CanAstarPass sees

simulated_only + + + + +

+

Space is big and empty, if this is TRUE then we ignore pathing through unsimulated tiles

start + + + + +

+

The turf we started at

Proc Details

early_exit +

+

early_exit() is called when something goes wrong in processing, and we need to halt the pathfinding NOW

finished +

+

Cleanup pass for the pathfinder. This tidies up the path, and fufills the pathfind's obligations

hand_back +

+

Call to return a value to whoever spawned this pathfinding work +Will fail if it's already been called

search_step +

+

search_step() is the workhorse of pathfinding. It'll do the searching logic, and will slowly build up a path +returns TRUE if everything is stable, FALSE if the pathfinding logic has failed, and we need to abort

start +

+

"starts" off the pathfinding, by storing the values this datum will need to work later on +returns FALSE if it fails to setup properly, TRUE otherwise

+ + + diff --git a/datum/pathfind/jps.html b/datum/pathfind/jps.html new file mode 100644 index 000000000000..6f89c61b52ef --- /dev/null +++ b/datum/pathfind/jps.html @@ -0,0 +1,149 @@ + + + + + + + /datum/pathfind/jps - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

jps + + + +

+ +

The datum used to handle the JPS pathfinding, completely self-contained

+ + + + + + + + + + + + + +

Vars

callerThe thing that we're actually trying to path for
diagonal_handlingDefines how we handle diagonal moves. See __DEFINES/path.dm
endThe turf we're trying to path to (note that this won't track a moving target)
found_turfsAn assoc list that serves as the closed list & tracks what turfs came from where. Key is the turf, and the value is what turf it came from
mintargetdistHow far away we have to get to the end target before we can call it quits
openThe open list/stack we pop nodes out from (TODO: make this a normal list and macro-ize the heap operations to reduce proc overhead)
pathThe list we compile at the end if successful to pass back
skip_firstIf we should delete the first step in the path or not. Used often because it is just the starting tile

Procs

diag_scan_specFor performing diagonal scans from a given starting turf.
finishedCleanup pass for the pathfinder. This tidies up the path, and fufills the pathfind's obligations
lateral_scan_specFor performing lateral scans from a given starting turf.
search_stepsearch_step() is the workhorse of pathfinding. It'll do the searching logic, and will slowly build up a path +returns TRUE if everything is stable, FALSE if the pathfinding logic has failed, and we need to abort
start"starts" off the pathfinding, by storing the values this datum will need to work later on +returns FALSE if it fails to setup properly, TRUE otherwise
unwind_pathCalled when we've hit the goal with the node that represents the last tile, then sets the path var to that path so it can be returned by [datum/pathfind/proc/search]
+

Var Details

caller + + + + +

+

The thing that we're actually trying to path for

diagonal_handling + + + + +

+

Defines how we handle diagonal moves. See __DEFINES/path.dm

end + + + + +

+

The turf we're trying to path to (note that this won't track a moving target)

found_turfs + + + + +

+

An assoc list that serves as the closed list & tracks what turfs came from where. Key is the turf, and the value is what turf it came from

mintargetdist + + + + +

+

How far away we have to get to the end target before we can call it quits

open + + + + +

+

The open list/stack we pop nodes out from (TODO: make this a normal list and macro-ize the heap operations to reduce proc overhead)

path + + + + +

+

The list we compile at the end if successful to pass back

skip_first + + + + +

+

If we should delete the first step in the path or not. Used often because it is just the starting tile

Proc Details

diag_scan_spec +

+

For performing diagonal scans from a given starting turf.

+

Unlike lateral scans, these only are called from the main search loop, so we don't need to worry about returning anything, +though we do need to handle the return values of our lateral subscans of course.

+

Arguments:

+

finished +

+

Cleanup pass for the pathfinder. This tidies up the path, and fufills the pathfind's obligations

lateral_scan_spec +

+

For performing lateral scans from a given starting turf.

+

These scans are called from both the main search loop, as well as subscans for diagonal scans, and they treat finding interesting turfs slightly differently. +If we're doing a normal lateral scan, we already have a parent node supplied, so we just create the new node and immediately insert it into the heap, ezpz. +If we're part of a subscan, we still need for the diagonal scan to generate a parent node, so we return a node datum with just the turf and let the diag scan +proc handle transferring the values and inserting them into the heap.

+

Arguments:

+

search_step +

+

search_step() is the workhorse of pathfinding. It'll do the searching logic, and will slowly build up a path +returns TRUE if everything is stable, FALSE if the pathfinding logic has failed, and we need to abort

start +

+

"starts" off the pathfinding, by storing the values this datum will need to work later on +returns FALSE if it fails to setup properly, TRUE otherwise

unwind_path +

+

Called when we've hit the goal with the node that represents the last tile, then sets the path var to that path so it can be returned by [datum/pathfind/proc/search]

+ + + diff --git a/datum/physiology.html b/datum/physiology.html new file mode 100644 index 000000000000..358ef3dc388d --- /dev/null +++ b/datum/physiology.html @@ -0,0 +1,35 @@ + + + + + + + /datum/physiology - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

physiology + + + +

+ + +

Procs

returnArmorCopy paste of /atom/proc/returnArmor().

Proc Details

returnArmor +

+

Copy paste of /atom/proc/returnArmor().

+ + + diff --git a/datum/picture.html b/datum/picture.html new file mode 100644 index 000000000000..bc703ebf6aef --- /dev/null +++ b/datum/picture.html @@ -0,0 +1,50 @@ + + + + + + + /datum/picture - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

picture + + + +

+ + + + +

Vars

dead_seenList of weakrefs pointing at dead mobs that appear in this photo
mobs_seenList of weakrefs pointing at mobs that appear in this photo
see_ghostsWas this image capable of seeing ghosts?
+

Var Details

dead_seen + + + + +

+

List of weakrefs pointing at dead mobs that appear in this photo

mobs_seen + + + + +

+

List of weakrefs pointing at mobs that appear in this photo

see_ghosts + + + + +

+

Was this image capable of seeing ghosts?

+ + + diff --git a/datum/pipeline.html b/datum/pipeline.html new file mode 100644 index 000000000000..09fe0691ffc6 --- /dev/null +++ b/datum/pipeline.html @@ -0,0 +1,85 @@ + + + + + + + /datum/pipeline - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pipeline + + + +

+ + + + + + + + +

Vars

buildingIs this pipeline being reconstructed?
combined_volumeThe volume of all of the contained airs.
updateShould we equalize air amoung all our members?

Procs

add_machinery_memberFor a machine to properly "connect" to a pipeline and share gases, +the pipeline needs to acknowledge a gas mixture as it's member. +This is currently handled by the other_airs list in the pipeline datum.
build_pipelinePreps a pipeline for rebuilding, insterts it into the rebuild queue
build_pipeline_blockingHas the same effect as build_pipeline(), but this doesn't queue its work, so overrun abounds. It's useful for the pregame
reconcile_airCalled when the pipenet needs to update and mix together all the air mixes
+

Var Details

building + + + + +

+

Is this pipeline being reconstructed?

combined_volume + + + + +

+

The volume of all of the contained airs.

update + + + + +

+

Should we equalize air amoung all our members?

Proc Details

add_machinery_member +

+

For a machine to properly "connect" to a pipeline and share gases, +the pipeline needs to acknowledge a gas mixture as it's member. +This is currently handled by the other_airs list in the pipeline datum.

+
Other_airs itself is populated by gas mixtures through the parents list that each machineries have.
+This parents list is populated when a machinery calls update_parents and is then added into the queue by the controller.
+

build_pipeline +

+

Preps a pipeline for rebuilding, insterts it into the rebuild queue

build_pipeline_blocking +

+

Has the same effect as build_pipeline(), but this doesn't queue its work, so overrun abounds. It's useful for the pregame

reconcile_air +

+

Called when the pipenet needs to update and mix together all the air mixes

+ + + diff --git a/datum/plant_gene.html b/datum/plant_gene.html new file mode 100644 index 000000000000..d073e8e96fdf --- /dev/null +++ b/datum/plant_gene.html @@ -0,0 +1,50 @@ + + + + + + + /datum/plant_gene - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

plant_gene + + + +

+ +

Plant gene datums - things that build and modify a plant or seed.

+ + +

Vars

mutability_flagsFlags that determine if a gene can be modified.
nameThe name of the gene.

Procs

CopyCopies over vars and information about our current gene to a new gene and returns the new instance of gene.
+

Var Details

mutability_flags + + + + +

+

Flags that determine if a gene can be modified.

name + + + + +

+

The name of the gene.

Proc Details

Copy +

+

Copies over vars and information about our current gene to a new gene and returns the new instance of gene.

+ + + diff --git a/datum/plant_gene/reagent.html b/datum/plant_gene/reagent.html new file mode 100644 index 000000000000..e0b6c86ab2c5 --- /dev/null +++ b/datum/plant_gene/reagent.html @@ -0,0 +1,51 @@ + + + + + + + /datum/plant_gene/reagent - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

reagent + + + +

+ +

Reagent genes store a reagent ID and reagent ratio.

+ + +

Vars

rateThe amount of reagent generated by the plant. The equation is [1 + ((max_volume*(potency/100)) * rate)]
reagent_idThe typepath of the actual reagent that this gene is tied to.

Procs

try_upgrade_geneIntends to compare a reagent gene with a set of seeds, and if the seeds contain the same gene, with more production rate, upgrades the rate to the highest of the two.
+

Var Details

rate + + + + +

+

The amount of reagent generated by the plant. The equation is [1 + ((max_volume*(potency/100)) * rate)]

reagent_id + + + + +

+

The typepath of the actual reagent that this gene is tied to.

Proc Details

try_upgrade_gene +

+

Intends to compare a reagent gene with a set of seeds, and if the seeds contain the same gene, with more production rate, upgrades the rate to the highest of the two.

+

Called when plants are crossbreeding, this looks for two matching reagent_ids, where the rates are greater, in order to upgrade.

+ + + diff --git a/datum/plant_gene/trait.html b/datum/plant_gene/trait.html new file mode 100644 index 000000000000..32fd2da83bb1 --- /dev/null +++ b/datum/plant_gene/trait.html @@ -0,0 +1,71 @@ + + + + + + + /datum/plant_gene/trait - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

trait + + + +

+ +

Traits that affect the grown product.

+ + + + + +

Vars

examine_lineBonus lines displayed on examine.
rateThe rate at which this trait affects something. This can be anything really - why? I dunno.
seed_blacklistA blacklist of seeds that a trait cannot be attached to.
trait_flagsFlag - Modifications made to the final product.
trait_idsFlag - Traits that share an ID cannot be placed on the same plant.

Procs

examineAdd on any unique examine text to the plant's examine text.
+

Var Details

examine_line + + + + +

+

Bonus lines displayed on examine.

rate + + + + +

+

The rate at which this trait affects something. This can be anything really - why? I dunno.

seed_blacklist + + + + +

+

A blacklist of seeds that a trait cannot be attached to.

trait_flags + + + + +

+

Flag - Modifications made to the final product.

trait_ids + + + + +

+

Flag - Traits that share an ID cannot be placed on the same plant.

Proc Details

examine +

+

Add on any unique examine text to the plant's examine text.

+ + + diff --git a/datum/plant_gene/trait/anti_magic.html b/datum/plant_gene/trait/anti_magic.html new file mode 100644 index 000000000000..bfd163950b1a --- /dev/null +++ b/datum/plant_gene/trait/anti_magic.html @@ -0,0 +1,50 @@ + + + + + + + /datum/plant_gene/trait/anti_magic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

anti_magic + + + +

+ +

Holymelon's anti-magic trait. Charges based on potency.

+ + +

Vars

shield_usesThe amount of anti-magic blocking uses we have.

Procs

drain_antimagicWhen the plant our gene is hosted in is drained of an anti-magic charge.
expireWhen the plant our gene is hosted in is drained of all of its anti-magic charges.
+

Var Details

shield_uses + + + + +

+

The amount of anti-magic blocking uses we have.

Proc Details

drain_antimagic +

+

When the plant our gene is hosted in is drained of an anti-magic charge.

expire +

+

When the plant our gene is hosted in is drained of all of its anti-magic charges.

+ + + diff --git a/datum/plant_gene/trait/attack.html b/datum/plant_gene/trait/attack.html new file mode 100644 index 000000000000..b67b4cee03a0 --- /dev/null +++ b/datum/plant_gene/trait/attack.html @@ -0,0 +1,64 @@ + + + + + + + /datum/plant_gene/trait/attack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

attack + + + +

+ +

Traits that turn a plant into a weapon, giving them force and effects on attack.

+ + + + +

Vars

degradation_nounWhen we fully degrade, what degraded off of us?
degrades_after_hitIf TRUE, our plant will degrade in force every hit until diappearing.
force_multiplierThe multiplier we apply to the potency to calculate force. Set to 0 to not affect the force.

Procs

after_plant_attackSignal proc for COMSIG_ITEM_AFTERATTACK that allows for effects after an attack is done
on_plant_attackSignal proc for [COMSIG_ITEM_ATTACK] that allows for effects on attack
+

Var Details

degradation_noun + + + + +

+

When we fully degrade, what degraded off of us?

degrades_after_hit + + + + +

+

If TRUE, our plant will degrade in force every hit until diappearing.

force_multiplier + + + + +

+

The multiplier we apply to the potency to calculate force. Set to 0 to not affect the force.

Proc Details

after_plant_attack +

+

Signal proc for COMSIG_ITEM_AFTERATTACK that allows for effects after an attack is done

on_plant_attack +

+

Signal proc for [COMSIG_ITEM_ATTACK] that allows for effects on attack

+ + + diff --git a/datum/plant_gene/trait/backfire.html b/datum/plant_gene/trait/backfire.html new file mode 100644 index 000000000000..5b8465291578 --- /dev/null +++ b/datum/plant_gene/trait/backfire.html @@ -0,0 +1,66 @@ + + + + + + + /datum/plant_gene/trait/backfire - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

backfire + + + +

+ +

Traits for plants with backfire effects. These are negative effects that occur when a plant is handled without gloves/unsafely.

+ + + + +

Vars

cancel_action_on_backfireWhether our actions are cancelled when the backfire triggers.
genes_to_checkA list of extra genes to check to be considered safe.
traits_to_checkA list of extra traits to check to be considered safe.

Procs

backfire_effectThe actual backfire effect on the user. +Override with plant-specific effects.
on_backfireSignal proc for COMSIG_PLANT_ON_BACKFIRE that causes the backfire effect.
+

Var Details

cancel_action_on_backfire + + + + +

+

Whether our actions are cancelled when the backfire triggers.

genes_to_check + + + + +

+

A list of extra genes to check to be considered safe.

traits_to_check + + + + +

+

A list of extra traits to check to be considered safe.

Proc Details

backfire_effect +

+

The actual backfire effect on the user. +Override with plant-specific effects.

on_backfire +

+

Signal proc for COMSIG_PLANT_ON_BACKFIRE that causes the backfire effect.

+ + + diff --git a/datum/plant_gene/trait/backfire/chili_heat.html b/datum/plant_gene/trait/backfire/chili_heat.html new file mode 100644 index 000000000000..224fe66df87f --- /dev/null +++ b/datum/plant_gene/trait/backfire/chili_heat.html @@ -0,0 +1,43 @@ + + + + + + + /datum/plant_gene/trait/backfire/chili_heat - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chili_heat + + + +

+ +

Ghost-Chili heating up on backfire

+ +

Vars

held_mobThe mob currently holding the chili.
our_chiliThe chili this gene is tied to, to track it for processing.
+

Var Details

held_mob + + + + +

+

The mob currently holding the chili.

our_chili + + + + +

+

The chili this gene is tied to, to track it for processing.

+ + + diff --git a/datum/plant_gene/trait/battery.html b/datum/plant_gene/trait/battery.html new file mode 100644 index 000000000000..b56b1a5a551e --- /dev/null +++ b/datum/plant_gene/trait/battery.html @@ -0,0 +1,36 @@ + + + + + + + /datum/plant_gene/trait/battery - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

battery + + + +

+ + +

Vars

cables_needed_per_batteryThe number of cables needed to make a battery.
+

Var Details

cables_needed_per_battery + + + + +

+

The number of cables needed to make a battery.

+ + + diff --git a/datum/plant_gene/trait/brewing.html b/datum/plant_gene/trait/brewing.html new file mode 100644 index 000000000000..7e29e6b0104a --- /dev/null +++ b/datum/plant_gene/trait/brewing.html @@ -0,0 +1,31 @@ + + + + + + + /datum/plant_gene/trait/brewing - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

brewing + + + +

+ +

A plant trait that causes the plant's food reagents to ferment instead.

+

In practice, it replaces the plant's nutriment and vitamins with half as much of it's fermented reagent. +This exception is executed in seeds.dm under 'prepare_result'.

+

Incompatible with auto-juicing composition.

+ + + diff --git a/datum/plant_gene/trait/eyes.html b/datum/plant_gene/trait/eyes.html new file mode 100644 index 000000000000..5c4d030bce09 --- /dev/null +++ b/datum/plant_gene/trait/eyes.html @@ -0,0 +1,37 @@ + + + + + + + /datum/plant_gene/trait/eyes - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

eyes + + + +

+ +

A plant trait that causes the plant to gain aesthetic googly eyes.

+

Has no functional purpose outside of causing japes, adds eyes over the plant's sprite, which are adjusted for size by potency.

+

Vars

googlyOur googly eyes appearance.
+

Var Details

googly + + + + +

+

Our googly eyes appearance.

+ + + diff --git a/datum/plant_gene/trait/gas_production.html b/datum/plant_gene/trait/gas_production.html new file mode 100644 index 000000000000..ab25c075b700 --- /dev/null +++ b/datum/plant_gene/trait/gas_production.html @@ -0,0 +1,44 @@ + + + + + + + /datum/plant_gene/trait/gas_production - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

gas_production + + + +

+ +

Corpseflower's miasma production. +Can be generalized in the future to spawn any gas, but I don't think that's necessarily a good idea.

+ +

Vars

home_trayThe location of our tray, if we have one.
stinky_seedThe seed emitting gas.
+

Var Details

home_tray + + + + +

+

The location of our tray, if we have one.

stinky_seed + + + + +

+

The seed emitting gas.

+ + + diff --git a/datum/plant_gene/trait/glow.html b/datum/plant_gene/trait/glow.html new file mode 100644 index 000000000000..7536559ea8e6 --- /dev/null +++ b/datum/plant_gene/trait/glow.html @@ -0,0 +1,36 @@ + + + + + + + /datum/plant_gene/trait/glow - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

glow + + + +

+ + +

Vars

glow_colorThe color of our bioluminesence.
+

Var Details

glow_color + + + + +

+

The color of our bioluminesence.

+ + + diff --git a/datum/plant_gene/trait/juicing.html b/datum/plant_gene/trait/juicing.html new file mode 100644 index 000000000000..bfb339344b15 --- /dev/null +++ b/datum/plant_gene/trait/juicing.html @@ -0,0 +1,29 @@ + + + + + + + /datum/plant_gene/trait/juicing - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

juicing + + + +

+ +

Similar to auto-distilling, but instead of brewing the plant's contents it juices it.

+

Incompatible with auto-distilling composition.

+ + + diff --git a/datum/plant_gene/trait/maxchem.html b/datum/plant_gene/trait/maxchem.html new file mode 100644 index 000000000000..01b1dcacb56c --- /dev/null +++ b/datum/plant_gene/trait/maxchem.html @@ -0,0 +1,30 @@ + + + + + + + /datum/plant_gene/trait/maxchem - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

maxchem + + + +

+ +

A plant trait that causes the plant's capacity to double.

+

When harvested, the plant's individual capacity is set to double it's default. +However, the plant's maximum yield is also halved, only up to 5.

+ + + diff --git a/datum/plant_gene/trait/mob_transformation.html b/datum/plant_gene/trait/mob_transformation.html new file mode 100644 index 000000000000..095fb0b81dfc --- /dev/null +++ b/datum/plant_gene/trait/mob_transformation.html @@ -0,0 +1,71 @@ + + + + + + + /datum/plant_gene/trait/mob_transformation - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mob_transformation + + + +

+ +

Traits for plants that can be activated to turn into a mob.

+ + + + + +

Vars

awakeningWhether our attatched plant is currently waking up or not.
dangerousWhether mobs spawned by this trait are dangerous or not.
killer_plantThe typepath to what mob spawns from this plant.
mob_health_multiplierSpawned mob's health = this multiplier * seed endurance.
mob_melee_multiplierSpawned mob's melee damage = this multiplier * seed potency.
mob_speed_multiplierSpawned mob's move delay = this multiplier * seed potency.
+

Var Details

awakening + + + + +

+

Whether our attatched plant is currently waking up or not.

dangerous + + + + +

+

Whether mobs spawned by this trait are dangerous or not.

killer_plant + + + + +

+

The typepath to what mob spawns from this plant.

mob_health_multiplier + + + + +

+

Spawned mob's health = this multiplier * seed endurance.

mob_melee_multiplier + + + + +

+

Spawned mob's melee damage = this multiplier * seed potency.

mob_speed_multiplier + + + + +

+

Spawned mob's move delay = this multiplier * seed potency.

+ + + diff --git a/datum/plant_gene/trait/modified_volume.html b/datum/plant_gene/trait/modified_volume.html new file mode 100644 index 000000000000..534aad7918fe --- /dev/null +++ b/datum/plant_gene/trait/modified_volume.html @@ -0,0 +1,36 @@ + + + + + + + /datum/plant_gene/trait/modified_volume - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

modified_volume + + + +

+ +

Traits for plants with a different base max_volume.

+

Vars

new_capcityThe new number we set the plant's max_volume to.
+

Var Details

new_capcity + + + + +

+

The new number we set the plant's max_volume to.

+ + + diff --git a/datum/plant_gene/trait/plant_laughter.html b/datum/plant_gene/trait/plant_laughter.html new file mode 100644 index 000000000000..3349afd1ffc7 --- /dev/null +++ b/datum/plant_gene/trait/plant_laughter.html @@ -0,0 +1,38 @@ + + + + + + + /datum/plant_gene/trait/plant_laughter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

plant_laughter + + + +

+ +

Plays a laughter sound when someone slips on it. +Like the sitcom component but for plants. +Just like slippery skin, if we have a trash type this only functions on that. (Banana peels)

+

Vars

soundsSounds that play when this trait triggers
+

Var Details

sounds + + + + +

+

Sounds that play when this trait triggers

+ + + diff --git a/datum/plant_gene/trait/repeated_harvest.html b/datum/plant_gene/trait/repeated_harvest.html new file mode 100644 index 000000000000..bfea635315fa --- /dev/null +++ b/datum/plant_gene/trait/repeated_harvest.html @@ -0,0 +1,36 @@ + + + + + + + /datum/plant_gene/trait/repeated_harvest - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

repeated_harvest + + + +

+ +

Allows a plant to be harvested multiple times.

+

Vars

seed_blacklistDon't allow replica pods to be multi harvested, please.
+

Var Details

seed_blacklist + + + + +

+

Don't allow replica pods to be multi harvested, please.

+ + + diff --git a/datum/plant_gene/trait/slip.html b/datum/plant_gene/trait/slip.html new file mode 100644 index 000000000000..dbf32f22cc46 --- /dev/null +++ b/datum/plant_gene/trait/slip.html @@ -0,0 +1,35 @@ + + + + + + + /datum/plant_gene/trait/slip - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

slip + + + +

+ + +

Procs

handle_slipOn slip, sends a signal that our plant was slipped on out.

Proc Details

handle_slip +

+

On slip, sends a signal that our plant was slipped on out.

+ + + diff --git a/datum/point.html b/datum/point.html new file mode 100644 index 000000000000..58931d8efa0a --- /dev/null +++ b/datum/point.html @@ -0,0 +1,35 @@ + + + + + + + /datum/point - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

point + + + +

+ +

A precise point on the map in absolute pixel locations based on world.icon_size. Pixels are FROM THE EDGE OF THE MAP!

+

Procs

NewFirst argument can also be a /datum/position or /atom.

Proc Details

New +

+

First argument can also be a /datum/position or /atom.

+ + + diff --git a/datum/point/vector.html b/datum/point/vector.html new file mode 100644 index 000000000000..ea6471fc3785 --- /dev/null +++ b/datum/point/vector.html @@ -0,0 +1,64 @@ + + + + + + + /datum/point/vector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

vector + + + +

+ + + + + + +

Vars

mpxCalculated x movement amounts to prevent having to do trig every step.
mpyCalculated y movement amounts to prevent having to do trig every step.
speedPixels per iteration

Procs

set_angleCalculations use "byond angle" where north is 0 instead of 90, and south is 180 instead of 270.
set_locationSame effect as initiliaze_location, but without setting the starting_x/y/z
+

Var Details

mpx + + + + +

+

Calculated x movement amounts to prevent having to do trig every step.

mpy + + + + +

+

Calculated y movement amounts to prevent having to do trig every step.

speed + + + + +

+

Pixels per iteration

Proc Details

set_angle +

+

Calculations use "byond angle" where north is 0 instead of 90, and south is 180 instead of 270.

set_location +

+

Same effect as initiliaze_location, but without setting the starting_x/y/z

+ + + diff --git a/datum/point_of_interest.html b/datum/point_of_interest.html new file mode 100644 index 000000000000..90d583cb9db7 --- /dev/null +++ b/datum/point_of_interest.html @@ -0,0 +1,57 @@ + + + + + + + /datum/point_of_interest - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

point_of_interest + + + +

+ +

Simple helper datum for points of interest.

+ + + +

Vars

poi_typeThe type of POI this datum references.
targetThe specific point of interest this datum references. This won't hard del as the POI element will be removed from the target when it qdels, which will clear this reference.

Procs

compare_toComparison proc used to sort POIs. Override to implement logic used doing binary sort insertions.
validateValidates the POI. Returns TRUE if the POI has valid state, returns FALSE if the POI has invalid state.
+

Var Details

poi_type + + + + +

+

The type of POI this datum references.

target + + + + +

+

The specific point of interest this datum references. This won't hard del as the POI element will be removed from the target when it qdels, which will clear this reference.

Proc Details

compare_to +

+

Comparison proc used to sort POIs. Override to implement logic used doing binary sort insertions.

validate +

+

Validates the POI. Returns TRUE if the POI has valid state, returns FALSE if the POI has invalid state.

+ + + diff --git a/datum/point_of_interest/mob_poi.html b/datum/point_of_interest/mob_poi.html new file mode 100644 index 000000000000..fb912216f735 --- /dev/null +++ b/datum/point_of_interest/mob_poi.html @@ -0,0 +1,49 @@ + + + + + + + /datum/point_of_interest/mob_poi - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

mob_poi + + + +

+ + + + +

Procs

compare_toMob POIs are sorted by a simple priority list depending on their type. When their type priority is identical, they're sub-sorted by name.
get_type_sort_priorityPriority list broadly stolen from /proc/sortmobs. Lower numbers are higher priorities when sorted and appear closer to the top or start of lists.
validateValidation for mobs is expanded to invalidate stealthmins and /mob/dead/new_player as POIs.

Proc Details

compare_to +

+

Mob POIs are sorted by a simple priority list depending on their type. When their type priority is identical, they're sub-sorted by name.

get_type_sort_priority +

+

Priority list broadly stolen from /proc/sortmobs. Lower numbers are higher priorities when sorted and appear closer to the top or start of lists.

validate +

+

Validation for mobs is expanded to invalidate stealthmins and /mob/dead/new_player as POIs.

+ + + diff --git a/datum/poll_option.html b/datum/poll_option.html new file mode 100644 index 000000000000..73c6228b2b90 --- /dev/null +++ b/datum/poll_option.html @@ -0,0 +1,109 @@ + + + + + + + /datum/poll_option - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

poll_option + + + +

+ +

Datum which holds details of a poll option loaded from the database.

+

Used to minimize the need for querying this data every time it's needed.

+ + + + + + + + + + +

Vars

default_percentage_calcHint for statbus, not used by the game; If this option should be included by default when calculating the resulting percentages of all options for this poll
desc_maxOptional for rating polls, description shown next to the maximum value
desc_midOptional for rating polls, description shown next to the rounded whole middle value
desc_minOptional for rating polls, description shown next to the minimum value
max_valFor rating polls, the maximum selectable value allowed; Supported value range is -2147483648 to 2147483647
min_valFor rating polls, the minimum selectable value allowed; Supported value range is -2147483648 to 2147483647
option_idTable id of this option, will be null until poll has been created.
parent_pollReference to the poll this option belongs to
textDescription/name of this option

Procs

delete_optionSets a poll option and its votes as deleted in the database then deletes its datum.
save_optionInserts or updates a poll option to the database.
+

Var Details

default_percentage_calc + + + + +

+

Hint for statbus, not used by the game; If this option should be included by default when calculating the resulting percentages of all options for this poll

desc_max + + + + +

+

Optional for rating polls, description shown next to the maximum value

desc_mid + + + + +

+

Optional for rating polls, description shown next to the rounded whole middle value

desc_min + + + + +

+

Optional for rating polls, description shown next to the minimum value

max_val + + + + +

+

For rating polls, the maximum selectable value allowed; Supported value range is -2147483648 to 2147483647

min_val + + + + +

+

For rating polls, the minimum selectable value allowed; Supported value range is -2147483648 to 2147483647

option_id + + + + +

+

Table id of this option, will be null until poll has been created.

parent_poll + + + + +

+

Reference to the poll this option belongs to

text + + + + +

+

Description/name of this option

Proc Details

delete_option +

+

Sets a poll option and its votes as deleted in the database then deletes its datum.

save_option +

+

Inserts or updates a poll option to the database.

+

Uses INSERT ON DUPLICATE KEY UPDATE to handle both inserting and updating at once. +The list of columns and values is built dynamically to avoid excess data being sent when not a rating type poll.

+ + + diff --git a/datum/poll_question.html b/datum/poll_question.html new file mode 100644 index 000000000000..f546b7fcf262 --- /dev/null +++ b/datum/poll_question.html @@ -0,0 +1,188 @@ + + + + + + + /datum/poll_question - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

poll_question + + + +

+ +

Datum which holds details of a running poll loaded from the database and supplementary info.

+

Used to minimize the need for querying this data every time it's needed.

+ + + + + + + + + + + + + + + + + + + + +

Vars

admin_onlyHides the poll from any client without a holder datum.
allow_revotingAllows a player to change their vote to a poll they've already voted on, off by default.
created_byCkey of the poll's original author
dont_showHint for statbus, not used by the game; Stops the results of a poll from being displayed until the end_datetime is reached.
durationHolds duration data when creating or editing a poll and refreshing the poll creation window.
edit_readyIndicates if a poll has been submitted or loaded from the DB so the management panel will open with edit functions.
end_datetimeDate and time the poll will run until, timestamp format is YYYY-MM-DD HH:MM:SS.
future_pollIndicates a poll is set to not start in the future, still visible for editing but not voting on.
intervalHolds interval data when creating or editing a poll and refreshing the poll creation window.
optionsReference list of the options for this poll, not used by text response polls.
options_allowedThe number of responses allowed in a multiple-choice poll, more can be selected but won't be recorded.
poll_idTable id of this poll, will be null until poll has been created.
poll_typeThe type of poll to be created, must be POLLTYPE_OPTION, POLLTYPE_TEXT, POLLTYPE_RATING, POLLTYPE_MULTI or POLLTYPE_IRV.
poll_votesCount of how many players have voted or responded to this poll.
questionThe title text of the poll, shows up on the list of polls.
start_datetimeDate and time the poll opens, timestamp format is YYYY-MM-DD HH:MM:SS.
subtitleSupplementary text displayed only when responding to a poll.

Procs

clear_poll_votesDeletes all votes or text replies for this poll, depending on its type.
delete_pollSets a poll and its associated data as deleted in the database.
save_all_optionsSaves all options of a poll to the database.
save_poll_dataInserts or updates a poll question to the database.
+

Var Details

admin_only + + + + +

+

Hides the poll from any client without a holder datum.

allow_revoting + + + + +

+

Allows a player to change their vote to a poll they've already voted on, off by default.

created_by + + + + +

+

Ckey of the poll's original author

dont_show + + + + +

+

Hint for statbus, not used by the game; Stops the results of a poll from being displayed until the end_datetime is reached.

duration + + + + +

+

Holds duration data when creating or editing a poll and refreshing the poll creation window.

edit_ready + + + + +

+

Indicates if a poll has been submitted or loaded from the DB so the management panel will open with edit functions.

end_datetime + + + + +

+

Date and time the poll will run until, timestamp format is YYYY-MM-DD HH:MM:SS.

future_poll + + + + +

+

Indicates a poll is set to not start in the future, still visible for editing but not voting on.

interval + + + + +

+

Holds interval data when creating or editing a poll and refreshing the poll creation window.

options + + + + +

+

Reference list of the options for this poll, not used by text response polls.

options_allowed + + + + +

+

The number of responses allowed in a multiple-choice poll, more can be selected but won't be recorded.

poll_id + + + + +

+

Table id of this poll, will be null until poll has been created.

poll_type + + + + +

+

The type of poll to be created, must be POLLTYPE_OPTION, POLLTYPE_TEXT, POLLTYPE_RATING, POLLTYPE_MULTI or POLLTYPE_IRV.

poll_votes + + + + +

+

Count of how many players have voted or responded to this poll.

question + + + + +

+

The title text of the poll, shows up on the list of polls.

start_datetime + + + + +

+

Date and time the poll opens, timestamp format is YYYY-MM-DD HH:MM:SS.

subtitle + + + + +

+

Supplementary text displayed only when responding to a poll.

Proc Details

clear_poll_votes +

+

Deletes all votes or text replies for this poll, depending on its type.

delete_poll +

+

Sets a poll and its associated data as deleted in the database.

+

Calls the procedure set_poll_deleted to set the deleted column to 1 for each row in the poll_ tables matching the poll id used. +Then deletes each option datum and finally the poll itself.

save_all_options +

+

Saves all options of a poll to the database.

+

Saves all the created options for a poll when it's submitted to the DB for the first time and associated an id with the options. +Insertion and id querying for each option is done separately to ensure data integrity; this is less performant, but not significantly. +Using MassInsert() would mean having to query a list of rows by poll_id or matching by fields afterwards, which doesn't guarantee accuracy.

save_poll_data +

+

Inserts or updates a poll question to the database.

+

Uses INSERT ON DUPLICATE KEY UPDATE to handle both inserting and updating at once. +The start and end datetimes and poll id for new polls is then retrieved for the poll datum. +Arguments:

+
+ + + diff --git a/datum/port.html b/datum/port.html new file mode 100644 index 000000000000..99ef2ae3671b --- /dev/null +++ b/datum/port.html @@ -0,0 +1,128 @@ + + + + + + + /datum/port - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Component Port + + + +

+ +

A port used by a component. Connects to other ports.

+ + + + + + + + + + + + +

Vars

colorThe port color. If unset, appears as blue.
connected_componentThe component this port is attached to
datatypeThe port type. Ports can only connect to each other if the type matches
datatype_handlerThe default port type. Stores the original datatype of the port set on Initialize.
nameName of the port. Used when displaying the port.
orderThe weight of the port. Determines the
valueThe value that's currently in the port. It's of the above type.

Procs

datatype_ui_dataReturns the data from the datatype
disconnect_allDisconnects a port from all other ports.
null_valueSignal handler proc to null the input if an atom is deleted. An update is not sent because this was not set by anything.
on_value_qdeletingDo our part in setting all source references anywhere to null.
set_datatypeSets the datatype of the port.
set_valueSets the port's value to value. +Casts to the port's datatype (e.g. number -> string), and assumes this can be done.
+

Var Details

color + + + + +

+

The port color. If unset, appears as blue.

connected_component + + + + +

+

The component this port is attached to

datatype + + + + +

+

The port type. Ports can only connect to each other if the type matches

datatype_handler + + + + +

+

The default port type. Stores the original datatype of the port set on Initialize.

name + + + + +

+

Name of the port. Used when displaying the port.

order + + + + +

+

The weight of the port. Determines the

value + + + + +

+

The value that's currently in the port. It's of the above type.

Proc Details

datatype_ui_data +

+

Returns the data from the datatype

disconnect_all +

+

Disconnects a port from all other ports.

+

Called by /obj/item/circuit_component whenever it is disconnected from +an integrated circuit

null_value +

+

Signal handler proc to null the input if an atom is deleted. An update is not sent because this was not set by anything.

on_value_qdeleting +

+

Do our part in setting all source references anywhere to null.

set_datatype +

+

Sets the datatype of the port.

+

Arguments:

+

set_value +

+

Sets the port's value to value. +Casts to the port's datatype (e.g. number -> string), and assumes this can be done.

+ + + diff --git a/datum/port/input.html b/datum/port/input.html new file mode 100644 index 000000000000..3af948daf7d2 --- /dev/null +++ b/datum/port/input.html @@ -0,0 +1,99 @@ + + + + + + + /datum/port/input - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Input Port + + + +

+ +

An input port remembers connected output ports.

+

Registers the PORT_SET_VALUE signal on each connected port, +and keeps its value equal to the last such signal received.

+ + + + + + + +

Vars

connected_portsThe ports this port is wired to.
triggerThe proc that this trigger will call on the connected component.

Procs

can_receive_from_datatypeDetermines if a datatype is compatible with another port of a different type.
check_typeHandle type updates from connected output ports, breaking uncastable connections.
connectConnects an input port to an output port.
handle_manual_inputDetermines if a datatype is compatible with another port of a different type.
receive_valueMirror value updates from connected output ports after an input_receive_delay.
set_inputUpdates the value of the input and calls input_received on the connected component
+

Var Details

connected_ports + + + + +

+

The ports this port is wired to.

trigger + + + + +

+

The proc that this trigger will call on the connected component.

Proc Details

can_receive_from_datatype +

+

Determines if a datatype is compatible with another port of a different type.

+

Arguments:

+

check_type +

+

Handle type updates from connected output ports, breaking uncastable connections.

connect +

+

Connects an input port to an output port.

+

Arguments:

+

handle_manual_input +

+

Determines if a datatype is compatible with another port of a different type.

+

Arguments:

+

receive_value +

+

Mirror value updates from connected output ports after an input_receive_delay.

set_input +

+

Updates the value of the input and calls input_received on the connected component

+ + + diff --git a/datum/port/output.html b/datum/port/output.html new file mode 100644 index 000000000000..3cc47a22167d --- /dev/null +++ b/datum/port/output.html @@ -0,0 +1,29 @@ + + + + + + + /datum/port/output - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Output Port + + + +

+ +

An output port that many input ports can connect to

+

Sends a signal whenever the output value is changed

+ + + diff --git a/datum/portrait_picker.html b/datum/portrait_picker.html new file mode 100644 index 000000000000..66b05d4cd832 --- /dev/null +++ b/datum/portrait_picker.html @@ -0,0 +1,59 @@ + + + + + + + /datum/portrait_picker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

portrait_picker + + + +

+ +Portrait picker!! +

It's a tgui window that lets you look through all the portraits, and choose one as your AI. +very similar to centcom_podlauncher in terms of how this is coded, so i kept a lot of comments from it

+ + + +

Vars

holderClient of whoever is using this datum
matching_paintingsStores the result of the search.
search_modeWhether the search function will check the title of the painting or the author's name.
search_stringThe last input in the search tab.
+

Var Details

holder + + + + +

+

Client of whoever is using this datum

matching_paintings + + + + +

+

Stores the result of the search.

search_mode + + + + +

+

Whether the search function will check the title of the painting or the author's name.

search_string + + + + +

+

The last input in the search tab.

+ + + diff --git a/datum/powernet.html b/datum/powernet.html new file mode 100644 index 000000000000..441d1791459b --- /dev/null +++ b/datum/powernet.html @@ -0,0 +1,127 @@ + + + + + + + /datum/powernet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

powernet + + + +

+ + + + + + + + + + + + + + + +

Vars

availThe current amount of power in the network
current_packet_queueOnly SSpackets should be touching this.
delayedloadLoad applied outside of machine processing, "between" ticks of power.
loadThe current load on the power net.
netexcessThe amount of excess power from the LAST tick, typically avail - load. SMES units will subtract from this as they store the power.
newavailThe amount of power gathered this tick. Will become avail on reset()
next_packet_queueThe packet queue.
viewavailThe amount of power visible to power consoles. This is a smoothed out value, so it is not 100% correct.
viewloadThe amount of load visible to power consoles. This is a smoothed out value, so it is not 100% correct.

Procs

add_cable... delete it
add_machine... delete it
is_emptyReturns TRUE if there are no cables and no nodes belonging to the network.
queue_signalPass a signal through a powernet to all connected data equipment.
resetCycles the powernet's status, called by SSmachines, do not manually call.
+

Var Details

avail + + + + +

+

The current amount of power in the network

current_packet_queue + + + + +

+

Only SSpackets should be touching this.

delayedload + + + + +

+

Load applied outside of machine processing, "between" ticks of power.

load + + + + +

+

The current load on the power net.

netexcess + + + + +

+

The amount of excess power from the LAST tick, typically avail - load. SMES units will subtract from this as they store the power.

newavail + + + + +

+

The amount of power gathered this tick. Will become avail on reset()

next_packet_queue + + + + +

+

The packet queue.

viewavail + + + + +

+

The amount of power visible to power consoles. This is a smoothed out value, so it is not 100% correct.

viewload + + + + +

+

The amount of load visible to power consoles. This is a smoothed out value, so it is not 100% correct.

Proc Details

add_cable +

+

... delete it

add_machine +

+

... delete it

is_empty +

+

Returns TRUE if there are no cables and no nodes belonging to the network.

queue_signal +

+

Pass a signal through a powernet to all connected data equipment.

reset +

+

Cycles the powernet's status, called by SSmachines, do not manually call.

+ + + diff --git a/datum/preference.html b/datum/preference.html new file mode 100644 index 000000000000..86ade12c3972 --- /dev/null +++ b/datum/preference.html @@ -0,0 +1,311 @@ + + + + + + + /datum/preference - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

preference + + + +

+ +

Represents an individual preference.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

can_randomizeIf set, will be available to randomize, but only if the preference +is for PREFERENCE_CHARACTER.
categoryThe category of preference, for use by the PreferencesMenu. +This isn't used for anything other than as a key for UI data. +It is up to the PreferencesMenu UI itself to interpret it.
exclude_species_traitsAny species that has any of the listed species traits will not have the option to pick this pref
explanationThe display default name when inserted into the chargen
is_sub_preferenceIs this type a sub preference?
priorityThe priority of when to apply this preference. +Used for when you need to rely on another preference.
relevant_external_organIf the selected species has this in its /datum/species/var/cosmetic_organs, +will show the feature as selectable.
relevant_mutant_bodypartIf the selected species has this in its /datum/species/mutant_bodyparts, +will show the feature as selectable.
relevant_species_traitIf the selected species has this in its /datum/species/species_traits, +will show the feature as selectable.
requires_accessibleIf this preference is not accessible, do not attempt to apply it to mobs.
savefile_identifierWhat savefile should this preference be read from? +Valid values are PREFERENCE_CHARACTER and PREFERENCE_PLAYER. +See the documentation in code/__DEFINES/preferences.dm.
savefile_keyThe key inside the savefile to use. +This is also sent to the UI. +Once you pick this, don't change it.
sub_preferenceA typepath for a sub preference. Ex: Hair Style's sub_preference is /datum/preference/color/hair_color

Procs

apply_to_clientApply this preference onto the given client. +Called when the savefile_identifier == PREFERENCE_PLAYER.
apply_to_client_updatedFired when the preference is updated. +Calls apply_to_client by default, but can be overridden.
apply_to_humanApply this preference onto the given human. +Must be overriden by subtypes. +Called when the savefile_identifier == PREFERENCE_CHARACTER.
compile_constant_dataReturns data compiled into the preferences JSON asset
compile_ui_dataReturns data to be sent to users in the menu
create_default_valueProduce a default, potentially random value for when no value for this +preference is found in the savefile. +Either this or create_informed_default_value must be overriden by subtypes.
create_informed_default_valueProduce a default, potentially random value for when no value for this +preference is found in the savefile. +Unlike create_default_value(), will provide the preferences object if you +need to use it. +If not overriden, will call create_default_value() instead.
create_random_valueProduce a random value for the purposes of character randomization. +Will just create a default value by default.
deserializeCalled on the saved input when retrieving. +Also called by the value sent from the user through UI. Do not trust it. +Input is the value inside the savefile, output is to tell other code +what the value is. +This is useful either for more optimal data saving or for migrating +older data. +Must be overridden by subtypes. +Can return null if no value was found.
get_spritesheet_keyReturns the key that will be used in the spritesheet for a given value.
is_accessibleReturns whether or not this preference is accessible. +If FALSE, will not show in the UI and will not be editable (by update_preference).
is_randomizableReturns whether or not a preference can be randomized.
is_validChecks that a given value is valid. +Must be overriden by subtypes. +Any type can be passed through.
readGiven a savefile, return either the saved data or an acceptable default. +This will write to the savefile if a value was not found with the new value.
serializeCalled on the input while saving. +Input is the current value, output is what to save in the savefile.
value_changedCalled when a user updates the value of this preference.
writeGiven a savefile, writes the inputted value. +Returns TRUE for a successful application. +Return FALSE if it is invalid.
+

Var Details

can_randomize + + + + +

+

If set, will be available to randomize, but only if the preference +is for PREFERENCE_CHARACTER.

category + + + + +

+

The category of preference, for use by the PreferencesMenu. +This isn't used for anything other than as a key for UI data. +It is up to the PreferencesMenu UI itself to interpret it.

exclude_species_traits + + + + +

+

Any species that has any of the listed species traits will not have the option to pick this pref

explanation + + + + +

+

The display default name when inserted into the chargen

is_sub_preference + + + + +

+

Is this type a sub preference?

priority + + + + +

+

The priority of when to apply this preference. +Used for when you need to rely on another preference.

relevant_external_organ + + + + +

+

If the selected species has this in its /datum/species/var/cosmetic_organs, +will show the feature as selectable.

relevant_mutant_bodypart + + + + +

+

If the selected species has this in its /datum/species/mutant_bodyparts, +will show the feature as selectable.

relevant_species_trait + + + + +

+

If the selected species has this in its /datum/species/species_traits, +will show the feature as selectable.

requires_accessible + + + + +

+

If this preference is not accessible, do not attempt to apply it to mobs.

savefile_identifier + + + + +

+

What savefile should this preference be read from? +Valid values are PREFERENCE_CHARACTER and PREFERENCE_PLAYER. +See the documentation in code/__DEFINES/preferences.dm.

savefile_key + + + + +

+

The key inside the savefile to use. +This is also sent to the UI. +Once you pick this, don't change it.

sub_preference + + + + +

+

A typepath for a sub preference. Ex: Hair Style's sub_preference is /datum/preference/color/hair_color

Proc Details

apply_to_client +

+

Apply this preference onto the given client. +Called when the savefile_identifier == PREFERENCE_PLAYER.

apply_to_client_updated +

+

Fired when the preference is updated. +Calls apply_to_client by default, but can be overridden.

apply_to_human +

+

Apply this preference onto the given human. +Must be overriden by subtypes. +Called when the savefile_identifier == PREFERENCE_CHARACTER.

compile_constant_data +

+

Returns data compiled into the preferences JSON asset

compile_ui_data +

+

Returns data to be sent to users in the menu

create_default_value +

+

Produce a default, potentially random value for when no value for this +preference is found in the savefile. +Either this or create_informed_default_value must be overriden by subtypes.

create_informed_default_value +

+

Produce a default, potentially random value for when no value for this +preference is found in the savefile. +Unlike create_default_value(), will provide the preferences object if you +need to use it. +If not overriden, will call create_default_value() instead.

create_random_value +

+

Produce a random value for the purposes of character randomization. +Will just create a default value by default.

deserialize +

+

Called on the saved input when retrieving. +Also called by the value sent from the user through UI. Do not trust it. +Input is the value inside the savefile, output is to tell other code +what the value is. +This is useful either for more optimal data saving or for migrating +older data. +Must be overridden by subtypes. +Can return null if no value was found.

get_spritesheet_key +

+

Returns the key that will be used in the spritesheet for a given value.

is_accessible +

+

Returns whether or not this preference is accessible. +If FALSE, will not show in the UI and will not be editable (by update_preference).

is_randomizable +

+

Returns whether or not a preference can be randomized.

is_valid +

+

Checks that a given value is valid. +Must be overriden by subtypes. +Any type can be passed through.

read +

+

Given a savefile, return either the saved data or an acceptable default. +This will write to the savefile if a value was not found with the new value.

serialize +

+

Called on the input while saving. +Input is the current value, output is what to save in the savefile.

value_changed +

+

Called when a user updates the value of this preference.

write +

+

Given a savefile, writes the inputted value. +Returns TRUE for a successful application. +Return FALSE if it is invalid.

+ + + diff --git a/datum/preference/choiced.html b/datum/preference/choiced.html new file mode 100644 index 000000000000..7d58c6b79133 --- /dev/null +++ b/datum/preference/choiced.html @@ -0,0 +1,92 @@ + + + + + + + /datum/preference/choiced - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

choiced + + + +

+ +

A preference that is a choice of one option among a fixed set. +Used for preferences such as clothing.

+ + + + +

Vars

cyclableDefines whether get_button() should include cycle arrows
should_generate_iconsIf this is TRUE, icons will be generated. +This is necessary for if your init_possible_values() override +returns an assoc list of names to atoms/icons.

Procs

get_choicesReturns a list of every possible value. +The first time this is called, will run init_values(). +Return value can be in the form of:
get_choices_serializedReturns a list of every possible value, serialized. +Return value can be in the form of:
init_possible_valuesReturns a list of every possible value. +This must be overriden by /datum/preference/choiced subtypes. +Return value can be in the form of:
+

Var Details

cyclable + + + + +

+

Defines whether get_button() should include cycle arrows

should_generate_icons + + + + +

+

If this is TRUE, icons will be generated. +This is necessary for if your init_possible_values() override +returns an assoc list of names to atoms/icons.

Proc Details

get_choices +

+

Returns a list of every possible value. +The first time this is called, will run init_values(). +Return value can be in the form of:

+

get_choices_serialized +

+

Returns a list of every possible value, serialized. +Return value can be in the form of:

+

init_possible_values +

+

Returns a list of every possible value. +This must be overriden by /datum/preference/choiced subtypes. +Return value can be in the form of:

+
+ + + diff --git a/datum/preference/name.html b/datum/preference/name.html new file mode 100644 index 000000000000..2bbb67c92450 --- /dev/null +++ b/datum/preference/name.html @@ -0,0 +1,50 @@ + + + + + + + /datum/preference/name - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

name + + + +

+ +

A preference for a name. Used not just for normal names, but also for clown names, etc.

+ + +

Vars

allow_numbersWhether or not to allow numbers in the person's name
groupThese will be grouped together on the preferences menu
relevant_jobIf the highest priority job matches this, will prioritize this name in the UI
+

Var Details

allow_numbers + + + + +

+

Whether or not to allow numbers in the person's name

group + + + + +

+

These will be grouped together on the preferences menu

relevant_job + + + + +

+

If the highest priority job matches this, will prioritize this name in the UI

+ + + diff --git a/datum/preference/numeric.html b/datum/preference/numeric.html new file mode 100644 index 000000000000..f124bf2de61f --- /dev/null +++ b/datum/preference/numeric.html @@ -0,0 +1,50 @@ + + + + + + + /datum/preference/numeric - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

numeric + + + +

+ +

A numeric preference with a minimum and maximum value

+ + +

Vars

maximumThe maximum value
minimumThe minimum value
stepThe step of the number, such as 1 for integers or 0.5 for half-steps.
+

Var Details

maximum + + + + +

+

The maximum value

minimum + + + + +

+

The minimum value

step + + + + +

+

The step of the number, such as 1 for integers or 0.5 for half-steps.

+ + + diff --git a/datum/preference/toggle.html b/datum/preference/toggle.html new file mode 100644 index 000000000000..82a9112adc82 --- /dev/null +++ b/datum/preference/toggle.html @@ -0,0 +1,36 @@ + + + + + + + /datum/preference/toggle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

toggle + + + +

+ +

A prefernece whose value is always TRUE or FALSE

+

Vars

default_valueThe default value of the toggle, if create_default_value is not specified
+

Var Details

default_value + + + + +

+

The default value of the toggle, if create_default_value is not specified

+ + + diff --git a/datum/preference/tri_color.html b/datum/preference/tri_color.html new file mode 100644 index 000000000000..c20405e9e693 --- /dev/null +++ b/datum/preference/tri_color.html @@ -0,0 +1,36 @@ + + + + + + + /datum/preference/tri_color - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tri_color + + + +

+ + +

Vars

color_keydna.features["mutcolors"][color_key] = input
+

Var Details

color_key + + + + +

+

dna.features["mutcolors"][color_key] = input

+ + + diff --git a/datum/preference_group.html b/datum/preference_group.html new file mode 100644 index 000000000000..1246226f6ce8 --- /dev/null +++ b/datum/preference_group.html @@ -0,0 +1,43 @@ + + + + + + + /datum/preference_group - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

preference_group + + + +

+ + + +

Vars

prioritySort priority in the UI. Used to do things like place general before other categories.

Procs

get_contentReturn a list of html data to be joined into a string
+

Var Details

priority + + + + +

+

Sort priority in the UI. Used to do things like place general before other categories.

Proc Details

get_content +

+

Return a list of html data to be joined into a string

+ + + diff --git a/datum/preference_group/body.html b/datum/preference_group/body.html new file mode 100644 index 000000000000..8670d4ae1396 --- /dev/null +++ b/datum/preference_group/body.html @@ -0,0 +1,36 @@ + + + + + + + /datum/preference_group/body - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

body + + + +

+ + +

Vars

displayPrefs we display. Set TRUE to check if accessible
+

Var Details

display + + + + +

+

Prefs we display. Set TRUE to check if accessible

+ + + diff --git a/datum/preference_group/job_specific.html b/datum/preference_group/job_specific.html new file mode 100644 index 000000000000..5d275aa6bd27 --- /dev/null +++ b/datum/preference_group/job_specific.html @@ -0,0 +1,36 @@ + + + + + + + /datum/preference_group/job_specific - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

job_specific + + + +

+ + +

Vars

displayPrefs we display. Set TRUE to check if accessible
+

Var Details

display + + + + +

+

Prefs we display. Set TRUE to check if accessible

+ + + diff --git a/datum/preference_middleware.html b/datum/preference_middleware.html new file mode 100644 index 000000000000..8908859ee0bc --- /dev/null +++ b/datum/preference_middleware.html @@ -0,0 +1,105 @@ + + + + + + + /datum/preference_middleware - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

preference_middleware + + + +

+ +

Preference middleware is code that helps to decentralize complicated preference features.

+ + + + + + + + + +

Vars

action_delegationsMap of ui_act actions -> proc paths to call. +Signature is `(list/params, mob/user) -> TRUE/FALSE. +Return output is the same as ui_act--TRUE if it should update, FALSE if it should not
keyThe key that will be used for get_constant_data(). +If null, will use the typepath minus /datum/preference_middleware.
preferencesThe preferences datum

Procs

get_character_preferencesMerge this into the result of compile_character_preferences.
get_constant_dataAppend all of these into /datum/asset/json/preferences.
get_ui_assetsAppend all of these into ui_assets
get_ui_dataAppend all of these into ui_data
get_ui_static_dataAppend all of these into ui_static_data
on_new_characterCalled when a character is changed.
pre_set_preferenceCalled every set_preference, returns TRUE if this handled it.
+

Var Details

action_delegations + + + + +

+

Map of ui_act actions -> proc paths to call. +Signature is `(list/params, mob/user) -> TRUE/FALSE. +Return output is the same as ui_act--TRUE if it should update, FALSE if it should not

key + + + + +

+

The key that will be used for get_constant_data(). +If null, will use the typepath minus /datum/preference_middleware.

preferences + + + + +

+

The preferences datum

Proc Details

get_character_preferences +

+

Merge this into the result of compile_character_preferences.

get_constant_data +

+

Append all of these into /datum/asset/json/preferences.

get_ui_assets +

+

Append all of these into ui_assets

get_ui_data +

+

Append all of these into ui_data

get_ui_static_data +

+

Append all of these into ui_static_data

on_new_character +

+

Called when a character is changed.

pre_set_preference +

+

Called every set_preference, returns TRUE if this handled it.

+ + + diff --git a/datum/preferences.html b/datum/preferences.html new file mode 100644 index 000000000000..767a41c35e31 --- /dev/null +++ b/datum/preferences.html @@ -0,0 +1,257 @@ + + + + + + + /datum/preferences - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

preferences + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

alt_job_titlesAlternative job titles stored in preferences. Assoc list, ie. alt_job_titles["Scientist"] = "Cytologist"
character_preview_viewA preview of the current character
character_savefileThe savefile relating to character preferences, PREFERENCE_CHARACTER
current_windowThe current window, PREFERENCE_TAB_* in [code/__DEFINES/preferences.dm]
favorite_outfitsWhat outfit typepaths we've favorited in the SelectEquipment menu
game_savefileThe savefile relating to core preferences, PREFERENCE_PLAYER
heartedSomeone thought we were nice! We get a little heart in OOC until we join the server past the below time (we can keep it until the end of the round otherwise)
hearted_untilIf we have a hearted commendations, we honor it every time the player loads preferences until this time has been passed
key_bindingsCustom keybindings. Map of keybind names to keyboard inputs. +For example, by default would have "swap_hands" -> list("X")
key_bindings_by_keyCached list of keybindings, mapping keys to actions. +For example, by default would have "X" -> list("swap_hands")
loadout_show_equippedUsed by the loadout UI
middlewareA list of instantiated middleware
preview_prefPreference of how the preview should show the character.
recently_updated_keysA list of keys that have been updated since the last save.
selected_categoryStores the instance of the category we are viewing. (CHARACTER CREATOR)
tainted_character_profilesIf set to TRUE, will update character_profiles on the next ui_data tick.
value_cacheA cache of preference entries to values. +Used to avoid expensive READ_FILE every time a preference is retrieved.

Procs

apply_all_client_preferencesApplies all PREFERENCE_PLAYER preferences
apply_prefs_toApplies the given preferences to a human mob.
check_keybindingschecks through keybindings for outdated unbound keys and updates them
early_update_characterCalled when reading preferences if a savefile update is detected. This proc is for +overriding preference datum values before they are sanitized by deserialize()
get_highest_priority_jobReturns what job is marked as highest
get_key_bindings_by_keyInverts the key_bindings list such that it can be used for key_bindings_by_key
get_savefile_for_savefile_identifierReturns which savefile to use for a given savefile identifier
randomise_appearance_prefsFully randomizes everything in the character.
read_preferenceRead a /datum/preference type and return its value. +This will write to the savefile if a value was not found with the new value.
reset_loadoutResets current loadout slot
safe_transfer_prefs_toSanitizes the preferences, applies the randomization prefs, and then applies the preference to the human mob.
update_preferenceWill perform an update on the preference, but not write to the savefile. +This will, for instance, update the character preference view. +Performs sanity checks.
write_preferenceSet a /datum/preference entry. +Returns TRUE for a successful preference application. +Returns FALSE if it is invalid.
+

Var Details

alt_job_titles + + + + +

+

Alternative job titles stored in preferences. Assoc list, ie. alt_job_titles["Scientist"] = "Cytologist"

character_preview_view + + + + +

+

A preview of the current character

character_savefile + + + + +

+

The savefile relating to character preferences, PREFERENCE_CHARACTER

current_window + + + + +

+

The current window, PREFERENCE_TAB_* in [code/__DEFINES/preferences.dm]

favorite_outfits + + + + +

+

What outfit typepaths we've favorited in the SelectEquipment menu

game_savefile + + + + +

+

The savefile relating to core preferences, PREFERENCE_PLAYER

hearted + + + + +

+

Someone thought we were nice! We get a little heart in OOC until we join the server past the below time (we can keep it until the end of the round otherwise)

hearted_until + + + + +

+

If we have a hearted commendations, we honor it every time the player loads preferences until this time has been passed

key_bindings + + + + +

+

Custom keybindings. Map of keybind names to keyboard inputs. +For example, by default would have "swap_hands" -> list("X")

key_bindings_by_key + + + + +

+

Cached list of keybindings, mapping keys to actions. +For example, by default would have "X" -> list("swap_hands")

loadout_show_equipped + + + + +

+

Used by the loadout UI

middleware + + + + +

+

A list of instantiated middleware

preview_pref + + + + +

+

Preference of how the preview should show the character.

recently_updated_keys + + + + +

+

A list of keys that have been updated since the last save.

selected_category + + + + +

+

Stores the instance of the category we are viewing. (CHARACTER CREATOR)

tainted_character_profiles + + + + +

+

If set to TRUE, will update character_profiles on the next ui_data tick.

value_cache + + + + +

+

A cache of preference entries to values. +Used to avoid expensive READ_FILE every time a preference is retrieved.

Proc Details

apply_all_client_preferences +

+

Applies all PREFERENCE_PLAYER preferences

apply_prefs_to +

+

Applies the given preferences to a human mob.

check_keybindings +

+

checks through keybindings for outdated unbound keys and updates them

early_update_character +

+

Called when reading preferences if a savefile update is detected. This proc is for +overriding preference datum values before they are sanitized by deserialize()

get_highest_priority_job +

+

Returns what job is marked as highest

get_key_bindings_by_key +

+

Inverts the key_bindings list such that it can be used for key_bindings_by_key

get_savefile_for_savefile_identifier +

+

Returns which savefile to use for a given savefile identifier

randomise_appearance_prefs +

+

Fully randomizes everything in the character.

read_preference +

+

Read a /datum/preference type and return its value. +This will write to the savefile if a value was not found with the new value.

reset_loadout +

+

Resets current loadout slot

safe_transfer_prefs_to +

+

Sanitizes the preferences, applies the randomization prefs, and then applies the preference to the human mob.

update_preference +

+

Will perform an update on the preference, but not write to the savefile. +This will, for instance, update the character preference view. +Performs sanity checks.

write_preference +

+

Set a /datum/preference entry. +Returns TRUE for a successful preference application. +Returns FALSE if it is invalid.

+ + + diff --git a/datum/progressbar.html b/datum/progressbar.html new file mode 100644 index 000000000000..b207f5f5e55e --- /dev/null +++ b/datum/progressbar.html @@ -0,0 +1,120 @@ + + + + + + + /datum/progressbar - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

progressbar + + + +

+ + + + + + + + + + + + + + +

Vars

barThe progress bar visual element.
bar_locThe target where this progress bar is applied and where it is shown.
goalEffectively the number of steps the progress bar will need to do before reaching completion.
last_progressControl check to see if the progress was interrupted before reaching its goal.
listindexVariable to ensure smooth visual stacking on multiple progress bars.
userThe mob whose client sees the progress bar.
user_clientThe client seeing the progress bar.

Procs

add_prog_bar_image_to_clientAdds a smoothly-appearing progress bar image to the player's screen.
clean_user_clientRemoves the progress bar image from the user_client and nulls the variable, if it exists.
end_progressCalled on progress end, be it successful or a failure. Wraps up things to delete the datum and bar.
on_user_deleteCalled right before the user's Destroy()
on_user_loginCalled by user's Login(), it transfers the progress bar image to the new client.
updateUpdates the progress bar image visually.
+

Var Details

bar + + + + +

+

The progress bar visual element.

bar_loc + + + + +

+

The target where this progress bar is applied and where it is shown.

goal + + + + +

+

Effectively the number of steps the progress bar will need to do before reaching completion.

last_progress + + + + +

+

Control check to see if the progress was interrupted before reaching its goal.

listindex + + + + +

+

Variable to ensure smooth visual stacking on multiple progress bars.

user + + + + +

+

The mob whose client sees the progress bar.

user_client + + + + +

+

The client seeing the progress bar.

Proc Details

add_prog_bar_image_to_client +

+

Adds a smoothly-appearing progress bar image to the player's screen.

clean_user_client +

+

Removes the progress bar image from the user_client and nulls the variable, if it exists.

end_progress +

+

Called on progress end, be it successful or a failure. Wraps up things to delete the datum and bar.

on_user_delete +

+

Called right before the user's Destroy()

on_user_login +

+

Called by user's Login(), it transfers the progress bar image to the new client.

update +

+

Updates the progress bar image visually.

+ + + diff --git a/datum/proximity_monitor.html b/datum/proximity_monitor.html new file mode 100644 index 000000000000..952309e5b120 --- /dev/null +++ b/datum/proximity_monitor.html @@ -0,0 +1,64 @@ + + + + + + + /datum/proximity_monitor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

proximity_monitor + + + +

+ + + + + + +

Vars

current_rangeThe range of the proximity monitor. Things moving wihin it will trigger HasProximity calls.
hasprox_receiverThe atom that will receive HasProximity calls.
hostThe atom we are tracking
ignore_if_not_on_turfIf we don't check turfs in range if the host's loc isn't a turf
loc_connectionsThe signals of the connect range component, needed to monitor the turfs in range.
+

Var Details

current_range + + + + +

+

The range of the proximity monitor. Things moving wihin it will trigger HasProximity calls.

hasprox_receiver + + + + +

+

The atom that will receive HasProximity calls.

host + + + + +

+

The atom we are tracking

ignore_if_not_on_turf + + + + +

+

If we don't check turfs in range if the host's loc isn't a turf

loc_connections + + + + +

+

The signals of the connect range component, needed to monitor the turfs in range.

+ + + diff --git a/datum/proximity_monitor/advanced/timestop.html b/datum/proximity_monitor/advanced/timestop.html new file mode 100644 index 000000000000..fdd7a866de34 --- /dev/null +++ b/datum/proximity_monitor/advanced/timestop.html @@ -0,0 +1,36 @@ + + + + + + + /datum/proximity_monitor/advanced/timestop - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

timestop + + + +

+ + +

Vars

channelledif true, this doesn't time out after a duration but rather when an immune atom inside moves.
+

Var Details

channelled + + + + +

+

if true, this doesn't time out after a duration but rather when an immune atom inside moves.

+ + + diff --git a/datum/quirk.html b/datum/quirk.html new file mode 100644 index 000000000000..601b3fcce1e3 --- /dev/null +++ b/datum/quirk.html @@ -0,0 +1,152 @@ + + + + + + + /datum/quirk - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

quirk + + + +

+ + + + + + + + + + + + + + + + +

Vars

gain_textText displayed when this quirk is assigned to a mob (and not transferred)
iconThe icon to show in the preferences menu. +This references a tgui icon, so it can be FontAwesome or a tgfont (with a tg- prefix).
lose_textText displayed when this quirk is removed from a mob (and not transferred)
medical_record_textThis text will appear on medical records for the trait. Not yet implemented
quirk_flagsFlags related to this quirk.
quirk_genreIf the quirk is a Boon, Bane, or Neutral
quirk_holderReference to the mob currently tied to this quirk datum. Quirks are not singletons.

Procs

addAny effect that should be applied every single time the quirk is added to any mob, even when transferred.
add_to_holderAdds the quirk to a new quirk_holder.
add_uniqueAny effects from the proc that should not be done multiple times if the quirk is transferred between mobs. +Put stuff like spawning items in here.
on_holder_qdeletingCalled when quirk_holder is qdeleting. Simply qdels this datum and lets Destroy() handle the rest.
on_quirk_holder_first_loginOn client connection set quirk preferences.
post_addAny special effects or chat messages which should be applied. +This proc is guaranteed to run if the mob has a client when the quirk is added. +Otherwise, it runs once on the next COMSIG_MOB_LOGIN.
removeRemoval of any reversible effects added by the quirk.
remove_from_current_holderRemoves the quirk from the current quirk_holder.
+

Var Details

gain_text + + + + +

+

Text displayed when this quirk is assigned to a mob (and not transferred)

icon + + + + +

+

The icon to show in the preferences menu. +This references a tgui icon, so it can be FontAwesome or a tgfont (with a tg- prefix).

lose_text + + + + +

+

Text displayed when this quirk is removed from a mob (and not transferred)

medical_record_text + + + + +

+

This text will appear on medical records for the trait. Not yet implemented

quirk_flags + + + + +

+

Flags related to this quirk.

quirk_genre + + + + +

+

If the quirk is a Boon, Bane, or Neutral

quirk_holder + + + + +

+

Reference to the mob currently tied to this quirk datum. Quirks are not singletons.

Proc Details

add +

+

Any effect that should be applied every single time the quirk is added to any mob, even when transferred.

add_to_holder +

+

Adds the quirk to a new quirk_holder.

+

Performs logic to make sure new_holder is a valid holder of this quirk. +Returns FALSEy if there was some kind of error. Returns TRUE otherwise. +Arguments:

+

add_unique +

+

Any effects from the proc that should not be done multiple times if the quirk is transferred between mobs. +Put stuff like spawning items in here.

on_holder_qdeleting +

+

Called when quirk_holder is qdeleting. Simply qdels this datum and lets Destroy() handle the rest.

on_quirk_holder_first_login +

+

On client connection set quirk preferences.

+

Run post_add to set the client preferences for the quirk. +Clear the attached signal for login. +Used when the quirk has been gained and no client is attached to the mob.

post_add +

+

Any special effects or chat messages which should be applied. +This proc is guaranteed to run if the mob has a client when the quirk is added. +Otherwise, it runs once on the next COMSIG_MOB_LOGIN.

remove +

+

Removal of any reversible effects added by the quirk.

remove_from_current_holder +

+

Removes the quirk from the current quirk_holder.

+ + + diff --git a/datum/quirk/item_quirk.html b/datum/quirk/item_quirk.html new file mode 100644 index 000000000000..88864bfa96c2 --- /dev/null +++ b/datum/quirk/item_quirk.html @@ -0,0 +1,59 @@ + + + + + + + /datum/quirk/item_quirk - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

item_quirk + + + +

+ +

Subtype quirk that has some bonus logic to spawn items for the player.

+ + +

Vars

open_backpackIf true, the backpack automatically opens on post_add(). Usually set to TRUE when an item is equipped inside the player's backpack.
where_items_spawnedLazylist of strings describing where all the quirk items have been spawned.

Procs

give_item_to_holderHandles inserting an item in any of the valid slots provided, then allows for post_add notification.
+

Var Details

open_backpack + + + + +

+

If true, the backpack automatically opens on post_add(). Usually set to TRUE when an item is equipped inside the player's backpack.

where_items_spawned + + + + +

+

Lazylist of strings describing where all the quirk items have been spawned.

Proc Details

give_item_to_holder +

+

Handles inserting an item in any of the valid slots provided, then allows for post_add notification.

+

If no valid slot is available for an item, the item is left at the mob's feet. +Arguments:

+
+ + + diff --git a/datum/quirk/item_quirk/allergic.html b/datum/quirk/item_quirk/allergic.html new file mode 100644 index 000000000000..7450e5eef857 --- /dev/null +++ b/datum/quirk/item_quirk/allergic.html @@ -0,0 +1,36 @@ + + + + + + + /datum/quirk/item_quirk/allergic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

allergic + + + +

+ + +

Vars

allergyTypepath of the reagent we're allergic to
+

Var Details

allergy + + + + +

+

Typepath of the reagent we're allergic to

+ + + diff --git a/datum/radial_menu.html b/datum/radial_menu.html new file mode 100644 index 000000000000..937256fb5bf9 --- /dev/null +++ b/datum/radial_menu.html @@ -0,0 +1,64 @@ + + + + + + + /datum/radial_menu - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

radial_menu + + + +

+ + + + + + +

Vars

choice_datumschoice_id -> /datum/radial_menu_choice
choicesList of choice IDs
choices_iconschoice_id -> icon
choices_valueschoice_id -> choice
radial_slice_iconA replacement icon state for the generic radial slice bg icon. Doesn't affect the next page nor the center buttons
+

Var Details

choice_datums + + + + +

+

choice_id -> /datum/radial_menu_choice

choices + + + + +

+

List of choice IDs

choices_icons + + + + +

+

choice_id -> icon

choices_values + + + + +

+

choice_id -> choice

radial_slice_icon + + + + +

+

A replacement icon state for the generic radial slice bg icon. Doesn't affect the next page nor the center buttons

+ + + diff --git a/datum/radial_menu_choice.html b/datum/radial_menu_choice.html new file mode 100644 index 000000000000..d327efa5ce67 --- /dev/null +++ b/datum/radial_menu_choice.html @@ -0,0 +1,50 @@ + + + + + + + /datum/radial_menu_choice - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

radial_menu_choice + + + +

+ +

Can be provided to choices in radial menus if you want to provide more information

+ + +

Vars

imageRequired -- what to display for this button
infoIf provided, will display an info button that will put this text in your chat
nameIf provided, this will be the name the radial slice hud button. This has priority over everything else.
+

Var Details

image + + + + +

+

Required -- what to display for this button

info + + + + +

+

If provided, will display an info button that will put this text in your chat

name + + + + +

+

If provided, this will be the name the radial slice hud button. This has priority over everything else.

+ + + diff --git a/datum/radio_frequency.html b/datum/radio_frequency.html new file mode 100644 index 000000000000..1fbec3435871 --- /dev/null +++ b/datum/radio_frequency.html @@ -0,0 +1,36 @@ + + + + + + + /datum/radio_frequency - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

radio_frequency + + + +

+ + +

Vars

devicesList of filters -> list of devices
+

Var Details

devices + + + + +

+

List of filters -> list of devices

+ + + diff --git a/datum/reagent.html b/datum/reagent.html new file mode 100644 index 000000000000..a2b12d5632ba --- /dev/null +++ b/datum/reagent.html @@ -0,0 +1,434 @@ + + + + + + + /datum/reagent - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

reagent + + + +

+ +

A single reagent

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

addiction_typesAssoc list with key type of addiction this reagent feeds, and value amount of addiction points added per unit of reagent metabolzied (which means * REAGENTS_METABOLISM every life())
burning_temperatureThermodynamic vars +How hot this reagent burns when it's on fire - null means it can't burn
burning_volumeHow much is consumed when it is burnt per second
chemical_flagsSee fermi_readme.dm REAGENT_DEAD_PROCESS, REAGENT_DONOTSPLIT, REAGENT_INVISIBLE, REAGENT_SNEAKYNAME, REAGENT_SPLITRETAINVOL, REAGENT_CANSYNTH, REAGENT_IMPURE
codex_mechanicsText to insert into the "mechanics" section of the codex.
colorcolor it looks in containers etc
current_cycleincrements everytime on_mob_life is called
dataSpecial data associated with the reagent that will be passed on upon transfer to a new holder.
descriptionnor do they have descriptions
fallback_icon_statefallback icon if the reagent has no glass or shot glass icon state. Used for restaurants.
glass_descdesc applied to glasses with this reagent
glass_iconIcon for the... glass.
glass_icon_stateOtherwise just sets the icon to a normal glass with the mixture of the reagents in the glass.
glass_nameuse for specialty drinks.
glass_priceThe amount a robot will pay for a glass of this (20 units but can be higher if you pour more, be frugal!)
harmfulis it bad for you? Currently only used for borghypo. C2s and Toxins have it TRUE by default.
holderreagent holder this belongs to
ingest_metHow fast the reagent metabolizes when ingested. NOTE: Due to how reagents are coded, if you have an on_metabolize() for blood, this MUST be greater than metabolization_rate.
massThe molar mass of the reagent - if you're adding a reagent that doesn't have a recipe, just add a random number between 10 - 800. Higher numbers are "harder" but it's mostly arbitary.
materialAre we from a material? We might wanna know that for special stuff. Like metalgen. Is replaced with a ref of the material on New()
metabolization_ratehow fast the reagent is metabolized by the mob
metabolizingis it currently metabolizing
namedatums don't have names by default
overdose_thresholdabove this overdoses happen
overdosedYou fucked up and this is now triggering its overdose effects, purge that shit quick.
penetrates_skinThe set of exposure methods this penetrates skin with.
reagent_stateLIQUID, SOLID, GAS
reagent_weightaffects how far it travels when sprayed
self_consumingif false stops metab in liverless mobs
shot_glass_icon_stateused for shot glasses, mostly for alcohol
show_in_codexDoes this reagent and its recipe appear in the Codex?
specific_heatJ/(K*mol)
taste_descriptionused by taste messages
taste_multhow this taste compares to others. Higher values means it is more noticable
touch_metHow fast the reagent metabolizes on touch
valueCargo value per unit
volumepretend this is moles

Procs

affect_ingestIngestion process. Call parent after your override's body, as holder can go null as a result of trans_id_to.
affect_touchTouch process. Don't get covered in acid, now!
burnCalled whenever a reagent is on fire, or is in a holder that is on fire. (WIP)
expose_atomApplies this reagent to an /atom
expose_mobApplies this reagent to a /mob/living
expose_objApplies this reagent to an /obj
expose_turfApplies this reagent to a /turf
get_taste_descriptionShould return a associative list where keys are taste descriptions and values are strength ratios
on_hydroponics_applyNew, standardized method for chemicals to affect hydroponics trays. +Defined on a per-chem level as opposed to by the tray. +Can affect plant's health, stats, or cause the plant to react in certain ways.
on_mergeCalled when two reagents of the same are mixing.
on_mob_addCalled when this reagent is first added to a mob
on_mob_deleteCalled when this reagent is removed while inside a mob
on_mob_end_metabolizeCalled when this reagent stops being metabolized by a liver
on_mob_lifeCalled from /datum/reagents/proc/metabolize
on_mob_metabolizeCalled when this reagent first starts being metabolized. Does NOT get called during microdoses, such as when going from stomach to blood.
on_newCalled after add_reagents creates a new reagent.
on_transferCalled after a reagent is transfered
overdose_endCalled when an overdose ends
overdose_processCalled if the reagent has passed the overdose threshold and is set to be triggering overdose effects
overdose_startCalled when an overdose starts
+

Var Details

addiction_types + + + + +

+

Assoc list with key type of addiction this reagent feeds, and value amount of addiction points added per unit of reagent metabolzied (which means * REAGENTS_METABOLISM every life())

burning_temperature + + + + +

+

Thermodynamic vars +How hot this reagent burns when it's on fire - null means it can't burn

burning_volume + + + + +

+

How much is consumed when it is burnt per second

chemical_flags + + + + +

+

See fermi_readme.dm REAGENT_DEAD_PROCESS, REAGENT_DONOTSPLIT, REAGENT_INVISIBLE, REAGENT_SNEAKYNAME, REAGENT_SPLITRETAINVOL, REAGENT_CANSYNTH, REAGENT_IMPURE

codex_mechanics + + + + +

+

Text to insert into the "mechanics" section of the codex.

color + + + + +

+

color it looks in containers etc

current_cycle + + + + +

+

increments everytime on_mob_life is called

data + + + + +

+

Special data associated with the reagent that will be passed on upon transfer to a new holder.

description + + + + +

+

nor do they have descriptions

fallback_icon_state + + + + +

+

fallback icon if the reagent has no glass or shot glass icon state. Used for restaurants.

glass_desc + + + + +

+

desc applied to glasses with this reagent

glass_icon + + + + +

+

Icon for the... glass.

glass_icon_state + + + + +

+

Otherwise just sets the icon to a normal glass with the mixture of the reagents in the glass.

glass_name + + + + +

+

use for specialty drinks.

glass_price + + + + +

+

The amount a robot will pay for a glass of this (20 units but can be higher if you pour more, be frugal!)

harmful + + + + +

+

is it bad for you? Currently only used for borghypo. C2s and Toxins have it TRUE by default.

holder + + + + +

+

reagent holder this belongs to

ingest_met + + + + +

+

How fast the reagent metabolizes when ingested. NOTE: Due to how reagents are coded, if you have an on_metabolize() for blood, this MUST be greater than metabolization_rate.

mass + + + + +

+

The molar mass of the reagent - if you're adding a reagent that doesn't have a recipe, just add a random number between 10 - 800. Higher numbers are "harder" but it's mostly arbitary.

material + + + + +

+

Are we from a material? We might wanna know that for special stuff. Like metalgen. Is replaced with a ref of the material on New()

metabolization_rate + + + + +

+

how fast the reagent is metabolized by the mob

metabolizing + + + + +

+

is it currently metabolizing

name + + + + +

+

datums don't have names by default

overdose_threshold + + + + +

+

above this overdoses happen

overdosed + + + + +

+

You fucked up and this is now triggering its overdose effects, purge that shit quick.

penetrates_skin + + + + +

+

The set of exposure methods this penetrates skin with.

reagent_state + + + + +

+

LIQUID, SOLID, GAS

reagent_weight + + + + +

+

affects how far it travels when sprayed

self_consuming + + + + +

+

if false stops metab in liverless mobs

shot_glass_icon_state + + + + +

+

used for shot glasses, mostly for alcohol

show_in_codex + + + + +

+

Does this reagent and its recipe appear in the Codex?

specific_heat + + + + +

+

J/(K*mol)

taste_description + + + + +

+

used by taste messages

taste_mult + + + + +

+

how this taste compares to others. Higher values means it is more noticable

touch_met + + + + +

+

How fast the reagent metabolizes on touch

value + + + + +

+

Cargo value per unit

volume + + + + +

+

pretend this is moles

Proc Details

affect_ingest +

+

Ingestion process. Call parent after your override's body, as holder can go null as a result of trans_id_to.

affect_touch +

+

Touch process. Don't get covered in acid, now!

burn +

+

Called whenever a reagent is on fire, or is in a holder that is on fire. (WIP)

expose_atom +

+

Applies this reagent to an /atom

expose_mob +

+

Applies this reagent to a /mob/living

expose_obj +

+

Applies this reagent to an /obj

expose_turf +

+

Applies this reagent to a /turf

get_taste_description +

+

Should return a associative list where keys are taste descriptions and values are strength ratios

on_hydroponics_apply +

+

New, standardized method for chemicals to affect hydroponics trays. +Defined on a per-chem level as opposed to by the tray. +Can affect plant's health, stats, or cause the plant to react in certain ways.

on_merge +

+

Called when two reagents of the same are mixing.

on_mob_add +

+

Called when this reagent is first added to a mob

on_mob_delete +

+

Called when this reagent is removed while inside a mob

on_mob_end_metabolize +

+

Called when this reagent stops being metabolized by a liver

on_mob_life +

+

Called from /datum/reagents/proc/metabolize

on_mob_metabolize +

+

Called when this reagent first starts being metabolized. Does NOT get called during microdoses, such as when going from stomach to blood.

on_new +

+

Called after add_reagents creates a new reagent.

on_transfer +

+

Called after a reagent is transfered

overdose_end +

+

Called when an overdose ends

overdose_process +

+

Called if the reagent has passed the overdose threshold and is set to be triggering overdose effects

overdose_start +

+

Called when an overdose starts

+ + + diff --git a/datum/reagent/ants.html b/datum/reagent/ants.html new file mode 100644 index 000000000000..82dec93a0261 --- /dev/null +++ b/datum/reagent/ants.html @@ -0,0 +1,50 @@ + + + + + + + /datum/reagent/ants - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ants + + + +

+ + + + +

Vars

amount_leftTells the debuff how many ants we are being covered with.
ant_damageHow much damage the ants are going to be doing (rises with each tick the ants are in someone's body)
ant_screamsList of possible common statements to scream when eating ants
+

Var Details

amount_left + + + + +

+

Tells the debuff how many ants we are being covered with.

ant_damage + + + + +

+

How much damage the ants are going to be doing (rises with each tick the ants are in someone's body)

ant_screams + + + + +

+

List of possible common statements to scream when eating ants

+ + + diff --git a/datum/reagent/blob.html b/datum/reagent/blob.html new file mode 100644 index 000000000000..66c2adb96e30 --- /dev/null +++ b/datum/reagent/blob.html @@ -0,0 +1,42 @@ + + + + + + + /datum/reagent/blob - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

blob + + + +

+ + + +

Procs

expose_mobExists to earmark the new overmind arg used by blob reagents.
return_mob_expose_reac_volumeUsed by blob reagents to calculate the reaction volume they should use when exposing mobs.

Proc Details

expose_mob +

+

Exists to earmark the new overmind arg used by blob reagents.

return_mob_expose_reac_volume +

+

Used by blob reagents to calculate the reaction volume they should use when exposing mobs.

+ + + diff --git a/datum/reagent/colorful_reagent.html b/datum/reagent/colorful_reagent.html new file mode 100644 index 000000000000..92c58941d935 --- /dev/null +++ b/datum/reagent/colorful_reagent.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/colorful_reagent - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

colorful_reagent + + + +

+ + +

Procs

expose_atomColors anything it touches a random color.

Proc Details

expose_atom +

+

Colors anything it touches a random color.

+ + + diff --git a/datum/reagent/consumable.html b/datum/reagent/consumable.html new file mode 100644 index 000000000000..289695963a98 --- /dev/null +++ b/datum/reagent/consumable.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/consumable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

consumable + + + +

+ + +

Vars

nutriment_factorHow much nutrition this reagent supplies
+

Var Details

nutriment_factor + + + + +

+

How much nutrition this reagent supplies

+ + + diff --git a/datum/reagent/consumable/ethanol/demonsblood.html b/datum/reagent/consumable/ethanol/demonsblood.html new file mode 100644 index 000000000000..15eab89dd5e5 --- /dev/null +++ b/datum/reagent/consumable/ethanol/demonsblood.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/consumable/ethanol/demonsblood - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

demonsblood + + + +

+ + +

Procs

pre_bloodcrawl_consumedPrevents the imbiber from being dragged into a pool of blood by a slaughter demon.

Proc Details

pre_bloodcrawl_consumed +

+

Prevents the imbiber from being dragged into a pool of blood by a slaughter demon.

+ + + diff --git a/datum/reagent/consumable/ethanol/devilskiss.html b/datum/reagent/consumable/ethanol/devilskiss.html new file mode 100644 index 000000000000..36a5c2db136e --- /dev/null +++ b/datum/reagent/consumable/ethanol/devilskiss.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/consumable/ethanol/devilskiss - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

devilskiss + + + +

+ + +

Procs

on_bloodcrawl_consumedIf eaten by a slaughter demon, the demon will regret it.

Proc Details

on_bloodcrawl_consumed +

+

If eaten by a slaughter demon, the demon will regret it.

+ + + diff --git a/datum/reagent/consumable/frostoil.html b/datum/reagent/consumable/frostoil.html new file mode 100644 index 000000000000..0fde4febeb97 --- /dev/null +++ b/datum/reagent/consumable/frostoil.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/consumable/frostoil - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

frostoil + + + +

+ + +

Vars

specific_heat40 joules per unit.
+

Var Details

specific_heat + + + + +

+

40 joules per unit.

+ + + diff --git a/datum/reagent/consumable/rootbeer.html b/datum/reagent/consumable/rootbeer.html new file mode 100644 index 000000000000..1a27957cc1e0 --- /dev/null +++ b/datum/reagent/consumable/rootbeer.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/consumable/rootbeer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

rootbeer + + + +

+ + +

Vars

effect_enabledIf we activated the effect
+

Var Details

effect_enabled + + + + +

+

If we activated the effect

+ + + diff --git a/datum/reagent/drug/blastoff.html b/datum/reagent/drug/blastoff.html new file mode 100644 index 000000000000..8e82382ddff8 --- /dev/null +++ b/datum/reagent/drug/blastoff.html @@ -0,0 +1,64 @@ + + + + + + + /datum/reagent/drug/blastoff - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

blastoff + + + +

+ + + + + + +

Vars

flip_countHow many flips have we done so far?
spin_countHow many spin have we done so far?
super_flip_requirementHow many flips for a super flip?

Procs

on_flipThis proc listens to the flip signal and throws the mob every third flip
on_spinThis proc listens to the spin signal and throws the mob every third spin
+

Var Details

flip_count + + + + +

+

How many flips have we done so far?

spin_count + + + + +

+

How many spin have we done so far?

super_flip_requirement + + + + +

+

How many flips for a super flip?

Proc Details

on_flip +

+

This proc listens to the flip signal and throws the mob every third flip

on_spin +

+

This proc listens to the spin signal and throws the mob every third spin

+ + + diff --git a/datum/reagent/drug/saturnx.html b/datum/reagent/drug/saturnx.html new file mode 100644 index 000000000000..baa7c3fbe515 --- /dev/null +++ b/datum/reagent/drug/saturnx.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/drug/saturnx - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

saturnx + + + +

+ + +

Procs

turn_man_invisibleThis proc turns the living mob passed as the arg "invisible_man"s invisible by giving him the invisible man trait and updating his body, this changes the sprite of all his organic limbs to a 1 alpha version.

Proc Details

turn_man_invisible +

+

This proc turns the living mob passed as the arg "invisible_man"s invisible by giving him the invisible man trait and updating his body, this changes the sprite of all his organic limbs to a 1 alpha version.

+ + + diff --git a/datum/reagent/lube.html b/datum/reagent/lube.html new file mode 100644 index 000000000000..276652a342fe --- /dev/null +++ b/datum/reagent/lube.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/lube - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

lube + + + +

+ +

Used for clownery

+

Procs

expose_turfWhat kind of slipperiness gets added to turfs

Proc Details

expose_turf +

+

What kind of slipperiness gets added to turfs

+ + + diff --git a/datum/reagent/medicine/saline_glucose.html b/datum/reagent/medicine/saline_glucose.html new file mode 100644 index 000000000000..603183178e91 --- /dev/null +++ b/datum/reagent/medicine/saline_glucose.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/medicine/saline_glucose - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

saline_glucose + + + +

+ + +

Vars

extra_regenIn addition to acting as temporary blood, this much blood is fully regenerated per unit used.
+

Var Details

extra_regen + + + + +

+

In addition to acting as temporary blood, this much blood is fully regenerated per unit used.

+ + + diff --git a/datum/reagent/toxin/venom.html b/datum/reagent/toxin/venom.html new file mode 100644 index 000000000000..96c07c188ef1 --- /dev/null +++ b/datum/reagent/toxin/venom.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/toxin/venom - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

venom + + + +

+ + +

Vars

current_sizeMob Size of the current mob sprite.
+

Var Details

current_size + + + + +

+

Mob Size of the current mob sprite.

+ + + diff --git a/datum/reagent/uranium.html b/datum/reagent/uranium.html new file mode 100644 index 000000000000..922dcab6d18f --- /dev/null +++ b/datum/reagent/uranium.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/uranium - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

uranium + + + +

+ + +

Vars

tox_damageHow much tox damage to deal per tick
+

Var Details

tox_damage + + + + +

+

How much tox damage to deal per tick

+ + + diff --git a/datum/reagent/water.html b/datum/reagent/water.html new file mode 100644 index 000000000000..6211c0fd0b34 --- /dev/null +++ b/datum/reagent/water.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/water - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

water + + + +

+ + +

Procs

on_hydroponics_applyFor weird backwards situations where water manages to get added to trays nutrients, as opposed to being snowflaked away like usual.

Proc Details

on_hydroponics_apply +

+

For weird backwards situations where water manages to get added to trays nutrients, as opposed to being snowflaked away like usual.

+ + + diff --git a/datum/reagents.html b/datum/reagents.html new file mode 100644 index 000000000000..eab83e6e452d --- /dev/null +++ b/datum/reagents.html @@ -0,0 +1,622 @@ + + + + + + + /datum/reagents - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

reagents + + + +

+ +

////////////////////////////Main reagents code///////////////////////////////////////////// +Holder for a bunch of /datum/reagent

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

chem_tempCurrent temp of the holder volume
failed_but_capable_reactionsIf a reaction fails due to temperature, this tracks the required temperature for it to be enabled.
flagsvarious flags, see code__DEFINES\reagents.dm
is_reactingHard check to see if the reagents is presently reacting
last_tickunused
maximum_volumeMax volume of this holder
metabolism_classThe metabolism type this container uses. For mobs.
my_atomThe atom this holder is attached to
previous_reagent_listcached list of reagents typepaths (not object references), this is a lazylist for optimisation
reaction_listlist of reactions currently on going, this is a lazylist for optimisation
reagent_listThe reagents being held
total_volumeCurrent volume of all the reagents
ui_beaker_syncIf we're syncing with the beaker - so return reactions that are actively happening
ui_reaction_idUI lookup stuff +Keeps the id of the reaction displayed in the ui
ui_reaction_indexWhat index we're at if we have multiple reactions for a reagent product
ui_reagent_idKeeps the id of the reagent displayed in the ui
ui_tags_selectedThe bitflag of the currently selected tags in the ui

Procs

add_reagentAdds a reagent to this holder
add_reagent_listLike add_reagent but you can enter a list. +Arguments
add_reagent_up_toAdds a reagent up to a cap.
adjust_thermal_energy
clear_reagentsRemoves all reagents
copy_dataShallow copies (deep copy of viruses) data from the provided reagent into our copy of that reagent
copy_toCopies the reagents to the target object
del_reagentRemoves an specific reagent from this holder +Arguments
determine_reaction_thermicsReturns a string descriptor of a reactions themic_constant
end_metabolizationSignals that metabolization has stopped, triggering the end of trait-based effects
exposeApplies the relevant expose_ proc for every reagent in this holder
expose_singleSame as /datum/reagents/proc/expose but only for one reagent
expose_temperatureApplies heat to this holder
generate_taste_messageReturns what this holder's reagents taste like
generate_thermodynamic_profileGenerates a (rough) rate vs temperature graph profile
getHeatCapacityReturns the total heat capacity for all of the reagents currently in this holder.
get_datahelper function to preserve data across reactions (needed for xenoarch)
get_external_reagent_log_stringOutputs a log-friendly list of reagents based on an external reagent list.
get_master_reagentGet a reference to the reagent there is the most of in this holder
get_master_reagent_idGet the id of the reagent there is the most of in this holder
get_master_reagent_nameGet the name of the reagent there is the most of in this holder
get_priority_instant_reactionPossibly remove - see if multiple instant reactions is okay (Though, this "sorts" reactions by temp decending) +Presently unused
get_reagentGet a reference to the reagent if it exists
get_reagent_amountGet the amount of this reagent
get_reagent_log_stringOutputs a log-friendly list of reagents based on the internal reagent_list.
get_reagent_namesGet a comma separated string of every reagent name in this holder. UNUSED
handle_reactionsHandle any reactions possible in this holder +Also UPDATES the reaction list +High potential for infinite loopsa if you're editing this.
has_changed_stateChecks to see if the reagents has a difference in reagents_list and previous_reagent_list (I.e. if there's a difference between the previous call and the last) +Also checks to see if the saved reactions in failed_but_capable_reactions can start as a result of temp change
has_chemical_flagCheck if this holder contains a reagent with a chemical_flags containing this flag +Reagent takes the bitflag to search for +Amount checks for having a specific amount of reagents matching that chemical
has_reagentCheck if this holder contains this reagent. +Reagent takes a PATH to a reagent. +Amount checks for having a specific amount of that chemical. +Needs matabolizing takes into consideration if the chemical is matabolizing when it's checked.
has_reagent_listLike has_reagent but you can enter a list.
holder_fullIs this holder full or not
instant_reactOld reaction mechanics, edited to work on one only +This is changed from the old - purity of the reagents will affect yield
is_reaction_overheatingReturns TRUE if this container's temp would overheat a reaction.
isolate_reagentRemove every reagent except this one
metabolizeTriggers metabolizing for all the reagents in this holder
multiply_reagentsMultiplies the reagents inside this holder by a specific amount
reaction_messageGives feedback that a reaction is occuring. Returns an icon2html string.
remove_allRemoves all reagents either proportionally(amount is the direct volume to remove) +when proportional the total volume of all reagents removed will equal to amount +or relatively(amount is a percentile between 0->1) when relative amount is the % +of each reagent to be removed
remove_reagentRemoves a specific reagent. can supress reactions if needed +Arguments
remove_reagent_listLike remove_reagent but you can enter a list.
set_datahelper function to preserve data across reactions (needed for xenoarch)
set_temperature
trans_id_toTransfer a specific reagent id to the target object. Accepts a reagent instance, but assumes the reagent is in src.
trans_toTransfer some stuff from this holder to a target object
ui_interactUI / REAGENTS LOOKUP CODE
update_totalUpdates /datum/reagents/var/total_volume
+

Var Details

chem_temp + + + + +

+

Current temp of the holder volume

failed_but_capable_reactions + + + + +

+

If a reaction fails due to temperature, this tracks the required temperature for it to be enabled.

flags + + + + +

+

various flags, see code__DEFINES\reagents.dm

is_reacting + + + + +

+

Hard check to see if the reagents is presently reacting

last_tick + + + + +

+

unused

maximum_volume + + + + +

+

Max volume of this holder

metabolism_class + + + + +

+

The metabolism type this container uses. For mobs.

my_atom + + + + +

+

The atom this holder is attached to

previous_reagent_list + + + + +

+

cached list of reagents typepaths (not object references), this is a lazylist for optimisation

reaction_list + + + + +

+

list of reactions currently on going, this is a lazylist for optimisation

reagent_list + + + + +

+

The reagents being held

total_volume + + + + +

+

Current volume of all the reagents

ui_beaker_sync + + + + +

+

If we're syncing with the beaker - so return reactions that are actively happening

ui_reaction_id + + + + +

+

UI lookup stuff +Keeps the id of the reaction displayed in the ui

ui_reaction_index + + + + +

+

What index we're at if we have multiple reactions for a reagent product

ui_reagent_id + + + + +

+

Keeps the id of the reagent displayed in the ui

ui_tags_selected + + + + +

+

The bitflag of the currently selected tags in the ui

Proc Details

add_reagent +

+

Adds a reagent to this holder

+

Arguments:

+

add_reagent_list +

+

Like add_reagent but you can enter a list. +Arguments

+

add_reagent_up_to +

+

Adds a reagent up to a cap.

adjust_thermal_energy +

+

clear_reagents +

+

Removes all reagents

copy_data +

+

Shallow copies (deep copy of viruses) data from the provided reagent into our copy of that reagent

copy_to +

+

Copies the reagents to the target object

del_reagent +

+

Removes an specific reagent from this holder +Arguments

+

determine_reaction_thermics +

+

Returns a string descriptor of a reactions themic_constant

end_metabolization +

+

Signals that metabolization has stopped, triggering the end of trait-based effects

expose +

+

Applies the relevant expose_ proc for every reagent in this holder

+ +

Arguments

+

expose_single +

+

Same as /datum/reagents/proc/expose but only for one reagent

expose_temperature +

+

Applies heat to this holder

generate_taste_message +

+

Returns what this holder's reagents taste like

+

Arguments:

+

generate_thermodynamic_profile +

+

Generates a (rough) rate vs temperature graph profile

getHeatCapacity +

+

Returns the total heat capacity for all of the reagents currently in this holder.

get_data +

+

helper function to preserve data across reactions (needed for xenoarch)

get_external_reagent_log_string +

+

Outputs a log-friendly list of reagents based on an external reagent list.

+

Arguments:

+

get_master_reagent +

+

Get a reference to the reagent there is the most of in this holder

get_master_reagent_id +

+

Get the id of the reagent there is the most of in this holder

get_master_reagent_name +

+

Get the name of the reagent there is the most of in this holder

get_priority_instant_reaction +

+

Possibly remove - see if multiple instant reactions is okay (Though, this "sorts" reactions by temp decending) +Presently unused

get_reagent +

+

Get a reference to the reagent if it exists

get_reagent_amount +

+

Get the amount of this reagent

get_reagent_log_string +

+

Outputs a log-friendly list of reagents based on the internal reagent_list.

+

Arguments:

+

get_reagent_names +

+

Get a comma separated string of every reagent name in this holder. UNUSED

handle_reactions +

+

Handle any reactions possible in this holder +Also UPDATES the reaction list +High potential for infinite loopsa if you're editing this.

has_changed_state +

+

Checks to see if the reagents has a difference in reagents_list and previous_reagent_list (I.e. if there's a difference between the previous call and the last) +Also checks to see if the saved reactions in failed_but_capable_reactions can start as a result of temp change

has_chemical_flag +

+

Check if this holder contains a reagent with a chemical_flags containing this flag +Reagent takes the bitflag to search for +Amount checks for having a specific amount of reagents matching that chemical

has_reagent +

+

Check if this holder contains this reagent. +Reagent takes a PATH to a reagent. +Amount checks for having a specific amount of that chemical. +Needs matabolizing takes into consideration if the chemical is matabolizing when it's checked.

has_reagent_list +

+

Like has_reagent but you can enter a list.

holder_full +

+

Is this holder full or not

instant_react +

+

Old reaction mechanics, edited to work on one only +This is changed from the old - purity of the reagents will affect yield

is_reaction_overheating +

+

Returns TRUE if this container's temp would overheat a reaction.

isolate_reagent +

+

Remove every reagent except this one

metabolize +

+

Triggers metabolizing for all the reagents in this holder

+

Arguments:

+

multiply_reagents +

+

Multiplies the reagents inside this holder by a specific amount

reaction_message +

+

Gives feedback that a reaction is occuring. Returns an icon2html string.

remove_all +

+

Removes all reagents either proportionally(amount is the direct volume to remove) +when proportional the total volume of all reagents removed will equal to amount +or relatively(amount is a percentile between 0->1) when relative amount is the % +of each reagent to be removed

+

Arguments

+

remove_reagent +

+

Removes a specific reagent. can supress reactions if needed +Arguments

+

remove_reagent_list +

+

Like remove_reagent but you can enter a list.

set_data +

+

helper function to preserve data across reactions (needed for xenoarch)

set_temperature +

+

trans_id_to +

+

Transfer a specific reagent id to the target object. Accepts a reagent instance, but assumes the reagent is in src.

trans_to +

+

Transfer some stuff from this holder to a target object

+

Arguments:

+

ui_interact +

+

UI / REAGENTS LOOKUP CODE

update_total +

+

Updates /datum/reagents/var/total_volume

+ + + diff --git a/datum/reality_smash_tracker.html b/datum/reality_smash_tracker.html new file mode 100644 index 000000000000..fb32e487acf3 --- /dev/null +++ b/datum/reality_smash_tracker.html @@ -0,0 +1,105 @@ + + + + + + + /datum/reality_smash_tracker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

reality_smash_tracker + + + +

+ +

#Reality smash tracker

+

A global singleton data that tracks all the heretic +influences ("reality smashes") that we've created, +and all of the heretics (minds) that can see them.

+

Handles ensuring all minds can see influences, generating +new influences for new heretic minds, and allowing heretics +to see new influences that are created.

+ + + + + + + + +

Vars

num_drainedThe total number of influences that have been drained, for tracking.
smashesList of tracked influences (reality smashes)
tracked_hereticsList of minds with the ability to see influences

Procs

add_to_smashesAllow [to_add] to see all tracked reality smashes.
add_tracked_mindAdds a mind to the list of people that can see the reality smashes
generate_new_influencesGenerates a set amount of reality smashes +based on the number of already existing smashes +and the number of minds we're tracking.
remove_from_smashesStop [to_remove] from seeing any tracked reality smashes.
remove_tracked_mindRemoves a mind from the list of people that can see the reality smashes
rework_networkAutomatically fixes the target and smash network
+

Var Details

num_drained + + + + +

+

The total number of influences that have been drained, for tracking.

smashes + + + + +

+

List of tracked influences (reality smashes)

tracked_heretics + + + + +

+

List of minds with the ability to see influences

Proc Details

add_to_smashes +

+

Allow [to_add] to see all tracked reality smashes.

add_tracked_mind +

+

Adds a mind to the list of people that can see the reality smashes

+

Use this whenever you want to add someone to the list

generate_new_influences +

+

Generates a set amount of reality smashes +based on the number of already existing smashes +and the number of minds we're tracking.

remove_from_smashes +

+

Stop [to_remove] from seeing any tracked reality smashes.

remove_tracked_mind +

+

Removes a mind from the list of people that can see the reality smashes

+

Use this whenever you want to remove someone from the list

rework_network +

+

Automatically fixes the target and smash network

+

Fixes any bugs that are caused by late Generate() or exchanging clients

+ + + diff --git a/datum/religion_rites.html b/datum/religion_rites.html new file mode 100644 index 000000000000..01d13f17aa9c --- /dev/null +++ b/datum/religion_rites.html @@ -0,0 +1,85 @@ + + + + + + + /datum/religion_rites - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

religion_rites + + + +

+ + + + + + + + + +

Vars

auto_deletedoes the altar auto-delete the rite
descDescription of the religious rite
invoke_msgmessage when you invoke
namename of the religious rite
ritual_invocationslist of invocations said (strings) throughout the rite
ritual_lengthlength it takes to complete the ritual

Procs

invoke_effectDoes the thing if the rite was successfully performed. return value denotes that the effect successfully (IE a harm rite does harm)
perform_riteCalled to perform the invocation of the rite, with args being the performer and the altar where it's being performed. Maybe you want it to check for something else?
+

Var Details

auto_delete + + + + +

+

does the altar auto-delete the rite

desc + + + + +

+

Description of the religious rite

invoke_msg + + + + +

+

message when you invoke

name + + + + +

+

name of the religious rite

ritual_invocations + + + + +

+

list of invocations said (strings) throughout the rite

ritual_length + + + + +

+

length it takes to complete the ritual

Proc Details

invoke_effect +

+

Does the thing if the rite was successfully performed. return value denotes that the effect successfully (IE a harm rite does harm)

perform_rite +

+

Called to perform the invocation of the rite, with args being the performer and the altar where it's being performed. Maybe you want it to check for something else?

+ + + diff --git a/datum/religion_rites/adapted_food.html b/datum/religion_rites/adapted_food.html new file mode 100644 index 000000000000..c1266cc0d3d2 --- /dev/null +++ b/datum/religion_rites/adapted_food.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/adapted_food - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

adapted_food + + + +

+ + +

Vars

mold_targetthe food that will be molded, only one per rite
+

Var Details

mold_target + + + + +

+

the food that will be molded, only one per rite

+ + + diff --git a/datum/religion_rites/burning_sacrifice.html b/datum/religion_rites/burning_sacrifice.html new file mode 100644 index 000000000000..98ce9d62b2ed --- /dev/null +++ b/datum/religion_rites/burning_sacrifice.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/burning_sacrifice - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

burning_sacrifice + + + +

+ + +

Vars

chosen_sacrificethe burning corpse chosen for the sacrifice of the rite
+

Var Details

chosen_sacrifice + + + + +

+

the burning corpse chosen for the sacrifice of the rite

+ + + diff --git a/datum/religion_rites/ceremonial_weapon.html b/datum/religion_rites/ceremonial_weapon.html new file mode 100644 index 000000000000..3de3f0ea2a25 --- /dev/null +++ b/datum/religion_rites/ceremonial_weapon.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/ceremonial_weapon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ceremonial_weapon + + + +

+ + +

Vars

convertedthe material that will be attempted to be forged into a weapon
+

Var Details

converted + + + + +

+

the material that will be attempted to be forged into a weapon

+ + + diff --git a/datum/religion_rites/deaconize.html b/datum/religion_rites/deaconize.html new file mode 100644 index 000000000000..a351ce0dfdbf --- /dev/null +++ b/datum/religion_rites/deaconize.html @@ -0,0 +1,37 @@ + + + + + + + /datum/religion_rites/deaconize - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

deaconize + + + +

+ +

Honorbound God +Makes the person holy, but they now also have to follow the honorbound code (CBT). Actually earns favor, convincing others to uphold the code (tm) is not easy

+

Vars

new_crusaderthe invited crusader
+

Var Details

new_crusader + + + + +

+

the invited crusader

+ + + diff --git a/datum/religion_rites/fireproof.html b/datum/religion_rites/fireproof.html new file mode 100644 index 000000000000..6a0e08ac54d3 --- /dev/null +++ b/datum/religion_rites/fireproof.html @@ -0,0 +1,45 @@ + + + + + + + /datum/religion_rites/fireproof - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

fireproof + + + +

+ + + +

Vars

chosen_clothingthe piece of clothing that will be fireproofed, only one per rite

Procs

apply_fireproofPyre God +apply a bunch of fire immunity effect to clothing
+

Var Details

chosen_clothing + + + + +

+

the piece of clothing that will be fireproofed, only one per rite

Proc Details

apply_fireproof +

+

Pyre God +apply a bunch of fire immunity effect to clothing

+ + + diff --git a/datum/religion_rites/ritual_totem.html b/datum/religion_rites/ritual_totem.html new file mode 100644 index 000000000000..c230e5d86489 --- /dev/null +++ b/datum/religion_rites/ritual_totem.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/ritual_totem - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ritual_totem + + + +

+ + +

Vars

convertedthe food that will be molded, only one per rite
+

Var Details

converted + + + + +

+

the food that will be molded, only one per rite

+ + + diff --git a/datum/religion_rites/song_tuner.html b/datum/religion_rites/song_tuner.html new file mode 100644 index 000000000000..5590f41d1fa1 --- /dev/null +++ b/datum/religion_rites/song_tuner.html @@ -0,0 +1,89 @@ + + + + + + + /datum/religion_rites/song_tuner - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

song_tuner + + + +

+ +

prototype for rites that tune a song.

+ + + + + + +

Vars

glow_colorwhat the instrument will glow when playing
particles_pathparticle effect of playing this tune
repeats_okayif repeats count as continuations instead of a song's end, TRUE
song_invocation_messagepersonal message sent to the chaplain as feedback for their chosen song
song_start_messagevisible message sent to indicate a song will have special properties

Procs

finish_effectWhen the song is long enough, it will have a special effect when it ends.
song_effectPerform the song effect.
+

Var Details

glow_color + + + + +

+

what the instrument will glow when playing

particles_path + + + + +

+

particle effect of playing this tune

repeats_okay + + + + +

+

if repeats count as continuations instead of a song's end, TRUE

song_invocation_message + + + + +

+

personal message sent to the chaplain as feedback for their chosen song

song_start_message + + + + +

+

visible message sent to indicate a song will have special properties

Proc Details

finish_effect +

+

When the song is long enough, it will have a special effect when it ends.

+

If you want something that ALWAYS goes off regardless of song length, affix it to the Destroy proc. The rite is destroyed when smooth tunes is done.

+

Arguments:

+

song_effect +

+

Perform the song effect.

+

Arguments:

+
+ + + diff --git a/datum/religion_rites/song_tuner/lullaby.html b/datum/religion_rites/song_tuner/lullaby.html new file mode 100644 index 000000000000..9c1e816eb67f --- /dev/null +++ b/datum/religion_rites/song_tuner/lullaby.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/song_tuner/lullaby - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lullaby + + + +

+ + +

Vars

listener_counterassoc list of weakrefs to who heard the song, for the finishing effect to look at.
+

Var Details

listener_counter + + + + +

+

assoc list of weakrefs to who heard the song, for the finishing effect to look at.

+ + + diff --git a/datum/religion_rites/sparring_contract.html b/datum/religion_rites/sparring_contract.html new file mode 100644 index 000000000000..15095429f142 --- /dev/null +++ b/datum/religion_rites/sparring_contract.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/sparring_contract - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sparring_contract + + + +

+ +

sparring god rites

+

Vars

contract_targetpaper to turn into a sparring contract
+

Var Details

contract_target + + + + +

+

paper to turn into a sparring contract

+ + + diff --git a/datum/religion_rites/summon_rules.html b/datum/religion_rites/summon_rules.html new file mode 100644 index 000000000000..c71f64a0387f --- /dev/null +++ b/datum/religion_rites/summon_rules.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/summon_rules - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

summon_rules + + + +

+ + +

Vars

writ_targetpaper to turn into holy writ
+

Var Details

writ_target + + + + +

+

paper to turn into holy writ

+ + + diff --git a/datum/religion_sect.html b/datum/religion_sect.html new file mode 100644 index 000000000000..6d82b515e58e --- /dev/null +++ b/datum/religion_sect.html @@ -0,0 +1,213 @@ + + + + + + + /datum/religion_sect - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Religious Sects + + + +

+ +

Religious Sects are a way to convert the fun of having an active 'god' (admin) to code-mechanics so you aren't having to press adminwho.

+

Sects are not meant to overwrite the fun of choosing a custom god/religion, but meant to enhance it. +The idea is that Space Jesus (or whoever you worship) can be an evil bloodgod who takes the lifeforce out of people, a nature lover, or all things righteous and good. You decide!

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_ritesCurrently Active (non-deleted) rites
alignmentholder for alignments.
altar_iconChanges the Altar of Gods icon
altar_icon_stateChanges the Altar of Gods icon_state
candle_overlayWhether the structure has CANDLE OVERLAYS!
default_item_favorThe default value for an item that can be sacrificed
descOpening message when someone gets converted
desired_itemsTurns into 'desired_items_typecache', and is optionally assoc'd to sacrifice instructions if needed.
desired_items_typecacheAutopopulated by desired_items
favorThe Sect's 'Mana'
invalidating_qualitiesspecies traits that block you from picking
max_favorThe max amount of favor the sect can have
nameName of the religious sect
quoteFlavorful quote given about the sect, used in tgui
rites_listLists of rites by type. Converts itself into a list of rites with "name - desc (favor_cost)" = type
starterDoes this require something before being available as an option?
tgui_iconTgui icon used by this sect - https://fontawesome.com/icons

Procs

adjust_favorAdjust Favor by a certain amount. Can provide optional features based on a user. Returns actual amount added/removed
can_sacrificeReturns TRUE if the item can be sacrificed. Can be modified to fit item being tested as well as person offering. Returning TRUE will stop the attackby sequence and proceed to on_sacrifice.
on_conversionActivates once selected and on newjoins, oriented around people who become holy.
on_riteuseActivates when an individual uses a rite. Can provide different/additional benefits depending on the user.
on_sacrificeActivates when the sect sacrifices an item. This proc has NO bearing on the attackby sequence of other objects when used in conjunction with the religious_tool component.
on_selectActivates once selected
sect_blessReplaces the bible's bless mechanic. Return TRUE if you want to not do the brain hit.
set_favorSets favor to a specific amount. Can provide optional features based on a user.
tool_examineReturns a description for religious tools
+

Var Details

active_rites + + + + +

+

Currently Active (non-deleted) rites

alignment + + + + +

+

holder for alignments.

altar_icon + + + + +

+

Changes the Altar of Gods icon

altar_icon_state + + + + +

+

Changes the Altar of Gods icon_state

candle_overlay + + + + +

+

Whether the structure has CANDLE OVERLAYS!

default_item_favor + + + + +

+

The default value for an item that can be sacrificed

desc + + + + +

+

Opening message when someone gets converted

desired_items + + + + +

+

Turns into 'desired_items_typecache', and is optionally assoc'd to sacrifice instructions if needed.

desired_items_typecache + + + + +

+

Autopopulated by desired_items

favor + + + + +

+

The Sect's 'Mana'

invalidating_qualities + + + + +

+

species traits that block you from picking

max_favor + + + + +

+

The max amount of favor the sect can have

name + + + + +

+

Name of the religious sect

quote + + + + +

+

Flavorful quote given about the sect, used in tgui

rites_list + + + + +

+

Lists of rites by type. Converts itself into a list of rites with "name - desc (favor_cost)" = type

starter + + + + +

+

Does this require something before being available as an option?

tgui_icon + + + + +

+

Tgui icon used by this sect - https://fontawesome.com/icons

Proc Details

adjust_favor +

+

Adjust Favor by a certain amount. Can provide optional features based on a user. Returns actual amount added/removed

can_sacrifice +

+

Returns TRUE if the item can be sacrificed. Can be modified to fit item being tested as well as person offering. Returning TRUE will stop the attackby sequence and proceed to on_sacrifice.

on_conversion +

+

Activates once selected and on newjoins, oriented around people who become holy.

on_riteuse +

+

Activates when an individual uses a rite. Can provide different/additional benefits depending on the user.

on_sacrifice +

+

Activates when the sect sacrifices an item. This proc has NO bearing on the attackby sequence of other objects when used in conjunction with the religious_tool component.

on_select +

+

Activates once selected

sect_bless +

+

Replaces the bible's bless mechanic. Return TRUE if you want to not do the brain hit.

set_favor +

+

Sets favor to a specific amount. Can provide optional features based on a user.

tool_examine +

+

Returns a description for religious tools

+ + + diff --git a/datum/religion_sect/honorbound.html b/datum/religion_sect/honorbound.html new file mode 100644 index 000000000000..b5a7263b0ecb --- /dev/null +++ b/datum/religion_sect/honorbound.html @@ -0,0 +1,52 @@ + + + + + + + /datum/religion_sect/honorbound - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

honorbound + + + +

+ + + + +

Vars

currently_askingpeople who have been offered an invitation, they haven't finished the alert though.
possible_crusaderspeople who have agreed to join the crusade, and can be deaconized

Procs

invite_crusaderCalled by deaconize rite, this async'd proc waits for a response on joining the sect. +If yes, the deaconize rite can now recruit them instead of just offering invites
+

Var Details

currently_asking + + + + +

+

people who have been offered an invitation, they haven't finished the alert though.

possible_crusaders + + + + +

+

people who have agreed to join the crusade, and can be deaconized

Proc Details

invite_crusader +

+

Called by deaconize rite, this async'd proc waits for a response on joining the sect. +If yes, the deaconize rite can now recruit them instead of just offering invites

+ + + diff --git a/datum/religion_sect/spar.html b/datum/religion_sect/spar.html new file mode 100644 index 000000000000..4a04cc706532 --- /dev/null +++ b/datum/religion_sect/spar.html @@ -0,0 +1,57 @@ + + + + + + + /datum/religion_sect/spar - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

spar + + + +

+ + + + + +

Vars

arenasplaces you can spar in. rites can be used to expand this list with new arenas!
existing_contractthe one allowed contract. making a new contract dusts the old one
matches_losthow many matches you've lost with holy stakes. 3 = excommunication
past_opponentspast opponents who you've beaten in holy battles. You can't fight them again to prevent favor farming
+

Var Details

arenas + + + + +

+

places you can spar in. rites can be used to expand this list with new arenas!

existing_contract + + + + +

+

the one allowed contract. making a new contract dusts the old one

matches_lost + + + + +

+

how many matches you've lost with holy stakes. 3 = excommunication

past_opponents + + + + +

+

past opponents who you've beaten in holy battles. You can't fight them again to prevent favor farming

+ + + diff --git a/datum/request.html b/datum/request.html new file mode 100644 index 000000000000..d106624e9cf6 --- /dev/null +++ b/datum/request.html @@ -0,0 +1,85 @@ + + + + + + + /datum/request - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Request + + + +

+ +

A representation of an in-game request, such as a prayer.

+ + + + + + + +

Vars

atomic_idAtomic ID for increment unique request IDs
idUnique ID of the request
messageThe message associated with the request
ownerThe owner of the request, the player who created it
owner_ckeyThe ckey of the owner, used for re-binding variables on login
owner_nameThe name of the owner, in format /, assigned at time of request creation
req_typeThe type of request
timestampWhen the request was created
+

Var Details

atomic_id + + + + +

+

Atomic ID for increment unique request IDs

id + + + + +

+

Unique ID of the request

message + + + + +

+

The message associated with the request

owner + + + + +

+

The owner of the request, the player who created it

owner_ckey + + + + +

+

The ckey of the owner, used for re-binding variables on login

owner_name + + + + +

+

The name of the owner, in format /, assigned at time of request creation

req_type + + + + +

+

The type of request

timestamp + + + + +

+

When the request was created

+ + + diff --git a/datum/request_manager.html b/datum/request_manager.html new file mode 100644 index 000000000000..0dba1620ffab --- /dev/null +++ b/datum/request_manager.html @@ -0,0 +1,132 @@ + + + + + + + /datum/request_manager - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Request Manager + + + +

+ +

Handles all player requests (prayers, centcom requests, syndicate requests) +that occur in the duration of a round.

+ + + + + + + + +

Vars

requestsAssociative list of ckey -> list of requests
requests_by_idList where requests can be accessed by ID

Procs

client_loginUsed in the new client pipeline to catch when clients are reconnecting and need to have their +reference re-assigned to the 'owner' variable of any requests
client_logoutUsed in the destroy client pipeline to catch when clients are disconnecting and need to have their +reference nulled on the 'owner' variable of any requests
message_centcomCreates a request for a Centcom message
message_syndicateCreates a request for a Syndicate message
nuke_requestCreates a request for the nuclear self destruct codes
prayCreates a request for a prayer, and notifies admins who have the sound notifications enabled when appropriate
request_for_clientCreates a request and registers the request with all necessary internal tracking lists
+

Var Details

requests + + + + +

+

Associative list of ckey -> list of requests

requests_by_id + + + + +

+

List where requests can be accessed by ID

Proc Details

client_login +

+

Used in the new client pipeline to catch when clients are reconnecting and need to have their +reference re-assigned to the 'owner' variable of any requests

+

Arguments:

+

client_logout +

+

Used in the destroy client pipeline to catch when clients are disconnecting and need to have their +reference nulled on the 'owner' variable of any requests

+

Arguments:

+

message_centcom +

+

Creates a request for a Centcom message

+

Arguments:

+

message_syndicate +

+

Creates a request for a Syndicate message

+

Arguments:

+

nuke_request +

+

Creates a request for the nuclear self destruct codes

+

Arguments:

+

pray +

+

Creates a request for a prayer, and notifies admins who have the sound notifications enabled when appropriate

+

Arguments:

+

request_for_client +

+

Creates a request and registers the request with all necessary internal tracking lists

+

Arguments:

+
+ + + diff --git a/datum/roll_result.html b/datum/roll_result.html new file mode 100644 index 000000000000..a3b94b46efe7 --- /dev/null +++ b/datum/roll_result.html @@ -0,0 +1,71 @@ + + + + + + + /datum/roll_result - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

roll_result + + + +

+ + + + + + + +

Vars

crit_success_probThe % chance to have rolled a critical success (0-100)
outcomeOutcome of the roll, failure, success, etc.
requirementThe value required to pass the roll.
rollThe numerical value rolled.
skill_type_usedTypepath of the skill used. Optional.
success_probThe % chance to have rolled a success (0-100)
+

Var Details

crit_success_prob + + + + +

+

The % chance to have rolled a critical success (0-100)

outcome + + + + +

+

Outcome of the roll, failure, success, etc.

requirement + + + + +

+

The value required to pass the roll.

roll + + + + +

+

The numerical value rolled.

skill_type_used + + + + +

+

Typepath of the skill used. Optional.

success_prob + + + + +

+

The % chance to have rolled a success (0-100)

+ + + diff --git a/datum/round_event/mass_hallucination.html b/datum/round_event/mass_hallucination.html new file mode 100644 index 000000000000..34c1a26bac0b --- /dev/null +++ b/datum/round_event/mass_hallucination.html @@ -0,0 +1,57 @@ + + + + + + + /datum/round_event/mass_hallucination - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mass_hallucination + + + +

+ + + + + +

Vars

generic_poolPool for generic hallucinations. Types can't key lists, so we need to invert the accesses.
rare_sound_pool'Weird' sound keys, index by them to get the friendly name.
sound_pool'normal' sound keys, index by them to get the friendly name.
stationmessage_poolFake 'Station Message' keys, index by them to get the friendly name.
+

Var Details

generic_pool + + + + +

+

Pool for generic hallucinations. Types can't key lists, so we need to invert the accesses.

rare_sound_pool + + + + +

+

'Weird' sound keys, index by them to get the friendly name.

sound_pool + + + + +

+

'normal' sound keys, index by them to get the friendly name.

stationmessage_pool + + + + +

+

Fake 'Station Message' keys, index by them to get the friendly name.

+ + + diff --git a/datum/round_event/stray_cargo.html b/datum/round_event/stray_cargo.html new file mode 100644 index 000000000000..ff9349a2703a --- /dev/null +++ b/datum/round_event/stray_cargo.html @@ -0,0 +1,80 @@ + + + + + + + /datum/round_event/stray_cargo - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

stray_cargo + + + +

+ +

Spawns a cargo pod containing a random cargo supply pack on a random area of the station

+ + + + + + +

Vars

announceChanceRandomly picked area
stray_spawnable_supply_packsList of possible supply packs dropped in the pod, if empty picks from the cargo list

Procs

announceList of default spawnable supply packs, filtered from the cargo list
find_event_areaPicks an area that wouldn't risk critical damage if hit by a pod explosion
make_podHandles the creation of the pod, in case it needs to be modified beforehand
setupTries to find a valid area, throws an error if none are found +Also randomizes the start timer
startSpawns a random supply pack, puts it in a pod, and spawns it on a random tile of the selected area
+

Var Details

announceChance + + + + +

+

Randomly picked area

stray_spawnable_supply_packs + + + + +

+

List of possible supply packs dropped in the pod, if empty picks from the cargo list

Proc Details

announce +

+

List of default spawnable supply packs, filtered from the cargo list

find_event_area +

+

Picks an area that wouldn't risk critical damage if hit by a pod explosion

make_pod +

+

Handles the creation of the pod, in case it needs to be modified beforehand

setup +

+

Tries to find a valid area, throws an error if none are found +Also randomizes the start timer

start +

+

Spawns a random supply pack, puts it in a pod, and spawns it on a random tile of the selected area

+ + + diff --git a/datum/round_event/stray_cargo/syndicate.html b/datum/round_event/stray_cargo/syndicate.html new file mode 100644 index 000000000000..a00666c0420e --- /dev/null +++ b/datum/round_event/stray_cargo/syndicate.html @@ -0,0 +1,35 @@ + + + + + + + /datum/round_event/stray_cargo/syndicate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

syndicate + + + +

+ + +

Procs

make_podApply the syndicate pod skin

Proc Details

make_pod +

+

Apply the syndicate pod skin

+ + + diff --git a/datum/round_event_control.html b/datum/round_event_control.html new file mode 100644 index 000000000000..de60528581f1 --- /dev/null +++ b/datum/round_event_control.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event_control - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

round_event_control + + + +

+ + +

Vars

dynamic_should_hijackWhether or not dynamic should hijack this event
+

Var Details

dynamic_should_hijack + + + + +

+

Whether or not dynamic should hijack this event

+ + + diff --git a/datum/round_event_control/wizard/embedpocalypse.html b/datum/round_event_control/wizard/embedpocalypse.html new file mode 100644 index 000000000000..563551c5cec3 --- /dev/null +++ b/datum/round_event_control/wizard/embedpocalypse.html @@ -0,0 +1,35 @@ + + + + + + + /datum/round_event_control/wizard/embedpocalypse - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

embedpocalypse + + + +

+ + +

Procs

canSpawnEventbehold... the only reason sticky is a subtype...

Proc Details

canSpawnEvent +

+

behold... the only reason sticky is a subtype...

+ + + diff --git a/datum/rpg_skill.html b/datum/rpg_skill.html new file mode 100644 index 000000000000..c17bcf32dd25 --- /dev/null +++ b/datum/rpg_skill.html @@ -0,0 +1,43 @@ + + + + + + + /datum/rpg_skill - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

rpg_skill + + + +

+ + + +

Vars

parent_stat_typeAll skills must have a valid parent stat type.

Procs

update_modifiersUpdate the modified value with modifiers.
+

Var Details

parent_stat_type + + + + +

+

All skills must have a valid parent stat type.

Proc Details

update_modifiers +

+

Update the modified value with modifiers.

+ + + diff --git a/datum/rpg_stat.html b/datum/rpg_stat.html new file mode 100644 index 000000000000..ca00d0e663dd --- /dev/null +++ b/datum/rpg_stat.html @@ -0,0 +1,35 @@ + + + + + + + /datum/rpg_stat - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

rpg_stat + + + +

+ + +

Procs

update_modifiersUpdate the modified value with modifiers.

Proc Details

update_modifiers +

+

Update the modified value with modifiers.

+ + + diff --git a/datum/rpgloot_controller.html b/datum/rpgloot_controller.html new file mode 100644 index 000000000000..a16a5c35fc52 --- /dev/null +++ b/datum/rpgloot_controller.html @@ -0,0 +1,54 @@ + + + + + + + /datum/rpgloot_controller - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

rpgloot_controller + + + +

+ +rpgloot controller! +

Stored in a global datum, and created when rpgloot is turned on via event or VV'ing the GLOB.rpgloot_controller to be a new /datum/rpgloot_controller. +Makes every item in the world fantasy, but also hooks into global signals for new items created to also bless them with fantasy.

+

What do I mean by fantasy?

+ + +

Procs

handle_current_items
on_new_item_in_existencesignal sent by a new item being created.

Proc Details

handle_current_items +

+ handle_current_items +

Gives every viable item in the world the fantasy component. +If the item it is giving fantasy to is a storage item, there's a chance it'll drop in an item fortification scroll. neat!

on_new_item_in_existence +

+

signal sent by a new item being created.

+ + + diff --git a/datum/rpgtitle_controller.html b/datum/rpgtitle_controller.html new file mode 100644 index 000000000000..e7897f7d5a1e --- /dev/null +++ b/datum/rpgtitle_controller.html @@ -0,0 +1,51 @@ + + + + + + + /datum/rpgtitle_controller - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

rpgtitle_controller + + + +

+ + + + +

Procs

handle_current_jobs
on_crewmember_joinsignal sent by a crewmember joining
on_mob_loginsignal sent by a player list expanding

Proc Details

handle_current_jobs +

+ handle_current_jobs +

Calls on_crewmember_join on every crewmember +If the item it is giving fantasy to is a storage item, there's a chance it'll drop in an item fortification scroll. neat!

on_crewmember_join +

+

signal sent by a crewmember joining

on_mob_login +

+

signal sent by a player list expanding

+ + + diff --git a/datum/rust_spread.html b/datum/rust_spread.html new file mode 100644 index 000000000000..481bdfb8d44c --- /dev/null +++ b/datum/rust_spread.html @@ -0,0 +1,75 @@ + + + + + + + /datum/rust_spread - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

rust_spread + + + +

+ +

#Rust spread datum

+

Simple datum that automatically spreads rust around it.

+

Simple implementation of automatically growing entity.

+ + + + + +

Vars

blacklisted_turfsStatic blacklist of turfs we can't spread to.
centreThe very center of the spread.
edge_turfsList of turfs at the edge of our rust (but not yet rusted).
rusted_turfsList of all turfs we've afflicted.
spread_per_secThe rate of spread every tick.

Procs

compile_turfsCompile turfs
+

Var Details

blacklisted_turfs + + + + +

+

Static blacklist of turfs we can't spread to.

centre + + + + +

+

The very center of the spread.

edge_turfs + + + + +

+

List of turfs at the edge of our rust (but not yet rusted).

rusted_turfs + + + + +

+

List of all turfs we've afflicted.

spread_per_sec + + + + +

+

The rate of spread every tick.

Proc Details

compile_turfs +

+

Compile turfs

+

Recreates the edge_turfs list. +Updates the rusted_turfs list, in case any turfs within were un-rusted.

+ + + diff --git a/datum/scan_condition.html b/datum/scan_condition.html new file mode 100644 index 000000000000..4c7a79d87b4e --- /dev/null +++ b/datum/scan_condition.html @@ -0,0 +1,35 @@ + + + + + + + /datum/scan_condition - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

scan_condition + + + +

+ +

Scan condition, these require some specific setup for the dish to count for the scan power for the given site

+

Procs

check_dishReturns power multiplier of the dish depending on condition.

Proc Details

check_dish +

+

Returns power multiplier of the dish depending on condition.

+ + + diff --git a/datum/scanner_controller.html b/datum/scanner_controller.html new file mode 100644 index 000000000000..5234f125034b --- /dev/null +++ b/datum/scanner_controller.html @@ -0,0 +1,57 @@ + + + + + + + /datum/scanner_controller - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

scanner_controller + + + +

+ +

Helper datum to calculate and store scanning power and track in progress scans

+ + + +

Vars

current_scanScan currently in progress if any.
scan_power_cacheCurrent scan power keyed by site
tracked_dishesList of dishes in working condition.
wide_scan_bandBand for the next wide scan. Increased after successful completion of wide scan.
+

Var Details

current_scan + + + + +

+

Scan currently in progress if any.

scan_power_cache + + + + +

+

Current scan power keyed by site

tracked_dishes + + + + +

+

List of dishes in working condition.

wide_scan_band + + + + +

+

Band for the next wide scan. Increased after successful completion of wide scan.

+ + + diff --git a/datum/secrets_menu.html b/datum/secrets_menu.html new file mode 100644 index 000000000000..daf263e70968 --- /dev/null +++ b/datum/secrets_menu.html @@ -0,0 +1,35 @@ + + + + + + + /datum/secrets_menu - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

secrets_menu + + + +

+ + +

Procs

ui_actfun! buttons.

Proc Details

ui_act +

+

fun! buttons.

+ + + diff --git a/datum/select_equipment.html b/datum/select_equipment.html new file mode 100644 index 000000000000..f28b2b654312 --- /dev/null +++ b/datum/select_equipment.html @@ -0,0 +1,60 @@ + + + + + + + /datum/select_equipment - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

select_equipment + + + +

+ + +

Procs

outfit_entryPacks up data about an outfit as an assoc list to send to the UI as an outfit entry.

Proc Details

outfit_entry +

+

Packs up data about an outfit as an assoc list to send to the UI as an outfit entry.

+

Args:

+ +

Returns (list) An outfit entry

+ + + diff --git a/datum/signal.html b/datum/signal.html new file mode 100644 index 000000000000..b0719e1ab7bb --- /dev/null +++ b/datum/signal.html @@ -0,0 +1,94 @@ + + + + + + + /datum/signal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

signal + + + +

+ + + + + + + + + + +

Vars

authorThe author/sender of this packet.
dataThe player-accessible data of the packet
filter_listRadio filter list
frequencyRadio frequency
frequency_datumA ref to the radio frequency datum, used by... radios.
has_magic_dataDoes this packet contain anything but standard data? +Anything that captures packets should either generate garbage data or discard these packets.
logging_dataAdmin logging
rangeRadio range
transmission_methodThe medium of which this packet is travelling
+

Var Details

author + + + + +

+

The author/sender of this packet.

data + + + + +

+

The player-accessible data of the packet

filter_list + + + + +

+

Radio filter list

frequency + + + + +

+

Radio frequency

frequency_datum + + + + +

+

A ref to the radio frequency datum, used by... radios.

has_magic_data + + + + +

+

Does this packet contain anything but standard data? +Anything that captures packets should either generate garbage data or discard these packets.

logging_data + + + + +

+

Admin logging

range + + + + +

+

Radio range

transmission_method + + + + +

+

The medium of which this packet is travelling

+ + + diff --git a/datum/signal/subspace/vocal.html b/datum/signal/subspace/vocal.html new file mode 100644 index 000000000000..d356a6b6df6b --- /dev/null +++ b/datum/signal/subspace/vocal.html @@ -0,0 +1,35 @@ + + + + + + + /datum/signal/subspace/vocal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

vocal + + + +

+ + +

Procs

broadcastThis is the meat function for making radios hear vocal transmissions.

Proc Details

broadcast +

+

This is the meat function for making radios hear vocal transmissions.

+ + + diff --git a/datum/skill.html b/datum/skill.html new file mode 100644 index 000000000000..11850fbfd63a --- /dev/null +++ b/datum/skill.html @@ -0,0 +1,99 @@ + + + + + + + /datum/skill - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

skill + + + +

+ + + + + + + + + +

Vars

levelDownMessagesList associating different messages that appear on level up with different levels
levelUpMessagesList associating different messages that appear on level up with different levels
modifiersDictionary of modifier type - list of modifiers (indexed by level). 7 entries in each list for all 7 skill levels.
skill_cape_pathList Path pointing to the skill cape reward that will appear when a user finishes leveling up a skill

Procs

Newnew: sets up some lists.
level_gainedlevel_gained: Gives skill levelup messages to the user
level_lostlevel_lost: See level_gained, same idea but fires on skill level-down
try_skill_rewardtry_skill_reward: Checks to see if a user is eligable for a tangible reward for reaching a certain skill level
+

Var Details

levelDownMessages + + + + +

+

List associating different messages that appear on level up with different levels

levelUpMessages + + + + +

+

List associating different messages that appear on level up with different levels

modifiers + + + + +

+

Dictionary of modifier type - list of modifiers (indexed by level). 7 entries in each list for all 7 skill levels.

skill_cape_path + + + + +

+

List Path pointing to the skill cape reward that will appear when a user finishes leveling up a skill

Proc Details

New +

+

new: sets up some lists.

+

Can't happen in the datum's definition because these lists are not constant expressions

level_gained +

+

level_gained: Gives skill levelup messages to the user

+

Only fires if the xp gain isn't silent, so only really useful for messages. +Arguments:

+

level_lost +

+

level_lost: See level_gained, same idea but fires on skill level-down

try_skill_reward +

+

try_skill_reward: Checks to see if a user is eligable for a tangible reward for reaching a certain skill level

+

Currently gives the user a special cloak when they reach a legendary level at any given skill +Arguments:

+
+ + + diff --git a/datum/slapcraft_handbook.html b/datum/slapcraft_handbook.html new file mode 100644 index 000000000000..31a55d7481c1 --- /dev/null +++ b/datum/slapcraft_handbook.html @@ -0,0 +1,35 @@ + + + + + + + /datum/slapcraft_handbook - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

slapcraft_handbook + + + +

+ + +

Procs

print_step_descriptionGets the description of the step. This can include a href link.

Proc Details

print_step_description +

+

Gets the description of the step. This can include a href link.

+ + + diff --git a/datum/slapcraft_recipe.html b/datum/slapcraft_recipe.html new file mode 100644 index 000000000000..e9304a106f84 --- /dev/null +++ b/datum/slapcraft_recipe.html @@ -0,0 +1,187 @@ + + + + + + + /datum/slapcraft_recipe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

slapcraft_recipe + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

assembly_name_suffixSuffix for the assembly name.
assembly_weight_classWeight class of the assemblies for this recipe.
categoryCategory this recipe is in the handbook.
descDescription of the recipe. May be displayed as additional info in the handbook.
examine_hintHint displayed to the user which examines the item required for the first step.
nameName of the recipe. Will use the resulting atom's name if not specified
radial_appearanceAppearance in the radial menu for the user to choose from if there are recipe collisions.
result_amountAmount of how many resulting types will be crafted.
result_listInstead of result type you can use this as associative list of types to amounts for a more varied output
result_typeType of the item that will be yielded as the result.
show_finish_textShould we print text when we finish? Mostly used to de-bloat chat.
step_orderOrder in which the steps should be performed.
stepsList of all steps to finish this recipe
subcategorySubcategory this recipe is in the handbook.

Procs

after_create_itemsBehaviour after the item is created, and before the slapcrafting assembly is disposed. +Here you can move the components into the item if you wish, or do other stuff with them.
can_finishRuns when the last step tries to be performed and cancels the step if it returns FALSE. Could be used to validate location in structure construction via slap crafting.
check_correct_stepChecks if a step of type step_type can be performed with the given step_states state.
create_itemCheck if we want to craft multiple items, if yes then populate the list passed by the argument with them. +Creates and returns a new item. This gets called for every item that is supposed to be created in the recipe.
create_itemsThe proc that creates the resulted item(s). Make sure to add them to the passed results list.
dispose_assemblyHere is the proc to get rid of the assembly, should one want to override it to handle that differently.
finish_recipeUser has finished the recipe in an assembly.
next_suitable_stepReturns the next suitable step to be performed with the item by the user with such step_states
+

Var Details

assembly_name_suffix + + + + +

+

Suffix for the assembly name.

assembly_weight_class + + + + +

+

Weight class of the assemblies for this recipe.

category + + + + +

+

Category this recipe is in the handbook.

desc + + + + +

+

Description of the recipe. May be displayed as additional info in the handbook.

examine_hint + + + + +

+

Hint displayed to the user which examines the item required for the first step.

name + + + + +

+

Name of the recipe. Will use the resulting atom's name if not specified

radial_appearance + + + + +

+

Appearance in the radial menu for the user to choose from if there are recipe collisions.

result_amount + + + + +

+

Amount of how many resulting types will be crafted.

result_list + + + + +

+

Instead of result type you can use this as associative list of types to amounts for a more varied output

result_type + + + + +

+

Type of the item that will be yielded as the result.

show_finish_text + + + + +

+

Should we print text when we finish? Mostly used to de-bloat chat.

step_order + + + + +

+

Order in which the steps should be performed.

steps + + + + +

+

List of all steps to finish this recipe

subcategory + + + + +

+

Subcategory this recipe is in the handbook.

Proc Details

after_create_items +

+

Behaviour after the item is created, and before the slapcrafting assembly is disposed. +Here you can move the components into the item if you wish, or do other stuff with them.

can_finish +

+

Runs when the last step tries to be performed and cancels the step if it returns FALSE. Could be used to validate location in structure construction via slap crafting.

check_correct_step +

+

Checks if a step of type step_type can be performed with the given step_states state.

create_item +

+

Check if we want to craft multiple items, if yes then populate the list passed by the argument with them. +Creates and returns a new item. This gets called for every item that is supposed to be created in the recipe.

create_items +

+

The proc that creates the resulted item(s). Make sure to add them to the passed results list.

dispose_assembly +

+

Here is the proc to get rid of the assembly, should one want to override it to handle that differently.

finish_recipe +

+

User has finished the recipe in an assembly.

next_suitable_step +

+

Returns the next suitable step to be performed with the item by the user with such step_states

+ + + diff --git a/datum/slapcraft_step.html b/datum/slapcraft_step.html new file mode 100644 index 000000000000..ff0dcb071dda --- /dev/null +++ b/datum/slapcraft_step.html @@ -0,0 +1,301 @@ + + + + + + + /datum/slapcraft_step - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

slapcraft_step + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

blacklist_item_typesItem types to make a typecache of for blacklisting.
blacklist_typecacheTypecache of the blacklist
check_if_mob_can_drop_itemIf the user is holding the item, check if they need to be able to drop it to be able to craft with it.
check_typesWhether we should check the types of the item, if FALSE then make sure can_perform() checks conditions.
descThe description of the step, it shows in the slapcraft handbook
finish_msgVisible message when you finish the step.
finish_msg_selfPersonalized visible message when you finish the step.
finished_descThe description of the finished step when you examine the assembly.
insert_itemWhether we insert the valid item in the assembly.
insert_item_into_resultWhether we insert the item into the resulting item's contents
item_typesList of types of items that can be used. Only relevant if check_types is TRUE
list_descQuantified description of the required element of this step. "screwdriver" or "15 cable", or "can with 50u. fuel" etc.
optionalWhether this step is optional. This is forbidden for first and last steps of recipes, and cannot be used on recipes with an order of SLAP_ORDER_FIRST_THEN_FREEFORM
perform_timeHow long does it take to perform the step.
recipe_linkThe recipe this step can link to. Make sure to include %LINK% and %ENDLINK% in desc to properly linkify it.
start_msgVisible message when you start the step.
start_msg_selfPersonalized visible message when you start the step.
todo_descThe description of the step when it's the next one to perform in the assembly.
typecacheThe typecache of types of the items.

Procs

can_performBelow are virtual procs I allow steps to override for their specific behaviours. +Checks whether a user can perform this step with an item. Exists so steps can override this proc for their own behavioural checks. +assembly can be null here, when the recipe finding checks are trying to figure out what recipe we can make.
check_typeChecks whether a type is in the typecache of the step.
get_speed_multiplierReturns a speed multiplier to the time it takes for the step to complete. Useful for tool-related steps
make_descMakes a description for the step.
make_finish_msgMakes a description for the visible message of finishing a step.
make_finish_msg_selfMakes a personalized description for the visible message of finishing a step.
make_finished_descMakes a finished description for the step.
make_list_descMakes a list description for the item.
make_start_msgMakes a description for the visible message of starting a step that requires some time to perform.
make_start_msg_selfMakes a personalized description for the visible message of starting a step that requires some time to perform.
make_todo_descMakes a todo description for the step.
move_item_to_assemblyBehaviour to move the item into the assembly. Stackable items may want to change how they do this.
on_performBehaviour to happen on performing this step. Perhaps removing a portion of reagents to create an IED or something.
performMake a user perform this step, by using an item on the assembly, trying to progress the assembly.
perform_checkChecks if the passed item is a proper type to perform this step, and whether it passes the can_perform() check. Assembly can be null
perform_do_afterProc to perform handling a do_after, return FALSE if it failed, TRUE if succeeded.
play_perform_soundPlays a sound on successfully performing the step.
progress_craftingWhether the step progresses towards the next step when successfully performed. +This can be used to allow "freeform" crafting to put more things into an assembly than required, possibly utilizing it for things like custom burgers
step_replace_textText replacing for sending visibile messages when the steps are happening.
+

Var Details

blacklist_item_types + + + + +

+

Item types to make a typecache of for blacklisting.

blacklist_typecache + + + + +

+

Typecache of the blacklist

check_if_mob_can_drop_item + + + + +

+

If the user is holding the item, check if they need to be able to drop it to be able to craft with it.

check_types + + + + +

+

Whether we should check the types of the item, if FALSE then make sure can_perform() checks conditions.

desc + + + + +

+

The description of the step, it shows in the slapcraft handbook

finish_msg + + + + +

+

Visible message when you finish the step.

finish_msg_self + + + + +

+

Personalized visible message when you finish the step.

finished_desc + + + + +

+

The description of the finished step when you examine the assembly.

insert_item + + + + +

+

Whether we insert the valid item in the assembly.

insert_item_into_result + + + + +

+

Whether we insert the item into the resulting item's contents

item_types + + + + +

+

List of types of items that can be used. Only relevant if check_types is TRUE

list_desc + + + + +

+

Quantified description of the required element of this step. "screwdriver" or "15 cable", or "can with 50u. fuel" etc.

optional + + + + +

+

Whether this step is optional. This is forbidden for first and last steps of recipes, and cannot be used on recipes with an order of SLAP_ORDER_FIRST_THEN_FREEFORM

perform_time + + + + +

+

How long does it take to perform the step.

+

The recipe this step can link to. Make sure to include %LINK% and %ENDLINK% in desc to properly linkify it.

start_msg + + + + +

+

Visible message when you start the step.

start_msg_self + + + + +

+

Personalized visible message when you start the step.

todo_desc + + + + +

+

The description of the step when it's the next one to perform in the assembly.

typecache + + + + +

+

The typecache of types of the items.

Proc Details

can_perform +

+

Below are virtual procs I allow steps to override for their specific behaviours. +Checks whether a user can perform this step with an item. Exists so steps can override this proc for their own behavioural checks. +assembly can be null here, when the recipe finding checks are trying to figure out what recipe we can make.

check_type +

+

Checks whether a type is in the typecache of the step.

get_speed_multiplier +

+

Returns a speed multiplier to the time it takes for the step to complete. Useful for tool-related steps

make_desc +

+

Makes a description for the step.

make_finish_msg +

+

Makes a description for the visible message of finishing a step.

make_finish_msg_self +

+

Makes a personalized description for the visible message of finishing a step.

make_finished_desc +

+

Makes a finished description for the step.

make_list_desc +

+

Makes a list description for the item.

make_start_msg +

+

Makes a description for the visible message of starting a step that requires some time to perform.

make_start_msg_self +

+

Makes a personalized description for the visible message of starting a step that requires some time to perform.

make_todo_desc +

+

Makes a todo description for the step.

move_item_to_assembly +

+

Behaviour to move the item into the assembly. Stackable items may want to change how they do this.

on_perform +

+

Behaviour to happen on performing this step. Perhaps removing a portion of reagents to create an IED or something.

perform +

+

Make a user perform this step, by using an item on the assembly, trying to progress the assembly.

perform_check +

+

Checks if the passed item is a proper type to perform this step, and whether it passes the can_perform() check. Assembly can be null

perform_do_after +

+

Proc to perform handling a do_after, return FALSE if it failed, TRUE if succeeded.

play_perform_sound +

+

Plays a sound on successfully performing the step.

progress_crafting +

+

Whether the step progresses towards the next step when successfully performed. +This can be used to allow "freeform" crafting to put more things into an assembly than required, possibly utilizing it for things like custom burgers

step_replace_text +

+

Text replacing for sending visibile messages when the steps are happening.

+ + + diff --git a/datum/slapcraft_step/attack.html b/datum/slapcraft_step/attack.html new file mode 100644 index 000000000000..e4454fe968c3 --- /dev/null +++ b/datum/slapcraft_step/attack.html @@ -0,0 +1,50 @@ + + + + + + + /datum/slapcraft_step/attack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

attack + + + +

+ +

This steps can check sufficient weapon variables, such as sharpness or force

+ + +

Vars

forceRequired force of the item.
require_exactIf we want exactly this bitfield, not "has any"
require_sharpnessSharpness flags needed to perform.
+

Var Details

force + + + + +

+

Required force of the item.

require_exact + + + + +

+

If we want exactly this bitfield, not "has any"

require_sharpness + + + + +

+

Sharpness flags needed to perform.

+ + + diff --git a/datum/slapcraft_step/material.html b/datum/slapcraft_step/material.html new file mode 100644 index 000000000000..ac1dfe98275d --- /dev/null +++ b/datum/slapcraft_step/material.html @@ -0,0 +1,43 @@ + + + + + + + /datum/slapcraft_step/material - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

material + + + +

+ +

This step requires an amount of a stack items which will be split off and put into the assembly.

+ +

Vars

amountAmount (cm3) of the material required
mat_typeThe type of material required
+

Var Details

amount + + + + +

+

Amount (cm3) of the material required

mat_type + + + + +

+

The type of material required

+ + + diff --git a/datum/slapcraft_step/reagent.html b/datum/slapcraft_step/reagent.html new file mode 100644 index 000000000000..89a3f9167275 --- /dev/null +++ b/datum/slapcraft_step/reagent.html @@ -0,0 +1,86 @@ + + + + + + + /datum/slapcraft_step/reagent - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

reagent + + + +

+ +

This step requires and uses a reagent to finish itself. This step is great as a last step since reagents can't be recovered from disassembly. +This alternatively can also transfer to a container inside the crafting assembly too!

+ + + + + + + +

Vars

needs_open_containerWhether we need an open container to do this
readable_reagent_stringReadable string describing reagentst that we auto generate. such as "fuel, acid and milk". Used as a helper in auto desc generations
reagent_listReagent list to be used for checks and interactions instead of above single type.
reagent_typeType of the reagent to use.
reagent_volumeVolume of the reagent to use.
temperature_maxIf defined it's the maximum required temperature for the step to work.
temperature_minIf defined, it's the minimum required temperature for the step to work.
transfer_to_assembly_containerWhether we want to transfer to another container in the assembly. Requires a container in assembly and enough space for that inside it.
+

Var Details

needs_open_container + + + + +

+

Whether we need an open container to do this

readable_reagent_string + + + + +

+

Readable string describing reagentst that we auto generate. such as "fuel, acid and milk". Used as a helper in auto desc generations

reagent_list + + + + +

+

Reagent list to be used for checks and interactions instead of above single type.

reagent_type + + + + +

+

Type of the reagent to use.

reagent_volume + + + + +

+

Volume of the reagent to use.

temperature_max + + + + +

+

If defined it's the maximum required temperature for the step to work.

temperature_min + + + + +

+

If defined, it's the minimum required temperature for the step to work.

transfer_to_assembly_container + + + + +

+

Whether we want to transfer to another container in the assembly. Requires a container in assembly and enough space for that inside it.

+ + + diff --git a/datum/slapcraft_step/reagent_container.html b/datum/slapcraft_step/reagent_container.html new file mode 100644 index 000000000000..77773c7e0e52 --- /dev/null +++ b/datum/slapcraft_step/reagent_container.html @@ -0,0 +1,92 @@ + + + + + + + /datum/slapcraft_step/reagent_container - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

reagent_container + + + +

+ +

This step requires to input a reagent container, possibly with some reagent inside, or with some volume specifications.

+ + + + + + + + +

Vars

container_volumeThe amount of container volume we require if any.
free_volumeAmount of free volume we require if any.
maximum_volumeThe maximum volume of the container, if any.
needs_open_containerWhether we need an open container to do this.
reagent_listInstead of just one reagent type you can input a list to be used instead for the checks.
reagent_typeType of the reagent needed.
reagent_volumeVolume of the reagent needed.
temperature_maxIf defined it's the maximum required temperature for the step to work.
temperature_minIf defined, it's the minimum required temperature for the step to work.
+

Var Details

container_volume + + + + +

+

The amount of container volume we require if any.

free_volume + + + + +

+

Amount of free volume we require if any.

maximum_volume + + + + +

+

The maximum volume of the container, if any.

needs_open_container + + + + +

+

Whether we need an open container to do this.

reagent_list + + + + +

+

Instead of just one reagent type you can input a list to be used instead for the checks.

reagent_type + + + + +

+

Type of the reagent needed.

reagent_volume + + + + +

+

Volume of the reagent needed.

temperature_max + + + + +

+

If defined it's the maximum required temperature for the step to work.

temperature_min + + + + +

+

If defined, it's the minimum required temperature for the step to work.

+ + + diff --git a/datum/slapcraft_step/stack.html b/datum/slapcraft_step/stack.html new file mode 100644 index 000000000000..6b1439fc48b7 --- /dev/null +++ b/datum/slapcraft_step/stack.html @@ -0,0 +1,36 @@ + + + + + + + /datum/slapcraft_step/stack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

stack + + + +

+ +

This step requires an amount of a stack items which will be split off and put into the assembly.

+

Vars

amountAmount of the stack items to be put into the assembly.
+

Var Details

amount + + + + +

+

Amount of the stack items to be put into the assembly.

+ + + diff --git a/datum/slapcraft_step/stack/or_other.html b/datum/slapcraft_step/stack/or_other.html new file mode 100644 index 000000000000..7b1ae4050f34 --- /dev/null +++ b/datum/slapcraft_step/stack/or_other.html @@ -0,0 +1,36 @@ + + + + + + + /datum/slapcraft_step/stack/or_other - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

or_other + + + +

+ +

Can be a stack, another stack, or another item.

+

Vars

amountsAn associative list of stack_type : amount.
+

Var Details

amounts + + + + +

+

An associative list of stack_type : amount.

+ + + diff --git a/datum/slapcraft_step/tool.html b/datum/slapcraft_step/tool.html new file mode 100644 index 000000000000..81b205eb532d --- /dev/null +++ b/datum/slapcraft_step/tool.html @@ -0,0 +1,43 @@ + + + + + + + /datum/slapcraft_step/tool - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tool + + + +

+ +

This step requires an item with a specific tool behaviour.

+ +

Vars

required_fuelHow much fuel is required, only relevant for welding tools.
tool_behaviourWhat tool behaviour do we need for this step.
+

Var Details

required_fuel + + + + +

+

How much fuel is required, only relevant for welding tools.

tool_behaviour + + + + +

+

What tool behaviour do we need for this step.

+ + + diff --git a/datum/smite.html b/datum/smite.html new file mode 100644 index 000000000000..5ed9b62fc8cb --- /dev/null +++ b/datum/smite.html @@ -0,0 +1,61 @@ + + + + + + + /datum/smite - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

smite + + + +

+ +

A smite, used by admins to punish players, or for their own amusement

+ + + +

Vars

nameThe name of the smite, shown in the menu
should_logShould this smite write to logs?

Procs

configureCalled once after either choosing the option to smite a player, or when selected in smite build mode. +Use this to prompt the user configuration options. +Return FALSE if the smite should not be used.
effectThe effect of the smite, make sure to call this in your own smites
+

Var Details

name + + + + +

+

The name of the smite, shown in the menu

should_log + + + + +

+

Should this smite write to logs?

Proc Details

configure +

+

Called once after either choosing the option to smite a player, or when selected in smite build mode. +Use this to prompt the user configuration options. +Return FALSE if the smite should not be used.

effect +

+

The effect of the smite, make sure to call this in your own smites

+ + + diff --git a/datum/smite/bad_luck.html b/datum/smite/bad_luck.html new file mode 100644 index 000000000000..037e9b34db2a --- /dev/null +++ b/datum/smite/bad_luck.html @@ -0,0 +1,43 @@ + + + + + + + /datum/smite/bad_luck - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bad_luck + + + +

+ +

Gives the target bad luck, optionally permanently

+ +

Vars

permanentIs this permanent?
silentShould the target know they've received bad luck?
+

Var Details

permanent + + + + +

+

Is this permanent?

silent + + + + +

+

Should the target know they've received bad luck?

+ + + diff --git a/datum/smite/berforate.html b/datum/smite/berforate.html new file mode 100644 index 000000000000..f8e590bd7f3a --- /dev/null +++ b/datum/smite/berforate.html @@ -0,0 +1,36 @@ + + + + + + + /datum/smite/berforate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

berforate + + + +

+ +

Fires an absurd amount of bullets at the target

+

Vars

hatredDetermines how fucked the target is
+

Var Details

hatred + + + + +

+

Determines how fucked the target is

+ + + diff --git a/datum/smite/custom_imaginary_friend.html b/datum/smite/custom_imaginary_friend.html new file mode 100644 index 000000000000..05cec99d05c0 --- /dev/null +++ b/datum/smite/custom_imaginary_friend.html @@ -0,0 +1,32 @@ + + + + + + + /datum/smite/custom_imaginary_friend - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

custom_imaginary_friend + + + +

+ +

Custom imaginary friend.

+

Allows the admin to select the ckey to put into the imaginary friend and whether the imaginary friend looks like the +ckey's character.

+

Is not tied to the brain trauma and can be used on all mobs, technically. Including cyborgs and simple/basic mobs.

+

Warranty void if used on AI eyes or other imaginary friends. Please smite responsibly.

+ + + diff --git a/datum/smite/supply_pod_quick.html b/datum/smite/supply_pod_quick.html new file mode 100644 index 000000000000..9a2ba5e2c896 --- /dev/null +++ b/datum/smite/supply_pod_quick.html @@ -0,0 +1,36 @@ + + + + + + + /datum/smite/supply_pod_quick - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

supply_pod_quick + + + +

+ +

Quickly throws a supply pod at the target, optionally with an item

+

Vars

target_pathWhat is sent down with the pod
+

Var Details

target_path + + + + +

+

What is sent down with the pod

+ + + diff --git a/datum/song.html b/datum/song.html new file mode 100644 index 000000000000..5d67c7171569 --- /dev/null +++ b/datum/song.html @@ -0,0 +1,550 @@ + + + + + + + /datum/song - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Song datum + + + +

+ +

These are the actual backend behind instruments. +They attach to an atom and provide the editor + playback functionality.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

allowed_instrument_idsWhat instruments our built in picker can use. The picker won't show unless this is longer than one.
cached_exponential_dropoffDo not directly set, use update_sustain()
cached_legacy_dirCached legacy dir for legacy instruments
cached_legacy_extCached legacy ext for legacy instruments
cached_linear_dropoff/////// DO NOT DIRECTLY SET THESE! +Do not directly set, use update_sustain()
cached_samplesCached list of samples, referenced directly from the instrument for synthesized instruments
channels_idleList of channels that aren't being used, as text. This is to prevent unnecessary freeing and reallocations from SSsounds/SSinstruments.
channels_playingChannel as text = current volume percentage but it's 0 to 100 instead of 0 to 1.
compiled_chordsPlaying variables +Build by compile_chords() +Must be rebuilt on instrument switch. +Compilation happens when we start playing and is cleared after we finish playing. +Format: list of chord lists, with chordlists having (key1, key2, key3, tempodiv)
current_chordCurrent chord we're on.
debug_modeIf this is enabled, some things won't be strictly cleared when they usually are (liked compiled_chords on play stop)
delay_byAmount of delay to wait before playing the next chord
editingAre we currently editing?
elapsed_delayCurrent section of a long chord we're on, so we don't need to make a billion chords, one for every unit ticklag.
full_sustain_held_noteShould we not decay our last played note?
hearing_mobsThe list of mobs that can hear us
helpIs the help screen open?
instrument_rangeHow far we can be heard
last_channel_playedLast channel to play. text.
last_hearcheckLast world.time we checked for who can hear us
legacyAre we operating in legacy mode (so if the instrument is a legacy instrument)
linesOur song lines
max_repeatsMaximum times we can repeat
max_sound_channelsMax sound channels to occupy
max_volumeMax volume
min_volumeMin volume - This is so someone doesn't decide it's funny to set it to 0 and play invisible songs.
music_playerWho or what's playing us
nameName of the song
note_shift////////// !!FUN!! - Only works in synthesized mode! ///////////////// +Note numbers to shift.
octave_minDO NOT TOUCH THESE
parentThe atom we're attached to/playing from
playingAre we currently playing?
repeatRepeats left
sustain_dropoff_volumeWhen a note is considered dead if it is below this in volume
sustain_exponential_dropoffExponential sustain dropoff rate per decisecond
sustain_linear_durationTotal duration of linear sustain for 100 volume note to get to SUSTAIN_DROPOFF
sustain_modeThe kind of sustain we're using
tempodelay between notes in deciseconds
using_instrument///////// Cached instrument variables ///////////// +Instrument we are currently using
using_sound_channelsCurrent channels, so we can save a length() call.
volumeOur volume

Procs

ParseSongParses a song the user has input into lines and stores them.
compile_chordsCompiles chords.
compile_legacyCompiles our lines into "chords" with filenames for legacy playback. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.
compile_synthesizedCompiles our lines into "chords" with numbers. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.
do_hearcheckChecks and stores which mobs can hear us. Terminates sounds for mobs that leave our range.
get_bpmGets our beats per minute based on our tempo.
instrument_status_uiReturns the HTML for the status UI for this song datum.
play_chordPlays a chord.
playkey_legacyProc to play a legacy note. Just plays the sound to hearing mobs (and does hearcheck if necessary), no fancy channel/sustain/management.
playkey_synthPlays a specific numerical key from our instrument to anyone who can hear us. +Does a hearing check if enough time has passed.
pop_channelPops a channel we have reserved so we don't have to release and re-request them from SSsounds every time we play a note. This is faster.
process_decayDecays our channels and updates their volumes to mobs who can hear us.
process_songProcesses our song.
sanitize_tempoSanitizes tempo to a value that makes sense and fits the current world.tick_lag.
set_bpmSets our tempo from a beats-per-minute, sanitizing it to a valid number first.
set_dropoff_volumeSetter for setting how low the volume has to get before a note is considered "dead" and dropped
set_exponential_drop_rateSetter for setting exponential falloff factor.
set_instrumentSets our instrument, caching anything necessary for faster accessing. Accepts an ID, typepath, or instantiated instrument datum.
set_linear_falloff_durationSetter for setting linear falloff duration.
set_repeatsSets and sanitizes the repeats variable.
set_volumeSetter for setting output volume.
should_stop_playingChecks if we should halt playback.
start_playingAttempts to start playing our song.
stop_playingStops playing, terminating all sounds if in synthesized mode. Clears hearing_mobs.
tempodiv_to_delayConverts a tempodiv to ticks to elapse before playing the next chord, taking into account our tempo.
terminate_all_soundsStops all sounds we are "responsible" for. Only works in synthesized mode.
terminate_sound_mobStops all sounds we are responsible for in a given person. Only works in synthesized mode.
updateDialogUpdates the window for our users. Override down the line.
update_sustainUpdates our cached linear/exponential falloff stuff, saving calculations down the line.
+

Var Details

allowed_instrument_ids + + + + +

+

What instruments our built in picker can use. The picker won't show unless this is longer than one.

cached_exponential_dropoff + + + + +

+

Do not directly set, use update_sustain()

cached_legacy_dir + + + + +

+

Cached legacy dir for legacy instruments

cached_legacy_ext + + + + +

+

Cached legacy ext for legacy instruments

cached_linear_dropoff + + + + +

+

/////// DO NOT DIRECTLY SET THESE! +Do not directly set, use update_sustain()

cached_samples + + + + +

+

Cached list of samples, referenced directly from the instrument for synthesized instruments

channels_idle + + + + +

+

List of channels that aren't being used, as text. This is to prevent unnecessary freeing and reallocations from SSsounds/SSinstruments.

channels_playing + + + + +

+

Channel as text = current volume percentage but it's 0 to 100 instead of 0 to 1.

compiled_chords + + + + +

+

Playing variables +Build by compile_chords() +Must be rebuilt on instrument switch. +Compilation happens when we start playing and is cleared after we finish playing. +Format: list of chord lists, with chordlists having (key1, key2, key3, tempodiv)

current_chord + + + + +

+

Current chord we're on.

debug_mode + + + + +

+

If this is enabled, some things won't be strictly cleared when they usually are (liked compiled_chords on play stop)

delay_by + + + + +

+

Amount of delay to wait before playing the next chord

editing + + + + +

+

Are we currently editing?

elapsed_delay + + + + +

+

Current section of a long chord we're on, so we don't need to make a billion chords, one for every unit ticklag.

full_sustain_held_note + + + + +

+

Should we not decay our last played note?

hearing_mobs + + + + +

+

The list of mobs that can hear us

help + + + + +

+

Is the help screen open?

instrument_range + + + + +

+

How far we can be heard

last_channel_played + + + + +

+

Last channel to play. text.

last_hearcheck + + + + +

+

Last world.time we checked for who can hear us

legacy + + + + +

+

Are we operating in legacy mode (so if the instrument is a legacy instrument)

lines + + + + +

+

Our song lines

max_repeats + + + + +

+

Maximum times we can repeat

max_sound_channels + + + + +

+

Max sound channels to occupy

max_volume + + + + +

+

Max volume

min_volume + + + + +

+

Min volume - This is so someone doesn't decide it's funny to set it to 0 and play invisible songs.

music_player + + + + +

+

Who or what's playing us

name + + + + +

+

Name of the song

note_shift + + + + +

+

////////// !!FUN!! - Only works in synthesized mode! ///////////////// +Note numbers to shift.

octave_min + + + + +

+

DO NOT TOUCH THESE

parent + + + + +

+

The atom we're attached to/playing from

playing + + + + +

+

Are we currently playing?

repeat + + + + +

+

Repeats left

sustain_dropoff_volume + + + + +

+

When a note is considered dead if it is below this in volume

sustain_exponential_dropoff + + + + +

+

Exponential sustain dropoff rate per decisecond

sustain_linear_duration + + + + +

+

Total duration of linear sustain for 100 volume note to get to SUSTAIN_DROPOFF

sustain_mode + + + + +

+

The kind of sustain we're using

tempo + + + + +

+

delay between notes in deciseconds

using_instrument + + + + +

+

///////// Cached instrument variables ///////////// +Instrument we are currently using

using_sound_channels + + + + +

+

Current channels, so we can save a length() call.

volume + + + + +

+

Our volume

Proc Details

ParseSong +

+

Parses a song the user has input into lines and stores them.

compile_chords +

+

Compiles chords.

compile_legacy +

+

Compiles our lines into "chords" with filenames for legacy playback. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.

compile_synthesized +

+

Compiles our lines into "chords" with numbers. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.

do_hearcheck +

+

Checks and stores which mobs can hear us. Terminates sounds for mobs that leave our range.

get_bpm +

+

Gets our beats per minute based on our tempo.

instrument_status_ui +

+

Returns the HTML for the status UI for this song datum.

play_chord +

+

Plays a chord.

playkey_legacy +

+

Proc to play a legacy note. Just plays the sound to hearing mobs (and does hearcheck if necessary), no fancy channel/sustain/management.

+

Arguments:

+

playkey_synth +

+

Plays a specific numerical key from our instrument to anyone who can hear us. +Does a hearing check if enough time has passed.

pop_channel +

+

Pops a channel we have reserved so we don't have to release and re-request them from SSsounds every time we play a note. This is faster.

process_decay +

+

Decays our channels and updates their volumes to mobs who can hear us.

+

Arguments:

+

process_song +

+

Processes our song.

sanitize_tempo +

+

Sanitizes tempo to a value that makes sense and fits the current world.tick_lag.

set_bpm +

+

Sets our tempo from a beats-per-minute, sanitizing it to a valid number first.

set_dropoff_volume +

+

Setter for setting how low the volume has to get before a note is considered "dead" and dropped

set_exponential_drop_rate +

+

Setter for setting exponential falloff factor.

set_instrument +

+

Sets our instrument, caching anything necessary for faster accessing. Accepts an ID, typepath, or instantiated instrument datum.

set_linear_falloff_duration +

+

Setter for setting linear falloff duration.

set_repeats +

+

Sets and sanitizes the repeats variable.

set_volume +

+

Setter for setting output volume.

should_stop_playing +

+

Checks if we should halt playback.

start_playing +

+

Attempts to start playing our song.

stop_playing +

+

Stops playing, terminating all sounds if in synthesized mode. Clears hearing_mobs.

+

Arguments:

+

tempodiv_to_delay +

+

Converts a tempodiv to ticks to elapse before playing the next chord, taking into account our tempo.

terminate_all_sounds +

+

Stops all sounds we are "responsible" for. Only works in synthesized mode.

terminate_sound_mob +

+

Stops all sounds we are responsible for in a given person. Only works in synthesized mode.

updateDialog +

+

Updates the window for our users. Override down the line.

update_sustain +

+

Updates our cached linear/exponential falloff stuff, saving calculations down the line.

+ + + diff --git a/datum/sort_instance.html b/datum/sort_instance.html new file mode 100644 index 000000000000..b87d23dacdc8 --- /dev/null +++ b/datum/sort_instance.html @@ -0,0 +1,45 @@ + + + + + + + /datum/sort_instance - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

sort_instance + + + +

+ + +

Procs

gallopRightLike gallopLeft, except that if the range contains an element equal to +key, gallopRight returns the index after the rightmost equal element.

Proc Details

gallopRight +

+

Like gallopLeft, except that if the range contains an element equal to +key, gallopRight returns the index after the rightmost equal element.

+

@param key the key whose insertion point to search for +@param a the array in which to search +@param base the index of the first element in the range +@param len the length of the range; must be > 0 +@param hint the index at which to begin the search, 0 <= hint < n. +The closer hint is to the result, the faster this method will run. +@param c the comparator used to order the range, and to search +@return the int k, 0 <= k <= n such that a[b + k - 1] <= key < a[b + k]

+ + + diff --git a/datum/spacevine_controller.html b/datum/spacevine_controller.html new file mode 100644 index 000000000000..dd69a165d662 --- /dev/null +++ b/datum/spacevine_controller.html @@ -0,0 +1,57 @@ + + + + + + + /datum/spacevine_controller - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

spacevine_controller + + + +

+ + + + + +

Vars

growth_queueQueue of vines to process
max_mutation_severityMaximum sum of mutation severities
vinesCanonical list of all the vines we "own"

Procs

processLife cycle of a space vine
+

Var Details

growth_queue + + + + +

+

Queue of vines to process

max_mutation_severity + + + + +

+

Maximum sum of mutation severities

vines + + + + +

+

Canonical list of all the vines we "own"

Proc Details

process +

+

Life cycle of a space vine

+ + + diff --git a/datum/spacevine_mutation.html b/datum/spacevine_mutation.html new file mode 100644 index 000000000000..387b50091f89 --- /dev/null +++ b/datum/spacevine_mutation.html @@ -0,0 +1,43 @@ + + + + + + + /datum/spacevine_mutation - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

spacevine_mutation + + + +

+ + + +

Vars

nameDisplayed name of mutation
severitySeverity of mutation in terms of gameplay, affects appearance chance and how many mutations can be on the same vine
+

Var Details

name + + + + +

+

Displayed name of mutation

severity + + + + +

+

Severity of mutation in terms of gameplay, affects appearance chance and how many mutations can be on the same vine

+ + + diff --git a/datum/spacevine_mutation/aggressive_spread.html b/datum/spacevine_mutation/aggressive_spread.html new file mode 100644 index 000000000000..ae3ce3a47d79 --- /dev/null +++ b/datum/spacevine_mutation/aggressive_spread.html @@ -0,0 +1,49 @@ + + + + + + + /datum/spacevine_mutation/aggressive_spread - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

aggressive_spread + + + +

+ + + + +

Procs

aggrospread_actHurts mobs. To be used when a vine with aggressive spread mutation spreads into the mob's tile or buckles them.
on_buckleWhat happens if an aggr spreading vine buckles a mob.
on_spreadChecks mobs on spread-target's turf to see if they should be hit by a damaging proc or not.

Proc Details

aggrospread_act +

+

Hurts mobs. To be used when a vine with aggressive spread mutation spreads into the mob's tile or buckles them.

on_buckle +

+

What happens if an aggr spreading vine buckles a mob.

on_spread +

+

Checks mobs on spread-target's turf to see if they should be hit by a damaging proc or not.

+ + + diff --git a/datum/spacevine_mutation/vine_eating.html b/datum/spacevine_mutation/vine_eating.html new file mode 100644 index 000000000000..1992229bec1c --- /dev/null +++ b/datum/spacevine_mutation/vine_eating.html @@ -0,0 +1,35 @@ + + + + + + + /datum/spacevine_mutation/vine_eating - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

vine_eating + + + +

+ + +

Procs

on_spreadDestroys any vine on spread-target's tile. The checks for if this should be done are in the spread() proc.

Proc Details

on_spread +

+

Destroys any vine on spread-target's tile. The checks for if this should be done are in the spread() proc.

+ + + diff --git a/datum/sparring_match.html b/datum/sparring_match.html new file mode 100644 index 000000000000..c068b78a8f24 --- /dev/null +++ b/datum/sparring_match.html @@ -0,0 +1,155 @@ + + + + + + + /datum/sparring_match - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

sparring_match + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

arena_conditionarea instance the participants must stay in
chaplainthe chaplain. it isn't actually a chaplain all the time, but in the cases where the chaplain is needed this will always be them.
chaplain_violations_allowedcheats from the chaplain
flubsoutside interventions that ruin the match
opponentthe other fighter
opponent_violations_allowedcheats from the non-chaplain
stakes_conditionwhat stakes the fight will have
weapons_conditionwhat weapons will be allowed during the sparring match

Procs

arena_violationsomeone tried to leave
check_for_victorysomeone is changing health state, end the fight in crit
cleanup_sparring_matchhelper to remove all the effects after a match ends
death_flubsomeone randomly fucking died
deletion_flubsomeone randomly fucking deleted
flubbed_matchthis match was interfered on, nobody wins or loses anything, just end
grenade_violationsomeone used a grenade
gun_violationsomeone used a gun
melee_violationsomeone used melee weapons
winmost of the effects are handled on lose() instead.
+

Var Details

arena_condition + + + + +

+

area instance the participants must stay in

chaplain + + + + +

+

the chaplain. it isn't actually a chaplain all the time, but in the cases where the chaplain is needed this will always be them.

chaplain_violations_allowed + + + + +

+

cheats from the chaplain

flubs + + + + +

+

outside interventions that ruin the match

opponent + + + + +

+

the other fighter

opponent_violations_allowed + + + + +

+

cheats from the non-chaplain

stakes_condition + + + + +

+

what stakes the fight will have

weapons_condition + + + + +

+

what weapons will be allowed during the sparring match

Proc Details

arena_violation +

+

someone tried to leave

check_for_victory +

+

someone is changing health state, end the fight in crit

cleanup_sparring_match +

+

helper to remove all the effects after a match ends

death_flub +

+

someone randomly fucking died

deletion_flub +

+

someone randomly fucking deleted

flubbed_match +

+

this match was interfered on, nobody wins or loses anything, just end

grenade_violation +

+

someone used a grenade

gun_violation +

+

someone used a gun

melee_violation +

+

someone used melee weapons

win +

+

most of the effects are handled on lose() instead.

+ + + diff --git a/datum/spatial_grid_cell.html b/datum/spatial_grid_cell.html new file mode 100644 index 000000000000..14cdd0343119 --- /dev/null +++ b/datum/spatial_grid_cell.html @@ -0,0 +1,87 @@ + + + + + + + /datum/spatial_grid_cell - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Spatial Grid Cell + + + +

+ +

used by /datum/controller/subsystem/spatial_grid to cover every z level so that the coordinates of every turf in the world corresponds to one of these in +the subsystems list of grid cells by z level. each one of these contains content lists holding all atoms meeting a certain criteria that is in our borders. +these datums shouldnt have significant behavior, they should just hold data. the lists are filled and emptied by the subsystem.

+ + + + + + + +

Vars

atmos_contentsevery atmos machine inside this cell
cell_xour x index in the list of cells. this is our index inside of our row list
cell_your y index in the list of cells. this is the index of our row list inside of our z level grid
cell_zwhich z level we belong to, corresponding to the index of our gridmap in SSspatial_grid.grids_by_z_level
client_contentsevery client possessed mob inside this cell
hearing_contentsevery hearing sensitive movable inside this cell
radio_atmos_contentsevery atmos radio listener in this cell
radio_nonatmos_contentsevery non-atmos radio listener in this cell
+

Var Details

atmos_contents + + + + +

+

every atmos machine inside this cell

cell_x + + + + +

+

our x index in the list of cells. this is our index inside of our row list

cell_y + + + + +

+

our y index in the list of cells. this is the index of our row list inside of our z level grid

cell_z + + + + +

+

which z level we belong to, corresponding to the index of our gridmap in SSspatial_grid.grids_by_z_level

client_contents + + + + +

+

every client possessed mob inside this cell

hearing_contents + + + + +

+

every hearing sensitive movable inside this cell

radio_atmos_contents + + + + +

+

every atmos radio listener in this cell

radio_nonatmos_contents + + + + +

+

every non-atmos radio listener in this cell

+ + + diff --git a/datum/species.html b/datum/species.html new file mode 100644 index 000000000000..c23173d7ce2f --- /dev/null +++ b/datum/species.html @@ -0,0 +1,950 @@ + + + + + + + /datum/species - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

species datum + + + +

+ +

Datum that handles different species in the game.

+

This datum handles species in the game, such as lizardpeople, mothmen, zombies, skeletons, etc. +It is used in carbon humans to determine various things about them, like their food preferences, if they have biological genders, their damage resistances, and more.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

armorPercentage modifier for overall defense of the race, or less defense, if it's negative.
ass_imageFor custom overrides for species ass images
bodypart_overridesThe bodyparts this species uses. assoc of bodypart string - bodypart type. Make sure all the fucking entries are in or I'll skin you alive.
bodytemp_autorecovery_minMinimum amount of kelvin moved toward normal body temperature per tick.
bodytemp_normalThe natural body temperature to adjust towards
bodytypeA bitfield of "bodytypes", updated by /datum/obj/item/bodypart/proc/synchronize_bodytypes()
breathidWhat gas does this species breathe? Used by suffocation screen alerts, most of actual gas breathing is handled by mutantlungs. See [life.dm][code/modules/mob/living/carbon/human/life.dm]
brutemodmultiplier for brute damage
burnmodmultiplier for burn damage
changesource_flagsBitflag that controls what in game ways something can select this species as a spawnable source, such as magic mirrors. See mob defines for possible sources.
coldmodmultiplier for damage from cold temperature
cosmetic_organsList of cosmetic organs to generate like horns, frills, wings, etc. list(typepath of organ = "Round Beautiful BDSM Snout"). Still WIP
digitigrade_customizationNever, Optional, or Forced digi legs?
disliked_foodBitfield for food types that the species dislikes, giving them disgust. Humans hate raw food, for example.
dust_animWhat anim to use for dusting
examine_limb_idThis is used for children, it will determine their default limb ID for use of examine. See [/mob/living/carbon/human/proc/examine].
exotic_bloodIf your race bleeds something other than bog standard blood, change this to reagent id. For example, ethereals bleed liquid electricity.
fallback_clothing_pathIf this species needs special 'fallback' sprites, what is the path to the file that contains them?
family_heirloomsList of family heirlooms this species can get with the family heirloom quirk. List of types.
fire_overlayThe icon_state of the fire overlay added when sufficently ablaze and standing. see onfire.dmi
fixed_mut_colorTo use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA.
flyThe actual flying ability given to flying species
flying_speciesIs this species a flying species? Used as an easy check for some things
gib_animWhat anim to use for gibbing
grab_soundSpecial sound for grabbing
hair_alphaThe alpha used by the hair. 255 is completely solid, 0 is invisible.
hair_colorThis allows races to have specific hair colors. If null, it uses the H's hair/facial hair colors. If "mutcolor", it uses the H's mutant_color. If "fixedmutcolor", it uses fixedmutcolor
has_innate_wingsUsed to determine what description to give when using a potion of flight, if false it will describe them as growing new wings
heatmodmultiplier for damage from hot temperature
idIf the game needs to manually check your race to do something not included in a proc here, it will use this.
inert_mutationSpecial mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache
inherent_biotypesList of biotypes the mob belongs to. Used by diseases.
inherent_factionsList of factions the mob gain upon gaining this species.
inherent_traitsGeneric traits tied to having the species.
job_outfit_typeUsed for picking outfits in _job.dm
knife_butcher_resultsList of results you get from knife-butchering. null means you cant butcher it. Associated by resulting type - value of amount
liked_foodBitfield for food types that the species likes, giving them a mood boost. Lizards like meat, for example.
max_bodypart_countThe maximum number of bodyparts this species can have.
meatWhat the species drops when gibbed by a gibber machine.
mutant_bodypartsDEPRECATED: Now only handles legs.
mutant_organsInternal organs that are unique to this race, like a tail.
mutanthandsForces an item into this species' hands. Only an honorary mutantthing because this is not an organ and not loaded in the same way, you've been warned to do your research.
nameThis is the fluff name. They are displayed on health analyzers and in the character setup menu. Must be \improper.
no_equipInventory slots the race can't equip stuff to. Golems cannot wear jumpsuits, for example.
nojumpsuitAllows the species to equip items that normally require a jumpsuit without having one equipped. Used by golems.
offset_featuresClothing offsets. If a species has a different body than other species, you can offset clothing so they look less weird.
organsA template for what organs this species should have. +Assign null to simply exclude spawning with one.
outfit_important_for_lifeA path to an outfit that is important for species life e.g. plasmaman outfit
pain_emotesA list of weighted lists to pain emotes. The list with the LOWEST damage requirement needs to be first.
plural_formThe formatting of the name of the species in plural context. Defaults to "[name]\s" if unset. +Ex "[Plasmamen] are weak", "[Mothmen] are strong", "[Lizardpeople] don't like", "[Golems] hate"
preloadShould we preload this species's organs?
prevent_perspective_changeDo we try to prevent reset_perspective() from working? Useful for Dullahans to stop perspective changes when they're looking through their head.
reagent_flagsHow are we treated regarding processing reagents, by default we process them as if we're organic
robotic_bodypartsRobotic bodyparts for preference selection
roundstart_changedWas the species changed from its original type at the start of the round?
say_modAffects the speech message, for example: Motharula flutters, "My speech message is flutters!"
scream_verbAffects the species' screams, for example: "Motharula buzzes!"
sexesWhether or not the race has sexual characteristics (biological genders). At the moment this is only FALSE for skeletons and shadows
siemens_coeffBase electrocution coefficient. Basically a multiplier for damage from electrocutions.
skinned_typeWhat skin the species drops when gibbed by a gibber machine.
special_step_soundsSounds to override barefeet walking
species_cookieUnique cookie given by admins through prayers
species_eye_pathIcon file used for eyes, defaults to 'icons/mob/human_face.dmi' if not set
species_language_holderWhat languages this species can understand and say. Use a language holder datum in this var.
species_mob_sizeThe [/mob/living/var/mob_size] of members of this species.
species_traitsSpecies-only traits. Can be found in code/__DEFINES/DNA.dm
speedmodMultiplier for the race's speed. Positive numbers make it move slower, negative numbers make it move faster.
stunmodmultiplier for stun durations
toxic_foodBitfield for food types that the species absolutely hates, giving them even more disgust than disliked food. Meat is "toxic" to moths, for example.
use_skintonesDoes the species use skintones or not? As of now only used by humans.

Procs

body_temperature_alertsUsed to set alerts and debuffs based on body temperature +vars:
body_temperature_coreUsed to stabilize the core temperature back to normal on living mobs
body_temperature_damageUsed to apply wounds and damage based on core/body temp +vars:
body_temperature_skinUsed to normalize the skin temperature on living mobs
check_roundstart_eligibleChecks if a species is eligible to be picked at roundstart.
copy_properties_fromCopies some vars and properties over that should be kept when creating a copy of this species.
create_fresh_bodyCreates body parts for the target completely from scratch based on the species
create_pref_biotypes_perksAdds adds any perks related to the species' inherent_biotypes flags.
create_pref_blood_perksAdds adds any perks related to the species' blood (or lack thereof).
create_pref_damage_perksAdds adds any perks related to sustaining damage. +For example, brute damage vulnerability, or fire damage resistance.
create_pref_language_perkAdds in a language perk based on all the languages the species +can speak by default (according to their language holder).
create_pref_temperature_perksAdds adds any perks related to how the species deals with temperature.
create_pref_traits_perksAdds adds any perks related to the species' inherent_traits list.
create_pref_unique_perksUsed to add any species specific perks to the perk list.
get_constant_dataGenerates nested lists of constant data for UIs.
get_featuresReturns a list of strings representing features this species has. +Used by the preferences UI to know what buttons to show.
get_innate_languagesReturns a list of each language we know innately.
get_perk_dataPerks of varying types. +(Postives, neutrals, and negatives) +in the format of a list of lists. +Used in the preference menu.
get_random_blood_typeReturns a random blood type for this species
get_scream_soundReturns the species's scream sound.
get_species_descriptionGets a short description for the specices. Should be relatively succinct. +Used in the preference menu.
get_species_dietTranslate the species liked foods from bitfields into strings +and returns it in the form of an associated list.
get_species_loreGets the lore behind the type of species. Can be long. +Used in the preference menu.
give_important_for_lifeEquip the outfit required for life. Replaces items currently worn.
go_baldMakes the target human bald.
handle_bodyHandles the body of a human
handle_body_temperatureBody temperature handler for species
handle_environmentEnvironment handler for species
handle_environment_pressureHandle the air pressure of the environment
handle_radiationSpecies based handling for irradiation
harmThis proc handles punching damage.
on_owner_loginOwner login
on_species_gainProc called when a carbon becomes this species.
on_species_lossProc called when a carbon is no longer this species.
pre_equip_species_outfitEquips the necessary species-relevant gear before putting on the rest of the uniform.
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.
random_nameGenerates a random name for a carbon.
randomize_active_underwearProc that will randomise the underwear (i.e. top, pants and socks) of a species' associated mob
randomize_main_appearance_elementProc that will randomise the hair, or primary appearance element (i.e. for moths wings) of a species' associated mob
regenerate_organsCorrects organs in a carbon, removing ones it doesn't need and adding ones it does.
replace_bodyHandles replacing all of the bodyparts with their species version during set_species()
+

Var Details

armor + + + + +

+

Percentage modifier for overall defense of the race, or less defense, if it's negative.

ass_image + + + + +

+

For custom overrides for species ass images

bodypart_overrides + + + + +

+

The bodyparts this species uses. assoc of bodypart string - bodypart type. Make sure all the fucking entries are in or I'll skin you alive.

bodytemp_autorecovery_min + + + + +

+

Minimum amount of kelvin moved toward normal body temperature per tick.

bodytemp_normal + + + + +

+

The natural body temperature to adjust towards

bodytype + + + + +

+

A bitfield of "bodytypes", updated by /datum/obj/item/bodypart/proc/synchronize_bodytypes()

breathid + + + + +

+

What gas does this species breathe? Used by suffocation screen alerts, most of actual gas breathing is handled by mutantlungs. See [life.dm][code/modules/mob/living/carbon/human/life.dm]

brutemod + + + + +

+

multiplier for brute damage

burnmod + + + + +

+

multiplier for burn damage

changesource_flags + + + + +

+

Bitflag that controls what in game ways something can select this species as a spawnable source, such as magic mirrors. See mob defines for possible sources.

coldmod + + + + +

+

multiplier for damage from cold temperature

cosmetic_organs + + + + +

+

List of cosmetic organs to generate like horns, frills, wings, etc. list(typepath of organ = "Round Beautiful BDSM Snout"). Still WIP

digitigrade_customization + + + + +

+

Never, Optional, or Forced digi legs?

disliked_food + + + + +

+

Bitfield for food types that the species dislikes, giving them disgust. Humans hate raw food, for example.

dust_anim + + + + +

+

What anim to use for dusting

examine_limb_id + + + + +

+

This is used for children, it will determine their default limb ID for use of examine. See [/mob/living/carbon/human/proc/examine].

exotic_blood + + + + +

+

If your race bleeds something other than bog standard blood, change this to reagent id. For example, ethereals bleed liquid electricity.

fallback_clothing_path + + + + +

+

If this species needs special 'fallback' sprites, what is the path to the file that contains them?

family_heirlooms + + + + +

+

List of family heirlooms this species can get with the family heirloom quirk. List of types.

fire_overlay + + + + +

+

The icon_state of the fire overlay added when sufficently ablaze and standing. see onfire.dmi

fixed_mut_color + + + + +

+

To use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA.

fly + + + + +

+

The actual flying ability given to flying species

flying_species + + + + +

+

Is this species a flying species? Used as an easy check for some things

gib_anim + + + + +

+

What anim to use for gibbing

grab_sound + + + + +

+

Special sound for grabbing

hair_alpha + + + + +

+

The alpha used by the hair. 255 is completely solid, 0 is invisible.

hair_color + + + + +

+

This allows races to have specific hair colors. If null, it uses the H's hair/facial hair colors. If "mutcolor", it uses the H's mutant_color. If "fixedmutcolor", it uses fixedmutcolor

has_innate_wings + + + + +

+

Used to determine what description to give when using a potion of flight, if false it will describe them as growing new wings

heatmod + + + + +

+

multiplier for damage from hot temperature

id + + + + +

+

If the game needs to manually check your race to do something not included in a proc here, it will use this.

inert_mutation + + + + +

+

Special mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache

inherent_biotypes + + + + +

+

List of biotypes the mob belongs to. Used by diseases.

inherent_factions + + + + +

+

List of factions the mob gain upon gaining this species.

inherent_traits + + + + +

+

Generic traits tied to having the species.

job_outfit_type + + + + +

+

Used for picking outfits in _job.dm

knife_butcher_results + + + + +

+

List of results you get from knife-butchering. null means you cant butcher it. Associated by resulting type - value of amount

liked_food + + + + +

+

Bitfield for food types that the species likes, giving them a mood boost. Lizards like meat, for example.

max_bodypart_count + + + + +

+

The maximum number of bodyparts this species can have.

meat + + + + +

+

What the species drops when gibbed by a gibber machine.

mutant_bodyparts + + + + +

+

DEPRECATED: Now only handles legs.

mutant_organs + + + + +

+

Internal organs that are unique to this race, like a tail.

mutanthands + + + + +

+

Forces an item into this species' hands. Only an honorary mutantthing because this is not an organ and not loaded in the same way, you've been warned to do your research.

name + + + + +

+

This is the fluff name. They are displayed on health analyzers and in the character setup menu. Must be \improper.

no_equip + + + + +

+

Inventory slots the race can't equip stuff to. Golems cannot wear jumpsuits, for example.

nojumpsuit + + + + +

+

Allows the species to equip items that normally require a jumpsuit without having one equipped. Used by golems.

offset_features + + + + +

+

Clothing offsets. If a species has a different body than other species, you can offset clothing so they look less weird.

organs + + + + +

+

A template for what organs this species should have. +Assign null to simply exclude spawning with one.

outfit_important_for_life + + + + +

+

A path to an outfit that is important for species life e.g. plasmaman outfit

pain_emotes + + + + +

+

A list of weighted lists to pain emotes. The list with the LOWEST damage requirement needs to be first.

plural_form + + + + +

+

The formatting of the name of the species in plural context. Defaults to "[name]\s" if unset. +Ex "[Plasmamen] are weak", "[Mothmen] are strong", "[Lizardpeople] don't like", "[Golems] hate"

preload + + + + +

+

Should we preload this species's organs?

prevent_perspective_change + + + + +

+

Do we try to prevent reset_perspective() from working? Useful for Dullahans to stop perspective changes when they're looking through their head.

reagent_flags + + + + +

+

How are we treated regarding processing reagents, by default we process them as if we're organic

robotic_bodyparts + + + + +

+

Robotic bodyparts for preference selection

roundstart_changed + + + + +

+

Was the species changed from its original type at the start of the round?

say_mod + + + + +

+

Affects the speech message, for example: Motharula flutters, "My speech message is flutters!"

scream_verb + + + + +

+

Affects the species' screams, for example: "Motharula buzzes!"

sexes + + + + +

+

Whether or not the race has sexual characteristics (biological genders). At the moment this is only FALSE for skeletons and shadows

siemens_coeff + + + + +

+

Base electrocution coefficient. Basically a multiplier for damage from electrocutions.

skinned_type + + + + +

+

What skin the species drops when gibbed by a gibber machine.

special_step_sounds + + + + +

+

Sounds to override barefeet walking

+

Unique cookie given by admins through prayers

species_eye_path + + + + +

+

Icon file used for eyes, defaults to 'icons/mob/human_face.dmi' if not set

species_language_holder + + + + +

+

What languages this species can understand and say. Use a language holder datum in this var.

species_mob_size + + + + +

+

The [/mob/living/var/mob_size] of members of this species.

species_traits + + + + +

+

Species-only traits. Can be found in code/__DEFINES/DNA.dm

speedmod + + + + +

+

Multiplier for the race's speed. Positive numbers make it move slower, negative numbers make it move faster.

stunmod + + + + +

+

multiplier for stun durations

toxic_food + + + + +

+

Bitfield for food types that the species absolutely hates, giving them even more disgust than disliked food. Meat is "toxic" to moths, for example.

use_skintones + + + + +

+

Does the species use skintones or not? As of now only used by humans.

Proc Details

body_temperature_alerts +

+

Used to set alerts and debuffs based on body temperature +vars:

+

body_temperature_core +

+

Used to stabilize the core temperature back to normal on living mobs

+

The metabolisim heats up the core of the mob trying to keep it at the normal body temp +vars:

+

body_temperature_damage +

+

Used to apply wounds and damage based on core/body temp +vars:

+

body_temperature_skin +

+

Used to normalize the skin temperature on living mobs

+

The core temp effects the skin, then the enviroment effects the skin, then we refect that back to the core. +This happens even when dead so bodies revert to room temp over time. +vars:

+ +

check_roundstart_eligible +

+

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

+

Checks the config to see if this species is allowed to be picked in the character setup menu. +Used by /proc/generate_selectable_species.

copy_properties_from +

+

Copies some vars and properties over that should be kept when creating a copy of this species.

+

Used by slimepeople to copy themselves, and by the DNA datum to hardset DNA to a species +Arguments:

+

create_fresh_body +

+

Creates body parts for the target completely from scratch based on the species

create_pref_biotypes_perks +

+

Adds adds any perks related to the species' inherent_biotypes flags.

+

Returns a list containing perks, or an empty list.

create_pref_blood_perks +

+

Adds adds any perks related to the species' blood (or lack thereof).

+

Returns a list containing perks, or an empty list.

create_pref_damage_perks +

+

Adds adds any perks related to sustaining damage. +For example, brute damage vulnerability, or fire damage resistance.

+

Returns a list containing perks, or an empty list.

create_pref_language_perk +

+

Adds in a language perk based on all the languages the species +can speak by default (according to their language holder).

+

Returns a list containing perks, or an empty list.

create_pref_temperature_perks +

+

Adds adds any perks related to how the species deals with temperature.

+

Returns a list containing perks, or an empty list.

create_pref_traits_perks +

+

Adds adds any perks related to the species' inherent_traits list.

+

Returns a list containing perks, or an empty list.

create_pref_unique_perks +

+

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

+

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

get_constant_data +

+

Generates nested lists of constant data for UIs.

get_features +

+

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

get_innate_languages +

+

Returns a list of each language we know innately.

get_perk_data +

+

Perks of varying types. +(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 used, unused due to no longer being on tgui prefs +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.

get_random_blood_type +

+

Returns a random blood type for this species

get_scream_sound +

+

Returns the species's scream sound.

get_species_description +

+

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

+

Returns a string.

get_species_diet +

+

Translate the species liked foods from bitfields into strings +and returns it in the form of an associated list.

+

Returns a list, or null if they have no diet.

get_species_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.

give_important_for_life +

+

Equip the outfit required for life. Replaces items currently worn.

go_bald +

+

Makes the target human bald.

+

Arguments:

+

handle_body +

+

Handles the body of a human

+

Handles lipstick, having no eyes, eye color, undergarnments like underwear, undershirts, and socks, and body layers. +Calls [handle_mutant_bodyparts][/datum/species/proc/handle_mutant_bodyparts] +Arguments:

+

handle_body_temperature +

+

Body temperature handler for species

+

These procs manage body temp, bamage, and alerts +Some of these will still fire when not alive to balance body temp to the room temp. +vars:

+

handle_environment +

+

Environment handler for species

+

vars:

+

handle_environment_pressure +

+

Handle the air pressure of the environment

handle_radiation +

+

Species based handling for irradiation

+

Arguments:

+

harm +

+

This proc handles punching damage.

on_owner_login +

+

Owner login

+

A simple proc to be overwritten if something needs to be done when a mob logs in. Does nothing by default.

+

Arguments:

+

on_species_gain +

+

Proc called when a carbon becomes this species.

+

This sets up and adds/changes/removes things, qualities, abilities, and traits so that the transformation is as smooth and bugfree as possible. +Produces a COMSIG_SPECIES_GAIN signal. +Arguments:

+

on_species_loss +

+

Proc called when a carbon is no longer this species.

+

This sets up and adds/changes/removes things, qualities, abilities, and traits so that the transformation is as smooth and bugfree as possible. +Produces a COMSIG_SPECIES_LOSS signal. +Arguments:

+

pre_equip_species_outfit +

+

Equips the necessary species-relevant gear before putting on the rest of the uniform.

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.

random_name +

+

Generates a random name for a carbon.

+

This generates a random unique name based on a human's species and gender. +Arguments:

+

randomize_active_underwear +

+

Proc that will randomise the underwear (i.e. top, pants and socks) of a species' associated mob

randomize_main_appearance_element +

+

Proc that will randomise the hair, or primary appearance element (i.e. for moths wings) of a species' associated mob

regenerate_organs +

+

Corrects organs in a carbon, removing ones it doesn't need and adding ones it does.

+

Takes all organ slots, removes organs a species should not have, adds organs a species should have. +can use replace_current to refresh all organs, creating an entirely new set.

+

Arguments:

+

replace_body +

+

Handles replacing all of the bodyparts with their species version during set_species()

+ + + diff --git a/datum/species/ethereal.html b/datum/species/ethereal.html new file mode 100644 index 000000000000..3a53b314ceed --- /dev/null +++ b/datum/species/ethereal.html @@ -0,0 +1,35 @@ + + + + + + + /datum/species/ethereal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

ethereal + + + +

+ + +

Procs

on_light_eaterSpecial handling for getting hit with a light eater

Proc Details

on_light_eater +

+

Special handling for getting hit with a light eater

+ + + diff --git a/datum/species/jelly/luminescent.html b/datum/species/jelly/luminescent.html new file mode 100644 index 000000000000..5a629beb53a3 --- /dev/null +++ b/datum/species/jelly/luminescent.html @@ -0,0 +1,64 @@ + + + + + + + /datum/species/jelly/luminescent - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

luminescent + + + +

+ +

LUMINESCENTS

+ + + + +

Vars

current_extractThe slime extract we currently have integrated
extract_cooldownThe cooldown of us using exteracts
glowInternal dummy used to glow (very cool)
luminescent_actionsA list of all luminescent related actions we have

Procs

update_glowUpdates the glow of our internal glow thing.
+

Var Details

current_extract + + + + +

+

The slime extract we currently have integrated

extract_cooldown + + + + +

+

The cooldown of us using exteracts

glow + + + + +

+

Internal dummy used to glow (very cool)

luminescent_actions + + + + +

+

A list of all luminescent related actions we have

Proc Details

update_glow +

+

Updates the glow of our internal glow thing.

+ + + diff --git a/datum/species/jelly/stargazer.html b/datum/species/jelly/stargazer.html new file mode 100644 index 000000000000..5600a9972e66 --- /dev/null +++ b/datum/species/jelly/stargazer.html @@ -0,0 +1,36 @@ + + + + + + + /datum/species/jelly/stargazer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

stargazer + + + +

+ +

STARGAZERS

+

Vars

project_actionSpecial "project thought" telepathy action for stargazers.
+

Var Details

project_action + + + + +

+

Special "project thought" telepathy action for stargazers.

+ + + diff --git a/datum/species/lizard.html b/datum/species/lizard.html new file mode 100644 index 000000000000..0f6359d72802 --- /dev/null +++ b/datum/species/lizard.html @@ -0,0 +1,35 @@ + + + + + + + /datum/species/lizard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

lizard + + + +

+ + +

Procs

body_temperature_coreLizards are cold blooded and do not stabilize body temperature naturally

Proc Details

body_temperature_core +

+

Lizards are cold blooded and do not stabilize body temperature naturally

+ + + diff --git a/datum/species/plasmaman.html b/datum/species/plasmaman.html new file mode 100644 index 000000000000..26432ef70544 --- /dev/null +++ b/datum/species/plasmaman.html @@ -0,0 +1,36 @@ + + + + + + + /datum/species/plasmaman - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

plasmaman + + + +

+ + +

Vars

internal_fireIf the bones themselves are burning clothes won't help you much
+

Var Details

internal_fire + + + + +

+

If the bones themselves are burning clothes won't help you much

+ + + diff --git a/datum/species/vampire.html b/datum/species/vampire.html new file mode 100644 index 000000000000..849b826f885e --- /dev/null +++ b/datum/species/vampire.html @@ -0,0 +1,36 @@ + + + + + + + /datum/species/vampire - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vampire + + + +

+ + +

Vars

info_textsome starter text sent to the vampire initially, because vampires have shit to do to stay alive
+

Var Details

info_text + + + + +

+

some starter text sent to the vampire initially, because vampires have shit to do to stay alive

+ + + diff --git a/datum/species/zombie/infectious.html b/datum/species/zombie/infectious.html new file mode 100644 index 000000000000..96e8a7df3cec --- /dev/null +++ b/datum/species/zombie/infectious.html @@ -0,0 +1,43 @@ + + + + + + + /datum/species/zombie/infectious - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

infectious + + + +

+ + + +

Vars

heal_rateThe rate the zombies regenerate at
regen_cooldownThe cooldown before the zombie can start regenerating
+

Var Details

heal_rate + + + + +

+

The rate the zombies regenerate at

regen_cooldown + + + + +

+

The cooldown before the zombie can start regenerating

+ + + diff --git a/datum/spellbook_entry.html b/datum/spellbook_entry.html new file mode 100644 index 000000000000..ab0d2d860dac --- /dev/null +++ b/datum/spellbook_entry.html @@ -0,0 +1,189 @@ + + + + + + + /datum/spellbook_entry - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

spellbook_entry + + + +

+ +Spellbook entries +

Wizard spellbooks are automatically populated with +a list of every spellbook entry subtype when they're made.

+

Wizards can then buy entries from the book to learn magic, +invoke rituals, or summon items.

+ + + + + + + + + + + + + + + + + +

Vars

buy_wordFlavor. Verb used in saying how the spell is aquired. Ex "[Learn] Fireball" or "[Summon] Ghosts"
categoryWhat category the entry falls in
cooldownThe cooldown of the spell
costHow many book charges does the spell take
descThe description of the entry
limitThe limit on number of purchases from this entry in a given spellbook. If null, infinite are allowed.
nameThe name of the entry
no_coexistance_typecacheUsed so you can't have specific spells together
refundableIs this refundable?
requires_wizard_garbWhether the spell requires wizard garb or not
spell_typeThe type of spell that the entry grants (typepath)
timesHow many times has the spell been purchased. Compared against limit.

Procs

buy_spellActually buy the entry for the user
can_be_purchasedDetermines if this entry can be purchased from a spellbook +Used for configs / round related restrictions.
can_buyChecks if the user, with the supplied spellbook, can purchase the given entry.
can_refundChecks if the user, with the supplied spellbook, can refund the entry
refund_spellActually refund the entry for the user
set_spell_infoSet any of the spell info saved on our entry +after something has occured
+

Var Details

buy_word + + + + +

+

Flavor. Verb used in saying how the spell is aquired. Ex "[Learn] Fireball" or "[Summon] Ghosts"

category + + + + +

+

What category the entry falls in

cooldown + + + + +

+

The cooldown of the spell

cost + + + + +

+

How many book charges does the spell take

desc + + + + +

+

The description of the entry

limit + + + + +

+

The limit on number of purchases from this entry in a given spellbook. If null, infinite are allowed.

name + + + + +

+

The name of the entry

no_coexistance_typecache + + + + +

+

Used so you can't have specific spells together

refundable + + + + +

+

Is this refundable?

requires_wizard_garb + + + + +

+

Whether the spell requires wizard garb or not

spell_type + + + + +

+

The type of spell that the entry grants (typepath)

times + + + + +

+

How many times has the spell been purchased. Compared against limit.

Proc Details

buy_spell +

+

Actually buy the entry for the user

+

Arguments

+ +

Return TRUE if the purchase was successful, FALSE otherwise

can_be_purchased +

+

Determines if this entry can be purchased from a spellbook +Used for configs / round related restrictions.

+

Return FALSE to prevent the entry from being added to wizard spellbooks, TRUE otherwise

can_buy +

+

Checks if the user, with the supplied spellbook, can purchase the given entry.

+

Arguments

+ +

Return TRUE if it can be bought, FALSE otherwise

can_refund +

+

Checks if the user, with the supplied spellbook, can refund the entry

+

Arguments

+ +

Return TRUE if it can refunded, FALSE otherwise

refund_spell +

+

Actually refund the entry for the user

+

Arguments

+ +

Return -1 on failure, or return the point value of the refund on success

set_spell_info +

+

Set any of the spell info saved on our entry +after something has occured

+

For example, updating the cooldown after upgrading it

+ + + diff --git a/datum/spellbook_entry/item.html b/datum/spellbook_entry/item.html new file mode 100644 index 000000000000..177bf2519a4e --- /dev/null +++ b/datum/spellbook_entry/item.html @@ -0,0 +1,43 @@ + + + + + + + /datum/spellbook_entry/item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

item + + + +

+ +

Item summons, they give you an item.

+ +

Vars

item_pathTypepath of what item we create when purchased

Procs

try_equip_itemAttempts to give the item to the buyer on purchase.
+

Var Details

item_path + + + + +

+

Typepath of what item we create when purchased

Proc Details

try_equip_item +

+

Attempts to give the item to the buyer on purchase.

+ + + diff --git a/datum/sprite_accessory.html b/datum/sprite_accessory.html new file mode 100644 index 000000000000..9945c531c600 --- /dev/null +++ b/datum/sprite_accessory.html @@ -0,0 +1,122 @@ + + + + + + + /datum/sprite_accessory - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sprite_accessory + + + +

+ + + + + + + + + + + + + + +

Vars

centerShould we center the sprite?
color_srcCurrently only used by mutantparts so don't worry about hair and stuff. +This is the source that this accessory will get its color from. Default is MUTCOLOR, but can also be HAIR, FACEHAIR, EYECOLOR and 0 if none.
dimension_xThe width of the sprite in pixels. Used to center it if necessary.
dimension_yThe height of the sprite in pixels. Used to center it if necessary.
em_blockShould this sprite block emissives?
genderDetermines if the accessory will be skipped or included in random hair generations.
gender_specificSomething that can be worn by either gender, but looks different on each.
hasinnerDecides if this sprite has an "inner" part, such as the fleshy parts on ears.
iconThe icon file the accessory is located in.
icon_stateThe icon_state of the accessory.
lockedIs this part locked from roundstart selection? Used for parts that apply effects.
nameThe preview name of the accessory.
use_staticDetermines if the accessory will be skipped by color preferences.
+

Var Details

center + + + + +

+

Should we center the sprite?

color_src + + + + +

+

Currently only used by mutantparts so don't worry about hair and stuff. +This is the source that this accessory will get its color from. Default is MUTCOLOR, but can also be HAIR, FACEHAIR, EYECOLOR and 0 if none.

dimension_x + + + + +

+

The width of the sprite in pixels. Used to center it if necessary.

dimension_y + + + + +

+

The height of the sprite in pixels. Used to center it if necessary.

em_block + + + + +

+

Should this sprite block emissives?

gender + + + + +

+

Determines if the accessory will be skipped or included in random hair generations.

gender_specific + + + + +

+

Something that can be worn by either gender, but looks different on each.

hasinner + + + + +

+

Decides if this sprite has an "inner" part, such as the fleshy parts on ears.

icon + + + + +

+

The icon file the accessory is located in.

icon_state + + + + +

+

The icon_state of the accessory.

locked + + + + +

+

Is this part locked from roundstart selection? Used for parts that apply effects.

name + + + + +

+

The preview name of the accessory.

use_static + + + + +

+

Determines if the accessory will be skipped by color preferences.

+ + + diff --git a/datum/sprite_accessory/gradient.html b/datum/sprite_accessory/gradient.html new file mode 100644 index 000000000000..d8e668def0fb --- /dev/null +++ b/datum/sprite_accessory/gradient.html @@ -0,0 +1,36 @@ + + + + + + + /datum/sprite_accessory/gradient - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

gradient + + + +

+ + +

Vars

gradient_categorywhether this gradient applies to hair and/or beards. Some gradients do not work well on beards.
+

Var Details

gradient_category + + + + +

+

whether this gradient applies to hair and/or beards. Some gradients do not work well on beards.

+ + + diff --git a/datum/stack_canary.html b/datum/stack_canary.html new file mode 100644 index 000000000000..0eac40f3bf91 --- /dev/null +++ b/datum/stack_canary.html @@ -0,0 +1,35 @@ + + + + + + + /datum/stack_canary - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

stack_canary + + + +

+ +

Stack canary. Will go away if the stack it was primed by is ended by byond for return or stack overflow reasons.

+

Procs

use_variableempty proc to avoid warnings about unused variables. Call this proc on your canary in the stack it's watching.

Proc Details

use_variable +

+

empty proc to avoid warnings about unused variables. Call this proc on your canary in the stack it's watching.

+ + + diff --git a/datum/stack_end_detector.html b/datum/stack_end_detector.html new file mode 100644 index 000000000000..fac43ad7b4c1 --- /dev/null +++ b/datum/stack_end_detector.html @@ -0,0 +1,47 @@ + + + + + + + /datum/stack_end_detector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

stack_end_detector + + + +

+ +

Stack End Detector. +Can detect if a given code stack has exited, used by the mc for stack overflow detection.

+ +

Procs

checkReturns true if the stack is still going. Calling before the canary has been primed also returns true
prime_canary

Proc Details

check +

+

Returns true if the stack is still going. Calling before the canary has been primed also returns true

prime_canary +

+
+ + + diff --git a/datum/stamina_container.html b/datum/stamina_container.html new file mode 100644 index 000000000000..f7684995f17a --- /dev/null +++ b/datum/stamina_container.html @@ -0,0 +1,106 @@ + + + + + + + /datum/stamina_container - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

stamina_container + + + +

+ + + + + + + + + + + + +

Vars

currentHow much stamina we have right now
decrementEvery tick, remove this much stamina
is_regeneratingAre we regenerating right now?
lossThe difference between current and maximum stamina
maximumThe maximum amount of stamina this container has
parentDaddy?
regen_rateThe amount of stamina gained per second

Procs

adjustAdjust stamina by an amount.
pausePause stamina regeneration for some period of time. Does not support doing this from multiple sources at once because I do not do that and I will add it later if I want to.
resumeResume stamina processing
stopStops stamina regeneration entirely until manually resumed.
+

Var Details

current + + + + +

+

How much stamina we have right now

decrement + + + + +

+

Every tick, remove this much stamina

is_regenerating + + + + +

+

Are we regenerating right now?

loss + + + + +

+

The difference between current and maximum stamina

maximum + + + + +

+

The maximum amount of stamina this container has

parent + + + + +

+

Daddy?

regen_rate + + + + +

+

The amount of stamina gained per second

Proc Details

adjust +

+

Adjust stamina by an amount.

pause +

+

Pause stamina regeneration for some period of time. Does not support doing this from multiple sources at once because I do not do that and I will add it later if I want to.

resume +

+

Resume stamina processing

stop +

+

Stops stamina regeneration entirely until manually resumed.

+ + + diff --git a/datum/station_alert.html b/datum/station_alert.html new file mode 100644 index 000000000000..88a391a76c61 --- /dev/null +++ b/datum/station_alert.html @@ -0,0 +1,64 @@ + + + + + + + /datum/station_alert - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

station_alert + + + +

+ +

Our parent might want to fuck with these numbers

+ + + + +

Vars

alarm_typesList of all alarm types we are listening to
camera_viewIf UI will also show and allow jumping to cameras connected to each alert area
holderHolder of the datum
listenerListens for alarms, provides the alarms list for our UI
titleTitle of our UI
+

Var Details

alarm_types + + + + +

+

List of all alarm types we are listening to

camera_view + + + + +

+

If UI will also show and allow jumping to cameras connected to each alert area

holder + + + + +

+

Holder of the datum

listener + + + + +

+

Listens for alarms, provides the alarms list for our UI

title + + + + +

+

Title of our UI

+ + + diff --git a/datum/station_request.html b/datum/station_request.html new file mode 100644 index 000000000000..86efe9328e00 --- /dev/null +++ b/datum/station_request.html @@ -0,0 +1,72 @@ + + + + + + + /datum/station_request - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

station_request + + + +

+ +

A combined all in one datum that stores everything about the request, the requester's account, as well as the requestee's account +All of this is passed to the Request Console UI in order to present in organized way.

+ + + + + +

Vars

applicantsthe account of the request fulfiller.
descriptionText description of the request to be shown within the UI.
ownerName of the Request Owner.
owner_accountThe account of the request owner.
req_numberInternal number of the request for organizing. Id card number.
valueValue of the request.
+

Var Details

applicants + + + + +

+

the account of the request fulfiller.

description + + + + +

+

Text description of the request to be shown within the UI.

owner + + + + +

+

Name of the Request Owner.

owner_account + + + + +

+

The account of the request owner.

req_number + + + + +

+

Internal number of the request for organizing. Id card number.

value + + + + +

+

Value of the request.

+ + + diff --git a/datum/station_state.html b/datum/station_state.html new file mode 100644 index 000000000000..c338c990f1f3 --- /dev/null +++ b/datum/station_state.html @@ -0,0 +1,34 @@ + + + + + + + /datum/station_state - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

station_state + + + +

+ +

For counting up how much of the station exists at the start of the shift, and how much is left behind by the end of it.

+

"For God's sake, please be careful with those fuel tanks, you're going to set them off and compromise the station's integrity." +"Relax boss, everyone knows this station has no integrity." +"Yeah, that's why we all like it so much!"

+
+ + + diff --git a/datum/station_trait.html b/datum/station_trait.html new file mode 100644 index 000000000000..b12059dbe31e --- /dev/null +++ b/datum/station_trait.html @@ -0,0 +1,127 @@ + + + + + + + /datum/station_trait - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

station_trait + + + +

+ +

Base class of station traits. These are used to influence rounds in one way or the other by influencing the levers of the station.

+ + + + + + + + + + + + + +

Vars

blacklistWhat traits are incompatible with this one?
can_revertWhether or not this trait can be reverted by an admin
forceWhether this trait is always enabled; generally used for debugging
nameName of the trait
report_messageWhat message to show in the centcom report?
show_in_reportDoes this trait show in the centcom report?
trait_flagsExtra flags for station traits such as it being abstract
trait_processesWhether or not this trait uses process()
trait_to_giveWhat code-trait does this station trait give? gives none if null
trait_typeThe type of this trait. Used to classify how this trait influences the station
weightChance relative to other traits of its type to be picked

Procs

get_reporttype of info the centcom report has on this trait, if any.
on_round_startProc ran when round starts. Use this for roundstart effects.
revertWill attempt to revert the station trait, used by admins.
+

Var Details

blacklist + + + + +

+

What traits are incompatible with this one?

can_revert + + + + +

+

Whether or not this trait can be reverted by an admin

force + + + + +

+

Whether this trait is always enabled; generally used for debugging

name + + + + +

+

Name of the trait

report_message + + + + +

+

What message to show in the centcom report?

show_in_report + + + + +

+

Does this trait show in the centcom report?

trait_flags + + + + +

+

Extra flags for station traits such as it being abstract

trait_processes + + + + +

+

Whether or not this trait uses process()

trait_to_give + + + + +

+

What code-trait does this station trait give? gives none if null

trait_type + + + + +

+

The type of this trait. Used to classify how this trait influences the station

weight + + + + +

+

Chance relative to other traits of its type to be picked

Proc Details

get_report +

+

type of info the centcom report has on this trait, if any.

on_round_start +

+

Proc ran when round starts. Use this for roundstart effects.

revert +

+

Will attempt to revert the station trait, used by admins.

+ + + diff --git a/datum/station_trait/bot_languages.html b/datum/station_trait/bot_languages.html new file mode 100644 index 000000000000..afbd7c9e4f73 --- /dev/null +++ b/datum/station_trait/bot_languages.html @@ -0,0 +1,35 @@ + + + + + + + /datum/station_trait/bot_languages - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

bot_languages + + + +

+ + +

Procs

on_round_startWhat "caused" our robots to go haywire (fluff)

Proc Details

on_round_start +

+

What "caused" our robots to go haywire (fluff)

+ + + diff --git a/datum/station_trait/ian_adventure.html b/datum/station_trait/ian_adventure.html new file mode 100644 index 000000000000..2778cdd10899 --- /dev/null +++ b/datum/station_trait/ian_adventure.html @@ -0,0 +1,35 @@ + + + + + + + /datum/station_trait/ian_adventure - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

ian_adventure + + + +

+ + +

Procs

do_corgi_respawnMoves the new dog somewhere safe, equips it with the old one's inventory and makes it deadchat_playable.

Proc Details

do_corgi_respawn +

+

Moves the new dog somewhere safe, equips it with the old one's inventory and makes it deadchat_playable.

+ + + diff --git a/datum/station_trait/random_event_weight_modifier.html b/datum/station_trait/random_event_weight_modifier.html new file mode 100644 index 000000000000..d85eb64198bc --- /dev/null +++ b/datum/station_trait/random_event_weight_modifier.html @@ -0,0 +1,50 @@ + + + + + + + /datum/station_trait/random_event_weight_modifier - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

random_event_weight_modifier + + + +

+ + + + +

Vars

event_control_pathThe path to the round_event_control that we modify.
max_occurrences_modifierFlat modifier added to the amount of max occurances the random event can have.
weight_multiplierMultiplier applied to the weight of the event.
+

Var Details

event_control_path + + + + +

+

The path to the round_event_control that we modify.

max_occurrences_modifier + + + + +

+

Flat modifier added to the amount of max occurances the random event can have.

weight_multiplier + + + + +

+

Multiplier applied to the weight of the event.

+ + + diff --git a/datum/stats.html b/datum/stats.html new file mode 100644 index 000000000000..098acbf7b930 --- /dev/null +++ b/datum/stats.html @@ -0,0 +1,71 @@ + + + + + + + /datum/stats - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

stats + + + +

+ + + + + + + +

Vars

examined_object_weakrefsA list of weakrefs to examined objects. Used for forensic rolls. THIS DOES JUST KEEP GETTING BIGGER, SO, CAREFUL.
statsA lazylist

Procs

get_skill_modifierReturn a given skill value modifier.
get_stat_modifierReturn a given stat value.
remove_stat_modifierRemove all stat modifiers given by a source.
set_stat_modifierAdd a stat modifier from a given source
+

Var Details

examined_object_weakrefs + + + + +

+

A list of weakrefs to examined objects. Used for forensic rolls. THIS DOES JUST KEEP GETTING BIGGER, SO, CAREFUL.

stats + + + + +

+

A lazylist

Proc Details

get_skill_modifier +

+

Return a given skill value modifier.

get_stat_modifier +

+

Return a given stat value.

remove_stat_modifier +

+

Remove all stat modifiers given by a source.

set_stat_modifier +

+

Add a stat modifier from a given source

+ + + diff --git a/datum/status_effect.html b/datum/status_effect.html new file mode 100644 index 000000000000..99da2873b3c1 --- /dev/null +++ b/datum/status_effect.html @@ -0,0 +1,211 @@ + + + + + + + /datum/status_effect - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

status_effect + + + +

+ +

Status effects are used to apply temporary or permanent effects to mobs. +This file contains their code, plus code for applying and removing them.

+ + + + + + + + + + + + + + + + + + + + +

Vars

alert_typeThe typepath to the alert thrown by the status effect when created. +Status effect "name"s and "description"s are shown to the owner here.
durationWhen set initially / in on_creation, this is how long the status effect lasts in deciseconds. +While processing, this becomes the world.time when the status effect will expire. +-1 = infinite duration.
idThe ID of the effect. ID is used in adding and removing effects to check for duplicates, among other things.
linked_alertThe alert itself, created in [proc/on_creation] (if alert_type is specified).
max_durationThe maximum duration this status effect can be. +-1 = No limit
on_remove_on_mob_deleteIf TRUE, we call [proc/on_remove] when owner is deleted. Otherwise, we call [proc/be_replaced].
ownerThe mob affected by the status effect.
processing_speedUsed to define if the status effect should be using SSfastprocess or SSprocessing
status_typeHow many of the effect can be on one mob, and/or what happens when you try to add a duplicate.
tick_intervalWhen set initially / in on_creation, this is how long between [proc/tick] calls in deciseconds. +While processing, this becomes the world.time when the next tick will occur. +-1 = will stop processing, if duration is also unlimited (-1).

Procs

be_replacedCalled instead of on_remove when a status effect +of status_type STATUS_EFFECT_REPLACE is replaced by itself, +or when a status effect with on_remove_on_mob_delete +set to FALSE has its mob deleted
before_removeCalled before being fully removed (before on_remove) +Returning FALSE will cancel removal
get_examine_textGets and formats examine text associated with our status effect. +Return 'null' to have no examine text appear (default behavior).
nextmove_adjustAdds nextmove adjustment additiviely to the owner while applied
nextmove_modifierAdds nextmove modifier multiplicatively to the owner while applied
on_applyCalled whenever the effect is applied in on_created +Returning FALSE will cause it to delete itself during creation instead.
on_creationCalled from New() with any supplied status effect arguments. +Not guaranteed to exist by the end. +Returning FALSE from on_apply will stop on_creation and self-delete the effect.
on_removeCalled whenever the buff expires or is removed (qdeleted) +Note that at the point this is called, it is out of the +owner's status_effects list, but owner is not yet null
refreshCalled when a status effect of status_type STATUS_EFFECT_REFRESH +has its duration refreshed in apply_status_effect - is passed New() args
remove_durationRemove [seconds] of duration from the status effect, qdeling / ending if we eclipse the current world time.
tickCalled every tick from process().
+

Var Details

alert_type + + + + +

+

The typepath to the alert thrown by the status effect when created. +Status effect "name"s and "description"s are shown to the owner here.

duration + + + + +

+

When set initially / in on_creation, this is how long the status effect lasts in deciseconds. +While processing, this becomes the world.time when the status effect will expire. +-1 = infinite duration.

id + + + + +

+

The ID of the effect. ID is used in adding and removing effects to check for duplicates, among other things.

linked_alert + + + + +

+

The alert itself, created in [proc/on_creation] (if alert_type is specified).

max_duration + + + + +

+

The maximum duration this status effect can be. +-1 = No limit

on_remove_on_mob_delete + + + + +

+

If TRUE, we call [proc/on_remove] when owner is deleted. Otherwise, we call [proc/be_replaced].

owner + + + + +

+

The mob affected by the status effect.

processing_speed + + + + +

+

Used to define if the status effect should be using SSfastprocess or SSprocessing

status_type + + + + +

+

How many of the effect can be on one mob, and/or what happens when you try to add a duplicate.

tick_interval + + + + +

+

When set initially / in on_creation, this is how long between [proc/tick] calls in deciseconds. +While processing, this becomes the world.time when the next tick will occur. +-1 = will stop processing, if duration is also unlimited (-1).

Proc Details

be_replaced +

+

Called instead of on_remove when a status effect +of status_type STATUS_EFFECT_REPLACE is replaced by itself, +or when a status effect with on_remove_on_mob_delete +set to FALSE has its mob deleted

before_remove +

+

Called before being fully removed (before on_remove) +Returning FALSE will cancel removal

get_examine_text +

+

Gets and formats examine text associated with our status effect. +Return 'null' to have no examine text appear (default behavior).

nextmove_adjust +

+

Adds nextmove adjustment additiviely to the owner while applied

nextmove_modifier +

+

Adds nextmove modifier multiplicatively to the owner while applied

on_apply +

+

Called whenever the effect is applied in on_created +Returning FALSE will cause it to delete itself during creation instead.

on_creation +

+

Called from New() with any supplied status effect arguments. +Not guaranteed to exist by the end. +Returning FALSE from on_apply will stop on_creation and self-delete the effect.

on_remove +

+

Called whenever the buff expires or is removed (qdeleted) +Note that at the point this is called, it is out of the +owner's status_effects list, but owner is not yet null

refresh +

+

Called when a status effect of status_type STATUS_EFFECT_REFRESH +has its duration refreshed in apply_status_effect - is passed New() args

remove_duration +

+

Remove [seconds] of duration from the status effect, qdeling / ending if we eclipse the current world time.

tick +

+

Called every tick from process().

+ + + diff --git a/datum/status_effect/agent_pinpointer.html b/datum/status_effect/agent_pinpointer.html new file mode 100644 index 000000000000..b6d499ef2254 --- /dev/null +++ b/datum/status_effect/agent_pinpointer.html @@ -0,0 +1,78 @@ + + + + + + + /datum/status_effect/agent_pinpointer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

agent_pinpointer + + + +

+ + + + + + + + +

Vars

minimum_rangeThe minimum range to start pointing towards your target.
range_farThe range until you're considered 'too far away'
range_fuzz_factorHow fuzzy will the pinpointer be, messing with it pointing to your target.
range_midThe range until you're considered 'close'
scan_targetThe target we are pointing towards, refreshes every tick.

Procs

point_to_targetShow the distance and direction of a scanned target
scan_for_targetAttempting to locate a nearby target to scan and point towards.
+

Var Details

minimum_range + + + + +

+

The minimum range to start pointing towards your target.

range_far + + + + +

+

The range until you're considered 'too far away'

range_fuzz_factor + + + + +

+

How fuzzy will the pinpointer be, messing with it pointing to your target.

range_mid + + + + +

+

The range until you're considered 'close'

scan_target + + + + +

+

The target we are pointing towards, refreshes every tick.

Proc Details

point_to_target +

+

Show the distance and direction of a scanned target

scan_for_target +

+

Attempting to locate a nearby target to scan and point towards.

+ + + diff --git a/datum/status_effect/ants.html b/datum/status_effect/ants.html new file mode 100644 index 000000000000..07447ceed1ce --- /dev/null +++ b/datum/status_effect/ants.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/ants - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ants + + + +

+ + + +

Vars

ant_debuff_speechCommon phrases people covered in ants scream
ants_remainingWill act as the main timer as well as changing how much damage the ants do.
+

Var Details

ant_debuff_speech + + + + +

+

Common phrases people covered in ants scream

ants_remaining + + + + +

+

Will act as the main timer as well as changing how much damage the ants do.

+ + + diff --git a/datum/status_effect/arm_slowdown.html b/datum/status_effect/arm_slowdown.html new file mode 100644 index 000000000000..eefcc06d620e --- /dev/null +++ b/datum/status_effect/arm_slowdown.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/arm_slowdown - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

arm_slowdown + + + +

+ + +

Vars

leftThe left leg of the limping person
+

Var Details

left + + + + +

+

The left leg of the limping person

+ + + diff --git a/datum/status_effect/cloudstruck.html b/datum/status_effect/cloudstruck.html new file mode 100644 index 000000000000..3c857b3ed0a1 --- /dev/null +++ b/datum/status_effect/cloudstruck.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/cloudstruck - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cloudstruck + + + +

+ + +

Vars

mob_overlayThis overlay is applied to the owner for the duration of the effect.
+

Var Details

mob_overlay + + + + +

+

This overlay is applied to the owner for the duration of the effect.

+ + + diff --git a/datum/status_effect/confusion.html b/datum/status_effect/confusion.html new file mode 100644 index 000000000000..7c2bbeb77a59 --- /dev/null +++ b/datum/status_effect/confusion.html @@ -0,0 +1,42 @@ + + + + + + + /datum/status_effect/confusion - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

confusion + + + +

+ +

A status effect used for adding confusion to a mob.

+ +

Procs

on_moveSignal proc for COMSIG_MOB_CLIENT_PRE_MOVE. We have a chance to mix up our movement pre-move with confusion.
remove_confusionRemoves all of our confusion (self terminate) on signal

Proc Details

on_move +

+

Signal proc for COMSIG_MOB_CLIENT_PRE_MOVE. We have a chance to mix up our movement pre-move with confusion.

remove_confusion +

+

Removes all of our confusion (self terminate) on signal

+ + + diff --git a/datum/status_effect/dizziness.html b/datum/status_effect/dizziness.html new file mode 100644 index 000000000000..3d3966150ad7 --- /dev/null +++ b/datum/status_effect/dizziness.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/dizziness - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

dizziness + + + +

+ + +

Procs

clear_dizzinessSignal proc that self deletes our dizziness effect

Proc Details

clear_dizziness +

+

Signal proc that self deletes our dizziness effect

+ + + diff --git a/datum/status_effect/drugginess.html b/datum/status_effect/drugginess.html new file mode 100644 index 000000000000..b74482121009 --- /dev/null +++ b/datum/status_effect/drugginess.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/drugginess - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

drugginess + + + +

+ +

Drugginess / "high" effect, makes your screen rainbow

+

Procs

remove_drugginessRemoves all of our drugginess (self delete) on signal

Proc Details

remove_drugginess +

+

Removes all of our drugginess (self delete) on signal

+ + + diff --git a/datum/status_effect/eldritch.html b/datum/status_effect/eldritch.html new file mode 100644 index 000000000000..ba060467ef21 --- /dev/null +++ b/datum/status_effect/eldritch.html @@ -0,0 +1,65 @@ + + + + + + + /datum/status_effect/eldritch - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

eldritch + + + +

+ + + + + + +

Vars

effect_iconicon file for the underlay
effect_icon_stateicon state for the underlay
marked_underlayunderlay used to indicate that someone is marked

Procs

on_effectCalled when the mark is activated by the heretic.
update_owner_underlaySignal proc for COMSIG_ATOM_UPDATE_OVERLAYS.
+

Var Details

effect_icon + + + + +

+

icon file for the underlay

effect_icon_state + + + + +

+

icon state for the underlay

marked_underlay + + + + +

+

underlay used to indicate that someone is marked

Proc Details

on_effect +

+

Called when the mark is activated by the heretic.

update_owner_underlay +

+

Signal proc for COMSIG_ATOM_UPDATE_OVERLAYS.

+

Adds the generated mark overlay to the afflicted.

+ + + diff --git a/datum/status_effect/eldritch/ash.html b/datum/status_effect/eldritch/ash.html new file mode 100644 index 000000000000..16e60e5e1282 --- /dev/null +++ b/datum/status_effect/eldritch/ash.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/eldritch/ash - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ash + + + +

+ + +

Vars

repetitionsDictates how much stamina and burn damage the mark will cause on trigger.
+

Var Details

repetitions + + + + +

+

Dictates how much stamina and burn damage the mark will cause on trigger.

+ + + diff --git a/datum/status_effect/eldritch/blade.html b/datum/status_effect/eldritch/blade.html new file mode 100644 index 000000000000..fe2201264ba1 --- /dev/null +++ b/datum/status_effect/eldritch/blade.html @@ -0,0 +1,50 @@ + + + + + + + /datum/status_effect/eldritch/blade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

blade + + + +

+ + + + +

Vars

locked_toIf set, the owner of the status effect will not be able to leave this area.

Procs

on_moveSignal proc for COMSIG_MOVABLE_MOVED that blocks any movement out of our locked area
on_teleportSignal proc for COMSIG_MOVABLE_TELEPORTED that blocks any teleports from our locked area
+

Var Details

locked_to + + + + +

+

If set, the owner of the status effect will not be able to leave this area.

Proc Details

on_move +

+

Signal proc for COMSIG_MOVABLE_MOVED that blocks any movement out of our locked area

on_teleport +

+

Signal proc for COMSIG_MOVABLE_TELEPORTED that blocks any teleports from our locked area

+ + + diff --git a/datum/status_effect/fire_handler.html b/datum/status_effect/fire_handler.html new file mode 100644 index 000000000000..08046ca46d66 --- /dev/null +++ b/datum/status_effect/fire_handler.html @@ -0,0 +1,110 @@ + + + + + + + /datum/status_effect/fire_handler - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

fire_handler + + + +

+ + + + + + + + + + + + +

Vars

enemy_typesWhat status effect types do we remove uppon being applied. These are just deleted without any deduction from our or their stacks when forced.
merge_typesWhat status effect types do we merge into if they exist. Ignored when forced.
override_typesWhat status effect types do we override if they exist. These are simply deleted when forced.
particle_effectA particle effect, for things like embers
stack_limitMaximum of stacks that we could possibly get
stack_modifierFor how much firestacks does one our stack count
stacksCurrent amount of stacks we have

Procs

cache_stacksRefresher for mob's fire_stacks
set_stacksSetter and adjuster procs for firestacks
update_overlayUsed to update owner's effect overlay
update_particlesUpdates the particles for the status effects
+

Var Details

enemy_types + + + + +

+

What status effect types do we remove uppon being applied. These are just deleted without any deduction from our or their stacks when forced.

merge_types + + + + +

+

What status effect types do we merge into if they exist. Ignored when forced.

override_types + + + + +

+

What status effect types do we override if they exist. These are simply deleted when forced.

particle_effect + + + + +

+

A particle effect, for things like embers

stack_limit + + + + +

+

Maximum of stacks that we could possibly get

stack_modifier + + + + +

+

For how much firestacks does one our stack count

stacks + + + + +

+

Current amount of stacks we have

Proc Details

cache_stacks +

+

Refresher for mob's fire_stacks

set_stacks +

+

Setter and adjuster procs for firestacks

+

Arguments:

+

update_overlay +

+

Used to update owner's effect overlay

update_particles +

+

Updates the particles for the status effects

+ + + diff --git a/datum/status_effect/fire_handler/fire_stacks.html b/datum/status_effect/fire_handler/fire_stacks.html new file mode 100644 index 000000000000..548b258867b5 --- /dev/null +++ b/datum/status_effect/fire_handler/fire_stacks.html @@ -0,0 +1,100 @@ + + + + + + + /datum/status_effect/fire_handler/fire_stacks - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

fire_stacks + + + +

+ + + + + + + + + +

Vars

firelight_refA weakref to the mob light emitter
firelight_typeType of mob light emitter we use when on fire
last_icon_stateStores current fire overlay icon state, for optimisation purposes
on_fireIf we're on fire

Procs

deal_damageProc that handles damage dealing and all special effects
extinguishHandles mob extinguishing, should be the only way to set on_fire to FALSE
harm_humanUsed to deal damage to humans and count their protection.
igniteHandles mob ignition, should be the only way to set on_fire to TRUE
+

Var Details

firelight_ref + + + + +

+

A weakref to the mob light emitter

firelight_type + + + + +

+

Type of mob light emitter we use when on fire

last_icon_state + + + + +

+

Stores current fire overlay icon state, for optimisation purposes

on_fire + + + + +

+

If we're on fire

Proc Details

deal_damage +

+

Proc that handles damage dealing and all special effects

+

Arguments:

+

extinguish +

+

Handles mob extinguishing, should be the only way to set on_fire to FALSE

harm_human +

+

Used to deal damage to humans and count their protection.

+

Arguments:

+

ignite +

+

Handles mob ignition, should be the only way to set on_fire to TRUE

+

Arguments:

+
+ + + diff --git a/datum/status_effect/fire_ring.html b/datum/status_effect/fire_ring.html new file mode 100644 index 000000000000..f71b5c269b77 --- /dev/null +++ b/datum/status_effect/fire_ring.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/fire_ring - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

fire_ring + + + +

+ +

Simple status effect for adding a ring of fire around a mob.

+

Vars

ring_radiusThe radius of the ring around us.
+

Var Details

ring_radius + + + + +

+

The radius of the ring around us.

+ + + diff --git a/datum/status_effect/ghoul.html b/datum/status_effect/ghoul.html new file mode 100644 index 000000000000..fb5f7f869a56 --- /dev/null +++ b/datum/status_effect/ghoul.html @@ -0,0 +1,64 @@ + + + + + + + /datum/status_effect/ghoul - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ghoul + + + +

+ + + + + + +

Vars

master_mindReference to the master of the ghoul's mind
new_max_healthThe new max health value set for the ghoul, if supplied
on_lost_callbackAn optional callback invoked when a goul is unghouled (on_removed)
on_made_callbackAn optional callback invoked when a ghoul is made (on_apply)

Procs

remove_ghoul_statusRemoves the ghoul effects from our owner and returns them to normal.
+

Var Details

master_mind + + + + +

+

Reference to the master of the ghoul's mind

new_max_health + + + + +

+

The new max health value set for the ghoul, if supplied

on_lost_callback + + + + +

+

An optional callback invoked when a goul is unghouled (on_removed)

on_made_callback + + + + +

+

An optional callback invoked when a ghoul is made (on_apply)

Proc Details

remove_ghoul_status +

+

Removes the ghoul effects from our owner and returns them to normal.

+ + + diff --git a/datum/status_effect/grouped.html b/datum/status_effect/grouped.html new file mode 100644 index 000000000000..8360caea0a84 --- /dev/null +++ b/datum/status_effect/grouped.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/grouped - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

grouped + + + +

+ +

Status effect from multiple sources, when all sources are removed, so is the effect

+

Vars

sourcesA list of all sources applying this status effect. Sources are a list of keys
+

Var Details

sources + + + + +

+

A list of all sources applying this status effect. Sources are a list of keys

+ + + diff --git a/datum/status_effect/incapacitating/sleeping.html b/datum/status_effect/incapacitating/sleeping.html new file mode 100644 index 000000000000..f44384f5ebe1 --- /dev/null +++ b/datum/status_effect/incapacitating/sleeping.html @@ -0,0 +1,42 @@ + + + + + + + /datum/status_effect/incapacitating/sleeping - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

sleeping + + + +

+ + + +

Procs

on_owner_insomniacIf the mob is sleeping and gain the TRAIT_SLEEPIMMUNE we remove the TRAIT_KNOCKEDOUT and stop the tick() from happening
on_owner_sleepyIf the mob has the TRAIT_SLEEPIMMUNE but somehow looses it we make him sleep and restart the tick()

Proc Details

on_owner_insomniac +

+

If the mob is sleeping and gain the TRAIT_SLEEPIMMUNE we remove the TRAIT_KNOCKEDOUT and stop the tick() from happening

on_owner_sleepy +

+

If the mob has the TRAIT_SLEEPIMMUNE but somehow looses it we make him sleep and restart the tick()

+ + + diff --git a/datum/status_effect/inebriated.html b/datum/status_effect/inebriated.html new file mode 100644 index 000000000000..f6a9a8f00b31 --- /dev/null +++ b/datum/status_effect/inebriated.html @@ -0,0 +1,58 @@ + + + + + + + /datum/status_effect/inebriated - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

inebriated + + + +

+ +

The drunk status effect. +Slowly decreases in drunk_value over time, causing effects based on that value.

+ + + +

Vars

drunk_valueThe level of drunkness we are currently at.

Procs

clear_drunkennessRemoves all of our drunkenness (self-deletes) on signal.
on_tick_effectsSide effects done by this level of drunkness on tick.
set_drunk_valueSets the drunk value to set_to, deleting if the value drops to 0 or lower
+

Var Details

drunk_value + + + + +

+

The level of drunkness we are currently at.

Proc Details

clear_drunkenness +

+

Removes all of our drunkenness (self-deletes) on signal.

on_tick_effects +

+

Side effects done by this level of drunkness on tick.

set_drunk_value +

+

Sets the drunk value to set_to, deleting if the value drops to 0 or lower

+ + + diff --git a/datum/status_effect/inebriated/drunk.html b/datum/status_effect/inebriated/drunk.html new file mode 100644 index 000000000000..5d7bebe423ee --- /dev/null +++ b/datum/status_effect/inebriated/drunk.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/inebriated/drunk - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

drunk + + + +

+ +

Stage 2 of being drunk, applied at drunk values between 6 and onward. +Has all the main side effects of being drunk, scaling up as they get more drunk.

+

Procs

clear_effectsClears any side effects we set due to being drunk.

Proc Details

clear_effects +

+

Clears any side effects we set due to being drunk.

+ + + diff --git a/datum/status_effect/jitter.html b/datum/status_effect/jitter.html new file mode 100644 index 000000000000..d12cfa467308 --- /dev/null +++ b/datum/status_effect/jitter.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/jitter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

jitter + + + +

+ + +

Procs

remove_jitterRemoves all of our jitteriness on a signal

Proc Details

remove_jitter +

+

Removes all of our jitteriness on a signal

+ + + diff --git a/datum/status_effect/limited_buff.html b/datum/status_effect/limited_buff.html new file mode 100644 index 000000000000..d18810252157 --- /dev/null +++ b/datum/status_effect/limited_buff.html @@ -0,0 +1,50 @@ + + + + + + + /datum/status_effect/limited_buff - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

limited_buff + + + +

+ +

These effects reapply their on_apply() effect when refreshed while stacks < max_stacks.

+ + +

Vars

max_stacksHow many stacks we can have maximum
stacksHow many stacks we currently have

Procs

maxed_outCalled whenever the buff is refreshed when there are more stacks than max_stacks.
+

Var Details

max_stacks + + + + +

+

How many stacks we can have maximum

stacks + + + + +

+

How many stacks we currently have

Proc Details

maxed_out +

+

Called whenever the buff is refreshed when there are more stacks than max_stacks.

+ + + diff --git a/datum/status_effect/limited_buff/health_buff.html b/datum/status_effect/limited_buff/health_buff.html new file mode 100644 index 000000000000..a98f7c9ae534 --- /dev/null +++ b/datum/status_effect/limited_buff/health_buff.html @@ -0,0 +1,57 @@ + + + + + + + /datum/status_effect/limited_buff/health_buff - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

health_buff + + + +

+ +

this buff provides a max health buff and a heal.

+ + + +

Vars

fragile_mob_health_buffIf the mob has a low max health, we instead use this flat value to increase max health and calculate any heal.
healing_modifierThis modifier multiplies the healing by the effect.
health_buff_modifierThis var determines how large the health buff will be. health_buff_modifier * historic_max_health * stacks
historic_max_healthThis var stores the mobs max health when the buff was first applied, and determines the size of future buffs.database.database.
+

Var Details

fragile_mob_health_buff + + + + +

+

If the mob has a low max health, we instead use this flat value to increase max health and calculate any heal.

healing_modifier + + + + +

+

This modifier multiplies the healing by the effect.

health_buff_modifier + + + + +

+

This var determines how large the health buff will be. health_buff_modifier * historic_max_health * stacks

historic_max_health + + + + +

+

This var stores the mobs max health when the buff was first applied, and determines the size of future buffs.database.database.

+ + + diff --git a/datum/status_effect/limp.html b/datum/status_effect/limp.html new file mode 100644 index 000000000000..b3740a615d5b --- /dev/null +++ b/datum/status_effect/limp.html @@ -0,0 +1,92 @@ + + + + + + + /datum/status_effect/limp - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

limp + + + +

+ + + + + + + + + + +

Vars

leftThe left leg of the limping person
limp_chance_leftThe chance we limp with the left leg each step it takes
limp_chance_rightThe chance we limp with the right leg each step it takes
next_legWhich leg we're limping with next
rightThe right leg of the limping person
slowdown_leftHow many deciseconds we limp for on the left leg
slowdown_rightHow many deciseconds we limp for on the right leg
steps_leftKeeps track of how many steps have been taken on the left leg
steps_rightKeeps track of how many steps have been taken on the right leg.
+

Var Details

left + + + + +

+

The left leg of the limping person

limp_chance_left + + + + +

+

The chance we limp with the left leg each step it takes

limp_chance_right + + + + +

+

The chance we limp with the right leg each step it takes

next_leg + + + + +

+

Which leg we're limping with next

right + + + + +

+

The right leg of the limping person

slowdown_left + + + + +

+

How many deciseconds we limp for on the left leg

slowdown_right + + + + +

+

How many deciseconds we limp for on the right leg

steps_left + + + + +

+

Keeps track of how many steps have been taken on the left leg

steps_right + + + + +

+

Keeps track of how many steps have been taken on the right leg.

+ + + diff --git a/datum/status_effect/mayhem.html b/datum/status_effect/mayhem.html new file mode 100644 index 000000000000..da74f0beecfc --- /dev/null +++ b/datum/status_effect/mayhem.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/mayhem - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mayhem + + + +

+ + +

Vars

chainsawThe chainsaw spawned by the status effect
+

Var Details

chainsaw + + + + +

+

The chainsaw spawned by the status effect

+ + + diff --git a/datum/status_effect/offering.html b/datum/status_effect/offering.html new file mode 100644 index 000000000000..54fb4040be12 --- /dev/null +++ b/datum/status_effect/offering.html @@ -0,0 +1,85 @@ + + + + + + + /datum/status_effect/offering - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

offering + + + +

+ + + + + + + + + +

Vars

give_alert_typeThe type of alert given to people when offered, in case you need to override some behavior (like for high-fives)
offered_itemThe actual item being offered
possible_takersThe people who were offered this item at the start

Procs

check_owner_in_rangeThe offerer moved, see if anyone is out of range now
check_taker_in_rangeOne of our possible takers moved, see if they left us hanging
dropped_itemWe lost the item, give it up
register_candidateHook up the specified carbon mob to be offered the item in question, give them the alert and signals and all
remove_candidateRemove the alert and signals for the specified carbon mob. Automatically removes the status effect when we lost the last taker
+

Var Details

give_alert_type + + + + +

+

The type of alert given to people when offered, in case you need to override some behavior (like for high-fives)

offered_item + + + + +

+

The actual item being offered

possible_takers + + + + +

+

The people who were offered this item at the start

Proc Details

check_owner_in_range +

+

The offerer moved, see if anyone is out of range now

check_taker_in_range +

+

One of our possible takers moved, see if they left us hanging

dropped_item +

+

We lost the item, give it up

register_candidate +

+

Hook up the specified carbon mob to be offered the item in question, give them the alert and signals and all

remove_candidate +

+

Remove the alert and signals for the specified carbon mob. Automatically removes the status effect when we lost the last taker

+ + + diff --git a/datum/status_effect/protective_blades.html b/datum/status_effect/protective_blades.html new file mode 100644 index 000000000000..e584614b71e0 --- /dev/null +++ b/datum/status_effect/protective_blades.html @@ -0,0 +1,88 @@ + + + + + + + /datum/status_effect/protective_blades - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

protective_blades + + + +

+ +

Summons multiple foating knives around the owner. +Each knife will block an attack straight up.

+ + + + + + + +

Vars

blade_orbit_radiusThe radius of the blade's orbit.
bladesA list of blade effects orbiting / protecting our owner
delete_on_blades_goneIf TRUE, we self-delete our status effect after all the blades are deleted.
max_num_bladesThe number of blades we summon up to.
time_between_initial_bladesThe time between spawning blades.

Procs

create_bladeCreates a floating blade, adds it to our blade list, and makes it orbit our owner.
on_shield_reactionSignal proc for [COMSIG_HUMAN_CHECK_SHIELDS]. +If we have a blade in our list, consume it and block the incoming attack (shield it)
remove_bladeRemove deleted blades from our blades list properly.
+

Var Details

blade_orbit_radius + + + + +

+

The radius of the blade's orbit.

blades + + + + +

+

A list of blade effects orbiting / protecting our owner

delete_on_blades_gone + + + + +

+

If TRUE, we self-delete our status effect after all the blades are deleted.

max_num_blades + + + + +

+

The number of blades we summon up to.

time_between_initial_blades + + + + +

+

The time between spawning blades.

Proc Details

create_blade +

+

Creates a floating blade, adds it to our blade list, and makes it orbit our owner.

on_shield_reaction +

+

Signal proc for [COMSIG_HUMAN_CHECK_SHIELDS]. +If we have a blade in our list, consume it and block the incoming attack (shield it)

remove_blade +

+

Remove deleted blades from our blades list properly.

+ + + diff --git a/datum/status_effect/protective_blades/recharging.html b/datum/status_effect/protective_blades/recharging.html new file mode 100644 index 000000000000..8b18103bc4a2 --- /dev/null +++ b/datum/status_effect/protective_blades/recharging.html @@ -0,0 +1,37 @@ + + + + + + + /datum/status_effect/protective_blades/recharging - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

recharging + + + +

+ +

A subtype that doesn't self-delete / disappear when all blades are gone +It instead regenerates over time back to the max after blades are consumed

+

Vars

blade_recharge_timeThe amount of time it takes for a blade to recharge
+

Var Details

blade_recharge_time + + + + +

+

The amount of time it takes for a blade to recharge

+ + + diff --git a/datum/status_effect/skill_mod.html b/datum/status_effect/skill_mod.html new file mode 100644 index 000000000000..338ec0f1ebb2 --- /dev/null +++ b/datum/status_effect/skill_mod.html @@ -0,0 +1,50 @@ + + + + + + + /datum/status_effect/skill_mod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

skill_mod + + + +

+ + + + +

Vars

modify_amtAmount to modify by
skill_pathType path of the skill to modify
sourceA string source like "Incapacitated".
+

Var Details

modify_amt + + + + +

+

Amount to modify by

skill_path + + + + +

+

Type path of the skill to modify

source + + + + +

+

A string source like "Incapacitated".

+ + + diff --git a/datum/status_effect/speech.html b/datum/status_effect/speech.html new file mode 100644 index 000000000000..c32f5139495d --- /dev/null +++ b/datum/status_effect/speech.html @@ -0,0 +1,55 @@ + + + + + + + /datum/status_effect/speech - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

speech + + + +

+ + + + +

Procs

apply_speechApplies the speech effects on the past character, changing +the original_char into the modified_char.
handle_messageSignal proc for COMSIG_LIVING_TREAT_MESSAGE
on_healSignal proc for COMSIG_LIVING_POST_FULLY_HEAL, removes all stutters and slurring on full heal

Proc Details

apply_speech +

+

Applies the speech effects on the past character, changing +the original_char into the modified_char.

+

Return the modified_char to be reapplied to the message.

handle_message +

+

Signal proc for COMSIG_LIVING_TREAT_MESSAGE

+

Iterates over all of the characters in the past message +and calls apply_speech() on each.

+

message_args[1] is the original message passed into the signal.

on_heal +

+

Signal proc for COMSIG_LIVING_POST_FULLY_HEAL, removes all stutters and slurring on full heal

+ + + diff --git a/datum/status_effect/speech/slurring.html b/datum/status_effect/speech/slurring.html new file mode 100644 index 000000000000..f64161e1568c --- /dev/null +++ b/datum/status_effect/speech/slurring.html @@ -0,0 +1,92 @@ + + + + + + + /datum/status_effect/speech/slurring - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

slurring + + + +

+ + + + + + + + + + +

Vars

common_probThe chance that any given character in a message will be replaced with a common character
common_replacementsCommon replacements for characters - populated in on_creation
doubletext_probThe chance that any given character will be doubled, or even tripled
replacement_probThe chance that any given character will be entirely replaced with a new string / will have a string appended onto it
string_additionsStrings that are appended to a character - populated in on_creation
string_replacementsStrings that fully replace a character - populated in on_creation
text_modification_fileThe file we pull text modifications from
uncommon_probThe chance that any given character in a message will be replaced with an uncommon character
uncommon_replacementsUncommon replacements for characters - populated in on_creation
+

Var Details

common_prob + + + + +

+

The chance that any given character in a message will be replaced with a common character

common_replacements + + + + +

+

Common replacements for characters - populated in on_creation

doubletext_prob + + + + +

+

The chance that any given character will be doubled, or even tripled

replacement_prob + + + + +

+

The chance that any given character will be entirely replaced with a new string / will have a string appended onto it

string_additions + + + + +

+

Strings that are appended to a character - populated in on_creation

string_replacements + + + + +

+

Strings that fully replace a character - populated in on_creation

text_modification_file + + + + +

+

The file we pull text modifications from

uncommon_prob + + + + +

+

The chance that any given character in a message will be replaced with an uncommon character

uncommon_replacements + + + + +

+

Uncommon replacements for characters - populated in on_creation

+ + + diff --git a/datum/status_effect/speech/stutter.html b/datum/status_effect/speech/stutter.html new file mode 100644 index 000000000000..c4dc394d99f9 --- /dev/null +++ b/datum/status_effect/speech/stutter.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/speech/stutter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

stutter + + + +

+ + + +

Vars

no_stutterRegex of characters we won't apply a stutter to
stutter_probThe probability of adding a stutter to any character
+

Var Details

no_stutter + + + + +

+

Regex of characters we won't apply a stutter to

stutter_prob + + + + +

+

The probability of adding a stutter to any character

+ + + diff --git a/datum/status_effect/speech/stutter/derpspeech.html b/datum/status_effect/speech/stutter/derpspeech.html new file mode 100644 index 000000000000..ffd7367478f9 --- /dev/null +++ b/datum/status_effect/speech/stutter/derpspeech.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/speech/stutter/derpspeech - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

derpspeech + + + +

+ + + +

Vars

capitalize_probThe probability of making our message entirely uppercase + adding exclamations
message_stutter_probThe probability of adding a stutter to the entire message, if we're not already stuttering
+

Var Details

capitalize_prob + + + + +

+

The probability of making our message entirely uppercase + adding exclamations

message_stutter_prob + + + + +

+

The probability of adding a stutter to the entire message, if we're not already stuttering

+ + + diff --git a/datum/status_effect/stabilized.html b/datum/status_effect/stabilized.html new file mode 100644 index 000000000000..3cac58e91297 --- /dev/null +++ b/datum/status_effect/stabilized.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/stabilized - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

stabilized + + + +

+ +

STABILIZED EXTRACTS

+ +

Vars

colourColour of the extract providing the buff
linked_extractItem which provides this buff
+

Var Details

colour + + + + +

+

Colour of the extract providing the buff

linked_extract + + + + +

+

Item which provides this buff

+ + + diff --git a/datum/status_effect/stabilized/black.html b/datum/status_effect/stabilized/black.html new file mode 100644 index 000000000000..41c539f9c993 --- /dev/null +++ b/datum/status_effect/stabilized/black.html @@ -0,0 +1,50 @@ + + + + + + + /datum/status_effect/stabilized/black - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

black + + + +

+ + + + +

Vars

draining_refWeakref to the mob we're currently draining every tick.
heal_amountHow much we heal per tick (also how much we damage per tick times DRAIN_DAMAGE_MULTIPLIER).

Procs

on_grabWhenever we grab someone by the neck, set "draining" to a weakref of them.
+

Var Details

draining_ref + + + + +

+

Weakref to the mob we're currently draining every tick.

heal_amount + + + + +

+

How much we heal per tick (also how much we damage per tick times DRAIN_DAMAGE_MULTIPLIER).

Proc Details

on_grab +

+

Whenever we grab someone by the neck, set "draining" to a weakref of them.

+ + + diff --git a/datum/status_effect/stabilized/pink.html b/datum/status_effect/stabilized/pink.html new file mode 100644 index 000000000000..fd8b77138ca2 --- /dev/null +++ b/datum/status_effect/stabilized/pink.html @@ -0,0 +1,50 @@ + + + + + + + /datum/status_effect/stabilized/pink - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pink + + + +

+ + + + +

Vars

faction_nameName of our faction
mobsList of weakrefs to mobs we have pacified

Procs

update_nearby_mobsPacifies mobs you can see and unpacifies mobs you no longer can
+

Var Details

faction_name + + + + +

+

Name of our faction

mobs + + + + +

+

List of weakrefs to mobs we have pacified

Proc Details

update_nearby_mobs +

+

Pacifies mobs you can see and unpacifies mobs you no longer can

+ + + diff --git a/datum/status_effect/stabilized/purple.html b/datum/status_effect/stabilized/purple.html new file mode 100644 index 000000000000..0eb291fff907 --- /dev/null +++ b/datum/status_effect/stabilized/purple.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/stabilized/purple - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

purple + + + +

+ + +

Vars

healed_last_tickWhether we healed from our last tick
+

Var Details

healed_last_tick + + + + +

+

Whether we healed from our last tick

+ + + diff --git a/datum/status_effect/stacking.html b/datum/status_effect/stacking.html new file mode 100644 index 000000000000..d394b6084c9b --- /dev/null +++ b/datum/status_effect/stacking.html @@ -0,0 +1,195 @@ + + + + + + + /datum/status_effect/stacking - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

stacking + + + +

+ +

Status effects that can stack.

+ + + + + + + + + + + + + + + + + + + + + +

Vars

consumed_on_thresholdIf TRUE, the status effect is consumed / removed when stack_threshold is met
delay_before_decay(first stack will be removed at this time plus tick_interval)
max_stacksThe maximum number of stacks that can be applied
overlay_fileIcon file for overlays applied when the status effect is applied
overlay_stateIcon state for overlays applied when the status effect is applied +States in the file must be given a name, followed by a number which corresponds to a number of stacks. +Put the state name without the number in these state vars
stack_decayHow many stacks are lost per tick (decay trigger)
stack_thresholdThe threshold for having special effects occur when a certain stack number is reached
stacksHow many stacks are currently accumulated. +Also, the default stacks number given on application.
status_overlayA reference to our overlay appearance
status_underlayA referenceto our underlay appearance
threshold_crossedSet to true once the stack_threshold is crossed, and false once it falls back below
underlay_fileIcon file for underlays applied when the status effect is applied
underlay_stateIcon state for underlays applied when the status effect is applied +The number is concatonated onto the string based on the number of stacks to get the correct state name.

Procs

add_stacksAdd (or remove) [stacks_added] stacks to our current stack count.
can_gain_stacksWhether the owner can currently gain stacks or not +Return FALSE if the owner is not in a valid state, or TRUE otherwise
can_have_statusWhether the owner can have the status effect. +Return FALSE if the owner is not in a valid state (self-deletes the effect), or TRUE otherwise
fadeout_effectEffects that occur if the status is removed due to being under 1 remaining stack
on_threshold_crossCalled when the stack_threshold is crossed (stacks go over the threshold)
on_threshold_dropCalled when the stack_threshold is uncrossed / dropped (stacks go under the threshold after being over it)
stack_decay_effectRuns every time tick(), causes stacks to decay over time
stacks_consumed_effectEffects that occur if the status effect is removed due to the stack_threshold being crossed
threshold_cross_effectEffects that occur when the stack count crosses stack_threshold
+

Var Details

consumed_on_threshold + + + + +

+

If TRUE, the status effect is consumed / removed when stack_threshold is met

delay_before_decay + + + + +

+

(first stack will be removed at this time plus tick_interval)

max_stacks + + + + +

+

The maximum number of stacks that can be applied

overlay_file + + + + +

+

Icon file for overlays applied when the status effect is applied

overlay_state + + + + +

+

Icon state for overlays applied when the status effect is applied +States in the file must be given a name, followed by a number which corresponds to a number of stacks. +Put the state name without the number in these state vars

stack_decay + + + + +

+

How many stacks are lost per tick (decay trigger)

stack_threshold + + + + +

+

The threshold for having special effects occur when a certain stack number is reached

stacks + + + + +

+

How many stacks are currently accumulated. +Also, the default stacks number given on application.

status_overlay + + + + +

+

A reference to our overlay appearance

status_underlay + + + + +

+

A referenceto our underlay appearance

threshold_crossed + + + + +

+

Set to true once the stack_threshold is crossed, and false once it falls back below

underlay_file + + + + +

+

Icon file for underlays applied when the status effect is applied

underlay_state + + + + +

+

Icon state for underlays applied when the status effect is applied +The number is concatonated onto the string based on the number of stacks to get the correct state name.

Proc Details

add_stacks +

+

Add (or remove) [stacks_added] stacks to our current stack count.

can_gain_stacks +

+

Whether the owner can currently gain stacks or not +Return FALSE if the owner is not in a valid state, or TRUE otherwise

can_have_status +

+

Whether the owner can have the status effect. +Return FALSE if the owner is not in a valid state (self-deletes the effect), or TRUE otherwise

fadeout_effect +

+

Effects that occur if the status is removed due to being under 1 remaining stack

on_threshold_cross +

+

Called when the stack_threshold is crossed (stacks go over the threshold)

on_threshold_drop +

+

Called when the stack_threshold is uncrossed / dropped (stacks go under the threshold after being over it)

stack_decay_effect +

+

Runs every time tick(), causes stacks to decay over time

stacks_consumed_effect +

+

Effects that occur if the status effect is removed due to the stack_threshold being crossed

threshold_cross_effect +

+

Effects that occur when the stack count crosses stack_threshold

+ + + diff --git a/datum/status_effect/stat_mod.html b/datum/status_effect/stat_mod.html new file mode 100644 index 000000000000..5215cd847494 --- /dev/null +++ b/datum/status_effect/stat_mod.html @@ -0,0 +1,50 @@ + + + + + + + /datum/status_effect/stat_mod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

stat_mod + + + +

+ + + + +

Vars

modify_amtAmount to modify by
sourceA string source like "Incapacitated".
stat_pathType path of the s
+

Var Details

modify_amt + + + + +

+

Amount to modify by

source + + + + +

+

A string source like "Incapacitated".

stat_path + + + + +

+

Type path of the s

+ + + diff --git a/datum/status_effect/strandling.html b/datum/status_effect/strandling.html new file mode 100644 index 000000000000..77ec752b14fe --- /dev/null +++ b/datum/status_effect/strandling.html @@ -0,0 +1,66 @@ + + + + + + + /datum/status_effect/strandling - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

strandling + + + +

+ + + + + + +

Vars

time_to_removeHow long it takes to remove the status effect via [proc/try_remove_effect]

Procs

on_breatheSignal proc for COMSIG_CARBON_PRE_BREATHE, causes losebreath whenever we're trying to breathe
on_cutSignal proc for COMSIG_ATOM_TOOL_ACT with [TOOL_WIRECUTTER], allowing wirecutters to remove the effect (from others / themself)
on_self_checkSignal proc for COMSIG_CARBON_PRE_HELP_ACT, allowing someone to remove the effect by hand
try_remove_effectAttempts a do_after to remove the effect and stop the strangling.
+

Var Details

time_to_remove + + + + +

+

How long it takes to remove the status effect via [proc/try_remove_effect]

Proc Details

on_breathe +

+

Signal proc for COMSIG_CARBON_PRE_BREATHE, causes losebreath whenever we're trying to breathe

on_cut +

+

Signal proc for COMSIG_ATOM_TOOL_ACT with [TOOL_WIRECUTTER], allowing wirecutters to remove the effect (from others / themself)

on_self_check +

+

Signal proc for COMSIG_CARBON_PRE_HELP_ACT, allowing someone to remove the effect by hand

try_remove_effect +

+

Attempts a do_after to remove the effect and stop the strangling.

+

user - the mob attempting to remove the strangle. Can be the same as the owner. +tool - the tool the user's using to remove the strange. Can be null.

+ + + diff --git a/datum/storage.html b/datum/storage.html new file mode 100644 index 000000000000..4f7509dcd053 --- /dev/null +++ b/datum/storage.html @@ -0,0 +1,628 @@ + + + + + + + /datum/storage - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

storage + + + +

+ +

Datumized Storage +Eliminates the need for custom signals specifically for the storage component, and attaches a storage variable (atom_storage) to every atom. +If you're looking to create custom storage type behaviors, check ../subtypes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

allow_big_nestingwhether or not we allow storage objects of the same size inside
allow_quick_emptyshow we allow emptying all contents by using the storage object in hand
allow_quick_gatherIf TRUE, we can click on items with the storage object to pick them up and insert them.
animatedwhether or not we should have those cute little animations
attack_hand_interactwhether or not we should open when clicked
boxesstorage display object
can_holdif this is set, only items, and their children, will fit
can_hold_descriptionAn additional description shown on double-examine. +Is autogenerated to the can_hold list if not set.
can_hold_traitif set can only contain stuff with this single trait present.
cant_holdif this is set, items, and their children, won't fit
close_soundSound played when closed.
closerclose button object
collection_modethe mode for collection when allow_quick_gather is enabled
emp_shieldedcontents shouldn't be emped
exception_holdif set, these items will be the exception to the max size of object that can fit.
insert_prepositionyou put things in a bag, but on a plate
is_usingList of all the mobs currently viewing the contents of this storage.
max_specific_storagemax weight class for a single item being inserted
max_total_storagemax combined weight classes the storage can hold
numerical_stackinginstead of displaying multiple items of the same type, display them as numbered contents
open_soundSound played when first opened.
parentA reference to the atom linked to this storage object +If the parent goes, we go. Will never be null.
quickdrawalt click takes an item out instead of opening up storage
real_locationA reference to the atom where the items are actually stored. +By default this is parent. Should generally never be null. +Sometimes it's not the parent, that's what is called "dissassociated storage".
rustle_soundSound played when interacting with contents.
screen_max_columnsmaximum amount of columns a storage object can have
screen_pixel_xpixel location of the boxes and close button
screen_start_xwhere storage starts being rendered, screen_loc wise
silentIf TRUE, chat messages for inserting/removing items will not be shown.

Procs

animate_parentGives a spiffy animation to our parent to represent opening and closing.
attempt_insertAttempts to insert an item into the storage
attempt_removeAttempts to remove an item from the storage
can_insertChecks if an item is capable of being inserted into the storage
can_manipulate_contentsCheck to see if items can be added/removed.
can_see_contentsChecks who is currently capable of viewing our storage (and is.)
check_slots_fullChecks if we have enough slots to allow the item inside.
check_total_weightChecks if the total weight would exceed our capacity when adding the item.
check_typecache_for_itemChecks if the item is in our can_hold list.
check_weight_classChecks if the item is allowed into storage based on it's weight class
close_allClose the storage UI for everyone viewing us.
close_distanceSignal handler for whenever a mob walks away with us, close if they can't reach us.
collect_on_turfCollects every item of a type on a turf.
contents_for_displayReturns a list of items to display in the hud
dump_content_atDumps all of our contents at a specific location.
generate_hold_descGenerates a description, primarily for clothing storage.
get_quickdraw_itemReturns an item to pull out with the quickdraw interaction.
get_real_locationGetter for [real_location].
handle_enterAutomatically ran on all object insertions: flag marking and view refreshing.
handle_exitAutomatically ran on all object removals: flag marking and view refreshing.
handle_mass_pickupInserts every item in a given list, with a progress bar
hide_contentsHide our storage from a mob.
item_insertion_feedbackProvides visual feedback in chat for an item insertion
mass_emptySignal handler for remove_all()
on_attackSignal handler for whenever we're attacked by a mob.
on_attackbySignal handler for whenever we're attacked by an object.
on_emp_actSignal handler for the emp_act() of all contents
on_mousedrop_ontoSignal handler for whenever we drag the storage somewhere.
on_mousedropped_ontoSignal handler for whenever something gets mouse-dropped onto us.
on_preattackSignal handler for preattack from an object.
open_storageOpens the storage to the mob, showing them the contents to their UI.
open_storage_attackby_secondarySignal handler for when we get attacked with secondary click by an item.
open_storage_on_signalSignal handler to open up the storage when we recieve a signal.
orient_item_boxesGenerates the actual UI objects, their location, and alignments whenever we open storage up.
orient_to_hudUpdates the storage UI to fit all objects inside storage.
process_numerical_displayGenerates the numbers on an item in storage to show stacking.
put_in_hands_asyncAsync version of putting something into a mobs hand.
real_location_goneSignal handler for when the real location is deleted.
refresh_viewsRefresh the views of everyone currently viewing the storage.
remove_allRemoves everything inside of our storage
remove_and_refreshResets an object, removes it from our screen, and refreshes the view.
remove_typeRemoves only a specific type of item from our storage
reset_itemRefreshes and item to be put back into the real world, out of storage.
return_invRecursive proc to get absolutely EVERYTHING inside a storage item, including the contents of inner items.
set_parentSet the passed atom as the parent
set_real_locationSets where items are physically being stored in the case it shouldn't be on the parent.
show_contentsShow our storage to a mob.
toggle_collection_modeToggles the collectmode of our storage.
update_actionsUpdates the action button for toggling collectmode.
+

Var Details

allow_big_nesting + + + + +

+

whether or not we allow storage objects of the same size inside

allow_quick_empty + + + + +

+

show we allow emptying all contents by using the storage object in hand

allow_quick_gather + + + + +

+

If TRUE, we can click on items with the storage object to pick them up and insert them.

animated + + + + +

+

whether or not we should have those cute little animations

attack_hand_interact + + + + +

+

whether or not we should open when clicked

boxes + + + + +

+

storage display object

can_hold + + + + +

+

if this is set, only items, and their children, will fit

can_hold_description + + + + +

+

An additional description shown on double-examine. +Is autogenerated to the can_hold list if not set.

can_hold_trait + + + + +

+

if set can only contain stuff with this single trait present.

cant_hold + + + + +

+

if this is set, items, and their children, won't fit

close_sound + + + + +

+

Sound played when closed.

closer + + + + +

+

close button object

collection_mode + + + + +

+

the mode for collection when allow_quick_gather is enabled

emp_shielded + + + + +

+

contents shouldn't be emped

exception_hold + + + + +

+

if set, these items will be the exception to the max size of object that can fit.

insert_preposition + + + + +

+

you put things in a bag, but on a plate

is_using + + + + +

+

List of all the mobs currently viewing the contents of this storage.

max_specific_storage + + + + +

+

max weight class for a single item being inserted

max_total_storage + + + + +

+

max combined weight classes the storage can hold

numerical_stacking + + + + +

+

instead of displaying multiple items of the same type, display them as numbered contents

open_sound + + + + +

+

Sound played when first opened.

parent + + + + +

+

A reference to the atom linked to this storage object +If the parent goes, we go. Will never be null.

quickdraw + + + + +

+

alt click takes an item out instead of opening up storage

real_location + + + + +

+

A reference to the atom where the items are actually stored. +By default this is parent. Should generally never be null. +Sometimes it's not the parent, that's what is called "dissassociated storage".

+

Do NOT set this directly, use set_real_location.

rustle_sound + + + + +

+

Sound played when interacting with contents.

screen_max_columns + + + + +

+

maximum amount of columns a storage object can have

screen_pixel_x + + + + +

+

pixel location of the boxes and close button

screen_start_x + + + + +

+

where storage starts being rendered, screen_loc wise

silent + + + + +

+

If TRUE, chat messages for inserting/removing items will not be shown.

Proc Details

animate_parent +

+

Gives a spiffy animation to our parent to represent opening and closing.

attempt_insert +

+

Attempts to insert an item into the storage

+

@param datum/source used by the signal handler +@param obj/item/to_insert the item we're inserting +@param mob/user the user who is inserting the item +@param override see item_insertion_feedback() +@param force bypass locked storage

attempt_remove +

+

Attempts to remove an item from the storage

+

@param obj/item/thing the object we're removing +@param atom/newLoc where we're placing the item +@param silent if TRUE, we won't play any exit sounds +@param user the mob performing the action

can_insert +

+

Checks if an item is capable of being inserted into the storage

+

@param obj/item/to_insert the item we're checking +@param messages if TRUE, will print out a message if the item is not valid +@param force bypass locked storage

can_manipulate_contents +

+

Check to see if items can be added/removed.

+

@param mob/living/user an optional user +@param force will bypass most checks +@param silent will surpress feedback messages

can_see_contents +

+

Checks who is currently capable of viewing our storage (and is.)

check_slots_full +

+

Checks if we have enough slots to allow the item inside.

check_total_weight +

+

Checks if the total weight would exceed our capacity when adding the item.

check_typecache_for_item +

+

Checks if the item is in our can_hold list.

check_weight_class +

+

Checks if the item is allowed into storage based on it's weight class

close_all +

+

Close the storage UI for everyone viewing us.

close_distance +

+

Signal handler for whenever a mob walks away with us, close if they can't reach us.

collect_on_turf +

+

Collects every item of a type on a turf.

+

@param obj/item/thing the initial object to pick up +@param mob/user the user who is picking up the items

contents_for_display +

+

Returns a list of items to display in the hud

dump_content_at +

+

Dumps all of our contents at a specific location.

+

@param atom/dest_object where to dump to +@param mob/user the user who is dumping the contents

generate_hold_desc +

+

Generates a description, primarily for clothing storage.

get_quickdraw_item +

+

Returns an item to pull out with the quickdraw interaction.

get_real_location +

+

Getter for [real_location].

handle_enter +

+

Automatically ran on all object insertions: flag marking and view refreshing.

handle_exit +

+

Automatically ran on all object removals: flag marking and view refreshing.

handle_mass_pickup +

+

Inserts every item in a given list, with a progress bar

+

@param mob/user the user who is inserting the items +@param list/things the list of items to insert +@param atom/thing_loc the location of the items (used to make sure an item hasn't moved during pickup) +@param list/rejections a list used to make sure we only complain once about an invalid insertion +@param datum/progressbar/progress the progressbar used to show the progress of the insertion

hide_contents +

+

Hide our storage from a mob.

+

@param mob/toshow the mob to hide the storage from

item_insertion_feedback +

+

Provides visual feedback in chat for an item insertion

+

@param mob/user the user who is inserting the item +@param obj/item/thing the item we're inserting +@param override skip feedback, only do animation check

mass_empty +

+

Signal handler for remove_all()

on_attack +

+

Signal handler for whenever we're attacked by a mob.

on_attackby +

+

Signal handler for whenever we're attacked by an object.

on_emp_act +

+

Signal handler for the emp_act() of all contents

on_mousedrop_onto +

+

Signal handler for whenever we drag the storage somewhere.

on_mousedropped_onto +

+

Signal handler for whenever something gets mouse-dropped onto us.

on_preattack +

+

Signal handler for preattack from an object.

open_storage +

+

Opens the storage to the mob, showing them the contents to their UI.

open_storage_attackby_secondary +

+

Signal handler for when we get attacked with secondary click by an item.

open_storage_on_signal +

+

Signal handler to open up the storage when we recieve a signal.

orient_item_boxes +

+

Generates the actual UI objects, their location, and alignments whenever we open storage up.

orient_to_hud +

+

Updates the storage UI to fit all objects inside storage.

process_numerical_display +

+

Generates the numbers on an item in storage to show stacking.

put_in_hands_async +

+

Async version of putting something into a mobs hand.

real_location_gone +

+

Signal handler for when the real location is deleted.

refresh_views +

+

Refresh the views of everyone currently viewing the storage.

remove_all +

+

Removes everything inside of our storage

+

@param atom/target where we're placing the item

remove_and_refresh +

+

Resets an object, removes it from our screen, and refreshes the view.

+

@param atom/movable/gone the object leaving our storage

remove_type +

+

Removes only a specific type of item from our storage

+

@param type the type of item to remove +@param amount how many we should attempt to pick up at one time +@param check_adjacent if TRUE, we'll check adjacent locations for the item type +@param force if TRUE, we'll bypass the check_adjacent check all together +@param mob/user the user who is removing the items +@param list/inserted a list passed to attempt_remove for ultimate removal

reset_item +

+

Refreshes and item to be put back into the real world, out of storage.

return_inv +

+

Recursive proc to get absolutely EVERYTHING inside a storage item, including the contents of inner items.

+

@param list/interface the list we're adding objects to +@param recursive whether or not we're checking inside of inner items

set_parent +

+

Set the passed atom as the parent

set_real_location +

+

Sets where items are physically being stored in the case it shouldn't be on the parent.

+

@param atom/real the new real location of the datum +@param should_drop if TRUE, all the items in the old real location will be dropped

show_contents +

+

Show our storage to a mob.

+

@param mob/toshow the mob to show the storage to

toggle_collection_mode +

+

Toggles the collectmode of our storage.

+

@param mob/toshow the mob toggling us

update_actions +

+

Updates the action button for toggling collectmode.

+ + + diff --git a/datum/storage/holster.html b/datum/storage/holster.html new file mode 100644 index 000000000000..ecf00e8fcab9 --- /dev/null +++ b/datum/storage/holster.html @@ -0,0 +1,50 @@ + + + + + + + /datum/storage/holster - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

holster + + + +

+ +

A type of storage where a number of slots are reserved for a specific type of item

+ + +

Vars

holster_slotsHow many slots are reserved for the holster list
holsterableA typecache of items that can be inserted into here in the reserved slots

Procs

can_holster_itemChecks if an item is in our holster list and we have room for it in there.
+

Var Details

holster_slots + + + + +

+

How many slots are reserved for the holster list

holsterable + + + + +

+

A typecache of items that can be inserted into here in the reserved slots

Proc Details

can_holster_item +

+

Checks if an item is in our holster list and we have room for it in there.

+ + + diff --git a/datum/strip_menu.html b/datum/strip_menu.html new file mode 100644 index 000000000000..73f3d06e1597 --- /dev/null +++ b/datum/strip_menu.html @@ -0,0 +1,50 @@ + + + + + + + /datum/strip_menu - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

strip_menu + + + +

+ +

A representation of the stripping UI

+ + +

Vars

interactionsA lazy list of user mobs to a list of strip menu keys that they're interacting with
ownerThe owner who has the element /datum/element/strippable
strippableThe strippable element itself
+

Var Details

interactions + + + + +

+

A lazy list of user mobs to a list of strip menu keys that they're interacting with

owner + + + + +

+

The owner who has the element /datum/element/strippable

strippable + + + + +

+

The strippable element itself

+ + + diff --git a/datum/strippable_item.html b/datum/strippable_item.html new file mode 100644 index 000000000000..cbb2f5c972aa --- /dev/null +++ b/datum/strippable_item.html @@ -0,0 +1,144 @@ + + + + + + + /datum/strippable_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

strippable_item + + + +

+ +

A representation of an item that can be stripped down

+ + + + + + + + + + + + +

Vars

keyThe STRIPPABLE_ITEM_* key
warn_dangerous_clothingShould we warn about dangerous clothing?

Procs

alternate_actionPerforms an alternative action on this strippable_item. +has_alternate_action needs to be TRUE. +Returns FALSE if blocked by signal, TRUE otherwise.
finish_equipThe proc that places the item on the source. This should not yield.
finish_unequipThe proc that unequips the item from the source. This should not yield.
get_alternate_actionReturns the ID of this item's strippable action. +Return null if there is no alternate action. +Any return value of this must be in StripMenu.
get_itemGets the item from the given source.
get_obscuringReturns a STRIPPABLE_OBSCURING_* define to report on whether or not this is obscured.
should_showReturns whether or not this item should show.
start_equipStart the equipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.
start_unequipStart the unequipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.
try_equipTries to equip the item onto the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if an item CAN be equipped. +It should not perform the equipping itself.
try_unequipTries to unequip the item from the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if it CAN be unequipped. +It should not perform the unequipping itself.
+

Var Details

key + + + + +

+

The STRIPPABLE_ITEM_* key

warn_dangerous_clothing + + + + +

+

Should we warn about dangerous clothing?

Proc Details

alternate_action +

+

Performs an alternative action on this strippable_item. +has_alternate_action needs to be TRUE. +Returns FALSE if blocked by signal, TRUE otherwise.

finish_equip +

+

The proc that places the item on the source. This should not yield.

finish_unequip +

+

The proc that unequips the item from the source. This should not yield.

get_alternate_action +

+

Returns the ID of this item's strippable action. +Return null if there is no alternate action. +Any return value of this must be in StripMenu.

get_item +

+

Gets the item from the given source.

get_obscuring +

+

Returns a STRIPPABLE_OBSCURING_* define to report on whether or not this is obscured.

should_show +

+

Returns whether or not this item should show.

start_equip +

+

Start the equipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.

start_unequip +

+

Start the unequipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.

try_equip +

+

Tries to equip the item onto the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if an item CAN be equipped. +It should not perform the equipping itself.

try_unequip +

+

Tries to unequip the item from the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if it CAN be unequipped. +It should not perform the unequipping itself.

+ + + diff --git a/datum/strippable_item/hand.html b/datum/strippable_item/hand.html new file mode 100644 index 000000000000..340be7ebf825 --- /dev/null +++ b/datum/strippable_item/hand.html @@ -0,0 +1,36 @@ + + + + + + + /datum/strippable_item/hand - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hand + + + +

+ +

A strippable item for a hand

+

Vars

hand_indexWhich hand?
+

Var Details

hand_index + + + + +

+

Which hand?

+ + + diff --git a/datum/strippable_item/mob_item_slot.html b/datum/strippable_item/mob_item_slot.html new file mode 100644 index 000000000000..29a218211518 --- /dev/null +++ b/datum/strippable_item/mob_item_slot.html @@ -0,0 +1,43 @@ + + + + + + + /datum/strippable_item/mob_item_slot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mob_item_slot + + + +

+ +

A preset for equipping items onto mob slots

+ +

Vars

item_slotThe ITEM_SLOT_* to equip to.

Procs

get_equip_delayReturns the delay of equipping this item to a mob
+

Var Details

item_slot + + + + +

+

The ITEM_SLOT_* to equip to.

Proc Details

get_equip_delay +

+

Returns the delay of equipping this item to a mob

+ + + diff --git a/datum/strippable_item/mob_item_slot/pocket.html b/datum/strippable_item/mob_item_slot/pocket.html new file mode 100644 index 000000000000..deea963c83cc --- /dev/null +++ b/datum/strippable_item/mob_item_slot/pocket.html @@ -0,0 +1,36 @@ + + + + + + + /datum/strippable_item/mob_item_slot/pocket - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pocket + + + +

+ + +

Vars

pocket_sideWhich pocket we're referencing. Used for visible text.
+

Var Details

pocket_side + + + + +

+

Which pocket we're referencing. Used for visible text.

+ + + diff --git a/datum/summon_things_controller.html b/datum/summon_things_controller.html new file mode 100644 index 000000000000..f38c6bd13f17 --- /dev/null +++ b/datum/summon_things_controller.html @@ -0,0 +1,67 @@ + + + + + + + /datum/summon_things_controller - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

summon_things_controller + + + +

+ +

The "Give everyone in the crew and also latejoins a buncha stuff" controller. +Used for summon magic and summon guns.

+ + + + +

Vars

give_proc_pathThe proc path we call on someone to equip them with stuff. Cannot function without it.
num_to_give_to_latejoinersThe number of equipment we give to latejoiners, to make sure they catch up if it was casted multiple times.
survivor_probabilityProb. chance someone who is given things will be made a survivalist antagonist.

Procs

gear_up_new_crewSignal proc from COMSIG_GLOB_CREWMEMBER_JOINED. +Calls give_proc_path on latejoiners a number of times (based on num_to_give_to_latejoiners)
give_out_gearCalls our give_proc_path on all humans in the player list.
+

Var Details

give_proc_path + + + + +

+

The proc path we call on someone to equip them with stuff. Cannot function without it.

num_to_give_to_latejoiners + + + + +

+

The number of equipment we give to latejoiners, to make sure they catch up if it was casted multiple times.

survivor_probability + + + + +

+

Prob. chance someone who is given things will be made a survivalist antagonist.

Proc Details

gear_up_new_crew +

+

Signal proc from COMSIG_GLOB_CREWMEMBER_JOINED. +Calls give_proc_path on latejoiners a number of times (based on num_to_give_to_latejoiners)

give_out_gear +

+

Calls our give_proc_path on all humans in the player list.

+ + + diff --git a/datum/supply_order.html b/datum/supply_order.html new file mode 100644 index 000000000000..e8d39b80d7c9 --- /dev/null +++ b/datum/supply_order.html @@ -0,0 +1,36 @@ + + + + + + + /datum/supply_order - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

supply_order + + + +

+ + +

Vars

department_destinationarea this order wants to reach, if not null then it will come with the deliver_first component set to this area
+

Var Details

department_destination + + + + +

+

area this order wants to reach, if not null then it will come with the deliver_first component set to this area

+ + + diff --git a/datum/supply_pack.html b/datum/supply_pack.html new file mode 100644 index 000000000000..a57fe5f18e80 --- /dev/null +++ b/datum/supply_pack.html @@ -0,0 +1,50 @@ + + + + + + + /datum/supply_pack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

supply_pack + + + +

+ + + + +

Vars

can_be_missing_contentsIf TRUE, can spawn with missing contents due to MANIFEST_ERROR_ITEM occuring.
costCost of the crate. DO NOT GO ANY LOWER THAN X1.4 the "CARGO_CRATE_VALUE" value if using regular crates, or infinite profit will be possible!

Procs

generate_supply_packsFor generating supply packs at runtime. Returns a list of supply packs to use instead of this one.
+

Var Details

can_be_missing_contents + + + + +

+

If TRUE, can spawn with missing contents due to MANIFEST_ERROR_ITEM occuring.

cost + + + + +

+

Cost of the crate. DO NOT GO ANY LOWER THAN X1.4 the "CARGO_CRATE_VALUE" value if using regular crates, or infinite profit will be possible!

Proc Details

generate_supply_packs +

+

For generating supply packs at runtime. Returns a list of supply packs to use instead of this one.

+ + + diff --git a/datum/supply_pack/medical.html b/datum/supply_pack/medical.html new file mode 100644 index 000000000000..603512284634 --- /dev/null +++ b/datum/supply_pack/medical.html @@ -0,0 +1,29 @@ + + + + + + + /datum/supply_pack/medical - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

medical + + + +

+ +

AIRMIX SPECIAL BABY

+

//////////////////////// Medical /////////////////////////////////////////

+ + + diff --git a/datum/supply_pack/misc/syndicate.html b/datum/supply_pack/misc/syndicate.html new file mode 100644 index 000000000000..2bdbf6e71044 --- /dev/null +++ b/datum/supply_pack/misc/syndicate.html @@ -0,0 +1,50 @@ + + + + + + + /datum/supply_pack/misc/syndicate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

syndicate + + + +

+ +

Special supply crate that generates random syndicate gear up to a determined TC value

+ + +

Vars

containsCannot be ordered via cargo
uplink_flagTotal TC worth of contained uplink items

Procs

fillGenerate assorted uplink items, taking into account the same surplus modifiers used for surplus crates
+

Var Details

contains + + + + +

+

Cannot be ordered via cargo

+

Total TC worth of contained uplink items

Proc Details

fill +

+

Generate assorted uplink items, taking into account the same surplus modifiers used for surplus crates

+ + + diff --git a/datum/supply_pack/organic/pizza.html b/datum/supply_pack/organic/pizza.html new file mode 100644 index 000000000000..fbda5c4123d4 --- /dev/null +++ b/datum/supply_pack/organic/pizza.html @@ -0,0 +1,57 @@ + + + + + + + /datum/supply_pack/organic/pizza - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pizza + + + +

+ + + + + +

Vars

anna_molly_box_chanceThe percentage chance (per pizza) of this supply pack to spawn an anomalous pizza box.
anomalous_box_providedWhether we've provided an infinite pizza box already this shift or not.
boombox_providedWhether we've provided a bomb pizza box already this shift or not.
boombox_ticketsTotal tickets in our figurative lottery (per pizza) to decide if we create a bomb box, and if so what type. 1 to 3 create a bomb. The rest do nothing.
+

Var Details

anna_molly_box_chance + + + + +

+

The percentage chance (per pizza) of this supply pack to spawn an anomalous pizza box.

anomalous_box_provided + + + + +

+

Whether we've provided an infinite pizza box already this shift or not.

boombox_provided + + + + +

+

Whether we've provided a bomb pizza box already this shift or not.

boombox_tickets + + + + +

+

Total tickets in our figurative lottery (per pizza) to decide if we create a bomb box, and if so what type. 1 to 3 create a bomb. The rest do nothing.

+ + + diff --git a/datum/surgery_step.html b/datum/surgery_step.html new file mode 100644 index 000000000000..c0c30fe814da --- /dev/null +++ b/datum/surgery_step.html @@ -0,0 +1,148 @@ + + + + + + + /datum/surgery_step - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

surgery_step + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

allowed_toolstype path referencing tools that can be used for this step, and how well are they suited for it
can_infectevil infection stuff that will make everyone hate me
delicateif this step NEEDS stable optable or can be done on any valid surface with no penalty
failure_soundSound to play on failure.
loopingDoes this step attempt to repeat itself after every success?
max_durationduration of the step
min_durationduration of the step
pain_givenHow much pain to deliver to the patient
preop_soundSound to play during begin_step(). Can be a sound, and associative list of sound:path, or a flat list of sounds.
strict_access_requirementWhether or not this surgery will be fuzzy on size requirements.
success_soundSound to play on success.
surgery_flagsVarious bitflags for requirements of the surgery.

Procs

begin_stepDoes stuff to begin the step, usually just printing messages. Moved germs transfering and bloodying here too
can_operateChecks if this surgery step can be performed with the given parameters.
is_valid_targetChecks if the target is valid.
success_modifierThe chance for success vs failure
tool_potencyReturns how well tool is suited for this step
+

Var Details

allowed_tools + + + + +

+

type path referencing tools that can be used for this step, and how well are they suited for it

can_infect + + + + +

+

evil infection stuff that will make everyone hate me

delicate + + + + +

+

if this step NEEDS stable optable or can be done on any valid surface with no penalty

failure_sound + + + + +

+

Sound to play on failure.

looping + + + + +

+

Does this step attempt to repeat itself after every success?

max_duration + + + + +

+

duration of the step

min_duration + + + + +

+

duration of the step

pain_given + + + + +

+

How much pain to deliver to the patient

preop_sound + + + + +

+

Sound to play during begin_step(). Can be a sound, and associative list of sound:path, or a flat list of sounds.

strict_access_requirement + + + + +

+

Whether or not this surgery will be fuzzy on size requirements.

success_sound + + + + +

+

Sound to play on success.

surgery_flags + + + + +

+

Various bitflags for requirements of the surgery.

Proc Details

begin_step +

+

Does stuff to begin the step, usually just printing messages. Moved germs transfering and bloodying here too

can_operate +

+

Checks if this surgery step can be performed with the given parameters.

is_valid_target +

+

Checks if the target is valid.

success_modifier +

+

The chance for success vs failure

tool_potency +

+

Returns how well tool is suited for this step

+ + + diff --git a/datum/symptom.html b/datum/symptom.html new file mode 100644 index 000000000000..2eea8781ddeb --- /dev/null +++ b/datum/symptom.html @@ -0,0 +1,155 @@ + + + + + + + /datum/symptom - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

symptom + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

base_message_chanceBase chance of sending warning messages, so it can be modified
idThe hash tag for our diseases, we will add it up with our other symptoms to get a unique id! ID MUST BE UNIQUE!!!
levelThe type level of the symptom. Higher is harder to generate.
naturally_occuringIf this symptom can appear from /datum/disease/advance/GenerateSymptoms()
neuteredA neutered symptom has no effect, and only affects statistics.
next_activationTicks between each activation
powerCan be used to multiply virus effects
resistanceHow the symptom affects the disease's resistance stat, positive values make it harder to cure
severityThe severity level of the symptom. Higher is more dangerous.
stage_speedHow the symptom affects the disease's stage speed stat, positive values cause faster stage progression
stealthHow the symptom affects the disease's stealth stat, positive values make it less noticeable
suppress_warningIf the early warnings are suppressed or not
threshold_descsDescriptions of threshold effects
transmittableHow the symptom affects the disease's transmissibility

Procs

EndCalled when the advance disease is going to be deleted or when the advance disease stops processing.
OnAddOverload when a symptom needs to be active before processing, like changing biotypes.
OnRemoveOverload for running after processing.
StartCalled when processing of the advance disease that holds this symptom infects a host and upon each Refresh() of that advance disease.
+

Var Details

base_message_chance + + + + +

+

Base chance of sending warning messages, so it can be modified

id + + + + +

+

The hash tag for our diseases, we will add it up with our other symptoms to get a unique id! ID MUST BE UNIQUE!!!

level + + + + +

+

The type level of the symptom. Higher is harder to generate.

naturally_occuring + + + + +

+

If this symptom can appear from /datum/disease/advance/GenerateSymptoms()

neutered + + + + +

+

A neutered symptom has no effect, and only affects statistics.

next_activation + + + + +

+

Ticks between each activation

power + + + + +

+

Can be used to multiply virus effects

resistance + + + + +

+

How the symptom affects the disease's resistance stat, positive values make it harder to cure

severity + + + + +

+

The severity level of the symptom. Higher is more dangerous.

stage_speed + + + + +

+

How the symptom affects the disease's stage speed stat, positive values cause faster stage progression

stealth + + + + +

+

How the symptom affects the disease's stealth stat, positive values make it less noticeable

suppress_warning + + + + +

+

If the early warnings are suppressed or not

threshold_descs + + + + +

+

Descriptions of threshold effects

transmittable + + + + +

+

How the symptom affects the disease's transmissibility

Proc Details

End +

+

Called when the advance disease is going to be deleted or when the advance disease stops processing.

OnAdd +

+

Overload when a symptom needs to be active before processing, like changing biotypes.

OnRemove +

+

Overload for running after processing.

Start +

+

Called when processing of the advance disease that holds this symptom infects a host and upon each Refresh() of that advance disease.

+ + + diff --git a/datum/symptom/beard.html b/datum/symptom/beard.html new file mode 100644 index 000000000000..1e4a7d470764 --- /dev/null +++ b/datum/symptom/beard.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/beard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

beard + + + +

+ +
+ + + diff --git a/datum/symptom/chills.html b/datum/symptom/chills.html new file mode 100644 index 000000000000..840e9c3ff5ba --- /dev/null +++ b/datum/symptom/chills.html @@ -0,0 +1,63 @@ + + + + + + + /datum/symptom/chills - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

chills + + + +

+ + + + +

Procs

Endremove the body temp change when removing symptom
on_stage_changeUpdate the body temp change based on the new stage
set_body_tempset_body_temp Sets the body temp change

Proc Details

End +

+

remove the body temp change when removing symptom

on_stage_change +

+

Update the body temp change based on the new stage

set_body_temp +

+

set_body_temp Sets the body temp change

+

Sets the body temp change to the mob based on the stage and resistance of the disease +arguments:

+
+ + + diff --git a/datum/symptom/choking.html b/datum/symptom/choking.html new file mode 100644 index 000000000000..02b0e2984d4e --- /dev/null +++ b/datum/symptom/choking.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/choking - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

choking + + + +

+ +

*Choking

+
+ + + diff --git a/datum/symptom/confusion.html b/datum/symptom/confusion.html new file mode 100644 index 000000000000..f8403beb240a --- /dev/null +++ b/datum/symptom/confusion.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/confusion - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

confusion + + + +

+ +

*Confusion

+
+ + + diff --git a/datum/symptom/cough.html b/datum/symptom/cough.html new file mode 100644 index 000000000000..fa04176814ea --- /dev/null +++ b/datum/symptom/cough.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/cough - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

cough + + + +

+ +

*Coughing

+
+ + + diff --git a/datum/symptom/deafness.html b/datum/symptom/deafness.html new file mode 100644 index 000000000000..b5c4b89ba353 --- /dev/null +++ b/datum/symptom/deafness.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/deafness - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

deafness + + + +

+ +

*Deafness

+
+ + + diff --git a/datum/symptom/disfiguration.html b/datum/symptom/disfiguration.html new file mode 100644 index 000000000000..83e461594a36 --- /dev/null +++ b/datum/symptom/disfiguration.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/disfiguration - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

disfiguration + + + +

+ +

*Disfiguration

+
+ + + diff --git a/datum/symptom/dizzy.html b/datum/symptom/dizzy.html new file mode 100644 index 000000000000..f2050002d713 --- /dev/null +++ b/datum/symptom/dizzy.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/dizzy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

dizzy + + + +

+ +

*Dizziness

+
+ + + diff --git a/datum/symptom/fever.html b/datum/symptom/fever.html new file mode 100644 index 000000000000..40acbe24182c --- /dev/null +++ b/datum/symptom/fever.html @@ -0,0 +1,63 @@ + + + + + + + /datum/symptom/fever - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

fever + + + +

+ +

*Fever

+ + + +

Procs

Endremove the body temp change when removing symptom
on_stage_changeUpdate the body temp change based on the new stage
set_body_tempset_body_temp Sets the body temp change

Proc Details

End +

+

remove the body temp change when removing symptom

on_stage_change +

+

Update the body temp change based on the new stage

set_body_temp +

+

set_body_temp Sets the body temp change

+

Sets the body temp change to the mob based on the stage and resistance of the disease +arguments:

+
+ + + diff --git a/datum/symptom/fire.html b/datum/symptom/fire.html new file mode 100644 index 000000000000..a4bb22917bf5 --- /dev/null +++ b/datum/symptom/fire.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/fire - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

fire + + + +

+ +

*Spontaneous Combustion

+
+ + + diff --git a/datum/targetting_datum.html b/datum/targetting_datum.html new file mode 100644 index 000000000000..c45bf6a2ebd0 --- /dev/null +++ b/datum/targetting_datum.html @@ -0,0 +1,42 @@ + + + + + + + /datum/targetting_datum - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

targetting_datum + + + +

+ +

Datum for basic mobs to define what they can attack.

+ +

Procs

can_attackReturns true or false depending on if the target can be attacked by the mob
find_hidden_mobsReturns something the target might be hiding inside of

Proc Details

can_attack +

+

Returns true or false depending on if the target can be attacked by the mob

find_hidden_mobs +

+

Returns something the target might be hiding inside of

+ + + diff --git a/datum/team/cult.html b/datum/team/cult.html new file mode 100644 index 000000000000..14ede1a9d6a2 --- /dev/null +++ b/datum/team/cult.html @@ -0,0 +1,106 @@ + + + + + + + /datum/team/cult - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cult + + + +

+ + + + + + + + + + + + +

Vars

blood_targetThe blood mark target
blood_target_imageImage of the blood mark target
blood_target_reset_timerTimer for the blood mark expiration
cult_ascendentHas the cult asceneded, and gotten halos?
cult_masterThe cult leader
cult_risenHas the cult risen, and gotten red eyes?
cult_vote_calledHas a vote been called for a leader?
reckoning_completeHas the mass teleport been used yet?

Procs

set_blood_targetSets a blood target for the cult.
unset_blood_targetUnsets out blood target, clearing the images from all the cultists.
unset_blood_target_and_timerUnsets our blood target when they get deleted.
+

Var Details

blood_target + + + + +

+

The blood mark target

blood_target_image + + + + +

+

Image of the blood mark target

blood_target_reset_timer + + + + +

+

Timer for the blood mark expiration

cult_ascendent + + + + +

+

Has the cult asceneded, and gotten halos?

cult_master + + + + +

+

The cult leader

cult_risen + + + + +

+

Has the cult risen, and gotten red eyes?

cult_vote_called + + + + +

+

Has a vote been called for a leader?

reckoning_complete + + + + +

+

Has the mass teleport been used yet?

Proc Details

set_blood_target +

+

Sets a blood target for the cult.

unset_blood_target +

+

Unsets out blood target, clearing the images from all the cultists.

unset_blood_target_and_timer +

+

Unsets our blood target when they get deleted.

+ + + diff --git a/datum/team/gang.html b/datum/team/gang.html new file mode 100644 index 000000000000..166c7e3c07ad --- /dev/null +++ b/datum/team/gang.html @@ -0,0 +1,71 @@ + + + + + + + /datum/team/gang - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

gang + + + +

+ + + + + + + +

Vars

acceptable_clothesThe list of clothes that are acceptable to show allegiance to this family.
current_themeThe current theme. Used to pull important stuff such as spawning equipment and objectives.
free_clothesThe list of clothes that are given to family members upon induction into the family.
gang_idThe abbreviation of this family.
my_gang_datumThe specific, occupied family member antagonist datum that is used to reach the handler / check objectives, and from which the above properties (sans points) are inherited.

Procs

rename_gangsterAllow gangs to have custom naming schemes for their gangsters.
+

Var Details

acceptable_clothes + + + + +

+

The list of clothes that are acceptable to show allegiance to this family.

current_theme + + + + +

+

The current theme. Used to pull important stuff such as spawning equipment and objectives.

free_clothes + + + + +

+

The list of clothes that are given to family members upon induction into the family.

gang_id + + + + +

+

The abbreviation of this family.

my_gang_datum + + + + +

+

The specific, occupied family member antagonist datum that is used to reach the handler / check objectives, and from which the above properties (sans points) are inherited.

Proc Details

rename_gangster +

+

Allow gangs to have custom naming schemes for their gangsters.

+ + + diff --git a/datum/team/revolution.html b/datum/team/revolution.html new file mode 100644 index 000000000000..4587079c256b --- /dev/null +++ b/datum/team/revolution.html @@ -0,0 +1,58 @@ + + + + + + + /datum/team/revolution - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

revolution + + + +

+ + + + + +

Procs

check_completionUpdates the state of the world depending on if revs won or loss. +Returns who won, at which case this method should no longer be called.
check_management_victoryChecks if the government has won
check_rev_victoryChecks if revs have won
round_resultMutates the ticker to report that the revs have won

Proc Details

check_completion +

+

Updates the state of the world depending on if revs won or loss. +Returns who won, at which case this method should no longer be called.

check_management_victory +

+

Checks if the government has won

check_rev_victory +

+

Checks if revs have won

round_result +

+

Mutates the ticker to report that the revs have won

+ + + diff --git a/datum/tgs_api/v5.html b/datum/tgs_api/v5.html new file mode 100644 index 000000000000..f7d05f2e2f16 --- /dev/null +++ b/datum/tgs_api/v5.html @@ -0,0 +1,43 @@ + + + + + + + /datum/tgs_api/v5 - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

v5 + + + +

+ + + +

Vars

intercepted_message_queueList of chat messages list()s that attempted to be sent during a topic call. To be bundled in the result of the call
offline_message_queueList of chat messages list()s that attempted to be sent during a topic call. To be bundled in the result of the call
+

Var Details

intercepted_message_queue + + + + +

+

List of chat messages list()s that attempted to be sent during a topic call. To be bundled in the result of the call

offline_message_queue + + + + +

+

List of chat messages list()s that attempted to be sent during a topic call. To be bundled in the result of the call

+ + + diff --git a/datum/tgs_chat_channel.html b/datum/tgs_chat_channel.html new file mode 100644 index 000000000000..6804b3f86c4f --- /dev/null +++ b/datum/tgs_chat_channel.html @@ -0,0 +1,78 @@ + + + + + + + /datum/tgs_chat_channel - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tgs_chat_channel + + + +

+ +

Represents a connected chat channel.

+ + + + + + +

Vars

connection_nameName of the chat connection. This is the IRC server address or the Discord guild.
custom_tagTag string associated with the channel in TGS.
embeds_supported[TRUE]/[FALSE] if the channel supports embeds.
friendly_nameUser friendly name of the channel.
idTGS internal channel ID.
is_admin_channel[TRUE]/[FALSE] based on if the server operator has marked this channel for game admins only.
is_private_channel[TRUE]/[FALSE] if the channel is a private message channel for a /datum/tgs_chat_user.
+

Var Details

connection_name + + + + +

+

Name of the chat connection. This is the IRC server address or the Discord guild.

custom_tag + + + + +

+

Tag string associated with the channel in TGS.

embeds_supported + + + + +

+

[TRUE]/[FALSE] if the channel supports embeds.

friendly_name + + + + +

+

User friendly name of the channel.

id + + + + +

+

TGS internal channel ID.

is_admin_channel + + + + +

+

[TRUE]/[FALSE] based on if the server operator has marked this channel for game admins only.

is_private_channel + + + + +

+

[TRUE]/[FALSE] if the channel is a private message channel for a /datum/tgs_chat_user.

+ + + diff --git a/datum/tgs_chat_command.html b/datum/tgs_chat_command.html new file mode 100644 index 000000000000..6cac1188ee72 --- /dev/null +++ b/datum/tgs_chat_command.html @@ -0,0 +1,70 @@ + + + + + + + /datum/tgs_chat_command - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tgs_chat_command + + + +

+ +

User definable chat command. This abstract version MUST be overridden to be used.

+ + + + +

Vars

admin_onlyIf this command should be available to game administrators only.
help_textThe help text displayed for this command.
ignore_typeA subtype of /datum/tgs_chat_command that is ignored when enumerating available commands. Use this to create shared base /datums for commands.
nameThe string to trigger this command on a chat bot. e.g @bot name ... or !tgs name ....

Procs

RunProcess command activation. Should return a /datum/tgs_message_content to respond to the issuer with. +MUST be implemented
+

Var Details

admin_only + + + + +

+

If this command should be available to game administrators only.

help_text + + + + +

+

The help text displayed for this command.

ignore_type + + + + +

+

A subtype of /datum/tgs_chat_command that is ignored when enumerating available commands. Use this to create shared base /datums for commands.

name + + + + +

+

The string to trigger this command on a chat bot. e.g @bot name ... or !tgs name ....

Proc Details

Run +

+

Process command activation. Should return a /datum/tgs_message_content to respond to the issuer with. +MUST be implemented

+
+ + + diff --git a/datum/tgs_chat_embed/field.html b/datum/tgs_chat_embed/field.html new file mode 100644 index 000000000000..f79a098fce68 --- /dev/null +++ b/datum/tgs_chat_embed/field.html @@ -0,0 +1,50 @@ + + + + + + + /datum/tgs_chat_embed/field - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

field + + + +

+ +

See https://discord.com/developers/docs/resources/message#embed-object-embed-field-structure for details.

+ + +

Vars

nameMust be set in New().
valueMust be set in New().

Procs

NewCreate a /datum/tgs_chat_embed/field.
+

Var Details

name + + + + +

+

Must be set in New().

value + + + + +

+

Must be set in New().

Proc Details

New +

+

Create a /datum/tgs_chat_embed/field.

+ + + diff --git a/datum/tgs_chat_embed/footer.html b/datum/tgs_chat_embed/footer.html new file mode 100644 index 000000000000..107559cf02cc --- /dev/null +++ b/datum/tgs_chat_embed/footer.html @@ -0,0 +1,43 @@ + + + + + + + /datum/tgs_chat_embed/footer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

footer + + + +

+ +

See https://discord.com/developers/docs/resources/message#embed-object-embed-footer-structure for details.

+ +

Vars

textMust be set in New().

Procs

NewCreate a /datum/tgs_chat_embed/footer.
+

Var Details

text + + + + +

+

Must be set in New().

Proc Details

New +

+

Create a /datum/tgs_chat_embed/footer.

+ + + diff --git a/datum/tgs_chat_embed/media.html b/datum/tgs_chat_embed/media.html new file mode 100644 index 000000000000..a43a89fb0b40 --- /dev/null +++ b/datum/tgs_chat_embed/media.html @@ -0,0 +1,43 @@ + + + + + + + /datum/tgs_chat_embed/media - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

media + + + +

+ +

Common datum for similar Discord embed medias.

+ +

Vars

urlMust be set in New().

Procs

NewCreate a /datum/tgs_chat_embed.
+

Var Details

url + + + + +

+

Must be set in New().

Proc Details

New +

+

Create a /datum/tgs_chat_embed.

+ + + diff --git a/datum/tgs_chat_embed/provider/author.html b/datum/tgs_chat_embed/provider/author.html new file mode 100644 index 000000000000..9361fe2f00d1 --- /dev/null +++ b/datum/tgs_chat_embed/provider/author.html @@ -0,0 +1,35 @@ + + + + + + + /datum/tgs_chat_embed/provider/author - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

author + + + +

+ +

See https://discord.com/developers/docs/resources/message#embed-object-embed-author-structure for details. Must have name set in New().

+

Procs

NewCreate a /datum/tgs_chat_embed/footer.

Proc Details

New +

+

Create a /datum/tgs_chat_embed/footer.

+ + + diff --git a/datum/tgs_chat_embed/structure.html b/datum/tgs_chat_embed/structure.html new file mode 100644 index 000000000000..0f0ed71c1cee --- /dev/null +++ b/datum/tgs_chat_embed/structure.html @@ -0,0 +1,64 @@ + + + + + + + /datum/tgs_chat_embed/structure - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

structure + + + +

+ +

User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/message#embed-object for details.

+ + + + +

Vars

colourColour must be #AARRGGBB or #RRGGBB hex string.
imageSee https://discord.com/developers/docs/resources/message#embed-object-embed-image-structure for details.
thumbnailSee https://discord.com/developers/docs/resources/message#embed-object-embed-thumbnail-structure for details.
timestampTimestamp must be encoded as: time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss"). Use the active timezone.
videoSee https://discord.com/developers/docs/resources/message#embed-object-embed-video-structure for details.
+

Var Details

colour + + + + +

+

Colour must be #AARRGGBB or #RRGGBB hex string.

image + + + + +

+

See https://discord.com/developers/docs/resources/message#embed-object-embed-image-structure for details.

thumbnail + + + + +

+

See https://discord.com/developers/docs/resources/message#embed-object-embed-thumbnail-structure for details.

timestamp + + + + +

+

Timestamp must be encoded as: time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss"). Use the active timezone.

video + + + + +

+

See https://discord.com/developers/docs/resources/message#embed-object-embed-video-structure for details.

+ + + diff --git a/datum/tgs_chat_user.html b/datum/tgs_chat_user.html new file mode 100644 index 000000000000..6df2ab47f0b2 --- /dev/null +++ b/datum/tgs_chat_user.html @@ -0,0 +1,57 @@ + + + + + + + /datum/tgs_chat_user - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tgs_chat_user + + + +

+ + + + + +

Vars

channelThe /datum/tgs_chat_channel the user was from.
friendly_nameThe user's display name.
idTGS internal user ID.
mentionThe string to use to ping this user in a message.
+

Var Details

channel + + + + +

+

The /datum/tgs_chat_channel the user was from.

friendly_name + + + + +

+

The user's display name.

id + + + + +

+

TGS internal user ID.

mention + + + + +

+

The string to use to ping this user in a message.

+ + + diff --git a/datum/tgs_event_handler.html b/datum/tgs_event_handler.html new file mode 100644 index 000000000000..f2b249b2ed1e --- /dev/null +++ b/datum/tgs_event_handler.html @@ -0,0 +1,44 @@ + + + + + + + /datum/tgs_event_handler - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tgs_event_handler + + + +

+ +

User definable handler for TGS events This abstract version SHOULD be overridden to be used.

+ +

Vars

receive_health_checksIf the handler receieves TGS_EVENT_HEALTH_CHECK events.

Procs

HandleEventUser definable callback for handling TGS events.
+

Var Details

receive_health_checks + + + + +

+

If the handler receieves TGS_EVENT_HEALTH_CHECK events.

Proc Details

HandleEvent +

+

User definable callback for handling TGS events.

+

event_code - One of the TGS_EVENT_ defines. Extra parameters will be documented in each.

+ + + diff --git a/datum/tgs_http_handler.html b/datum/tgs_http_handler.html new file mode 100644 index 000000000000..41ac63cc23c7 --- /dev/null +++ b/datum/tgs_http_handler.html @@ -0,0 +1,42 @@ + + + + + + + /datum/tgs_http_handler - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

tgs_http_handler + + + +

+ +

User definable handler for HTTP calls. This abstract version MUST be overridden to be used.

+

Procs

PerformGetUser definable callback for executing HTTP GET requests. +MUST perform BYOND sleeps while the request is in flight. +MUST return a /datum/tgs_http_result. +SHOULD log its own errors

Proc Details

PerformGet +

+

User definable callback for executing HTTP GET requests. +MUST perform BYOND sleeps while the request is in flight. +MUST return a /datum/tgs_http_result. +SHOULD log its own errors

+

url - The full URL to execute the GET request for including query parameters.

+ + + diff --git a/datum/tgs_http_result.html b/datum/tgs_http_result.html new file mode 100644 index 000000000000..46b41c5fee28 --- /dev/null +++ b/datum/tgs_http_result.html @@ -0,0 +1,54 @@ + + + + + + + /datum/tgs_http_result - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tgs_http_result + + + +

+ +

Result of a /datum/tgs_http_handler call. MUST NOT be overridden.

+ + +

Vars

response_textHTTP response as text
successBoolean request success flag. Set for any 2XX response code.

Procs

NewCreate a /datum/tgs_http_result.
+

Var Details

response_text + + + + +

+

HTTP response as text

success + + + + +

+

Boolean request success flag. Set for any 2XX response code.

Proc Details

New +

+

Create a /datum/tgs_http_result.

+
+ + + diff --git a/datum/tgs_message_content.html b/datum/tgs_message_content.html new file mode 100644 index 000000000000..ba880de4ac21 --- /dev/null +++ b/datum/tgs_message_content.html @@ -0,0 +1,53 @@ + + + + + + + /datum/tgs_message_content - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tgs_message_content + + + +

+ +

User definable chat message. MUST NOT be overridden.

+ + +

Vars

embedThe /datum/tgs_chat_embed to embed in the message. Not supported on all chat providers.
textThe string content of the message. Must be provided in New().

Procs

NewCreate a /datum/tgs_message_content.
+

Var Details

embed + + + + +

+

The /datum/tgs_chat_embed to embed in the message. Not supported on all chat providers.

text + + + + +

+

The string content of the message. Must be provided in New().

Proc Details

New +

+

Create a /datum/tgs_message_content.

+
+ + + diff --git a/datum/tgs_revision_information.html b/datum/tgs_revision_information.html new file mode 100644 index 000000000000..6339feacc9b5 --- /dev/null +++ b/datum/tgs_revision_information.html @@ -0,0 +1,50 @@ + + + + + + + /datum/tgs_revision_information - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tgs_revision_information + + + +

+ +

Represents git revision information.

+ + +

Vars

commitFull SHA of the commit.
origin_commitFull sha of last known remote commit. This may be null if the TGS repository is not currently tracking a remote branch.
timestampISO 8601 timestamp of when the commit was created.
+

Var Details

commit + + + + +

+

Full SHA of the commit.

origin_commit + + + + +

+

Full sha of last known remote commit. This may be null if the TGS repository is not currently tracking a remote branch.

timestamp + + + + +

+

ISO 8601 timestamp of when the commit was created.

+ + + diff --git a/datum/tgs_revision_information/test_merge.html b/datum/tgs_revision_information/test_merge.html new file mode 100644 index 000000000000..26b9b6ea92d2 --- /dev/null +++ b/datum/tgs_revision_information/test_merge.html @@ -0,0 +1,78 @@ + + + + + + + /datum/tgs_revision_information/test_merge - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

test_merge + + + +

+ +

Represents a merge of a GitHub pull request.

+ + + + + + +

Vars

authorThe Username of the test merge source's author.
bodyThe test merge source's body when it was merged.
commentOptional comment left by the TGS user who initiated the merge.
head_commitThe SHA of the test merge when that was merged.
numberThe test merge number.
titleThe test merge source's title when it was merged.
urlAn http URL to the test merge source.
+

Var Details

author + + + + +

+

The Username of the test merge source's author.

body + + + + +

+

The test merge source's body when it was merged.

comment + + + + +

+

Optional comment left by the TGS user who initiated the merge.

head_commit + + + + +

+

The SHA of the test merge when that was merged.

number + + + + +

+

The test merge number.

title + + + + +

+

The test merge source's title when it was merged.

url + + + + +

+

An http URL to the test merge source.

+ + + diff --git a/datum/tgs_version.html b/datum/tgs_version.html new file mode 100644 index 000000000000..181992f50544 --- /dev/null +++ b/datum/tgs_version.html @@ -0,0 +1,71 @@ + + + + + + + /datum/tgs_version - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tgs_version + + + +

+ +

Represents a version.

+ + + + + +

Vars

deprecated_patchLegacy version number. Generally null.
deprefixed_parameterString value minus prefix.
minorThe minor version number. null for wildcards.
patchThe patch version number. null for wildcards.
raw_parameterUnparsed string value.
suiteThe suite/major version number.
+

Var Details

deprecated_patch + + + + +

+

Legacy version number. Generally null.

deprefixed_parameter + + + + +

+

String value minus prefix.

minor + + + + +

+

The minor version number. null for wildcards.

patch + + + + +

+

The patch version number. null for wildcards.

raw_parameter + + + + +

+

Unparsed string value.

suite + + + + +

+

The suite/major version number.

+ + + diff --git a/datum/tgui.html b/datum/tgui.html new file mode 100644 index 000000000000..8b6f3cd6a851 --- /dev/null +++ b/datum/tgui.html @@ -0,0 +1,256 @@ + + + + + + + /datum/tgui - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tgui + + + +

+ +

tgui datum (represents a UI).

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

autoupdateUpdate the UI every MC tick.
closingStops further updates when close() was called.
initializedIf the UI has been initialized yet.
interfaceThe interface (template) to be used for this UI.
opened_atTime of opening the window.
refresh_cooldownRate limit client refreshes to prevent DoS.
refreshingTimed refreshing state
src_objectThe object which owns the UI.
stateTopic state used to determine status/interactability.
statusThe status/visibility of the UI.
titleThe title of te UI.
userThe mob who opened/is using the UI.
windowThe window_id for browse() and onclose().
window_keyKey that is used for remembering the window geometry.
window_sizeDeprecated: Window size.

Procs

Newpublic
closepublic
get_payloadprivate
on_act_messageWrapper for behavior to potentially wait until the next tick if the server is overloaded
on_messageprivate
openpublic
processprivate
process_statusprivate
send_assetpublic
send_full_updatepublic
send_updatepublic
set_autoupdatepublic
set_statepublic
+

Var Details

autoupdate + + + + +

+

Update the UI every MC tick.

closing + + + + +

+

Stops further updates when close() was called.

initialized + + + + +

+

If the UI has been initialized yet.

interface + + + + +

+

The interface (template) to be used for this UI.

opened_at + + + + +

+

Time of opening the window.

refresh_cooldown + + + + +

+

Rate limit client refreshes to prevent DoS.

refreshing + + + + +

+

Timed refreshing state

src_object + + + + +

+

The object which owns the UI.

state + + + + +

+

Topic state used to determine status/interactability.

status + + + + +

+

The status/visibility of the UI.

title + + + + +

+

The title of te UI.

user + + + + +

+

The mob who opened/is using the UI.

window + + + + +

+

The window_id for browse() and onclose().

window_key + + + + +

+

Key that is used for remembering the window geometry.

window_size + + + + +

+

Deprecated: Window size.

Proc Details

New +

+

public

+

Create a new UI.

+

required user mob The mob who opened/is using the UI. +required src_object datum The object or datum which owns the UI. +required interface string The interface used to render the UI. +optional title string The title of the UI. +optional ui_x int Deprecated: Window width. +optional ui_y int Deprecated: Window height.

+

return datum/tgui The requested UI.

close +

+

public

+

Close the UI.

+

optional can_be_suspended bool

get_payload +

+

private

+

Package the data to send to the UI, as JSON.

+

return list

on_act_message +

+

Wrapper for behavior to potentially wait until the next tick if the server is overloaded

on_message +

+

private

+

Callback for handling incoming tgui messages.

open +

+

public

+

Open this UI (and initialize it with data).

+

return bool - TRUE if a new pooled window is opened, FALSE in all other situations including if a new pooled window didn't open because one already exists.

process +

+

private

+

Run an update cycle for this UI. Called internally by SStgui +every second or so.

process_status +

+

private

+

Updates the status, and returns TRUE if status has changed.

send_asset +

+

public

+

Makes an asset available to use in tgui.

+

required asset datum/asset

+

return bool - true if an asset was actually sent

send_full_update +

+

public

+

Send a full update to the client (includes static data).

+

optional custom_data list Custom data to send instead of ui_data. +optional force bool Send an update even if UI is not interactive.

send_update +

+

public

+

Send a partial update to the client (excludes static data).

+

optional custom_data list Custom data to send instead of ui_data. +optional force bool Send an update even if UI is not interactive.

set_autoupdate +

+

public

+

Enable/disable auto-updating of the UI.

+

required value bool Enable/disable auto-updating.

set_state +

+

public

+

Replace current ui.state with a new one.

+

required state datum/ui_state/state Next state

+ + + diff --git a/datum/tgui_input_number.html b/datum/tgui_input_number.html new file mode 100644 index 000000000000..caaead297e06 --- /dev/null +++ b/datum/tgui_input_number.html @@ -0,0 +1,118 @@ + + + + + + + /datum/tgui_input_number - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_input_number + + + +

+ +

Datum used for instantiating and using a TGUI-controlled number input that prompts the user with +a message and has an input for number entry.

+ + + + + + + + + + + +

Vars

closedBoolean field describing if the tgui_input_number was closed by the user.
defaultThe default (or current) value, shown as a default. Users can press reset with this.
entryThe entry that the user has return_typed in.
max_valueThe maximum value that can be entered.
messageThe prompt's body, if any, of the TGUI window.
min_valueThe minimum value that can be entered.
round_valueWhether the submitted number is rounded down into an integer.
start_timeThe time at which the number input was created, for displaying timeout progress.
timeoutThe lifespan of the number input, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

DestroyChecks for empty numbers - bank accounts, etc. +Sanity check
waitWaits for a user's response to the tgui_input_number's prompt before returning. Returns early if +the window was closed by the user.
+

Var Details

closed + + + + +

+

Boolean field describing if the tgui_input_number was closed by the user.

default + + + + +

+

The default (or current) value, shown as a default. Users can press reset with this.

entry + + + + +

+

The entry that the user has return_typed in.

max_value + + + + +

+

The maximum value that can be entered.

message + + + + +

+

The prompt's body, if any, of the TGUI window.

min_value + + + + +

+

The minimum value that can be entered.

round_value + + + + +

+

Whether the submitted number is rounded down into an integer.

start_time + + + + +

+

The time at which the number input was created, for displaying timeout progress.

timeout + + + + +

+

The lifespan of the number input, after which the window will close and delete itself.

title + + + + +

+

The title of the TGUI window

Proc Details

Destroy +

+

Checks for empty numbers - bank accounts, etc. +Sanity check

wait +

+

Waits for a user's response to the tgui_input_number's prompt before returning. Returns early if +the window was closed by the user.

+ + + diff --git a/datum/tgui_input_number/async.html b/datum/tgui_input_number/async.html new file mode 100644 index 000000000000..aa401740a01d --- /dev/null +++ b/datum/tgui_input_number/async.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tgui_input_number/async - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

async tgui_input_number + + + +

+ +

An asynchronous version of tgui_input_number to be used with callbacks instead of waiting on user responses.

+

Vars

callbackThe callback to be invoked by the tgui_input_number upon having a choice made.
+

Var Details

callback + + + + +

+

The callback to be invoked by the tgui_input_number upon having a choice made.

+ + + diff --git a/datum/tgui_input_text.html b/datum/tgui_input_text.html new file mode 100644 index 000000000000..48d693285c68 --- /dev/null +++ b/datum/tgui_input_text.html @@ -0,0 +1,109 @@ + + + + + + + /datum/tgui_input_text - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_input_text + + + +

+ +

Datum used for instantiating and using a TGUI-controlled text input that prompts the user with +a message and has an input for text entry.

+ + + + + + + + + + +

Vars

closedBoolean field describing if the tgui_input_text was closed by the user.
defaultThe default (or current) value, shown as a default.
encodeWhether the input should be stripped using html_encode
entryThe entry that the user has return_typed in.
max_lengthThe maximum length for text entry
messageThe prompt's body, if any, of the TGUI window.
multilineMultiline input for larger input boxes.
start_timeThe time at which the text input was created, for displaying timeout progress.
timeoutThe lifespan of the text input, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

waitWaits for a user's response to the tgui_input_text's prompt before returning. Returns early if +the window was closed by the user.
+

Var Details

closed + + + + +

+

Boolean field describing if the tgui_input_text was closed by the user.

default + + + + +

+

The default (or current) value, shown as a default.

encode + + + + +

+

Whether the input should be stripped using html_encode

entry + + + + +

+

The entry that the user has return_typed in.

max_length + + + + +

+

The maximum length for text entry

message + + + + +

+

The prompt's body, if any, of the TGUI window.

multiline + + + + +

+

Multiline input for larger input boxes.

start_time + + + + +

+

The time at which the text input was created, for displaying timeout progress.

timeout + + + + +

+

The lifespan of the text input, after which the window will close and delete itself.

title + + + + +

+

The title of the TGUI window

Proc Details

wait +

+

Waits for a user's response to the tgui_input_text's prompt before returning. Returns early if +the window was closed by the user.

+ + + diff --git a/datum/tgui_list_input.html b/datum/tgui_list_input.html new file mode 100644 index 000000000000..d06be8bec113 --- /dev/null +++ b/datum/tgui_list_input.html @@ -0,0 +1,104 @@ + + + + + + + /datum/tgui_list_input - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_list_input + + + +

+ +

Client does NOT have tgui_input on: Returns regular input

+tgui_list_input +

Datum used for instantiating and using a TGUI-controlled list input that prompts the user with +a message and shows a list of selectable options

+ + + + + + + + + +

Vars

choiceThe button that the user has pressed, null if no selection has been made
closedBoolean field describing if the tgui_list_input was closed by the user.
defaultThe default button to be selected
itemsThe list of items (responses) provided on the TGUI window
items_mapButtons (strings specifically) mapped to the actual value (e.g. a mob or a verb)
messageThe textual body of the TGUI window
start_timeThe time at which the tgui_list_input was created, for displaying timeout progress.
timeoutThe lifespan of the tgui_list_input, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

waitWaits for a user's response to the tgui_list_input's prompt before returning. Returns early if +the window was closed by the user.
+

Var Details

choice + + + + +

+

The button that the user has pressed, null if no selection has been made

closed + + + + +

+

Boolean field describing if the tgui_list_input was closed by the user.

default + + + + +

+

The default button to be selected

items + + + + +

+

The list of items (responses) provided on the TGUI window

items_map + + + + +

+

Buttons (strings specifically) mapped to the actual value (e.g. a mob or a verb)

message + + + + +

+

The textual body of the TGUI window

start_time + + + + +

+

The time at which the tgui_list_input was created, for displaying timeout progress.

timeout + + + + +

+

The lifespan of the tgui_list_input, after which the window will close and delete itself.

title + + + + +

+

The title of the TGUI window

Proc Details

wait +

+

Waits for a user's response to the tgui_list_input's prompt before returning. Returns early if +the window was closed by the user.

+ + + diff --git a/datum/tgui_list_input/async.html b/datum/tgui_list_input/async.html new file mode 100644 index 000000000000..7e5fd535865e --- /dev/null +++ b/datum/tgui_list_input/async.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tgui_list_input/async - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

async tgui_list_input + + + +

+ +

An asynchronous version of tgui_list_input to be used with callbacks instead of waiting on user responses.

+

Vars

callbackThe callback to be invoked by the tgui_list_input upon having a choice made.
+

Var Details

callback + + + + +

+

The callback to be invoked by the tgui_list_input upon having a choice made.

+ + + diff --git a/datum/tgui_modal.html b/datum/tgui_modal.html new file mode 100644 index 000000000000..2fb1a18eb859 --- /dev/null +++ b/datum/tgui_modal.html @@ -0,0 +1,95 @@ + + + + + + + /datum/tgui_modal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_modal + + + +

+ +

Datum used for instantiating and using a TGUI-controlled modal that prompts the user with +a message and has buttons for responses.

+ + + + + + + + +

Vars

autofocusThe bool that controls if this modal should grab window focus
buttonsThe list of buttons (responses) provided on the TGUI window
choiceThe button that the user has pressed, null if no selection has been made
closedBoolean field describing if the tgui_modal was closed by the user.
messageThe textual body of the TGUI window
start_timeThe time at which the tgui_modal was created, for displaying timeout progress.
timeoutThe lifespan of the tgui_modal, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

waitWaits for a user's response to the tgui_modal's prompt before returning. Returns early if +the window was closed by the user.
+

Var Details

autofocus + + + + +

+

The bool that controls if this modal should grab window focus

buttons + + + + +

+

The list of buttons (responses) provided on the TGUI window

choice + + + + +

+

The button that the user has pressed, null if no selection has been made

closed + + + + +

+

Boolean field describing if the tgui_modal was closed by the user.

message + + + + +

+

The textual body of the TGUI window

start_time + + + + +

+

The time at which the tgui_modal was created, for displaying timeout progress.

timeout + + + + +

+

The lifespan of the tgui_modal, after which the window will close and delete itself.

title + + + + +

+

The title of the TGUI window

Proc Details

wait +

+

Waits for a user's response to the tgui_modal's prompt before returning. Returns early if +the window was closed by the user.

+ + + diff --git a/datum/tgui_modal/async.html b/datum/tgui_modal/async.html new file mode 100644 index 000000000000..85edc7209ec7 --- /dev/null +++ b/datum/tgui_modal/async.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tgui_modal/async - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

async tgui_modal + + + +

+ +

An asynchronous version of tgui_modal to be used with callbacks instead of waiting on user responses.

+

Vars

callbackThe callback to be invoked by the tgui_modal upon having a choice made.
+

Var Details

callback + + + + +

+

The callback to be invoked by the tgui_modal upon having a choice made.

+ + + diff --git a/datum/tgui_panel.html b/datum/tgui_panel.html new file mode 100644 index 000000000000..c9e877b2f736 --- /dev/null +++ b/datum/tgui_panel.html @@ -0,0 +1,132 @@ + + + + + + + /datum/tgui_panel - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_panel + + + +

+ +

tgui_panel datum +Hosts tgchat and other nice features.

+ + + + + + + + + + + +

Vars

telemetry_analyzed_atTime of telemetry analysis completion
telemetry_connectionsList of previous client connections
telemetry_requested_atTime of telemetry request

Procs

analyze_telemetryprivate
initializepublic
is_readypublic
on_initialize_timed_outprivate
on_messageprivate
play_musicpublic
request_telemetryprivate
send_roundrestartpublic
stop_musicpublic
+

Var Details

telemetry_analyzed_at + + + + +

+

Time of telemetry analysis completion

telemetry_connections + + + + +

+

List of previous client connections

telemetry_requested_at + + + + +

+

Time of telemetry request

Proc Details

analyze_telemetry +

+

private

+

Analyzes a telemetry packet.

+

Is currently only useful for detecting ban evasion attempts.

initialize +

+

public

+

Initializes tgui panel.

is_ready +

+

public

+

TRUE if panel is initialized and ready to receive messages.

on_initialize_timed_out +

+

private

+

Called when initialization has timed out.

on_message +

+

private

+

Callback for handling incoming tgui messages.

play_music +

+

public

+

Sends music data to the browser.

+

Optional settings:

+ +

required url string Must be an https URL. +optional extra_data list Optional settings.

request_telemetry +

+

private

+

Requests some telemetry from the client.

send_roundrestart +

+

public

+

Sends a round restart notification.

stop_music +

+

public

+

Stops playing music through the browser.

+ + + diff --git a/datum/tgui_window.html b/datum/tgui_window.html new file mode 100644 index 000000000000..8ce3e92ad3c6 --- /dev/null +++ b/datum/tgui_window.html @@ -0,0 +1,184 @@ + + + + + + + /datum/tgui_window - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

tgui_window + + + +

+ + + + + + + + + + + + + + + + + +

Procs

Newpublic
acquire_lockpublic
can_be_suspendedpublic
closepublic
flush_message_queueprivate
initializepublic
is_readypublic
on_messageprivate
reinitializepublic
release_lockpublic
replace_htmlpublic
send_assetpublic
send_messagepublic
send_raw_messagepublic
subscribepublic
unsubscribepublic

Proc Details

New +

+

public

+

Create a new tgui window.

+

required client /client +required id string A unique window identifier.

acquire_lock +

+

public

+

Acquire the window lock. Pool will not be able to provide this window +to other UIs for the duration of the lock.

+

Can be given an optional tgui datum, which will be automatically +subscribed to incoming messages via the on_message proc.

+

optional ui /datum/tgui

can_be_suspended +

+

public

+

Checks if the window can be sanely suspended.

+

return bool

close +

+

public

+

Close the UI.

+

optional can_be_suspended bool

flush_message_queue +

+

private

+

Sends queued messages if the queue wasn't empty.

initialize +

+

public

+

Initializes the window with a fresh page. Puts window into the "loading" +state. You can begin sending messages right after initializing. Messages +will be put into the queue until the window finishes loading.

+

optional strict_mode bool - Enables strict error handling and BSOD. +optional fancy bool - If TRUE and if this is NOT a panel, will hide the window titlebar. +optional assets list - List of assets to load during initialization. +optional inline_html string - Custom HTML to inject. +optional inline_js string - Custom JS to inject. +optional inline_css string - Custom CSS to injec

is_ready +

+

public

+

Checks if the window is ready to receive data.

+

return bool

on_message +

+

private

+

Callback for handling incoming tgui messages.

reinitialize +

+

public

+

Reinitializes the panel with previous data used for initialization.

release_lock +

+

public

+

Release the window lock.

replace_html +

+

public

+

Replaces the inline HTML content.

+

required inline_html string HTML to inject

send_asset +

+

public

+

Makes an asset available to use in tgui.

+

required asset datum/asset

+

return bool - TRUE if any assets had to be sent to the client

send_message +

+

public

+

Sends a message to tgui window.

+

required type string Message type +required payload list Message payload +optional force bool Send regardless of the ready status.

send_raw_message +

+

public

+

Sends a raw payload to tgui window.

+

required message string JSON+urlencoded blob to send. +optional force bool Send regardless of the ready status.

subscribe +

+

public

+

Subscribes the datum to consume window messages on a specified proc.

+

Note, that this supports only one subscriber, because code for that +is simpler and therefore faster. If necessary, this can be rewritten +to support multiple subscribers.

unsubscribe +

+

public

+

Unsubscribes the datum. Do not forget to call this when cleaning up.

+ + + diff --git a/datum/thrownthing.html b/datum/thrownthing.html new file mode 100644 index 000000000000..4681ffe3c51e --- /dev/null +++ b/datum/thrownthing.html @@ -0,0 +1,211 @@ + + + + + + + /datum/thrownthing - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

thrownthing + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

callbackIf a thrown thing has a callback, it can be invoked here within thrownthing.
delayed_timeHow long an object has been paused for, to be added to the travel time.
diagonal_errorHow many tiles that need to be moved in order to travel to the target.
diagonals_firstA variable that helps in describing objects thrown at an angle, if it should be moved diagonally first or last.
dist_travelledTracks how far a thrownthing has traveled mid-throw for the purposes of maxrange
dist_xDistance to travel in the X axis/direction.
dist_yDistance to travel in the y axis/direction.
dxThe Horizontal direction we're traveling (EAST or WEST)
dyThe VERTICAL direction we're traveling (NORTH or SOUTH)
forceThe movement force provided to a given object in transit. More info on these in move_force.dm
gentleIf the throw is gentle, then the thrownthing is harmless on impact.
init_dirThe initial direction of the thrower of the thrownthing for building the trajectory of the throw.
initial_targetWeakref to the original intended target of the throw, to prevent hardDels
is_spinningIf the thrown object is spinning
last_moveThe last world.time value stored when the thrownthing was moving.
maxrangeThe maximum number of turfs that the thrownthing will travel to reach it's target.
pausedMainly exists for things that would freeze a thrown object in place, like a timestop'd tile. Or a Tractor Beam.
pure_diagonalSet to TRUE if the throw is exclusively diagonal (45 Degree angle throws for example)
speedThe speed of the projectile thrownthing being thrown.
start_timeThe start_time obtained via world.time for the purposes of tiles moved/tick.
target_turfThe turf that the target was on, if it's not a turf itself.
target_zoneIf the target happens to be a carbon and that carbon has a body zone aimed at, this is carried on here.
throwerIf a mob is the one who has thrown the object, then it's moved here.
thrownthingDefines the atom that has been thrown (Objects and Mobs, mostly.)

Procs

on_thrownthing_qdelDefines the datum behavior on the thrownthing's qdeletion event.
stop_spinningRemove the spinning animation from the thrown object
+

Var Details

callback + + + + +

+

If a thrown thing has a callback, it can be invoked here within thrownthing.

delayed_time + + + + +

+

How long an object has been paused for, to be added to the travel time.

diagonal_error + + + + +

+

How many tiles that need to be moved in order to travel to the target.

diagonals_first + + + + +

+

A variable that helps in describing objects thrown at an angle, if it should be moved diagonally first or last.

dist_travelled + + + + +

+

Tracks how far a thrownthing has traveled mid-throw for the purposes of maxrange

dist_x + + + + +

+

Distance to travel in the X axis/direction.

dist_y + + + + +

+

Distance to travel in the y axis/direction.

dx + + + + +

+

The Horizontal direction we're traveling (EAST or WEST)

dy + + + + +

+

The VERTICAL direction we're traveling (NORTH or SOUTH)

force + + + + +

+

The movement force provided to a given object in transit. More info on these in move_force.dm

gentle + + + + +

+

If the throw is gentle, then the thrownthing is harmless on impact.

init_dir + + + + +

+

The initial direction of the thrower of the thrownthing for building the trajectory of the throw.

initial_target + + + + +

+

Weakref to the original intended target of the throw, to prevent hardDels

is_spinning + + + + +

+

If the thrown object is spinning

last_move + + + + +

+

The last world.time value stored when the thrownthing was moving.

maxrange + + + + +

+

The maximum number of turfs that the thrownthing will travel to reach it's target.

paused + + + + +

+

Mainly exists for things that would freeze a thrown object in place, like a timestop'd tile. Or a Tractor Beam.

pure_diagonal + + + + +

+

Set to TRUE if the throw is exclusively diagonal (45 Degree angle throws for example)

speed + + + + +

+

The speed of the projectile thrownthing being thrown.

start_time + + + + +

+

The start_time obtained via world.time for the purposes of tiles moved/tick.

target_turf + + + + +

+

The turf that the target was on, if it's not a turf itself.

target_zone + + + + +

+

If the target happens to be a carbon and that carbon has a body zone aimed at, this is carried on here.

thrower + + + + +

+

If a mob is the one who has thrown the object, then it's moved here.

thrownthing + + + + +

+

Defines the atom that has been thrown (Objects and Mobs, mostly.)

Proc Details

on_thrownthing_qdel +

+

Defines the datum behavior on the thrownthing's qdeletion event.

stop_spinning +

+

Remove the spinning animation from the thrown object

+ + + diff --git a/datum/timedevent.html b/datum/timedevent.html new file mode 100644 index 000000000000..173c2ed55441 --- /dev/null +++ b/datum/timedevent.html @@ -0,0 +1,158 @@ + + + + + + + /datum/timedevent - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Timed Event + + + +

+ +

This is the actual timer, it contains the callback and necessary data to maintain +the timer.

+

See the documentation for the timer subsystem for an explanation of the buckets referenced +below in next and prev

+ + + + + + + + + + + + + + + + +

Vars

bucket_joinedBoolean indicating if timer joined into bucket
bucket_posInitial bucket position
callBackThe callback to invoke after the timer completes
flagsFlags associated with the timer, see _DEFINES/subsystems.dm
hashUnique hash generated when TIMER_UNIQUE flag is present
idID used for timers when the TIMER_STOPPABLE flag is present
nextNext timed event in the bucket
prevPrevious timed event in the bucket
sourceThe source of the timedevent, whatever called addtimer
spentTime at which the timer was invoked or destroyed
timeToRunThe time at which the callback should be invoked at
timer_infoHolds info about this timer, stored from the moment it was created +Used to create a visible "name" whenever the timer is stringified
timer_subsystemThe timer subsystem this event is associated with
waitThe length of the timer

Procs

bucketEjectRemoves this timed event from any relevant buckets, or the secondary queue
bucketJoinAttempts to add this timed event to a bucket, will enter the secondary queue +if there are no appropriate buckets at this time.
getcallingtypeReturns a string of the type of the callback for this timer
+

Var Details

bucket_joined + + + + +

+

Boolean indicating if timer joined into bucket

bucket_pos + + + + +

+

Initial bucket position

callBack + + + + +

+

The callback to invoke after the timer completes

flags + + + + +

+

Flags associated with the timer, see _DEFINES/subsystems.dm

hash + + + + +

+

Unique hash generated when TIMER_UNIQUE flag is present

id + + + + +

+

ID used for timers when the TIMER_STOPPABLE flag is present

next + + + + +

+

Next timed event in the bucket

prev + + + + +

+

Previous timed event in the bucket

source + + + + +

+

The source of the timedevent, whatever called addtimer

spent + + + + +

+

Time at which the timer was invoked or destroyed

timeToRun + + + + +

+

The time at which the callback should be invoked at

timer_info + + + + +

+

Holds info about this timer, stored from the moment it was created +Used to create a visible "name" whenever the timer is stringified

timer_subsystem + + + + +

+

The timer subsystem this event is associated with

wait + + + + +

+

The length of the timer

Proc Details

bucketEject +

+

Removes this timed event from any relevant buckets, or the secondary queue

bucketJoin +

+

Attempts to add this timed event to a bucket, will enter the secondary queue +if there are no appropriate buckets at this time.

+

Secondary queueing of timed events will occur when the timespan covered by the existing +buckets is exceeded by the time at which this timed event is scheduled to be invoked. +If the timed event is tracking client time, it will be added to a special bucket.

getcallingtype +

+

Returns a string of the type of the callback for this timer

+ + + diff --git a/datum/traitor_objective.html b/datum/traitor_objective.html new file mode 100644 index 000000000000..a3cd9d23d68d --- /dev/null +++ b/datum/traitor_objective.html @@ -0,0 +1,277 @@ + + + + + + + /datum/traitor_objective - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

traitor_objective + + + +

+ +

A traitor objective. Traitor objectives should not be deleted after they have been created and established, only failed. +If a traitor objective needs to be removed from the failed/completed objective list of their handler, then you are doing something wrong +and you should reconsider. When an objective is failed/completed, that is final and the only way you can change that is by refactoring the code.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

descriptionThe description of the traitor objective
forcedWhether this objective was forced upon by an admin. Won't get autocleared by the traitor subsystem if progression surpasses an amount
global_progression_deviance_requiredDetermines how great the deviance has to be before progression starts to get reduced.
global_progression_influence_intensityDetermines how influential global progression will affect this objective. Set to 0 to disable.
global_progression_limit_coeffDetermines the minimum and maximum progression this objective can be worth as a result of being influenced by global progression +Should only be smaller than or equal to 1
handlerThe uplink handler holder to give the progression and telecrystals to.
nameThe name of the traitor objective
objective_stateThe current state of this objective
original_progressionThe percentage that this objective has been increased or decreased by as a result of progression. Used by the UI
progression_cost_coeffThis gets added onto the coeff when calculating the updated progression cost. Used for variability and a slight bit of randomness
progression_cost_coeff_devianceThe deviance coefficient used to determine the randomness of the progression rewards.
progression_maximumThe maximum progression before this objective cannot appear anymore
progression_minimumThe minimum required progression points for this objective
progression_rewardThe progression that is rewarded from completing this traitor objective. Can either be a list of list(min, max) or a direct value
skippedWhether this objective was skipped by going from an inactive state to a failed state.
telecrystal_penaltyTC penalty for failing an objective or cancelling it
telecrystal_rewardThe telecrystals that are rewarded from completing this traitor objective. Can either be a list of list(min,max) or a direct value
time_of_completionThe time at which this objective was completed
time_of_creationThe time at which this objective was first created

Procs

completion_payoutCalled when rewards should be given to the user.
fail_objectiveUsed to fail objectives. Players can clear completed objectives in the UI
finish_objectiveCalled by player input, do not call directly. Validates whether the objective is finished and pays out the handler if it is.
generate_objectiveCalled when the objective should be generated. Should return if the objective has been successfully generated. +If false is returned, the objective will be removed as a potential objective for the traitor it is being generated for. +This is only temporary, it will run the proc again when objectives are generated for the traitor again.
generate_ui_buttonsUsed for generating the UI buttons for the UI. Use ui_perform_action to respond to clicks.
handle_cleanupUsed to handle cleaning up the objective.
is_duplicateDetermines whether this objective is a duplicate. objective_to_compare is always of the type it is being called on.
replace_in_nameReplaces a word in the name of the proc. Also does it for the description
succeed_objectiveUsed to succeed objectives. Allows the player to cash it out in the UI.
supported_configuration_changesReturns a list of variables that can be changed by config, allows for balance through configuration. +It is not recommended to finetweak any values of objectives on your server.
to_debug_stringConverts the type into a useful debug string to be used for logging and debug display.
ui_perform_actionReturn TRUE to trigger a UI update
ungenerate_objectiveUsed to clean up signals and stop listening to states.
update_progression_rewardUpdates the progression reward, scaling it depending on their current progression compared against the global progression
uplink_ui_dataUsed for sending data to the uplink UI
+

Var Details

description + + + + +

+

The description of the traitor objective

forced + + + + +

+

Whether this objective was forced upon by an admin. Won't get autocleared by the traitor subsystem if progression surpasses an amount

global_progression_deviance_required + + + + +

+

Determines how great the deviance has to be before progression starts to get reduced.

global_progression_influence_intensity + + + + +

+

Determines how influential global progression will affect this objective. Set to 0 to disable.

global_progression_limit_coeff + + + + +

+

Determines the minimum and maximum progression this objective can be worth as a result of being influenced by global progression +Should only be smaller than or equal to 1

handler + + + + +

+

The uplink handler holder to give the progression and telecrystals to.

name + + + + +

+

The name of the traitor objective

objective_state + + + + +

+

The current state of this objective

original_progression + + + + +

+

The percentage that this objective has been increased or decreased by as a result of progression. Used by the UI

progression_cost_coeff + + + + +

+

This gets added onto the coeff when calculating the updated progression cost. Used for variability and a slight bit of randomness

progression_cost_coeff_deviance + + + + +

+

The deviance coefficient used to determine the randomness of the progression rewards.

progression_maximum + + + + +

+

The maximum progression before this objective cannot appear anymore

progression_minimum + + + + +

+

The minimum required progression points for this objective

progression_reward + + + + +

+

The progression that is rewarded from completing this traitor objective. Can either be a list of list(min, max) or a direct value

skipped + + + + +

+

Whether this objective was skipped by going from an inactive state to a failed state.

telecrystal_penalty + + + + +

+

TC penalty for failing an objective or cancelling it

telecrystal_reward + + + + +

+

The telecrystals that are rewarded from completing this traitor objective. Can either be a list of list(min,max) or a direct value

time_of_completion + + + + +

+

The time at which this objective was completed

time_of_creation + + + + +

+

The time at which this objective was first created

Proc Details

completion_payout +

+

Called when rewards should be given to the user.

fail_objective +

+

Used to fail objectives. Players can clear completed objectives in the UI

finish_objective +

+

Called by player input, do not call directly. Validates whether the objective is finished and pays out the handler if it is.

generate_objective +

+

Called when the objective should be generated. Should return if the objective has been successfully generated. +If false is returned, the objective will be removed as a potential objective for the traitor it is being generated for. +This is only temporary, it will run the proc again when objectives are generated for the traitor again.

generate_ui_buttons +

+

Used for generating the UI buttons for the UI. Use ui_perform_action to respond to clicks.

handle_cleanup +

+

Used to handle cleaning up the objective.

is_duplicate +

+

Determines whether this objective is a duplicate. objective_to_compare is always of the type it is being called on.

replace_in_name +

+

Replaces a word in the name of the proc. Also does it for the description

succeed_objective +

+

Used to succeed objectives. Allows the player to cash it out in the UI.

supported_configuration_changes +

+

Returns a list of variables that can be changed by config, allows for balance through configuration. +It is not recommended to finetweak any values of objectives on your server.

to_debug_string +

+

Converts the type into a useful debug string to be used for logging and debug display.

ui_perform_action +

+

Return TRUE to trigger a UI update

ungenerate_objective +

+

Used to clean up signals and stop listening to states.

update_progression_reward +

+

Updates the progression reward, scaling it depending on their current progression compared against the global progression

+

Used for sending data to the uplink UI

+ + + diff --git a/datum/traitor_objective/assassinate.html b/datum/traitor_objective/assassinate.html new file mode 100644 index 000000000000..5141987f90da --- /dev/null +++ b/datum/traitor_objective/assassinate.html @@ -0,0 +1,68 @@ + + + + + + + /datum/traitor_objective/assassinate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

assassinate + + + +

+ + + + + + +

Vars

heads_of_staffMakes the objective only set heads as targets when true, and block them from being targets when false. +This also blocks the objective from generating UNTIL the un-heads_of_staff version (WHICH SHOULD BE A DIRECT PARENT) is completed. +example: calling card objective, you kill someone, you unlock the chance to roll a head of staff target version of calling card.
kill_targettarget we need to kill
maximum_objectives_in_periodThe maximum number of objectives we can get within this period.
objective_periodThe objective period at which we consider if it is an 'objective'. Set to 0 to accept all objectives.

Procs

special_target_filterproc for checking for special states that invalidate a target
+

Var Details

heads_of_staff + + + + +

+

Makes the objective only set heads as targets when true, and block them from being targets when false. +This also blocks the objective from generating UNTIL the un-heads_of_staff version (WHICH SHOULD BE A DIRECT PARENT) is completed. +example: calling card objective, you kill someone, you unlock the chance to roll a head of staff target version of calling card.

kill_target + + + + +

+

target we need to kill

maximum_objectives_in_period + + + + +

+

The maximum number of objectives we can get within this period.

objective_period + + + + +

+

The objective period at which we consider if it is an 'objective'. Set to 0 to accept all objectives.

Proc Details

special_target_filter +

+

proc for checking for special states that invalidate a target

+ + + diff --git a/datum/traitor_objective/assassinate/behead.html b/datum/traitor_objective/assassinate/behead.html new file mode 100644 index 000000000000..37693dc8a7c8 --- /dev/null +++ b/datum/traitor_objective/assassinate/behead.html @@ -0,0 +1,43 @@ + + + + + + + /datum/traitor_objective/assassinate/behead - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

behead + + + +

+ + + +

Vars

behead_goalthe head that needs to be picked up
needs_to_hold_headthe body who needs to hold the head
+

Var Details

behead_goal + + + + +

+

the head that needs to be picked up

needs_to_hold_head + + + + +

+

the body who needs to hold the head

+ + + diff --git a/datum/traitor_objective/destroy_item.html b/datum/traitor_objective/destroy_item.html new file mode 100644 index 000000000000..992bc0fd8630 --- /dev/null +++ b/datum/traitor_objective/destroy_item.html @@ -0,0 +1,50 @@ + + + + + + + /datum/traitor_objective/destroy_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

destroy_item + + + +

+ + + + +

Vars

special_equipmentAny special equipment that may be needed
target_itemThe current target item that we are stealing.
tracked_itemsItems that are currently tracked and will succeed this objective when destroyed.
+

Var Details

special_equipment + + + + +

+

Any special equipment that may be needed

target_item + + + + +

+

The current target item that we are stealing.

tracked_items + + + + +

+

Items that are currently tracked and will succeed this objective when destroyed.

+ + + diff --git a/datum/traitor_objective/kill_pet.html b/datum/traitor_objective/kill_pet.html new file mode 100644 index 000000000000..a6d7a5959b14 --- /dev/null +++ b/datum/traitor_objective/kill_pet.html @@ -0,0 +1,57 @@ + + + + + + + /datum/traitor_objective/kill_pet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

kill_pet + + + +

+ + + + + +

Vars

limited_to_department_headWhether or not we only take from the traitor's own department head or not.
possible_headsPossible heads mapped to their pet type. Can be a list of possible pets
targetThe head that we are targetting
target_petThe actual pet that needs to be killed
+

Var Details

limited_to_department_head + + + + +

+

Whether or not we only take from the traitor's own department head or not.

possible_heads + + + + +

+

Possible heads mapped to their pet type. Can be a list of possible pets

target + + + + +

+

The head that we are targetting

target_pet + + + + +

+

The actual pet that needs to be killed

+ + + diff --git a/datum/traitor_objective/smuggle.html b/datum/traitor_objective/smuggle.html new file mode 100644 index 000000000000..eccdf91421df --- /dev/null +++ b/datum/traitor_objective/smuggle.html @@ -0,0 +1,57 @@ + + + + + + + /datum/traitor_objective/smuggle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

smuggle + + + +

+ +

smuggle! bring a traitor item from its arrival area to the cargo shuttle, where the objective completes on selling the item

+ + + +

Vars

contrabandthe contraband that must be exported on the shuttle
contraband_typetype of contraband to spawn
possible_contrabandspossible objective items. Mapped by item type = penalty cost for failing
smuggle_spawn_typearea type the objective owner must be in to recieve the contraband
+

Var Details

contraband + + + + +

+

the contraband that must be exported on the shuttle

contraband_type + + + + +

+

type of contraband to spawn

possible_contrabands + + + + +

+

possible objective items. Mapped by item type = penalty cost for failing

smuggle_spawn_type + + + + +

+

area type the objective owner must be in to recieve the contraband

+ + + diff --git a/datum/traitor_objective/steal_item.html b/datum/traitor_objective/steal_item.html new file mode 100644 index 000000000000..9f5a74ce193f --- /dev/null +++ b/datum/traitor_objective/steal_item.html @@ -0,0 +1,78 @@ + + + + + + + /datum/traitor_objective/steal_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

steal_item + + + +

+ + + + + + + + +

Vars

bugThe bug that will be put onto the item
hold_time_requiredA list of 2 elements, which contain the range that the time will be in. Represented in minutes.
max_distanceThe maximum distance between the bug and the objective taker for time to count as fulfilled
minutes_per_telecrystalTelecrystal reward increase per unit of time.
special_equipmentAny special equipment that may be needed
target_itemThe current target item that we are stealing.
time_fulfilledThe current time fulfilled around the item
+

Var Details

bug + + + + +

+

The bug that will be put onto the item

hold_time_required + + + + +

+

A list of 2 elements, which contain the range that the time will be in. Represented in minutes.

max_distance + + + + +

+

The maximum distance between the bug and the objective taker for time to count as fulfilled

minutes_per_telecrystal + + + + +

+

Telecrystal reward increase per unit of time.

special_equipment + + + + +

+

Any special equipment that may be needed

target_item + + + + +

+

The current target item that we are stealing.

time_fulfilled + + + + +

+

The current time fulfilled around the item

+ + + diff --git a/datum/traitor_objective_category.html b/datum/traitor_objective_category.html new file mode 100644 index 000000000000..9ba01d83c735 --- /dev/null +++ b/datum/traitor_objective_category.html @@ -0,0 +1,53 @@ + + + + + + + /datum/traitor_objective_category - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

traitor_objective_category + + + +

+ +

The objective category. +Used to group up entire objectives into 1 weight objects to prevent having a +higher chance of getting an objective due to an increased number of different objective subtypes. +These are nothing but informational holders and will have no other purpose.

+ + +

Vars

nameName of the category, unused but may help in the future
objectivesAssoc list of objectives by type mapped to their weight. Can also contain lists of objectives mapped to weight
weightThe weight of the category. How likely this category is to be chosen.
+

Var Details

name + + + + +

+

Name of the category, unused but may help in the future

objectives + + + + +

+

Assoc list of objectives by type mapped to their weight. Can also contain lists of objectives mapped to weight

weight + + + + +

+

The weight of the category. How likely this category is to be chosen.

+ + + diff --git a/datum/ui_state.html b/datum/ui_state.html new file mode 100644 index 000000000000..5ae9a23711c7 --- /dev/null +++ b/datum/ui_state.html @@ -0,0 +1,40 @@ + + + + + + + /datum/ui_state - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

ui_state + + + +

+ + +

Procs

can_use_topicprivate

Proc Details

can_use_topic +

+

private

+

Checks if a user can use src_object's UI, and returns the state. +Can call a mob proc, which allows overrides for each mob.

+

required src_object datum The object/datum which owns the UI. +required user mob The mob who opened/is using the UI.

+

return UI_state The state of the UI.

+ + + diff --git a/datum/unit_test.html b/datum/unit_test.html new file mode 100644 index 000000000000..4a2ad8eb956f --- /dev/null +++ b/datum/unit_test.html @@ -0,0 +1,59 @@ + + + + + + + /datum/unit_test - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

unit_test + + + +

+ + + + + +

Vars

priorityThe priority of the test, the larger it is the later it fires
run_loc_floor_bottom_leftThe bottom left floor turf of the testing zone
run_loc_floor_top_rightThe top right floor turf of the testing zone

Procs

allocateAllocates an instance of the provided type, and places it somewhere in an available loc +Instances allocated through this proc will be destroyed when the test is over
+

Var Details

priority + + + + +

+

The priority of the test, the larger it is the later it fires

run_loc_floor_bottom_left + + + + +

+

The bottom left floor turf of the testing zone

run_loc_floor_top_right + + + + +

+

The top right floor turf of the testing zone

Proc Details

allocate +

+

Allocates an instance of the provided type, and places it somewhere in an available loc +Instances allocated through this proc will be destroyed when the test is over

+ + + diff --git a/datum/unit_test/binary_insert.html b/datum/unit_test/binary_insert.html new file mode 100644 index 000000000000..d8c63f49bf9d --- /dev/null +++ b/datum/unit_test/binary_insert.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/binary_insert - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

binary_insert + + + +

+ + +

Procs

RunA test to ensure the sanity of BINARY_INSERT

Proc Details

Run +

+

A test to ensure the sanity of BINARY_INSERT

+ + + diff --git a/datum/unit_test/container_resist.html b/datum/unit_test/container_resist.html new file mode 100644 index 000000000000..e4b85f80b608 --- /dev/null +++ b/datum/unit_test/container_resist.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/container_resist - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

container_resist + + + +

+ + +

Procs

RunTest that you can resist out of a container

Proc Details

Run +

+

Test that you can resist out of a container

+ + + diff --git a/datum/unit_test/frame_stacking.html b/datum/unit_test/frame_stacking.html new file mode 100644 index 000000000000..32433bc37278 --- /dev/null +++ b/datum/unit_test/frame_stacking.html @@ -0,0 +1,40 @@ + + + + + + + /datum/unit_test/frame_stacking - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

frame_stacking + + + +

+ + +

Procs

RunSimple unit test to ensure there's no regression in behaviour where machine frames should not be stacked.

Proc Details

Run +

+

Simple unit test to ensure there's no regression in behaviour where machine frames should not be stacked.

+

We attempt to use the RCD to build multiple stacked machine frames on a turf. If we end up with any number that +is not equal to 1, this means we've either built no machine frames (bad) or built more than one (regression).

+

If this is successful, we attempt to spawn in some no-density machines that result in machine frames and we run +the test again on our turf containing our single frame, deconstructing the machines! This should also not spawn +any stacked machine frames.

+ + + diff --git a/datum/unit_test/hydroponics_harvest.html b/datum/unit_test/hydroponics_harvest.html new file mode 100644 index 000000000000..1e066083be34 --- /dev/null +++ b/datum/unit_test/hydroponics_harvest.html @@ -0,0 +1,49 @@ + + + + + + + /datum/unit_test/hydroponics_harvest - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

hydroponics_harvest + + + +

+ + +

Procs

RunA test to make sure harvesting plants in hydroponics results in the correct number of plants with the correct chemicals inside of it.

Proc Details

Run +

+

A test to make sure harvesting plants in hydroponics results in the correct number of plants with the correct chemicals inside of it.

+

We plant a seed into a tray and harvest it with a human. +This seed is set to have the maximum potency and yield with no instability to prevent mutations. +Then we check how many products we got from the harvest. For most plants, this should be 10 products, as we have a yield of 10. +Alternatively, if the plant has a trait that halves the products on harvest, it should result in 5 products.

+

After we harvest our seed, we check for the plant's nutriments and vitamins. +Most plants have nutriments, so most plants should result in a number of nutriments. +Some plants have vitamins and some don't, so we then check the number of vitamins. +Additionally, the plant may have traits that double the amount of chemicals it can hold. We check the max volume in that case and adjust accordingly. +Plants may have additional chemicals genes that we don't check. +Plants may have traits that effect the final product's contents that we don't check. +Chemicals may react inside of the plant on harvest, which we don't check.

+

After we check the harvest and the chemicals in the harvest, we go ahead and clean up the harvested products and remove the seed if it has perennial growth.

+

This test checks both /obj/item/food/grown items and /obj/item/grown items since, despite both being used in hydroponics, +they aren't the same type so everything that works with one isn't guaranteed to work with the other.

+ + + diff --git a/datum/unit_test/knockoff_component.html b/datum/unit_test/knockoff_component.html new file mode 100644 index 000000000000..9ac1a1ea8d21 --- /dev/null +++ b/datum/unit_test/knockoff_component.html @@ -0,0 +1,36 @@ + + + + + + + /datum/unit_test/knockoff_component - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

knockoff_component + + + +

+ +

Test that the knockoff component will properly cause something +with it applied to be knocked off when it should be.

+

Procs

set_glasses_wearerHelper to reset the glasses dummy back to it's original position, clear knockdown, and return glasses (if gone)

Proc Details

set_glasses_wearer +

+

Helper to reset the glasses dummy back to it's original position, clear knockdown, and return glasses (if gone)

+ + + diff --git a/datum/unit_test/machine_disassembly.html b/datum/unit_test/machine_disassembly.html new file mode 100644 index 000000000000..1b4ea3db9502 --- /dev/null +++ b/datum/unit_test/machine_disassembly.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/machine_disassembly - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

machine_disassembly + + + +

+ + +

Procs

RunEnsures that when disassembling a machine, all the parts are given back

Proc Details

Run +

+

Ensures that when disassembling a machine, all the parts are given back

+ + + diff --git a/datum/unit_test/mind_swap_spell.html b/datum/unit_test/mind_swap_spell.html new file mode 100644 index 000000000000..02e9ebcfe6b1 --- /dev/null +++ b/datum/unit_test/mind_swap_spell.html @@ -0,0 +1,31 @@ + + + + + + + /datum/unit_test/mind_swap_spell - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

mind_swap_spell + + + +

+ +

Validates that the mind swap spell +properly transfers minds between a caster and a target.

+

Also checks that the mindswap spell itself was transferred over +to the new body on cast.

+ + + diff --git a/datum/unit_test/servingtray.html b/datum/unit_test/servingtray.html new file mode 100644 index 000000000000..ba68ef9fc137 --- /dev/null +++ b/datum/unit_test/servingtray.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/servingtray - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

servingtray + + + +

+ + +

Procs

RunCheck that standard food items fit on the serving tray

Proc Details

Run +

+

Check that standard food items fit on the serving tray

+ + + diff --git a/datum/unit_test/species_config_sanity.html b/datum/unit_test/species_config_sanity.html new file mode 100644 index 000000000000..8c9b951e852c --- /dev/null +++ b/datum/unit_test/species_config_sanity.html @@ -0,0 +1,39 @@ + + + + + + + /datum/unit_test/species_config_sanity - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

species_config_sanity + + + +

+ + +

Procs

RunSpecies IDs are used in keyed_list config entries and their config values can either be set implicitly or explicitly.

Proc Details

Run +

+

Species IDs are used in keyed_list config entries and their config values can either be set implicitly or explicitly.

+

In order to accomplish this, the keyed_list looks for a specific splitter that is meant to separate the key from the value.

+

While it supports multiple instances of the splitter (for example, space) being present, the intent is ambiguous.

+

To combat that, this unit test runs through every species ID and make sure it doesn't contain the splitter character, so +valid config entries are never ambiguous.

+ + + diff --git a/datum/unit_test/spell_names.html b/datum/unit_test/spell_names.html new file mode 100644 index 000000000000..5e0659ac5abf --- /dev/null +++ b/datum/unit_test/spell_names.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/spell_names - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

spell_names + + + +

+ +

Validates that all spells have a different name.

+

Spell names are used for debugging in some places +as well as an option for admins giving out spells, +so every spell should have a distinct name.

+

If you're making a subtype with only one or two big changes, +consider adding an adjective to the name.

+

"Lesser Fireball" for a subtype of Fireball with a shorter cooldown. +"Deadly Magic Missile" for a subtype of Magic Missile that does damage, etc.

+ + + diff --git a/datum/unit_test/stop_drop_and_roll.html b/datum/unit_test/stop_drop_and_roll.html new file mode 100644 index 000000000000..cfe04b7c33c4 --- /dev/null +++ b/datum/unit_test/stop_drop_and_roll.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/stop_drop_and_roll - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

stop_drop_and_roll + + + +

+ + +

Procs

RunTest that stop, drop, and roll lowers fire stacks

Proc Details

Run +

+

Test that stop, drop, and roll lowers fire stacks

+ + + diff --git a/datum/universal_state.html b/datum/universal_state.html new file mode 100644 index 000000000000..a70dff7c09c7 --- /dev/null +++ b/datum/universal_state.html @@ -0,0 +1,42 @@ + + + + + + + /datum/universal_state - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

universal_state + + + +

+ + + +

Procs

OnEnterApply changes when entering this state
OnExitApply changes when exitting this state

Proc Details

OnEnter +

+

Apply changes when entering this state

OnExit +

+

Apply changes when exitting this state

+ + + diff --git a/datum/uplink_category.html b/datum/uplink_category.html new file mode 100644 index 000000000000..b69a70c92a4f --- /dev/null +++ b/datum/uplink_category.html @@ -0,0 +1,43 @@ + + + + + + + /datum/uplink_category - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

uplink_category + + + +

+ + + +

Vars

nameName of the category
weightWeight of the category. Used to determine the positioning in the uplink. High weight = appears first
+

Var Details

name + + + + +

+

Name of the category

weight + + + + +

+

Weight of the category. Used to determine the positioning in the uplink. High weight = appears first

+ + + diff --git a/datum/uplink_handler.html b/datum/uplink_handler.html new file mode 100644 index 000000000000..a122095152bc --- /dev/null +++ b/datum/uplink_handler.html @@ -0,0 +1,205 @@ + + + + + + + /datum/uplink_handler - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

uplink_handler + + + +

+ +

Uplink Handler

+

The uplink handler, used to handle a traitor's TC and experience points and the uplink UI.

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_objectivesCurrent objectives taken
assigned_roleThe role that this uplink handler is associated to.
assigned_speciesThe species this uplink handler is associated to.
can_take_objectivesWhether this uplink handler can TAKE objectives.
completed_objectivesObjectives that have been completed.
debug_modeWhether this is in debug mode or not. If in debug mode, allows all purchases
extra_purchasableExtra stuff that can be purchased by an uplink, regardless of flag.
has_objectivesWhether this uplink handler has objectives.
has_progressionThis uplink has progression
item_stockAssociative array of uplink item = stock left
maximum_active_objectivesThe maximum number of objectives that can be taken
maximum_potential_objectivesThe maximum number of potential objectives that can exist.
ownerThe owner of this uplink handler.
potential_duplicate_objectivesAll objectives assigned by type to handle any duplicates
potential_objectivesPotential objectives that can be taken
progression_pointsThe amount of experience points this traitor has
purchase_logThe purchase log of this uplink handler
telecrystalsThe amount of telecrystals contained in this traitor has
uplink_flagThe current uplink flag of this uplink

Procs

check_if_restrictedChecks for uplink flags as well as items restricted to roles and species
complete_objectiveUsed to complete objectives, failed or successful.
generate_objectivesGenerates objectives for this uplink handler
not_enough_reputationChecks if traitor has enough reputation to purchase an item
on_updateCalled whenever an update occurs on this uplink handler. Used for UIs
update_objectivesUpdates the objectives on the uplink and deletes
+

Var Details

active_objectives + + + + +

+

Current objectives taken

assigned_role + + + + +

+

The role that this uplink handler is associated to.

assigned_species + + + + +

+

The species this uplink handler is associated to.

can_take_objectives + + + + +

+

Whether this uplink handler can TAKE objectives.

completed_objectives + + + + +

+

Objectives that have been completed.

debug_mode + + + + +

+

Whether this is in debug mode or not. If in debug mode, allows all purchases

extra_purchasable + + + + +

+

Extra stuff that can be purchased by an uplink, regardless of flag.

has_objectives + + + + +

+

Whether this uplink handler has objectives.

has_progression + + + + +

+

This uplink has progression

item_stock + + + + +

+

Associative array of uplink item = stock left

maximum_active_objectives + + + + +

+

The maximum number of objectives that can be taken

maximum_potential_objectives + + + + +

+

The maximum number of potential objectives that can exist.

owner + + + + +

+

The owner of this uplink handler.

potential_duplicate_objectives + + + + +

+

All objectives assigned by type to handle any duplicates

potential_objectives + + + + +

+

Potential objectives that can be taken

progression_points + + + + +

+

The amount of experience points this traitor has

purchase_log + + + + +

+

The purchase log of this uplink handler

telecrystals + + + + +

+

The amount of telecrystals contained in this traitor has

+

The current uplink flag of this uplink

Proc Details

check_if_restricted +

+

Checks for uplink flags as well as items restricted to roles and species

complete_objective +

+

Used to complete objectives, failed or successful.

generate_objectives +

+

Generates objectives for this uplink handler

not_enough_reputation +

+

Checks if traitor has enough reputation to purchase an item

on_update +

+

Called whenever an update occurs on this uplink handler. Used for UIs

update_objectives +

+

Updates the objectives on the uplink and deletes

+ + + diff --git a/datum/uplink_item.html b/datum/uplink_item.html new file mode 100644 index 000000000000..d06a4c7ef68e --- /dev/null +++ b/datum/uplink_item.html @@ -0,0 +1,151 @@ + + + + + + + /datum/uplink_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

uplink_item + + + +

+ +

Uplink Items

+

Items that can be spawned from an uplink. Can be limited by gamemode.

+ + + + + + + + + + + + + + + + +

Vars

cant_discountWhether this can be discounted or not
categoryCategory of the uplink
costCost of the item.
descDescription of the uplink
illegal_techCan this item be deconstructed to unlock certain techweb research nodes?
itemPath to the item to spawn.
limited_stockHow many items of this stock can be purchased.
nameName of the uplink item
progression_minimumThe minimum amount of progression needed for this item to be added to uplinks.
purchasable_fromA bitfield to represent what uplinks can purchase this item. +See [code/__DEFINES/uplink.dm].
purchase_log_visWhether this purchase is visible in the purchase log.
refund_amountAmount of TC to refund, in case there's a TC penalty for refunds.
refund_pathAlternative path for refunds, in case the item purchased isn't what is actually refunded (ie: holoparasites).
refundableWhether this item is refundable or not.
restrictedWhether this purchase is restricted or not (VR/Events related)
restricted_rolesIf this uplink item is only available to certain roles. Roles are dependent on the frequency chip or stored ID.
restricted_speciesThe species able to purchase this uplink item.
+

Var Details

cant_discount + + + + +

+

Whether this can be discounted or not

category + + + + +

+

Category of the uplink

cost + + + + +

+

Cost of the item.

desc + + + + +

+

Description of the uplink

illegal_tech + + + + +

+

Can this item be deconstructed to unlock certain techweb research nodes?

item + + + + +

+

Path to the item to spawn.

limited_stock + + + + +

+

How many items of this stock can be purchased.

name + + + + +

+

Name of the uplink item

progression_minimum + + + + +

+

The minimum amount of progression needed for this item to be added to uplinks.

purchasable_from + + + + +

+

A bitfield to represent what uplinks can purchase this item. +See [code/__DEFINES/uplink.dm].

purchase_log_vis + + + + +

+

Whether this purchase is visible in the purchase log.

refund_amount + + + + +

+

Amount of TC to refund, in case there's a TC penalty for refunds.

refund_path + + + + +

+

Alternative path for refunds, in case the item purchased isn't what is actually refunded (ie: holoparasites).

refundable + + + + +

+

Whether this item is refundable or not.

restricted + + + + +

+

Whether this purchase is restricted or not (VR/Events related)

restricted_roles + + + + +

+

If this uplink item is only available to certain roles. Roles are dependent on the frequency chip or stored ID.

restricted_species + + + + +

+

The species able to purchase this uplink item.

+ + + diff --git a/datum/uplink_item/bundles_tc/surplus.html b/datum/uplink_item/bundles_tc/surplus.html new file mode 100644 index 000000000000..ff49ce999bb1 --- /dev/null +++ b/datum/uplink_item/bundles_tc/surplus.html @@ -0,0 +1,50 @@ + + + + + + + /datum/uplink_item/bundles_tc/surplus - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

surplus + + + +

+ + + + +

Vars

crate_typecrate that will be used for the surplus crate

Procs

fill_cratefills the crate that will be given to the traitor, edit this to change the crate and how the item is filled
pick_possible_itempicks items from the list given to proc and generates a valid uplink item that is less or equal to the amount of TC it can spend
+

Var Details

crate_type + + + + +

+

crate that will be used for the surplus crate

Proc Details

fill_crate +

+

fills the crate that will be given to the traitor, edit this to change the crate and how the item is filled

pick_possible_item +

+

picks items from the list given to proc and generates a valid uplink item that is less or equal to the amount of TC it can spend

+ + + diff --git a/datum/venue.html b/datum/venue.html new file mode 100644 index 000000000000..a2d19ff8f14d --- /dev/null +++ b/datum/venue.html @@ -0,0 +1,176 @@ + + + + + + + /datum/venue - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

venue + + + +

+ +

Represents the abstract concept of a food venue in the code.

+ + + + + + + + + + + + + + + + + + + + +

Vars

current_visitorsLists the current visitors of a venue
customer_typesWeighted list of customer types
customers_servedhow many robots got their wanted thing
linked_seatsSeats linked to this venue, assoc list of key holosign of seat position, and value of robot assigned to it, if any.
max_guestsMax amount of guests at any time
max_time_between_visitorMax time between new visits
min_time_between_visitorMin time between new visits
mob_blacklistBlacklist for idiots that attack bots. Key is the mob that did it, and the value is the amount of warnings they've received.
nameName of the venue, also used for the icon state of any radials it can be selected in
openIs the venue open at the moment?
req_accessRequired access to mess with the venue
restaurant_portalPortal linked to this venue at the moment
total_incomeTotal income of those venue
venue_typeWhat kind of Venue are we
visit_cooldownCooldown for next guest to arrive

Procs

create_new_customerSpawns a new customer at the portal
get_food_appearancegets the appearance of the ordered object that shows up when hovering your cursor over the customer mob.
is_correct_orderChecks if the object used is correct for the venue
on_get_orderEffects for when a customer receives their order at this venue
order_food_lineThe line the robot says when ordering
toggle_openToggles whether the venue is open or not
+

Var Details

current_visitors + + + + +

+

Lists the current visitors of a venue

customer_types + + + + +

+

Weighted list of customer types

customers_served + + + + +

+

how many robots got their wanted thing

linked_seats + + + + +

+

Seats linked to this venue, assoc list of key holosign of seat position, and value of robot assigned to it, if any.

max_guests + + + + +

+

Max amount of guests at any time

max_time_between_visitor + + + + +

+

Max time between new visits

min_time_between_visitor + + + + +

+

Min time between new visits

mob_blacklist + + + + +

+

Blacklist for idiots that attack bots. Key is the mob that did it, and the value is the amount of warnings they've received.

name + + + + +

+

Name of the venue, also used for the icon state of any radials it can be selected in

open + + + + +

+

Is the venue open at the moment?

req_access + + + + +

+

Required access to mess with the venue

restaurant_portal + + + + +

+

Portal linked to this venue at the moment

total_income + + + + +

+

Total income of those venue

venue_type + + + + +

+

What kind of Venue are we

visit_cooldown + + + + +

+

Cooldown for next guest to arrive

Proc Details

create_new_customer +

+

Spawns a new customer at the portal

get_food_appearance +

+

gets the appearance of the ordered object that shows up when hovering your cursor over the customer mob.

is_correct_order +

+

Checks if the object used is correct for the venue

on_get_order +

+

Effects for when a customer receives their order at this venue

order_food_line +

+

The line the robot says when ordering

toggle_open +

+

Toggles whether the venue is open or not

+ + + diff --git a/datum/venue/bar.html b/datum/venue/bar.html new file mode 100644 index 000000000000..2fa2f361af6e --- /dev/null +++ b/datum/venue/bar.html @@ -0,0 +1,35 @@ + + + + + + + /datum/venue/bar - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

bar + + + +

+ +

BAR

+

Procs

is_correct_orderThe bar needs to have a minimum amount of the reagent

Proc Details

is_correct_order +

+

The bar needs to have a minimum amount of the reagent

+ + + diff --git a/datum/view_data.html b/datum/view_data.html new file mode 100644 index 000000000000..34d92ae3e7b6 --- /dev/null +++ b/datum/view_data.html @@ -0,0 +1,83 @@ + + + + + + + /datum/view_data - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

view_data + + + +

+ +

Container for client viewsize

+ + + + + +

Vars

chiefThe client that owns this view packet
defaultThis client's current "default" view, in the format "WidthxHeight" +We add/remove from this when we want to change their window size
heightHeight offset to apply to the default view string, see above
is_suppressedIf the view is currently being supressed by some other "monitor" +For when you want to own the client's eye without fucking with their viewport +Doesn't make sense for a binocoler to effect your view in a camera console
widthWidth offset to apply to the default view string if we're not supressed for some reason
zoomThis client's current zoom level, if it's not being supressed +If it's 0, we autoscale to the size of the window. Otherwise it's treated as the ratio between +the pixels on the map and output pixels. Only looks proper nice in increments of whole numbers (iirc) +Stored here so other parts of the code have a non blocking way of getting a user's functional zoom
+

Var Details

chief + + + + +

+

The client that owns this view packet

default + + + + +

+

This client's current "default" view, in the format "WidthxHeight" +We add/remove from this when we want to change their window size

height + + + + +

+

Height offset to apply to the default view string, see above

is_suppressed + + + + +

+

If the view is currently being supressed by some other "monitor" +For when you want to own the client's eye without fucking with their viewport +Doesn't make sense for a binocoler to effect your view in a camera console

width + + + + +

+

Width offset to apply to the default view string if we're not supressed for some reason

zoom + + + + +

+

This client's current zoom level, if it's not being supressed +If it's 0, we autoscale to the size of the window. Otherwise it's treated as the ratio between +the pixels on the map and output pixels. Only looks proper nice in increments of whole numbers (iirc) +Stored here so other parts of the code have a non blocking way of getting a user's functional zoom

+ + + diff --git a/datum/voice_of_god_command.html b/datum/voice_of_god_command.html new file mode 100644 index 000000000000..99c4e3f95c50 --- /dev/null +++ b/datum/voice_of_god_command.html @@ -0,0 +1,50 @@ + + + + + + + /datum/voice_of_god_command - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

voice_of_god_command + + + +

+ +

Voice of god command datums that are used in [/proc/voice_of_god()]

+ + +

Vars

cooldowncooldown variable which is normally returned to [proc/voice_of_god] and used as its return value.
is_regexIs the trigger supposed to be a regex? If so, convert it to such on New()
triggera text string or regex that triggers the command.
+

Var Details

cooldown + + + + +

+

cooldown variable which is normally returned to [proc/voice_of_god] and used as its return value.

is_regex + + + + +

+

Is the trigger supposed to be a regex? If so, convert it to such on New()

trigger + + + + +

+

a text string or regex that triggers the command.

+ + + diff --git a/datum/voice_of_god_command/emote.html b/datum/voice_of_god_command/emote.html new file mode 100644 index 000000000000..9d5d081ea140 --- /dev/null +++ b/datum/voice_of_god_command/emote.html @@ -0,0 +1,36 @@ + + + + + + + /datum/voice_of_god_command/emote - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

emote + + + +

+ +

Supertype of all those commands that make people emote and nothing else. Fuck copypasta.

+

Vars

emote_nameThe emote to run.
+

Var Details

emote_name + + + + +

+

The emote to run.

+ + + diff --git a/datum/vote.html b/datum/vote.html new file mode 100644 index 000000000000..99f855f1bd6f --- /dev/null +++ b/datum/vote.html @@ -0,0 +1,70 @@ + + + + + + + /datum/vote - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

vote + + + +

+ + + + + + + +

Procs

after_completionAnything to do after the vote has finished and been announced.
break_tieBreak a tie between winners, returning the sole victor.
can_runChecks if this vote can run.
compile_optionsHandy proc for building option lists
filter_votesFilters the votes.
tally_votesCounts up the votes.

Proc Details

after_completion +

+

Anything to do after the vote has finished and been announced.

break_tie +

+

Break a tie between winners, returning the sole victor.

can_run +

+

Checks if this vote can run.

compile_options +

+

Handy proc for building option lists

filter_votes +

+

Filters the votes.

tally_votes +

+

Counts up the votes.

+ + + diff --git a/datum/wanted_message.html b/datum/wanted_message.html new file mode 100644 index 000000000000..23e5322a9769 --- /dev/null +++ b/datum/wanted_message.html @@ -0,0 +1,78 @@ + + + + + + + /datum/wanted_message - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

wanted_message + + + +

+ + + + + + + + +

Vars

activeIs this criminal alert still active?
bodyMessage body used to describe what crime has been comitted.
criminalWhat is the criminal in question's name? Not a mob reference as this is a text field.
imgIcon image to be attached to the newscaster message.
is_admin_msgIs this an admin message? Prevents editing unless performed by an admin rank.
photo_fileReference to the photo file used by wanted message on creation.
scanned_userWho was it that created this wanted message?
+

Var Details

active + + + + +

+

Is this criminal alert still active?

body + + + + +

+

Message body used to describe what crime has been comitted.

criminal + + + + +

+

What is the criminal in question's name? Not a mob reference as this is a text field.

img + + + + +

+

Icon image to be attached to the newscaster message.

is_admin_msg + + + + +

+

Is this an admin message? Prevents editing unless performed by an admin rank.

photo_file + + + + +

+

Reference to the photo file used by wanted message on creation.

scanned_user + + + + +

+

Who was it that created this wanted message?

+ + + diff --git a/datum/weakref.html b/datum/weakref.html new file mode 100644 index 000000000000..0dc1c63317b3 --- /dev/null +++ b/datum/weakref.html @@ -0,0 +1,67 @@ + + + + + + + /datum/weakref - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

weakref + + + +

+ +

A weakref holds a non-owning reference to a datum. +The datum can be referenced again using resolve().

+

To figure out why this is important, you must understand how deletion in +BYOND works.

+

Imagine a datum as a TV in a living room. When one person enters to watch +TV, they turn it on. Others can come into the room and watch the TV. +When the last person leaves the room, they turn off the TV because it's +no longer being used.

+

A datum being deleted tells everyone who's watching the TV to stop. +If everyone leaves properly (AKA cleaning up their references), then the +last person will turn off the TV, and everything is well. +However, if someone is resistant (holds a hard reference after deletion), +then someone has to walk in, drag them away, and turn off the TV forecefully. +This process is very slow, and it's known as hard deletion.

+

This is where weak references come in. Weak references don't count as someone +watching the TV. Thus, when what it's referencing is destroyed, it will +hopefully clean up properly, and limit hard deletions.

+

A common use case for weak references is holding onto what created itself. +For example, if a machine wanted to know what its last user was, it might +create a var/mob/living/last_user. However, this is a strong reference to +the mob, and thus will force a hard deletion when that mob is deleted. +It is often better in this case to instead create a weakref to the user, +meaning this type definition becomes var/datum/weakref/last_user.

+

A good rule of thumb is that you should hold strong references to things +that you own. For example, a dog holding a chew toy would be the owner +of that chew toy, and thus a var/obj/item/chew_toy reference is fine +(as long as it is cleaned up properly). +However, a chew toy does not own its dog, so a var/mob/living/dog/owner +might be inferior to a weakref. +This is also a good rule of thumb to avoid circular references, such as the +chew toy example. A circular reference that doesn't clean itself up properly +will always hard delete.

+

Procs

resolveRetrieves the datum that this weakref is referencing.

Proc Details

resolve +

+

Retrieves the datum that this weakref is referencing.

+

This will return null if the datum was deleted. This MUST be respected.

+ + + diff --git a/datum/weather.html b/datum/weather.html new file mode 100644 index 000000000000..f7e8350df29f --- /dev/null +++ b/datum/weather.html @@ -0,0 +1,336 @@ + + + + + + + /datum/weather - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

weather + + + +

+ +

Causes weather to occur on a z level in certain area types

+

The effects of weather occur across an entire z-level. +Weather always occurs on different z levels at different times, regardless of weather type. +Can have custom durations, targets, and can automatically protect indoor areas.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

aestheticIf the weather has no purpose other than looks
area_typeTypes of area to affect
barometer_predictableWhether a barometer can predict when the weather will happen
descdescription of weather
end_durationIn deciseconds, how long the "wind-down" graphic will appear before vanishing entirely
end_messageDisplayed once the weather is over
end_overlayArea overlay while weather is ending
end_soundSound that plays while weather is ending
immunity_typeUsed by mobs (or movables containing mobs, such as enviro bags) to prevent them from being affected by the weather.
impacted_areasAreas to be affected by the weather, calculated when the weather begins
impacted_z_levelsThe list of z-levels that this weather is actively affecting
namename of weather
next_hit_timeFor barometers to know when the next storm will hit
overlay_cacheList of all overlays to apply to our turfs
overlay_layerSince it's above everything else, this is the layer used by default. TURF_LAYER is below mobs and walls if you need to use that.
overlay_planePlane for the overlay
perpetualThis causes the weather to only end if forced to
probabilityWeight amongst other eligible weather. If zero, will never happen randomly.
protect_indoorsTRUE value protects areas with outdoors marked as false, regardless of area type
protected_areasAreas that are protected and excluded from the affected areas.
stageThe stage of the weather, from 1-4
target_traitThe z-level trait to affect when run randomly or when not overridden.
telegraph_durationIn deciseconds, how long from the beginning of the telegraph until the weather begins
telegraph_messageThe message displayed in chat to foreshadow the weather's beginning
telegraph_overlayThe overlay applied to all tiles on the z-level
telegraph_soundThe sound file played to everyone on an affected z-level
use_glowIf this bit of weather should also draw an overlay that's uneffected by lighting onto the area +Taken from weather_glow.dmi
weather_colorColor to apply to the area while weather is occuring
weather_durationIn deciseconds, how long the weather lasts once it begins
weather_duration_lowerSee above - this is the lowest possible duration
weather_duration_upperSee above - this is the highest possible duration
weather_messageDisplayed in chat once the weather begins in earnest
weather_overlayArea overlay while the weather is occuring
weather_soundLooping sound while weather is occuring

Procs

can_weather_actReturns TRUE if the living mob can be affected by the weather
endFully ends the weather
generate_overlay_cacheReturns a list of visual offset -> overlays to use
startStarts the actual weather and effects from it
telegraphTelegraphs the beginning of the weather on the impacted z levels
update_areasUpdates the overlays on impacted areas
weather_actAffects the mob with whatever the weather does
wind_downWeather enters the winding down phase, stops effects
+

Var Details

aesthetic + + + + +

+

If the weather has no purpose other than looks

area_type + + + + +

+

Types of area to affect

barometer_predictable + + + + +

+

Whether a barometer can predict when the weather will happen

desc + + + + +

+

description of weather

end_duration + + + + +

+

In deciseconds, how long the "wind-down" graphic will appear before vanishing entirely

end_message + + + + +

+

Displayed once the weather is over

end_overlay + + + + +

+

Area overlay while weather is ending

end_sound + + + + +

+

Sound that plays while weather is ending

immunity_type + + + + +

+

Used by mobs (or movables containing mobs, such as enviro bags) to prevent them from being affected by the weather.

impacted_areas + + + + +

+

Areas to be affected by the weather, calculated when the weather begins

impacted_z_levels + + + + +

+

The list of z-levels that this weather is actively affecting

name + + + + +

+

name of weather

next_hit_time + + + + +

+

For barometers to know when the next storm will hit

overlay_cache + + + + +

+

List of all overlays to apply to our turfs

overlay_layer + + + + +

+

Since it's above everything else, this is the layer used by default. TURF_LAYER is below mobs and walls if you need to use that.

overlay_plane + + + + +

+

Plane for the overlay

perpetual + + + + +

+

This causes the weather to only end if forced to

probability + + + + +

+

Weight amongst other eligible weather. If zero, will never happen randomly.

protect_indoors + + + + +

+

TRUE value protects areas with outdoors marked as false, regardless of area type

protected_areas + + + + +

+

Areas that are protected and excluded from the affected areas.

stage + + + + +

+

The stage of the weather, from 1-4

target_trait + + + + +

+

The z-level trait to affect when run randomly or when not overridden.

telegraph_duration + + + + +

+

In deciseconds, how long from the beginning of the telegraph until the weather begins

telegraph_message + + + + +

+

The message displayed in chat to foreshadow the weather's beginning

telegraph_overlay + + + + +

+

The overlay applied to all tiles on the z-level

telegraph_sound + + + + +

+

The sound file played to everyone on an affected z-level

use_glow + + + + +

+

If this bit of weather should also draw an overlay that's uneffected by lighting onto the area +Taken from weather_glow.dmi

weather_color + + + + +

+

Color to apply to the area while weather is occuring

weather_duration + + + + +

+

In deciseconds, how long the weather lasts once it begins

weather_duration_lower + + + + +

+

See above - this is the lowest possible duration

weather_duration_upper + + + + +

+

See above - this is the highest possible duration

weather_message + + + + +

+

Displayed in chat once the weather begins in earnest

weather_overlay + + + + +

+

Area overlay while the weather is occuring

weather_sound + + + + +

+

Looping sound while weather is occuring

Proc Details

can_weather_act +

+

Returns TRUE if the living mob can be affected by the weather

end +

+

Fully ends the weather

+

Effects no longer occur and area overlays are removed +Removes weather from processing completely

generate_overlay_cache +

+

Returns a list of visual offset -> overlays to use

start +

+

Starts the actual weather and effects from it

+

Updates area overlays and sends sounds and messages to mobs to notify them +Begins dealing effects from weather to mobs in the area

telegraph +

+

Telegraphs the beginning of the weather on the impacted z levels

+

Sends sounds and details to mobs in the area +Calculates duration and hit areas, and makes a callback for the actual weather to start

update_areas +

+

Updates the overlays on impacted areas

weather_act +

+

Affects the mob with whatever the weather does

wind_down +

+

Weather enters the winding down phase, stops effects

+

Updates areas to be in the winding down phase +Sends sounds and messages to mobs to notify them

+ + + diff --git a/datum/wires.html b/datum/wires.html new file mode 100644 index 000000000000..5308aa29f061 --- /dev/null +++ b/datum/wires.html @@ -0,0 +1,132 @@ + + + + + + + /datum/wires - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

wires + + + +

+ + + + + + + + + + + + + + +

Vars

assembliesList of attached assemblies.
colorsDictionary of colours to wire.
cut_wiresList of cut wires.
dictionary_keyKey that enables wire assignments to be common across different holders. If null, will use the holder_type as a key.
holderThe holder (atom that contains these wires).
holder_typeThe holder's typepath (used for sanity checks to make sure the holder is the appropriate type for these wire sets).
proper_nameThe display name for the wire set shown in station blueprints. Not shown in blueprints if randomize is TRUE or it's an item NT wouldn't know about (Explosives/Nuke). Also used in the hacking interface.
randomizeIf every instance of these wires should be random. Prevents wires from showing up in station blueprints.
wiresList of all wires.

Procs

always_reveal_wireWhether the given wire should always be revealed.
can_reveal_wiresChecks whether wire assignments should be revealed.
emp_pulseCalled from /atom/proc/emp_act
on_holder_qdelCalled when holder is qdeleted for us to clean ourselves as not to leave any unlawful references.
+

Var Details

assemblies + + + + +

+

List of attached assemblies.

colors + + + + +

+

Dictionary of colours to wire.

cut_wires + + + + +

+

List of cut wires.

dictionary_key + + + + +

+

Key that enables wire assignments to be common across different holders. If null, will use the holder_type as a key.

holder + + + + +

+

The holder (atom that contains these wires).

holder_type + + + + +

+

The holder's typepath (used for sanity checks to make sure the holder is the appropriate type for these wire sets).

proper_name + + + + +

+

The display name for the wire set shown in station blueprints. Not shown in blueprints if randomize is TRUE or it's an item NT wouldn't know about (Explosives/Nuke). Also used in the hacking interface.

randomize + + + + +

+

If every instance of these wires should be random. Prevents wires from showing up in station blueprints.

wires + + + + +

+

List of all wires.

Proc Details

always_reveal_wire +

+

Whether the given wire should always be revealed.

+

Intended to be overridden. Allows for forcing a wire's assignmenmt to always be revealed +in the hacking interface. +Arguments:

+

can_reveal_wires +

+

Checks whether wire assignments should be revealed.

+

Returns TRUE if the wires should be revealed, FALSE otherwise. +Currently checks for admin ghost AI, abductor multitool and blueprints. +Arguments:

+

emp_pulse +

+

Called from /atom/proc/emp_act

on_holder_qdel +

+

Called when holder is qdeleted for us to clean ourselves as not to leave any unlawful references.

+ + + diff --git a/datum/wires/conveyor.html b/datum/wires/conveyor.html new file mode 100644 index 000000000000..45bd45b10dd7 --- /dev/null +++ b/datum/wires/conveyor.html @@ -0,0 +1,36 @@ + + + + + + + /datum/wires/conveyor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

conveyor + + + +

+ + +

Vars

fingerman_refvar holder that logs who put the assembly inside and gets transfered to the switch on pulse
+

Var Details

fingerman_ref + + + + +

+

var holder that logs who put the assembly inside and gets transfered to the switch on pulse

+ + + diff --git a/datum/wires/explosive/chem_grenade.html b/datum/wires/explosive/chem_grenade.html new file mode 100644 index 000000000000..87dc471ae569 --- /dev/null +++ b/datum/wires/explosive/chem_grenade.html @@ -0,0 +1,35 @@ + + + + + + + /datum/wires/explosive/chem_grenade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

chem_grenade + + + +

+ + +

Procs

detach_assemblyalready armed

Proc Details

detach_assembly +

+

already armed

+ + + diff --git a/datum/world_progressbar.html b/datum/world_progressbar.html new file mode 100644 index 000000000000..07f12bce0c2f --- /dev/null +++ b/datum/world_progressbar.html @@ -0,0 +1,78 @@ + + + + + + + /datum/world_progressbar - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

world_progressbar + + + +

+ + + + + + + + +

Vars

barThe progress bar visual element.
goalEffectively the number of steps the progress bar will need to do before reaching completion.
last_progressControl check to see if the progress was interrupted before reaching its goal.
listindexVariable to ensure smooth visual stacking on multiple progress bars.
ownerThe atom who "created" the bar
qdel_when_doneDoes this qdelete on completion?

Procs

updateUpdates the progress bar image visually.
+

Var Details

bar + + + + +

+

The progress bar visual element.

goal + + + + +

+

Effectively the number of steps the progress bar will need to do before reaching completion.

last_progress + + + + +

+

Control check to see if the progress was interrupted before reaching its goal.

listindex + + + + +

+

Variable to ensure smooth visual stacking on multiple progress bars.

owner + + + + +

+

The atom who "created" the bar

qdel_when_done + + + + +

+

Does this qdelete on completion?

Proc Details

update +

+

Updates the progress bar image visually.

+ + + diff --git a/datum/wound.html b/datum/wound.html new file mode 100644 index 000000000000..8397987401a5 --- /dev/null +++ b/datum/wound.html @@ -0,0 +1,162 @@ + + + + + + + /datum/wound - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

wound + + + +

+ +

WOUNDS

+ + + + + + + + + + + + + + + + + + +

Vars

amountNumber of wounds of this type
bleed_thresholdAbove this amount wounds you will need to treat the wound to stop bleeding, regardless of bleed_timer
bleed_timerTicks of bleeding left
clampedIs clamped?
current_stageNumber representing the current stage
damageAmount of damage this wound causes
descDescription of the wound.
disinfectedIs disinfected?
germ_levelAmount of germs in the wound
max_bleeding_stageMaximum stage at which bleeding should still happen. Beyond this stage bleeding is prevented.
min_damageAmount of damage the current wound type requires(less means we need to apply the next healing stage)
parentThe bodypart this wound is on
salvedIs salved?
stagesstages such as "cut", "deep cut", etc.
wound_typeString (One of wound_type_*). The wound's injury type.

Procs

bleedingReturns if the wound is currently bleeding.
init_stageReturns 1 if there's a next stage, 0 otherwise
is_treatedChecks whether the wound has been appropriately treated
wound_damageThe amount of damage per wound
+

Var Details

amount + + + + +

+

Number of wounds of this type

bleed_threshold + + + + +

+

Above this amount wounds you will need to treat the wound to stop bleeding, regardless of bleed_timer

bleed_timer + + + + +

+

Ticks of bleeding left

clamped + + + + +

+

Is clamped?

current_stage + + + + +

+

Number representing the current stage

damage + + + + +

+

Amount of damage this wound causes

desc + + + + +

+

Description of the wound.

disinfected + + + + +

+

Is disinfected?

germ_level + + + + +

+

Amount of germs in the wound

max_bleeding_stage + + + + +

+

Maximum stage at which bleeding should still happen. Beyond this stage bleeding is prevented.

min_damage + + + + +

+

Amount of damage the current wound type requires(less means we need to apply the next healing stage)

parent + + + + +

+

The bodypart this wound is on

salved + + + + +

+

Is salved?

stages + + + + +

+

stages such as "cut", "deep cut", etc.

wound_type + + + + +

+

String (One of wound_type_*). The wound's injury type.

Proc Details

bleeding +

+

Returns if the wound is currently bleeding.

init_stage +

+

Returns 1 if there's a next stage, 0 otherwise

is_treated +

+

Checks whether the wound has been appropriately treated

wound_damage +

+

The amount of damage per wound

+ + + diff --git a/datum/xgm_gas.html b/datum/xgm_gas.html new file mode 100644 index 000000000000..ea37527b4f44 --- /dev/null +++ b/datum/xgm_gas.html @@ -0,0 +1,36 @@ + + + + + + + /datum/xgm_gas - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

xgm_gas + + + +

+ + +

Vars

base_valueThe value of this gas per mol.
+

Var Details

base_value + + + + +

+

The value of this gas per mol.

+ + + diff --git a/dmdoc.css b/dmdoc.css new file mode 100644 index 000000000000..367f005d2a85 --- /dev/null +++ b/dmdoc.css @@ -0,0 +1,112 @@ +body { + margin: auto; + background: #f4f4f4; + color: #333333; + font-size: 16px; + line-height: 1.3; + max-width: 73%; + overflow-y: scroll; + font-family: Arial, Helvetica, sans-serif; +} +pre, code { + background: white; + tab-size: 4; + -moz-tab-size: 4; +} +pre { + padding: 8px; + white-space: pre-wrap; +} +code { + font-family: Consolas, "DejaVu Sans Mono", "Courier New", Courier, monospace; +} +a { + color: #333333; +} +article { + margin: 2.5% auto; +} +header, footer { + margin: 2.5% -6px; + border: 1px solid #444444; + border-radius: 5px; + padding: 5px; +} +h1 aside, h2 aside, h3 aside, h4 aside, h5 aside { + display: inline; + font-weight: normal; + font-size: smaller; +} +aside.declaration, aside.parent { + display: inline-block; + position: relative; + text-align: right; + width: 100px; + margin-right: -100px; + right: 105px; +} +aside.declaration { + font-style: italic; +} +table.summary tr:first-child > td > :first-child { + margin-top: 0; +} +table.summary tr:last-child > td > :last-child { + margin-bottom: 0; +} +table.summary th, table.summary td { + text-align: left; + vertical-align: top; + padding-left: 0; + padding-right: 1em; +} +table.summary th { + padding-left: 1em; + padding-bottom: 4px; + text-indent: -1em; +} +.no-substance { + color: #888888; +} +:target { + background-color: white; + border-radius: 5px; + padding-left: 3px; + padding-right: 3px; + margin-left: -3px; + margin-right: 3px; +} +img[src="git.png"] { + opacity: 0.8; +} +.expander { + cursor: pointer; + display: inline-block; + position: relative; + text-align: right; + width: 50px; + margin-right: -50px; + right: 53px; +} + +@media (prefers-color-scheme: dark) { + body { + background-color: #151520; + color: #e0e0e0; + } + a { + color: #e0e0e0; + } + header, footer { + border-color: #d0d0d0; + } + .no-substance { + color: #bbbbbb; + } + pre, code, :target { + background-color: #252530; + } + img[src="git.png"] { + filter: invert(1); + } +} diff --git a/dmdoc.js b/dmdoc.js new file mode 100644 index 000000000000..6bf31f7e9441 --- /dev/null +++ b/dmdoc.js @@ -0,0 +1,58 @@ +// ---------------------------------------------------------------------------- +// Index page tree browsing + +document.addEventListener("DOMContentLoaded", function() { + var items = document.getElementsByClassName("index-tree"); + var nodes = []; + + for (var i = 0; i < items.length; ++i) { + var node = items[i]; + var parent = node.parentElement; + if (!parent || parent.tagName.toLowerCase() != "li") { + continue; + } + node.hidden = true; + parent.style.listStyle = "none"; + var expander = document.createElement("span"); + expander.className = "expander"; + expander.textContent = "\u2795"; + expander.addEventListener("click", function(node) { + return function(event) { + if (event.target.tagName.toLowerCase() == "a") { + return; + } + event.preventDefault(); + event.stopPropagation(true); + node.hidden = !node.hidden; + this.textContent = node.hidden ? "\u2795" : "\u2796"; + }; + }(node)); + + if (node.parentElement.parentElement.classList.contains("modules")) { + node.hidden = false; + expander.textContent = "\u2796"; + } + + parent.insertBefore(expander, parent.firstChild); + nodes.push({ node, expander }); + } + + if (nodes.length) { + var toggle = document.createElement("a"); + toggle.href = "#"; + toggle.appendChild(document.createTextNode("Toggle All")); + toggle.addEventListener("click", function(event) { + event.preventDefault(); + + var hidden = !nodes[1].node.hidden; + for (var i = 0; i < nodes.length; ++i) { + nodes[i].node.hidden = hidden; + nodes[i].expander.textContent = hidden ? "\u2795" : "\u2796"; + } + }); + + var header = document.getElementsByTagName("header")[0]; + header.appendChild(document.createTextNode(" \u2014 ")); + header.appendChild(toggle); + } +}); diff --git a/git.png b/git.png new file mode 100644 index 000000000000..c190e8538b5c Binary files /dev/null and b/git.png differ diff --git a/global.html b/global.html new file mode 100644 index 000000000000..ee8ea786e0fc --- /dev/null +++ b/global.html @@ -0,0 +1,4679 @@ + + + + + + + (global) - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

(global) + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

DebuggerStonedMC
FailsafeFailsafe
SSacidThe subsystem used to tick /datum/component/acid instances.
SSai_behaviorsThe subsystem used to tick /datum/ai_behavior instances. Handling the individual actions an AI can take like punching someone in the fucking NUTS
SSai_controllersThe subsystem used to tick /datum/ai_controllers instances. Handling the re-checking of plans.
SSai_movementThe subsystem used to tick /datum/ai_movement instances. Handling the movement of individual AI instances
SSambienceThe subsystem used to play ambience to users every now and then, makes them real excited.
SSasset_loadingAllows us to lazyload asset datums +Anything inserted here will fully load if directly gotten +So this just serves to remove the requirement to load assets fully during init
SSaura_healingThe subsystem used to tick /datum/component/aura_healing instances.
SSban_cacheSubsystem that batches a ban cache list for clients on initialize +This way we don't need to do ban checks in series later in the code
SSclock_componentThe subsystem used to tick /datum/component/acid instances.
SSearly_assetsInitializes any assets that need to be loaded ASAP. +This houses preference menu assets, since they can be loaded at any time, +most dangerously before the atoms SS initializes. +Thus, we want it to fail consistently in CI as if it would've if a player +opened it up early.
SSeigenstatesSubsystem used to teleport people to a linked web of itterative entries. If one entry is deleted, the 2 around it will forge a link instead.
SSfluids
SSfoamThe subsystem responsible for processing foam propagation and effects.
SSid_accessNon-processing subsystem that holds various procs and data structures to manage ID cards, trims and access.
SSinit_profilerSubsystem exists so we can separately log init time costs from the costs of general operation +Hopefully this makes sorting out what causes problems when easier
SSlag_switchThe subsystem for controlling drastic performance enhancements aimed at reducing server load for a smoother albeit slightly duller gaming experience
SSlibraryManages library data, loading bookselves, etc
SSmouse_enteredDefers MouseEntered inputs to only apply to the most recently hovered over atom in the tick
SSmove_managerActs as a namespace for movement packet/type related procs
SSpaiWe get our awareness updated by the important recursive contents stuff, here we remove our membership +We get our awareness updated by the important recursive contents stuff, here we remove our membership
SSpathfinderQueues and manages JPS pathfinding steps
SSpoints_of_interestSubsystem for managing all POIs.
SSsinguloprocessVery rare subsystem, provides any active singularities with the timings and seclusion they need to succeed
SSsmokeThe subsystem responsible for processing smoke propagation and effects.
SSspatial_grid
SSspeech_controllerthe next unallocated /mob/oranges_ear that we try to allocate to assigned_atom's turf +the next atom in atoms_that_need_ears an ear assigned to it +the turf loc of the current assigned_atom. turfs are used to track oranges_ears already assigned to one location so we dont allocate more than one +because allocating more than one oranges_ear to a given loc wastes view iterations +verb_manager subsystem just for handling say's
SStguitgui subsystem
SStimer
SSverb_managerSSverb_manager, a subsystem that runs every tick and runs through its entire queue without yielding like SSinput. +this exists because of how the byond tick works and where user inputted verbs are put within it.
SSwardrobeThis subsystem strives to make loading large amounts of select objects as smooth at execution as possible +It preloads a set of types to store, and caches them until requested +Doesn't catch everything mind, this is intentional. There's many types that expect to either +A: Not sit in a list for 2 hours, or B: have extra context passed into them, or for their parent to be their location +You should absolutely not spam this system, it will break things in new and wonderful ways +S close enough for government work though. +Fuck you goonstation
SSwiremod_compositeThis subsystem is to handle creating and storing +composite templates that are used to create composite datatypes +for integrated circuits
atlasA massive nested associative list that tracks type instances, set by the below macros.
atmosphericsContains all atmospheric machinery, only used if DEBUG_MAPS is defined.
cable_listIs a real global for speed
csrfz_check"Can safely remove from zone"
gzn_check"Get zone neighbors"
ipc_chassis_optionsGlobal list of player-friendly name to iconstate prefix.
neighbor_typecacheTypecache of all objects that we seek out to apply a neighbor stripe overlay

Procs

Atan2The 2-argument arctangent of x and y
GUIDreturns a GUID like identifier (using a mostly made up record format) +guids are not on their own suitable for access or security tokens, as most of their bits are predictable. +(But may make a nice salt to one)
GenerateRoundAsteroidGenerates a circular asteroid.
GetBestWeaponReturns either the best weapon from the given choices or null if held weapons are better
GibberishTurn text into complete gibberish!
HandleUserlessProcCallHandles a userless proccall, used by circuits.
HandleUserlessSDQLHandles a userless sdql, used by circuits and tgs.
HeapPathWeightCompareTODO: Macro this to reduce proc overhead
InterpolateReturns a linear interpolation from a to b according to weight. weight 0 is a, weight 1 is b, weight 0.5 is half-way between the two.
IsEdiblereturns if something can be consumed, drink or food
MeanReturns the mean of either a list or variadic arguments: Mean(list(1, 2, 3)) = 2 , Mean(1, 2, 3) = 2
REF\ref behaviour got changed in 512 so this is necesary to replicate old behaviour. +If it ever becomes necesary to get a more performant REF(), this lies here in wait +#define REF(thing) (thing && istype(thing, /datum) && (thing:datum_flags & DF_USE_TAG) && thing:tag ? "[thing:tag]" : "\ref[thing]")
ReserveTurfsForAsteroidGenerationSanitizes a block of turfs to prevent writing over undesired locations
RoundDiagBarDiagnostic HUDs!
VecMagReturns the euclidian magnitude of a vector of either a list or variadic arguments: VecMag(list(3, 4)) = 5 , VecMag(3, 4) = 5
VecSquareMagReturns the euclidian square magnitude of a vector of either a list or variadic arguments: VecSquareMag(list(1, 2, 3)) = 14 , VecSquareMag(1, 2, 3) = 14
WEAKREFCreates a weakref to the given input. +See /datum/weakref's documentation for more information.
WrapAdminProcCallWrapper for proccalls where the datum is flagged as vareditted
___TraitAddDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
___TraitRemoveDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
______qdel_list_wrapperthe underscores are to encourage people not to use this directly.
_addtimerCreate a new timer and insert it in the queue. +You should not call this directly, and should instead use the addtimer macro, which includes source information.
_alert_dronesBroadcast a message to all drones in a faction
_pick_listAllow me to explain +for some reason, if pick() is passed arglist(args) directly and args contains only one list +it considers it to be a list of lists +this means something like _pick(list) would fail +need to do this instead
_queue_verbqueue a callback for the given verb/verblike proc and any given arguments to the specified verb subsystem, so that they process in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB() and co.
aas_mass_pda_messageGet an announcement system and call mass_pda_message()
aas_pda_messageGet an announcement system and call pda_message()
aas_pda_message_departmentSend an ASS pda message to an entire department
aas_pda_message_nameSend an ASS pda message to a given name
above_neckWould this zone be above the neck
actionspeed_data_null_checkChecks if a action speed modifier is valid and not missing any data
active_free_borgsSilicon Mob Procs
add_keybindingAdds an instanced keybinding to the global tracker
add_memory_in_rangeAdds a memory to people that can see this happening, only use this for impactful or rare events to reduce overhead.
add_verbhandles adding verbs and updating the stat panel browser
admin_pm_hrefReturns an adminpm link with the inserted HTML.
adminscrubRuns STRIP_HTML_SIMPLE and byond's sanitization proc.
alone_in_areaChecks if the mob provided (must_be_alone) is alone in an area
announce_arrivalSend a message in common radio when a player arrives
anyprobchances are 1:value. anyprob(1) will always return true
assert_sortedRuntimes if the passed in list is not sorted
assoc_to_keysTurns an associative list into a flat list of keys
atmos_scanOutputs a message to the user describing the target's gasmixes.
avoid_assoc_duplicate_keystakes an input_key, as text, and the list of keys already used, outputting a replacement key in the format of "[input_key] ([number_of_duplicates])" if it finds a duplicate +use this for lists of things that might have the same name, like mobs or objects, that you plan on giving to a player as input
baseturfs_string_listA wrapper for baseturf string lists, to offer support of non list values, and a stack_trace if we have major issues
begin_the_endBegins the process of ending the round via cult narsie win +Consists of later called procs (in order of called):
bit_countcounts the number of bits in Byond's 16-bit width field, in constant time and memory!
bitfield_to_listConverts a bitfield to a list of numbers (or words if a wordlist is provided)
body_zone2cover_flagsFor finding out what body parts a body zone covers, the inverse of the below basically
build_exploration_site_ui_dataHelper proc for exploration site listings in ui.
build_medicine_reagentsJust grab every craftable medicine you can think off
calculate_projectile_angle_and_pixel_offsetsCalculates the pixel offsets and angle that a projectile should be launched at.
call_emergency_meetingIf the announcer overrides alert messages, use that message. +Summon the crew for an emergency meeting
callback_selectRuns a list of callbacks asyncronously, returning only when all have finished
can_seeStep-towards method of determining whether one atom can see another. Similar to viewers() +note: this is a line of sight algorithm, view() does not do any sort of raycasting and cannot be emulated by it accurately
center_imageCenter's an image. +Requires: +The Image +The x dimension of the icon file used in the image +The y dimension of the icon file used in the image +eg: center_image(image_to_center, 32,32) +eg2: center_image(image_to_center, 96,96)
chatter_speakWe're going to take a list that dictates the pace of speech, and a sentence fragment to say +Then say() that fragment at that pace +You can pass in a starting delay to wait before speaking the next sound
cheap_hypotenuseCalculate the hypotenuse cheaply (this should be in maths.dm)
check_asay_linksChecks a given message to see if any of the words are something we want to treat specially, as detailed below.
check_target_facingsReturns the direction that the initiator and the target are facing
check_wall_itemCheck if there is already a wall item on the turf loc +floor_loc = floor tile in front of the wall +dir_toward_wall = direction from the floor tile in front of the wall towards the wall +check_external = truthy if we should be checking against items coming out of the wall, rather than visually on top of the wall.
chem_splashThe basic chemical bomb proc. +Combines a set of reagent holders into one holder and reacts it. +If there are any reagents left over it spreads them across the surrounding environment. +The maximum volume of the holder is temporarily adjusted to allow for reactions which increase total volume to work at full effectiveness. +The maximum volume of the holder is then reset to its original value.
circle_rangeReturns all atoms present in a circle around the center
circle_range_turfsReturns a list of turfs around a center based on RANGE_TURFS()
circle_viewReturns all atoms present in a circle around the center but uses view() instead of range() (Currently not used)
circle_view_turfsReturns a list of turfs around a center based on view()
cmp_bodypart_by_body_part_ascOrders bodyparts by their body_part value, ascending.
cmp_bodyparts_display_orderOrders bodyparts by how they should be shown to players in a UI
cmp_codex_nameOrders codex entries by name alphabetically
cmp_crafting_req_prioritySorts crafting recipe requirements before the crafting recipe is inserted into GLOB.crafting_recipes
cmp_design_nameOrders designs by name
cmp_fusion_reaction_desOrders R-UST fusion by priority
cmp_heretic_knowledgeOrders heretic knowledge by priority
cmp_list_lengthOrders lists by the size of lists in their contents
cmp_port_order_ascOrders by integrated circuit weight
cmp_pref_modulesSort modules by priority
cmp_uplink_category_descOrders by uplink category weight
cmp_zm_render_orderSort by plane, then by layer. Approximately BYOND rendering order.
color_list_to_stringTurns a list such as ("#FFFFFF", #00FFFF) into a color string of "#FFFFFF#00FFFF"
color_string_to_listTurns a color string such as "#FFFFFF#00FFFF" into a list of ("#FFFFFF", #00FFFF)
color_to_full_rgba_matrixConverts RGB shorthands into RGBA matrices complete of constants rows (ergo a 20 keys list in byond). +if return_identity_on_fail is true, stack_trace is called instead of CRASH, and an identity is returned.
colorize_stringGets a color for a name, will return the same color for a given string consistently within a round.atom
compare_listcompare two lists, returns TRUE if they are the same
considered_afkChecks if a player is considered AFK
considered_aliveReturns true if the mob that a player is controlling is alive
considered_exiledExiled check
construct_phobia_regexCreates a regular expression to match against the given phobia +Capture group 2 = the scary word +Capture group 3 = an optional suffix on the scary word
convert_integer_to_wordsTakes an integer up to 999,999,999 and returns it in words. Works with negative numbers and 0.
convert_ph_to_readable_colorConverts the pH into a tgui readable color - i.e. white and black text is readable over it. This is NOT the colourwheel for pHes however.
count_by_typereturn the amount of items of the same type inside a list
create_mafia_gameCreates the global datum for playing mafia games, destroys the last if that's required and returns the new.
create_strippable_listCreates an assoc list of keys to /datum/strippable_item
cult_ending_helperSelects cinematic to play as part of the cult end depending on the outcome then ends the round afterward +called either when narsie eats everyone, or when [/proc/begin_the_end()] reaches it's conclusion
cut_relative_directionTakes a screen_loc string and cut out any directions like NORTH or SOUTH
debug_variableGet displayed variable in VV variable list
deep_compare_listCompares 2 lists, returns TRUE if they are the same
deep_copy_listCopies a list, and all lists inside it recusively +Does not copy any other reference type
default_ui_stateThe sane defaults for a UI such as a computer or a machine.
delete_all_SS_and_recreate_masterDelete all existing SS to basically start over
deltimerDelete a timer
deprecise_zoneTakes a zone and returns it's "parent" zone, if it has one.
dice_outcome_mapCertified LummoxJR code, this returns an array which is a map of outcomes to roll [index] value.
dice_probabilityReturns a number between 0 and 100 to roll the desired value when rolling the given dice.
display_energyFormat an energy value measured in Power Cell units.
display_joulesFormat an energy value in J, kJ, MJ, or GJ. 1W = 1J/s.
display_powerFormat a power value in W, kW, MW, or GW.
do_afterTimed action involving one mob user. Target is optional, defaulting to user.
do_after_mobTimed action involving at least one mob user and a list of targets. interaction_key is the assoc key under which the do_after is capped under, and the max interaction count is how many of this interaction you can do at once.
do_chem_smokeHelper to quickly create a cloud of reagent smoke
do_smokeA helper proc used to spawn small puffs of smoke.
dviewVersion of view() which ignores darkness, because BYOND doesn't have it (I actually suggested it but it was tagged redundant, BUT HEARERS IS A T- /rant).
dyn_explosionUsing default dyn_ex scale:
ellipsisInline script for an animated ellipsis
emissive_appearanceProduces a mutable appearance glued to the EMISSIVE_PLANE dyed to be the EMISSIVE_COLOR.
emissive_blockerProduces a mutable appearance glued to the EMISSIVE_PLANE dyed to be the EM_BLOCK_COLOR.
encode_text_and_nullsReturns a copy of a list where text values (except assoc-keys and string representations of lua-only values) are +wrapped in quotes and existing quote marks are escaped, +and nulls are replaced with the string "null"
end_cooldownCallback called by a timer to end an associative-list-indexed cooldown.
english_listReturns a list in plain english as a string
expand_three_digit_colorGiven a 3 character color (no hash), converts it into #RRGGBB (with hash)
expand_weightsTakes a weighted list (see above) and expands it into raw entries +This eats more memory, but saves time when actually picking from it
explosionMakes a given atom explode.
filter_gasJust transfer it, who really cares at a scale this small.
find_obstruction_free_locationFind an obstruction free turf that's within the range of the center. Can also condition on if it is of a certain area type.
find_reagentReturns reagent datum from typepath
findnameFind if the message has the real name of any user mob in the mob_list
finish_unequip_mobA utility function for /datum/strippable_items to finish unequipping an item from a mob.
firing_squadfiring_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense
first_day_of_monthReturns the first day of the given year and month in number format, from 1 (monday) - 7 (sunday).
flash_colorFlash a color on the client
flatten_listFlattens a keyed list into a list of it's contents
flick_overlayAdd an image to a list of clients and calls a proc to remove it after a duration
flick_overlay_staticFlickers an overlay on an atom
flick_overlay_viewwrapper for flick_overlay(), flicks to everyone who can see the target atom
flop_animationThis animation should be applied to actual parent atom instead of vc_object.
format_frequencyFormat frequency by moving the decimal.
format_textProperly format a string of text by using replacetext()
gas_mixture_parser
generate_and_hash_rsc_filegenerates a filename for a given asset. +like generate_asset_name(), except returns the rsc reference and the rsc file hash as well as the asset name (sans extension) +used so that certain asset files dont have to be hashed twice
generate_asset_nameGenerate a filename for this asset +The same asset will always lead to the same asset name +(Generated names do not include file extention.)
generate_autowiki_outputWhen the AUTOWIKI define is enabled, will generate an output file for tools/autowiki/autowiki.js to consume. +Autowiki code intentionally still exists even without the define, to ensure developers notice +when they break it immediately, rather than until CI or worse, call time. +Returns a string of the autowiki output file
generate_bitfieldsTurns /datum/bitfield subtypes into a list for use in debugging
generate_chemwiki_lineGenerate the big list of reagent based reactions. +style='background-color:#FFEE88;'|{{anchor|Synthetic-derived growth factor}}Synthetic-derived growth factor▮
generate_cult_rune_typesReturns an associated list of rune types. [rune.cultist_name] = [typepath]
generate_generator_indexCreates generator__id => type map.
generate_icon_alpha_maskHelper proc to generate a cutout alpha mask out of an icon.
generate_items_insideCreates new items inside an atom based on a list
generate_paperworkWe only send to one fax machine in an area
generate_selectable_speciesGenerates species available to choose in character setup at roundstart
getReturns the atom type in the specified loc
getFlatIconOnly the first argument is required.
get_active_player_countGet active players who are playing in the round
get_adjacent_areasReturns a list of all areas that are adjacent to the center atom's area, clear the list of nulls at the end.
get_adjacent_open_areasReturns a list with all the adjacent areas by getting the adjacent open turfs
get_adjacent_open_turfsReturns a list with all the adjacent open turfs.
get_airlock_overlayOverlay cache. Why isn't this just in /obj/machinery/door/airlock? Because its used just a +tiny bit in door_assembly.dm Refactored so you don't have to make a null copy of airlock +to get to the damn thing +Someone, for the love of god, profile this. Is there a reason to cache mutable_appearance +if so, why are we JUST doing the airlocks when we can put this in mutable_appearance.dm for +everything
get_allowed_instrument_idsGet all non admin_only instruments as a list of text ids.
get_angleCalculate the angle between two points and the west|east coordinate
get_area_nameReturns the name of the area the atom is in
get_areas_in_rangeReturns a list with the names of the areas around a center at a certain distance +Returns the local area if no distance is indicated +Returns an empty list if the center is null
get_atom_on_turfReturns the top-most atom sitting on the turf. +For example, using this on a disk, which is in a bag, on a mob, +will return the mob because it's on the turf.
get_bbox_of_atomsGet a bounding box of a list of atoms.
get_cached_actionspeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!
get_cached_movespeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!
get_cardinal_dirGet the cardinal direction between two atoms
get_chem_idReturns reagent datum from reagent name string
get_closest_atomReturns the closest atom of a specific type in a list from a source
get_consistent_feature_entryTakes in an accessory list and returns the first entry from that list, ensuring that we dont return SPRITE_ACCESSORY_NONE in the process.
get_ctf_voting_controllerReturns the existing /datum/ctf_voting_controller for the given ID, or makes one
get_dist_euclideanReturns the distance between two atoms
get_dist_manhattanReturns the manhattan distance between two atoms. Returns INFINITY if either are not on a turf, for BYOND get_dist() parity.
get_distributionThis is a pretty complicated algorithm, but it's one I'm rather proud of.
get_edge_target_turfReturns the turf located at the map edge in the specified direction relative to target_atom used for mass driver
get_element_by_varreturn first thing in L which has var/varname == value +this is typecaste as list/L, but you could actually feed it an atom instead. +completely safe to use
get_first_open_turf_in_areaIterates over all turfs in the target area and returns the first non-dense one
get_flat_existing_human_iconA simpler version of get_flat_human_icon() that uses an existing human as a base to create the icon. +Does not feature caching yet, since I could not think of a good way to cache them without having a possibility +of using the cached version when we don't want to, so only use this proc if you just need this flat icon +generated once and handle the caching yourself if you need to access that icon multiple times, or +refactor this proc to feature caching of icons.
get_hearLike view but bypasses luminosity check
get_hearers_in_LOSReturns a list of movable atoms that are hearing sensitive in view_radius and line of sight to source +the majority of the work is passed off to the spatial grid if view_radius > 0 +because view() isnt a raycasting algorithm, this does not hold symmetry to it. something in view might not be hearable with this. +if you want that use get_hearers_in_view() - however thats significantly more expensive
get_hearers_in_radio_rangesReturns an associative list-of-lists of radio : hearers
get_hearers_in_viewreturns every hearaing movable in view to the turf of source not taking into account lighting +useful when you need to maintain always being able to hear something if a sound is emitted from it and you can see it (and youre in range). +otherwise this is just a more expensive version of get_hearers_in_LOS()
get_icon_dmi_pathgiven an icon object, dmi file path, or atom/image/mutable_appearance, attempts to find and return an associated dmi file path. +a weird quirk about dm is that /icon objects represent both compile-time or dynamic icons in the rsc, +but stringifying rsc references returns a dmi file path +ONLY if that icon represents a completely unchanged dmi file from when the game was compiled. +so if the given object is associated with an icon that was in the rsc when the game was compiled, this returns a path. otherwise it returns ""
get_lineGet a list of turfs in a line from starting_atom to ending_atom.
get_mob_by_ckeyreturns a mob type controlled by a specified ckey
get_mob_by_keyReturn the mob type that is being controlled by a ckey
get_mob_or_brainmobReturns the occupant mob or brain from a specified input
get_nested_locsReturns a list of all locations (except the area) the movable is within.
get_officer_departmentsReturns the distribution of splitting the given security officers into departments. +Return value is an assoc list of candidate => SEC_DEPT_*.
get_offset_target_turfreturns turf relative to target_atom offset in dx and dy tiles, bound to map limits
get_oov_turfReturns a turf that is barely out of view of the target.
get_open_turf_in_dirReturns the open turf next to the center in a specific direction
get_perceived_radiation_dangerGets the perceived "danger" of radiation pulse, given the threshold to the target. +Returns a RADIATION_DANGER_* define, see code/__DEFINES/radiation.dm
get_pixel_anglefor getting the angle when animating something's pixel_x and pixel_y
get_pixel_distanceFinds the distance between two atoms, in pixels +centered = FALSE counts from turf edge to edge +centered = TRUE counts from turf center to turf center +of course mathematically this is just adding world.icon_size on again
get_powernet_info_from_sourceSave any queued packets +Extracts the powernet and cell of the provided power source
get_preferences_in_priority_orderReturns a flat list of preferences in order of their priority
get_radio_iconPass in a frequency, get a file name. See chat_icons.dm
get_random_drinkGets a random drink excluding the blocked type
get_random_foodGet a random food item exluding the blocked ones
get_random_jumpskirtReturns a random, acceptable jumpskirt typepath
get_random_jumpsuitReturns a random, acceptable jumpsuit typepath
get_random_reagent_idReturns a random reagent object minus blacklisted reagents
get_random_station_turfReturns a random turf on the station
get_ranged_target_turf_directGet ranged target turf, but with direct targets as opposed to directions
get_reagent_type_from_product_stringReturns a list of chemical_reaction datums that have the input STRING as a product
get_recipe_from_reagent_productTakes a type in and returns a list of associated recipes
get_safe_random_station_turfReturns a random turf on the station, excludes dense turfs (like walls) and areas that have valid_territory set to FALSE
get_selectable_speciesGets a list of all species available to choose in roundstart.
get_sorted_areasReturns a sorted version of GLOB.areas, by name
get_species_augmentsReturns a tree of species > category > slot > item path
get_teleport_locReturns location. Returns null if no location was found.
get_temp_change_amountUsed to get the amount of change between two body temperatures
get_turf_pixelLets the turf this atom's ICON appears to inhabit +it takes into account: +Pixel_x/y +Matrix x/y +NOTE: if your atom has non-standard bounds then this proc +will handle it, but: +if the bounds are even, then there are an even amount of "middle" turfs, the one to the EAST, NORTH, or BOTH is picked +this may seem bad, but you're atleast as close to the center of the atom as possible, better than byond's default loc being all the way off) +if the bounds are odd, the true middle turf of the atom is returned
get_valid_screen_locationReturns a valid location to place a screen object without overflowing the viewport
give_admin_popupTries to give the target an admin popup. +If it fails, will send the error to the passed admin.
goonchem_vortexMagical move-wooney that happens sometimes.
greatest_common_factorTakes a list of numbers as input, returns the highest value that is cleanly divides them all +Note: this implementation is expensive as heck for large numbers, I only use it because most of my usecase +Is < 10 ints
honkerblastUnleashes a honkerblast similar to the honkmech weapon, but with more granular control.
hsv2rgbConverts a list storing hsva into an rgb color string
htmlrendertextPerform a whitespace cleanup on the text, similar to what HTML renderers do
icon2base64Converts an icon to base64. Operates by putting the icon in the iconCache savefile, +exporting it as text, and then parsing the base64 from that. +(This relies on byond automatically storing icons in savefiles as base64)
icon_elementDisplay a DM icon in a a browser.
icon_existsChecks if the given iconstate exists in the given file, caching the result. Setting scream to TRUE will print a stack trace ONCE.
inLineOfSightCalculate if two atoms are in sight, returns TRUE or FALSE
init_crafting_recipesInits the crafting recipe list, sorting crafting recipe requirements in the process.
init_keybindingsCreates and sorts all the keybinding datums
init_subtypes_w_path_keysFunctions like init_subtypes, but uses the subtype's path as a key for easy access
initialize_starting_knowledgeReturns a list of all heretic knowledge TYPEPATHS +that have route set to PATH_START.
int_to_wordsTakes a 1, 2 or 3 digit number and returns it in words. Don't call this directly, use convert_integer_to_words() instead.
invert_HTML_colourInverts the colour of an HTML string
ion_numPicks a string of symbols to display as the law number for hacked or ion laws +is at the start to prevent us from changing say modes via get_message_mode()
isAdminGhostAIIs the passed in mob an admin ghost WITH AI INTERACT enabled
isAdminObserverIs the passed in mob a ghost with admin powers, doesn't check for AI interact like isAdminGhost() used to
is_adminReturns if the given client is an admin, REGARDLESS of if they're deadminned or not.
is_color_darkGiven a color in the format of "#RRGGBB", will return if the color +is dark.
is_convertable_to_cultReturns whether the given mob is convertable to the blood cult
is_guest_keyReturns whether or not a player is a guest using their ckey as an input
is_ic_filteredGiven a text, will return what word is on the IC filter, with the reason. +Returns null if the message is OK.
is_ic_filtered_for_pdasGiven a text, will return what word is on the IC filter, ignoring words allowed on the PDA, with the reason. +Returns null if the message is OK.
is_ooc_filteredGiven a text, will return what word is on the OOC filter, with the reason. +Returns null if the message is OK.
is_path_in_listChecks for specific paths in a list.
is_safe_turfChecks if a given turf is a "safe" location
is_soft_ic_filteredGiven a text, will return what word is on the soft IC filter, with the reason. +Returns null if the message is OK.
is_soft_ic_filtered_for_pdasGiven a text, will return what word is on the soft IC filter, ignoring words allowed on the PDA, with the reason. +Returns null if the message is OK.
is_soft_ooc_filteredGiven a text, will return that word is on the soft OOC filter, with the reason. +Returns null if the message is OK.
is_source_facing_targetCompare source's dir, the clockwise dir of source and the anticlockwise dir of source +To the opposite dir of the dir returned by get_dir(target,source) +If one of them is a match, then source is facing target
is_special_characterReturns TRUE if the game has started and we're either an AI with a 0th law, or we're someone with a special role/antag datum
is_type_in_listChecks for specific types in a list.
is_valid_dmi_filegiven a text string, returns whether it is a valid dmi icons folder path
is_valid_srcCheck if a datum has not been deleted and is a valid source
ishumanbasicReturns if the given target is a human. Like, a REAL human. +Not a moth, not a felinid (which are human subtypes), but a human.
isvineimmuneUsed to determine whether the mob is immune to actions by the vine. +Use cases: Stops vine from attacking itself, other plants.
item_heal_roboticHeal a robotic body part on a mob
jps_path_toThese are generally cheaper than looping contents so they go first +This file contains the stuff you need for using JPS (Jump Point Search) pathing, an alternative to A* that skips +over large numbers of uninteresting tiles resulting in much quicker pathfinding solutions. Mind that diagonals +cost the same as cardinal moves currently, so paths may look a bit strange, but should still be optimal.
json_deserialize_datumConvert a list of json to datum
json_serialize_datumConvert a datum into a json blob
kvpify_listConverts a list into a list of assoc lists of the form ("key" = key, "value" = value) +so that list keys that are themselves lists can be fully json-encoded
lightningboltthis is the actual bolt effect and damage, made into its own proc because it is used elsewhere
living_player_countReturns the amount of currently living players
load_adventuresLoads all adventures from DB
load_default_map_configProc that simply loads the default map config, which should always be functional.
load_mapShortcut function to parse a map and apply it to the world.
load_map_configProc handling the loading of map configs. Will return the default map config using /proc/load_default_map_config if the loading of said file fails for any reason whatsoever, so we always have a working map for the server to run.
load_poll_dataLoads all current and future server polls and their options to store both as datums.
log_atmosLogs the contents of the gasmix to the game log, prefixed by text
log_combatLog a combat message in the attack log
log_directed_talkHelper for logging of messages with only one sender and receiver
log_filterLogs to the filter log with the given message, match, and scope
log_suspicious_loginWrites to a special log file if the log_suspicious_login config flag is set, +which is intended to contain all logins that failed under suspicious circumstances.
log_tguiAppends a tgui-related log entry. All arguments are optional.
make_associativeMake a normal list an associative one
make_bodyUses stripped down and bastardized code from respawn character
make_datum_references_listsInitial Building
make_tupleReturns the name of the mathematical tuple of same length as the number arg (rounded down).
md5asfileSave file as an external file then md5 it. +Used because md5ing files stored in the rsc sometimes gives incorrect md5 results.
md5filepathReturns the md5 of a file at a given path.
message_centcomUsed by communications consoles to message CentCom
message_syndicateUsed by communications consoles to message the Syndicate
message_to_htmlMessage-related procs
move_elementMove a single element from position from_index within a list, to position to_index +All elements in the range [1,to_index) before the move will be before the pivot afterwards +All elements in the range [to_index, L.len+1) before the move will be after the pivot afterwards +In other words, it's as if the range [from_index,to_index) have been rotated using a <<< operation common to other languages. +from_index and to_index must be in the range [1,L.len+1] +This will preserve associations ~Carnie
move_rangeMove elements [from_index,from_index+len) to [to_index-len, to_index) +Same as moveElement but for ranges of elements +This will preserve associations ~Carnie
mutable_appearanceHelper similar to image()
narsie_apocalypseThird crew last second win check and flufftext for [/proc/begin_the_end()]
narsie_end_begin_checkFirst crew last second win check and flufftext for [/proc/begin_the_end()]
narsie_end_second_checkSecond crew last second win check and flufftext for [/proc/begin_the_end()]
narsie_last_second_winCalled only if the crew managed to destroy narsie at the very last second for [/proc/begin_the_end()]
narsie_start_destroy_stationsecurity level and shuttle lockdowns for [/proc/begin_the_end()]
next_list_itemReturns the next item in a list
noopA do nothing proc
notify_ghostsFancy notifications for ghosts
nuke_requestUsed by communications consoles to request the nuclear launch codes
offer_controlOffer control of the passed in mob to dead player
offset_to_screen_locTakes a list in the form (x_offset, y_offset) +And converts it to a screen loc string +Accepts an optional view string/size to force the screen_loc around, so it can't go out of scope
overlays2textConverts an overlay list into text for debug printing +Of note: overlays aren't actually mutable appearances, they're just appearances +Don't have access to that type tho, so this is the best you're gonna get
parse_caught_click_modifiersReturns a turf based on text inputs, original turf and viewing client
parse_slot_flagsReturns a list of strings for a given slot flag.
parse_zoneReturn a string for the specified body zone. Should be used for parsing non-instantiated bodyparts, otherwise use /obj/item/bodypart/var/plaintext_zone
pathfinding_finishedUses funny pass by reference bullshit to take the path created by pathfinding, and insert it into a return list +We'll be able to use this return list to tell a sleeping proc to continue execution
peekReturns the top (last) element from the list, does not remove it from the list. Stack functionality.
pick_closest_pathReturns a chosen path that is the closest to a list of matches
pick_n_takePick a random element from the list and remove it from the list.
pick_weightPicks a random element from a list based on a weighting system. +For example, given the following list: +A = 6, B = 3, C = 1, D = 0 +A would have a 60% chance of being picked, +B would have a 30% chance of being picked, +C would have a 10% chance of being picked, +and D would have a 0% chance of being picked. +You should only pass integers in.
piglatin_sentenceruns piglatin_word() proc on each word in a sentence. preserves caps and punctuation
piglatin_wordtakes "word", and returns it piglatinized.
play_fov_effectPlays a visual effect representing a sound cue for people with vision obstructed by FOV or blindness
playsoundplaysound is a proc used to play a 3D sound in a specific range. This uses SOUND_RANGE + extra_range to determine that.
podspawnOne proc for easy spawning of pods in the code to drop off items before whizzling (please don't proc call this in game, it will destroy you)
poll_candidatesCalls the show_candidate_poll_window() to all eligible ghosts
poll_candidates_for_mobReturns a list of ghosts that are eligible to take over and wish to be considered for a mob.
poll_candidates_for_mobsReturns a list of ghosts that are eligible to take over and wish to be considered for a mob.
poll_ghost_candidatesWrapper to send all ghosts the poll to ask them if they want to be considered for a mob.
popReturns the top(last) element from the list and removes it from the list (typical stack function)
populate_editable_sign_typesThis proc populates GLOBAL_LIST_EMPTY(editable_sign_types)
power_failDisable power in the station APCs
previous_list_itemReturns the previous item in a list
priority_announceCreate an announcement to send globally or to a specified list of players.
process_teleport_locsGenerate a list of turfs you can teleport to from the areas list
propagate_networkremove the old powernet and replace it with a new one throughout the network.
pull_apart_damage_statesThis exists purely to import sprites from a codebase like Citadel RP.
pump_gasobj/machinery/atmospherics/var/debug = 0
qdelShould be treated as a replacement for the 'del' keyword.
radiation_pulseSends out a pulse of radiation, eminating from the source. +Radiation is performed by collecting all radiatables within the max range (0 means source only, 1 means adjacent, etc), +then makes their way towards them. A number, starting at 1, is multiplied +by the insulation amounts of whatever is in the way (for example, walls lowering it down). +If this number hits equal or below the threshold, then the target can no longer be irradiated. +If the number is above the threshold, then the chance is the chance that the target will be irradiated. +As a consumer, this means that max_range going up usually means you want to lower the threshold too, +as well as the other way around. +If max_range is high, but threshold is too high, then it usually won't reach the source at the max range in time. +If max_range is low, but threshold is too low, then it basically guarantees everyone nearby, even if there's walls +and such in the way, can be irradiated. +You can also pass in a minimum exposure time. If this is set, then this radiation pulse +will not irradiate the source unless they have been around any radioactive source for that +period of time.
ran_zoneReturn the zone or randomly, another valid zone
random_capital_letterhandles thousands
random_colourReturns a random color picked from a list, has 2 modes (0 and 1), mode 1 doesn't pick white, black or gray
random_fish_typeReturns random fish, using random_case_rarity probabilities.
random_nukecodeReturns a string for a random nuke code
random_stepForces the atom to take a step in a random direction
rcd_result_with_memoryProduces a new RCD result from the given one if it can be calculated that +the RCD should speed up with the remembered form.
rcd_scanGlobal proc that generates RCD hologram in a range.
recover_all_SS_and_recreate_masterRecreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars
recursive_list_resolveReturns a list with all weakrefs resolved
recursive_list_resolve_elementHelper for recursive_list_resolve()
recursive_loc_checkRecursively checks if an item is inside a given type, even through layers of storage. Returns the atom if it finds it.
recursive_organ_check
refify_listReturns a copy of the list where any element that is a datum or the world is converted into a ref
reject_bad_chattextThe procedure to check the text of the entered text on ntnrc_client.dm
reject_bad_nameFilters out undesirable characters from names.
reject_bad_textReturns the text if properly formatted, or null else.
remove_all_tagsRemoves all tags in a string of text. +May result in some formatting errors, floating whitespace. Not perfect.
remove_clunky_diagonalsProcesses a path (list of turfs), removes any diagonal moves that would lead to a weird bump
remove_diagonalsProcesses a path (list of turfs), removes any diagonal moves
remove_image_from_clientRemoves an image from a client's .images. Useful as a callback.
remove_images_from_clientsLike remove_image_from_client, but will remove the image from a list of clients
remove_non_canon_overlaysRecursively removes overlays that do not render to the game plane from an appearance.
remove_verbhandles removing verb and sending it to browser to update, use this for removing verbs
reset_cooldownProc used by stoppable timers to end a cooldown before the time has ran out.
resolve_ai_icon_syncA form of resolve_ai_icon that is guaranteed to never sleep. +Not always accurate, but always synchronous.
retrieve_ban_cacheGets the ban cache of the passed in client +If the cache has not been generated, we start off a query +If we still have a query going for this request, we just sleep until it's recieved back
return_generator_argsreturns the arguments given to a generator and manually extracts them from the internal byond object +returns:
return_unused_frequencyreturns a random unused frequency between MIN_FREE_FREQ & MAX_FREE_FREQ if free = TRUE, and MIN_FREQ & MAX_FREQ if FALSE
reverse_rangereplaces reverseList ~Carnie
rgb2hsvConverts an rgb color into a list storing hsva +Exists because it's useful to have a guarenteed alpha value
rustg_get_versionGets the version of rust_g
rustg_unix_timestampReturns the timestamp as a string
sanitizeRuns byond's html encoding sanitization proc, after replacing new-lines and tabs for the # character.
sanitize_colorMakes sure the input color is text with a # at the start followed by 6 hexadecimal characters. Examples: "#ff1234", "#A38321", COLOR_GREEN_GRAY
sanitize_css_class_nameRemoves all non-alphanumerics from the text, keep in mind this can lead to id conflicts
sanitize_filepathSanitizes the name of each node in the path.
sanitize_frequencyEnsure the frequency is within bounds of what it should be sending/receiving at
sanitize_namereturns nothing with an alert instead of the message if it contains something in the ic filter, and sanitizes normally if the name is fine. It returns nothing so it backs out of the input the same way as if you had entered nothing.
scramble_message_replace_charsSlightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML!
scramble_textScramble a string up. +intensity = number of times we recursively call ourselves to scramble.
screen_loc_to_offsetTakes a screen loc string in the format +"+-left-offset:+-pixel,+-bottom-offset:+-pixel" +Where the :pixel is optional, and returns +A list in the format (x_offset, y_offset) +We require context to get info out of screen locs that contain relative info, so NORTH, SOUTH, etc
screen_textReturn an object with a new maptext (not currently in use)
seedifyFinds and extracts seeds from an object
send2adminchatSends a message to TGS admin chat channels.
send2chatSends a message to TGS chat channels.
send2otherserverSends a message to a set of cross-communications-enabled servers using world topic calls
send_tip_of_the_roundSends a round tip to a target. If selected_tip is null, a random tip will be sent instead (5% chance of it being silly). +Tips that starts with the @ character won't be html encoded. That's necessary for any tip containing markup tags, +just make sure they don't also have html characters like <, > and ' which will be garbled.
send_to_playing_playerssends a whatever to all playing players; use instead of to_chat(world, where needed)
serialize_antag_nameSerializes an antag name to be used for preferences UI
setup_mod_themesGlobal proc that sets up all MOD themes as singletons in a list and returns it.
shake_cameraShake the camera of the person viewing the mob SO REAL! +Takes the mob to shake, the time span to shake for, and the amount of tiles we're allowed to shake by in tiles +Duration isn't taken as a strict limit, since we don't trust our coders to not make things feel shitty. So it's more like a soft cap.
should_have_space_before_emoteReturns a boolean based on whether or not the string contains a comma or an apostrophe, +to be used for emotes to decide whether or not to have a space between the name of the user +and the emote.
show_candidate_poll_windowShow the poll window to the candidate mobs
shuffleRandomize: Return the list in a random order
shuffle_inplacesame as shuffle, but returns nothing and acts on list in place
siunitFormats a number to human readable form with the appropriate SI unit.
siunit_pressure
slapcraft_examine_hints_for_typeGets examine hints for this item type for slap crafting.
slapcraft_recipes_for_typeGets cached recipes for a type. This is a method of optimizating recipe lookup. Ugly but gets the job done. +also WARNING: This will make it so all recipes whose first step is not type checked will not work, which all recipes that I can think of will be. +If you wish to remove this and GLOB.slapcraft_firststep_recipe_cache should this cause issues, replace the return with GLOB.slapcraft_recipes
sort_keyfor sorting clients or mobs by ckey
sort_listsort any value in a list
sort_mobsOrders mobs by type then by name. Accepts optional arg to sort a custom list, otherwise copies GLOB.mob_list.
sort_namesuses sort_list() but uses the var's name specifically. This should probably be using mergeAtom() instead
sort_recordSpecifically for record datums in a list.
spawn_express_podsSpawns express pod(s) at a given location. Landing_loc can be a list in the case of an emagged console.
special_list_filterReturns a list with items filtered from a list that can call callback
spiral_rangesimilar function to range(), but with no limitations on the distance; will search spiralling outwards from the center
spiral_range_turfssimilar function to RANGE_TURFS(), but will search spiralling outwards from the center (like the above, but only turfs)
spread_reagentsExposes all accessible atoms within some distance of an epicenter to some reagents. +Does not clear the source reagent holder; that must be done manually if it is desired.
stack_tracegives us the stack trace from CRASH() without ending the current proc.
starsConvert random parts of a passed in message to stars
start_unequip_mobA utility function for /datum/strippable_items to start unequipping an item from a mob.
station_timeGenerate a game-world time value in deciseconds.
stoplagreturns the number of ticks slept
string_listCaches lists with non-numeric stringify-able values (text or typepath).
stringmergeThis proc replaces all instances of the "replace" character in "text" with the character in the same position within the "compare" string +"FFFFFFFFFFFFFFFFF***" and "FFFFFFFFFFFFFFF*****************FFFFFFFFFFFFFFFFFF" +is "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
strip_htmlRuns STRIP_HTML_SIMPLE and sanitize.
stripped_inputUsed to get a properly sanitized input, of max_length +no_trim is self explanatory but it prevents the input from being trimed if you intend to parse newlines or whitespace.
swap_rangeMove elements from [from_index, from_index+len) to [to_index, to_index+len) +Move any elements being overwritten by the move to the now-empty elements, preserving order +Note: if the two ranges overlap, only the destination order will be preserved fully, since some elements will be within both ranges ~Carnie
syndies_escapedReturns whether or not syndicate operatives escaped.
test_whiteship_sizesHelper proc that tests to ensure all whiteship templates can spawn at their docking port, and logs their sizes +This should be a unit test, but too much of our other code breaks during shuttle movement, so not yet, not yet.
text_previewProvides a preview of [string] up to [len - 3], after which it appends "..." if it pasts the length.
tgalertDEPRECATED: USE tgui_alert(...) INSTEAD
tgui_TopicMiddleware for /client/Topic.
tgui_alertCreates a TGUI alert window and returns the user's response.
tgui_alert_asyncCreates an asynchronous TGUI alert window with an associated callback.
tgui_input_listCreates a TGUI input list window and returns the user's response.
tgui_input_list_asyncClient does NOT have tgui_input on: Returns regular input +Creates an asynchronous TGUI input list window with an associated callback.
tgui_input_numberCreates a TGUI window with a number input. Returns the user's response as num | null.
tgui_input_number_asyncCreates an asynchronous TGUI number input window with an associated callback.
tgui_input_textCreates a TGUI window with a text input. Returns the user's response.
tgui_input_text_asyncCreates an asynchronous TGUI text input window with an associated callback.
time_to_twelve_hourConverts a time expressed in deciseconds (like world.time) to the 12-hour time format. +the format arg is the format passed down to time2text() (e.g. "hh:mm" is hours and minutes but not seconds).
timeleftGet the remaining deciseconds on a timer
to_chatSends the message to the recipient (target).
to_chat_immediateCircumvents the message queue and sends the message +to the recipient (target) as soon as possible.
tool_behaviour_namereturns an ic name of the tool needed +Arguments:
truncateTruncate a string to the given length
try_move_adjacentTries to move an atom to an adjacent turf, return TRUE if successful
typecache_filter_listreturns a new list with only atoms that are in the typecache list
typecache_filter_list_reversereturn a new list with atoms that are not in the typecache list
typecache_filter_multi_list_exclusionsimilar to typecache_filter_list and typecache_filter_list_reverse but it supports an inclusion list and and exclusion list
typecacheofLike typesof() or subtypesof(), but returns a typecache instead of a list.
ui_status_only_livingReturns a UI status such that the dead will be able to watch, but not interact.
ui_status_silicon_has_accessReturns a UI status such that silicons will be able to interact with whatever +they would have access to if this was a machine. For example, AIs can +interact if there's cameras with wireless control is enabled.
ui_status_user_has_free_handsReturns a UI status such that those without blocked hands will be able to interact, +but everyone else can only watch.
ui_status_user_is_abledReturns a UI status such that users with debilitating conditions, such as +being dead or not having power for silicons, will not be able to interact. +Being dead will disable UI, being incapacitated will continue updating it, +and anything else will make it interactive.
ui_status_user_is_adjacentReturns a UI status such that users adjacent to source will be able to interact, +far away users will be able to see, and anyone farther won't see anything. +Dead users will receive updates no matter what, though you likely want to add +a [ui_status_only_living] check for finer observer interactions.
ui_status_user_is_advanced_tool_userReturns a UI status such that advanced tool users will be able to interact, +but everyone else can only watch.
ui_status_user_is_conscious_and_lying_downReturns UI_INTERACTIVE if the user is conscious and lying down. +Returns UI_UPDATE otherwise.
ui_status_user_strictly_adjacentReturn UI_INTERACTIVE if the user is strictly adjacent to the target atom, whether they can see it or not. +Return UI_CLOSE otherwise.
unformat_frequencyOpposite of format, returns as a number
unique_listReturn a list with no duplicate entries
unique_list_in_placesame as unique_list, but returns nothing and acts on list in place (also handles associated values properly)
urangeultra range (no limitations on distance, faster than range for distances > 8); including areas drastically decreases performance
url2htmlloaderReturn html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.
valid_window_locationChecks whether the target turf is in a valid state to accept a directional window +or other directional pseudo-dense object such as railings.
view_to_pixelsTakes a string or num view, and converts it to pixel width/height in a list(pixel_width, pixel_height)
voice_of_godVOICE OF GOD
weakrefify_listReturns a copy of the list where any element that is a datum is converted into a weakref
weekday_to_isoReturns a string day as an integer in ISO format 1 (Monday) - 7 (Sunday)
weight_class_to_textReturns a string based on the weight class define used as argument
window_flashFlash the window of a player
zebra_typecacheofLike typesof() or subtypesof(), but returns a typecache instead of a list. +This time it also uses the associated values given by the input list for the values of the subtypes.
zstepA step() variant that allows passing z_movement_flags. Normal step() is fine if you do not need special movement flags.
+

Var Details

Debugger + + + + +

+

StonedMC

+

Designed to properly split up a given tick among subsystems +Note: if you read parts of this code and think "why is it doing it that way" +Odds are, there is a reason

Failsafe + + + + +

+

Failsafe

+

Pretty much pokes the MC to make sure it's still alive.

SSacid + + + + +

+

The subsystem used to tick /datum/component/acid instances.

SSai_behaviors + + + + +

+

The subsystem used to tick /datum/ai_behavior instances. Handling the individual actions an AI can take like punching someone in the fucking NUTS

SSai_controllers + + + + +

+

The subsystem used to tick /datum/ai_controllers instances. Handling the re-checking of plans.

SSai_movement + + + + +

+

The subsystem used to tick /datum/ai_movement instances. Handling the movement of individual AI instances

SSambience + + + + +

+

The subsystem used to play ambience to users every now and then, makes them real excited.

SSasset_loading + + + + +

+

Allows us to lazyload asset datums +Anything inserted here will fully load if directly gotten +So this just serves to remove the requirement to load assets fully during init

SSaura_healing + + + + +

+

The subsystem used to tick /datum/component/aura_healing instances.

SSban_cache + + + + +

+

Subsystem that batches a ban cache list for clients on initialize +This way we don't need to do ban checks in series later in the code

SSclock_component + + + + +

+

The subsystem used to tick /datum/component/acid instances.

SSearly_assets + + + + +

+

Initializes any assets that need to be loaded ASAP. +This houses preference menu assets, since they can be loaded at any time, +most dangerously before the atoms SS initializes. +Thus, we want it to fail consistently in CI as if it would've if a player +opened it up early.

SSeigenstates + + + + +

+

Subsystem used to teleport people to a linked web of itterative entries. If one entry is deleted, the 2 around it will forge a link instead.

SSfluids + + + + +

+ Fluid Subsystem +

A subsystem that processes the propagation and effects of a particular fluid.

+

Both fluid spread and effect processing are handled through a carousel system. +Fluids being spread and fluids being processed are organized into buckets. +Each fresh (non-resumed) fire one bucket of each is selected to be processed. +These selected buckets are then fully processed. +The next fresh fire selects the next bucket in each set for processing. +If this would walk off the end of a carousel list we wrap back to the first element. +This effectively makes each set a circular list, hence a carousel.

SSfoam + + + + +

+

The subsystem responsible for processing foam propagation and effects.

SSid_access + + + + +

+

Non-processing subsystem that holds various procs and data structures to manage ID cards, trims and access.

SSinit_profiler + + + + +

+

Subsystem exists so we can separately log init time costs from the costs of general operation +Hopefully this makes sorting out what causes problems when easier

SSlag_switch + + + + +

+

The subsystem for controlling drastic performance enhancements aimed at reducing server load for a smoother albeit slightly duller gaming experience

SSlibrary + + + + +

+

Manages library data, loading bookselves, etc

SSmouse_entered + + + + +

+

Defers MouseEntered inputs to only apply to the most recently hovered over atom in the tick

SSmove_manager + + + + +

+

Acts as a namespace for movement packet/type related procs

+

Exists to provide an in code implementation of movement looping +Replaces things like walk() or walk_to(), among others

+

Because we're doing things in engine, we have a lot more control over how different operations are performed +We also get more say in when things happen, so we can subject movements to the whims of the master controller +Rather then using a fuck ton of cpu just moving mobs or meteors

+

The goal is to keep the loops themselves reasonably barebone, and implement more advanced behavior and control via the signals

+

This may be bypassed in cases where snowflakes are nessesary, or where performance is important. S not a hard and fast thing

+

Every atom can have a movement packet, which contains information and behavior about currently active loops, and queuing info +Loops control how movement actually happens. So there's a "move in this direction" loop, a "move randomly" loop

+

You can find the logic for this control in this file

+

Specifics of how different loops operate can be found in the movement_types.dm file, alongside the add to loop helper procs that use them

SSpai + + + + +

+

We get our awareness updated by the important recursive contents stuff, here we remove our membership +We get our awareness updated by the important recursive contents stuff, here we remove our membership

SSpathfinder + + + + +

+

Queues and manages JPS pathfinding steps

SSpoints_of_interest + + + + +

+

Subsystem for managing all POIs.

SSsinguloprocess + + + + +

+

Very rare subsystem, provides any active singularities with the timings and seclusion they need to succeed

SSsmoke + + + + +

+

The subsystem responsible for processing smoke propagation and effects.

SSspatial_grid + + + + +

+ Spatial Grid +

a gamewide grid of spatial_grid_cell datums, each "covering" SPATIAL_GRID_CELLSIZE ^ 2 turfs. +each spatial_grid_cell datum stores information about what is inside its covered area, so that searches through that area dont have to literally search +through all turfs themselves to know what is within it since view() calls are expensive, and so is iterating through stuff you dont want. +this allows you to only go through lists of what you want very cheaply.

+

you can also register to objects entering and leaving a spatial cell, this allows you to do things like stay idle until a player enters, so you wont +have to use expensive view() calls or iteratite over the global list of players and call get_dist() on every one. which is fineish for a few things, but is +k * n operations for k objects iterating through n players.

+

currently this system is only designed for searching for relatively uncommon things, small subsets of /atom/movable. +dont add stupid shit to the cells please, keep the information that the cells store to things that need to be searched for often

+

The system currently implements two different "classes" of spatial type

+

The first exists to support important_recursive_contents. +So if a client is inside a locker and the locker crosses a boundary, you'll still get a signal from the spatial grid. +These types are SPATIAL_GRID_CONTENTS_TYPE_HEARING and SPATIAL_GRID_CONTENTS_TYPE_CLIENTS

+

The second pattern is more paired down, and supports more wide use. +Rather then the object and anything the object is in being sensitive, it's limited to just the object itself +Currently only SPATIAL_GRID_CONTENTS_TYPE_ATMOS uses this pattern. This is because it's far more common, and so worth optimizing

SSspeech_controller + + + + +

+

the next unallocated /mob/oranges_ear that we try to allocate to assigned_atom's turf +the next atom in atoms_that_need_ears an ear assigned to it +the turf loc of the current assigned_atom. turfs are used to track oranges_ears already assigned to one location so we dont allocate more than one +because allocating more than one oranges_ear to a given loc wastes view iterations +verb_manager subsystem just for handling say's

SStgui + + + + +

+

tgui subsystem

+

Contains all tgui state and subsystem code.

SStimer + + + + +

+ Timer Subsystem +

Handles creation, callbacks, and destruction of timed events.

+

It is important to understand the buckets used in the timer subsystem are just a series of doubly-linked +lists. The object at a given index in bucket_list is a /datum/timedevent, the head of a list, which has prev +and next references for the respective elements in that bucket's list.

SSverb_manager + + + + +

+

SSverb_manager, a subsystem that runs every tick and runs through its entire queue without yielding like SSinput. +this exists because of how the byond tick works and where user inputted verbs are put within it.

+

see TICK_ORDER.md for more info on how the byond tick is structured.

+

The way the MC allots its time is via TICK_LIMIT_RUNNING, it simply subtracts the cost of SendMaps (MAPTICK_LAST_INTERNAL_TICK_USAGE) +plus TICK_BYOND_RESERVE from the tick and uses up to that amount of time (minus the percentage of the tick used by the time it executes subsystems) +on subsystems running cool things like atmospherics or Life or SSInput or whatever.

+

Without this subsystem, verbs are likely to cause overtime if the MC uses all of the time it has alloted for itself in the tick, and SendMaps +uses as much as its expected to, and an expensive verb ends up executing that tick. This is because the MC is completely blind to the cost of +verbs, it can't account for it at all. The only chance for verbs to not cause overtime in a tick where the MC used as much of the tick +as it alloted itself and where SendMaps costed as much as it was expected to is if the verb(s) take less than TICK_BYOND_RESERVE percent of +the tick, which isnt much. Not to mention if SendMaps takes more than 30% of the tick and the MC forces itself to take at least 70% of the +normal tick duration which causes ticks to naturally overrun even in the absence of verbs.

+

With this subsystem, the MC can account for the cost of verbs and thus stop major overruns of ticks. This means that the most important subsystems +like SSinput can start at the same time they were supposed to, leading to a smoother experience for the player since ticks arent riddled with +minor hangs over and over again.

SSwardrobe + + + + +

+

This subsystem strives to make loading large amounts of select objects as smooth at execution as possible +It preloads a set of types to store, and caches them until requested +Doesn't catch everything mind, this is intentional. There's many types that expect to either +A: Not sit in a list for 2 hours, or B: have extra context passed into them, or for their parent to be their location +You should absolutely not spam this system, it will break things in new and wonderful ways +S close enough for government work though. +Fuck you goonstation

SSwiremod_composite + + + + +

+

This subsystem is to handle creating and storing +composite templates that are used to create composite datatypes +for integrated circuits

+

See: https://en.wikipedia.org/wiki/Composite_data_type

atlas + + + + +

+

A massive nested associative list that tracks type instances, set by the below macros.

atmospherics + + + + +

+

Contains all atmospheric machinery, only used if DEBUG_MAPS is defined.

cable_list + + + + +

+

Is a real global for speed

csrfz_check + + + + +

+

"Can safely remove from zone"

gzn_check + + + + +

+

"Get zone neighbors"

ipc_chassis_options + + + + +

+

Global list of player-friendly name to iconstate prefix.

neighbor_typecache + + + + +

+

Typecache of all objects that we seek out to apply a neighbor stripe overlay

Proc Details

Atan2 +

+

The 2-argument arctangent of x and y

GUID +

+

returns a GUID like identifier (using a mostly made up record format) +guids are not on their own suitable for access or security tokens, as most of their bits are predictable. +(But may make a nice salt to one)

GenerateRoundAsteroid +

+

Generates a circular asteroid.

GetBestWeapon +

+

Returns either the best weapon from the given choices or null if held weapons are better

Gibberish +

+

Turn text into complete gibberish!

+

text is the inputted message, replace_characters will cause original letters to be replaced and chance are the odds that a character gets modified.

HandleUserlessProcCall +

+

Handles a userless proccall, used by circuits.

+

Arguments:

+

HandleUserlessSDQL +

+

Handles a userless sdql, used by circuits and tgs.

+

Arguments:

+

HeapPathWeightCompare +

+

TODO: Macro this to reduce proc overhead

Interpolate +

+

Returns a linear interpolation from a to b according to weight. weight 0 is a, weight 1 is b, weight 0.5 is half-way between the two.

IsEdible +

+

returns if something can be consumed, drink or food

Mean +

+

Returns the mean of either a list or variadic arguments: Mean(list(1, 2, 3)) = 2 , Mean(1, 2, 3) = 2

REF +

+

\ref behaviour got changed in 512 so this is necesary to replicate old behaviour. +If it ever becomes necesary to get a more performant REF(), this lies here in wait +#define REF(thing) (thing && istype(thing, /datum) && (thing:datum_flags & DF_USE_TAG) && thing:tag ? "[thing:tag]" : "\ref[thing]")

ReserveTurfsForAsteroidGeneration +

+

Sanitizes a block of turfs to prevent writing over undesired locations

RoundDiagBar +

+

Diagnostic HUDs!

VecMag +

+

Returns the euclidian magnitude of a vector of either a list or variadic arguments: VecMag(list(3, 4)) = 5 , VecMag(3, 4) = 5

VecSquareMag +

+

Returns the euclidian square magnitude of a vector of either a list or variadic arguments: VecSquareMag(list(1, 2, 3)) = 14 , VecSquareMag(1, 2, 3) = 14

WEAKREF +

+

Creates a weakref to the given input. +See /datum/weakref's documentation for more information.

WrapAdminProcCall +

+

Wrapper for proccalls where the datum is flagged as vareditted

___TraitAdd +

+

DO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.

___TraitRemove +

+

DO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.

______qdel_list_wrapper +

+

the underscores are to encourage people not to use this directly.

_addtimer +

+

Create a new timer and insert it in the queue. +You should not call this directly, and should instead use the addtimer macro, which includes source information.

+

Arguments:

+

_alert_drones +

+

Broadcast a message to all drones in a faction

+

Arguments:

+

_pick_list +

+

Allow me to explain +for some reason, if pick() is passed arglist(args) directly and args contains only one list +it considers it to be a list of lists +this means something like _pick(list) would fail +need to do this instead

+

I hate this timeline

_queue_verb +

+

queue a callback for the given verb/verblike proc and any given arguments to the specified verb subsystem, so that they process in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB() and co.

+

returns TRUE if the queuing was successful, FALSE otherwise.

aas_mass_pda_message +

+

Get an announcement system and call mass_pda_message()

aas_pda_message +

+

Get an announcement system and call pda_message()

aas_pda_message_department +

+

Send an ASS pda message to an entire department

aas_pda_message_name +

+

Send an ASS pda message to a given name

above_neck +

+

Would this zone be above the neck

actionspeed_data_null_check +

+

Checks if a action speed modifier is valid and not missing any data

active_free_borgs +

+

Silicon Mob Procs

add_keybinding +

+

Adds an instanced keybinding to the global tracker

add_memory_in_range +

+

Adds a memory to people that can see this happening, only use this for impactful or rare events to reduce overhead.

add_verb +

+

handles adding verbs and updating the stat panel browser

+

pass the verb type path to this instead of adding it directly to verbs so the statpanel can update +Arguments:

+

admin_pm_href +

+

Returns an adminpm link with the inserted HTML.

adminscrub +

+

Runs STRIP_HTML_SIMPLE and byond's sanitization proc.

alone_in_area +

+

Checks if the mob provided (must_be_alone) is alone in an area

announce_arrival +

+

Send a message in common radio when a player arrives

anyprob +

+

chances are 1:value. anyprob(1) will always return true

assert_sorted +

+

Runtimes if the passed in list is not sorted

assoc_to_keys +

+

Turns an associative list into a flat list of keys

atmos_scan +

+

Outputs a message to the user describing the target's gasmixes.

+

Gets called by analyzer_act, which in turn is called by tool_act. +Also used in other chat-based gas scans.

avoid_assoc_duplicate_keys +

+

takes an input_key, as text, and the list of keys already used, outputting a replacement key in the format of "[input_key] ([number_of_duplicates])" if it finds a duplicate +use this for lists of things that might have the same name, like mobs or objects, that you plan on giving to a player as input

baseturfs_string_list +

+

A wrapper for baseturf string lists, to offer support of non list values, and a stack_trace if we have major issues

begin_the_end +

+

Begins the process of ending the round via cult narsie win +Consists of later called procs (in order of called):

+

bit_count +

+

counts the number of bits in Byond's 16-bit width field, in constant time and memory!

bitfield_to_list +

+

Converts a bitfield to a list of numbers (or words if a wordlist is provided)

body_zone2cover_flags +

+

For finding out what body parts a body zone covers, the inverse of the below basically

build_exploration_site_ui_data +

+

Helper proc for exploration site listings in ui.

build_medicine_reagents +

+

Just grab every craftable medicine you can think off

calculate_projectile_angle_and_pixel_offsets +

+

Calculates the pixel offsets and angle that a projectile should be launched at.

+

Arguments:

+

call_emergency_meeting +

+

If the announcer overrides alert messages, use that message. +Summon the crew for an emergency meeting

+

Teleports the crew to a specified area, and tells everyone (via an announcement) who called the meeting. Should only be used during april fools! +Arguments:

+

callback_select +

+

Runs a list of callbacks asyncronously, returning only when all have finished

+

Callbacks can be repeated, to call it multiple times

+

Arguments:

+

can_see +

+

Step-towards method of determining whether one atom can see another. Similar to viewers() +note: this is a line of sight algorithm, view() does not do any sort of raycasting and cannot be emulated by it accurately

center_image +

+

Center's an image. +Requires: +The Image +The x dimension of the icon file used in the image +The y dimension of the icon file used in the image +eg: center_image(image_to_center, 32,32) +eg2: center_image(image_to_center, 96,96)

chatter_speak +

+

We're going to take a list that dictates the pace of speech, and a sentence fragment to say +Then say() that fragment at that pace +You can pass in a starting delay to wait before speaking the next sound

cheap_hypotenuse +

+

Calculate the hypotenuse cheaply (this should be in maths.dm)

+

Checks a given message to see if any of the words are something we want to treat specially, as detailed below.

+

There are 3 cases where a word is something we want to act on

+
    +
  1. Admin pings, like @adminckey. Pings the admin in question, text is not clickable
  2. +
  3. Datum refs, like @0x2001169 or @mob_23. Clicking on the link opens up the VV for that datum
  4. +
  5. Ticket refs, like #3. Displays the status and ahelper in the link, clicking on it brings up the ticket panel for it. +Returns a list being used as a tuple. Index ASAY_LINK_NEW_MESSAGE_INDEX contains the new message text (with clickable links and such) +while index ASAY_LINK_PINGED_ADMINS_INDEX contains a list of pinged admin clients, if there are any.
  6. +
+

Arguments:

+

check_target_facings +

+

Returns the direction that the initiator and the target are facing

check_wall_item +

+

Check if there is already a wall item on the turf loc +floor_loc = floor tile in front of the wall +dir_toward_wall = direction from the floor tile in front of the wall towards the wall +check_external = truthy if we should be checking against items coming out of the wall, rather than visually on top of the wall.

chem_splash +

+

The basic chemical bomb proc. +Combines a set of reagent holders into one holder and reacts it. +If there are any reagents left over it spreads them across the surrounding environment. +The maximum volume of the holder is temporarily adjusted to allow for reactions which increase total volume to work at full effectiveness. +The maximum volume of the holder is then reset to its original value.

+

Arguments:

+

circle_range +

+

Returns all atoms present in a circle around the center

circle_range_turfs +

+

Returns a list of turfs around a center based on RANGE_TURFS()

circle_view +

+

Returns all atoms present in a circle around the center but uses view() instead of range() (Currently not used)

circle_view_turfs +

+

Returns a list of turfs around a center based on view()

cmp_bodypart_by_body_part_asc +

+

Orders bodyparts by their body_part value, ascending.

cmp_bodyparts_display_order +

+

Orders bodyparts by how they should be shown to players in a UI

cmp_codex_name +

+

Orders codex entries by name alphabetically

cmp_crafting_req_priority +

+

Sorts crafting recipe requirements before the crafting recipe is inserted into GLOB.crafting_recipes

+

Prioritises /datum/reagent to ensure reagent requirements are always processed first when crafting. +This prevents any reagent_containers from being consumed before the reagents they contain, which can +lead to runtimes and item duplication when it happens.

cmp_design_name +

+

Orders designs by name

cmp_fusion_reaction_des +

+

Orders R-UST fusion by priority

cmp_heretic_knowledge +

+

Orders heretic knowledge by priority

cmp_list_length +

+

Orders lists by the size of lists in their contents

cmp_port_order_asc +

+

Orders by integrated circuit weight

cmp_pref_modules +

+

Sort modules by priority

+

Orders by uplink category weight

cmp_zm_render_order +

+

Sort by plane, then by layer. Approximately BYOND rendering order.

color_list_to_string +

+

Turns a list such as ("#FFFFFF", #00FFFF) into a color string of "#FFFFFF#00FFFF"

color_string_to_list +

+

Turns a color string such as "#FFFFFF#00FFFF" into a list of ("#FFFFFF", #00FFFF)

color_to_full_rgba_matrix +

+

Converts RGB shorthands into RGBA matrices complete of constants rows (ergo a 20 keys list in byond). +if return_identity_on_fail is true, stack_trace is called instead of CRASH, and an identity is returned.

colorize_string +

+

Gets a color for a name, will return the same color for a given string consistently within a round.atom

+

Note that this proc aims to produce pastel-ish colors using the HSL colorspace. These seem to be favorable for displaying on the map.

+

Arguments:

+

compare_list +

+

compare two lists, returns TRUE if they are the same

considered_afk +

+

Checks if a player is considered AFK

considered_alive +

+

Returns true if the mob that a player is controlling is alive

considered_exiled +

+

Exiled check

+

Checks if the current body of the mind has an exile implant and is currently in +an away mission. Returns FALSE if any of those conditions aren't met.

construct_phobia_regex +

+

Creates a regular expression to match against the given phobia +Capture group 2 = the scary word +Capture group 3 = an optional suffix on the scary word

convert_integer_to_words +

+

Takes an integer up to 999,999,999 and returns it in words. Works with negative numbers and 0.

+

Arguments:

+

convert_ph_to_readable_color +

+

Converts the pH into a tgui readable color - i.e. white and black text is readable over it. This is NOT the colourwheel for pHes however.

count_by_type +

+

return the amount of items of the same type inside a list

create_mafia_game +

+

Creates the global datum for playing mafia games, destroys the last if that's required and returns the new.

create_strippable_list +

+

Creates an assoc list of keys to /datum/strippable_item

cult_ending_helper +

+

Selects cinematic to play as part of the cult end depending on the outcome then ends the round afterward +called either when narsie eats everyone, or when [/proc/begin_the_end()] reaches it's conclusion

cut_relative_direction +

+

Takes a screen_loc string and cut out any directions like NORTH or SOUTH

debug_variable +

+

Get displayed variable in VV variable list

deep_compare_list +

+

Compares 2 lists, returns TRUE if they are the same

deep_copy_list +

+

Copies a list, and all lists inside it recusively +Does not copy any other reference type

default_ui_state +

+

The sane defaults for a UI such as a computer or a machine.

delete_all_SS_and_recreate_master +

+

Delete all existing SS to basically start over

deltimer +

+

Delete a timer

+

Arguments:

+

deprecise_zone +

+

Takes a zone and returns it's "parent" zone, if it has one.

dice_outcome_map +

+

Certified LummoxJR code, this returns an array which is a map of outcomes to roll [index] value.

dice_probability +

+

Returns a number between 0 and 100 to roll the desired value when rolling the given dice.

display_energy +

+

Format an energy value measured in Power Cell units.

display_joules +

+

Format an energy value in J, kJ, MJ, or GJ. 1W = 1J/s.

display_power +

+

Format a power value in W, kW, MW, or GW.

do_after +

+

Timed action involving one mob user. Target is optional, defaulting to user.

+

Checks that user does not move, change hands, get stunned, etc. for the +given time. Returns TRUE on success or FALSE on failure. +Interaction_key is the assoc key under which the do_after is capped, with max_interact_count being the cap. Interaction key will default to target if not set.

do_after_mob +

+

Timed action involving at least one mob user and a list of targets. interaction_key is the assoc key under which the do_after is capped under, and the max interaction count is how many of this interaction you can do at once.

do_chem_smoke +

+

Helper to quickly create a cloud of reagent smoke

do_smoke +

+

A helper proc used to spawn small puffs of smoke.

+

Arguments:

+

dview +

+

Version of view() which ignores darkness, because BYOND doesn't have it (I actually suggested it but it was tagged redundant, BUT HEARERS IS A T- /rant).

dyn_explosion +

+

Using default dyn_ex scale:

+

100 explosion power is a (5, 10, 20) explosion. +75 explosion power is a (4, 8, 17) explosion. +50 explosion power is a (3, 7, 14) explosion. +25 explosion power is a (2, 5, 10) explosion. +10 explosion power is a (1, 3, 6) explosion. +5 explosion power is a (0, 1, 3) explosion. +1 explosion power is a (0, 0, 1) explosion.

+

Arguments:

+

ellipsis +

+

Inline script for an animated ellipsis

emissive_appearance +

+

Produces a mutable appearance glued to the EMISSIVE_PLANE dyed to be the EMISSIVE_COLOR.

emissive_blocker +

+

Produces a mutable appearance glued to the EMISSIVE_PLANE dyed to be the EM_BLOCK_COLOR.

encode_text_and_nulls +

+

Returns a copy of a list where text values (except assoc-keys and string representations of lua-only values) are +wrapped in quotes and existing quote marks are escaped, +and nulls are replaced with the string "null"

end_cooldown +

+

Callback called by a timer to end an associative-list-indexed cooldown.

+

Arguments:

+ +

This sends a signal reporting the cooldown end.

english_list +

+

Returns a list in plain english as a string

expand_three_digit_color +

+

Given a 3 character color (no hash), converts it into #RRGGBB (with hash)

expand_weights +

+

Takes a weighted list (see above) and expands it into raw entries +This eats more memory, but saves time when actually picking from it

explosion +

+

Makes a given atom explode.

+

Arguments:

+

filter_gas +

+

Just transfer it, who really cares at a scale this small.

find_obstruction_free_location +

+

Find an obstruction free turf that's within the range of the center. Can also condition on if it is of a certain area type.

find_reagent +

+

Returns reagent datum from typepath

findname +

+

Find if the message has the real name of any user mob in the mob_list

finish_unequip_mob +

+

A utility function for /datum/strippable_items to finish unequipping an item from a mob.

firing_squad +

+

firing_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense

+

Hilariously, if you drag someone away mid smite, the bullets will still chase after them from the original spot, possibly hitting other people. Too funny to fix imo

+

Arguments:

+

first_day_of_month +

+

Returns the first day of the given year and month in number format, from 1 (monday) - 7 (sunday).

flash_color +

+

Flash a color on the client

flatten_list +

+

Flattens a keyed list into a list of it's contents

flick_overlay +

+

Add an image to a list of clients and calls a proc to remove it after a duration

flick_overlay_static +

+

Flickers an overlay on an atom

flick_overlay_view +

+

wrapper for flick_overlay(), flicks to everyone who can see the target atom

flop_animation +

+

This animation should be applied to actual parent atom instead of vc_object.

format_frequency +

+

Format frequency by moving the decimal.

format_text +

+

Properly format a string of text by using replacetext()

gas_mixture_parser +

+

generate_and_hash_rsc_file +

+

generates a filename for a given asset. +like generate_asset_name(), except returns the rsc reference and the rsc file hash as well as the asset name (sans extension) +used so that certain asset files dont have to be hashed twice

generate_asset_name +

+

Generate a filename for this asset +The same asset will always lead to the same asset name +(Generated names do not include file extention.)

generate_autowiki_output +

+

When the AUTOWIKI define is enabled, will generate an output file for tools/autowiki/autowiki.js to consume. +Autowiki code intentionally still exists even without the define, to ensure developers notice +when they break it immediately, rather than until CI or worse, call time. +Returns a string of the autowiki output file

generate_bitfields +

+

Turns /datum/bitfield subtypes into a list for use in debugging

generate_chemwiki_line +

+

Generate the big list of reagent based reactions. +style='background-color:#FFEE88;'|{{anchor|Synthetic-derived growth factor}}Synthetic-derived growth factor▮

generate_cult_rune_types +

+

Returns an associated list of rune types. [rune.cultist_name] = [typepath]

generate_generator_index +

+

Creates generator__id => type map.

generate_icon_alpha_mask +

+

Helper proc to generate a cutout alpha mask out of an icon.

+

Why is it a helper if it's so simple?

+

Because BYOND's documentation is hot garbage and I don't trust anyone to actually +figure this out on their own without sinking countless hours into it. Yes, it's that +simple, now enjoy.

+

But why not use filters?

+

Filters do not allow for masks that are not the exact same on every dir. An example of a +need for that can be found in [/proc/generate_left_leg_mask()].

+

Arguments:

+ +

Returns an /icon that is the alpha mask of the provided icon and icon_state.

generate_items_inside +

+

Creates new items inside an atom based on a list

generate_paperwork +

+

We only send to one fax machine in an area

generate_selectable_species +

+

Generates species available to choose in character setup at roundstart

+

This proc generates which species are available to pick from in character setup. +If there are no available roundstart species, defaults to human.

get +

+

Returns the atom type in the specified loc

getFlatIcon +

+

Only the first argument is required.

get_active_player_count +

+

Get active players who are playing in the round

get_adjacent_areas +

+

Returns a list of all areas that are adjacent to the center atom's area, clear the list of nulls at the end.

get_adjacent_open_areas +

+

Returns a list with all the adjacent areas by getting the adjacent open turfs

get_adjacent_open_turfs +

+

Returns a list with all the adjacent open turfs.

get_airlock_overlay +

+

Overlay cache. Why isn't this just in /obj/machinery/door/airlock? Because its used just a +tiny bit in door_assembly.dm Refactored so you don't have to make a null copy of airlock +to get to the damn thing +Someone, for the love of god, profile this. Is there a reason to cache mutable_appearance +if so, why are we JUST doing the airlocks when we can put this in mutable_appearance.dm for +everything

get_allowed_instrument_ids +

+

Get all non admin_only instruments as a list of text ids.

get_angle +

+

Calculate the angle between two points and the west|east coordinate

get_area_name +

+

Returns the name of the area the atom is in

get_areas_in_range +

+

Returns a list with the names of the areas around a center at a certain distance +Returns the local area if no distance is indicated +Returns an empty list if the center is null

get_atom_on_turf +

+

Returns the top-most atom sitting on the turf. +For example, using this on a disk, which is in a bag, on a mob, +will return the mob because it's on the turf.

+

Arguments

+

get_bbox_of_atoms +

+

Get a bounding box of a list of atoms.

+

Arguments:

+ +

Returns: list(x1, y1, x2, y2)

get_cached_actionspeed_modifier +

+

Grabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

get_cached_movespeed_modifier +

+

Grabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

get_cardinal_dir +

+

Get the cardinal direction between two atoms

get_chem_id +

+

Returns reagent datum from reagent name string

get_closest_atom +

+

Returns the closest atom of a specific type in a list from a source

get_consistent_feature_entry +

+

Takes in an accessory list and returns the first entry from that list, ensuring that we dont return SPRITE_ACCESSORY_NONE in the process.

get_ctf_voting_controller +

+

Returns the existing /datum/ctf_voting_controller for the given ID, or makes one

get_dist_euclidean +

+

Returns the distance between two atoms

get_dist_manhattan +

+

Returns the manhattan distance between two atoms. Returns INFINITY if either are not on a turf, for BYOND get_dist() parity.

get_distribution +

+

This is a pretty complicated algorithm, but it's one I'm rather proud of.

+

This is the function that is responsible for taking the list of preferences, +and spitting out what to put them in.

+

However, it should, wherever possible, prevent solo departments. +That means that if there's one medical officer, and one engineering officer, +that they should be put onto the same department (either medical or engineering).

+

The first step is to get the "distribution". This describes how many officers +should be in each department, no matter what they are. +This is handled in get_distribution. Examples of inputs/outputs are: +get_distribution(1, 4) => [1] +get_distribution(2, 4) => [2] +get_distribution(3, 4) => [3] # If this returned [2, 1], then we'd get a loner. +get_distribution(4, 4) => [2, 2] # We have enough to put into a separate group

+

Once this distribution is received, the next step is to figure out where to put everyone.

+

If all members have no preference, just make one an unused department (from the departments argument). +Then, call ourselves again.

+

Order the groups from most populated to least.

+

If the top group has enough officers who actually want that department, then we give it to them. +If there are any leftovers (for example, if 3 officers want medical, but we only want 2), then we +update those to have no preference instead.

+

If the top group does NOT have enough officers, then we kill the least popular group by setting +them all to have no preference.

+

Anyone in the most popular group will be removed from the list, and the final tally will be updated. +In the case of not having enough officers, this is a no-op, as there won't be any in the most popular group yet.

+

If there are any candidates left, then we call the algorithm again, but for everyone who hasn't been selected yet. +We take the results from that run, and put them in the correct order.

+

As an example, let's assume we have the following preferences: +[engineer, medical, medical, medical, medical, cargo]

+

The distribution of this is [2, 2, 2], meaning there will be 3 departments chosen and they will have 2 each. +We order from most popular to least popular and get:

+ +

We need 2 to fill the first group. There are enough medical staff to do it. Thus, we take the first 2 medical staff +and update the output, making it now: [engineer, medical, medical, ?, ?, cargo].

+

The remaining two want-to-be-medical officers are now updated to act as no preference. We run the algorithm again. +This time, are candidates are [engineer, none, none, cargo]. +The distribution of this is [2, 2]. The frequency is:

+ +

We need 2 to fill the engineering group, but only have one who wants to do it. +We have enough no preferences for it, making our result: [engineer, engineer, none, cargo]. +We run the algorithm again, but this time with: [none, cargo]. +Frequency is:

+ +

These are all then compounded into one list.

+

In the case that all are no preference, it will pop the last department, and use that. +For example, if departments is [engi, medical, cargo], and we have the preferences: +[none, none, none]... +Then we will just give them all cargo.

+

One of the most important parts of this algorithm is IT IS DETERMINISTIC. +That means that this proc is 100% testable. +Instead, to get random results, the preferences and departments are shuffled +before the proc is ever called.

get_edge_target_turf +

+

Returns the turf located at the map edge in the specified direction relative to target_atom used for mass driver

get_element_by_var +

+

return first thing in L which has var/varname == value +this is typecaste as list/L, but you could actually feed it an atom instead. +completely safe to use

get_first_open_turf_in_area +

+

Iterates over all turfs in the target area and returns the first non-dense one

get_flat_existing_human_icon +

+

A simpler version of get_flat_human_icon() that uses an existing human as a base to create the icon. +Does not feature caching yet, since I could not think of a good way to cache them without having a possibility +of using the cached version when we don't want to, so only use this proc if you just need this flat icon +generated once and handle the caching yourself if you need to access that icon multiple times, or +refactor this proc to feature caching of icons.

+

Arguments:

+

get_hear +

+

Like view but bypasses luminosity check

get_hearers_in_LOS +

+

Returns a list of movable atoms that are hearing sensitive in view_radius and line of sight to source +the majority of the work is passed off to the spatial grid if view_radius > 0 +because view() isnt a raycasting algorithm, this does not hold symmetry to it. something in view might not be hearable with this. +if you want that use get_hearers_in_view() - however thats significantly more expensive

+

get_hearers_in_radio_ranges +

+

Returns an associative list-of-lists of radio : hearers

get_hearers_in_view +

+

returns every hearaing movable in view to the turf of source not taking into account lighting +useful when you need to maintain always being able to hear something if a sound is emitted from it and you can see it (and youre in range). +otherwise this is just a more expensive version of get_hearers_in_LOS()

+

get_icon_dmi_path +

+

given an icon object, dmi file path, or atom/image/mutable_appearance, attempts to find and return an associated dmi file path. +a weird quirk about dm is that /icon objects represent both compile-time or dynamic icons in the rsc, +but stringifying rsc references returns a dmi file path +ONLY if that icon represents a completely unchanged dmi file from when the game was compiled. +so if the given object is associated with an icon that was in the rsc when the game was compiled, this returns a path. otherwise it returns ""

get_line +

+

Get a list of turfs in a line from starting_atom to ending_atom.

+

Uses the ultra-fast Bresenham Line-Drawing Algorithm.

get_mob_by_ckey +

+

returns a mob type controlled by a specified ckey

get_mob_by_key +

+

Return the mob type that is being controlled by a ckey

get_mob_or_brainmob +

+

Returns the occupant mob or brain from a specified input

get_nested_locs +

+

Returns a list of all locations (except the area) the movable is within.

get_officer_departments +

+

Returns the distribution of splitting the given security officers into departments. +Return value is an assoc list of candidate => SEC_DEPT_*.

get_offset_target_turf +

+

returns turf relative to target_atom offset in dx and dy tiles, bound to map limits

get_oov_turf +

+

Returns a turf that is barely out of view of the target.

get_open_turf_in_dir +

+

Returns the open turf next to the center in a specific direction

get_perceived_radiation_danger +

+

Gets the perceived "danger" of radiation pulse, given the threshold to the target. +Returns a RADIATION_DANGER_* define, see code/__DEFINES/radiation.dm

get_pixel_angle +

+

for getting the angle when animating something's pixel_x and pixel_y

get_pixel_distance +

+

Finds the distance between two atoms, in pixels +centered = FALSE counts from turf edge to edge +centered = TRUE counts from turf center to turf center +of course mathematically this is just adding world.icon_size on again

get_powernet_info_from_source +

+

Save any queued packets +Extracts the powernet and cell of the provided power source

get_preferences_in_priority_order +

+

Returns a flat list of preferences in order of their priority

get_radio_icon +

+

Pass in a frequency, get a file name. See chat_icons.dm

get_random_drink +

+

Gets a random drink excluding the blocked type

get_random_food +

+

Get a random food item exluding the blocked ones

get_random_jumpskirt +

+

Returns a random, acceptable jumpskirt typepath

get_random_jumpsuit +

+

Returns a random, acceptable jumpsuit typepath

get_random_reagent_id +

+

Returns a random reagent object minus blacklisted reagents

get_random_station_turf +

+

Returns a random turf on the station

get_ranged_target_turf_direct +

+

Get ranged target turf, but with direct targets as opposed to directions

+

Starts at atom starting_atom and gets the exact angle between starting_atom and target +Moves from starting_atom with that angle, Range amount of times, until it stops, bound to map size +Arguments:

+

get_reagent_type_from_product_string +

+

Returns a list of chemical_reaction datums that have the input STRING as a product

get_recipe_from_reagent_product +

+

Takes a type in and returns a list of associated recipes

get_safe_random_station_turf +

+

Returns a random turf on the station, excludes dense turfs (like walls) and areas that have valid_territory set to FALSE

get_selectable_species +

+

Gets a list of all species available to choose in roundstart.

get_sorted_areas +

+

Returns a sorted version of GLOB.areas, by name

get_species_augments +

+

Returns a tree of species > category > slot > item path

get_teleport_loc +

+

Returns location. Returns null if no location was found.

get_temp_change_amount +

+

Used to get the amount of change between two body temperatures

+

When passed the difference between two temperatures returns the amount of change to temperature to apply. +The change rate should be kept at a low value tween 0.16 and 0.02 for optimal results. +vars:

+

get_turf_pixel +

+

Lets the turf this atom's ICON appears to inhabit +it takes into account: +Pixel_x/y +Matrix x/y +NOTE: if your atom has non-standard bounds then this proc +will handle it, but: +if the bounds are even, then there are an even amount of "middle" turfs, the one to the EAST, NORTH, or BOTH is picked +this may seem bad, but you're atleast as close to the center of the atom as possible, better than byond's default loc being all the way off) +if the bounds are odd, the true middle turf of the atom is returned

get_valid_screen_location +

+

Returns a valid location to place a screen object without overflowing the viewport

+ +

Returns a screen loc representing the valid location

give_admin_popup +

+

Tries to give the target an admin popup. +If it fails, will send the error to the passed admin.

goonchem_vortex +

+

Magical move-wooney that happens sometimes.

+

Simulates a vortex that moves nearby movable atoms towards or away from the turf T. +Range also determines the strength of the effect. High values cause nearby objects to be thrown. +Arguments:

+

greatest_common_factor +

+

Takes a list of numbers as input, returns the highest value that is cleanly divides them all +Note: this implementation is expensive as heck for large numbers, I only use it because most of my usecase +Is < 10 ints

honkerblast +

+

Unleashes a honkerblast similar to the honkmech weapon, but with more granular control.

hsv2rgb +

+

Converts a list storing hsva into an rgb color string

htmlrendertext +

+

Perform a whitespace cleanup on the text, similar to what HTML renderers do

+

This is useful if you want to better predict how text is going to look like when displaying it to a user. +HTML renderers collapse multiple whitespaces into one, trims prepending and appending spaces, among other things. This proc attempts to do the same thing. +HTML5 defines whitespace pretty much exactly like regex defines the \s group, [ \t\r\n\f].

+

Arguments:

+

icon2base64 +

+

Converts an icon to base64. Operates by putting the icon in the iconCache savefile, +exporting it as text, and then parsing the base64 from that. +(This relies on byond automatically storing icons in savefiles as base64)

icon_element +

+

Display a DM icon in a a browser.

icon_exists +

+

Checks if the given iconstate exists in the given file, caching the result. Setting scream to TRUE will print a stack trace ONCE.

inLineOfSight +

+

Calculate if two atoms are in sight, returns TRUE or FALSE

init_crafting_recipes +

+

Inits the crafting recipe list, sorting crafting recipe requirements in the process.

init_keybindings +

+

Creates and sorts all the keybinding datums

init_subtypes_w_path_keys +

+

Functions like init_subtypes, but uses the subtype's path as a key for easy access

initialize_starting_knowledge +

+

Returns a list of all heretic knowledge TYPEPATHS +that have route set to PATH_START.

int_to_words +

+

Takes a 1, 2 or 3 digit number and returns it in words. Don't call this directly, use convert_integer_to_words() instead.

+

Arguments:

+

invert_HTML_colour +

+

Inverts the colour of an HTML string

ion_num +

+

Picks a string of symbols to display as the law number for hacked or ion laws +is at the start to prevent us from changing say modes via get_message_mode()

isAdminGhostAI +

+

Is the passed in mob an admin ghost WITH AI INTERACT enabled

isAdminObserver +

+

Is the passed in mob a ghost with admin powers, doesn't check for AI interact like isAdminGhost() used to

is_admin +

+

Returns if the given client is an admin, REGARDLESS of if they're deadminned or not.

is_color_dark +

+

Given a color in the format of "#RRGGBB", will return if the color +is dark.

is_convertable_to_cult +

+

Returns whether the given mob is convertable to the blood cult

is_guest_key +

+

Returns whether or not a player is a guest using their ckey as an input

is_ic_filtered +

+

Given a text, will return what word is on the IC filter, with the reason. +Returns null if the message is OK.

is_ic_filtered_for_pdas +

+

Given a text, will return what word is on the IC filter, ignoring words allowed on the PDA, with the reason. +Returns null if the message is OK.

is_ooc_filtered +

+

Given a text, will return what word is on the OOC filter, with the reason. +Returns null if the message is OK.

is_path_in_list +

+

Checks for specific paths in a list.

+

If using zebra mode the list should be an assoc list with truthy/falsey values. +The check short circuits so earlier entries in the input list will take priority. +Ergo, subpaths should come before parent paths. +Notice that this is the opposite priority of /proc/typecacheof.

+

Arguments:

+

is_safe_turf +

+

Checks if a given turf is a "safe" location

is_soft_ic_filtered +

+

Given a text, will return what word is on the soft IC filter, with the reason. +Returns null if the message is OK.

is_soft_ic_filtered_for_pdas +

+

Given a text, will return what word is on the soft IC filter, ignoring words allowed on the PDA, with the reason. +Returns null if the message is OK.

is_soft_ooc_filtered +

+

Given a text, will return that word is on the soft OOC filter, with the reason. +Returns null if the message is OK.

is_source_facing_target +

+

Compare source's dir, the clockwise dir of source and the anticlockwise dir of source +To the opposite dir of the dir returned by get_dir(target,source) +If one of them is a match, then source is facing target

is_special_character +

+

Returns TRUE if the game has started and we're either an AI with a 0th law, or we're someone with a special role/antag datum

is_type_in_list +

+

Checks for specific types in a list.

+

If using zebra mode the list should be an assoc list with truthy/falsey values. +The check short circuits so earlier entries in the input list will take priority. +Ergo, subtypes should come before parent types. +Notice that this is the opposite priority of /proc/typecacheof.

+

Arguments:

+

is_valid_dmi_file +

+

given a text string, returns whether it is a valid dmi icons folder path

is_valid_src +

+

Check if a datum has not been deleted and is a valid source

ishumanbasic +

+

Returns if the given target is a human. Like, a REAL human. +Not a moth, not a felinid (which are human subtypes), but a human.

isvineimmune +

+

Used to determine whether the mob is immune to actions by the vine. +Use cases: Stops vine from attacking itself, other plants.

item_heal_robotic +

+

Heal a robotic body part on a mob

jps_path_to +

+

These are generally cheaper than looping contents so they go first +This file contains the stuff you need for using JPS (Jump Point Search) pathing, an alternative to A* that skips +over large numbers of uninteresting tiles resulting in much quicker pathfinding solutions. Mind that diagonals +cost the same as cardinal moves currently, so paths may look a bit strange, but should still be optimal.

+

This is the proc you use whenever you want to have pathfinding more complex than "try stepping towards the thing". +If no path was found, returns an empty list, which is important for bots like medibots who expect an empty list rather than nothing. +It will yield until a path is returned, using magic

+

Arguments:

+

json_deserialize_datum +

+

Convert a list of json to datum

json_serialize_datum +

+

Convert a datum into a json blob

kvpify_list +

+

Converts a list into a list of assoc lists of the form ("key" = key, "value" = value) +so that list keys that are themselves lists can be fully json-encoded

lightningbolt +

+

this is the actual bolt effect and damage, made into its own proc because it is used elsewhere

living_player_count +

+

Returns the amount of currently living players

load_adventures +

+

Loads all adventures from DB

load_default_map_config +

+

Proc that simply loads the default map config, which should always be functional.

load_map +

+

Shortcut function to parse a map and apply it to the world.

+

load_map_config +

+

Proc handling the loading of map configs. Will return the default map config using /proc/load_default_map_config if the loading of said file fails for any reason whatsoever, so we always have a working map for the server to run.

+

Arguments:

+ +

Returns the config for the map to load.

load_poll_data +

+

Loads all current and future server polls and their options to store both as datums.

log_atmos +

+

Logs the contents of the gasmix to the game log, prefixed by text

log_combat +

+

Log a combat message in the attack log

+

Arguments:

+

log_directed_talk +

+

Helper for logging of messages with only one sender and receiver

log_filter +

+

Logs to the filter log with the given message, match, and scope

log_suspicious_login +

+

Writes to a special log file if the log_suspicious_login config flag is set, +which is intended to contain all logins that failed under suspicious circumstances.

+

Mirrors this log entry to log_access when access_log_mirror is TRUE, so this proc +doesn't need to be used alongside log_access and can replace it where appropriate.

log_tgui +

+

Appends a tgui-related log entry. All arguments are optional.

make_associative +

+

Make a normal list an associative one

make_body +

+

Uses stripped down and bastardized code from respawn character

make_datum_references_lists +

+

Initial Building

make_tuple +

+

Returns the name of the mathematical tuple of same length as the number arg (rounded down).

md5asfile +

+

Save file as an external file then md5 it. +Used because md5ing files stored in the rsc sometimes gives incorrect md5 results.

md5filepath +

+

Returns the md5 of a file at a given path.

message_centcom +

+

Used by communications consoles to message CentCom

message_syndicate +

+

Used by communications consoles to message the Syndicate

message_to_html +

+

Message-related procs

+

Message format (/list):

+ +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

move_element +

+

Move a single element from position from_index within a list, to position to_index +All elements in the range [1,to_index) before the move will be before the pivot afterwards +All elements in the range [to_index, L.len+1) before the move will be after the pivot afterwards +In other words, it's as if the range [from_index,to_index) have been rotated using a <<< operation common to other languages. +from_index and to_index must be in the range [1,L.len+1] +This will preserve associations ~Carnie

move_range +

+

Move elements [from_index,from_index+len) to [to_index-len, to_index) +Same as moveElement but for ranges of elements +This will preserve associations ~Carnie

mutable_appearance +

+

Helper similar to image()

narsie_apocalypse +

+

Third crew last second win check and flufftext for [/proc/begin_the_end()]

narsie_end_begin_check +

+

First crew last second win check and flufftext for [/proc/begin_the_end()]

narsie_end_second_check +

+

Second crew last second win check and flufftext for [/proc/begin_the_end()]

narsie_last_second_win +

+

Called only if the crew managed to destroy narsie at the very last second for [/proc/begin_the_end()]

narsie_start_destroy_station +

+

security level and shuttle lockdowns for [/proc/begin_the_end()]

next_list_item +

+

Returns the next item in a list

noop +

+

A do nothing proc

notify_ghosts +

+

Fancy notifications for ghosts

+

The kitchen sink of notification procs

+

Arguments:

+

nuke_request +

+

Used by communications consoles to request the nuclear launch codes

offer_control +

+

Offer control of the passed in mob to dead player

+

Automatic logging and uses poll_candidates_for_mob, how convenient

offset_to_screen_loc +

+

Takes a list in the form (x_offset, y_offset) +And converts it to a screen loc string +Accepts an optional view string/size to force the screen_loc around, so it can't go out of scope

overlays2text +

+

Converts an overlay list into text for debug printing +Of note: overlays aren't actually mutable appearances, they're just appearances +Don't have access to that type tho, so this is the best you're gonna get

parse_caught_click_modifiers +

+

Returns a turf based on text inputs, original turf and viewing client

parse_slot_flags +

+

Returns a list of strings for a given slot flag.

parse_zone +

+

Return a string for the specified body zone. Should be used for parsing non-instantiated bodyparts, otherwise use /obj/item/bodypart/var/plaintext_zone

pathfinding_finished +

+

Uses funny pass by reference bullshit to take the path created by pathfinding, and insert it into a return list +We'll be able to use this return list to tell a sleeping proc to continue execution

peek +

+

Returns the top (last) element from the list, does not remove it from the list. Stack functionality.

pick_closest_path +

+

Returns a chosen path that is the closest to a list of matches

pick_n_take +

+

Pick a random element from the list and remove it from the list.

pick_weight +

+

Picks a random element from a list based on a weighting system. +For example, given the following list: +A = 6, B = 3, C = 1, D = 0 +A would have a 60% chance of being picked, +B would have a 30% chance of being picked, +C would have a 10% chance of being picked, +and D would have a 0% chance of being picked. +You should only pass integers in.

piglatin_sentence +

+

runs piglatin_word() proc on each word in a sentence. preserves caps and punctuation

piglatin_word +

+

takes "word", and returns it piglatinized.

play_fov_effect +

+

Plays a visual effect representing a sound cue for people with vision obstructed by FOV or blindness

playsound +

+

playsound is a proc used to play a 3D sound in a specific range. This uses SOUND_RANGE + extra_range to determine that.

+

source - Origin of sound. +soundin - Either a file, or a string that can be used to get an SFX. +vol - The volume of the sound, excluding falloff and pressure affection. +vary - bool that determines if the sound changes pitch every time it plays. +extrarange - modifier for sound range. This gets added on top of SOUND_RANGE. +falloff_exponent - Rate of falloff for the audio. Higher means quicker drop to low volume. Should generally be over 1 to indicate a quick dive to 0 rather than a slow dive. +frequency - playback speed of audio. +channel - The channel the sound is played at. +pressure_affected - Whether or not difference in pressure affects the sound (E.g. if you can hear in space). +ignore_walls - Whether or not the sound can pass through walls. +falloff_distance - Distance at which falloff begins. Sound is at peak volume (in regards to falloff) aslong as it is in this range.

podspawn +

+

One proc for easy spawning of pods in the code to drop off items before whizzling (please don't proc call this in game, it will destroy you)

+

Arguments:

+

poll_candidates +

+

Calls the show_candidate_poll_window() to all eligible ghosts

poll_candidates_for_mob +

+

Returns a list of ghosts that are eligible to take over and wish to be considered for a mob.

+

Arguments:

+

poll_candidates_for_mobs +

+

Returns a list of ghosts that are eligible to take over and wish to be considered for a mob.

+

Arguments:

+

poll_ghost_candidates +

+

Wrapper to send all ghosts the poll to ask them if they want to be considered for a mob.

pop +

+

Returns the top(last) element from the list and removes it from the list (typical stack function)

populate_editable_sign_types +

+

This proc populates GLOBAL_LIST_EMPTY(editable_sign_types)

+

The first time a pen is used on any sign, this populates GLOBAL_LIST_EMPTY(editable_sign_types), creating a global list of all the signs that you can set a sign backing to with a pen.

power_fail +

+

Disable power in the station APCs

previous_list_item +

+

Returns the previous item in a list

priority_announce +

+

Create an announcement to send globally or to a specified list of players.

+

args:

+

process_teleport_locs +

+

Generate a list of turfs you can teleport to from the areas list

+

Includes areas if they're not a shuttle or not not teleport or have no contents

+

The chosen turf is the first item in the areas contents that is a station level

+

The returned list of turfs is sorted by name

propagate_network +

+

remove the old powernet and replace it with a new one throughout the network.

pull_apart_damage_states +

+

This exists purely to import sprites from a codebase like Citadel RP.

pump_gas +

+

obj/machinery/atmospherics/var/debug = 0

qdel +

+

Should be treated as a replacement for the 'del' keyword.

+

Datums passed to this will be given a chance to clean up references to allow the GC to collect them.

radiation_pulse +

+

Sends out a pulse of radiation, eminating from the source. +Radiation is performed by collecting all radiatables within the max range (0 means source only, 1 means adjacent, etc), +then makes their way towards them. A number, starting at 1, is multiplied +by the insulation amounts of whatever is in the way (for example, walls lowering it down). +If this number hits equal or below the threshold, then the target can no longer be irradiated. +If the number is above the threshold, then the chance is the chance that the target will be irradiated. +As a consumer, this means that max_range going up usually means you want to lower the threshold too, +as well as the other way around. +If max_range is high, but threshold is too high, then it usually won't reach the source at the max range in time. +If max_range is low, but threshold is too low, then it basically guarantees everyone nearby, even if there's walls +and such in the way, can be irradiated. +You can also pass in a minimum exposure time. If this is set, then this radiation pulse +will not irradiate the source unless they have been around any radioactive source for that +period of time.

ran_zone +

+

Return the zone or randomly, another valid zone

+

Do not use this if someone is intentionally trying to hit a specific body part. +Use get_zone_with_miss_chance() for that.

random_capital_letter +

+

handles thousands

random_colour +

+

Returns a random color picked from a list, has 2 modes (0 and 1), mode 1 doesn't pick white, black or gray

random_fish_type +

+

Returns random fish, using random_case_rarity probabilities.

random_nukecode +

+

Returns a string for a random nuke code

random_step +

+

Forces the atom to take a step in a random direction

rcd_result_with_memory +

+

Produces a new RCD result from the given one if it can be calculated that +the RCD should speed up with the remembered form.

rcd_scan +

+

Global proc that generates RCD hologram in a range.

+

Arguments:

+

recover_all_SS_and_recreate_master +

+

Recreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars

recursive_list_resolve +

+

Returns a list with all weakrefs resolved

recursive_list_resolve_element +

+

Helper for recursive_list_resolve()

recursive_loc_check +

+

Recursively checks if an item is inside a given type, even through layers of storage. Returns the atom if it finds it.

recursive_organ_check +

+

refify_list +

+

Returns a copy of the list where any element that is a datum or the world is converted into a ref

reject_bad_chattext +

+

The procedure to check the text of the entered text on ntnrc_client.dm

+

This procedure is designed to check the text you type into the chat client. +It checks for invalid characters and the size of the entered text.

reject_bad_name +

+

Filters out undesirable characters from names.

+

reject_bad_text +

+

Returns the text if properly formatted, or null else.

+

Things considered improper:

+

remove_all_tags +

+

Removes all tags in a string of text. +May result in some formatting errors, floating whitespace. Not perfect.

remove_clunky_diagonals +

+

Processes a path (list of turfs), removes any diagonal moves that would lead to a weird bump

+

path - The path to process down +pass_info - Holds all the info about what this path attempt can go through +simulated_only - If we are not allowed to pass space turfs +avoid - A turf to be avoided

remove_diagonals +

+

Processes a path (list of turfs), removes any diagonal moves

+

path - The path to process down +pass_info - Holds all the info about what this path attempt can go through +simulated_only - If we are not allowed to pass space turfs +avoid - A turf to be avoided

remove_image_from_client +

+

Removes an image from a client's .images. Useful as a callback.

remove_images_from_clients +

+

Like remove_image_from_client, but will remove the image from a list of clients

remove_non_canon_overlays +

+

Recursively removes overlays that do not render to the game plane from an appearance.

remove_verb +

+

handles removing verb and sending it to browser to update, use this for removing verbs

+

pass the verb type path to this instead of removing it from verbs so the statpanel can update +Arguments:

+

reset_cooldown +

+

Proc used by stoppable timers to end a cooldown before the time has ran out.

+

Arguments:

+ +

This sends a signal reporting the cooldown end, passing the time left as an argument.

resolve_ai_icon_sync +

+

A form of resolve_ai_icon that is guaranteed to never sleep. +Not always accurate, but always synchronous.

retrieve_ban_cache +

+

Gets the ban cache of the passed in client +If the cache has not been generated, we start off a query +If we still have a query going for this request, we just sleep until it's recieved back

return_generator_args +

+

returns the arguments given to a generator and manually extracts them from the internal byond object +returns:

+

return_unused_frequency +

+

returns a random unused frequency between MIN_FREE_FREQ & MAX_FREE_FREQ if free = TRUE, and MIN_FREQ & MAX_FREQ if FALSE

reverse_range +

+

replaces reverseList ~Carnie

rgb2hsv +

+

Converts an rgb color into a list storing hsva +Exists because it's useful to have a guarenteed alpha value

rustg_get_version +

+

Gets the version of rust_g

rustg_unix_timestamp +

+

Returns the timestamp as a string

sanitize +

+

Runs byond's html encoding sanitization proc, after replacing new-lines and tabs for the # character.

sanitize_color +

+

Makes sure the input color is text with a # at the start followed by 6 hexadecimal characters. Examples: "#ff1234", "#A38321", COLOR_GREEN_GRAY

sanitize_css_class_name +

+

Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts

sanitize_filepath +

+

Sanitizes the name of each node in the path.

+

Im case you are wondering when to use this proc and when to use SANITIZE_FILENAME,

+

You use SANITIZE_FILENAME to sanitize the name of a file [e.g. example.txt]

+

You use sanitize_filepath sanitize the path of a file [e.g. root/node/example.txt]

+

If you use SANITIZE_FILENAME to sanitize a file path things will break.

sanitize_frequency +

+

Ensure the frequency is within bounds of what it should be sending/receiving at

sanitize_name +

+

returns nothing with an alert instead of the message if it contains something in the ic filter, and sanitizes normally if the name is fine. It returns nothing so it backs out of the input the same way as if you had entered nothing.

scramble_message_replace_chars +

+

Slightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML!

scramble_text +

+

Scramble a string up. +intensity = number of times we recursively call ourselves to scramble.

screen_loc_to_offset +

+

Takes a screen loc string in the format +"+-left-offset:+-pixel,+-bottom-offset:+-pixel" +Where the :pixel is optional, and returns +A list in the format (x_offset, y_offset) +We require context to get info out of screen locs that contain relative info, so NORTH, SOUTH, etc

screen_text +

+

Return an object with a new maptext (not currently in use)

seedify +

+

Finds and extracts seeds from an object

+

Checks if the object is such that creates a seed when extracted. Used by seed +extractors or posably anything that would create seeds in some way. The seeds +are dropped either at the extractor, if it exists, or where the original object +was and it qdel's the object

+

Arguments:

+

send2adminchat +

+

Sends a message to TGS admin chat channels.

+

category - The category of the mssage. +message - The message to send.

send2chat +

+

Sends a message to TGS chat channels.

+

message - The message to send. +channel_tag - Required. If "", the message with be sent to all connected (Game-type for TGS3) channels. Otherwise, it will be sent to TGS4 channels with that tag (Delimited by ','s). +admin_only - Determines if this communication can only be sent to admin only channels.

send2otherserver +

+

Sends a message to a set of cross-communications-enabled servers using world topic calls

+

Arguments:

+

send_tip_of_the_round +

+

Sends a round tip to a target. If selected_tip is null, a random tip will be sent instead (5% chance of it being silly). +Tips that starts with the @ character won't be html encoded. That's necessary for any tip containing markup tags, +just make sure they don't also have html characters like <, > and ' which will be garbled.

send_to_playing_players +

+

sends a whatever to all playing players; use instead of to_chat(world, where needed)

serialize_antag_name +

+

Serializes an antag name to be used for preferences UI

setup_mod_themes +

+

Global proc that sets up all MOD themes as singletons in a list and returns it.

shake_camera +

+

Shake the camera of the person viewing the mob SO REAL! +Takes the mob to shake, the time span to shake for, and the amount of tiles we're allowed to shake by in tiles +Duration isn't taken as a strict limit, since we don't trust our coders to not make things feel shitty. So it's more like a soft cap.

should_have_space_before_emote +

+

Returns a boolean based on whether or not the string contains a comma or an apostrophe, +to be used for emotes to decide whether or not to have a space between the name of the user +and the emote.

+

Requires the message to be HTML decoded beforehand. Not doing it here for performance reasons.

+

Returns TRUE if there should be a space, FALSE if there shouldn't.

show_candidate_poll_window +

+

Show the poll window to the candidate mobs

shuffle +

+

Randomize: Return the list in a random order

shuffle_inplace +

+

same as shuffle, but returns nothing and acts on list in place

siunit +

+

Formats a number to human readable form with the appropriate SI unit.

+

Supports SI exponents between 1e-15 to 1e15, but properly handles numbers outside that range as well. +Examples:

+

siunit_pressure +

+

slapcraft_examine_hints_for_type +

+

Gets examine hints for this item type for slap crafting.

slapcraft_recipes_for_type +

+

Gets cached recipes for a type. This is a method of optimizating recipe lookup. Ugly but gets the job done. +also WARNING: This will make it so all recipes whose first step is not type checked will not work, which all recipes that I can think of will be. +If you wish to remove this and GLOB.slapcraft_firststep_recipe_cache should this cause issues, replace the return with GLOB.slapcraft_recipes

sort_key +

+

for sorting clients or mobs by ckey

sort_list +

+

sort any value in a list

sort_mobs +

+

Orders mobs by type then by name. Accepts optional arg to sort a custom list, otherwise copies GLOB.mob_list.

sort_names +

+

uses sort_list() but uses the var's name specifically. This should probably be using mergeAtom() instead

sort_record +

+

Specifically for record datums in a list.

spawn_express_pods +

+

Spawns express pod(s) at a given location. Landing_loc can be a list in the case of an emagged console.

special_list_filter +

+

Returns a list with items filtered from a list that can call callback

spiral_range +

+

similar function to range(), but with no limitations on the distance; will search spiralling outwards from the center

spiral_range_turfs +

+

similar function to RANGE_TURFS(), but will search spiralling outwards from the center (like the above, but only turfs)

spread_reagents +

+

Exposes all accessible atoms within some distance of an epicenter to some reagents. +Does not clear the source reagent holder; that must be done manually if it is desired.

+

Arguments:

+

stack_trace +

+

gives us the stack trace from CRASH() without ending the current proc.

stars +

+

Convert random parts of a passed in message to stars

+ +

This proc is dangerously laggy, avoid it or die

start_unequip_mob +

+

A utility function for /datum/strippable_items to start unequipping an item from a mob.

station_time +

+

Generate a game-world time value in deciseconds.

stoplag +

+

returns the number of ticks slept

string_list +

+

Caches lists with non-numeric stringify-able values (text or typepath).

stringmerge +

+

This proc replaces all instances of the "replace" character in "text" with the character in the same position within the "compare" string +"FFFFFFFFFFFFFFFFF***" and "FFFFFFFFFFFFFFF*****************FFFFFFFFFFFFFFFFFF" +is "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"

strip_html +

+

Runs STRIP_HTML_SIMPLE and sanitize.

stripped_input +

+

Used to get a properly sanitized input, of max_length +no_trim is self explanatory but it prevents the input from being trimed if you intend to parse newlines or whitespace.

swap_range +

+

Move elements from [from_index, from_index+len) to [to_index, to_index+len) +Move any elements being overwritten by the move to the now-empty elements, preserving order +Note: if the two ranges overlap, only the destination order will be preserved fully, since some elements will be within both ranges ~Carnie

syndies_escaped +

+

Returns whether or not syndicate operatives escaped.

test_whiteship_sizes +

+

Helper proc that tests to ensure all whiteship templates can spawn at their docking port, and logs their sizes +This should be a unit test, but too much of our other code breaks during shuttle movement, so not yet, not yet.

text_preview +

+

Provides a preview of [string] up to [len - 3], after which it appends "..." if it pasts the length.

tgalert +

+

DEPRECATED: USE tgui_alert(...) INSTEAD

+

Designed as a drop in replacement for alert(); functions the same. (outside of needing User specified) +Arguments:

+

tgui_Topic +

+

Middleware for /client/Topic.

+

return bool If TRUE, prevents propagation of the topic call.

tgui_alert +

+

Creates a TGUI alert window and returns the user's response.

+

This proc should be used to create alerts that the caller will wait for a response from. +Arguments:

+

tgui_alert_async +

+

Creates an asynchronous TGUI alert window with an associated callback.

+

This proc should be used to create alerts that invoke a callback with the user's chosen option. +Arguments:

+

tgui_input_list +

+

Creates a TGUI input list window and returns the user's response.

+

This proc should be used to create alerts that the caller will wait for a response from. +Arguments:

+

tgui_input_list_async +

+

Client does NOT have tgui_input on: Returns regular input +Creates an asynchronous TGUI input list window with an associated callback.

+

This proc should be used to create inputs that invoke a callback with the user's chosen option. +Arguments:

+

tgui_input_number +

+

Creates a TGUI window with a number input. Returns the user's response as num | null.

+

This proc should be used to create windows for number entry that the caller will wait for a response from. +If tgui fancy chat is turned off: Will return a normal input. If a max or min value is specified, will +validate the input inside the UI and ui_act.

+

Arguments:

+

tgui_input_number_async +

+

Creates an asynchronous TGUI number input window with an associated callback.

+

This proc should be used to create number inputs that invoke a callback with the user's entry.

+

Arguments:

+

tgui_input_text +

+

Creates a TGUI window with a text input. Returns the user's response.

+

This proc should be used to create windows for text entry that the caller will wait for a response from. +If tgui fancy chat is turned off: Will return a normal input. If max_length is specified, will return +stripped_multiline_input.

+

Arguments:

+

tgui_input_text_async +

+

Creates an asynchronous TGUI text input window with an associated callback.

+

This proc should be used to create text inputs that invoke a callback with the user's entry. +Arguments:

+

time_to_twelve_hour +

+

Converts a time expressed in deciseconds (like world.time) to the 12-hour time format. +the format arg is the format passed down to time2text() (e.g. "hh:mm" is hours and minutes but not seconds).

timeleft +

+

Get the remaining deciseconds on a timer

+

Arguments:

+

to_chat +

+

Sends the message to the recipient (target).

+

Recommended way to write to_chat calls:

+
to_chat(client,
+    type = MESSAGE_TYPE_INFO,
+    html = "You have found <strong>[object]</strong>")
+

to_chat_immediate +

+

Circumvents the message queue and sends the message +to the recipient (target) as soon as possible.

tool_behaviour_name +

+

returns an ic name of the tool needed +Arguments:

+

truncate +

+

Truncate a string to the given length

+

Will only truncate if the string is larger than the length and ignores unicode concerns

+

This exists soley because trim does other stuff too.

+

Arguments:

+

try_move_adjacent +

+

Tries to move an atom to an adjacent turf, return TRUE if successful

typecache_filter_list +

+

returns a new list with only atoms that are in the typecache list

typecache_filter_list_reverse +

+

return a new list with atoms that are not in the typecache list

typecache_filter_multi_list_exclusion +

+

similar to typecache_filter_list and typecache_filter_list_reverse but it supports an inclusion list and and exclusion list

typecacheof +

+

Like typesof() or subtypesof(), but returns a typecache instead of a list.

+

Arguments:

+

ui_status_only_living +

+

Returns a UI status such that the dead will be able to watch, but not interact.

ui_status_silicon_has_access +

+

Returns a UI status such that silicons will be able to interact with whatever +they would have access to if this was a machine. For example, AIs can +interact if there's cameras with wireless control is enabled.

ui_status_user_has_free_hands +

+

Returns a UI status such that those without blocked hands will be able to interact, +but everyone else can only watch.

ui_status_user_is_abled +

+

Returns a UI status such that users with debilitating conditions, such as +being dead or not having power for silicons, will not be able to interact. +Being dead will disable UI, being incapacitated will continue updating it, +and anything else will make it interactive.

ui_status_user_is_adjacent +

+

Returns a UI status such that users adjacent to source will be able to interact, +far away users will be able to see, and anyone farther won't see anything. +Dead users will receive updates no matter what, though you likely want to add +a [ui_status_only_living] check for finer observer interactions.

ui_status_user_is_advanced_tool_user +

+

Returns a UI status such that advanced tool users will be able to interact, +but everyone else can only watch.

ui_status_user_is_conscious_and_lying_down +

+

Returns UI_INTERACTIVE if the user is conscious and lying down. +Returns UI_UPDATE otherwise.

ui_status_user_strictly_adjacent +

+

Return UI_INTERACTIVE if the user is strictly adjacent to the target atom, whether they can see it or not. +Return UI_CLOSE otherwise.

unformat_frequency +

+

Opposite of format, returns as a number

unique_list +

+

Return a list with no duplicate entries

unique_list_in_place +

+

same as unique_list, but returns nothing and acts on list in place (also handles associated values properly)

urange +

+

ultra range (no limitations on distance, faster than range for distances > 8); including areas drastically decreases performance

url2htmlloader +

+

Return html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.

valid_window_location +

+

Checks whether the target turf is in a valid state to accept a directional window +or other directional pseudo-dense object such as railings.

+

Returns FALSE if the target turf cannot accept a directional window or railing. +Returns TRUE otherwise.

+

Arguments:

+

view_to_pixels +

+

Takes a string or num view, and converts it to pixel width/height in a list(pixel_width, pixel_height)

voice_of_god +

+

VOICE OF GOD

weakrefify_list +

+

Returns a copy of the list where any element that is a datum is converted into a weakref

weekday_to_iso +

+

Returns a string day as an integer in ISO format 1 (Monday) - 7 (Sunday)

weight_class_to_text +

+

Returns a string based on the weight class define used as argument

window_flash +

+

Flash the window of a player

zebra_typecacheof +

+

Like typesof() or subtypesof(), but returns a typecache instead of a list. +This time it also uses the associated values given by the input list for the values of the subtypes.

+

Latter values from the input list override earlier values. +Thus subtypes should come after parent types in the input list. +Notice that this is the opposite priority of /proc/is_type_in_list and /proc/is_path_in_list.

+

Arguments:

+

zstep +

+

A step() variant that allows passing z_movement_flags. Normal step() is fine if you do not need special movement flags.

+ + + diff --git a/index.html b/index.html new file mode 100644 index 000000000000..f2040d825975 --- /dev/null +++ b/index.html @@ -0,0 +1,6750 @@ + + + + + + + Index - Daedalus Dock + + + + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Daedalus Dock

+ + + +

Modules +

+ + + + +

Types +

+ + + +
+ + + diff --git a/matrix.html b/matrix.html new file mode 100644 index 000000000000..ba132753aace --- /dev/null +++ b/matrix.html @@ -0,0 +1,70 @@ + + + + + + + /matrix - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

matrix + + + +

+ + + + + + +

Procs

ShearShear the transform on either or both axes.
decomposeDecomposes a matrix into scale, shift and rotation.
get_angleReturns the angle of the matrix according to atan2 on the b, a parts
get_x_shiftThe X pixel offset of this matrix
get_y_shiftThe Y pixel offset of this matrix

Proc Details

Shear +

+

Shear the transform on either or both axes.

+

decompose +

+

Decomposes a matrix into scale, shift and rotation.

+

If other operations were applied on the matrix, such as shearing, the result +will not be precise.

+

Negative scales are now supported. =)

get_angle +

+

Returns the angle of the matrix according to atan2 on the b, a parts

get_x_shift +

+

The X pixel offset of this matrix

get_y_shift +

+

The Y pixel offset of this matrix

+ + + diff --git a/mob.html b/mob.html new file mode 100644 index 000000000000..affa75de7c93 --- /dev/null +++ b/mob.html @@ -0,0 +1,2396 @@ + + + + + + + /mob - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mob + + + +

+ +

The mob, usually meant to be a creature of some type

+

Has a client attached that is a living person (most of the time), although I have to admit +sometimes it's hard to tell they're sentient

+

Has a lot of the creature game world logic, such as health etc

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

LAssailantA weakref to the last mob/living/carbon to push/drag/grab this mob (exclusively used by slimes friend recognition)
actionsList of action hud items the user has
actionspeed_mod_immunitiesList of action speed modifiers ignored by this mob. List -> List (id) -> List (sources)
actionspeed_modificationList of action speed modifiers applying to this mob
active_hand_indexWhat hand is the active hand
active_storageStorage component (for mob inventory)
alertsContains /atom/movable/screen/alert only.
ambience_tracked_areaA ref of the area we're taking our ambient loop from.
bodytemperatureDefault body temperature
buckledmovable atom we are buckled to
cached_multiplicative_actions_slowdownThe calculated mob action speed slowdown based on the modifiers list
canon_clientThe current client inhabiting this mob. Managed by login/logout +This exists so we can do cleanup in logout for occasions where a client was transfere rather then destroyed +We need to do this because the mob on logout never actually has a reference to client +We also need to clear this var/do other cleanup in client/Destroy, since that happens before logout +HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
chameleon_item_actionsA list of chameleon actions we have specifically +This can be unified with the actions list
click_interceptAllows a datum to intercept all click calls this mob is the source of
control_objectUsed by admins to possess objects. All mobs should have this var
deathsoundThe sound made on death
desired_surgeryWe use this during unit testing to force a specific surgery by an uncliented mob.
drowsynessDrowsyness level of the mob
emotes_usedUsed for tracking last uses of emotes for cooldown purposes
examine_cursor_iconCursor icon used when holding shift over things
eye_blindIs the mob blind
eye_blurryDoes the mob have blurry sight
factionA list of factions that this mob is currently in, for hostile mob targetting, amongst other things
has_unlimited_silicon_privilegeCan they interact with station electronics
held_itemslist of items held in hands
hud_usedActive hud
is_shiftedWhether the mob is pixel shifted or not
jobWhat job does this mob have
lastKnownIPThe last known IP of the client who was in this mob
listed_turfthe current turf being examined in the stat panel
m_intentThe movement intent of the mob (run/wal)
machineThe machine the mob is interacting with (this is very bad old code btw)
mock_clientA mock client, provided by tests and friends
move_on_shuttleCan this mob enter shuttles
movement_delayThe calculated mob speed slowdown based on the modifiers list
movespeed_mod_immunitiesList of movement speed modifiers ignored by this mob. List -> List (id) -> List (sources)
movespeed_modificationList of movement speed modifiers applying to this mob
name_archiveback up of the real name during admin possession
next_moveTick time the mob can next move
notransformMagic var that stops you moving and interacting with anything
nutritionHunger level of the mob
observersThe list of people observing this mob.
old_bodytemperatureOur body temperatue as of the last process, prevents pointless work when handling alerts
overeatdurationHow many ticks this mob has been over reating
progressbarsList of progress bars this mob is currently seeing for actions
real_nameWhat is the mobs real name (name is overridden for disguises etc)
registered_zTHe z level this mob is currently registered in
remote_controlCalls relay_move() to whatever this is set to when the mob tries to move
satietySatiation level of the mob
sound_environment_overrideOverride for sound_environments. If this is set the user will always hear a specific type of reverb (Instead of the area defined reverb)
statWhether a mob is alive or dead. TODO: Move this to living - Nodrak (2019, still here)
status_flagsbitflags defining which status effects can be inflicted (replaces canknockdown, canstun, etc)
suicidingWhether this mob has or is in the middle of committing suicide.
tgui_open_uisglobal
throw_modeIs the mob throw intent on
updating_glide_sizeWhether the mob is updating glide size when movespeed updates or not
vis_flagswhen this be added to vis_contents of something it inherit something.plane, important for visualisation of mob in openspace.
zone_selectedThe zone this mob is currently targeting

Procs

AltClickOnAlt click +Unused except for AI
ClickOnStandard mob ClickOn() +Handles exceptions: Buildmode, middle click, modified clicks, mech actions
CtrlClickOnCtrl click +For most objects, pull
CtrlShiftClickOnControl+Shift click +Unused except for AI
DblClickOnDefault behavior: ignore double clicks (the second click that makes the doubleclick call already calls for a normal click)
DestroyDelete a mob
GenerateTagGenerate the tag for this mob
InitializeIntialize a mob
LoginRun when a client is put in this mob or reconnets to byond and their client was on this mob
MiddleClickOnMiddle click +Mainly used for swapping hands
MouseDropControls if a mouse drop succeeds (return null if it doesnt)
MouseWheelOnMouseWheelOn
Process_SpacemoveHandles mob/living movement in space (or no gravity)
RangedAttackRanged unarmed attack:
ShiftClickOnShift click +For most mobs, examine. +This is overridden in ai.dm
TopicTopic call back for any mob
UnarmedAttackUnarmedAttack: The higest level of mob click chain discounting click itself.
_pointedpossibly delayed verb that finishes the pointing process starting in [/mob/verb/pointed()]. +either called immediately or in the tick after pointed() was called, as per the [DEFAULT_QUEUE_OR_CALL_VERB()] macro
abandon_mobAllows you to respawn, abandoning your current mob
add_actionspeed_modifierAdd a action speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.
add_client_colourAdds an instance of colour_type to the mob's client_colours list +colour_type - a typepath (subtyped from /datum/client_colour)
add_movespeed_modifierAdd a move speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.
add_to_alive_mob_listAdds the mob reference to the list of all mobs alive. If mob is cliented, it adds it to the list of all living player-mobs.
add_to_current_dead_playersAdds the cliented mob reference to either the list of dead player-mobs or to the list of observers, depending on how they joined the game.
add_to_current_living_antagsAdds the cliented mob reference to the list of living antag player-mobs.
add_to_current_living_playersAdds the cliented mob reference to the list of living player-mobs. If the mob is an antag, it adds it to the list of living antag player-mobs.
add_to_dead_mob_listAdds the mob reference to the list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.
add_to_mob_listAdds the mob reference to the list and directory of all mobs. Called on Initialize().
add_to_mob_suicide_listAdds a mob reference to the list of all suicided mobs
add_to_player_listAdds the cliented mob reference to the list of all player-mobs, besides to either the of dead or alive player-mob lists, as appropriate. Called on Login().
adjust_blindnessAdjust a mobs blindness by an amount
adjust_blurrinessAdjust the current blurriness of the mobs vision by amount
adjust_bodytemperatureAdjust the body temperature of a mob, with min/max settings
adjust_disgustAdjust the disgust level of a mob
adjust_drowsynessAdds passed value to the drowsyness of a mob
adjust_nutritionAdjust the nutrition of a mob
airflow_stunApplies the effects of the mob colliding with another movable due to airflow.
animate_client_colourWorks similarly to 'update_client_colour', but animated.
apply_pref_nameGeneralised helper proc for letting mobs rename themselves. Used to be clname() and ainame()
attack_uiThis proc is called whenever someone clicks an inventory ui slot.
audible_messageShow a message to all mobs in earshot of this one
auto_deadmin_on_loginChecks if the attached client is an admin and may deadmin them
become_unclientedCleanup proc that's called when a mob loses a client, either through client destroy or logout +Logout happens post client del, so we can't just copypaste this there. This keeps things clean and consistent
blind_eyesBlind a mobs eyes by amount
blur_eyesMake the mobs vision blurry
broadcast_examineTells nearby mobs about our examination.
buckle_mobBuckle a living mob to this mob. Also turns you to face the other mob
canUnequipItemTest if an item can be dropped, core to tryUnequipItem()
canUseStorageCan this mob use storage
canUseTopicCan the mob use Topic to interact with machines
can_block_magicChecks to see if the mob can block magic
can_cast_magicChecks to see if the mob can cast normal magic spells.
can_hearCan the mob hear
can_hold_itemsCan this mob hold items
can_interact_withCan the mob interact() with an atom?
can_readCan this mob read
can_resistCan this mob resist (default FALSE)
can_see_reagentsCan the mob see reagents inside of containers?
can_smellCan this mob SMELL THE SMELLY SMELLS?
cancel_cameraSometimes helps if the user is stuck in another perspective or camera
canfaceReturns true if a mob can turn to face things
check_emoteCheck if this message is an emote
clear_from_recent_examinesthe item in our active hand +our active hand, to check if it's disabled/detatched +how long it takes for the blind person to find the thing they're examining +our current intent, so we can go back to it after touching
clear_important_client_contentsWe got our awareness updated by the important recursive contents stuff, now we add our membership +Clears the clients channel of this mob
click_random_mobClicks a random nearby mob with the source from this mob
common_trait_examineExamine text for traits shared by multiple types.
create_chat_messageCreates a message overlay at a defined location for a given speaker
default_lighting_alphaReturns this mob's default lighting alpha
do_after_countReturns the total amount of do_afters this mob is taking part in
do_set_blindnessProc that handles adding and removing the blindness overlays.
downMoves a mob down a z level
dropItemToGroundUsed to drop an item (if it exists) to the ground.
eastfaceHidden verb to turn east
enable_client_mobs_in_contentspropogates ourselves through our nested contents, similar to other important_recursive_contents procs +main difference is that client contents need to possibly duplicate recursive contents for the clients mob AND its eye
equip_to_appropriate_slotAuto equip the passed in item the appropriate slot based on equipment priority
equip_to_slotActually equips an item to a slot (UNSAFE)
equip_to_slot_if_possibleTry to equip an item to a slot on the mob
equip_to_slot_or_delEquip an item to the slot or delete
equipped_speed_modsGets the combined speed modification of all worn items +Except base mob type doesnt really wear items
examinateSignal sent after the eye has been successfully updated, with the client existing. +Examine a mob
execute_modeproc version to finish /mob/verb/mode() execution. used in case the proc needs to be queued for the tick after its first called
execute_quick_equipproc extender of [/mob/verb/quick_equip] used to make the verb queuable if the server is overloaded
face_atomSimple helper to face what you clicked on, in case it should be needed in more than one place
faction_check_mobCheck if the other mob has any factions the same as us
first_nameFind the first name of a mob from the real name with regex
fully_replace_character_nameFully update the name of a mob
get_actions_for_statpanelConvert a list of spells into a displyable list for the statpanel
get_actionspeed_modifiersGet the action speed modifiers list of the mob
get_active_handGet the bodypart for whatever hand we have active, Only relevant for carbons
get_active_held_itemReturns the thing we're currently holding
get_config_move_delayGet the global config movespeed of a mob by type
get_empty_held_indexReturns the first available empty held index
get_equipped_itemsUsed to return a list of equipped items on a mob; does not include held items (use get_all_gear)
get_ghostGet the ghost of this mob (from the mind)
get_hand_pixelsReturns a list of (x,y) coordinates, in pixel offsets.
get_item_by_slotGet the item on the mob in the storage slot identified by the id passed in
get_message_modsExtracts and cleans message of any extenstions at the begining of the message +Inserts the info into the passed list, returns the cleaned message
get_mob_buckling_heightreturns the height in pixel the mob should have when buckled to another mob.
get_mouse_pointer_iconGets the dmi file for the mouse pointer the attached client should use
get_movespeed_modifiersGet the move speed modifiers list of the mob
get_num_held_itemsFind number of held items, multihand compatible
get_photo_descriptionReturn the desc of this mob for a photo
get_policy_keywordsGet the list of keywords for policy config
get_random_valid_zoneMore or less ran_zone, but only returns bodyzones that the mob /actually/ has.
get_realname_stringReturns a mob's real name between brackets. Useful when you want to display a mob's name alongside their real name
get_slot_by_itemGets what slot the item on the mob is held in. +Returns null if the item isn't in any slots on our mob. +Does not check if the passed item is null, which may result in unexpected outcoms.
get_spacemove_backupFinds a target near a mob that is viable for pushing off when moving. +Takes the intended movement direction as input, alongside if the context is checking if we're allowed to continue drifting
get_status_tab_itemsAdds this list to the output to the stat browser
getorganGet the organ object from the mob matching the passed in typepath
getorganslotReturns a list of all organs in specified slot
getorgansofzoneGet organ objects by zone
grab_ghostForce get the ghost from the mind
hallucinatingIs the mob hallucinating?
handle_eye_contacthandle_eye_contact() is called when we examine() something. If we examine an alive mob with a mind who has examined us in the last 2 seconds within 5 tiles, we make eye contact!
has_actionspeed_modifierIs there a actionspeed modifier for this mob
has_light_nearbyChecks if there is enough light where the mob is located
has_movespeed_modifierIs there a movespeed modifier for this mob
has_nightvisionCan this mob see in the dark
hide_other_mob_action_buttonsHide another mob's action buttons from this mob
hivecheckCheck if the mob has a hivemind channel
incapacitatedIs the mob incapacitated
initialize_actionspeedAdds a default action speed
is_blindChecks if the mob is able to see or not. eye_blind is temporary blindness, the trait is if they're permanently blind.
is_literateThis mob is abile to read books
is_muzzledIs the mob muzzled (default false)
last_nameFind the last name of a mob from the real name with regex
log_messageLogs a message in a mob's individual log, and in the global logs as well if log_globally is true
lost_gameThis proc sends the COMSIG_MOB_LOST_VIDEOGAME signal
lowest_buckled_mobFind the mob at the bottom of a buckle chain
manual_emoteAllows the intrepid coder to send a basic emote +Takes text as input, sends it out to those who need to know after some light parsing +If you need something more complex, make it into a datum emote +Arguments:
me_verbThe me emote verb
memoryShows a tgui window with memories
mob_negates_gravityDoes this mob ignore gravity
modeVerb to activate the object in your held hand
northfaceHidden verb to turn north
notify_ghost_revivalNotify a ghost that it's body is being cloned
onShuttleMoveMob move procs
on_observing_action_grantedSignal proc for COMSIG_MOB_GRANTED_ACTION - If we're viewing another mob's action buttons, +we need to update with any newly added buttons granted to the mob.
on_observing_action_removedSignal proc for COMSIG_MOB_REMOVED_ACTION - If we're viewing another mob's action buttons, +we need to update with any removed buttons from the mob.
open_language_menuShow the language menu for this mob
pickup_itemA helper for picking up an item.
play_screen_textproc for playing a screen_text on a mob. +enqueues it if a screen text is running and plays i otherwise +Arguments:
played_gameThis proc sends the COMSIG_MOB_PLAYED_VIDEOGAME signal
pointedPoint at an atom
post_buckle_mobCall back post buckle to a mob to offset your visual height
post_unbuckle_mobCall back post unbuckle from a mob, (reset your visual height here)
query_heartAsk someone if they'd like to award a commendation for the round, 3 tries to get the name they want before we give up
ranged_secondary_attackRanged secondary attack
refresh_looping_ambienceTries to play looping ambience to the mobs.
regenerate_iconsRedraws the entire mob. For carbons, this is rather expensive, please use the individual update_X procs.
remove_actionspeed_modifierRemove a action speed modifier from a mob, whether static or variable.
remove_client_colourRemoves an instance of colour_type from the mob's client_colours list +colour_type - a typepath (subtyped from /datum/client_colour)
remove_from_alive_mob_listRemoves the mob reference from the list of all mobs alive. If mob is cliented, it removes it from the list of all living player-mobs.
remove_from_current_dead_playersRemoves the mob reference from either the list of dead player-mobs or from the list of observers, depending on how they joined the game.
remove_from_current_living_antagsRemoves the mob reference from the list of living antag player-mobs.
remove_from_current_living_playersRemoves the mob reference from the list of living player-mobs. If the mob is an antag, it removes it from the list of living antag player-mobs.
remove_from_dead_mob_listRemvoes the mob reference from list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.
remove_from_mob_listRemoves the mob reference from the list and directory of all mobs. Called on Destroy().
remove_from_mob_suicide_listRemoves a mob references from the list of all suicided mobs
remove_from_player_listRemoves the mob reference from the list of all player-mobs, besides from either the of dead or alive player-mob lists, as appropriate. Called on Logout().
remove_movespeed_modifierRemove a move speed modifier from a mob, whether static or variable.
replace_identification_nameupdate the ID name of this mob
replace_records_nameUpdates SSdatacore records with new name , see mob/living/carbon/human
reset_perspectiveReset the attached clients perspective (viewpoint)
resist_grabAttempt to break free of grabs. Returning TRUE means the user broke free and can move.
say_deadSpeak as a dead person (ghost etc)
say_verbwhat clients use to speak. when you type a message into the chat bar in say mode, this is the first thing that goes off serverside.
send_appearanceMakes a client temporarily aware of an appearance via and invisible vis contents object.
set_blindnessForce set the blindness of a mob to some level
set_blurrinessSet the mobs blurriness of vision to an amount
set_disgustSet the disgust level of a mob
set_drowsynessSet drowsyness of a mob to passed value
set_move_intentToggle the move intent of the mob
set_nutritionForce set the mob nutrition
set_real_nameSets the mob's real name, and normal name if desired.
shared_ui_interactionpublic
show_messageShow a message to this mob (visual or audible)
show_other_mob_action_buttonsShow (most) of the another mob's action buttons to this mob
shuttleRotateMob rotate procs
slipCalled when this mob slips over, override as needed
southfaceHidden verb to turn south
spinSpin this mob around it's central axis
swapHeldIndexesSwitches the items inside of two hand indexes.
sync_lighting_plane_alphaSet the lighting plane hud alpha to the mobs lighting_alpha var
throw_alertProc to create or update an alert. Returns the alert if the alert is new or updated, 0 if it was thrown already +category is a text string. Each mob may only have one alert per category; the previous one will be replaced +path is a type path of the actual alert type to throw +severity is an optional number that will be placed at the end of the icon_state for this alert +for example, high pressure's icon_state is "highpressure" and can be serverity 1 or 2 to get "highpressure1" or "highpressure2" +new_master is optional and sets the alert's icon state to "template" in the ui_style icons with the master as an overlay. +flicks are forwarded to master +override makes it so the alert is not replaced until cleared by a clear_alert with clear_override, and it's used for hallucinations.
total_slowdownCalculate the total slowdown of all movespeed modifiers
upMoves a mob upwards in z level
update_action_buttonsThis proc handles adding all of the mob's actions to their screen
update_actionspeedGo through the list of actionspeed modifiers and calculate a final actionspeed. ANY ADD/REMOVE DONE IN UPDATE_actionspeed MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!
update_ambience_areaSet the mob's tracked ambience area, and unset the old one.
update_blindnessproc that adds and removes blindness overlays when necessary
update_bodyUpdates every part of a carbon's body. Including parts, mutant parts, lips, underwear, and socks.
update_client_colourResets the mob's client.color to null, and then reapplies a new color based +on the client_colour datums it currently has.
update_clothingUpdates every item slot passed into it.
update_config_movespeedSet or update the global movespeed config on a mob
update_eye_blurApply the blurry overlays to a mobs clients screen
update_held_itemsUpdates the held items overlay(s) & HUD element.
update_mob_action_buttonsUpdates all action buttons this mob has.
update_mouse_pointerUpdate the mouse pointer of the attached client in this mob. Red hot proc!
update_movespeedGo through the list of movespeed modifiers and calculate a final movespeed. ANY ADD/REMOVE DONE IN UPDATE_MOVESPEED MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!
update_pocketsUpdates the handcuff overlay & HUD element.
update_pull_hud_iconUpdate the pulling hud icon
update_rest_hud_iconUpdate the resting hud icon
update_sightUpdate the lighting plane and sight of this mob (sends COMSIG_MOB_UPDATE_SIGHT)
update_stamina_hudChanges the stamina HUD based on new information
update_suit_storageUpdates the handcuff overlay & HUD element.
update_worn_backUpdates the back overlay & HUD element.
update_worn_beltUpdates the belt overlay & HUD element.
update_worn_earsUpdates the handcuff overlay & HUD element.
update_worn_glassesUpdates the glasses overlay & HUD element.
update_worn_glovesUpdates the glasses overlay & HUD element.
update_worn_handcuffsUpdates the handcuff overlay & HUD element.
update_worn_headUpdates the on-head overlay & HUD element.
update_worn_idUpdates the id overlay & HUD element.
update_worn_legcuffsUpdates the legcuff overlay & HUD element.
update_worn_maskUpdates the mask overlay & HUD element.
update_worn_neckUpdates the neck overlay & HUD element.
update_worn_oversuitUpdates the oversuit overlay & HUD element.
update_worn_shoesUpdates the shoes overlay & HUD element.
update_worn_undersuitUpdates the undersuit/uniform overlay & HUD element.
visible_messageAdds the functionality to self_message.
vv_get_dropdownGet the mob VV dropdown extras
vv_get_varextra var handling for the logging var
westfaceHidden verb to turn west
whisperWhisper a message.
whisper_verbWhisper verb
won_gameThis proc sends the COMSIG_MOB_WON_VIDEOGAME signal
+

Var Details

LAssailant + + + + +

+

A weakref to the last mob/living/carbon to push/drag/grab this mob (exclusively used by slimes friend recognition)

actions + + + + +

+

List of action hud items the user has

actionspeed_mod_immunities + + + + +

+

List of action speed modifiers ignored by this mob. List -> List (id) -> List (sources)

actionspeed_modification + + + + +

+

List of action speed modifiers applying to this mob

active_hand_index + + + + +

+

What hand is the active hand

active_storage + + + + +

+

Storage component (for mob inventory)

alerts + + + + +

+

Contains /atom/movable/screen/alert only.

+

On /mob so clientless mobs will throw alerts properly.

ambience_tracked_area + + + + +

+

A ref of the area we're taking our ambient loop from.

bodytemperature + + + + +

+

Default body temperature

buckled + + + + +

+

movable atom we are buckled to

cached_multiplicative_actions_slowdown + + + + +

+

The calculated mob action speed slowdown based on the modifiers list

canon_client + + + + +

+

The current client inhabiting this mob. Managed by login/logout +This exists so we can do cleanup in logout for occasions where a client was transfere rather then destroyed +We need to do this because the mob on logout never actually has a reference to client +We also need to clear this var/do other cleanup in client/Destroy, since that happens before logout +HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

chameleon_item_actions + + + + +

+

A list of chameleon actions we have specifically +This can be unified with the actions list

click_intercept + + + + +

+

Allows a datum to intercept all click calls this mob is the source of

control_object + + + + +

+

Used by admins to possess objects. All mobs should have this var

deathsound + + + + +

+

The sound made on death

+

leave null for no sound. used for *deathgasp

desired_surgery + + + + +

+

We use this during unit testing to force a specific surgery by an uncliented mob.

drowsyness + + + + +

+

Drowsyness level of the mob

emotes_used + + + + +

+

Used for tracking last uses of emotes for cooldown purposes

examine_cursor_icon + + + + +

+

Cursor icon used when holding shift over things

eye_blind + + + + +

+

Is the mob blind

eye_blurry + + + + +

+

Does the mob have blurry sight

faction + + + + +

+

A list of factions that this mob is currently in, for hostile mob targetting, amongst other things

has_unlimited_silicon_privilege + + + + +

+

Can they interact with station electronics

held_items + + + + +

+

list of items held in hands

+

len = number of hands, eg: 2 nulls is 2 empty hands, 1 item and 1 null is 1 full hand +and 1 empty hand.

+

NB: contains nulls!

+

held_items[active_hand_index] is the actively held item, but please use +get_active_held_item() instead, because OOP

hud_used + + + + +

+

Active hud

is_shifted + + + + +

+

Whether the mob is pixel shifted or not

job + + + + +

+

What job does this mob have

lastKnownIP + + + + +

+

The last known IP of the client who was in this mob

listed_turf + + + + +

+

the current turf being examined in the stat panel

m_intent + + + + +

+

The movement intent of the mob (run/wal)

machine + + + + +

+

The machine the mob is interacting with (this is very bad old code btw)

mock_client + + + + +

+

A mock client, provided by tests and friends

move_on_shuttle + + + + +

+

Can this mob enter shuttles

movement_delay + + + + +

+

The calculated mob speed slowdown based on the modifiers list

movespeed_mod_immunities + + + + +

+

List of movement speed modifiers ignored by this mob. List -> List (id) -> List (sources)

movespeed_modification + + + + +

+

List of movement speed modifiers applying to this mob

name_archive + + + + +

+

back up of the real name during admin possession

+

If an admin possesses an object it's real name is set to the admin name and this +stores whatever the real name was previously. When possession ends, the real name +is reset to this value

next_move + + + + +

+

Tick time the mob can next move

notransform + + + + +

+

Magic var that stops you moving and interacting with anything

+

Set when you're being turned into something else and also used in a bunch of places +it probably shouldn't really be

nutrition + + + + +

+

Hunger level of the mob

observers + + + + +

+

The list of people observing this mob.

old_bodytemperature + + + + +

+

Our body temperatue as of the last process, prevents pointless work when handling alerts

overeatduration + + + + +

+

How many ticks this mob has been over reating

progressbars + + + + +

+

List of progress bars this mob is currently seeing for actions

real_name + + + + +

+

What is the mobs real name (name is overridden for disguises etc)

registered_z + + + + +

+

THe z level this mob is currently registered in

remote_control + + + + +

+

Calls relay_move() to whatever this is set to when the mob tries to move

satiety + + + + +

+

Satiation level of the mob

sound_environment_override + + + + +

+

Override for sound_environments. If this is set the user will always hear a specific type of reverb (Instead of the area defined reverb)

stat + + + + +

+

Whether a mob is alive or dead. TODO: Move this to living - Nodrak (2019, still here)

status_flags + + + + +

+

bitflags defining which status effects can be inflicted (replaces canknockdown, canstun, etc)

suiciding + + + + +

+

Whether this mob has or is in the middle of committing suicide.

tgui_open_uis + + + + +

+

global

+

Tracks open UIs for a user.

throw_mode + + + + +

+

Is the mob throw intent on

updating_glide_size + + + + +

+

Whether the mob is updating glide size when movespeed updates or not

vis_flags + + + + +

+

when this be added to vis_contents of something it inherit something.plane, important for visualisation of mob in openspace.

zone_selected + + + + +

+

The zone this mob is currently targeting

Proc Details

AltClickOn +

+

Alt click +Unused except for AI

ClickOn +

+

Standard mob ClickOn() +Handles exceptions: Buildmode, middle click, modified clicks, mech actions

+

After that, mostly just check your state, check whether you're holding an item, +check whether you're adjacent to the target, then pass off the click to whoever +is receiving it. +The most common are:

+

CtrlClickOn +

+

Ctrl click +For most objects, pull

CtrlShiftClickOn +

+

Control+Shift click +Unused except for AI

DblClickOn +

+

Default behavior: ignore double clicks (the second click that makes the doubleclick call already calls for a normal click)

Destroy +

+

Delete a mob

+

Removes mob from the following global lists

+ +

Unsets the focus var

+

Clears alerts for this mob

+

Resets all the observers perspectives to the tile this mob is on

+

qdels any client colours in place on this mob

+

Clears any refs to the mob inside its current location

+

Ghostizes the client attached to this mob

+

If our mind still exists, clear its current var to prevent harddels

+

Parent call

GenerateTag +

+

Generate the tag for this mob

+

This is simply "mob_"+ a global incrementing counter that goes up for every mob

Initialize +

+

Intialize a mob

+

Sends global signal COMSIG_GLOB_MOB_CREATED

+

Adds to global lists

+ +

Other stuff:

+

Login +

+

Run when a client is put in this mob or reconnets to byond and their client was on this mob

+

Things it does:

+

MiddleClickOn +

+

Middle click +Mainly used for swapping hands

MouseDrop +

+

Controls if a mouse drop succeeds (return null if it doesnt)

MouseWheelOn +

+

MouseWheelOn

Process_Spacemove +

+

Handles mob/living movement in space (or no gravity)

+

Called by /client/Move()

+

return TRUE for movement or FALSE for none

+

You can move in space if you have a spacewalk ability

RangedAttack +

+

Ranged unarmed attack:

+

This currently is just a default for all mobs, involving +laser eyes and telekinesis. You could easily add exceptions +for things like ranged glove touches, spitting alien acid/neurotoxin, +animals lunging, etc.

ShiftClickOn +

+

Shift click +For most mobs, examine. +This is overridden in ai.dm

Topic +

+

Topic call back for any mob

+

UnarmedAttack +

+

UnarmedAttack: The higest level of mob click chain discounting click itself.

+

This handles, just "clicking on something" without an item. It translates +into atom/proc/attack_hand, [atom/proc/attack_animal] etc.

+

Note: proximity_flag here is used to distinguish between normal usage (flag=1), +and usage when clicking on things telekinetically (flag=0). This proc will +not be called at ranged except with telekinesis.

+

proximity_flag is not currently passed to attack_hand, and is instead used +in human click code to allow glove touches only at melee range.

+

modifiers is a lazy list of click modifiers this attack had, +used for figuring out different properties of the click, mostly right vs left and such.

_pointed +

+

possibly delayed verb that finishes the pointing process starting in [/mob/verb/pointed()]. +either called immediately or in the tick after pointed() was called, as per the [DEFAULT_QUEUE_OR_CALL_VERB()] macro

abandon_mob +

+

Allows you to respawn, abandoning your current mob

+

This sends you back to the lobby creating a new dead mob

+

Only works if flag/norespawn is allowed in config

add_actionspeed_modifier +

+

Add a action speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.

add_client_colour +

+

Adds an instance of colour_type to the mob's client_colours list +colour_type - a typepath (subtyped from /datum/client_colour)

add_movespeed_modifier +

+

Add a move speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.

add_to_alive_mob_list +

+

Adds the mob reference to the list of all mobs alive. If mob is cliented, it adds it to the list of all living player-mobs.

add_to_current_dead_players +

+

Adds the cliented mob reference to either the list of dead player-mobs or to the list of observers, depending on how they joined the game.

add_to_current_living_antags +

+

Adds the cliented mob reference to the list of living antag player-mobs.

add_to_current_living_players +

+

Adds the cliented mob reference to the list of living player-mobs. If the mob is an antag, it adds it to the list of living antag player-mobs.

add_to_dead_mob_list +

+

Adds the mob reference to the list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.

add_to_mob_list +

+

Adds the mob reference to the list and directory of all mobs. Called on Initialize().

add_to_mob_suicide_list +

+

Adds a mob reference to the list of all suicided mobs

add_to_player_list +

+

Adds the cliented mob reference to the list of all player-mobs, besides to either the of dead or alive player-mob lists, as appropriate. Called on Login().

adjust_blindness +

+

Adjust a mobs blindness by an amount

+

Will apply the blind alerts if needed

adjust_blurriness +

+

Adjust the current blurriness of the mobs vision by amount

adjust_bodytemperature +

+

Adjust the body temperature of a mob, with min/max settings

adjust_disgust +

+

Adjust the disgust level of a mob

adjust_drowsyness +

+

Adds passed value to the drowsyness of a mob

adjust_nutrition +

+

Adjust the nutrition of a mob

airflow_stun +

+

Applies the effects of the mob colliding with another movable due to airflow.

animate_client_colour +

+

Works similarly to 'update_client_colour', but animated.

apply_pref_name +

+

Generalised helper proc for letting mobs rename themselves. Used to be clname() and ainame()

attack_ui +

+

This proc is called whenever someone clicks an inventory ui slot.

+

Mostly tries to put the item into the slot if possible, or call attack hand +on the item in the slot if the users active hand is empty

audible_message +

+

Show a message to all mobs in earshot of this one

+

This would be for audible actions by the src mob

+

vars:

+

auto_deadmin_on_login +

+

Checks if the attached client is an admin and may deadmin them

+

Configs:

+ +

Called from login

become_uncliented +

+

Cleanup proc that's called when a mob loses a client, either through client destroy or logout +Logout happens post client del, so we can't just copypaste this there. This keeps things clean and consistent

blind_eyes +

+

Blind a mobs eyes by amount

blur_eyes +

+

Make the mobs vision blurry

broadcast_examine +

+

Tells nearby mobs about our examination.

buckle_mob +

+

Buckle a living mob to this mob. Also turns you to face the other mob

+

You can buckle on mobs if you're next to them since most are dense

canUnequipItem +

+

Test if an item can be dropped, core to tryUnequipItem()

canUseStorage +

+

Can this mob use storage

canUseTopic +

+

Can the mob use Topic to interact with machines

can_block_magic +

+

Checks to see if the mob can block magic

+

args:

+

can_cast_magic +

+

Checks to see if the mob can cast normal magic spells.

+

args:

+

can_hear +

+

Can the mob hear

can_hold_items +

+

Can this mob hold items

can_interact_with +

+

Can the mob interact() with an atom?

can_read +

+

Can this mob read

can_resist +

+

Can this mob resist (default FALSE)

can_see_reagents +

+

Can the mob see reagents inside of containers?

can_smell +

+

Can this mob SMELL THE SMELLY SMELLS?

cancel_camera +

+

Sometimes helps if the user is stuck in another perspective or camera

canface +

+

Returns true if a mob can turn to face things

+

Conditions:

+

check_emote +

+

Check if this message is an emote

clear_from_recent_examines +

+

the item in our active hand +our active hand, to check if it's disabled/detatched +how long it takes for the blind person to find the thing they're examining +our current intent, so we can go back to it after touching

clear_important_client_contents +

+

We got our awareness updated by the important recursive contents stuff, now we add our membership +Clears the clients channel of this mob

click_random_mob +

+

Clicks a random nearby mob with the source from this mob

common_trait_examine +

+

Examine text for traits shared by multiple types.

+

I wish examine was less copypasted. (oranges say, be the change you want to see buddy)

create_chat_message +

+

Creates a message overlay at a defined location for a given speaker

+

Arguments:

+

default_lighting_alpha +

+

Returns this mob's default lighting alpha

do_after_count +

+

Returns the total amount of do_afters this mob is taking part in

do_set_blindness +

+

Proc that handles adding and removing the blindness overlays.

down +

+

Moves a mob down a z level

dropItemToGround +

+

Used to drop an item (if it exists) to the ground.

+

eastface +

+

Hidden verb to turn east

enable_client_mobs_in_contents +

+

propogates ourselves through our nested contents, similar to other important_recursive_contents procs +main difference is that client contents need to possibly duplicate recursive contents for the clients mob AND its eye

equip_to_appropriate_slot +

+

Auto equip the passed in item the appropriate slot based on equipment priority

+

puts the item "W" into an appropriate slot in a human's inventory

+

returns 0 if it cannot, 1 if successful

equip_to_slot +

+

Actually equips an item to a slot (UNSAFE)

+

This is an UNSAFE proc. It merely handles the actual job of equipping. All the checks on +whether you can or can't equip need to be done before! Use mob_can_equip() for that task.

+

In most cases you will want to use equip_to_slot_if_possible()

equip_to_slot_if_possible +

+

Try to equip an item to a slot on the mob

+

This is a SAFE proc. Use this instead of equip_to_slot()!

+

set qdel_on_fail to have it delete W if it fails to equip

+

set disable_warning to disable the 'you are unable to equip that' warning.

+

unset redraw_mob to prevent the mob icons from being redrawn at the end.

+

Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it

equip_to_slot_or_del +

+

Equip an item to the slot or delete

+

This is just a commonly used configuration for the equip_to_slot_if_possible() proc, used to +equip people when the round starts and when events happen and such.

+

Also bypasses equip delay checks, since the mob isn't actually putting it on. +Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it

equipped_speed_mods +

+

Gets the combined speed modification of all worn items +Except base mob type doesnt really wear items

examinate +

+

Signal sent after the eye has been successfully updated, with the client existing. +Examine a mob

+

mob verbs are faster than object verbs. See +this byond forum post +for why this isn't atom/verb/examine()

execute_mode +

+

proc version to finish /mob/verb/mode() execution. used in case the proc needs to be queued for the tick after its first called

execute_quick_equip +

+

proc extender of [/mob/verb/quick_equip] used to make the verb queuable if the server is overloaded

face_atom +

+

Simple helper to face what you clicked on, in case it should be needed in more than one place

faction_check_mob +

+

Check if the other mob has any factions the same as us

+

If exact match is set, then all our factions must match exactly

first_name +

+

Find the first name of a mob from the real name with regex

fully_replace_character_name +

+

Fully update the name of a mob

+

This will update a mob's name, real_name, mind.name, SSdatacore records, pda, id and traitor text

+

Calling this proc without an oldname will only update the mob and skip updating the pda, id and records ~Carn

get_actions_for_statpanel +

+

Convert a list of spells into a displyable list for the statpanel

+

Shows charge and other important info

get_actionspeed_modifiers +

+

Get the action speed modifiers list of the mob

get_active_hand +

+

Get the bodypart for whatever hand we have active, Only relevant for carbons

get_active_held_item +

+

Returns the thing we're currently holding

get_config_move_delay +

+

Get the global config movespeed of a mob by type

get_empty_held_index +

+

Returns the first available empty held index

get_equipped_items +

+

Used to return a list of equipped items on a mob; does not include held items (use get_all_gear)

+

Argument(s):

+

get_ghost +

+

Get the ghost of this mob (from the mind)

get_hand_pixels +

+

Returns a list of (x,y) coordinates, in pixel offsets.

get_item_by_slot +

+

Get the item on the mob in the storage slot identified by the id passed in

get_message_mods +

+

Extracts and cleans message of any extenstions at the begining of the message +Inserts the info into the passed list, returns the cleaned message

+

Result can be

+

get_mob_buckling_height +

+

returns the height in pixel the mob should have when buckled to another mob.

get_mouse_pointer_icon +

+

Gets the dmi file for the mouse pointer the attached client should use

get_movespeed_modifiers +

+

Get the move speed modifiers list of the mob

get_num_held_items +

+

Find number of held items, multihand compatible

get_photo_description +

+

Return the desc of this mob for a photo

get_policy_keywords +

+

Get the list of keywords for policy config

+

This gets the type, mind assigned roles and antag datums as a list, these are later used +to send the user relevant headadmin policy config

get_random_valid_zone +

+

More or less ran_zone, but only returns bodyzones that the mob /actually/ has.

+

get_realname_string +

+

Returns a mob's real name between brackets. Useful when you want to display a mob's name alongside their real name

get_slot_by_item +

+

Gets what slot the item on the mob is held in. +Returns null if the item isn't in any slots on our mob. +Does not check if the passed item is null, which may result in unexpected outcoms.

get_spacemove_backup +

+

Finds a target near a mob that is viable for pushing off when moving. +Takes the intended movement direction as input, alongside if the context is checking if we're allowed to continue drifting

get_status_tab_items +

+

Adds this list to the output to the stat browser

getorgan +

+

Get the organ object from the mob matching the passed in typepath

+

Arguments:

+

getorganslot +

+

Returns a list of all organs in specified slot

+

Arguments:

+

getorgansofzone +

+

Get organ objects by zone

+

This will return a list of all the organs that are relevant to the zone that is passedin

+

Arguments:

+

grab_ghost +

+

Force get the ghost from the mind

hallucinating +

+

Is the mob hallucinating?

handle_eye_contact +

+

handle_eye_contact() is called when we examine() something. If we examine an alive mob with a mind who has examined us in the last 2 seconds within 5 tiles, we make eye contact!

+

Note that if either party has their face obscured, the other won't get the notice about the eye contact +Also note that examine_more() doesn't proc this or extend the timer, just because it's simpler this way and doesn't lose much. +The nice part about relying on examining is that we don't bother checking visibility, because we already know they were both visible to each other within the last second, and the one who triggers it is currently seeing them

has_actionspeed_modifier +

+

Is there a actionspeed modifier for this mob

has_light_nearby +

+

Checks if there is enough light where the mob is located

+

Args: +light_amount (optional) - A decimal amount between 1.0 through 0.0 (default is 0.2)

has_movespeed_modifier +

+

Is there a movespeed modifier for this mob

has_nightvision +

+

Can this mob see in the dark

+

This checks all traits, glasses, and robotic eyeball implants to see if the mob can see in the dark +this does NOT check if the mob is missing it's eyeballs. Also see_in_dark is a BYOND mob var (that defaults to 2)

hide_other_mob_action_buttons +

+

Hide another mob's action buttons from this mob

+

Used for observers viewing another mob's screen

hivecheck +

+

Check if the mob has a hivemind channel

incapacitated +

+

Is the mob incapacitated

initialize_actionspeed +

+

Adds a default action speed

is_blind +

+

Checks if the mob is able to see or not. eye_blind is temporary blindness, the trait is if they're permanently blind.

is_literate +

+

This mob is abile to read books

is_muzzled +

+

Is the mob muzzled (default false)

last_name +

+

Find the last name of a mob from the real name with regex

log_message +

+

Logs a message in a mob's individual log, and in the global logs as well if log_globally is true

lost_game +

+

This proc sends the COMSIG_MOB_LOST_VIDEOGAME signal

+

This should be called by games when the gamer reaches a losing state

lowest_buckled_mob +

+

Find the mob at the bottom of a buckle chain

manual_emote +

+

Allows the intrepid coder to send a basic emote +Takes text as input, sends it out to those who need to know after some light parsing +If you need something more complex, make it into a datum emote +Arguments:

+ +

Returns TRUE if it was able to run the emote, FALSE otherwise.

me_verb +

+

The me emote verb

memory +

+

Shows a tgui window with memories

mob_negates_gravity +

+

Does this mob ignore gravity

mode +

+

Verb to activate the object in your held hand

+

Calls attack self on the item and updates the inventory hud for hands

northface +

+

Hidden verb to turn north

notify_ghost_revival +

+

Notify a ghost that it's body is being cloned

onShuttleMove +

+

Mob move procs

on_observing_action_granted +

+

Signal proc for COMSIG_MOB_GRANTED_ACTION - If we're viewing another mob's action buttons, +we need to update with any newly added buttons granted to the mob.

on_observing_action_removed +

+

Signal proc for COMSIG_MOB_REMOVED_ACTION - If we're viewing another mob's action buttons, +we need to update with any removed buttons from the mob.

open_language_menu +

+

Show the language menu for this mob

pickup_item +

+

A helper for picking up an item.

play_screen_text +

+

proc for playing a screen_text on a mob. +enqueues it if a screen text is running and plays i otherwise +Arguments:

+

played_game +

+

This proc sends the COMSIG_MOB_PLAYED_VIDEOGAME signal

+

This should be called by games whenever the gamer interacts with the device

pointed +

+

Point at an atom

+

mob verbs are faster than object verbs. See +this byond forum post +for why this isn't atom/verb/pointed()

+

note: ghosts can point, this is intended

+

visible_message will handle invisibility properly

+

overridden here and in /mob/dead/observer for different point span classes and sanity checks

post_buckle_mob +

+

Call back post buckle to a mob to offset your visual height

post_unbuckle_mob +

+

Call back post unbuckle from a mob, (reset your visual height here)

query_heart +

+

Ask someone if they'd like to award a commendation for the round, 3 tries to get the name they want before we give up

ranged_secondary_attack +

+

Ranged secondary attack

+

If the same conditions are met to trigger RangedAttack but it is +instead initialized via a right click, this will trigger instead. +Useful for mobs that have their abilities mapped to right click.

refresh_looping_ambience +

+

Tries to play looping ambience to the mobs.

regenerate_icons +

+

Redraws the entire mob. For carbons, this is rather expensive, please use the individual update_X procs.

remove_actionspeed_modifier +

+

Remove a action speed modifier from a mob, whether static or variable.

remove_client_colour +

+

Removes an instance of colour_type from the mob's client_colours list +colour_type - a typepath (subtyped from /datum/client_colour)

remove_from_alive_mob_list +

+

Removes the mob reference from the list of all mobs alive. If mob is cliented, it removes it from the list of all living player-mobs.

remove_from_current_dead_players +

+

Removes the mob reference from either the list of dead player-mobs or from the list of observers, depending on how they joined the game.

remove_from_current_living_antags +

+

Removes the mob reference from the list of living antag player-mobs.

remove_from_current_living_players +

+

Removes the mob reference from the list of living player-mobs. If the mob is an antag, it removes it from the list of living antag player-mobs.

remove_from_dead_mob_list +

+

Remvoes the mob reference from list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.

remove_from_mob_list +

+

Removes the mob reference from the list and directory of all mobs. Called on Destroy().

remove_from_mob_suicide_list +

+

Removes a mob references from the list of all suicided mobs

remove_from_player_list +

+

Removes the mob reference from the list of all player-mobs, besides from either the of dead or alive player-mob lists, as appropriate. Called on Logout().

remove_movespeed_modifier +

+

Remove a move speed modifier from a mob, whether static or variable.

replace_identification_name +

+

update the ID name of this mob

replace_records_name +

+

Updates SSdatacore records with new name , see mob/living/carbon/human

reset_perspective +

+

Reset the attached clients perspective (viewpoint)

+

reset_perspective(null) set eye to common default : mob on turf, loc otherwise +reset_perspective(thing) set the eye to the thing (if it's equal to current default reset to mob perspective)

resist_grab +

+

Attempt to break free of grabs. Returning TRUE means the user broke free and can move.

say_dead +

+

Speak as a dead person (ghost etc)

say_verb +

+

what clients use to speak. when you type a message into the chat bar in say mode, this is the first thing that goes off serverside.

send_appearance +

+

Makes a client temporarily aware of an appearance via and invisible vis contents object.

set_blindness +

+

Force set the blindness of a mob to some level

set_blurriness +

+

Set the mobs blurriness of vision to an amount

set_disgust +

+

Set the disgust level of a mob

set_drowsyness +

+

Set drowsyness of a mob to passed value

set_move_intent +

+

Toggle the move intent of the mob

+

triggers an update the move intent hud as well

set_nutrition +

+

Force set the mob nutrition

set_real_name +

+

Sets the mob's real name, and normal name if desired.

shared_ui_interaction +

+

public

+

Standard interaction/sanity checks. Different mob types may have overrides.

+

return UI_state The state of the UI.

show_message +

+

Show a message to this mob (visual or audible)

show_other_mob_action_buttons +

+

Show (most) of the another mob's action buttons to this mob

+

Used for observers viewing another mob's screen

shuttleRotate +

+

Mob rotate procs

slip +

+

Called when this mob slips over, override as needed

+

knockdown_amount - time (in deciseconds) the slip leaves them on the ground +slipped_on - optional, what'd we slip on? if not set, we assume they just fell over +lube - bitflag of "lube flags", see [mobs.dm] for more information +paralyze - time (in deciseconds) the slip leaves them paralyzed / unable to move +force_drop = the slip forces them to drop held items

southface +

+

Hidden verb to turn south

spin +

+

Spin this mob around it's central axis

swapHeldIndexes +

+

Switches the items inside of two hand indexes.

sync_lighting_plane_alpha +

+

Set the lighting plane hud alpha to the mobs lighting_alpha var

throw_alert +

+

Proc to create or update an alert. Returns the alert if the alert is new or updated, 0 if it was thrown already +category is a text string. Each mob may only have one alert per category; the previous one will be replaced +path is a type path of the actual alert type to throw +severity is an optional number that will be placed at the end of the icon_state for this alert +for example, high pressure's icon_state is "highpressure" and can be serverity 1 or 2 to get "highpressure1" or "highpressure2" +new_master is optional and sets the alert's icon state to "template" in the ui_style icons with the master as an overlay. +flicks are forwarded to master +override makes it so the alert is not replaced until cleared by a clear_alert with clear_override, and it's used for hallucinations.

total_slowdown +

+

Calculate the total slowdown of all movespeed modifiers

up +

+

Moves a mob upwards in z level

update_action_buttons +

+

This proc handles adding all of the mob's actions to their screen

+

If you just need to update existing buttons, use /mob/proc/update_mob_action_buttons!

+

Arguments:

+

update_actionspeed +

+

Go through the list of actionspeed modifiers and calculate a final actionspeed. ANY ADD/REMOVE DONE IN UPDATE_actionspeed MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!

update_ambience_area +

+

Set the mob's tracked ambience area, and unset the old one.

update_blindness +

+

proc that adds and removes blindness overlays when necessary

update_body +

+

Updates every part of a carbon's body. Including parts, mutant parts, lips, underwear, and socks.

update_client_colour +

+

Resets the mob's client.color to null, and then reapplies a new color based +on the client_colour datums it currently has.

update_clothing +

+

Updates every item slot passed into it.

update_config_movespeed +

+

Set or update the global movespeed config on a mob

update_eye_blur +

+

Apply the blurry overlays to a mobs clients screen

update_held_items +

+

Updates the held items overlay(s) & HUD element.

update_mob_action_buttons +

+

Updates all action buttons this mob has.

+

Arguments:

+

update_mouse_pointer +

+

Update the mouse pointer of the attached client in this mob. Red hot proc!

update_movespeed +

+

Go through the list of movespeed modifiers and calculate a final movespeed. ANY ADD/REMOVE DONE IN UPDATE_MOVESPEED MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!

update_pockets +

+

Updates the handcuff overlay & HUD element.

update_pull_hud_icon +

+

Update the pulling hud icon

update_rest_hud_icon +

+

Update the resting hud icon

update_sight +

+

Update the lighting plane and sight of this mob (sends COMSIG_MOB_UPDATE_SIGHT)

update_stamina_hud +

+

Changes the stamina HUD based on new information

update_suit_storage +

+

Updates the handcuff overlay & HUD element.

update_worn_back +

+

Updates the back overlay & HUD element.

update_worn_belt +

+

Updates the belt overlay & HUD element.

update_worn_ears +

+

Updates the handcuff overlay & HUD element.

update_worn_glasses +

+

Updates the glasses overlay & HUD element.

update_worn_gloves +

+

Updates the glasses overlay & HUD element.

update_worn_handcuffs +

+

Updates the handcuff overlay & HUD element.

update_worn_head +

+

Updates the on-head overlay & HUD element.

update_worn_id +

+

Updates the id overlay & HUD element.

update_worn_legcuffs +

+

Updates the legcuff overlay & HUD element.

update_worn_mask +

+

Updates the mask overlay & HUD element.

update_worn_neck +

+

Updates the neck overlay & HUD element.

update_worn_oversuit +

+

Updates the oversuit overlay & HUD element.

update_worn_shoes +

+

Updates the shoes overlay & HUD element.

update_worn_undersuit +

+

Updates the undersuit/uniform overlay & HUD element.

visible_message +

+

Adds the functionality to self_message.

vv_get_dropdown +

+

Get the mob VV dropdown extras

vv_get_var +

+

extra var handling for the logging var

westface +

+

Hidden verb to turn west

whisper +

+

Whisper a message.

+

Basic level implementation just speaks the message, nothing else.

whisper_verb +

+

Whisper verb

won_game +

+

This proc sends the COMSIG_MOB_WON_VIDEOGAME signal

+

This should be called by games when the gamer reaches a winning state

+ + + diff --git a/mob/camera/ai_eye/remote/base_construction.html b/mob/camera/ai_eye/remote/base_construction.html new file mode 100644 index 000000000000..0880148b20e7 --- /dev/null +++ b/mob/camera/ai_eye/remote/base_construction.html @@ -0,0 +1,39 @@ + + + + + + + /mob/camera/ai_eye/remote/base_construction - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

base_construction + + + +

+ +

A mob used by /obj/machinery/computer/camera_advanced/base_construction for building in specific areas.

+

Controlled by a user who is using a base construction console. +The user will be granted a set of building actions by the console, and the actions will be carried out by this mob. +The mob is constrained to a given area defined by the base construction console.

+

Vars

linked_consoleReference to the camera console controlling this drone
+

Var Details

linked_console + + + + +

+

Reference to the camera console controlling this drone

+ + + diff --git a/mob/camera/blob.html b/mob/camera/blob.html new file mode 100644 index 000000000000..52355baeb726 --- /dev/null +++ b/mob/camera/blob.html @@ -0,0 +1,50 @@ + + + + + + + /mob/camera/blob - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

blob + + + +

+ + + + +

Vars

all_blobsA list of all blob structures
strain_choicesThe list of strains the blob can reroll for.

Procs

open_reroll_menuOpen the menu to reroll strains
+

Var Details

all_blobs + + + + +

+

A list of all blob structures

strain_choices + + + + +

+

The list of strains the blob can reroll for.

Proc Details

open_reroll_menu +

+

Open the menu to reroll strains

+ + + diff --git a/mob/camera/imaginary_friend.html b/mob/camera/imaginary_friend.html new file mode 100644 index 000000000000..efdcd6aef223 --- /dev/null +++ b/mob/camera/imaginary_friend.html @@ -0,0 +1,50 @@ + + + + + + + /mob/camera/imaginary_friend - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

imaginary_friend + + + +

+ + + +

Procs

InitializeArguments:
setup_friend_from_prefsSets up the imaginary friend's name and look using a set of datum preferences.

Proc Details

Initialize +

+

Arguments:

+

setup_friend_from_prefs +

+

Sets up the imaginary friend's name and look using a set of datum preferences.

+

Arguments:

+
+ + + diff --git a/mob/dead/new_player.html b/mob/dead/new_player.html new file mode 100644 index 000000000000..b0a760e8acb4 --- /dev/null +++ b/mob/dead/new_player.html @@ -0,0 +1,172 @@ + + + + + + + /mob/dead/new_player - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

new_player + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

ineligible_for_rolesUsed to make sure someone doesn't get spammed with messages if they're ineligible for roles.
new_characterFor instant transfer once the round is set up
spawningReferenced when you want to delete the new_player later on in the code.

Procs

create_characterCreates, assigns and returns the new_character to spawn as. Assumes a valid mind.assigned_role exists.
handle_player_pollingShows a list of currently running polls a player can vote/has voted on
open_interviewVerb for opening the existing interview, or if relevant creating a new interview if possible.
poll_playerRedirects a player to the correct poll window based on poll type.
poll_player_irvShows voting window for an IRV type poll, listing its options and relevant details.
poll_player_multiShows voting window for a multiple choice type poll, listing its options and relevant details.
poll_player_optionShows voting window for an option type poll, listing its options and relevant details.
poll_player_ratingShows voting window for a rating type poll, listing its options and relevant details.
poll_player_textShows voting window for a text response type poll, listing its relevant details.
register_for_interviewPrepares a client for the interview system, and provides them with a new interview
vote_on_poll_handlerRuns some poll validation before a vote is processed.
vote_on_poll_irvProcesses vote form data and saves results to the database for an IRV type poll.
vote_on_poll_multiProcesses vote form data and saves results to the database for a multiple choice type poll.
vote_on_poll_optionProcesses vote form data and saves results to the database for an option type poll.
vote_on_poll_ratingProcesses vote form data and saves results to the database for a rating type poll.
vote_on_poll_textProcesses response form data and saves results to the database for a text response type poll.
+

Var Details

ineligible_for_roles + + + + +

+

Used to make sure someone doesn't get spammed with messages if they're ineligible for roles.

new_character + + + + +

+

For instant transfer once the round is set up

spawning + + + + +

+

Referenced when you want to delete the new_player later on in the code.

Proc Details

create_character +

+

Creates, assigns and returns the new_character to spawn as. Assumes a valid mind.assigned_role exists.

handle_player_polling +

+

Shows a list of currently running polls a player can vote/has voted on

open_interview +

+

Verb for opening the existing interview, or if relevant creating a new interview if possible.

poll_player +

+

Redirects a player to the correct poll window based on poll type.

poll_player_irv +

+

Shows voting window for an IRV type poll, listing its options and relevant details.

+

If already voted on, the options are sorted how a player voted for them, otherwise they are randomly shuffled.

poll_player_multi +

+

Shows voting window for a multiple choice type poll, listing its options and relevant details.

+

If already voted on, the options a player voted for are pre-selected.

poll_player_option +

+

Shows voting window for an option type poll, listing its options and relevant details.

+

If already voted on, the option a player voted for is pre-selected.

poll_player_rating +

+

Shows voting window for a rating type poll, listing its options and relevant details.

+

If already voted on, the options a player voted for are pre-selected.

poll_player_text +

+

Shows voting window for a text response type poll, listing its relevant details.

+

If already responded to, the saved response of a player is shown.

register_for_interview +

+

Prepares a client for the interview system, and provides them with a new interview

+

This proc will both prepare the user by removing all verbs from them, as well as +giving them the interview form and forcing it to appear.

vote_on_poll_handler +

+

Runs some poll validation before a vote is processed.

+

Checks a player is who they claim to be and that a poll is actually still running. +Also loads the vote_id to pass onto single-option and text polls. +Increments the vote count when successful.

vote_on_poll_irv +

+

Processes vote form data and saves results to the database for an IRV type poll.

vote_on_poll_multi +

+

Processes vote form data and saves results to the database for a multiple choice type poll.

vote_on_poll_option +

+

Processes vote form data and saves results to the database for an option type poll.

vote_on_poll_rating +

+

Processes vote form data and saves results to the database for a rating type poll.

vote_on_poll_text +

+

Processes response form data and saves results to the database for a text response type poll.

+ + + diff --git a/mob/living.html b/mob/living.html new file mode 100644 index 000000000000..d78c74fb8f13 --- /dev/null +++ b/mob/living.html @@ -0,0 +1,2146 @@ + + + + + + + /mob/living - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

living + + + +

+ +

Brutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage) +Oxygen depravation damage (no air in lungs) +Toxic damage caused by being poisoned or radiated +Burn damage caused by being way too hot, too cold or burnt. +Damage caused by being cloned or ejected from the cloner early. slimes also deal cloneloss damage to victims +Used by [living/Bump()][/mob/living/proc/Bump] and [living/PushAM()][/mob/living/proc/PushAM] to prevent potential infinite loop.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_grabsA lazylist of grab objects we have
blood_volumeconverted to a list of stun absorption sources this mob has when one is added
body_positionVariable to track the body position of a mob, regardgless of the actual angle of rotation (usually matching it, but not necessarily).
body_position_pixel_x_offsetThe y amount a mob's sprite should be offset due to the current position they're in (e.g. lying down moves your sprite down)
body_position_pixel_y_offsetThe x amount a mob's sprite should be offset due to the current position they're in
body_temp_changesList of changes to body temperature, used by desease symtoms like fever
bubble_iconused to prevent spam with smoke reagent reaction on mob.
butcher_difficultythese will always be yielded from butchering
butcher_resultsthe id a mob gets when it's created
can_buckle_toIs this mob allowed to be buckled/unbuckled to/from things?
chem_effectsChemical effects. Built by the chemical processing stage of Life().
combat_modeIf combat mode is on or not
current_turf_slowdownwhat multiplicative slowdown we get from turfs currently.
default_num_handsHow many hands does this mob have by default. This shouldn't change at runtime.
default_num_legsdoes the mob have distinct limbs?(arms,legs, chest,head) +How many legs does this mob have by default. This shouldn't change at runtime.
disease_resistanceslist of all diseases in a mob
fire_stack_decay_rateRate at which fire stacks should decay from this mob
gravity_stateWhat our current gravity state is. Used to avoid duplicate animates and such
guaranteed_butcher_resultsthese will be yielded from butchering with a probability chance equal to the butcher item's effectiveness
gunpointGunpoint container
hardcrit_thresholdwhen the mob goes from "normal" to crit +When the mob enters hard critical state and is fully incapacitated.
has_limbsmore or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..
healthThe mob's current health.
health_doll_iconwhat icon the mob uses for speechbubbles
held_typeThe type of /obj/item/mob_holder to create if the mob is picked up.
held_w_classThe w_class of the holder when held.
implantsa list of all status effects the mob has
incorporeal_moveAllows mobs to move through dense areas without restriction. For instance, in space or out of holder objects.
last_bumpedif this exists AND the normal sprite is bigger than 32x32, this is the replacement icon state (because health doll size limitations). the icon will always be screen_gen.dmi
last_specialDirectly affects how long a mob will hallucinate for
last_vent_dirThe last direction we moved in a vent. Used to make holding two directions feel nice
lastattackerBadminnery resize
life_ticksHow many ticks of Life() has this mob gone through
living_flagsGeneric bitflags for boolean conditions at the /mob/living level. Keep this for inherent traits of living types, instead of runtime-changeable ones.
lying_angleNumber of degrees of rotation of a mob. 0 means no rotation, up-side facing NORTH. 90 means up-side rotated to face EAST, and so on.
lying_prevValue of lying lying_angle before last change. TODO: Remove the need for this.
maxHealthMaximum health that should be possible.
mob_surgery_speed_modMob specific surgery speed modifier
mobility_flagsFlags that determine the potential of a mob to perform certain actions. Do not change this directly.
navigate_cooldownCooldown of the navigate() verb.
num_handsHow many hands hands does this mob currently have. Should only be changed through set_num_hands()
num_legsHow many legs does this mob currently have. Should only be changed through set_num_legs()
numbaif a mob's name should be appended with an id when created e.g. Mob (666)
on_fireHelper vars for quick access to firestacks, these should be updated every time firestacks are adjusted
pipetrackerCell tracker datum we use to manage the pipes around us, for faster ventcrawling +Should only exist if you're in a pipe
see_overridehow much blood the mob has
staminaThe holder for stamina handling
stasis_levelFor each life tick, how many do we skip?
stasis_sourcesList of stasis sources to their given value
statsThe container for stats and skills
status_effects0 for no override, sets see_invisible = see_override in silicon & carbon life process via update_sight()
stun_absorptioneffectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier
surgeries_in_progressA lazylist of active surgeries and their relevant data.
talkcountThe amount of times we've opened our stupid mouth
timeofdeathUsed by the resist verb, likely used to prevent players from bypassing next_move by logging in/out.
todTime of death
usable_handsHow many usable hands does this mob currently have. Should only be changed through set_usable_hands()
usable_legsHow many usable legs this mob currently has. Should only be changed through set_usable_legs()
ventcrawl_layerused for database logging
voice_typeThe talk chime set to use when speaking.
worn_slot_flagsif it can be held, can it be equipped to any slots? (think pAI's on head)
z_eyeUsed for lookup/lookdown verbs

Procs

DisorientApplies the "disoriented" status effect to the mob, among other potential statuses. +Args:
HearPlay a sound to indicate we just spoke
IsDisorientedplaceholder
IsFrozenFROZEN
LifeHandles the biological and general over-time processes of the mob.
PermaSleepingAllows us to set a permanent sleep on a player (use with caution and remember to unset it with SetSleeping() after the effect is over)
Write_MemoryProc used by different station pets such as Ian and Poly so that some of their data can persist between rounds. +This base definition only contains a trait and comsig to stop memory from being (over)written. +Specific behavior is defined on subtypes that use it.
add_body_temperature_changeadd_body_temperature_change Adds modifications to the body temperature
add_movespeed_mod_immunitiesIgnores specific slowdowns. Accepts a list of slowdowns.
add_quirkAdds the passed quirk to the mob
adjustBloodVolumeBLOOD SYSTEM +Adjusts blood volume, returning the difference.
adjust_drunk_effectAdjust the "drunk value" the mob is currently experiencing, +or applies a drunk effect if the mob isn't currently drunk (or tipsy)
adjust_fire_stacksAdjust the amount of fire stacks on a mob
adjust_incapacitated
adjust_status_effects_on_shake_upCLEAR STATUS
adjust_timed_status_effectAdjusts a timed status effect on the mob,taking into account any existing timed status effects. +This can be any status effect that takes into account "duration" with their initialize arguments.
admin_give_speech_impedimentAdmin only proc for giving a certain speech impediment to this mob
after_grab_releaseCalled by grab objects when a grab has been released
amount_incapacitatedProc that returns the remaining duration of the status efect in deciseconds.
apply_damageApplies damage to this mob
apply_damage_typelike apply_damage except it always uses the damage procs
apply_damagesapplies multiple damages at once via /mob/living/proc/apply_damage
apply_effectapplies various common status effects or common hardcoded mob effects
apply_effectsApplies multiple effects at once via /mob/living/proc/apply_effect
apply_martial_artApply a martial art move from src to target.
apply_painApplies pain to a mob.
apply_prefs_jobApplies the preference options to the spawning mob, taking the job into account. Assumes the client has the proper mind.
apply_status_effectApplies a given status effect to this mob.
blurry_vision_changeCalled when [TRAIT_BLURRY_EYES] is added or removed
can_enter_ventChecks if the mob is able to enter the vent, and provides feedback if they are unable to.
can_injectReturns whether or not the mob can be injected. Should not perform any side effects.
can_look_upChecks if the user is incapacitated or on cooldown.
can_unarmed_attackChecks if this mob is in a valid state to punch someone.
canfaceChecks mobility move as well as parent checks
do_jitter_animationHelper proc that causes the mob to do a jittering animation by jitter_amount. +jitter_amount will only apply up to 300 (maximum jitter effect).
do_slap_animationDoes a slap animation on an atom
drag_damageTake damage from being dragged while prone. Or not. You decide.
dustThis is the proc for turning a mob into ash. +Dusting robots does not eject the MMI, so it's a bit more powerful than gib()
electrocute_actAs the name suggests, this should be called to apply electric shocks.
execute_resistproc extender of [/mob/living/verb/resist] meant to make the process queable if the server is overloaded when the verb is called
expose_reagents
extinguish_mobExtinguish all fire on the mob
fakedeathInduces fake death on a living mob.
find_nearest_stair_or_ladderFinds nearest ladder or staircase either up or down.
flick_emote_popup_on_mobA proc type that, when called, causes a image/sprite to appear above whatever entity it is called on.
get_active_grabReturns the currently selected grab item
get_all_grabbed_movablesReturns a list of every movable we are grabbing
get_attack_typeReturns the attack damage type of a living mob such as BRUTE.
get_blood_dna_listreturns the mob's dna info as a list, to be inserted in an object's blood_DNA list
get_body_temp_cold_damage_limitReturns the body temperature at which this mob will start taking cold damage.
get_body_temp_heat_damage_limitReturns the body temperature at which this mob will start taking heat damage.
get_body_temp_normalget_body_temp_normal Returns the mobs normal body temperature with any modifications applied
get_body_temp_normal_changeget_body_temp_normal_change Returns the aggregate change to body temperature
get_damage_amountreturn the damage amount for the type given
get_drunk_amountHelper to get the amount of drunkness the mob's currently experiencing.
get_exp_listReturns an assoc list of assignments and minutes for updating a client's exp time in the databse.
get_fullnessGet the fullness of the mob
get_idcardGets ID card from a mob. +Argument:
get_organic_healthReturns the health of the mob while ignoring damage of non-organic (prosthetic) limbs +Used by cryo cells to not permanently imprison those with damage from prosthetics, +as they cannot be healed through chemicals.
get_quirk_stringget_quirk_string() is used to get a printable string of all the quirk traits someone has for certain criteria
get_status_effect_examinationsThe first 1-FLAVOR_PREVIEW_LIMIT characters in the mob's "examine_text" variable. FLAVOR_PREVIEW_LIMIT is defined in flavor_defines.dm. +Shows any and all examine text related to any status effects the user has.
get_taste_sensitivityGets taste sensitivity of given mob
get_timed_status_effect_durationGets how many deciseconds are remaining in +the duration of the passed status effect on this mob.
gibBlow up the mob into giblets
give_unique_nameGives simple mobs their unique/randomized name.
gravity_setupLiving Mob use event based gravity +We check here to ensure we haven't dropped any gravity changes
handle_grabs_during_movementCalled during or immediately after movement. Used to move grab targets around to ensure the grabs do not break during movement.
handle_ventcrawlHandles the entrance and exit on ventcrawling
has_reagentCheck if the mob contains this reagent.
has_status_effectChecks if this mob has a status effect that shares the passed effect's ID
has_status_effect_listReturns a list of all status effects that share the passed effect type's ID
hasparasitesparasite tracking/finding procs
heal_bodypart_damageheal ONE external organ, organ gets randomly selected from damaged ones.
heal_ordered_damageheal up to amount damage, in a given order
heal_overall_damageheal MANY bodyparts, in random order
ignore_slowdownIgnores all slowdowns that lack the IGNORE_NOSLOW flag.
in_fovIs observed_atom in a mob's field of view? This takes blindness, nearsightness and FOV into consideration
incapacitate
incapacitatedChecks if a mob is incapacitated
is_face_visibleOnly defined for carbons who can wear masks and helmets, we just assume other mobs have visible faces
is_grabbingReturns TRUE if src is grabbing hold of the target
leavesBloodTrailReturns TRUE if we should try to leave a blood trail.
lying_angle_on_movementCalled by mob Move() when the lying_angle is different than zero, to better visually simulate crawling.
makeBloodTrailCreates a trail of blood on Start, facing Direction
mob_pickupSpawn a /obj/item/mob_holder, move src into it, and put it into the hands of user.
mob_try_pickupAttempt to pick up a mob.
move_grabbed_atoms_towardsMove grabbed atoms towards a destination
move_into_ventMoves living mob directly into the vent as a ventcrawler
on_airflow_trait_gainCalled when TRAIT_EXPERIENCING_AIRFLOW is added to the mob.
on_airflow_trait_lossCalled when TRAIT_EXPERIENCING_AIRFLOW is removed from the mob.
on_clumsy_trait_gainCalled when [TRAIT_CLUMSY] is added to the mob.
on_clumsy_trait_lossCalled when [TRAIT_CLUMSY] is removed from the mob.
on_deathcoma_trait_gainCalled when TRAIT_DEATHCOMA is added to the mob.
on_deathcoma_trait_lossCalled when TRAIT_DEATHCOMA is removed from the mob.
on_exhausted_trait_gainCalled when TRAIT_EXHAUSTED is added to the mob.
on_exhausted_trait_lossCalled when TRAIT_EXHAUSTED is removed from the mob.
on_fallCalled when mob changes from a standing position into a prone while lacking the ability to stand up at the moment.
on_fire_stackHandles effects happening when mob is on normal fire
on_floored_endProc to append behavior to the condition of being floored. Called when the condition ends.
on_floored_startProc to append behavior to the condition of being floored. Called when the condition starts.
on_floored_trait_gainCalled when TRAIT_FLOORED is added to the mob.
on_floored_trait_lossCalled when TRAIT_FLOORED is removed from the mob.
on_force_gravityCalled when TRAIT_FORCED_GRAVITY is gained or lost
on_forced_standing_trait_gainCalled when TRAIT_FORCED_STANDING is added to the mob.
on_forced_standing_trait_lossCalled when TRAIT_FORCED_STANDING is removed from the mob.
on_handsblocked_endProc to append behavior to the condition of being handsblocked. Called when the condition ends.
on_handsblocked_startProc to append behavior to the condition of being handsblocked. Called when the condition starts.
on_handsblocked_trait_gainCalled when TRAIT_HANDS_BLOCKED is added to the mob.
on_handsblocked_trait_lossCalled when TRAIT_HANDS_BLOCKED is removed from the mob.
on_hearing_lossCalled when [TRAIT_DEAF] is added to the mob.
on_hearing_regainCalled when [TRAIT_DEAF] is added to the mob.
on_ignore_gravityCalled when TRAIT_IGNORING_GRAVITY is gained or lost
on_immobilized_trait_gainCalled when TRAIT_IMMOBILIZED is added to the mob.
on_immobilized_trait_lossCalled when TRAIT_IMMOBILIZED is removed from the mob.
on_incapacitated_trait_gainCalled when [TRAIT_INCAPACITATED] is added to the mob.
on_incapacitated_trait_lossCalled when [TRAIT_INCAPACITATED] is removed from the mob.
on_knockedout_trait_gainCalled when TRAIT_KNOCKEDOUT is added to the mob.
on_knockedout_trait_lossCalled when TRAIT_KNOCKEDOUT is removed from the mob.
on_loc_force_gravityCalled when our loc's TRAIT_FORCED_GRAVITY is gained or lost
on_lying_downProc to append behavior related to lying down.
on_movement_type_flag_disabledFrom [element/movetype_handler/on_movement_type_trait_loss()]
on_movement_type_flag_enabledFrom [element/movetype_handler/on_movement_type_trait_gain()]
on_negate_gravityCalled when TRAIT_NEGATES_GRAVITY is gained or lost
on_pull_blocked_trait_gainCalled when TRAIT_PULL_BLOCKED is added to the mob.
on_pull_blocked_trait_lossCalled when TRAIT_PULL_BLOCKED is removed from the mob.
on_restrained_trait_gainCalled when TRAIT_ARMS_RESTRAINED is added to the mob.
on_restrained_trait_lossCalled when TRAIT_ARMS_RESTRAINED is removed from the mob.
on_skittish_trait_gainCalled when [TRAIT_SKITTISH] is added to the mob.
on_skittish_trait_lossCalled when [TRAIT_SKITTISH] is removed from the mob.
on_stamina_updateCalled by [update()][/datum/stamina_container/proc/update]
on_standing_upProc to append behavior related to lying down.
on_ui_blocked_trait_gainCalled when TRAIT_UI_BLOCKED is added to the mob.
on_ui_blocked_trait_lossCalled when TRAIT_UI_BLOCKED is removed from the mob.
pre_stamina_changeCalled by the stamina holder, passing the change in stamina to modify.
recursively_get_all_grabbed_movablesGets every grabbed atom of this mob, and every grabbed atom of that grabber, repeat
recursively_get_conga_lineGets every grab object owned by this mob, and every grabbed atom of those grabbed mobs
refresh_gravityHandles gravity effects. Call if something about our gravity has potentially changed!
register_init_signalsCalled on /mob/living/Initialize(mapload), for the mob to register to relevant signals.
release_active_grabReleases the currently selected grab item
release_all_grabsRelease all grabs we have
release_grabsRelease the given movable from a grab
remove_body_temperature_changeremove_body_temperature_change Removes the modifications to the body temperature
remove_emote_popup_on_mobA proc that is automatically called whenever flick_emote_popup_on_mob's addtimer expires, and removes the popup.
remove_movespeed_mod_immunitiesUnignores specific slowdowns. Accepts a list of slowdowns.
remove_status_effectRemoves all instances of a given status effect from this mob
resist_buckleAttempt to break out of a buckle. Returns TRUE if successful.
resolve_unarmed_attackCalled by UnarmedAttack(), directs the proc to a type-specified child proc.
right_click_attack_chainChecks for RIGHT_CLICK in modifiers and runs attack_hand_secondary if so. Returns TRUE if normal chain blocked
set_body_positionChanges the value of the [living/body_position] variable.
set_buckledReports the event of the change in value of the buckled variable.
set_drunk_effectDirectly sets the "drunk value" the mob is currently experiencing to the passed value, +or applies a drunk effect with the passed value if the mob isn't currently drunk
set_fire_stacksSet the fire stacks on a mob
set_healthSets the current mob's health value. Do not call directly if you don't know what you are doing, use the damage procs, instead.
set_incapacitated
set_lying_angleChanges the inclination angle of a mob, used by humans and others to differentiate between standing up and prone positions.
set_lying_downChange the [body_position] to LYING_DOWN and update associated behavior.
set_num_handsProc to modify the value of num_hands and hook behavior associated to this event.
set_num_legsProc to modify the value of num_legs and hook behavior associated to this event.
set_restingProc to hook behavior to the change of value in the resting variable.
set_safe_hunger_levelSets the mob's hunger levels to a safe overall level. Useful for TRAIT_NOHUNGER species changes.
set_timed_status_effectSets a timed status effect of some kind on a mob to a specific value. +If only_if_higher is TRUE, it will only set the value up to the passed duration, +so any pre-existing status effects of the same type won't be reduced down
set_usable_handsProc to modify the value of usable_hands and hook behavior associated to this event.
set_usable_legsProc to modify the value of usable_legs and hook behavior associated to this event.
shared_living_ui_distancepublic
singularity_actLogs, gibs and returns point values of whatever mob is unfortunate enough to get eaten.
sleeping_carp_helpVerb added to humans who learn the art of the sleeping carp.
stamina_swingTake away stamina from an attack being thrown.
stat_rollPerform a stat roll, returning a roll result datum.
take_bodypart_damagedamage ONE external organ, organ gets randomly selected from damaged ones.
take_overall_damagedamage MANY bodyparts, in random order
tram_slam_landA proc triggered by callback when someone gets slammed by the tram and lands somewhere.
transfer_blood_toBLOOD TRANSFERS
treat_messageTreats the passed message with things that may modify speech (stuttering, slurring etc).
try_injectLike can_inject, but it can perform side effects.
try_make_grabAttempt to create a grab, returns TRUE on success
try_slapcraftHave a living mob attempt to do a slapcraft. The mob is using the second item on the first item.
unequip_everythingDrop all items to the floor.
unignore_slowdownUnignores all slowdowns that lack the IGNORE_NOSLOW flag.
update_fire_overlaySets fire overlay of the mob.
update_fullscreenProc used to handle the fullscreen overlay updates, realistically meant for the reset_perspective() proc.
update_med_hudUpdates both the Health and Status huds. ATOM HUDS, NOT SCREEN HUDS.
update_pipe_visionEverything related to pipe vision on ventcrawling is handled by update_pipe_vision(). +Called on exit, entrance, and pipenet differences (e.g. moving to a new pipenet). +One important thing to note however is that the movement of the client's eye is handled by the relaymove() proc in /obj/machinery/atmospherics. +We move first and then call update. Dont flip this around
update_restingProc to append and redefine behavior to the change of the [/mob/living/var/resting] variable.
update_transformCalled whenever the mob is to be resized or when lying/standing up for carbons.
update_wound_overlaysProc that only really gets called for humans, to handle bleeding overlays.
whisperLiving level whisper.
will_escape_storageWhether or not this mob will escape from storages while being picked up/held.
wipe_inventoryDelete all held/equipped items.
+

Var Details

active_grabs + + + + +

+

A lazylist of grab objects we have

blood_volume + + + + +

+

converted to a list of stun absorption sources this mob has when one is added

body_position + + + + +

+

Variable to track the body position of a mob, regardgless of the actual angle of rotation (usually matching it, but not necessarily).

body_position_pixel_x_offset + + + + +

+

The y amount a mob's sprite should be offset due to the current position they're in (e.g. lying down moves your sprite down)

body_position_pixel_y_offset + + + + +

+

The x amount a mob's sprite should be offset due to the current position they're in

body_temp_changes + + + + +

+

List of changes to body temperature, used by desease symtoms like fever

bubble_icon + + + + +

+

used to prevent spam with smoke reagent reaction on mob.

butcher_difficulty + + + + +

+

these will always be yielded from butchering

butcher_results + + + + +

+

the id a mob gets when it's created

can_buckle_to + + + + +

+

Is this mob allowed to be buckled/unbuckled to/from things?

chem_effects + + + + +

+

Chemical effects. Built by the chemical processing stage of Life().

combat_mode + + + + +

+

If combat mode is on or not

current_turf_slowdown + + + + +

+

what multiplicative slowdown we get from turfs currently.

default_num_hands + + + + +

+

How many hands does this mob have by default. This shouldn't change at runtime.

default_num_legs + + + + +

+

does the mob have distinct limbs?(arms,legs, chest,head) +How many legs does this mob have by default. This shouldn't change at runtime.

disease_resistances + + + + +

+

list of all diseases in a mob

fire_stack_decay_rate + + + + +

+

Rate at which fire stacks should decay from this mob

gravity_state + + + + +

+

What our current gravity state is. Used to avoid duplicate animates and such

guaranteed_butcher_results + + + + +

+

these will be yielded from butchering with a probability chance equal to the butcher item's effectiveness

gunpoint + + + + +

+

Gunpoint container

hardcrit_threshold + + + + +

+

when the mob goes from "normal" to crit +When the mob enters hard critical state and is fully incapacitated.

has_limbs + + + + +

+

more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..

health + + + + +

+

The mob's current health.

health_doll_icon + + + + +

+

what icon the mob uses for speechbubbles

held_type + + + + +

+

The type of /obj/item/mob_holder to create if the mob is picked up.

held_w_class + + + + +

+

The w_class of the holder when held.

implants + + + + +

+

a list of all status effects the mob has

incorporeal_move + + + + +

+

Allows mobs to move through dense areas without restriction. For instance, in space or out of holder objects.

+

FALSE is off, INCORPOREAL_MOVE_BASIC is normal, INCORPOREAL_MOVE_SHADOW is for ninjas +and INCORPOREAL_MOVE_JAUNT is blocked by holy water/salt

last_bumped + + + + +

+

if this exists AND the normal sprite is bigger than 32x32, this is the replacement icon state (because health doll size limitations). the icon will always be screen_gen.dmi

last_special + + + + +

+

Directly affects how long a mob will hallucinate for

last_vent_dir + + + + +

+

The last direction we moved in a vent. Used to make holding two directions feel nice

lastattacker + + + + +

+

Badminnery resize

life_ticks + + + + +

+

How many ticks of Life() has this mob gone through

living_flags + + + + +

+

Generic bitflags for boolean conditions at the /mob/living level. Keep this for inherent traits of living types, instead of runtime-changeable ones.

lying_angle + + + + +

+

Number of degrees of rotation of a mob. 0 means no rotation, up-side facing NORTH. 90 means up-side rotated to face EAST, and so on.

lying_prev + + + + +

+

Value of lying lying_angle before last change. TODO: Remove the need for this.

maxHealth + + + + +

+

Maximum health that should be possible.

mob_surgery_speed_mod + + + + +

+

Mob specific surgery speed modifier

mobility_flags + + + + +

+

Flags that determine the potential of a mob to perform certain actions. Do not change this directly.

navigate_cooldown + + + + +

+

Cooldown of the navigate() verb.

num_hands + + + + +

+

How many hands hands does this mob currently have. Should only be changed through set_num_hands()

num_legs + + + + +

+

How many legs does this mob currently have. Should only be changed through set_num_legs()

numba + + + + +

+

if a mob's name should be appended with an id when created e.g. Mob (666)

on_fire + + + + +

+

Helper vars for quick access to firestacks, these should be updated every time firestacks are adjusted

pipetracker + + + + +

+

Cell tracker datum we use to manage the pipes around us, for faster ventcrawling +Should only exist if you're in a pipe

see_override + + + + +

+

how much blood the mob has

stamina + + + + +

+

The holder for stamina handling

stasis_level + + + + +

+

For each life tick, how many do we skip?

stasis_sources + + + + +

+

List of stasis sources to their given value

stats + + + + +

+

The container for stats and skills

status_effects + + + + +

+

0 for no override, sets see_invisible = see_override in silicon & carbon life process via update_sight()

stun_absorption + + + + +

+

effectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier

surgeries_in_progress + + + + +

+

A lazylist of active surgeries and their relevant data.

talkcount + + + + +

+

The amount of times we've opened our stupid mouth

timeofdeath + + + + +

+

Used by the resist verb, likely used to prevent players from bypassing next_move by logging in/out.

tod + + + + +

+

Time of death

usable_hands + + + + +

+

How many usable hands does this mob currently have. Should only be changed through set_usable_hands()

usable_legs + + + + +

+

How many usable legs this mob currently has. Should only be changed through set_usable_legs()

ventcrawl_layer + + + + +

+

used for database logging

voice_type + + + + +

+

The talk chime set to use when speaking.

worn_slot_flags + + + + +

+

if it can be held, can it be equipped to any slots? (think pAI's on head)

z_eye + + + + +

+

Used for lookup/lookdown verbs

Proc Details

Disorient +

+

Applies the "disoriented" status effect to the mob, among other potential statuses. +Args:

+

Hear +

+

Play a sound to indicate we just spoke

IsDisoriented +

+

placeholder

IsFrozen +

+

FROZEN

Life +

+

Handles the biological and general over-time processes of the mob.

+

Arguments:

+

PermaSleeping +

+

Allows us to set a permanent sleep on a player (use with caution and remember to unset it with SetSleeping() after the effect is over)

Write_Memory +

+

Proc used by different station pets such as Ian and Poly so that some of their data can persist between rounds. +This base definition only contains a trait and comsig to stop memory from being (over)written. +Specific behavior is defined on subtypes that use it.

add_body_temperature_change +

+

add_body_temperature_change Adds modifications to the body temperature

+

This collects all body temperature changes that the mob is experiencing to the list body_temp_changes +the aggrogate result is used to derive the new body temperature for the mob

+

arguments:

+

add_movespeed_mod_immunities +

+

Ignores specific slowdowns. Accepts a list of slowdowns.

add_quirk +

+

Adds the passed quirk to the mob

+

Arguments

+ +

Returns TRUE on success, FALSE on failure (already has the quirk, etc)

adjustBloodVolume +

+

BLOOD SYSTEM +Adjusts blood volume, returning the difference.

adjust_drunk_effect +

+

Adjust the "drunk value" the mob is currently experiencing, +or applies a drunk effect if the mob isn't currently drunk (or tipsy)

+

The drunk effect doesn't have a set duration, like dizziness or drugginess, +but instead relies on a value that decreases every status effect tick (2 seconds) by: +4% the current drunk_value + 0.01

+

A "drunk value" of 6 is the border between "tipsy" and "drunk".

+

amount - the amount of "drunkness" to apply to the mob. +down_to - the lower end of the clamp, when adding the value +up_to - the upper end of the clamp, when adding the value

adjust_fire_stacks +

+

Adjust the amount of fire stacks on a mob

+

This modifies the fire stacks on a mob.

+

Vars:

+

adjust_incapacitated +

+

adjust_status_effects_on_shake_up +

+

CLEAR STATUS

adjust_timed_status_effect +

+

Adjusts a timed status effect on the mob,taking into account any existing timed status effects. +This can be any status effect that takes into account "duration" with their initialize arguments.

+

Positive durations will add deciseconds to the duration of existing status effects +or apply a new status effect of that duration to the mob.

+

Negative durations will remove deciseconds from the duration of an existing version of the status effect, +removing the status effect entirely if the duration becomes less than zero (less than the current world time).

+

duration - the duration, in deciseconds, to add or remove from the effect +effect - the type of status effect being adjusted on the mob +max_duration - optional - if set, positive durations will only be added UP TO the passed max duration

admin_give_speech_impediment +

+

Admin only proc for giving a certain speech impediment to this mob

after_grab_release +

+

Called by grab objects when a grab has been released

amount_incapacitated +

+

Proc that returns the remaining duration of the status efect in deciseconds.

apply_damage +

+

Applies damage to this mob

+

Sends COMSIG_MOB_APPLY_DAMAGE

+

Arguuments:

+ +

Returns TRUE if damage applied

apply_damage_type +

+

like apply_damage except it always uses the damage procs

apply_damages +

+

applies multiple damages at once via /mob/living/proc/apply_damage

apply_effect +

+

applies various common status effects or common hardcoded mob effects

apply_effects +

+

Applies multiple effects at once via /mob/living/proc/apply_effect

+

Pretty much only used for projectiles applying effects on hit, +don't use this for anything else please just cause the effects directly

apply_martial_art +

+

Apply a martial art move from src to target.

+

This is used to process martial art attacks against nonhumans. +It is also used to process martial art attacks by nonhumans, even against humans +Human vs human attacks are handled in species code right now.

apply_pain +

+

Applies pain to a mob.

+

Arguments:

+

apply_prefs_job +

+

Applies the preference options to the spawning mob, taking the job into account. Assumes the client has the proper mind.

apply_status_effect +

+

Applies a given status effect to this mob.

+

new_effect - TYPEPATH of a status effect to apply. +Additional status effect arguments can be passed.

+

Returns the instance of the created effected, if successful. +Returns 'null' if unsuccessful.

blurry_vision_change +

+

Called when [TRAIT_BLURRY_EYES] is added or removed

can_enter_vent +

+

Checks if the mob is able to enter the vent, and provides feedback if they are unable to.

can_inject +

+

Returns whether or not the mob can be injected. Should not perform any side effects.

+

Arguments:

+

can_look_up +

+

Checks if the user is incapacitated or on cooldown.

can_unarmed_attack +

+

Checks if this mob is in a valid state to punch someone.

canface +

+

Checks mobility move as well as parent checks

do_jitter_animation +

+

Helper proc that causes the mob to do a jittering animation by jitter_amount. +jitter_amount will only apply up to 300 (maximum jitter effect).

do_slap_animation +

+

Does a slap animation on an atom

+

Uses do_attack_animation to animate the attacker attacking +then draws a hand moving across the top half of the target(where a mobs head would usually be) to look like a slap +Arguments:

+

drag_damage +

+

Take damage from being dragged while prone. Or not. You decide.

dust +

+

This is the proc for turning a mob into ash. +Dusting robots does not eject the MMI, so it's a bit more powerful than gib()

+

Arguments:

+

electrocute_act +

+

As the name suggests, this should be called to apply electric shocks.

execute_resist +

+

proc extender of [/mob/living/verb/resist] meant to make the process queable if the server is overloaded when the verb is called

expose_reagents +

+

extinguish_mob +

+

Extinguish all fire on the mob

+

This removes all fire stacks, fire effects, alerts, and moods +Signals the extinguishing.

fakedeath +

+

Induces fake death on a living mob.

find_nearest_stair_or_ladder +

+

Finds nearest ladder or staircase either up or down.

+

Arguments:

+

flick_emote_popup_on_mob +

+

A proc type that, when called, causes a image/sprite to appear above whatever entity it is called on.

+

There are two types: on_mob and on_obj, they can only be called on their respective typepaths.

+

Arguments:

+

get_active_grab +

+

Returns the currently selected grab item

get_all_grabbed_movables +

+

Returns a list of every movable we are grabbing

get_attack_type +

+

Returns the attack damage type of a living mob such as BRUTE.

get_blood_dna_list +

+

returns the mob's dna info as a list, to be inserted in an object's blood_DNA list

get_body_temp_cold_damage_limit +

+

Returns the body temperature at which this mob will start taking cold damage.

get_body_temp_heat_damage_limit +

+

Returns the body temperature at which this mob will start taking heat damage.

get_body_temp_normal +

+

get_body_temp_normal Returns the mobs normal body temperature with any modifications applied

+

This applies the result from proc/get_body_temp_normal_change() against the BODYTEMP_NORMAL and returns the result

+

arguments:

+

get_body_temp_normal_change +

+

get_body_temp_normal_change Returns the aggregate change to body temperature

+

This aggregates all the changes in the body_temp_changes list and returns the result

get_damage_amount +

+

return the damage amount for the type given

get_drunk_amount +

+

Helper to get the amount of drunkness the mob's currently experiencing.

get_exp_list +

+

Returns an assoc list of assignments and minutes for updating a client's exp time in the databse.

+

Arguments:

+

get_fullness +

+

Get the fullness of the mob

+

This returns a value form 0 upwards to represent how full the mob is. +The value is a total amount of consumable reagents in the body combined +with the total amount of nutrition they have. +This does not have an upper limit.

get_idcard +

+

Gets ID card from a mob. +Argument:

+

get_organic_health +

+

Returns the health of the mob while ignoring damage of non-organic (prosthetic) limbs +Used by cryo cells to not permanently imprison those with damage from prosthetics, +as they cannot be healed through chemicals.

get_quirk_string +

+

get_quirk_string() is used to get a printable string of all the quirk traits someone has for certain criteria

+

Arguments:

+

get_status_effect_examinations +

+

The first 1-FLAVOR_PREVIEW_LIMIT characters in the mob's "examine_text" variable. FLAVOR_PREVIEW_LIMIT is defined in flavor_defines.dm. +Shows any and all examine text related to any status effects the user has.

get_taste_sensitivity +

+

Gets taste sensitivity of given mob

+

This is used in calculating what flavours the mob can pick up, +with a lower number being able to pick up more distinct flavours.

get_timed_status_effect_duration +

+

Gets how many deciseconds are remaining in +the duration of the passed status effect on this mob.

+

If the mob is unaffected by the passed effect, returns 0.

gib +

+

Blow up the mob into giblets

+

Arguments:

+

give_unique_name +

+

Gives simple mobs their unique/randomized name.

gravity_setup +

+

Living Mob use event based gravity +We check here to ensure we haven't dropped any gravity changes

handle_grabs_during_movement +

+

Called during or immediately after movement. Used to move grab targets around to ensure the grabs do not break during movement.

handle_ventcrawl +

+

Handles the entrance and exit on ventcrawling

has_reagent +

+

Check if the mob contains this reagent.

+

This will validate the the reagent holder for the mob and any sub holders contain the requested reagent. +Vars:

+

has_status_effect +

+

Checks if this mob has a status effect that shares the passed effect's ID

+

checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath

+

Returns an instance of a status effect, or NULL if none were found.

has_status_effect_list +

+

Returns a list of all status effects that share the passed effect type's ID

+

checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath

+

Returns a list

hasparasites +

+

parasite tracking/finding procs

heal_bodypart_damage +

+

heal ONE external organ, organ gets randomly selected from damaged ones.

+

needs to return amount healed in order to calculate things like tend wounds xp gain

heal_ordered_damage +

+

heal up to amount damage, in a given order

heal_overall_damage +

+

heal MANY bodyparts, in random order

ignore_slowdown +

+

Ignores all slowdowns that lack the IGNORE_NOSLOW flag.

in_fov +

+

Is observed_atom in a mob's field of view? This takes blindness, nearsightness and FOV into consideration

incapacitate +

+

incapacitated +

+

Checks if a mob is incapacitated

+

Normally being restrained, agressively grabbed, or in stasis counts as incapacitated +unless there is a flag being used to check if it's ignored

+

args:

+ +

bitflags: (see code/__DEFINES/status_effects.dm)

+

is_face_visible +

+

Only defined for carbons who can wear masks and helmets, we just assume other mobs have visible faces

is_grabbing +

+

Returns TRUE if src is grabbing hold of the target

leavesBloodTrail +

+

Returns TRUE if we should try to leave a blood trail.

lying_angle_on_movement +

+

Called by mob Move() when the lying_angle is different than zero, to better visually simulate crawling.

makeBloodTrail +

+

Creates a trail of blood on Start, facing Direction

mob_pickup +

+

Spawn a /obj/item/mob_holder, move src into it, and put it into the hands of user.

+

/mob/living/proc/mob_try_pickup should be called instead of this under most circumstances.

+

Arguments:

+

mob_try_pickup +

+

Attempt to pick up a mob.

+

src is the mob being picked up, user is the mob doing the pick upping.

+

Arguments:

+

move_grabbed_atoms_towards +

+

Move grabbed atoms towards a destination

move_into_vent +

+

Moves living mob directly into the vent as a ventcrawler

+

Arguments:

+

on_airflow_trait_gain +

+

Called when TRAIT_EXPERIENCING_AIRFLOW is added to the mob.

on_airflow_trait_loss +

+

Called when TRAIT_EXPERIENCING_AIRFLOW is removed from the mob.

on_clumsy_trait_gain +

+

Called when [TRAIT_CLUMSY] is added to the mob.

on_clumsy_trait_loss +

+

Called when [TRAIT_CLUMSY] is removed from the mob.

on_deathcoma_trait_gain +

+

Called when TRAIT_DEATHCOMA is added to the mob.

on_deathcoma_trait_loss +

+

Called when TRAIT_DEATHCOMA is removed from the mob.

on_exhausted_trait_gain +

+

Called when TRAIT_EXHAUSTED is added to the mob.

on_exhausted_trait_loss +

+

Called when TRAIT_EXHAUSTED is removed from the mob.

on_fall +

+

Called when mob changes from a standing position into a prone while lacking the ability to stand up at the moment.

on_fire_stack +

+

Handles effects happening when mob is on normal fire

+

Vars:

+

on_floored_end +

+

Proc to append behavior to the condition of being floored. Called when the condition ends.

on_floored_start +

+

Proc to append behavior to the condition of being floored. Called when the condition starts.

on_floored_trait_gain +

+

Called when TRAIT_FLOORED is added to the mob.

on_floored_trait_loss +

+

Called when TRAIT_FLOORED is removed from the mob.

on_force_gravity +

+

Called when TRAIT_FORCED_GRAVITY is gained or lost

on_forced_standing_trait_gain +

+

Called when TRAIT_FORCED_STANDING is added to the mob.

on_forced_standing_trait_loss +

+

Called when TRAIT_FORCED_STANDING is removed from the mob.

on_handsblocked_end +

+

Proc to append behavior to the condition of being handsblocked. Called when the condition ends.

on_handsblocked_start +

+

Proc to append behavior to the condition of being handsblocked. Called when the condition starts.

on_handsblocked_trait_gain +

+

Called when TRAIT_HANDS_BLOCKED is added to the mob.

on_handsblocked_trait_loss +

+

Called when TRAIT_HANDS_BLOCKED is removed from the mob.

on_hearing_loss +

+

Called when [TRAIT_DEAF] is added to the mob.

on_hearing_regain +

+

Called when [TRAIT_DEAF] is added to the mob.

on_ignore_gravity +

+

Called when TRAIT_IGNORING_GRAVITY is gained or lost

on_immobilized_trait_gain +

+

Called when TRAIT_IMMOBILIZED is added to the mob.

on_immobilized_trait_loss +

+

Called when TRAIT_IMMOBILIZED is removed from the mob.

on_incapacitated_trait_gain +

+

Called when [TRAIT_INCAPACITATED] is added to the mob.

on_incapacitated_trait_loss +

+

Called when [TRAIT_INCAPACITATED] is removed from the mob.

on_knockedout_trait_gain +

+

Called when TRAIT_KNOCKEDOUT is added to the mob.

on_knockedout_trait_loss +

+

Called when TRAIT_KNOCKEDOUT is removed from the mob.

on_loc_force_gravity +

+

Called when our loc's TRAIT_FORCED_GRAVITY is gained or lost

on_lying_down +

+

Proc to append behavior related to lying down.

on_movement_type_flag_disabled +

+

From [element/movetype_handler/on_movement_type_trait_loss()]

on_movement_type_flag_enabled +

+

From [element/movetype_handler/on_movement_type_trait_gain()]

on_negate_gravity +

+

Called when TRAIT_NEGATES_GRAVITY is gained or lost

on_pull_blocked_trait_gain +

+

Called when TRAIT_PULL_BLOCKED is added to the mob.

on_pull_blocked_trait_loss +

+

Called when TRAIT_PULL_BLOCKED is removed from the mob.

on_restrained_trait_gain +

+

Called when TRAIT_ARMS_RESTRAINED is added to the mob.

on_restrained_trait_loss +

+

Called when TRAIT_ARMS_RESTRAINED is removed from the mob.

on_skittish_trait_gain +

+

Called when [TRAIT_SKITTISH] is added to the mob.

on_skittish_trait_loss +

+

Called when [TRAIT_SKITTISH] is removed from the mob.

on_stamina_update +

+

Called by [update()][/datum/stamina_container/proc/update]

on_standing_up +

+

Proc to append behavior related to lying down.

on_ui_blocked_trait_gain +

+

Called when TRAIT_UI_BLOCKED is added to the mob.

on_ui_blocked_trait_loss +

+

Called when TRAIT_UI_BLOCKED is removed from the mob.

pre_stamina_change +

+

Called by the stamina holder, passing the change in stamina to modify.

recursively_get_all_grabbed_movables +

+

Gets every grabbed atom of this mob, and every grabbed atom of that grabber, repeat

recursively_get_conga_line +

+

Gets every grab object owned by this mob, and every grabbed atom of those grabbed mobs

refresh_gravity +

+

Handles gravity effects. Call if something about our gravity has potentially changed!

register_init_signals +

+

Called on /mob/living/Initialize(mapload), for the mob to register to relevant signals.

release_active_grab +

+

Releases the currently selected grab item

release_all_grabs +

+

Release all grabs we have

release_grabs +

+

Release the given movable from a grab

remove_body_temperature_change +

+

remove_body_temperature_change Removes the modifications to the body temperature

+

This removes the recorded change to body temperature from the body_temp_changes list

+

arguments:

+

remove_emote_popup_on_mob +

+

A proc that is automatically called whenever flick_emote_popup_on_mob's addtimer expires, and removes the popup.

+

Arguments:

+

remove_movespeed_mod_immunities +

+

Unignores specific slowdowns. Accepts a list of slowdowns.

remove_status_effect +

+

Removes all instances of a given status effect from this mob

+

removed_effect - TYPEPATH of a status effect to remove. +Additional status effect arguments can be passed - these are passed into before_remove.

+

Returns TRUE if at least one was removed.

resist_buckle +

+

Attempt to break out of a buckle. Returns TRUE if successful.

resolve_unarmed_attack +

+

Called by UnarmedAttack(), directs the proc to a type-specified child proc.

right_click_attack_chain +

+

Checks for RIGHT_CLICK in modifiers and runs attack_hand_secondary if so. Returns TRUE if normal chain blocked

set_body_position +

+

Changes the value of the [living/body_position] variable.

set_buckled +

+

Reports the event of the change in value of the buckled variable.

set_drunk_effect +

+

Directly sets the "drunk value" the mob is currently experiencing to the passed value, +or applies a drunk effect with the passed value if the mob isn't currently drunk

+

set_to - the amount of "drunkness" to set on the mob.

set_fire_stacks +

+

Set the fire stacks on a mob

+

This sets the fire stacks on a mob, stacks are clamped between -20 and 20. +If the fire stacks are reduced to 0 then we will extinguish the mob.

+

Vars:

+

set_health +

+

Sets the current mob's health value. Do not call directly if you don't know what you are doing, use the damage procs, instead.

set_incapacitated +

+

set_lying_angle +

+

Changes the inclination angle of a mob, used by humans and others to differentiate between standing up and prone positions.

+

In BYOND-angles 0 is NORTH, 90 is EAST, 180 is SOUTH and 270 is WEST. +This usually means that 0 is standing up, 90 and 270 are horizontal positions to right and left respectively, and 180 is upside-down. +Mobs that do now follow these conventions due to unusual sprites should require a special handling or redefinition of this proc, due to the density and layer changes. +The return of this proc is the previous value of the modified lying_angle if a change was successful (might include zero), or null if no change was made.

set_lying_down +

+

Change the [body_position] to LYING_DOWN and update associated behavior.

set_num_hands +

+

Proc to modify the value of num_hands and hook behavior associated to this event.

set_num_legs +

+

Proc to modify the value of num_legs and hook behavior associated to this event.

set_resting +

+

Proc to hook behavior to the change of value in the resting variable.

set_safe_hunger_level +

+

Sets the mob's hunger levels to a safe overall level. Useful for TRAIT_NOHUNGER species changes.

set_timed_status_effect +

+

Sets a timed status effect of some kind on a mob to a specific value. +If only_if_higher is TRUE, it will only set the value up to the passed duration, +so any pre-existing status effects of the same type won't be reduced down

+

duration - the duration, in deciseconds, of the effect. 0 or lower will either remove the current effect or do nothing if none are present +effect - the type of status effect given to the mob +only_if_higher - if TRUE, we will only set the effect to the new duration if the new duration is longer than any existing duration

set_usable_hands +

+

Proc to modify the value of usable_hands and hook behavior associated to this event.

set_usable_legs +

+

Proc to modify the value of usable_legs and hook behavior associated to this event.

shared_living_ui_distance +

+

public

+

Distance versus interaction check.

+

required src_object atom/movable The object which owns the UI.

+

return UI_state The state of the UI.

singularity_act +

+

Logs, gibs and returns point values of whatever mob is unfortunate enough to get eaten.

sleeping_carp_help +

+

Verb added to humans who learn the art of the sleeping carp.

stamina_swing +

+

Take away stamina from an attack being thrown.

stat_roll +

+

Perform a stat roll, returning a roll result datum.

+

args:

+

take_bodypart_damage +

+

damage ONE external organ, organ gets randomly selected from damaged ones.

take_overall_damage +

+

damage MANY bodyparts, in random order

tram_slam_land +

+

A proc triggered by callback when someone gets slammed by the tram and lands somewhere.

+

This proc is used to force people to fall through things like lattice and unplated flooring at the expense of some +extra damage, so jokers can't use half a stack of iron rods to make getting hit by the tram immediately lethal.

transfer_blood_to +

+

BLOOD TRANSFERS

treat_message +

+

Treats the passed message with things that may modify speech (stuttering, slurring etc).

+

message - The message to treat. +correct_grammar - Whether or not to capitalize the first letter and add punctuation.

try_inject +

+

Like can_inject, but it can perform side effects.

+

Arguments:

+

try_make_grab +

+

Attempt to create a grab, returns TRUE on success

try_slapcraft +

+

Have a living mob attempt to do a slapcraft. The mob is using the second item on the first item.

unequip_everything +

+

Drop all items to the floor.

unignore_slowdown +

+

Unignores all slowdowns that lack the IGNORE_NOSLOW flag.

update_fire_overlay +

+

Sets fire overlay of the mob.

+

Vars:

+ +

This should return last_icon_state for the fire status efect

update_fullscreen +

+

Proc used to handle the fullscreen overlay updates, realistically meant for the reset_perspective() proc.

update_med_hud +

+

Updates both the Health and Status huds. ATOM HUDS, NOT SCREEN HUDS.

update_pipe_vision +

+

Everything related to pipe vision on ventcrawling is handled by update_pipe_vision(). +Called on exit, entrance, and pipenet differences (e.g. moving to a new pipenet). +One important thing to note however is that the movement of the client's eye is handled by the relaymove() proc in /obj/machinery/atmospherics. +We move first and then call update. Dont flip this around

update_resting +

+

Proc to append and redefine behavior to the change of the [/mob/living/var/resting] variable.

update_transform +

+

Called whenever the mob is to be resized or when lying/standing up for carbons.

update_wound_overlays +

+

Proc that only really gets called for humans, to handle bleeding overlays.

whisper +

+

Living level whisper.

+

Living mobs which whisper have their message only appear to people very close.

+

message - the message to display +bubble_type - the type of speech bubble that shows up when they speak (currently does nothing) +spans - a list of spans to apply around the message +sanitize - whether we sanitize the message +language - typepath language to force them to speak / whisper in +ignore_spam - whether we ignore the spam filter +forced - string source of what forced this speech to happen, also bypasses spam filter / mutes if supplied +filterproof - whether we ignore the word filter

will_escape_storage +

+

Whether or not this mob will escape from storages while being picked up/held.

wipe_inventory +

+

Delete all held/equipped items.

+ + + diff --git a/mob/living/basic.html b/mob/living/basic.html new file mode 100644 index 000000000000..8dbf09383704 --- /dev/null +++ b/mob/living/basic.html @@ -0,0 +1,237 @@ + + + + + + + /mob/living/basic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

basic + + + +

+ +

Simple animals 2.0, This time, let's really try to keep it simple. This basetype should purely be used as a base-level for implementing simplified behaviours for things such as damage and attacks. Everything else should be in components or AI behaviours.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

armor_penetrationHow much armour they ignore, as a flat reduction from the targets armour value.
attack_soundSound played when the critter attacks.
attack_verb_continuousBasic mob's own attacks verbs, +Attacking verb in present continuous tense.
attack_verb_simpleAttacking verb in present simple tense.
attack_vis_effectOverride for the visual attack effect shown on 'do_attack_animation()'.
attacked_soundPlayed when someone punches the creature.
damage_coeff1 for full damage , 0 for none , -1 for 1:1 heal from that source.
environment_smashWhat kind of objects this mob can smash.
flip_on_deathFlip the sprite upside down on death. Mostly here for things lacking custom dead sprites.
friendly_verb_continuousAttacking, but without damage, verb in present continuous tense.
friendly_verb_simpleAttacking, but without damage, verb in present simple tense.
gold_core_spawnableIf the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood.
icon_deadIcon when the animal is dead. Don't use animated icons for this.
icon_gibWe only try to show a gibbing animation if this exists.
icon_living/////THIS SECTION COULD BE ITS OWN ELEMENT +Icon to use
melee_damage_typeDamage type of a simple mob's melee attack, should it do damage.
obj_damagehow much damage this basic mob does to objects, if any.
response_disarm_continuousDisarm-intent verb in present continuous tense.
response_disarm_simpleDisarm-intent verb in present simple tense.
response_harm_continuousHarm-intent verb in present continuous tense.
response_harm_simpleHarm-intent verb in present simple tense.
response_help_continuousWhen someone interacts with the simple animal. +Help-intent verb in present continuous tense.
response_help_simpleHelp-intent verb in present simple tense.
sentience_typeSentience type, for slime potions. SHOULD BE AN ELEMENT BUT I DONT CARE ABOUT IT FOR NOW
sharpnessIf the attacks from this are sharp
speak_emoteVerbs used for speaking e.g. "Says" or "Chitters". This can be elementized
speedDefines how fast the basic mob can move. This is a multiplier

Procs

adjust_healthAdjusts the health of a simple mob by a set amount and wakes AI if its idle to react
+

Var Details

armor_penetration + + + + +

+

How much armour they ignore, as a flat reduction from the targets armour value.

attack_sound + + + + +

+

Sound played when the critter attacks.

attack_verb_continuous + + + + +

+

Basic mob's own attacks verbs, +Attacking verb in present continuous tense.

attack_verb_simple + + + + +

+

Attacking verb in present simple tense.

attack_vis_effect + + + + +

+

Override for the visual attack effect shown on 'do_attack_animation()'.

attacked_sound + + + + +

+

Played when someone punches the creature.

damage_coeff + + + + +

+

1 for full damage , 0 for none , -1 for 1:1 heal from that source.

environment_smash + + + + +

+

What kind of objects this mob can smash.

flip_on_death + + + + +

+

Flip the sprite upside down on death. Mostly here for things lacking custom dead sprites.

friendly_verb_continuous + + + + +

+

Attacking, but without damage, verb in present continuous tense.

friendly_verb_simple + + + + +

+

Attacking, but without damage, verb in present simple tense.

gold_core_spawnable + + + + +

+

If the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood.

icon_dead + + + + +

+

Icon when the animal is dead. Don't use animated icons for this.

icon_gib + + + + +

+

We only try to show a gibbing animation if this exists.

icon_living + + + + +

+

/////THIS SECTION COULD BE ITS OWN ELEMENT +Icon to use

melee_damage_type + + + + +

+

Damage type of a simple mob's melee attack, should it do damage.

obj_damage + + + + +

+

how much damage this basic mob does to objects, if any.

response_disarm_continuous + + + + +

+

Disarm-intent verb in present continuous tense.

response_disarm_simple + + + + +

+

Disarm-intent verb in present simple tense.

response_harm_continuous + + + + +

+

Harm-intent verb in present continuous tense.

response_harm_simple + + + + +

+

Harm-intent verb in present simple tense.

response_help_continuous + + + + +

+

When someone interacts with the simple animal. +Help-intent verb in present continuous tense.

response_help_simple + + + + +

+

Help-intent verb in present simple tense.

sentience_type + + + + +

+

Sentience type, for slime potions. SHOULD BE AN ELEMENT BUT I DONT CARE ABOUT IT FOR NOW

sharpness + + + + +

+

If the attacks from this are sharp

speak_emote + + + + +

+

Verbs used for speaking e.g. "Says" or "Chitters". This can be elementized

speed + + + + +

+

Defines how fast the basic mob can move. This is a multiplier

Proc Details

adjust_health +

+

Adjusts the health of a simple mob by a set amount and wakes AI if its idle to react

+

Arguments:

+
+ + + diff --git a/mob/living/basic/cockroach/hauberoach.html b/mob/living/basic/cockroach/hauberoach.html new file mode 100644 index 000000000000..aa1a5a87943f --- /dev/null +++ b/mob/living/basic/cockroach/hauberoach.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/basic/cockroach/hauberoach - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

hauberoach + + + +

+ + +

Procs

on_squishProc used to override the squashing behavior of the normal cockroach.

Proc Details

on_squish +

+

Proc used to override the squashing behavior of the normal cockroach.

+ + + diff --git a/mob/living/basic/cow.html b/mob/living/basic/cow.html new file mode 100644 index 000000000000..7d113f5e4356 --- /dev/null +++ b/mob/living/basic/cow.html @@ -0,0 +1,42 @@ + + + + + + + /mob/living/basic/cow - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

cow + + + +

+ + + +

Procs

make_tameablewrapper for the tameable component addition so you can have non tamable cow subtypes
udder_componentwrapper for the udder component addition so you can have uniquely uddered cow subtypes

Proc Details

make_tameable +

+

wrapper for the tameable component addition so you can have non tamable cow subtypes

udder_component +

+

wrapper for the udder component addition so you can have uniquely uddered cow subtypes

+ + + diff --git a/mob/living/basic/cow/wisdom.html b/mob/living/basic/cow/wisdom.html new file mode 100644 index 000000000000..1b15f453554b --- /dev/null +++ b/mob/living/basic/cow/wisdom.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/basic/cow/wisdom - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

wisdom + + + +

+ +

Wisdom cow, gives XP to a random skill and speaks wisdoms

+

Procs

attack_handGive intense wisdom to the attacker if they're being friendly about it

Proc Details

attack_hand +

+

Give intense wisdom to the attacker if they're being friendly about it

+ + + diff --git a/mob/living/brain.html b/mob/living/brain.html new file mode 100644 index 000000000000..b29326d964b0 --- /dev/null +++ b/mob/living/brain.html @@ -0,0 +1,42 @@ + + + + + + + /mob/living/brain - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

brain + + + +

+ + + +

Procs

blind_eyesEYE_BLIND
blur_eyesEYE_BLURRY

Proc Details

blind_eyes +

+

EYE_BLIND

blur_eyes +

+

EYE_BLURRY

+ + + diff --git a/mob/living/carbon.html b/mob/living/carbon.html new file mode 100644 index 000000000000..1451d9e1c0ba --- /dev/null +++ b/mob/living/carbon.html @@ -0,0 +1,1020 @@ + + + + + + + /mob/living/carbon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

carbon + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

bloodstreamBloodstream reagents
bodypartsGets filled up in [create_bodyparts()][/mob/living/carbon/proc/create_bodyparts]
can_be_shoved_intoCan other carbons be shoved into this one to make it fall?
cold_protectionProtection (insulation) from the cold, Value 0-1 corresponding to the percentage of protection
cosmetic_organsList of /obj/item/organ in the mob.
disgustMeasure of how disgusted we are. See DISGUST_LEVEL_GROSS and friends
dnaCarbon
earsonly used by humans.
external"External" air tank. Never set this manually. Not required to stay directly equipped on the mob (i.e. could be a machine or MOD suit module).
failed_last_breathThis is used to determine if the mob failed a breath. If they did fail a brath, they will attempt to breathe each tick, otherwise just once per 4 ticks.
glassesonly used by humans.
glovesonly used by humans
hand_bodypartsA collection of arms (or actually whatever the fug /bodyparts you monsters use to wreck my systems)
handcuffedWhether or not the mob is handcuffed
heat_protectionProtection (insulation) from the heat, Value 0-1 corresponding to the percentage of protection
icon_render_keysA cache of bodypart = icon to prevent excessive icon creation.
last_mindlast mind to control this mob, for blood-based cloning
legcuffedSame as handcuffs but for legs. Bear traps use this.
obscured_slotsA compilation of all equipped items 'flags_inv' vars.
old_disgustHow disgusted we were LAST time we processed disgust. Helps prevent unneeded work
organsList of /obj/item/organ in the mob.
organs_by_slotStores "slot ID" - "organ" pairs for easy access. Contains both functional and cosmetic organs
processing_organsA list of organs that process, used to keep life() fast!
shoesonly used by humans.
silentCan't talk. Value goes down every life proc. NOTE TO FUTURE CODERS: DO NOT INITIALIZE NUMERICAL VARS AS NULL OR I WILL MURDER YOU.
skillchip_complexity_modifierSimple modifier for whether this mob can handle greater or lesser skillchip complexity. See /datum/mutation/human/biotechcompat/ for example.
sprint_key_downIs this carbon trying to sprint?
sustained_movesHow many tiles we have continuously moved in the same direction
tinttotalTotal level of visualy impairing items
touchingSurface level reagents
transformation_timerTimer id of any transformation
visual_only_organsOnly load in visual organs

Procs

add_bodypartProc to hook behavior on bodypart additions. Do not directly call. You're looking for [/obj/item/bodypart/proc/attach_limb()].
adjustOrganLossIf an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the damage proc on that organ.
adjustPlasmaAdjusts the plasma level of the carbon's plasma vessel if they have one
adjust_bodytemperatureAdjust the body temperature of a mob +expanded for carbon mobs allowing the use of insulation and change steps
adjust_skillchip_complexity_modifierModifies max_skillchip_count and updates active skillchips
afterEquipItemThis proc is called after an item has been successfully handled and equipped to a slot.
bleed_warnbleed_warn() is used to for carbons with an active client to occasionally receive messages warning them about their bleeding status (if applicable)
can_breathe_helmetReturns TRUE if an air tank compatible helmet is equipped.
can_breathe_internalsReturns TRUE if an air tank compatible mask or breathing tube is equipped.
can_breathe_maskReturns TRUE if an air tank compatible mask is equipped.
can_breathe_tubeReturns TRUE if a breathing tube is equipped.
check_obscured_slotsReturns a bitfield of covered item slots.
check_self_for_injuriesCheck ourselves to see if we've got any shrapnel, return true if we do. This is a much simpler version of what humans do, we only indicate we're checking ourselves if there's actually shrapnel
check_virusMedical HUD! Basic mode needs suit sensors on.
clear_shove_slowdownConsume stamina to disarm
clone_skillchip_listCreates a list of new skillchips cloned from old skillchips in the mob's brain.
close_all_airtanksQuickly/lazily close all airtanks without any returns or notifications.
close_externalsClose the the currently open external (that's EX-ternal) air tank. Returns TREUE if successful.
close_internalsActually closes the active internal or external air tank. +Returns TRUE if the tank was opened successfully.
create_carbon_reagentsHumans need to init these early for species purposes
cutoff_internalsPrepares emergency disconnect from open air tanks and notifies in chat. Usually called after mob suddenly unequips breathing apparatus.
destroy_all_skillchipsDestroys all skillchips in the brain, handling appropriate cleanup and event calls.
disarmAttempt to disarm the target mob. +Will shove the target mob back, and drop them if they're in front of something dense +or another carbon.
electrocute_actAdds to the parent by also adding functionality to propagate shocks through pulling and doing some fluff effects.
expel_ingestedExpel the reagents you just tried to ingest
getOrganLossIf an organ exists in the slot requested, return the amount of damage that organ has
getPlasmaGets the plasma level of this carbon's plasma vessel, or -1 if they don't have one
get_all_covered_flagsReturns a bitfield of all zones covered by clothing
get_bleed_rateA helper to see how much blood we're losing per tick
get_blood_dna_listGet the mobs dna list
get_cold_protectionThis returns the percentage of protection from cold as a value from 0 - 1 +temperature is the temperature you're being exposed to
get_covered_body_zonesReturns a list of all body_zones covered by clothing
get_damageable_bodypartsReturns a list of damageable bodyparts
get_damaged_bodypartsReturns a list of damaged bodyparts
get_heat_protectionThis returns the percentage of protection from heat as a value from 0 - 1 +temperature is the temperature you're being exposed to
get_insulation_protectionGet the insulation that is appropriate to the temperature you're being exposed to. +All clothing, natural insulation, and traits are combined returning a single value.
get_item_covering_bodypartReturns an item that is covering a bodypart.
get_item_covering_zoneReturns an item that is covering a body_zone (BODY_ZONE_CHEST, etc)
get_pulsegenerates realistic-ish pulse output based on preset levels as text
get_random_dreamGenerates a dream sequence to be displayed to the sleeper.
get_total_bleed_rateget our total bleedrate
get_traumasTRAUMAS
giveProc called when offering an item to another player
handle_environmentBase carbon environment handler, adds natural stabilization
handle_liverCheck to see if we have the liver, if not automatically gives you last-stage effects of lacking a liver.
heal_bodypart_damageHeals ONE bodypart randomly selected from damaged ones.
heal_overall_damageHeal MANY bodyparts, in random order
humanizeHumanize
immortalityFor the Wishgranter
implant_skillchipBrain health scales the pain passout modifier with an importance of 80% +Blood circulation scales the pain passout modifier with an importance of 40% +Attempts to implant this skillchip into the target carbon's brain.
invalid_internalsReturns truthy if air tank is open and mob lacks apparatus, or if the tank moved away from the mob.
is_bleedingif any of our bodyparts are bleeding
is_bodypart_visibly_coveredThis proc expects to be passed a list of covered zones, for optimization in loops. Use get_covered_body_zones(exact_only = TRUE) for that..
lying_angle_on_lying_downSpecial carbon interaction on lying down, to transform its sprite by a rotation.
natural_bodytemperature_stabilizationUsed to stabilize the body temperature back to normal on living mobs
notify_painFlashes the pain overlay and provides a chat message.
on_noaddiction_trait_gainOn gain of TRAIT_NO_ADDICTION
on_nobreath_trait_gainOn gain of TRAIT_NOBREATH
on_nometabolism_trait_gainOn gain of TRAIT_NOMETABOLISM
open_internalsOpen the internal air tank without checking for any breathing apparatus. +Returns TRUE if the air tank was opened successfully. +Closes any existing tanks before opening another one.
pain_emotePerform a pain response emote, amount is the amount of pain they are in. See pain defines for easy numbers.
remove_all_embedded_objectsRemove all embedded objects from all limbs on the carbon mob
remove_bodypartProc to hook behavior on bodypart removals. Do not directly call. You're looking for [/obj/item/bodypart/proc/drop_limb()].
remove_embedded_objectRemove a specific embedded item from the carbon mob
remove_skillchipAttempts to remove this skillchip from the target carbon's brain.
secondary_shockCalled slightly after electrocute act to apply a secondary stun.
setOrganLossIf an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the set damage proc on that organ, which can +set or clear the failing variable on that organ, making it either cease or start functions again, unlike adjustOrganLoss.
set_handcuffedModifies the handcuffed value if a different value is passed, returning FALSE otherwise. The variable should only be changed through this proc.
share_bodytemperatureHave two mobs share body heat between each other. +Account for the insulation and max temperature change range for the mob
should_electrocuteReturns whether or not the carbon should be able to be shocked
spray_bloodThis proc is a helper for spraying blood for things like slashing/piercing wounds and dismemberment.
takeProc called when the player clicks the give alert
take_bodypart_damageDamages ONE bodypart randomly selected from damagable ones.
take_overall_damagedamage MANY bodyparts, in random order
toggle_close_internalsPrepares to close the currently open internal air tank and notifies in chat. +Handles displaying messages to the user before doing the actual closing. +Returns TRUE if
toggle_externalsToggles the given external (that's EX-ternal) air tank open, or close the currently open one, if a compatible breathing apparatus is found. +Returns TRUE if the tank was opened successfully.
toggle_internalsToggles the given internal air tank open, or close the currently open one, if a compatible breathing apparatus is found. +Returns TRUE if the tank was opened successfully.
toggle_open_internalsPrepares to open the internal air tank and notifies the mob in chat. +Handles displaying messages to the user before doing the actual opening. +Returns TRUE if the tank was opened/closed successfully.
try_dreamBegins the dreaming process on a sleeping carbon.
try_open_internalsOpens the given internal air tank if a breathing apparatus is found. Returns TRUE if successful, FALSE otherwise. +Returns TRUE if the tank was opened successfully.
update_body_partsChecks to see if any bodyparts need to be redrawn, then does so. update_limb_data = TRUE redraws the limbs to conform to the owner.
update_bodypart_bleed_overlaysHas each bodypart update its bleed/wound overlay icon states
update_eyesUpdate the eye sprite on the carbon. Calling with refresh = TRUE will update the sprite information of the eye organ first.
update_obscurityCompiles all flags_inv vars of worn items.
update_slots_for_itemUpdate any visuals relating to an item when it's equipped, unequipped, or it's flags_inv changes.
wearing_shock_proof_glovesReturns if the carbon is wearing shock proof gloves
+

Var Details

bloodstream + + + + +

+

Bloodstream reagents

bodyparts + + + + +

+

Gets filled up in [create_bodyparts()][/mob/living/carbon/proc/create_bodyparts]

can_be_shoved_into + + + + +

+

Can other carbons be shoved into this one to make it fall?

cold_protection + + + + +

+

Protection (insulation) from the cold, Value 0-1 corresponding to the percentage of protection

cosmetic_organs + + + + +

+

List of /obj/item/organ in the mob.

disgust + + + + +

+

Measure of how disgusted we are. See DISGUST_LEVEL_GROSS and friends

dna + + + + +

+

Carbon

ears + + + + +

+

only used by humans.

external + + + + +

+

"External" air tank. Never set this manually. Not required to stay directly equipped on the mob (i.e. could be a machine or MOD suit module).

failed_last_breath + + + + +

+

This is used to determine if the mob failed a breath. If they did fail a brath, they will attempt to breathe each tick, otherwise just once per 4 ticks.

glasses + + + + +

+

only used by humans.

gloves + + + + +

+

only used by humans

hand_bodyparts + + + + +

+

A collection of arms (or actually whatever the fug /bodyparts you monsters use to wreck my systems)

handcuffed + + + + +

+

Whether or not the mob is handcuffed

heat_protection + + + + +

+

Protection (insulation) from the heat, Value 0-1 corresponding to the percentage of protection

icon_render_keys + + + + +

+

A cache of bodypart = icon to prevent excessive icon creation.

last_mind + + + + +

+

last mind to control this mob, for blood-based cloning

legcuffed + + + + +

+

Same as handcuffs but for legs. Bear traps use this.

obscured_slots + + + + +

+

A compilation of all equipped items 'flags_inv' vars.

old_disgust + + + + +

+

How disgusted we were LAST time we processed disgust. Helps prevent unneeded work

organs + + + + +

+

List of /obj/item/organ in the mob.

organs_by_slot + + + + +

+

Stores "slot ID" - "organ" pairs for easy access. Contains both functional and cosmetic organs

processing_organs + + + + +

+

A list of organs that process, used to keep life() fast!

shoes + + + + +

+

only used by humans.

silent + + + + +

+

Can't talk. Value goes down every life proc. NOTE TO FUTURE CODERS: DO NOT INITIALIZE NUMERICAL VARS AS NULL OR I WILL MURDER YOU.

skillchip_complexity_modifier + + + + +

+

Simple modifier for whether this mob can handle greater or lesser skillchip complexity. See /datum/mutation/human/biotechcompat/ for example.

sprint_key_down + + + + +

+

Is this carbon trying to sprint?

sustained_moves + + + + +

+

How many tiles we have continuously moved in the same direction

tinttotal + + + + +

+

Total level of visualy impairing items

touching + + + + +

+

Surface level reagents

transformation_timer + + + + +

+

Timer id of any transformation

visual_only_organs + + + + +

+

Only load in visual organs

Proc Details

add_bodypart +

+

Proc to hook behavior on bodypart additions. Do not directly call. You're looking for [/obj/item/bodypart/proc/attach_limb()].

adjustOrganLoss +

+

If an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the damage proc on that organ.

+

Arguments:

+

adjustPlasma +

+

Adjusts the plasma level of the carbon's plasma vessel if they have one

adjust_bodytemperature +

+

Adjust the body temperature of a mob +expanded for carbon mobs allowing the use of insulation and change steps

+

vars:

+

adjust_skillchip_complexity_modifier +

+

Modifies max_skillchip_count and updates active skillchips

afterEquipItem +

+

This proc is called after an item has been successfully handled and equipped to a slot.

bleed_warn +

+

bleed_warn() is used to for carbons with an active client to occasionally receive messages warning them about their bleeding status (if applicable)

+

Arguments:

+

can_breathe_helmet +

+

Returns TRUE if an air tank compatible helmet is equipped.

can_breathe_internals +

+

Returns TRUE if an air tank compatible mask or breathing tube is equipped.

can_breathe_mask +

+

Returns TRUE if an air tank compatible mask is equipped.

can_breathe_tube +

+

Returns TRUE if a breathing tube is equipped.

check_obscured_slots +

+

Returns a bitfield of covered item slots.

check_self_for_injuries +

+

Check ourselves to see if we've got any shrapnel, return true if we do. This is a much simpler version of what humans do, we only indicate we're checking ourselves if there's actually shrapnel

check_virus +

+

Medical HUD! Basic mode needs suit sensors on.

clear_shove_slowdown +

+

Consume stamina to disarm

clone_skillchip_list +

+

Creates a list of new skillchips cloned from old skillchips in the mob's brain.

+

Returns a complete list of new skillchips cloned from the mob's brain's existing skillchip stock. +Rumour has it that Changelings just LOVE this proc. +Arguments:

+

close_all_airtanks +

+

Quickly/lazily close all airtanks without any returns or notifications.

close_externals +

+

Close the the currently open external (that's EX-ternal) air tank. Returns TREUE if successful.

close_internals +

+

Actually closes the active internal or external air tank. +Returns TRUE if the tank was opened successfully.

+

Arguments:

+

create_carbon_reagents +

+

Humans need to init these early for species purposes

cutoff_internals +

+

Prepares emergency disconnect from open air tanks and notifies in chat. Usually called after mob suddenly unequips breathing apparatus.

destroy_all_skillchips +

+

Destroys all skillchips in the brain, handling appropriate cleanup and event calls.

disarm +

+

Attempt to disarm the target mob. +Will shove the target mob back, and drop them if they're in front of something dense +or another carbon.

electrocute_act +

+

Adds to the parent by also adding functionality to propagate shocks through pulling and doing some fluff effects.

expel_ingested +

+

Expel the reagents you just tried to ingest

+

When you try to ingest reagents but you do not have a stomach +you will spew the reagents on the floor.

+

Vars:

+

getOrganLoss +

+

If an organ exists in the slot requested, return the amount of damage that organ has

+

Arguments:

+

getPlasma +

+

Gets the plasma level of this carbon's plasma vessel, or -1 if they don't have one

get_all_covered_flags +

+

Returns a bitfield of all zones covered by clothing

get_bleed_rate +

+

A helper to see how much blood we're losing per tick

get_blood_dna_list +

+

Get the mobs dna list

get_cold_protection +

+

This returns the percentage of protection from cold as a value from 0 - 1 +temperature is the temperature you're being exposed to

get_covered_body_zones +

+

Returns a list of all body_zones covered by clothing

get_damageable_bodyparts +

+

Returns a list of damageable bodyparts

get_damaged_bodyparts +

+

Returns a list of damaged bodyparts

get_heat_protection +

+

This returns the percentage of protection from heat as a value from 0 - 1 +temperature is the temperature you're being exposed to

get_insulation_protection +

+

Get the insulation that is appropriate to the temperature you're being exposed to. +All clothing, natural insulation, and traits are combined returning a single value.

+

required temperature The Temperature that you're being exposed to

+

return the percentage of protection as a value from 0 - 1

get_item_covering_bodypart +

+

Returns an item that is covering a bodypart.

get_item_covering_zone +

+

Returns an item that is covering a body_zone (BODY_ZONE_CHEST, etc)

get_pulse +

+

generates realistic-ish pulse output based on preset levels as text

get_random_dream +

+

Generates a dream sequence to be displayed to the sleeper.

+

Generates the "dream" to display to the sleeper. A dream consists of a subject, a verb, and (most of the time) an object, displayed in sequence to the sleeper. +Dreams are generated as a list of strings stored inside dream_fragments, which is passed to and displayed in dream_sequence(). +Bedsheets on the sleeper will provide a custom subject for the dream, pulled from the dream_messages on each bedsheet.

get_total_bleed_rate +

+

get our total bleedrate

get_traumas +

+

TRAUMAS

give +

+

Proc called when offering an item to another player

+

This handles creating an alert and adding an overlay to it

handle_environment +

+

Base carbon environment handler, adds natural stabilization

handle_liver +

+

Check to see if we have the liver, if not automatically gives you last-stage effects of lacking a liver.

heal_bodypart_damage +

+

Heals ONE bodypart randomly selected from damaged ones.

+

It automatically updates damage overlays if necessary

+

It automatically updates health status

heal_overall_damage +

+

Heal MANY bodyparts, in random order

humanize +

+

Humanize

immortality +

+

For the Wishgranter

implant_skillchip +

+

Brain health scales the pain passout modifier with an importance of 80% +Blood circulation scales the pain passout modifier with an importance of 40% +Attempts to implant this skillchip into the target carbon's brain.

+

Returns whether the skillchip was inserted or not. Can optionally give chat message notification to the mob. +Arguments:

+

invalid_internals +

+

Returns truthy if air tank is open and mob lacks apparatus, or if the tank moved away from the mob.

is_bleeding +

+

if any of our bodyparts are bleeding

is_bodypart_visibly_covered +

+

This proc expects to be passed a list of covered zones, for optimization in loops. Use get_covered_body_zones(exact_only = TRUE) for that..

lying_angle_on_lying_down +

+

Special carbon interaction on lying down, to transform its sprite by a rotation.

natural_bodytemperature_stabilization +

+

Used to stabilize the body temperature back to normal on living mobs

+

Arguments:

+

notify_pain +

+

Flashes the pain overlay and provides a chat message.

on_noaddiction_trait_gain +

+

On gain of TRAIT_NO_ADDICTION

+

This will remove all addictions.

on_nobreath_trait_gain +

+

On gain of TRAIT_NOBREATH

+

This will clear all alerts and moods related to breathing.

on_nometabolism_trait_gain +

+

On gain of TRAIT_NOMETABOLISM

+

This will clear all moods related to addictions and stop metabolization.

open_internals +

+

Open the internal air tank without checking for any breathing apparatus. +Returns TRUE if the air tank was opened successfully. +Closes any existing tanks before opening another one.

+

Arguments:

+

pain_emote +

+

Perform a pain response emote, amount is the amount of pain they are in. See pain defines for easy numbers.

remove_all_embedded_objects +

+

Remove all embedded objects from all limbs on the carbon mob

remove_bodypart +

+

Proc to hook behavior on bodypart removals. Do not directly call. You're looking for [/obj/item/bodypart/proc/drop_limb()].

remove_embedded_object +

+

Remove a specific embedded item from the carbon mob

remove_skillchip +

+

Attempts to remove this skillchip from the target carbon's brain.

+

Returns FALSE when the skillchip couldn't be removed for some reason, +including the target or brain not existing or the skillchip not being in the brain. +Arguments:

+

secondary_shock +

+

Called slightly after electrocute act to apply a secondary stun.

setOrganLoss +

+

If an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the set damage proc on that organ, which can +set or clear the failing variable on that organ, making it either cease or start functions again, unlike adjustOrganLoss.

+

Arguments:

+

set_handcuffed +

+

Modifies the handcuffed value if a different value is passed, returning FALSE otherwise. The variable should only be changed through this proc.

share_bodytemperature +

+

Have two mobs share body heat between each other. +Account for the insulation and max temperature change range for the mob

+

vars:

+

should_electrocute +

+

Returns whether or not the carbon should be able to be shocked

spray_blood +

+

This proc is a helper for spraying blood for things like slashing/piercing wounds and dismemberment.

+

The strength of the splatter in the second argument determines how much it can dirty and how far it can go

+

Arguments:

+

take +

+

Proc called when the player clicks the give alert

+

Handles checking if the player taking the item has open slots and is in range of the offerer +Also deals with the actual transferring of the item to the players hands +Arguments:

+

take_bodypart_damage +

+

Damages ONE bodypart randomly selected from damagable ones.

+

It automatically updates damage overlays if necessary

+

It automatically updates health status

take_overall_damage +

+

damage MANY bodyparts, in random order

toggle_close_internals +

+

Prepares to close the currently open internal air tank and notifies in chat. +Handles displaying messages to the user before doing the actual closing. +Returns TRUE if

+

Arguments:

+

toggle_externals +

+

Toggles the given external (that's EX-ternal) air tank open, or close the currently open one, if a compatible breathing apparatus is found. +Returns TRUE if the tank was opened successfully.

+

Arguments:

+

toggle_internals +

+

Toggles the given internal air tank open, or close the currently open one, if a compatible breathing apparatus is found. +Returns TRUE if the tank was opened successfully.

+

Arguments:

+

toggle_open_internals +

+

Prepares to open the internal air tank and notifies the mob in chat. +Handles displaying messages to the user before doing the actual opening. +Returns TRUE if the tank was opened/closed successfully.

+

Arguments:

+

try_dream +

+

Begins the dreaming process on a sleeping carbon.

+

Only one dream sequence can be active at a time.

try_open_internals +

+

Opens the given internal air tank if a breathing apparatus is found. Returns TRUE if successful, FALSE otherwise. +Returns TRUE if the tank was opened successfully.

+

Arguments:

+

update_body_parts +

+

Checks to see if any bodyparts need to be redrawn, then does so. update_limb_data = TRUE redraws the limbs to conform to the owner.

update_bodypart_bleed_overlays +

+

Has each bodypart update its bleed/wound overlay icon states

update_eyes +

+

Update the eye sprite on the carbon. Calling with refresh = TRUE will update the sprite information of the eye organ first.

update_obscurity +

+

Compiles all flags_inv vars of worn items.

update_slots_for_item +

+

Update any visuals relating to an item when it's equipped, unequipped, or it's flags_inv changes.

wearing_shock_proof_gloves +

+

Returns if the carbon is wearing shock proof gloves

+ + + diff --git a/mob/living/carbon/alien.html b/mob/living/carbon/alien.html new file mode 100644 index 000000000000..12ea82c2b691 --- /dev/null +++ b/mob/living/carbon/alien.html @@ -0,0 +1,56 @@ + + + + + + + /mob/living/carbon/alien - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

alien + + + +

+ + + + + +

Procs

StunSTUN
adjustToxLossalien immune to tox damage
getToxLossalien immune to tox damage
pre_stamina_changealiens are immune to stamina damage.

Proc Details

Stun +

+

STUN

adjustToxLoss +

+

alien immune to tox damage

getToxLoss +

+

alien immune to tox damage

pre_stamina_change +

+

aliens are immune to stamina damage.

+ + + diff --git a/mob/living/carbon/human.html b/mob/living/carbon/human.html new file mode 100644 index 000000000000..2997998b0150 --- /dev/null +++ b/mob/living/carbon/human.html @@ -0,0 +1,395 @@ + + + + + + + /mob/living/carbon/human - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

human + + + +

+ +

Any humanoid (non-Xeno) mob, such as humans, plasmamen, lizards.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

afk_theftsWhen an braindead player has their equipment fiddled with, we log that info here for when they come back so they know who took their ID while they were DC'd for 30 seconds
appearance_modsA lazylist of preference-applied appearance mods present on this human. Type:Instance
blood_in_handsHow many "units of blood" we have on our hands
can_ride_typecacheWhat types of mobs are allowed to ride/buckle to this mob
coretemperatureThe core temperature of the human compaired to the skin temp of the body
eye_color_heterochromaticVar used to keep track of a human mob having a heterochromatic right eye. To ensure prefs don't overwrite shit
grad_colorColours used for hair and facial hair gradients.
grad_styleStyles used for hair and facial hair gradients.
hal_screwydollhuman specific screwyhuds from hallucinations (define key (bodypart) to int value (severity)) - see /datum/hallucination/fake_health_doll
physiqueWhich body type to use

Procs

add_blood_DNA_to_itemsAdds blood DNA to certain slots the mob is wearing
add_fingerprint_on_clothing_or_selfTakes a user and body_zone, if the body_zone is covered by clothing, add a fingerprint to it. Otherwise, add one to us.
add_trace_DNA_on_clothing_or_selfTakes a user and body_zone, if the body_zone is covered by clothing, add trace dna to it. Otherwise, add one to us.
adjust_coretemperatureAdjust the core temperature of a mob
apply_damagedepending on the species, it will run the corresponding apply_damage code there
breatheIf we're in a space with 0.5 content pressure protection, it averages the values, for example.
burn_clothingUsed by fire code to damage worn items.
check_reflectReflection checks for anything in your l_hand, r_hand, or wear_suit based on the reflection chance of the object
clean_faceCalled on the COMSIG_COMPONENT_CLEAN_FACE_ACT signal
clean_lipsA wrapper for mob/living/carbon/human/proc/update_lips that tells us if there were lip styles to change
clothingonpartGet all the clothing on a specific body part
copy_clothing_prefscopies over clothing preferences like underwear to another human
do_cprPerforms CPR on the target after a delay.
electrocute_actCalculates the siemens coeff based on clothing and species, can also restart hearts.
expose_plasmaHandles all the bad things phoron can do.
forensic_analysis_rollOn examine, players have a chance to find forensic evidence. This can only happen once per object.
get_all_worn_itemsReturns a list of every item slot contents on the user.
get_body_temp_normalget_body_temperature Returns the body temperature with any modifications applied
get_equipped_itemsUsed to return a list of equipped items on a human mob; does not include held items (use get_all_gear)
handle_environmentEnvironment handlers for species
has_hairDoes this mob have hair? Pass bald_is_false = TRUE to have "Bald" count as FALSE
is_wearing_item_of_typeBruteforce check for any type or subtype of an item.
needs_organAccepts an organ slot, returns whether or not the mob needs one to survive (or just should have one for non-vital organs).
on_enteredHUDs
randomize_human_appearanceFully randomizes everything according to the given flags.
return_cuff_slotsReturns the cuff slot contents as a list
return_extra_wearablesReturns a list of items in slots like the ID slot, belt, backpack
return_pocket_slotsReturns a list of items in the "*_store" slots
return_worn_clothingReturns a list of worn "clothing" items.
sec_hud_set_IDSecurity HUDs! Basic mode shows only the job.
set_haircolorSet the haircolor of a human. Override instead sets the override value, it will not be changed away from the override value until override is set to null.
share_blood_on_touchPlace blood onto us if the toucher has blood on their hands or clothing. messy_slots deteremines what slots to bloody.
singularity_actOverrides the point value that the mob is worth
smart_equip_targetedtake the most recent item out of a slot or place held item in a slot
something_horribleDNA HELPER-PROCS
toggle_externalsReturns TRUE if the tank successfully toggles open/closed. Opens the tank only if a breathing apparatus is found.
update_lipsUsed to update the makeup on a human and apply/remove lipstick traits, then store/unstore them on the head object in case it gets severed
washCalled when this human should be washed
wash_handsWash the hands, cleaning either the gloves if equipped and not obscured, otherwise the hands themselves if they're not obscured.
+

Var Details

afk_thefts + + + + +

+

When an braindead player has their equipment fiddled with, we log that info here for when they come back so they know who took their ID while they were DC'd for 30 seconds

appearance_mods + + + + +

+

A lazylist of preference-applied appearance mods present on this human. Type:Instance

blood_in_hands + + + + +

+

How many "units of blood" we have on our hands

can_ride_typecache + + + + +

+

What types of mobs are allowed to ride/buckle to this mob

coretemperature + + + + +

+

The core temperature of the human compaired to the skin temp of the body

eye_color_heterochromatic + + + + +

+

Var used to keep track of a human mob having a heterochromatic right eye. To ensure prefs don't overwrite shit

grad_color + + + + +

+

Colours used for hair and facial hair gradients.

grad_style + + + + +

+

Styles used for hair and facial hair gradients.

hal_screwydoll + + + + +

+

human specific screwyhuds from hallucinations (define key (bodypart) to int value (severity)) - see /datum/hallucination/fake_health_doll

physique + + + + +

+

Which body type to use

Proc Details

add_blood_DNA_to_items +

+

Adds blood DNA to certain slots the mob is wearing

add_fingerprint_on_clothing_or_self +

+

Takes a user and body_zone, if the body_zone is covered by clothing, add a fingerprint to it. Otherwise, add one to us.

add_trace_DNA_on_clothing_or_self +

+

Takes a user and body_zone, if the body_zone is covered by clothing, add trace dna to it. Otherwise, add one to us.

adjust_coretemperature +

+

Adjust the core temperature of a mob

+

vars:

+

apply_damage +

+

depending on the species, it will run the corresponding apply_damage code there

breathe +

+

If we're in a space with 0.5 content pressure protection, it averages the values, for example.

burn_clothing +

+

Used by fire code to damage worn items.

+

Arguments:

+

check_reflect +

+

Reflection checks for anything in your l_hand, r_hand, or wear_suit based on the reflection chance of the object

clean_face +

+

Called on the COMSIG_COMPONENT_CLEAN_FACE_ACT signal

clean_lips +

+

A wrapper for mob/living/carbon/human/proc/update_lips that tells us if there were lip styles to change

clothingonpart +

+

Get all the clothing on a specific body part

copy_clothing_prefs +

+

copies over clothing preferences like underwear to another human

do_cpr +

+

Performs CPR on the target after a delay.

electrocute_act +

+

Calculates the siemens coeff based on clothing and species, can also restart hearts.

expose_plasma +

+

Handles all the bad things phoron can do.

forensic_analysis_roll +

+

On examine, players have a chance to find forensic evidence. This can only happen once per object.

get_all_worn_items +

+

Returns a list of every item slot contents on the user.

get_body_temp_normal +

+

get_body_temperature Returns the body temperature with any modifications applied

+

This applies the result from proc/get_body_temp_normal_change() against the bodytemp_normal +for the species and returns the result

+

arguments:

+

get_equipped_items +

+

Used to return a list of equipped items on a human mob; does not include held items (use get_all_gear)

+

Argument(s):

+

handle_environment +

+

Environment handlers for species

has_hair +

+

Does this mob have hair? Pass bald_is_false = TRUE to have "Bald" count as FALSE

is_wearing_item_of_type +

+

Bruteforce check for any type or subtype of an item.

needs_organ +

+

Accepts an organ slot, returns whether or not the mob needs one to survive (or just should have one for non-vital organs).

on_entered +

+

HUDs

randomize_human_appearance +

+

Fully randomizes everything according to the given flags.

return_cuff_slots +

+

Returns the cuff slot contents as a list

return_extra_wearables +

+

Returns a list of items in slots like the ID slot, belt, backpack

return_pocket_slots +

+

Returns a list of items in the "*_store" slots

return_worn_clothing +

+

Returns a list of worn "clothing" items.

sec_hud_set_ID +

+

Security HUDs! Basic mode shows only the job.

set_haircolor +

+

Set the haircolor of a human. Override instead sets the override value, it will not be changed away from the override value until override is set to null.

share_blood_on_touch +

+

Place blood onto us if the toucher has blood on their hands or clothing. messy_slots deteremines what slots to bloody.

singularity_act +

+

Overrides the point value that the mob is worth

smart_equip_targeted +

+

take the most recent item out of a slot or place held item in a slot

something_horrible +

+

DNA HELPER-PROCS

toggle_externals +

+

Returns TRUE if the tank successfully toggles open/closed. Opens the tank only if a breathing apparatus is found.

update_lips +

+

Used to update the makeup on a human and apply/remove lipstick traits, then store/unstore them on the head object in case it gets severed

wash +

+

Called when this human should be washed

wash_hands +

+

Wash the hands, cleaning either the gloves if equipped and not obscured, otherwise the hands themselves if they're not obscured.

+

Returns false if we couldn't wash our hands due to them being obscured, otherwise true

+ + + diff --git a/mob/living/carbon/human/dummy.html b/mob/living/carbon/human/dummy.html new file mode 100644 index 000000000000..788376b10184 --- /dev/null +++ b/mob/living/carbon/human/dummy.html @@ -0,0 +1,42 @@ + + + + + + + /mob/living/carbon/human/dummy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

dummy + + + +

+ + + +

Procs

afterEquipItemTravel to the bottom of the contents chain, expanding it out
harvest_organsLet's extract our dummies organs and limbs for storage, to reduce the cache missed that spamming a dummy cause

Proc Details

afterEquipItem +

+

Travel to the bottom of the contents chain, expanding it out

harvest_organs +

+

Let's extract our dummies organs and limbs for storage, to reduce the cache missed that spamming a dummy cause

+ + + diff --git a/mob/living/carbon/human/species/monkey/angry.html b/mob/living/carbon/human/species/monkey/angry.html new file mode 100644 index 000000000000..13891a9a7f11 --- /dev/null +++ b/mob/living/carbon/human/species/monkey/angry.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/carbon/human/species/monkey/angry - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

angry + + + +

+ + +

Procs

give_ape_escape_helmetGives our funny monkey an Ape Escape hat reference

Proc Details

give_ape_escape_helmet +

+

Gives our funny monkey an Ape Escape hat reference

+ + + diff --git a/mob/living/carbon/human/species/monkey/punpun.html b/mob/living/carbon/human/species/monkey/punpun.html new file mode 100644 index 000000000000..28796e418c23 --- /dev/null +++ b/mob/living/carbon/human/species/monkey/punpun.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/carbon/human/species/monkey/punpun - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

punpun + + + +

+ + + +

Vars

ancestor_chainThe number of times Pun Pun has died since he was last gibbed
ancestor_nameIf we had one of the rare names in a past life
+

Var Details

ancestor_chain + + + + +

+

The number of times Pun Pun has died since he was last gibbed

ancestor_name + + + + +

+

If we had one of the rare names in a past life

+ + + diff --git a/mob/living/silicon.html b/mob/living/silicon.html new file mode 100644 index 000000000000..8205438725e2 --- /dev/null +++ b/mob/living/silicon.html @@ -0,0 +1,107 @@ + + + + + + + /mob/living/silicon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

silicon + + + +

+ + + + + + + + + + + +

Vars

alarm_types_showIf this is a path, this gets created as an object in Initialize.
hackedcheckList keeping track of hacked laws to announce
ioncheckList keeping track of ion laws to announce
lawcheckList keeping track of which laws to announce
sensors_onAre our siliconHUDs on? TRUE for yes, FALSE for no.

Procs

assemble_lawsAssembles all the zeroth, inherent and supplied laws into a single list.
checklawsGives you a link-driven interface for deciding what laws the statelaws() proc will share with the crew.
fully_replace_character_nameSame as the normal character name replacement, but updates the contents of the modular interface.
get_ui_accessReturns a UI status representing this silicon's capability to access +the given source. Called by ui_status_silicon_has_access.
logeventRecords an IC event log entry in the cyborg's internal tablet.
+

Var Details

alarm_types_show + + + + +

+

If this is a path, this gets created as an object in Initialize.

hackedcheck + + + + +

+

List keeping track of hacked laws to announce

ioncheck + + + + +

+

List keeping track of ion laws to announce

lawcheck + + + + +

+

List keeping track of which laws to announce

sensors_on + + + + +

+

Are our siliconHUDs on? TRUE for yes, FALSE for no.

Proc Details

assemble_laws +

+

Assembles all the zeroth, inherent and supplied laws into a single list.

checklaws +

+

Gives you a link-driven interface for deciding what laws the statelaws() proc will share with the crew.

fully_replace_character_name +

+

Same as the normal character name replacement, but updates the contents of the modular interface.

get_ui_access +

+

Returns a UI status representing this silicon's capability to access +the given source. Called by ui_status_silicon_has_access.

logevent +

+

Records an IC event log entry in the cyborg's internal tablet.

+

Creates an entry in the borglog list of the cyborg's internal tablet (if it's a borg), listing the current +in-game time followed by the message given. These logs can be seen by the cyborg in their +BorgUI tablet app. By design, logging fails if the cyborg is dead.

+

(This used to be in robot.dm. It's in here now.)

+

Arguments: +arg1: a string containing the message to log.

+ + + diff --git a/mob/living/silicon/ai.html b/mob/living/silicon/ai.html new file mode 100644 index 000000000000..cc342574e9fd --- /dev/null +++ b/mob/living/silicon/ai.html @@ -0,0 +1,78 @@ + + + + + + + /mob/living/silicon/ai - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ai + + + +

+ + + + + + + + +

Vars

aiMultiUsed as a fake multitoool in tcomms machinery
alert_controlStation alert datum for showing alerts UI
bot_refWeakref to the bot the ai's commanding right now
command_report_cdCommand report cooldown
lastlocremember AI's last location

Procs

remove_malf_abilitiesRemoves all malfunction-related abilities from the AI
setAiRestorePowerRoutineProc to hook behavior to the changes of the value of [aiRestorePowerRoutine].
+

Var Details

aiMulti + + + + +

+

Used as a fake multitoool in tcomms machinery

alert_control + + + + +

+

Station alert datum for showing alerts UI

bot_ref + + + + +

+

Weakref to the bot the ai's commanding right now

command_report_cd + + + + +

+

Command report cooldown

lastloc + + + + +

+

remember AI's last location

Proc Details

remove_malf_abilities +

+

Removes all malfunction-related abilities from the AI

setAiRestorePowerRoutine +

+

Proc to hook behavior to the changes of the value of [aiRestorePowerRoutine].

+ + + diff --git a/mob/living/silicon/pai.html b/mob/living/silicon/pai.html new file mode 100644 index 000000000000..17bafb28303e --- /dev/null +++ b/mob/living/silicon/pai.html @@ -0,0 +1,304 @@ + + + + + + + /mob/living/silicon/pai - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pai + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

atmos_analyzerAtmospheric analyzer
brightness_powerThe strength of the internal flashlight
can_receiveWhether this pAI can recieve radio messages
can_transmitWhether this pAI can transmit radio messages
canholoWhether the pAI can enter holoform or not
cardThe card we inhabit
chassisThe current chasis that will appear when in holoform
emaggedChanges the display to syndi if true
encryptmodToggles whether the pAI can hold encryption keys or not
hacking_cableThe cable we produce when hacking a door
holoformWhether we are currently holoformed
hostscanpAI healthanalyzer
internal_gpsInternal pAI GPS, enabled if pAI downloads GPS software, and then uses it.
internal_instrumentpAI Synthesizer
languages_grantedToggles whether universal translator has been activated. Cannot be reversed
masterName of the one who commands us
master_dnaDNA string for owner verification
medHUDToggles whether the Medical HUD is active or not
medical_recordsCached list for medical records to send as static data
newscasterpAI Newscaster
possible_chassisList of all possible chasises. TRUE means the pAI can be picked up in this chasis.
ramUsed as currency to purchase different abilities
refresh_spamBool that determines if the pAI can refresh medical/security records.
secHUDToggles whether the Security HUD is active or not
security_recordsCached list for security records to send as static data
signalerAI's signaler
softwareInstalled software on the pAI

Procs

CheckDNACost of the software to purchase +Supporting proc for the pAI to prick it's master's hand +or... whatever. It must be held in order to work +Gives the owner a popup if they want to get the jab.
check_menuChecks if we are allowed to interact with a radial menu
choose_chassisSets a new holochassis skin based on a pAI's choice
extendcableExtend cable supporting proc
hack_doorDoor jacking supporting proc
hostscanHost scan supporting proc
refresh_againProc that switches whether a pAI can refresh +the records window again.
set_holochassisSets the holochassis skin and updates the icons
wabbajackPolymorphs the pai into a random holoform
+

Var Details

atmos_analyzer + + + + +

+

Atmospheric analyzer

brightness_power + + + + +

+

The strength of the internal flashlight

can_receive + + + + +

+

Whether this pAI can recieve radio messages

can_transmit + + + + +

+

Whether this pAI can transmit radio messages

canholo + + + + +

+

Whether the pAI can enter holoform or not

card + + + + +

+

The card we inhabit

chassis + + + + +

+

The current chasis that will appear when in holoform

emagged + + + + +

+

Changes the display to syndi if true

encryptmod + + + + +

+

Toggles whether the pAI can hold encryption keys or not

hacking_cable + + + + +

+

The cable we produce when hacking a door

holoform + + + + +

+

Whether we are currently holoformed

hostscan + + + + +

+

pAI healthanalyzer

internal_gps + + + + +

+

Internal pAI GPS, enabled if pAI downloads GPS software, and then uses it.

internal_instrument + + + + +

+

pAI Synthesizer

languages_granted + + + + +

+

Toggles whether universal translator has been activated. Cannot be reversed

master + + + + +

+

Name of the one who commands us

master_dna + + + + +

+

DNA string for owner verification

medHUD + + + + +

+

Toggles whether the Medical HUD is active or not

medical_records + + + + +

+

Cached list for medical records to send as static data

newscaster + + + + +

+

pAI Newscaster

possible_chassis + + + + +

+

List of all possible chasises. TRUE means the pAI can be picked up in this chasis.

ram + + + + +

+

Used as currency to purchase different abilities

refresh_spam + + + + +

+

Bool that determines if the pAI can refresh medical/security records.

secHUD + + + + +

+

Toggles whether the Security HUD is active or not

security_records + + + + +

+

Cached list for security records to send as static data

signaler + + + + +

+

AI's signaler

software + + + + +

+

Installed software on the pAI

Proc Details

CheckDNA +

+

Cost of the software to purchase +Supporting proc for the pAI to prick it's master's hand +or... whatever. It must be held in order to work +Gives the owner a popup if they want to get the jab.

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

choose_chassis +

+

Sets a new holochassis skin based on a pAI's choice

extendcable +

+

Extend cable supporting proc

+

When doorjack is installed, allows the pAI to drop +a cable which is placed either on the floor or in +someone's hands based (on distance).

hack_door +

+

Door jacking supporting proc

+

This will, after alerting any AIs on station, begin to hack open a door. +After a 10 second timer, the door will crack open, provided they don't move out of the way.

hostscan +

+

Host scan supporting proc

+

Allows the pAI to scan its host's health vitals +An integrated health analyzer.

refresh_again +

+

Proc that switches whether a pAI can refresh +the records window again.

set_holochassis +

+

Sets the holochassis skin and updates the icons

+

wabbajack +

+

Polymorphs the pai into a random holoform

+ + + diff --git a/mob/living/silicon/robot.html b/mob/living/silicon/robot.html new file mode 100644 index 000000000000..5f1ae699a211 --- /dev/null +++ b/mob/living/silicon/robot.html @@ -0,0 +1,519 @@ + + + + + + + /mob/living/silicon/robot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

robot_defines + + + +

+ +

Definitions for /mob/living/silicon/robot and its children, including AI shells.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

ai_lockdownBoolean of whether the borg was locked by its AI or nothing
alert_controlStation alert datum for showing alerts UI
can_ride_typecacheWhat types of mobs are allowed to ride/buckle to this mob
cellIf this is a path, this gets created as an object in Initialize.
disabled_modulesFor checking which modules are disabled or not.
identRandom serial number generated for each cyborg upon its initialization
interfaceButtonThe reference to the built-in tablet that borgs carry.
ion_trailIonpulse effect.
ionpulseJetpack-like effect.
ionpulse_onJetpack-like effect.
lampButtonLamp button reference
lamp_colorSet lamp color
lamp_doomSet to true if a doomsday event is locking our lamp to on and RED
lamp_enabledIf the lamp is turned on
lamp_functionalIf the lamp isn't broken.
lamp_intensityLamp brightness. Starts at 3, but can be 1 - 5.
lockchargeBoolean of whether the borg is locked down or not
low_power_modeWhether the robot has no charge left.
modelRepresents the cyborg's model (engineering, medical, etc.)
previous_healththe last health before updating - to check net change in health
robot_suitUsed for deconstruction to remember what the borg was constructed out of.
scrambledcodesUsed to determine if a borg shows up on the robotics console. Setting to TRUE hides them.
shown_robot_modulesUsed to determine whether they have the module menu shown or not
spark_systemSo they can initialize sparks whenever/N

Procs

ExitedChecking Exited() to detect if a hat gets up and walks off. +Drones and pAIs might do this, after all.
activate_moduleFinds the first available slot and attemps to put item item_module in it.
activatedChecks if the item is currently in a slot.
add_to_upgradesUse this to add upgrades to robots. It'll register signals for when the upgrade is moved or deleted, if not single use.
after_rightedFor any special cases for robots after being righted.
break_all_cyborg_slotsBreaks all of a cyborg's slots.
break_cyborg_slotBreaks the slot number, changing the icon.
cycle_modulesCycles through the list of enabled modules, deselecting the current one and selecting the next one.
deploy_initdeploy_init: Deploys AI unit into AI shell
deselect_moduleDeselects the module in the slot module_num. +Arguments
equip_module_to_slotWhat's the first free slot for the borg? +Is passed an item and a module slot. Equips the item to that borg slot.
get_active_held_itemReturns the thing in our active hand (whatever is in our active module-slot, in this case)
get_selected_moduleThe number of module slots we're checking +Returns the slot number of the selected module, or zero if no modules are selected.
is_invalid_module_numberChecks if the provided module number is a valid number.
make_shellmake_shell: Makes an AI shell out of a cyborg unit
observer_screen_updateUpdates the observers's screens with cyborg itemss. +Arguments
on_light_eaterSpecial handling for getting hit with a light eater
on_upgrade_deletedCalled when an applied upgrade is deleted.
remove_from_upgradesCalled when an upgrade is moved outside the robot. So don't call this directly, use forceMove etc.
repair_all_cyborg_slotsRepairs all slots. Unbroken slots are unaffected.
repair_cyborg_slotRepairs the slot number, updating the icon.
revert_shellrevert_shell: Reverts AI shell back into a normal cyborg unit
select_moduleSelects the module in the slot module_num. +Arguments
set_lockchargeReports the event of the change in value of the lockcharge variable.
set_modularInterface_themeSets the tablet theme and icon
setup_default_nameUsed to setup the a basic and (somewhat) unique name for the robot.
smash_headlampHandles headlamp smashing
toggle_headlampHandles headlamp toggling, disabling, and color setting.
toggle_moduleToggles selection of the module in the slot module_num. +Arguments
uneq_activeUnequips the active held item, if there is one.
uneq_allUnequips all held items.
unequip_module_from_slotUnequips item item_module from slot module_num. Deletes it if delete_after = TRUE.
update_sightthe current percent health of the robot (-1 to 1)
updatenameUpdates the borg name taking the client preferences into account.
+

Var Details

ai_lockdown + + + + +

+

Boolean of whether the borg was locked by its AI or nothing

alert_control + + + + +

+

Station alert datum for showing alerts UI

can_ride_typecache + + + + +

+

What types of mobs are allowed to ride/buckle to this mob

cell + + + + +

+

If this is a path, this gets created as an object in Initialize.

disabled_modules + + + + +

+

For checking which modules are disabled or not.

ident + + + + +

+

Random serial number generated for each cyborg upon its initialization

interfaceButton + + + + +

+

The reference to the built-in tablet that borgs carry.

ion_trail + + + + +

+

Ionpulse effect.

ionpulse + + + + +

+

Jetpack-like effect.

ionpulse_on + + + + +

+

Jetpack-like effect.

lampButton + + + + +

+

Lamp button reference

lamp_color + + + + +

+

Set lamp color

lamp_doom + + + + +

+

Set to true if a doomsday event is locking our lamp to on and RED

lamp_enabled + + + + +

+

If the lamp is turned on

lamp_functional + + + + +

+

If the lamp isn't broken.

lamp_intensity + + + + +

+

Lamp brightness. Starts at 3, but can be 1 - 5.

lockcharge + + + + +

+

Boolean of whether the borg is locked down or not

low_power_mode + + + + +

+

Whether the robot has no charge left.

model + + + + +

+

Represents the cyborg's model (engineering, medical, etc.)

previous_health + + + + +

+

the last health before updating - to check net change in health

robot_suit + + + + +

+

Used for deconstruction to remember what the borg was constructed out of.

scrambledcodes + + + + +

+

Used to determine if a borg shows up on the robotics console. Setting to TRUE hides them.

shown_robot_modules + + + + +

+

Used to determine whether they have the module menu shown or not

spark_system + + + + +

+

So they can initialize sparks whenever/N

Proc Details

Exited +

+

Checking Exited() to detect if a hat gets up and walks off. +Drones and pAIs might do this, after all.

activate_module +

+

Finds the first available slot and attemps to put item item_module in it.

+

Arguments

+

activated +

+

Checks if the item is currently in a slot.

+

If the item is found in a slot, this returns TRUE. Otherwise, it returns FALSE +Arguments

+

add_to_upgrades +

+

Use this to add upgrades to robots. It'll register signals for when the upgrade is moved or deleted, if not single use.

after_righted +

+

For any special cases for robots after being righted.

break_all_cyborg_slots +

+

Breaks all of a cyborg's slots.

break_cyborg_slot +

+

Breaks the slot number, changing the icon.

+

Arguments

+

cycle_modules +

+

Cycles through the list of enabled modules, deselecting the current one and selecting the next one.

deploy_init +

+

deploy_init: Deploys AI unit into AI shell

+

Arguments:

+

deselect_module +

+

Deselects the module in the slot module_num. +Arguments

+

equip_module_to_slot +

+

What's the first free slot for the borg? +Is passed an item and a module slot. Equips the item to that borg slot.

+

Arguments

+

get_active_held_item +

+

Returns the thing in our active hand (whatever is in our active module-slot, in this case)

get_selected_module +

+

The number of module slots we're checking +Returns the slot number of the selected module, or zero if no modules are selected.

is_invalid_module_number +

+

Checks if the provided module number is a valid number.

+

If the number is between 1 and 3 (if check_all_slots is true) or between 1 and the number of disabled +modules (if check_all_slots is false), then it returns FALSE. Otherwise, it returns TRUE. +Arguments

+

make_shell +

+

make_shell: Makes an AI shell out of a cyborg unit

+

Arguments:

+

observer_screen_update +

+

Updates the observers's screens with cyborg itemss. +Arguments

+

on_light_eater +

+

Special handling for getting hit with a light eater

on_upgrade_deleted +

+

Called when an applied upgrade is deleted.

remove_from_upgrades +

+

Called when an upgrade is moved outside the robot. So don't call this directly, use forceMove etc.

repair_all_cyborg_slots +

+

Repairs all slots. Unbroken slots are unaffected.

repair_cyborg_slot +

+

Repairs the slot number, updating the icon.

+

Arguments

+

revert_shell +

+

revert_shell: Reverts AI shell back into a normal cyborg unit

select_module +

+

Selects the module in the slot module_num. +Arguments

+

set_lockcharge +

+

Reports the event of the change in value of the lockcharge variable.

set_modularInterface_theme +

+

Sets the tablet theme and icon

+

These variables are based on if the borg is a syndicate type or is emagged. This gets used in model change code +and also borg emag code.

setup_default_name +

+

Used to setup the a basic and (somewhat) unique name for the robot.

smash_headlamp +

+

Handles headlamp smashing

+

When called (such as by the shadowperson lighteater's attack), this proc will break the borg's headlamp +and then call toggle_headlamp to disable the light. It also plays a sound effect of glass breaking, and +tells the borg what happened to its chat. Broken lights can be repaired by using a flashlight on the borg.

toggle_headlamp +

+

Handles headlamp toggling, disabling, and color setting.

+

The initial if statment is a bit long, but the gist of it is that should the lamp be on AND the update_color +arg be true, we should simply change the color of the lamp but not disable it. Otherwise, should the turn_off +arg be true, the lamp already be enabled, any of the normal reasons the lamp would turn off happen, or the +update_color arg be passed with the lamp not on, we should set the lamp off. The update_color arg is only +ever true when this proc is called from the borg tablet, when the color selection feature is used.

+

Arguments:

+

toggle_module +

+

Toggles selection of the module in the slot module_num. +Arguments

+

uneq_active +

+

Unequips the active held item, if there is one.

uneq_all +

+

Unequips all held items.

unequip_module_from_slot +

+

Unequips item item_module from slot module_num. Deletes it if delete_after = TRUE.

+

Arguments

+

update_sight +

+

the current percent health of the robot (-1 to 1)

updatename +

+

Updates the borg name taking the client preferences into account.

+ + + diff --git a/mob/living/simple_animal.html b/mob/living/simple_animal.html new file mode 100644 index 000000000000..ef10406d88bf --- /dev/null +++ b/mob/living/simple_animal.html @@ -0,0 +1,477 @@ + + + + + + + /mob/living/simple_animal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

simple_animal + + + +

+ +

Simple, mostly AI-controlled critters, such as pets, bots, and drones.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

AIStatusThe Status of our AI, can be set to AI_ON (On, usual processing), AI_IDLE (Will not process, but will return to AI_ON if an enemy comes near), AI_OFF (Off, Not processing ever), AI_Z_OFF (Temporarily off due to nonpresence of players).
access_cardSimple_animal access. +Innate access uses an internal ID card.
animal_speciesSorry, no spider+corgi buttbabies.
armor_penetrationHow much armour they ignore, as a flat reduction from the targets armour value.
atmos_requirementsAtmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage +Leaving something at 0 means it's off - has no maximum.
attack_soundSound played when the critter attacks.
attack_verb_continuousAttacking verb in present continuous tense.
attack_verb_simpleAttacking verb in present simple tense.
attack_vis_effectOverride for the visual attack effect shown on 'do_attack_animation()'.
attacked_soundPlayed when someone punches the creature.
can_have_aionce we have become sentient, we can never go back.
childtypeHot simple_animal baby making vars.
damage_coeff1 for full damage , 0 for none , -1 for 1:1 heal from that source.
del_on_deathCauses mob to be deleted on death, useful for mobs that spawn lootable corpses.
dextrousIf the creature has, and can use, hands.
emote_cooldownLimits how often mobs can hunt other mobs
emote_hearHearable emotes
emote_seeUnlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps
environment_smashSet to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls.
flip_on_deathFlip the sprite upside down on death. Mostly here for things lacking custom dead sprites.
footstep_typeWhat kind of footstep this mob should have. Null if it shouldn't have any.
force_thresholdMinimum force required to deal any damage.
friendly_verb_continuousAttacking, but without damage, verb in present continuous tense.
friendly_verb_simpleAttacking, but without damage, verb in present simple tense.
gold_core_spawnableIf the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood.
healableHealable by medical stacks? Defaults to yes.
icon_deadIcon when the animal is dead. Don't use animated icons for this.
icon_gibWe only try to show a gibbing animation if this exists.
inept_hunterIs this animal horrible at hunting?
lootList of things spawned at mob's loc when it dies.
max_staminalossMaximum amount of stamina damage the mob can be inflicted with total
maxbodytempMaximal body temperature without receiving damage
melee_damage_typeDamage type of a simple mob's melee attack, should it do damage.
minbodytempMinimal body temperature without receiving damage
my_zI don't want to confuse this with client registered_z.
obj_damagehow much damage this simple animal does to objects, if any.
prevent_goto_movementMakes Goto() return FALSE and not start a move loop
response_disarm_continuousDisarm-intent verb in present continuous tense.
response_disarm_simpleDisarm-intent verb in present simple tense.
response_harm_continuousHarm-intent verb in present continuous tense.
response_harm_simpleHarm-intent verb in present simple tense.
response_help_continuousWhen someone interacts with the simple animal. +Help-intent verb in present continuous tense.
response_help_simpleHelp-intent verb in present simple tense.
sentience_typeSentience type, for slime potions.
sharpnessIf the attacks from this are sharp
shouldwakeupconvenience var for forcibly waking up an idling AI on next check.
simple_mob_flagsGeneric flags
speak_emoteEmotes while speaking IE: Ian [emote], [text] -- Ian barks, "WOOF!". Spoken text is generated from the speak variable.
speedLETS SEE IF I CAN SET SPEEDS FOR SIMPLE MOBS WITHOUT DESTROYING EVERYTHING. Higher speed is slower, negative speed is faster.
stop_automated_movementUse this to temporarely stop random movement or to if you write special movement code for animals.
stop_automated_movement_when_pulledWhen set to 1 this stops the animal from moving when someone is pulling it.
turns_per_moveticks up every time handle_automated_movement() is called, which is every 2 seconds at the time of documenting. 1 turns per move is 1 movement every 2 seconds.
unsuitable_atmos_damageThis damage is taken when atmos doesn't fit all the requirements above.
unsuitable_cold_damageThis damage is taken when the body temp is too cold.
unsuitable_heat_damageThis damage is taken when the body temp is too hot.
wanderDoes the mob wander around when idle?
weather_immunitiesList of weather immunity traits that are then added on Initialize(), see traits.dm.

Procs

adjustHealthAdjusts the health of a simple mob by a set amount and wakes AI if its idle to react
ex_act_devastateCalled when a devastating explosive acts on this mob
ex_act_heavyCalled when a heavy explosive acts on this mob
ex_act_lightCalled when a light explosive acts on this mob
on_stamina_updateUpdates the simple mob's stamina loss.
+

Var Details

AIStatus + + + + +

+

The Status of our AI, can be set to AI_ON (On, usual processing), AI_IDLE (Will not process, but will return to AI_ON if an enemy comes near), AI_OFF (Off, Not processing ever), AI_Z_OFF (Temporarily off due to nonpresence of players).

access_card + + + + +

+

Simple_animal access. +Innate access uses an internal ID card.

animal_species + + + + +

+

Sorry, no spider+corgi buttbabies.

armor_penetration + + + + +

+

How much armour they ignore, as a flat reduction from the targets armour value.

atmos_requirements + + + + +

+

Atmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage +Leaving something at 0 means it's off - has no maximum.

attack_sound + + + + +

+

Sound played when the critter attacks.

attack_verb_continuous + + + + +

+

Attacking verb in present continuous tense.

attack_verb_simple + + + + +

+

Attacking verb in present simple tense.

attack_vis_effect + + + + +

+

Override for the visual attack effect shown on 'do_attack_animation()'.

attacked_sound + + + + +

+

Played when someone punches the creature.

can_have_ai + + + + +

+

once we have become sentient, we can never go back.

childtype + + + + +

+

Hot simple_animal baby making vars.

damage_coeff + + + + +

+

1 for full damage , 0 for none , -1 for 1:1 heal from that source.

del_on_death + + + + +

+

Causes mob to be deleted on death, useful for mobs that spawn lootable corpses.

dextrous + + + + +

+

If the creature has, and can use, hands.

emote_cooldown + + + + +

+

Limits how often mobs can hunt other mobs

emote_hear + + + + +

+

Hearable emotes

emote_see + + + + +

+

Unlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps

environment_smash + + + + +

+

Set to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls.

flip_on_death + + + + +

+

Flip the sprite upside down on death. Mostly here for things lacking custom dead sprites.

footstep_type + + + + +

+

What kind of footstep this mob should have. Null if it shouldn't have any.

force_threshold + + + + +

+

Minimum force required to deal any damage.

friendly_verb_continuous + + + + +

+

Attacking, but without damage, verb in present continuous tense.

friendly_verb_simple + + + + +

+

Attacking, but without damage, verb in present simple tense.

gold_core_spawnable + + + + +

+

If the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood.

healable + + + + +

+

Healable by medical stacks? Defaults to yes.

icon_dead + + + + +

+

Icon when the animal is dead. Don't use animated icons for this.

icon_gib + + + + +

+

We only try to show a gibbing animation if this exists.

inept_hunter + + + + +

+

Is this animal horrible at hunting?

loot + + + + +

+

List of things spawned at mob's loc when it dies.

max_staminaloss + + + + +

+

Maximum amount of stamina damage the mob can be inflicted with total

maxbodytemp + + + + +

+

Maximal body temperature without receiving damage

melee_damage_type + + + + +

+

Damage type of a simple mob's melee attack, should it do damage.

minbodytemp + + + + +

+

Minimal body temperature without receiving damage

my_z + + + + +

+

I don't want to confuse this with client registered_z.

obj_damage + + + + +

+

how much damage this simple animal does to objects, if any.

prevent_goto_movement + + + + +

+

Makes Goto() return FALSE and not start a move loop

response_disarm_continuous + + + + +

+

Disarm-intent verb in present continuous tense.

response_disarm_simple + + + + +

+

Disarm-intent verb in present simple tense.

response_harm_continuous + + + + +

+

Harm-intent verb in present continuous tense.

response_harm_simple + + + + +

+

Harm-intent verb in present simple tense.

response_help_continuous + + + + +

+

When someone interacts with the simple animal. +Help-intent verb in present continuous tense.

response_help_simple + + + + +

+

Help-intent verb in present simple tense.

sentience_type + + + + +

+

Sentience type, for slime potions.

sharpness + + + + +

+

If the attacks from this are sharp

shouldwakeup + + + + +

+

convenience var for forcibly waking up an idling AI on next check.

simple_mob_flags + + + + +

+

Generic flags

speak_emote + + + + +

+

Emotes while speaking IE: Ian [emote], [text] -- Ian barks, "WOOF!". Spoken text is generated from the speak variable.

speed + + + + +

+

LETS SEE IF I CAN SET SPEEDS FOR SIMPLE MOBS WITHOUT DESTROYING EVERYTHING. Higher speed is slower, negative speed is faster.

stop_automated_movement + + + + +

+

Use this to temporarely stop random movement or to if you write special movement code for animals.

stop_automated_movement_when_pulled + + + + +

+

When set to 1 this stops the animal from moving when someone is pulling it.

turns_per_move + + + + +

+

ticks up every time handle_automated_movement() is called, which is every 2 seconds at the time of documenting. 1 turns per move is 1 movement every 2 seconds.

unsuitable_atmos_damage + + + + +

+

This damage is taken when atmos doesn't fit all the requirements above.

unsuitable_cold_damage + + + + +

+

This damage is taken when the body temp is too cold.

unsuitable_heat_damage + + + + +

+

This damage is taken when the body temp is too hot.

wander + + + + +

+

Does the mob wander around when idle?

weather_immunities + + + + +

+

List of weather immunity traits that are then added on Initialize(), see traits.dm.

Proc Details

adjustHealth +

+

Adjusts the health of a simple mob by a set amount and wakes AI if its idle to react

+

Arguments:

+

ex_act_devastate +

+

Called when a devastating explosive acts on this mob

ex_act_heavy +

+

Called when a heavy explosive acts on this mob

ex_act_light +

+

Called when a light explosive acts on this mob

on_stamina_update +

+

Updates the simple mob's stamina loss.

+

Updates the speed and staminaloss of a given simplemob. +Reduces the stamina loss by stamina_recovery

+ + + diff --git a/mob/living/simple_animal/bot.html b/mob/living/simple_animal/bot.html new file mode 100644 index 000000000000..c64136567ed1 --- /dev/null +++ b/mob/living/simple_animal/bot.html @@ -0,0 +1,270 @@ + + + + + + + /mob/living/simple_animal/bot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

bot + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

ai_waypointThe end point of a bot's path, or the target location.
base_speedThe speed at which the bot moves, or the number of times it moves per process() tick.
bot_cover_flagsBot-related cover flags on the Bot to deal with what has been done to their cover, including emagging.
bot_mode_flagsBot-related mode flags on the Bot indicating how they will act.
bot_typeThe type of bot it is, for radio control.
calling_aiLinks a bot to the AI calling it.
commissionedWill other (noncommissioned) bots salute this bot?
data_hud_typeThe type of data HUD the bot uses. Diagnostic by default.
destinationDestination description tag
frustrationUsed by some bots for tracking failures to reach their target.
hackablesSmall name of what the bot gets messed with when getting hacked/emagged.
ignore_listList of unreachable targets for an ignore-list enabled bot to ignore.
internal_radioThe bot's radio, for speaking to people.
maints_access_requiredAccess required to access this Bot's maintenance protocols
modeStandardizes the vars that indicate the bot is busy with its function.
nearest_beaconthe nearest beacon's tag
nearest_beacon_locThe nearest beacon's location
new_destinationPending new destination (waiting for beacon response)
next_destinationThe next destination in the patrol route
next_salute_checkCooldown between salutations for commissioned bots
paicardThe inserted (if any) pAI in this bot.
pathList of turfs through which a bot 'steps' to reach the waypoint, associated with the path image, if there is one.
pathsetThe bot is on a custom set path.
patrol_targetTurf a bot is summoned to navitage towards.
player_accessAdditonal access given to player-controlled bots.
prev_accessAll initial access this bot started with.
radio_channelThe bot's default radio channel
radio_keywhich channels can the bot listen to
robot_armThe Robot arm attached to this robot - has a 50% chance to drop on death.
summon_targetTurf of a user summoning a bot towards their location.
triesNumber of times the bot tried and failed to move.

Procs

bot_stepPerforms a step_towards and increments the path if successful. Returns TRUE if the bot moved and FALSE otherwise.
get_mode_uiReturns a status string about the bot's current status, if it's moving, manually controlled, or idle.
scanAttempt to scan tiles near [src], first by checking adjacent, then if a target is still not found, nearby.
+

Var Details

ai_waypoint + + + + +

+

The end point of a bot's path, or the target location.

base_speed + + + + +

+

The speed at which the bot moves, or the number of times it moves per process() tick.

bot_cover_flags + + + + +

+

Bot-related cover flags on the Bot to deal with what has been done to their cover, including emagging.

bot_mode_flags + + + + +

+

Bot-related mode flags on the Bot indicating how they will act.

bot_type + + + + +

+

The type of bot it is, for radio control.

calling_ai + + + + +

+

Links a bot to the AI calling it.

commissioned + + + + +

+

Will other (noncommissioned) bots salute this bot?

data_hud_type + + + + +

+

The type of data HUD the bot uses. Diagnostic by default.

destination + + + + +

+

Destination description tag

frustration + + + + +

+

Used by some bots for tracking failures to reach their target.

hackables + + + + +

+

Small name of what the bot gets messed with when getting hacked/emagged.

ignore_list + + + + +

+

List of unreachable targets for an ignore-list enabled bot to ignore.

internal_radio + + + + +

+

The bot's radio, for speaking to people.

maints_access_required + + + + +

+

Access required to access this Bot's maintenance protocols

mode + + + + +

+

Standardizes the vars that indicate the bot is busy with its function.

nearest_beacon + + + + +

+

the nearest beacon's tag

nearest_beacon_loc + + + + +

+

The nearest beacon's location

new_destination + + + + +

+

Pending new destination (waiting for beacon response)

next_destination + + + + +

+

The next destination in the patrol route

next_salute_check + + + + +

+

Cooldown between salutations for commissioned bots

paicard + + + + +

+

The inserted (if any) pAI in this bot.

path + + + + +

+

List of turfs through which a bot 'steps' to reach the waypoint, associated with the path image, if there is one.

pathset + + + + +

+

The bot is on a custom set path.

patrol_target + + + + +

+

Turf a bot is summoned to navitage towards.

player_access + + + + +

+

Additonal access given to player-controlled bots.

prev_access + + + + +

+

All initial access this bot started with.

radio_channel + + + + +

+

The bot's default radio channel

radio_key + + + + +

+

which channels can the bot listen to

robot_arm + + + + +

+

The Robot arm attached to this robot - has a 50% chance to drop on death.

summon_target + + + + +

+

Turf of a user summoning a bot towards their location.

tries + + + + +

+

Number of times the bot tried and failed to move.

Proc Details

bot_step +

+

Performs a step_towards and increments the path if successful. Returns TRUE if the bot moved and FALSE otherwise.

get_mode_ui +

+

Returns a status string about the bot's current status, if it's moving, manually controlled, or idle.

scan +

+

Attempt to scan tiles near [src], first by checking adjacent, then if a target is still not found, nearby.

+

scan_types - list (of typepaths) that nearby tiles are being scanned for. +old_target - what has already been scanned, and will early return at checkscan. +scan_range - how far away from [src] will be scanned, if nothing is found directly adjacent.

+ + + diff --git a/mob/living/simple_animal/bot/cleanbot.html b/mob/living/simple_animal/bot/cleanbot.html new file mode 100644 index 000000000000..22a36689137c --- /dev/null +++ b/mob/living/simple_animal/bot/cleanbot.html @@ -0,0 +1,92 @@ + + + + + + + /mob/living/simple_animal/bot/cleanbot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cleanbot + + + +

+ + + + + + + + + + +

Vars

ascendedif we have all the top titles, grant achievements to living mobs that gaze upon our cleanbot god
base_iconthe base icon state, used in updating icons.
janitor_mode_flagsFlags indicating what kind of cleanables we should scan for to set as our target to clean.
prefixesWhat ranks are prefixes to the name.
stolen_valorList of all stolen names the cleanbot currently has.
suffixesWhat ranks are suffixes to the name.
targetThe current bot's target.
target_typesList of things cleanbots can target for cleaning.
weaponCurrently attached weapon, usually a knife.
+

Var Details

ascended + + + + +

+

if we have all the top titles, grant achievements to living mobs that gaze upon our cleanbot god

base_icon + + + + +

+

the base icon state, used in updating icons.

janitor_mode_flags + + + + +

+

Flags indicating what kind of cleanables we should scan for to set as our target to clean.

prefixes + + + + +

+

What ranks are prefixes to the name.

stolen_valor + + + + +

+

List of all stolen names the cleanbot currently has.

suffixes + + + + +

+

What ranks are suffixes to the name.

target + + + + +

+

The current bot's target.

target_types + + + + +

+

List of things cleanbots can target for cleaning.

weapon + + + + +

+

Currently attached weapon, usually a knife.

+ + + diff --git a/mob/living/simple_animal/bot/floorbot.html b/mob/living/simple_animal/bot/floorbot.html new file mode 100644 index 000000000000..a1b1226a37d5 --- /dev/null +++ b/mob/living/simple_animal/bot/floorbot.html @@ -0,0 +1,42 @@ + + + + + + + /mob/living/simple_animal/bot/floorbot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

floorbot + + + +

+ + + +

Procs

check_bot_workingChecks a given turf to see if another floorbot is there, working as well.
toggle_magnetmobs should use move_resist instead of anchored.

Proc Details

check_bot_working +

+

Checks a given turf to see if another floorbot is there, working as well.

toggle_magnet +

+

mobs should use move_resist instead of anchored.

+ + + diff --git a/mob/living/simple_animal/bot/hygienebot.html b/mob/living/simple_animal/bot/hygienebot.html new file mode 100644 index 000000000000..30f3755d0a85 --- /dev/null +++ b/mob/living/simple_animal/bot/hygienebot.html @@ -0,0 +1,85 @@ + + + + + + + /mob/living/simple_animal/bot/hygienebot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hygienebot + + + +

+ + + + + + + + + +

Vars

currentspeedThe mob's current speed, which varies based on how long the bot chases it's target.
fire_overlayVisual overlay of the bot commiting warcrimes.
last_foundThe last time that the previous/current target was found.
madHave the target evaded the bot for long enough that it will swear at it like kirk did to kahn?
oldtarget_nameName of the previous target the bot was pursuing.
targetThe human target the bot is trying to wash.
washingIs the bot currently washing it's target/everything else that crosses it?
water_overlayVisual overlay of the bot spraying water.
+

Var Details

currentspeed + + + + +

+

The mob's current speed, which varies based on how long the bot chases it's target.

fire_overlay + + + + +

+

Visual overlay of the bot commiting warcrimes.

last_found + + + + +

+

The last time that the previous/current target was found.

mad + + + + +

+

Have the target evaded the bot for long enough that it will swear at it like kirk did to kahn?

oldtarget_name + + + + +

+

Name of the previous target the bot was pursuing.

target + + + + +

+

The human target the bot is trying to wash.

washing + + + + +

+

Is the bot currently washing it's target/everything else that crosses it?

water_overlay + + + + +

+

Visual overlay of the bot spraying water.

+ + + diff --git a/mob/living/simple_animal/bot/medbot.html b/mob/living/simple_animal/bot/medbot.html new file mode 100644 index 000000000000..457501269aeb --- /dev/null +++ b/mob/living/simple_animal/bot/medbot.html @@ -0,0 +1,127 @@ + + + + + + + /mob/living/simple_animal/bot/medbot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

medbot + + + +

+ + + + + + + + + + + + + + + +

Vars

damagetype_healerWhat damage type does this bot support. Because the default is brute, if the medkit is brute-oriented there is a slight bonus to healing. set to "all" for it to heal any of the 4 base damage types
heal_amountHow much healing do we do at a time?
heal_thresholdStart healing when they have this much damage in a category
healthanalyzerdrop determining variable
last_newpatient_speakLast announced trying to catch up to a new patient
last_patient_messageLast announced healing a person in critical condition
last_tipping_action_voiceLast time we were tipped/righted and said a voice line
medical_mode_flagsFlags Medbots use to decide how they should be acting.
medkit_typedrop determining variable
skinbased off medkit_X skins in aibots.dmi for your selection; X goes here IE medskin_tox means skin var should be "tox"
tendingIs the medbot currently tending wounds
tipped_statusHow panicked we are about being tipped over (why would you do this?)
tipper_nameThe name we got when we were tipped

Procs

handle_panicif someone tipped us over, check whether we should ask for help or just right ourselves eventually
+

Var Details

damagetype_healer + + + + +

+

What damage type does this bot support. Because the default is brute, if the medkit is brute-oriented there is a slight bonus to healing. set to "all" for it to heal any of the 4 base damage types

heal_amount + + + + +

+

How much healing do we do at a time?

heal_threshold + + + + +

+

Start healing when they have this much damage in a category

healthanalyzer + + + + +

+

drop determining variable

last_newpatient_speak + + + + +

+

Last announced trying to catch up to a new patient

last_patient_message + + + + +

+

Last announced healing a person in critical condition

last_tipping_action_voice + + + + +

+

Last time we were tipped/righted and said a voice line

medical_mode_flags + + + + +

+

Flags Medbots use to decide how they should be acting.

medkit_type + + + + +

+

drop determining variable

skin + + + + +

+

based off medkit_X skins in aibots.dmi for your selection; X goes here IE medskin_tox means skin var should be "tox"

tending + + + + +

+

Is the medbot currently tending wounds

tipped_status + + + + +

+

How panicked we are about being tipped over (why would you do this?)

tipper_name + + + + +

+

The name we got when we were tipped

Proc Details

handle_panic +

+

if someone tipped us over, check whether we should ask for help or just right ourselves eventually

+ + + diff --git a/mob/living/simple_animal/bot/mulebot.html b/mob/living/simple_animal/bot/mulebot.html new file mode 100644 index 000000000000..c2a8b12602f2 --- /dev/null +++ b/mob/living/simple_animal/bot/mulebot.html @@ -0,0 +1,164 @@ + + + + + + + /mob/living/simple_animal/bot/mulebot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mulebot + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

auto_pickuptrue if auto return to home beacon after unload
blockcounttrue if already reached the target +Number of times retried a blocked path
bloodinessHow much power we use when we move.
celltrue if bot will announce an arrival to a location.
cell_move_power_usageInternal Powercell
home_destinationthis the direction to unload onto/load from
idunique identifier in case there are multiple mulebots.
loadicon_state to use in update_icon_state
loaddirthis is turf to navigate to (location of beacon)
num_stepsIf we've run over a mob, how many tiles will we leave tracks on while moving
passengerwhat we're transporting
reached_targettag of home delivery beacon
report_deliverytrue if auto-pickup at beacon
targetwho's riding us

Procs

InitializeThe amount of steps we should take until we rest for a time.
check_pre_stepChecks whether the bot can complete a step_towards, checking whether the bot is on and has the charge to do the move. Returns COMPONENT_MOB_BOT_CANCELSTEP if the bot should not step.
get_load_nameresolves the name to display for the loaded mob. primarily needed for the paranormal subtype since we don't want to show the name of ghosts riding it.
has_powerreturns true if the bot is fully powered.
on_bot_stepUses power from the cell when the bot steps.
+

Var Details

auto_pickup + + + + +

+

true if auto return to home beacon after unload

blockcount + + + + +

+

true if already reached the target +Number of times retried a blocked path

bloodiness + + + + +

+

How much power we use when we move.

cell + + + + +

+

true if bot will announce an arrival to a location.

cell_move_power_usage + + + + +

+

Internal Powercell

home_destination + + + + +

+

this the direction to unload onto/load from

id + + + + +

+

unique identifier in case there are multiple mulebots.

load + + + + +

+

icon_state to use in update_icon_state

loaddir + + + + +

+

this is turf to navigate to (location of beacon)

num_steps + + + + +

+

If we've run over a mob, how many tiles will we leave tracks on while moving

passenger + + + + +

+

what we're transporting

reached_target + + + + +

+

tag of home delivery beacon

report_delivery + + + + +

+

true if auto-pickup at beacon

target + + + + +

+

who's riding us

Proc Details

Initialize +

+

The amount of steps we should take until we rest for a time.

check_pre_step +

+

Checks whether the bot can complete a step_towards, checking whether the bot is on and has the charge to do the move. Returns COMPONENT_MOB_BOT_CANCELSTEP if the bot should not step.

get_load_name +

+

resolves the name to display for the loaded mob. primarily needed for the paranormal subtype since we don't want to show the name of ghosts riding it.

has_power +

+

returns true if the bot is fully powered.

on_bot_step +

+

Uses power from the cell when the bot steps.

+ + + diff --git a/mob/living/simple_animal/bot/secbot.html b/mob/living/simple_animal/bot/secbot.html new file mode 100644 index 000000000000..589b52e20292 --- /dev/null +++ b/mob/living/simple_animal/bot/secbot.html @@ -0,0 +1,120 @@ + + + + + + + /mob/living/simple_animal/bot/secbot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

secbot + + + +

+ + + + + + + + + + + + + + +

Vars

baton_typeThe type of baton this Secbot will use
cuff_typeThe type of cuffs we use on criminals after making arrests
fair_market_price_arrestOn arrest, charges the violator this much. If they don't have that much in their account, they will get beaten instead
fair_market_price_detainCharged each time the violator is stunned on detain
last_foundTime since last seeing their perpetrator
oldtarget_nameName of their last target to prevent spamming
payment_departmentThe department the secbot will deposit collected money into
security_mode_flagsFlags SecBOTs use on what to check on targets when arresting, and whether they should announce it to security/handcuff their target
targetTheir current target
target_lastlocThe last location their target was seen at
threatlevelThe threat level of the BOT, will arrest anyone at threatlevel 4 or above
weaponThe weapon (from baton_type) that will be used to make arrests.
weapon_forceForce of the harmbaton used on them
+

Var Details

baton_type + + + + +

+

The type of baton this Secbot will use

cuff_type + + + + +

+

The type of cuffs we use on criminals after making arrests

fair_market_price_arrest + + + + +

+

On arrest, charges the violator this much. If they don't have that much in their account, they will get beaten instead

fair_market_price_detain + + + + +

+

Charged each time the violator is stunned on detain

last_found + + + + +

+

Time since last seeing their perpetrator

oldtarget_name + + + + +

+

Name of their last target to prevent spamming

payment_department + + + + +

+

The department the secbot will deposit collected money into

security_mode_flags + + + + +

+

Flags SecBOTs use on what to check on targets when arresting, and whether they should announce it to security/handcuff their target

target + + + + +

+

Their current target

target_lastloc + + + + +

+

The last location their target was seen at

threatlevel + + + + +

+

The threat level of the BOT, will arrest anyone at threatlevel 4 or above

weapon + + + + +

+

The weapon (from baton_type) that will be used to make arrests.

weapon_force + + + + +

+

Force of the harmbaton used on them

+ + + diff --git a/mob/living/simple_animal/bot/secbot/honkbot.html b/mob/living/simple_animal/bot/secbot/honkbot.html new file mode 100644 index 000000000000..365da057ca10 --- /dev/null +++ b/mob/living/simple_animal/bot/secbot/honkbot.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/simple_animal/bot/secbot/honkbot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

honkbot + + + +

+ + + + + +

Vars

cooldowntimeCooldown between honks
cooldowntimehornCooldown between ear-breaking horn sounds
honksoundSound played when HONKing someone
limiting_spamKeeping track of how much we honk to prevent spamming it
+

Var Details

cooldowntime + + + + +

+

Cooldown between honks

cooldowntimehorn + + + + +

+

Cooldown between ear-breaking horn sounds

honksound + + + + +

+

Sound played when HONKing someone

limiting_spam + + + + +

+

Keeping track of how much we honk to prevent spamming it

+ + + diff --git a/mob/living/simple_animal/bot/vibebot.html b/mob/living/simple_animal/bot/vibebot.html new file mode 100644 index 000000000000..3982569b23e0 --- /dev/null +++ b/mob/living/simple_animal/bot/vibebot.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/bot/vibebot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vibebot + + + +

+ + +

Vars

vibe_abilityThe vibe ability given to vibebots, so sentient ones can still change their color.
+

Var Details

vibe_ability + + + + +

+

The vibe ability given to vibebots, so sentient ones can still change their color.

+ + + diff --git a/mob/living/simple_animal/chicken.html b/mob/living/simple_animal/chicken.html new file mode 100644 index 000000000000..21a6a644954f --- /dev/null +++ b/mob/living/simple_animal/chicken.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/simple_animal/chicken - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chicken + + + +

+ + + +

Vars

chicken_countcounter for how many chickens are in existence to stop too many chickens from lagging shit up
process_eggsboolean deciding whether eggs laid by this chicken can hatch into chicks
+

Var Details

chicken_count + + + + +

+

counter for how many chickens are in existence to stop too many chickens from lagging shit up

process_eggs + + + + +

+

boolean deciding whether eggs laid by this chicken can hatch into chicks

+ + + diff --git a/mob/living/simple_animal/crab.html b/mob/living/simple_animal/crab.html new file mode 100644 index 000000000000..ea8043e6c267 --- /dev/null +++ b/mob/living/simple_animal/crab.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/crab - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

crab + + + +

+ + +

Vars

attack_verb_continuousIn the case 'melee_damage_upper' is somehow raised above 0
+

Var Details

attack_verb_continuous + + + + +

+

In the case 'melee_damage_upper' is somehow raised above 0

+ + + diff --git a/mob/living/simple_animal/drone.html b/mob/living/simple_animal/drone.html new file mode 100644 index 000000000000..4fd328b52548 --- /dev/null +++ b/mob/living/simple_animal/drone.html @@ -0,0 +1,310 @@ + + + + + + + /mob/living/simple_animal/drone - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Maintenance Drone + + + +

+ +

Small player controlled fixer-upper

+

The maintenace drone is a ghost role with the objective to repair and +maintain the station.

+

Featuring two dexterous hands, and a built in toolbox stocked with +tools.

+

They have laws to prevent them from doing anything else.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

colourStored drone color, restored when unhacked
default_hatmaskDefault /mob/living/simple_animal/drone/var/head item
default_storageDefault /mob/living/simple_animal/drone/var/internal_storage item
drone_area_blacklist_flatblacklisted drone areas, direct
drone_area_blacklist_recursiveblacklisted drone areas, recursive/includes descendants
drone_item_whitelist_flatwhitelisted drone items, direct
drone_item_whitelist_recursivewhitelisted drone items, recursive/includes descendants
drone_machinery_blacklist_compiledblacklisted drone machine typecache, compiled from [var/drone_machinery_blacklist_flat], [var/list/drone_machinery_blacklist_recursive], negated by their whitelist counterparts
drone_machinery_blacklist_flatblacklisted drone machines, direct
drone_machinery_blacklist_recursiveblacklisted drone machines, recursive/includes descendants
drone_machinery_whitelist_flatcancels out blacklisted machines, direct
drone_machinery_whitelist_recursivecancels out blacklisted machines, recursive/includes descendants
flavortextFlavor text announced to drones on /mob/proc/Login
hackedHacked state, see /mob/living/simple_animal/drone/proc/update_drone_hack
headHeadwear slot
heavy_emp_damageAmount of damage sustained if hit by a heavy EMP pulse
internal_storageInternal storage slot. Fits any item
lawsDrone laws announced on spawn
listenerAlarm listener datum, handes caring about alarm events and such
pickedTRUE if we have picked our visual appearance, FALSE otherwise (default)
shyIf we have laws to minimize bothering others. Enables or disables drone laws enforcement components (use [/mob/living/simple_animal/drone/proc/set_shy] to set)
shy_machine_whitelistmachines whitelisted from being shy with
visualAppearanceicon_state of drone from icons/mobs/drone.dmi

Procs

alert_dronesWraps /proc/_alert_drones with defaults
check_lawsEchoes drone laws to the user
check_menucheck_menu: Checks if we are allowed to interact with a radial menu
drone_chatWraps /mob/living/simple_animal/drone/proc/alert_drones as a Drone Chat
drone_pingCreates an alert to drones in the same network
liberate
pickVisualAppearancePrompt for usr to pick /mob/living/simple_animal/drone/var/visualAppearance
try_reactivateCalled when a drone attempts to reactivate a dead drone
update_drone_hackHack or unhack a drone
update_drone_icon_hackedChanges the icon state to a hacked version
+

Var Details

colour + + + + +

+

Stored drone color, restored when unhacked

default_hatmask + + + + +

+

Default /mob/living/simple_animal/drone/var/head item

default_storage + + + + +

+

Default /mob/living/simple_animal/drone/var/internal_storage item

drone_area_blacklist_flat + + + + +

+

blacklisted drone areas, direct

drone_area_blacklist_recursive + + + + +

+

blacklisted drone areas, recursive/includes descendants

drone_item_whitelist_flat + + + + +

+

whitelisted drone items, direct

drone_item_whitelist_recursive + + + + +

+

whitelisted drone items, recursive/includes descendants

drone_machinery_blacklist_compiled + + + + +

+

blacklisted drone machine typecache, compiled from [var/drone_machinery_blacklist_flat], [var/list/drone_machinery_blacklist_recursive], negated by their whitelist counterparts

drone_machinery_blacklist_flat + + + + +

+

blacklisted drone machines, direct

drone_machinery_blacklist_recursive + + + + +

+

blacklisted drone machines, recursive/includes descendants

drone_machinery_whitelist_flat + + + + +

+

cancels out blacklisted machines, direct

drone_machinery_whitelist_recursive + + + + +

+

cancels out blacklisted machines, recursive/includes descendants

flavortext + + + + +

+

Flavor text announced to drones on /mob/proc/Login

hacked + + + + +

+

Hacked state, see /mob/living/simple_animal/drone/proc/update_drone_hack

head + + + + +

+

Headwear slot

heavy_emp_damage + + + + +

+

Amount of damage sustained if hit by a heavy EMP pulse

internal_storage + + + + +

+

Internal storage slot. Fits any item

laws + + + + +

+

Drone laws announced on spawn

listener + + + + +

+

Alarm listener datum, handes caring about alarm events and such

picked + + + + +

+

TRUE if we have picked our visual appearance, FALSE otherwise (default)

shy + + + + +

+

If we have laws to minimize bothering others. Enables or disables drone laws enforcement components (use [/mob/living/simple_animal/drone/proc/set_shy] to set)

shy_machine_whitelist + + + + +

+

machines whitelisted from being shy with

visualAppearance + + + + +

+

icon_state of drone from icons/mobs/drone.dmi

+

Possible states are:

+

Proc Details

alert_drones +

+

Wraps /proc/_alert_drones with defaults

+

check_laws +

+

Echoes drone laws to the user

+

See /mob/living/simple_animal/drone/var/laws

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

drone_chat +

+

Wraps /mob/living/simple_animal/drone/proc/alert_drones as a Drone Chat

+

Shares the same radio code with binary

drone_ping +

+

Creates an alert to drones in the same network

+

Prompts user for alert level of:

+ +

Attaches area name to message

liberate +

+ F R E E D R O N EREEDRONE

pickVisualAppearance +

+

Prompt for usr to pick /mob/living/simple_animal/drone/var/visualAppearance

+

Does nothing if there is no usr

+

Called on /mob/proc/Login

try_reactivate +

+

Called when a drone attempts to reactivate a dead drone

+

If the owner is still ghosted, will notify them. +If the owner cannot be found, fails with an error message.

+

Arguments:

+

update_drone_hack +

+

Hack or unhack a drone

+

This changes the drone's laws to destroy the station or resets them +to normal.

+

Some debuffs are applied like slowing the drone down and disabling +vent crawling

+

Arguments

+

update_drone_icon_hacked +

+

Changes the icon state to a hacked version

+

See also

+
+ + + diff --git a/mob/living/simple_animal/hostile.html b/mob/living/simple_animal/hostile.html new file mode 100644 index 000000000000..17d8e5cf1c8d --- /dev/null +++ b/mob/living/simple_animal/hostile.html @@ -0,0 +1,64 @@ + + + + + + + /mob/living/simple_animal/hostile - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

hostile + + + +

+ + + + + + +

Vars

stat_attackMobs ignore mob/living targets with a stat lower than that of stat_attack. If set to DEAD, then they'll include corpses in their targets, if to UNCONSCIOUS they'll keep attacking until they kill, and so on.
targetThe current target of our attacks, use GiveTarget and LoseTarget to set this var

Procs

AICanContinueAI Status
ListTargetsHOSTILE MOB TARGETTING AND AGGRESSION
deathEND HOSTILE MOB TARGETTING AND AGGRESSION
+

Var Details

stat_attack + + + + +

+

Mobs ignore mob/living targets with a stat lower than that of stat_attack. If set to DEAD, then they'll include corpses in their targets, if to UNCONSCIOUS they'll keep attacking until they kill, and so on.

target + + + + +

+

The current target of our attacks, use GiveTarget and LoseTarget to set this var

Proc Details

AICanContinue +

+

AI Status

ListTargets +

+

HOSTILE MOB TARGETTING AND AGGRESSION

death +

+

END HOSTILE MOB TARGETTING AND AGGRESSION

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/brimdemon.html b/mob/living/simple_animal/hostile/asteroid/brimdemon.html new file mode 100644 index 000000000000..96afd7f08955 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/brimdemon.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/brimdemon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

brimdemon + + + +

+ + + + + +

Vars

beampartsA list of all the beam parts.
firingAre we charging/firing? If yes stops our movement.

Procs

end_laserDeletes all the brimbeam parts and sets variables back to their initial ones.
fire_laserFires a brimbeam, getting a line of turfs between it and the direction to the target and creating a brimbeam effect on every one of them.
+

Var Details

beamparts + + + + +

+

A list of all the beam parts.

firing + + + + +

+

Are we charging/firing? If yes stops our movement.

Proc Details

end_laser +

+

Deletes all the brimbeam parts and sets variables back to their initial ones.

fire_laser +

+

Fires a brimbeam, getting a line of turfs between it and the direction to the target and creating a brimbeam effect on every one of them.

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/fugu.html b/mob/living/simple_animal/hostile/asteroid/fugu.html new file mode 100644 index 000000000000..ee7fae64f699 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/fugu.html @@ -0,0 +1,32 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/fugu - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Wumborian Fugu + + + +

+ +

A strange alien creature capable of increasing its mass when threatened, +giving it unmatched defensive capabilities temporarily. The rest of the +time, it is quite fragile.

+

On death, the "fugu gland" is dropped, which can be used on simple mobs +to increase their size, health, strength, and lets them smash walls.

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/ice_demon.html b/mob/living/simple_animal/hostile/asteroid/ice_demon.html new file mode 100644 index 000000000000..c3bda930b13d --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/ice_demon.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/ice_demon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ice_demon + + + +

+ + +

Vars

teleport_distanceDistance the demon will teleport from the target
+

Var Details

teleport_distance + + + + +

+

Distance the demon will teleport from the target

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/lobstrosity.html b/mob/living/simple_animal/hostile/asteroid/lobstrosity.html new file mode 100644 index 000000000000..b820f6040c62 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/lobstrosity.html @@ -0,0 +1,37 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/lobstrosity - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lobstrosity + + + +

+ +

Lobstrosities, the poster boy of charging AI mobs. Drops crab meat and bones. +Outside of charging, it's intended behavior is that it is generally slow moving, but makes up for that with a knockdown attack to score additional hits.

+

Vars

chargeCharging ability
+

Var Details

charge + + + + +

+

Charging ability

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/polarbear.html b/mob/living/simple_animal/hostile/asteroid/polarbear.html new file mode 100644 index 000000000000..0a03431801e2 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/polarbear.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/polarbear - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

polarbear + + + +

+ + +

Vars

aggressive_message_saidMessage for when the polar bear starts to attack faster
+

Var Details

aggressive_message_said + + + + +

+

Message for when the polar bear starts to attack faster

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/wolf.html b/mob/living/simple_animal/hostile/asteroid/wolf.html new file mode 100644 index 000000000000..e566cf177427 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/wolf.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/wolf - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

wolf + + + +

+ + +

Vars

retreat_message_saidMessage for when the wolf decides to start running away
+

Var Details

retreat_message_said + + + + +

+

Message for when the wolf decides to start running away

+ + + diff --git a/mob/living/simple_animal/hostile/blob.html b/mob/living/simple_animal/hostile/blob.html new file mode 100644 index 000000000000..ab7106f0086e --- /dev/null +++ b/mob/living/simple_animal/hostile/blob.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/hostile/blob - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

blob + + + +

+ +

retreat doesn't obey pass_flags, so won't work on blob mobs.

+

Procs

Gotooverride to use astar/JPS instead of walk_to so we can take our blob pass_flags into account.

Proc Details

Goto +

+

override to use astar/JPS instead of walk_to so we can take our blob pass_flags into account.

+ + + diff --git a/mob/living/simple_animal/hostile/blob/blobspore.html b/mob/living/simple_animal/hostile/blob/blobspore.html new file mode 100644 index 000000000000..fb91ec210d12 --- /dev/null +++ b/mob/living/simple_animal/hostile/blob/blobspore.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/blob/blobspore - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

blobspore + + + +

+ + +

Vars

is_weakWhether or not this is a fragile spore from Distributed Neurons
+

Var Details

is_weak + + + + +

+

Whether or not this is a fragile spore from Distributed Neurons

+ + + diff --git a/mob/living/simple_animal/hostile/carp.html b/mob/living/simple_animal/hostile/carp.html new file mode 100644 index 000000000000..5ff36776a56e --- /dev/null +++ b/mob/living/simple_animal/hostile/carp.html @@ -0,0 +1,68 @@ + + + + + + + /mob/living/simple_animal/hostile/carp - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

carp + + + +

+ + + + + + +

Vars

carp_colorsList of usual carp colors
carp_colors_rareList of rare carp colors
random_colorIf the carp uses random coloring
rarechanceThe chance for a rare color variant

Procs

carp_randomifyRandomly assigns a color to a carp from either a common or rare color variant lists
+

Var Details

carp_colors + + + + +

+

List of usual carp colors

carp_colors_rare + + + + +

+

List of rare carp colors

random_color + + + + +

+

If the carp uses random coloring

rarechance + + + + +

+

The chance for a rare color variant

Proc Details

carp_randomify +

+

Randomly assigns a color to a carp from either a common or rare color variant lists

+

Arguments:

+
+ + + diff --git a/mob/living/simple_animal/hostile/carp/cayenne.html b/mob/living/simple_animal/hostile/carp/cayenne.html new file mode 100644 index 000000000000..5f8f7d14792e --- /dev/null +++ b/mob/living/simple_animal/hostile/carp/cayenne.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/simple_animal/hostile/carp/cayenne - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cayenne + + + +

+ + + + +

Vars

colored_disk_mouthColored disk mouth appearance for adding it as a mouth overlay
disk_overlay_fileLocation of the file storing disk overlays
diskyKeeping track of the nuke disk for the functionality of storing it.
+

Var Details

colored_disk_mouth + + + + +

+

Colored disk mouth appearance for adding it as a mouth overlay

disk_overlay_file + + + + +

+

Location of the file storing disk overlays

disky + + + + +

+

Keeping track of the nuke disk for the functionality of storing it.

+ + + diff --git a/mob/living/simple_animal/hostile/construct.html b/mob/living/simple_animal/hostile/construct.html new file mode 100644 index 000000000000..1229acdd48b9 --- /dev/null +++ b/mob/living/simple_animal/hostile/construct.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/simple_animal/hostile/construct - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

construct + + + +

+ + + + +

Vars

can_repairWhether this construct can repair other constructs or cult buildings.
can_repair_selfWhether this construct can repair itself. Works independently of can_repair.
themeTheme controls color. THEME_CULT is red THEME_WIZARD is purple and THEME_HOLY is blue
+

Var Details

can_repair + + + + +

+

Whether this construct can repair other constructs or cult buildings.

can_repair_self + + + + +

+

Whether this construct can repair itself. Works independently of can_repair.

theme + + + + +

+

Theme controls color. THEME_CULT is red THEME_WIZARD is purple and THEME_HOLY is blue

+ + + diff --git a/mob/living/simple_animal/hostile/construct/artificer.html b/mob/living/simple_animal/hostile/construct/artificer.html new file mode 100644 index 000000000000..3e5b942d37c3 --- /dev/null +++ b/mob/living/simple_animal/hostile/construct/artificer.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/construct/artificer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

artificer + + + +

+ +

Artificer

+

Vars

health_hudThe health HUD applied to this mob.
+

Var Details

health_hud + + + + +

+

The health HUD applied to this mob.

+ + + diff --git a/mob/living/simple_animal/hostile/construct/wraith.html b/mob/living/simple_animal/hostile/construct/wraith.html new file mode 100644 index 000000000000..c1fa35266e99 --- /dev/null +++ b/mob/living/simple_animal/hostile/construct/wraith.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/simple_animal/hostile/construct/wraith - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

wraith + + + +

+ +

Wraith

+ +

Vars

attack_refundThe seconds refunded per attack
crit_refundThe seconds refunded when putting a target into critical
+

Var Details

attack_refund + + + + +

+

The seconds refunded per attack

crit_refund + + + + +

+

The seconds refunded when putting a target into critical

+ + + diff --git a/mob/living/simple_animal/hostile/guardian.html b/mob/living/simple_animal/hostile/guardian.html new file mode 100644 index 000000000000..b9ef4a046c49 --- /dev/null +++ b/mob/living/simple_animal/hostile/guardian.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/guardian - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

guardian + + + +

+ + +

Vars

lockedAre we forced to not be able to manifest/recall?
+

Var Details

locked + + + + +

+

Are we forced to not be able to manifest/recall?

+ + + diff --git a/mob/living/simple_animal/hostile/guardian/gravitokinetic.html b/mob/living/simple_animal/hostile/guardian/gravitokinetic.html new file mode 100644 index 000000000000..30822daf1bda --- /dev/null +++ b/mob/living/simple_animal/hostile/guardian/gravitokinetic.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/hostile/guardian/gravitokinetic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

gravitokinetic + + + +

+ + +

Procs

deathRemoves gravity from affected mobs upon guardian death to prevent permanent effects

Proc Details

death +

+

Removes gravity from affected mobs upon guardian death to prevent permanent effects

+ + + diff --git a/mob/living/simple_animal/hostile/heretic_summon.html b/mob/living/simple_animal/hostile/heretic_summon.html new file mode 100644 index 000000000000..261f40033478 --- /dev/null +++ b/mob/living/simple_animal/hostile/heretic_summon.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/heretic_summon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

heretic_summon + + + +

+ + +

Vars

actions_to_addInnate spells that are added when a beast is created.
+

Var Details

actions_to_add + + + + +

+

Innate spells that are added when a beast is created.

+ + + diff --git a/mob/living/simple_animal/hostile/heretic_summon/armsy.html b/mob/living/simple_animal/hostile/heretic_summon/armsy.html new file mode 100644 index 000000000000..d996a4cd86ba --- /dev/null +++ b/mob/living/simple_animal/hostile/heretic_summon/armsy.html @@ -0,0 +1,92 @@ + + + + + + + /mob/living/simple_animal/hostile/heretic_summon/armsy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

armsy + + + +

+ +

The "Terror of the Night" / Armsy, a large worm made of multiple bodyparts that occupies multiple tiles

+ + + + + + + + +

Vars

allow_pullingAllow / disallow pulling
backPrevious segment in the chain
current_stacksCurrently eaten arms
followDoes this follow other pieces?
frontNext segment in the chain
oldlocYour old location
stacks_to_growHow many arms do we have to eat to expand?

Procs

contract_next_chain_into_single_tileUpdates every body in the chain to force move onto a single tile.
update_chain_linksUpdates the next mob in the chain to move to our last location. Fixes the chain if somehow broken.
+

Var Details

allow_pulling + + + + +

+

Allow / disallow pulling

back + + + + +

+

Previous segment in the chain

current_stacks + + + + +

+

Currently eaten arms

follow + + + + +

+

Does this follow other pieces?

front + + + + +

+

Next segment in the chain

oldloc + + + + +

+

Your old location

stacks_to_grow + + + + +

+

How many arms do we have to eat to expand?

Proc Details

contract_next_chain_into_single_tile +

+

Updates every body in the chain to force move onto a single tile.

+

Updates the next mob in the chain to move to our last location. Fixes the chain if somehow broken.

+ + + diff --git a/mob/living/simple_animal/hostile/heretic_summon/maid_in_the_mirror.html b/mob/living/simple_animal/hostile/heretic_summon/maid_in_the_mirror.html new file mode 100644 index 000000000000..2838be6553f5 --- /dev/null +++ b/mob/living/simple_animal/hostile/heretic_summon/maid_in_the_mirror.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/simple_animal/hostile/heretic_summon/maid_in_the_mirror - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

maid_in_the_mirror + + + +

+ + + + +

Vars

recent_examine_damage_cooldownThe cooldown after being examined that the same mob cannot trigger it again
recent_examiner_refsA list of REFs to people who recently examined us
weak_on_examineWhether we take damage when we're examined
+

Var Details

recent_examine_damage_cooldown + + + + +

+

The cooldown after being examined that the same mob cannot trigger it again

recent_examiner_refs + + + + +

+

A list of REFs to people who recently examined us

weak_on_examine + + + + +

+

Whether we take damage when we're examined

+ + + diff --git a/mob/living/simple_animal/hostile/heretic_summon/raw_prophet.html b/mob/living/simple_animal/hostile/heretic_summon/raw_prophet.html new file mode 100644 index 000000000000..62e485af3bc1 --- /dev/null +++ b/mob/living/simple_animal/hostile/heretic_summon/raw_prophet.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/heretic_summon/raw_prophet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

raw_prophet + + + +

+ + +

Vars

last_targetA weakref to the last target we smacked. Hitting targets consecutively does more damage.
+

Var Details

last_target + + + + +

+

A weakref to the last target we smacked. Hitting targets consecutively does more damage.

+ + + diff --git a/mob/living/simple_animal/hostile/imp/slaughter.html b/mob/living/simple_animal/hostile/imp/slaughter.html new file mode 100644 index 000000000000..05e7783ac78d --- /dev/null +++ b/mob/living/simple_animal/hostile/imp/slaughter.html @@ -0,0 +1,71 @@ + + + + + + + /mob/living/simple_animal/hostile/imp/slaughter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

slaughter + + + +

+ +

The Man Behind The Slaughter

+ + + + + +

Vars

current_hitstreakHow many times we have hit humanoid targets since we last bloodcrawled, scaling wounding power
hitstreak_maxTHe max hitstreak
slam_cooldownThe actual instance var for the cooldown
slam_cooldown_timeHow long it takes for the alt-click slam attack to come off cooldown

Procs

bodyslamPerforms the classic slaughter demon bodyslam on the attack_target. Yeets them a screen away.
on_crawlWhenever we enter or exit blood crawl, reset our bonus and hitstreaks.
+

Var Details

current_hitstreak + + + + +

+

How many times we have hit humanoid targets since we last bloodcrawled, scaling wounding power

hitstreak_max + + + + +

+

THe max hitstreak

slam_cooldown + + + + +

+

The actual instance var for the cooldown

slam_cooldown_time + + + + +

+

How long it takes for the alt-click slam attack to come off cooldown

Proc Details

bodyslam +

+

Performs the classic slaughter demon bodyslam on the attack_target. Yeets them a screen away.

on_crawl +

+

Whenever we enter or exit blood crawl, reset our bonus and hitstreaks.

+ + + diff --git a/mob/living/simple_animal/hostile/mimic.html b/mob/living/simple_animal/hostile/mimic.html new file mode 100644 index 000000000000..bb2271d54ec4 --- /dev/null +++ b/mob/living/simple_animal/hostile/mimic.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/simple_animal/hostile/mimic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mimic + + + +

+ + + +

Vars

mob_storage_capacityA cap for mobs. Mobs count towards the item cap. Same purpose as above.
storage_capacityA cap for items in the mimic. Prevents the mimic from eating enough stuff to cause lag when opened.
+

Var Details

mob_storage_capacity + + + + +

+

A cap for mobs. Mobs count towards the item cap. Same purpose as above.

storage_capacity + + + + +

+

A cap for items in the mimic. Prevents the mimic from eating enough stuff to cause lag when opened.

+ + + diff --git a/mob/living/simple_animal/hostile/mimic/xenobio.html b/mob/living/simple_animal/hostile/mimic/xenobio.html new file mode 100644 index 000000000000..277716e27316 --- /dev/null +++ b/mob/living/simple_animal/hostile/mimic/xenobio.html @@ -0,0 +1,60 @@ + + + + + + + /mob/living/simple_animal/hostile/mimic/xenobio - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

xenobio + + + +

+ + + + +

Vars

full_soundsound played when the mimic attempts to eat more items than it can

Procs

insertCalled by toggle_open to put items inside the mimic when it's being closed
toggle_openUsed to open and close the mimic
+

Var Details

full_sound + + + + +

+

sound played when the mimic attempts to eat more items than it can

Proc Details

insert +

+

Called by toggle_open to put items inside the mimic when it's being closed

+

Will return -1 if the insertion fails due to the storage capacity of the mimic having been reached +Will return FALSE if insertion fails +Will return TRUE if insertion succeeds +Arguments:

+

toggle_open +

+

Used to open and close the mimic

+

Will insert tile contents into the mimic when closing +Will dump mimic contents into the time when opening +Does nothing if the mimic locked itself

+ + + diff --git a/mob/living/simple_animal/hostile/ooze.html b/mob/living/simple_animal/hostile/ooze.html new file mode 100644 index 000000000000..7c2a15102dce --- /dev/null +++ b/mob/living/simple_animal/hostile/ooze.html @@ -0,0 +1,71 @@ + + + + + + + /mob/living/simple_animal/hostile/ooze - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ooze + + + +

+ +

Oozes are slime-esque creatures, they are highly gluttonous creatures primarily intended for player controll.

+ + + + + +

Vars

edible_food_typesBitfield of edible food types
ooze_nutritionOozes have their own nutrition. Changes based on them eating

Procs

LifeHandles nutrition gain/loss of mob and also makes it take damage if it's too low on nutrition, only happens for sentient mobs.
adjust_ooze_nutritionDoes ooze_nutrition + supplied amount and clamps it within 0 and 500
eat_atomTries to transfer the atoms reagents then delete it
updateNutritionDisplayUpdates the display that shows the mobs nutrition
+

Var Details

edible_food_types + + + + +

+

Bitfield of edible food types

ooze_nutrition + + + + +

+

Oozes have their own nutrition. Changes based on them eating

Proc Details

Life +

+

Handles nutrition gain/loss of mob and also makes it take damage if it's too low on nutrition, only happens for sentient mobs.

adjust_ooze_nutrition +

+

Does ooze_nutrition + supplied amount and clamps it within 0 and 500

eat_atom +

+

Tries to transfer the atoms reagents then delete it

updateNutritionDisplay +

+

Updates the display that shows the mobs nutrition

+ + + diff --git a/mob/living/simple_animal/hostile/ooze/gelatinous.html b/mob/living/simple_animal/hostile/ooze/gelatinous.html new file mode 100644 index 000000000000..aa9be25f891a --- /dev/null +++ b/mob/living/simple_animal/hostile/ooze/gelatinous.html @@ -0,0 +1,60 @@ + + + + + + + /mob/living/simple_animal/hostile/ooze/gelatinous - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

gelatinous + + + +

+ + + + + +

Vars

boostThe ability to give yourself a metabolic speed boost which raises heat
consumeThe ability to consume mobs

Procs

InitializeInitializes the mobs abilities and gives them to the mob
container_resist_actIf this mob gets resisted by something, its trying to escape consumption.
+

Var Details

boost + + + + +

+

The ability to give yourself a metabolic speed boost which raises heat

consume + + + + +

+

The ability to consume mobs

Proc Details

Initialize +

+

Initializes the mobs abilities and gives them to the mob

container_resist_act +

+

If this mob gets resisted by something, its trying to escape consumption.

+ + + diff --git a/mob/living/simple_animal/hostile/ooze/grapes.html b/mob/living/simple_animal/hostile/ooze/grapes.html new file mode 100644 index 000000000000..2f26f759a446 --- /dev/null +++ b/mob/living/simple_animal/hostile/ooze/grapes.html @@ -0,0 +1,31 @@ + + + + + + + /mob/living/simple_animal/hostile/ooze/grapes - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

grapes + + + +

+ +
+ + + diff --git a/mob/living/simple_animal/hostile/regalrat.html b/mob/living/simple_animal/hostile/regalrat.html new file mode 100644 index 000000000000..c9b4260e8a27 --- /dev/null +++ b/mob/living/simple_animal/hostile/regalrat.html @@ -0,0 +1,84 @@ + + + + + + + /mob/living/simple_animal/hostile/regalrat - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

regalrat + + + +

+ + + + + + + +

Vars

domainThe spell that the rat uses to generate miasma
opening_airlockWhether or not the regal rat is already opening an airlock
riotThe Spell that the rat uses to recruit/convert more rats.

Procs

cheese_healConditionally "eat" cheese object and heal, if injured.
get_clicked_playerSets a ghost to control the rat if the rat is eligible
pry_doorAllows rat king to pry open an airlock if it isn't locked.
+

Var Details

domain + + + + +

+

The spell that the rat uses to generate miasma

opening_airlock + + + + +

+

Whether or not the regal rat is already opening an airlock

riot + + + + +

+

The Spell that the rat uses to recruit/convert more rats.

Proc Details

cheese_heal +

+

Conditionally "eat" cheese object and heal, if injured.

+

A private proc for sending a message to the mob's chat about them +eating some sort of cheese, then healing them, then deleting the cheese. +The "eating" is only conditional on the mob being injured in the first +place.

get_clicked_player +

+

Sets a ghost to control the rat if the rat is eligible

+

Asks the interacting ghost if they would like to control the rat. +If they answer yes, and another ghost hasn't taken control, sets the ghost to control the rat. +Arguments:

+

pry_door +

+

Allows rat king to pry open an airlock if it isn't locked.

+

A proc used for letting the rat king pry open airlocks instead of just attacking them. +This allows the rat king to traverse the station when there is a lack of vents or +accessible doors, something which is common in certain rat king spawn points.

+ + + diff --git a/mob/living/simple_animal/hostile/retaliate.html b/mob/living/simple_animal/hostile/retaliate.html new file mode 100644 index 000000000000..cc63f4276809 --- /dev/null +++ b/mob/living/simple_animal/hostile/retaliate.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/retaliate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

retaliate + + + +

+ + +

Vars

enemiesA list of weakrefs pointing at things that we consider targets
+

Var Details

enemies + + + + +

+

A list of weakrefs pointing at things that we consider targets

+ + + diff --git a/mob/living/simple_animal/hostile/retaliate/clown/banana.html b/mob/living/simple_animal/hostile/retaliate/clown/banana.html new file mode 100644 index 000000000000..10fb0bbf04b9 --- /dev/null +++ b/mob/living/simple_animal/hostile/retaliate/clown/banana.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/simple_animal/hostile/retaliate/clown/banana - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

banana + + + +

+ + + +

Vars

banana_bunchOur banana bunch spawning ability
banana_rustleOur peel dropping ability
+

Var Details

banana_bunch + + + + +

+

Our banana bunch spawning ability

banana_rustle + + + + +

+

Our peel dropping ability

+ + + diff --git a/mob/living/simple_animal/hostile/retaliate/clown/mutant/glutton.html b/mob/living/simple_animal/hostile/retaliate/clown/mutant/glutton.html new file mode 100644 index 000000000000..af8fa68e481b --- /dev/null +++ b/mob/living/simple_animal/hostile/retaliate/clown/mutant/glutton.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/simple_animal/hostile/retaliate/clown/mutant/glutton - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

glutton + + + +

+ + + + + +

Vars

prank_pouchThis is the list of items we are ready to regurgitate,

Procs

InitializeThis ability lets you fire a single random item from your pouch.
check_edibleReturns whether or not the supplied movable atom is edible.
eat_atomThis proc eats the atom, certain funny items are stored directly in the prank pouch while bananas grant a heal based on their potency and the peels are retained in the pouch.
+

Var Details

prank_pouch + + + + +

+

This is the list of items we are ready to regurgitate,

Proc Details

Initialize +

+

This ability lets you fire a single random item from your pouch.

check_edible +

+

Returns whether or not the supplied movable atom is edible.

eat_atom +

+

This proc eats the atom, certain funny items are stored directly in the prank pouch while bananas grant a heal based on their potency and the peels are retained in the pouch.

+ + + diff --git a/mob/living/simple_animal/hostile/retaliate/goose/vomit.html b/mob/living/simple_animal/hostile/retaliate/goose/vomit.html new file mode 100644 index 000000000000..ac99ef29386c --- /dev/null +++ b/mob/living/simple_animal/hostile/retaliate/goose/vomit.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/hostile/retaliate/goose/vomit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

vomit + + + +

+ + +

Procs

deadchat_playsA proc to make it easier for admins to make the goose playable by deadchat.

Proc Details

deadchat_plays +

+

A proc to make it easier for admins to make the goose playable by deadchat.

+ + + diff --git a/mob/living/simple_animal/hostile/retaliate/trader.html b/mob/living/simple_animal/hostile/retaliate/trader.html new file mode 100644 index 000000000000..fe0e6ff911dc --- /dev/null +++ b/mob/living/simple_animal/hostile/retaliate/trader.html @@ -0,0 +1,181 @@ + + + + + + + /mob/living/simple_animal/hostile/retaliate/trader - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Trader + + + +

+ +

A mob that has some dialogue options with radials, allows for selling items and buying em'

+ + + + + + + + + + + + + + + + +

Vars

buyphrasePhrase said when the NPC sells you an item.
interestedphrasePhrase said when the NPC finds an item in the wanted_items list in your hands.
itemrejectphrasePhrase said when NPC finds none of your inhand items in wanted_items.
itemsellacceptphrasePhrase said when you accept selling a thing to the NPC.
itemsellcancelphrasePhrase said when you cancel selling a thing to the NPC.
lorePhrases used when you talk to the NPC
nocashphrasePhrase said when you have too little money to buy an item.
productsAssociated list of items the NPC sells with how much they cost.
sell_soundSound used when item sold/bought
wanted_itemsAssociated list of items able to be sold to the NPC with the money given for them.

Procs

buy_itemGenerates a radial of the items the NPC sells and lets the user try to buy one +Arguments:
check_menuChecks if the user is ok to use the radial
deep_loreMakes the NPC say one picked thing from the lore list variable, can be overriden for fun stuff
generate_cashCreates a holochip the value set by the proc and puts it in the user's hands +Arguments:
sell_itemChecks if an item is in the list of wanted items and if it is after a Yes/No radial returns generate_cash with the value of the item for the NPC +Arguments:
try_buyTries to buy an item from the trader +Arguments:
try_sellTries to call sell_item on one of the user's held items, if fail gives a chat message
+

Var Details

buyphrase + + + + +

+

Phrase said when the NPC sells you an item.

interestedphrase + + + + +

+

Phrase said when the NPC finds an item in the wanted_items list in your hands.

itemrejectphrase + + + + +

+

Phrase said when NPC finds none of your inhand items in wanted_items.

itemsellacceptphrase + + + + +

+

Phrase said when you accept selling a thing to the NPC.

itemsellcancelphrase + + + + +

+

Phrase said when you cancel selling a thing to the NPC.

lore + + + + +

+

Phrases used when you talk to the NPC

nocashphrase + + + + +

+

Phrase said when you have too little money to buy an item.

products + + + + +

+

Associated list of items the NPC sells with how much they cost.

sell_sound + + + + +

+

Sound used when item sold/bought

wanted_items + + + + +

+

Associated list of items able to be sold to the NPC with the money given for them.

Proc Details

buy_item +

+

Generates a radial of the items the NPC sells and lets the user try to buy one +Arguments:

+

check_menu +

+

Checks if the user is ok to use the radial

+

Checks if the user is not a mob or is incapacitated or not adjacent to the source of the radial, in those cases returns FALSE, otherwise returns TRUE +Arguments:

+

deep_lore +

+

Makes the NPC say one picked thing from the lore list variable, can be overriden for fun stuff

generate_cash +

+

Creates a holochip the value set by the proc and puts it in the user's hands +Arguments:

+

sell_item +

+

Checks if an item is in the list of wanted items and if it is after a Yes/No radial returns generate_cash with the value of the item for the NPC +Arguments:

+

try_buy +

+

Tries to buy an item from the trader +Arguments:

+

try_sell +

+

Tries to call sell_item on one of the user's held items, if fail gives a chat message

+

Gets both items in the user's hands, and then tries to call sell_item on them, if both fail, he gives a chat message +Arguments:

+
+ + + diff --git a/mob/living/simple_animal/hostile/space_dragon.html b/mob/living/simple_animal/hostile/space_dragon.html new file mode 100644 index 000000000000..1df0b44661d2 --- /dev/null +++ b/mob/living/simple_animal/hostile/space_dragon.html @@ -0,0 +1,307 @@ + + + + + + + /mob/living/simple_animal/hostile/space_dragon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Space Dragon + + + +

+ +

A space-faring leviathan-esque monster which breathes fire and summons carp. Spawned during its respective midround antagonist event.

+

A space-faring monstrosity who has the ability to breathe dangerous fire breath and uses its powerful wings to knock foes away. +Normally spawned as an antagonist during the Space Dragon event, Space Dragon's main goal is to open three rifts from which to pull a great tide of carp onto the station. +Space Dragon can summon only one rift at a time, and can do so anywhere a blob is allowed to spawn. In order to trigger his victory condition, Space Dragon must summon and defend three rifts while they charge. +Space Dragon, when spawned, has five minutes to summon the first rift. Failing to do so will cause Space Dragon to return from whence he came. +When the rift spawns, ghosts can interact with it to spawn in as space carp to help complete the mission. One carp is granted when the rift is first summoned, with an extra one every 30 seconds. +Once the victory condition is met, all current rifts become invulnerable to damage, are allowed to spawn infinite sentient space carp, and Space Dragon gets unlimited rage. +Alternatively, if the shuttle arrives while Space Dragon is still active, their victory condition will automatically be met and all the rifts will immediately become fully charged. +If a charging rift is destroyed, Space Dragon will be incredibly slowed, and the endlag on his gust attack is greatly increased on each use. +Space Dragon has the following abilities to assist him with his objective:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

chosen_colorThe color of the space dragon.
devastation_damage_max_percentageMaximum devastation damage dealt coefficient based on max health
devastation_damage_min_percentageMinimum devastation damage dealt coefficient based on max health
gust_distanceThe distance Space Dragon's gust reaches
gust_tirednessThe amount of tiredness to add to Space Dragon per use of gust
maxRiftTimerMaximum amount of time which can pass without a rift before Space Dragon despawns.
objective_completeWhether or not Space Dragon has completed their objective, and thus triggered the ending sequence.
riftTimerCurrent time since the the last rift was activated. If set to -1, does not increment.
rift_listA list of all of the rifts created by Space Dragon. Used for setting them all to infinite carp spawn when Space Dragon wins, and removing them when Space Dragon dies.
rifts_chargedHow many rifts have been successfully charged
tearing_wallDetermines whether or not Space Dragon is currently tearing through a wall.
tirednessHow much endlag using Wing Gust should apply. Each use of wing gust increments this, and it decreases over time.
tiredness_multA multiplier to how much each use of wing gust should add to the tiredness variable. Set to 5 if the current rift is destroyed.
using_specialDetermines whether or not Space Dragon is in the middle of using wing gust. If set to true, prevents him from moving and doing certain actions.

Procs

add_dragon_overlayAdds the proper overlay to the space dragon.
color_selectionAllows space dragon to choose a color for itself.
destroy_riftsDestroys all of Space Dragon's current rifts.
dragon_fire_lineWhat occurs on each tile to actually create the fire.
dragon_nameAllows space dragon to choose its own name.
eatHandles consuming and storing consumed things inside Space Dragon
empty_contentsDisperses the contents of the mob on the surrounding tiles.
fire_streamSpawns fire at each position in a line from the source to the target.
line_targetDetermines a line of turfs from sources's position to the target with length range.
permanant_empowerGives Space Dragon their the rift speed buff permanantly.
reset_statusResets Space Dragon's status after using wing gust.
rift_depowerRemoves Space Dragon's rift speed buff.
rift_empowerHandles Space Dragon's temporary empowerment after boosting a rift.
useGustHandles wing gust from the windup all the way to the endlag at the end.
victorySets up Space Dragon's victory for completing the objectives.
+

Var Details

chosen_color + + + + +

+

The color of the space dragon.

devastation_damage_max_percentage + + + + +

+

Maximum devastation damage dealt coefficient based on max health

devastation_damage_min_percentage + + + + +

+

Minimum devastation damage dealt coefficient based on max health

gust_distance + + + + +

+

The distance Space Dragon's gust reaches

gust_tiredness + + + + +

+

The amount of tiredness to add to Space Dragon per use of gust

maxRiftTimer + + + + +

+

Maximum amount of time which can pass without a rift before Space Dragon despawns.

objective_complete + + + + +

+

Whether or not Space Dragon has completed their objective, and thus triggered the ending sequence.

riftTimer + + + + +

+

Current time since the the last rift was activated. If set to -1, does not increment.

rift_list + + + + +

+

A list of all of the rifts created by Space Dragon. Used for setting them all to infinite carp spawn when Space Dragon wins, and removing them when Space Dragon dies.

rifts_charged + + + + +

+

How many rifts have been successfully charged

tearing_wall + + + + +

+

Determines whether or not Space Dragon is currently tearing through a wall.

tiredness + + + + +

+

How much endlag using Wing Gust should apply. Each use of wing gust increments this, and it decreases over time.

tiredness_mult + + + + +

+

A multiplier to how much each use of wing gust should add to the tiredness variable. Set to 5 if the current rift is destroyed.

using_special + + + + +

+

Determines whether or not Space Dragon is in the middle of using wing gust. If set to true, prevents him from moving and doing certain actions.

Proc Details

add_dragon_overlay +

+

Adds the proper overlay to the space dragon.

+

Clears the current overlay on space dragon and adds a proper one for whatever animation he's in.

color_selection +

+

Allows space dragon to choose a color for itself.

+

Prompts the space dragon to choose a color, from which it will then apply to itself. +If an invalid color is given, will re-prompt the dragon until a proper color is chosen.

destroy_rifts +

+

Destroys all of Space Dragon's current rifts.

+

QDeletes all the current rifts after removing their references to other objects. +Currently, the only reference they have is to the Dragon which created them, so we clear that before deleting them. +Currently used when Space Dragon dies or one of his rifts is destroyed.

dragon_fire_line +

+

What occurs on each tile to actually create the fire.

+

Creates a fire on the given turf. +It creates a hotspot on the given turf, damages any living mob with 30 burn damage, and damages mechs by 50. +It can only hit any given target once. +Arguments:

+

dragon_name +

+

Allows space dragon to choose its own name.

+

Prompts the space dragon to choose a name, which it will then apply to itself. +If the name is invalid, will re-prompt the dragon until a proper name is chosen.

eat +

+

Handles consuming and storing consumed things inside Space Dragon

+

Plays a sound and then stores the consumed thing inside Space Dragon. +Used in AttackingTarget(), paired with a heal should it succeed. +Arguments:

+

empty_contents +

+

Disperses the contents of the mob on the surrounding tiles.

+

Randomly places the contents of the mob onto surrounding tiles. +Has a 10% chance to place on the same tile as the mob.

fire_stream +

+

Spawns fire at each position in a line from the source to the target.

+

Spawns fire at each position in a line from the source to the target. +Stops if it comes into contact with a solid wall, a window, or a door. +Delays the spawning of each fire by 1.5 deciseconds. +Arguments:

+

line_target +

+

Determines a line of turfs from sources's position to the target with length range.

+

Determines a line of turfs from the source's position to the target with length range. +The line will extend on past the target if the range is large enough, and not reach the target if range is small enough. +Arguments:

+

permanant_empower +

+

Gives Space Dragon their the rift speed buff permanantly.

+

Gives Space Dragon the enraged speed buff from charging rifts permanantly. +Only happens in circumstances where Space Dragon completes their objective.

reset_status +

+

Resets Space Dragon's status after using wing gust.

+

Resets Space Dragon's status after using wing gust. +If it isn't dead by the time it calls this method, reset the sprite back to the normal living sprite. +Also sets the using_special variable to FALSE, allowing Space Dragon to move and attack freely again.

rift_depower +

+

Removes Space Dragon's rift speed buff.

+

Removes Space Dragon's speed buff from charging a rift. This is only called +in rift_empower, which uses a timer to call this after 30 seconds. Also +removes the red glow from Space Dragon which is synonymous with the speed buff.

rift_empower +

+

Handles Space Dragon's temporary empowerment after boosting a rift.

+

Empowers and depowers Space Dragon after a successful rift charge. +Empowered, Space Dragon regains all his health and becomes temporarily faster for 30 seconds, along with being tinted red.

useGust +

+

Handles wing gust from the windup all the way to the endlag at the end.

+

Handles the wing gust attack from start to finish, based on the timer. +When intially triggered, starts at 0. Until the timer reaches 10, increase Space Dragon's y position by 2 and call back to the function in 1.5 deciseconds. +When the timer is at 10, trigger the attack. Change Space Dragon's sprite. reset his y position, and push all living creatures back in a 3 tile radius and stun them for 5 seconds. +Stay in the ending state for how much our tiredness dictates and add to our tiredness. +Arguments:

+

victory +

+

Sets up Space Dragon's victory for completing the objectives.

+

Triggers when Space Dragon completes his objective. +Calls the shuttle with a coefficient of 3, making it impossible to recall. +Sets all of his rifts to allow for infinite sentient carp spawns +Also plays appropiate sounds and CENTCOM messages.

+ + + diff --git a/mob/living/simple_animal/hostile/syndicate/mecha_pilot.html b/mob/living/simple_animal/hostile/syndicate/mecha_pilot.html new file mode 100644 index 000000000000..d6e4dd423d54 --- /dev/null +++ b/mob/living/simple_animal/hostile/syndicate/mecha_pilot.html @@ -0,0 +1,40 @@ + + + + + + + /mob/living/simple_animal/hostile/syndicate/mecha_pilot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

mecha_pilot + + + +

+ +

Mecha Pilots! +By Remie Richards

+

Mecha pilot mobs are able to pilot Mecha to a rudimentary level +this allows for certain mobs to be more of a threat (Because they're in a MECH)

+

Mecha Pilots can either spawn with one, or steal one!

+

Inherits from syndicate just to avoid copy-paste)

+

Featuring:

+
+ + + diff --git a/mob/living/simple_animal/hostile/venus_human_trap.html b/mob/living/simple_animal/hostile/venus_human_trap.html new file mode 100644 index 000000000000..871b5d2abd0c --- /dev/null +++ b/mob/living/simple_animal/hostile/venus_human_trap.html @@ -0,0 +1,106 @@ + + + + + + + /mob/living/simple_animal/hostile/venus_human_trap - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

venus_human_trap + + + +

+ +

Venus Human Trap

+

The result of a kudzu flower bud, these enemies use vines to drag prey close to them for attack.

+

A carnivorious plant which uses vines to catch and ensnare prey. Spawns from kudzu flower buds. +Each one has a maximum of four vines, which can be attached to a variety of things. Carbons are stunned when a vine is attached to them, and movable entities are pulled closer over time. +Attempting to attach a vine to something with a vine already attached to it will pull all movable targets closer on command. +Once the prey is in melee range, melee attacks from the venus human trap heals itself for 10% of its max health, assuming the target is alive. +Akin to certain spiders, venus human traps can also be possessed and controlled by ghosts.

+ + + + + + + +

Vars

max_vinesThe maximum amount of vines a plant can have at one time
playable_plantWhether or not this plant is ghost possessable
sightcopied over from the code from eyeballs (the mob) to make it easier for venus human traps to see in kudzu that doesn't have the transparency mutation
vine_grab_distanceHow far away a plant can attach a vine to something
vinesA list of all the plant's vines

Procs

humanize_plantSets a ghost to control the plant if the plant is eligible
pull_vinesManages how the vines should affect the things they're attached to.
remove_vineRemoves a vine from the list.
+

Var Details

max_vines + + + + +

+

The maximum amount of vines a plant can have at one time

playable_plant + + + + +

+

Whether or not this plant is ghost possessable

sight + + + + +

+

copied over from the code from eyeballs (the mob) to make it easier for venus human traps to see in kudzu that doesn't have the transparency mutation

vine_grab_distance + + + + +

+

How far away a plant can attach a vine to something

vines + + + + +

+

A list of all the plant's vines

Proc Details

humanize_plant +

+

Sets a ghost to control the plant if the plant is eligible

+

Asks the interacting ghost if they would like to control the plant. +If they answer yes, and another ghost hasn't taken control, sets the ghost to control the plant. +Arguments:

+

pull_vines +

+

Manages how the vines should affect the things they're attached to.

+

Pulls all movable targets of the vines closer to the plant +If the target is on the same tile as the plant, destroy the vine +Removes any QDELETED vines from the vines list.

remove_vine +

+

Removes a vine from the list.

+

Removes the vine from our list. +Called specifically when the vine is about to be destroyed, so we don't have any null references. +Arguments:

+
+ + + diff --git a/mob/living/simple_animal/mouse.html b/mob/living/simple_animal/mouse.html new file mode 100644 index 000000000000..9f26cd26a254 --- /dev/null +++ b/mob/living/simple_animal/mouse.html @@ -0,0 +1,42 @@ + + + + + + + /mob/living/simple_animal/mouse - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

mouse + + + +

+ + + +

Procs

be_fruitfulChecks the mouse cap, if it's above the cap, doesn't spawn a mouse. If below, spawns a mouse and adds it to cheeserats.
evolveSpawns a new regal rat, says some good jazz, and if sentient, transfers the relivant mind.

Proc Details

be_fruitful +

+

Checks the mouse cap, if it's above the cap, doesn't spawn a mouse. If below, spawns a mouse and adds it to cheeserats.

evolve +

+

Spawns a new regal rat, says some good jazz, and if sentient, transfers the relivant mind.

+ + + diff --git a/mob/living/simple_animal/pet/cat.html b/mob/living/simple_animal/pet/cat.html new file mode 100644 index 000000000000..74fd12f579a0 --- /dev/null +++ b/mob/living/simple_animal/pet/cat.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/pet/cat - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cat + + + +

+ + +

Vars

attack_verb_continuousIn the case 'melee_damage_upper' is somehow raised above 0
+

Var Details

attack_verb_continuous + + + + +

+

In the case 'melee_damage_upper' is somehow raised above 0

+ + + diff --git a/mob/living/simple_animal/pet/dog.html b/mob/living/simple_animal/pet/dog.html new file mode 100644 index 000000000000..db22746bdff0 --- /dev/null +++ b/mob/living/simple_animal/pet/dog.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/pet/dog - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

dog + + + +

+ + +

Vars

attack_verb_continuousIn the case 'melee_damage_upper' is somehow raised above 0
+

Var Details

attack_verb_continuous + + + + +

+

In the case 'melee_damage_upper' is somehow raised above 0

+ + + diff --git a/mob/living/simple_animal/pet/dog/corgi.html b/mob/living/simple_animal/pet/dog/corgi.html new file mode 100644 index 000000000000..a68225debaaa --- /dev/null +++ b/mob/living/simple_animal/pet/dog/corgi.html @@ -0,0 +1,42 @@ + + + + + + + /mob/living/simple_animal/pet/dog/corgi - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

corgi + + + +

+ + + +

Procs

drop_hatDeadchat plays command that drops the current hat off Ian.
find_new_hatDeadchat plays command that picks a new hat for Ian.

Proc Details

drop_hat +

+

Deadchat plays command that drops the current hat off Ian.

find_new_hat +

+

Deadchat plays command that picks a new hat for Ian.

+ + + diff --git a/mob/living/simple_animal/pet/fox.html b/mob/living/simple_animal/pet/fox.html new file mode 100644 index 000000000000..41885f68ba9b --- /dev/null +++ b/mob/living/simple_animal/pet/fox.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/pet/fox - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

fox + + + +

+ + +

Vars

attack_verb_continuousIn the case 'melee_damage_upper' is somehow raised above 0
+

Var Details

attack_verb_continuous + + + + +

+

In the case 'melee_damage_upper' is somehow raised above 0

+ + + diff --git a/mob/living/simple_animal/pet/gondola.html b/mob/living/simple_animal/pet/gondola.html new file mode 100644 index 000000000000..70b74bd04e06 --- /dev/null +++ b/mob/living/simple_animal/pet/gondola.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/pet/gondola - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

gondola + + + +

+ + +

Procs

regenerate_iconsSpecial handling for gondolas, as they don't use icon_states and instead rely on overlays. The parent of this proc deletes all our overlays, so we're overriding it.

Proc Details

regenerate_icons +

+

Special handling for gondolas, as they don't use icon_states and instead rely on overlays. The parent of this proc deletes all our overlays, so we're overriding it.

+ + + diff --git a/mob/living/simple_animal/rabbit.html b/mob/living/simple_animal/rabbit.html new file mode 100644 index 000000000000..1e51f922bb8e --- /dev/null +++ b/mob/living/simple_animal/rabbit.html @@ -0,0 +1,30 @@ + + + + + + + /mob/living/simple_animal/rabbit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

rabbit + + + +

+ +Rabbit +

A creature that hops around with small tails and long ears.

+

This contains the code for both your standard rabbit as well as the subtypes commonly found during Easter.

+ + + diff --git a/mob/living/simple_animal/rabbit/easter.html b/mob/living/simple_animal/rabbit/easter.html new file mode 100644 index 000000000000..066320b3c771 --- /dev/null +++ b/mob/living/simple_animal/rabbit/easter.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/simple_animal/rabbit/easter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

easter + + + +

+ + + +

Vars

initial_egg_amountpassed to the egg_layer component as how many eggs it starts out as able to lay.
max_eggs_heldpassed to the egg_layer component as how many eggs it's allowed to hold at most.
+

Var Details

initial_egg_amount + + + + +

+

passed to the egg_layer component as how many eggs it starts out as able to lay.

max_eggs_held + + + + +

+

passed to the egg_layer component as how many eggs it's allowed to hold at most.

+ + + diff --git a/mob/living/simple_animal/revenant.html b/mob/living/simple_animal/revenant.html new file mode 100644 index 000000000000..1f0fa6f0df68 --- /dev/null +++ b/mob/living/simple_animal/revenant.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/revenant - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

revenant + + + +

+ + +

Procs

incorporeal_move_checkIncorporeal move check: blocked by holy-watered tiles and salt piles.

Proc Details

incorporeal_move_check +

+

Incorporeal move check: blocked by holy-watered tiles and salt piles.

+ + + diff --git a/mob/living/simple_animal/robot_customer.html b/mob/living/simple_animal/robot_customer.html new file mode 100644 index 000000000000..3c3cfceb3b16 --- /dev/null +++ b/mob/living/simple_animal/robot_customer.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/simple_animal/robot_customer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

robot_customer + + + +

+ +

Robot customers

+ + +

Vars

can_have_aiOverride so it uses datum ai

Procs

DestroyClean up on the mobs seat etc when its deleted (Either by murder or because it left)
spawn_gibsRobots need robot gibs...!
+

Var Details

can_have_ai + + + + +

+

Override so it uses datum ai

Proc Details

Destroy +

+

Clean up on the mobs seat etc when its deleted (Either by murder or because it left)

spawn_gibs +

+

Robots need robot gibs...!

+ + + diff --git a/mob/living/simple_animal/slime.html b/mob/living/simple_animal/slime.html new file mode 100644 index 000000000000..1094f1db64a8 --- /dev/null +++ b/mob/living/simple_animal/slime.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/simple_animal/slime - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

slime + + + +

+ + + + +

Vars

colourTIME FOR SUBSPECIES
effectmodCORE-CROSSING CODE

Procs

handle_status_effectsThe divisor controls how fast body temperature changes, lower causes faster changes
+

Var Details

colour + + + + +

+

TIME FOR SUBSPECIES

effectmod + + + + +

+

CORE-CROSSING CODE

Proc Details

handle_status_effects +

+

The divisor controls how fast body temperature changes, lower causes faster changes

+ + + diff --git a/mob/living/simple_animal/sloth.html b/mob/living/simple_animal/sloth.html new file mode 100644 index 000000000000..12b15cebe4a4 --- /dev/null +++ b/mob/living/simple_animal/sloth.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/sloth - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sloth + + + +

+ + +

Vars

attack_verb_continuousIn the case 'melee_damage_upper' is somehow raised above 0
+

Var Details

attack_verb_continuous + + + + +

+

In the case 'melee_damage_upper' is somehow raised above 0

+ + + diff --git a/mob/oranges_ear.html b/mob/oranges_ear.html new file mode 100644 index 000000000000..e9143a3ce583 --- /dev/null +++ b/mob/oranges_ear.html @@ -0,0 +1,77 @@ + + + + + + + /mob/oranges_ear - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

oranges_ear + + + +

+ + + +

Vars

referencesreferences to everything "on" the turf we are assigned to, that we care about. populated in assign() and cleared in unassign(). +movables iside of other movables count as being "on" if they have get_turf(them) == our turf. intentionally not a lazylist

Procs

unassignclean this oranges_ear up for future use
+

Var Details

references + + + + +

+

references to everything "on" the turf we are assigned to, that we care about. populated in assign() and cleared in unassign(). +movables iside of other movables count as being "on" if they have get_turf(them) == our turf. intentionally not a lazylist

Proc Details

unassign +

+

clean this oranges_ear up for future use

+ + + diff --git a/mob/proccall_handler.html b/mob/proccall_handler.html new file mode 100644 index 000000000000..42d438ffb3d7 --- /dev/null +++ b/mob/proccall_handler.html @@ -0,0 +1,44 @@ + + + + + + + /mob/proccall_handler - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

proccall_handler + + + +

+ +

Used to handle proccalls called indirectly by an admin (e.g. tgs, circuits). +Has to be a mob because IsAdminAdvancedProcCall() checks usr, which is a mob variable. +So usr is set to this for any proccalls that don't have any usr mob/client to refer to.

+ +

Procs

add_callerAdds a caller.
remove_callerRemoves a caller.

Proc Details

add_caller +

+

Adds a caller.

remove_caller +

+

Removes a caller.

+ + + diff --git a/modular_pariah/master_files/code/_globalvars/lists/chat.html b/modular_pariah/master_files/code/_globalvars/lists/chat.html new file mode 100644 index 000000000000..735315ded1f9 --- /dev/null +++ b/modular_pariah/master_files/code/_globalvars/lists/chat.html @@ -0,0 +1,30 @@ + + + + + + + modular_pariah/master_files/code/_globalvars/lists/chat.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/master_files/code/_globalvars/lists/chat.dm + +

+ + + +
/proc/should_have_space_before_emoteReturns a boolean based on whether or not the string contains a comma or an apostrophe, +to be used for emotes to decide whether or not to have a space between the name of the user +and the emote.
+ + + diff --git a/modular_pariah/master_files/code/controllers/configuration/entries/pariah_config_entries.html b/modular_pariah/master_files/code/controllers/configuration/entries/pariah_config_entries.html new file mode 100644 index 000000000000..ad4b2499305c --- /dev/null +++ b/modular_pariah/master_files/code/controllers/configuration/entries/pariah_config_entries.html @@ -0,0 +1,32 @@ + + + + + + + modular_pariah/master_files/code/controllers/configuration/entries/pariah_config_entries.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/master_files/code/controllers/configuration/entries/pariah_config_entries.dm + +

+ + + + +
/datum/config_entry/number/vote_autotransfer_initialLength of time before the first autotransfer vote is called (deciseconds, default 2 hours) +Set to 0 to disable the subsystem altogether.
/datum/config_entry/number/vote_autotransfer_intervallength of time to wait before subsequent autotransfer votes (deciseconds, default 30 minutes)
/datum/config_entry/number/vote_autotransfer_maximummaximum extensions until the round autoends. +Set to 0 to force automatic crew transfer after the 'vote_autotransfer_initial' elapsed. +Set to -1 to disable the maximum extensions cap.
+ + + diff --git a/modular_pariah/master_files/code/modules/antagonist/_common/antag_datum.html b/modular_pariah/master_files/code/modules/antagonist/_common/antag_datum.html new file mode 100644 index 000000000000..5ce2b191175a --- /dev/null +++ b/modular_pariah/master_files/code/modules/antagonist/_common/antag_datum.html @@ -0,0 +1,38 @@ + + + + + + + modular_pariah/master_files/code/modules/antagonist/_common/antag_datum.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Define Details
+
+

modular_pariah/master_files/code/modules/antagonist/_common/antag_datum.dm + +

+ + + +
KILL_PROBChance the traitor gets a kill objective. If this prob fails, they will get a steal objective instead.
DESTROY_AI_PROBIf a kill objective is rolled, chance that it is to destroy the AI.

Define Details

+

DESTROY_AI_PROB + + + +

+

If a kill objective is rolled, chance that it is to destroy the AI.

KILL_PROB + + +

+

Chance the traitor gets a kill objective. If this prob fails, they will get a steal objective instead.

+ + + diff --git a/modular_pariah/modules/admin.html b/modular_pariah/modules/admin.html new file mode 100644 index 000000000000..b0b2e79d9732 --- /dev/null +++ b/modular_pariah/modules/admin.html @@ -0,0 +1,52 @@ + + + + + + + modular_pariah/modules/admin/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/admin/readme.md + +

+ + +
Title: Admin +

MODULE ID: ADMIN

+Description: +

Adds multuple admin features, loud asay, ticket handling, pie smite.

+TG Proc Changes: +
    +
  • code\modules\admin\verbs\adminhelp.dm
  • +
  • code\modules\admin\verbs\adminpm.dm
  • +
  • code\modules\admin\admin_verbs.dm
  • +
+Defines: +
    +
  • N/A
  • +
+Master file additions +
    +
  • N/A
  • +
+Included files that are not contained in this module: +
    +
  • N/A
  • +
+Credits: +

LYNXEMS - Pariah Port and Stripping +Gandalf2k15 - Porting and Refactoring +Akrilla - OG code

+ + + diff --git a/modular_pariah/modules/aesthetics.html b/modular_pariah/modules/aesthetics.html new file mode 100644 index 000000000000..fc9483b728b7 --- /dev/null +++ b/modular_pariah/modules/aesthetics.html @@ -0,0 +1,52 @@ + + + + + + + modular_pariah/modules/aesthetics/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/aesthetics/readme.md + +

+ + +

https://github.com/Skyrat-SS13/Skyrat-tg/pull/1245

+Title: General aesthetic change. +

MODULE ID: AESTHETICS

+Description: +

This takes a few sprites from TauCeti station and ports them over to us. With a few sound modifications too.

+TG Proc Changes: +
    +
  • Please see changed files on PR. Skyrat tags applied.
  • +
+Defines: +
    +
  • N/A
  • +
+Master file additions +
    +
  • N/A
  • +
+Included files that are not contained in this module: +
    +
  • N/A
  • +
+Credits: +
    +
  • TauCeti station
  • +
  • Gandalf2k15
  • +
+ + + diff --git a/modular_pariah/modules/aesthetics/vending/access_vending.html b/modular_pariah/modules/aesthetics/vending/access_vending.html new file mode 100644 index 000000000000..0c97146619bb --- /dev/null +++ b/modular_pariah/modules/aesthetics/vending/access_vending.html @@ -0,0 +1,28 @@ + + + + + + + modular_pariah/modules/aesthetics/vending/access_vending.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/aesthetics/vending/access_vending.dm + +

+ + + +
/obj/machinery/vending/accessThis vending machine supports a list of items that changes based on the user/card's access.
/obj/machinery/vending/access/debugDebug version to verify access checking is working and functional
+ + + diff --git a/modular_pariah/modules/alternative_job_titles.html b/modular_pariah/modules/alternative_job_titles.html new file mode 100644 index 000000000000..8b96cab8935f --- /dev/null +++ b/modular_pariah/modules/alternative_job_titles.html @@ -0,0 +1,50 @@ + + + + + + + modular_pariah/modules/alternative_job_titles/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/alternative_job_titles/readme.md + +

+ + +
Title: Alternative Job Titles +

MODULE ID: ALTERNATIVE_JOB_TITLES

+Description: +

Adds functionality to custom job titles, making them show up in manifests, ID's and announcements. +Unfortunately, all 3 of the categories are not set up to be very modular, so this almost entirely consists of TG proc changes.

+TG Proc Changes: +
    +
  • ./code/controllers/subsystem/job.dm > /datum/controller/subsystem/job/proc/EquipRank()
  • +
  • ./code/datums/datacore.dm > /datum/datacore/proc/get_manifest(), /datum/datacore/proc/get_manifest_html(), /datum/datacore/proc/manifest_inject()
  • +
  • ./code/modules/admin/verbs/admingame.dm > /client/proc/respawn_character()
  • +
  • ./code/modules/jobs/job_types/_job.dm > /datum/job/proc/announce_job(), /datum/job/proc/announce_head()
  • +
  • ./code/modules/mob/dead/new_player/new_player.dm > /mob/dead/new_player/proc/AttemptLateSpawn()
  • +
+Defines: +
    +
  • N/A
  • +
+Included files that are not contained in this module: +
    +
  • ./tgui/packages/tgui/interfaces/CrewManifest.js
  • +
  • ./tgui/packages/tgui/interfaces/NtosCrewManifest.js
  • +
+Credits: +

Tastyfish

+ + + diff --git a/modular_pariah/modules/announcer.html b/modular_pariah/modules/announcer.html new file mode 100644 index 000000000000..b1730124aa9f --- /dev/null +++ b/modular_pariah/modules/announcer.html @@ -0,0 +1,48 @@ + + + + + + + modular_pariah/modules/announcer/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/announcer/readme.md + +

+ + +
Title: ANNOUNCER +

MODULE ID: ANNOUNCER

+Description: +

Old Bay Announcer.

+TG Proc Changes: +
    +
  • code\controllers\subsystem\processing\station.dm
  • +
+Defines: +
    +
  • N/A
  • +
+Master file additions +
    +
  • N/A
  • +
+Included files that are not contained in this module: +
    +
  • N/A
  • +
+Credits: +

LYNXEMS - Porting

+ + + diff --git a/modular_pariah/modules/autotransfer.html b/modular_pariah/modules/autotransfer.html new file mode 100644 index 000000000000..f6c4bc156ed3 --- /dev/null +++ b/modular_pariah/modules/autotransfer.html @@ -0,0 +1,50 @@ + + + + + + + modular_pariah/modules/autotransfer/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/autotransfer/readme.md + +

+ + +
Title: Autotransfer +

MODULE ID: AUTOTRANSFER

+Description: +

Adds an automatically called vote for the shuttle to come, timed with real time, so no TD.

+TG Proc Changes: +
    +
  • code/controllers/subsystems/vote.dm
  • +
  • code/modules/shuttle/emergency.dm
  • +
+Defines: +
    +
  • N/A
  • +
+Master file additions +
    +
  • N/A
  • +
+Included files that are not contained in this module: +
    +
  • N/A
  • +
+Credits: +

LYNXEMX - Pariah port +Azarak - porting to SR

+ + + diff --git a/modular_pariah/modules/customization.html b/modular_pariah/modules/customization.html new file mode 100644 index 000000000000..ce0d558cd79c --- /dev/null +++ b/modular_pariah/modules/customization.html @@ -0,0 +1,92 @@ + + + + + + + modular_pariah/modules/customization/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/customization/readme.md + +

+ + +
Pariah Comment: +

Modified very much.

+Title: Customization +

MODULE ID: CUSTOMIZATION

+Description: +

IF YOU WANT TO ADD AN EXTRA FEATURE TO SOMEONES DNA LOOK AT "code/__DEFINES/~skyrat_defines/DNA.dm"

+

Adds in loadout, with lots of clothing ported over. Adds in changeable PDA ringtone message.

+TG Proc Changes: +

./code/__HELPERS/global_lists.dm > /proc/make_datum_references_lists() +./code/__HELPERS/mobs.dm > /proc/random_features() +./code/controllers/subsystem/job.dm > /datum/controller/subsystem/job/proc/EquipRank() +./code/datums/dna.dm > /datum/dna/proc/initialize_dna() , /mob/living/carbon/set_species() +./code/modules/admin/create_mob.dm > /proc/randomize_human() +./code/modules/client/preferences.dm > ALMOST THE ENTIRETY OF THE FILE +./code/modules/client/preferences_savefile.dm > ONCE AGAIN, THE ENTIRE FILE +./code/modules/mob/dead/new_player/preferences_setup.dm > /datum/preferences/proc/random_character(), /datum/preferences/proc/random_species(), /datum/preferences/proc/update_preview_icon() +./code/modules/mob/living/carbon/carbon_update_icons.dm > /mob/living/carbon/update_inv_wear_mask(), /mob/living/carbon/update_inv_head(), /mob/living/carbon/proc/update_body_parts(), /mob/living/carbon/proc/generate_icon_render_key() +./code/modules/mob/living/carbon/human/emote.dm > /datum/emote/living/carbon/human/wag/run_emote(), /datum/emote/living/carbon/human/wag/can_run_emote() +./code/modules/mob/living/carbon/human/examine.dm > /mob/living/carbon/human/examine() +./code/modules/mob/living/carbon/human/human_update_icons.dm > /mob/living/carbon/human/update_inv_w_uniform(), /mob/living/carbon/human/update_inv_glasses(), /mob/living/carbon/human/update_inv_shoes(), /mob/living/carbon/human/update_inv_wear_suit(), /obj/item/proc/build_worn_icon(), /mob/living/carbon/human/generate_icon_render_key() +./code/modules/mob/living/carbon/human/species.dm > /datum/species/proc/on_species_gain(), /datum/species/proc/handle_body(), /datum/species/proc/handle_mutant_bodyparts(), /datum/species/proc/can_equip(), /datum/species/proc/can_wag_tail(), /datum/species/proc/stop_wagging_tail(), /datum/species/proc/start_wagging_tail(), /datum/species/proc/is_wagging_tail(), /datum/species/proc/handle_hair() +./code/modules/mob/living/carbon/human/species_types/felinid.dm > the 5 procs related to wagging tail +./code/modules/mob/living/carbon/human/species_types/lizardpeople.dm the 5 procs related to wagging tail and - /datum/species/lizard/on_species_gain() +./code/modules/surgery/bodyparts/_bodyparts.dm > /obj/item/bodypart/proc/get_limb_icon() +./code/modules/surgery/organs/ears.dm > /obj/item/organ/ears/cat/Insert(), /obj/item/organ/ears/cat/Remove() +./code/modules/surgery/organs/tails.dm > /obj/item/organ/tail/cat/Insert(), /obj/item/organ/tail/cat/Remove(), /obj/item/organ/tail/lizard/Initialize(), /obj/item/organ/tail/lizard/Insert(), /obj/item/organ/tail/lizard/Remove() +./code/modules/surgery/bodyparts/dismemberment.dm > /mob/living/carbon/regenerate_limb() +./code/modules/mob/living/carbon/human/status_procs.dm > /mob/living/carbon/human/become_husk() > APPENDED +./code/modules/reagents/chemistry/holder.dm > /datum/reagents/metabolize() +./code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm > /obj/item/reagent_containers/food/drinks/drinkingglass/on_reagent_change() +./code/modules/mob/living/carbon/human/human_defense.dm > /mob/living/carbon/human/emp_act() +./code/modules/mob/living/carbon/human.dm > /mob/living/carbon/human/revive() > APPENDED +./code/modules/reagents/chemistry/reagents/food_reagents.dm > datum/reagent/consumable/on_mob_life() +./code/datums/traits/negative.dm > /datum/quirk/prosthetic_limb +.\code\modules\client.dm > /client/proc/update_special_keybinds() +./code/datums/traits/negative.dm > /datum/quirk/prosthetic_limb

+

./code/modules/mob/living/carbon/human/species.dm > /datum/species/regenerate_organs() > APPENDED

+

./code/controllers/subsystem/job.dm > /datum/controller/subsystem/job/proc/FindOccupationCandidates(), /datum/controller/subsystem/job/proc/GiveRandomJob(), /datum/controller/subsystem/job/proc/DivideOccupations(), /datum/controller/subsystem/job/proc/AssignRole() +./code/modules/mob/dead/new_player/new_player.dm > /mob/dead/new_player/proc/IsJobUnavailable(), /proc/get_job_unavailable_error_message()

+Defines: +

./code/modules/surgery/organs/tongue.dm > var/static/list/languages_possible_base - added 2 languages +./code/modules/mob/living/carbon/human/species_types/lizardpeople.dm > commented out "mutant_organs = list(/obj/item/organ/tail/lizard)" +./code/modules/mob/living/carbon/human/species_types/felinid.dm > commented out "mutantears = /obj/item/organ/ears/cat" and "mutant_organs = list(/obj/item/organ/tail/cat)" +./code/modules/mob/living/carbon/human/species.dm > var/list/list/mutant_bodyparts (added typed list type) +./code/_globalvars/lists/flavor_misc.dm > Removed accessory list defines +.\code\datums\keybindings\living.dm > /datum/keybinding/living/look_up > from L to P

+

./code/modules/surgery/bodyparts/_bodyparts.dm > var/rendered_bp_icon

+

./code/__DEFINES/~skyrat_defines/DNA.dm > A TON of defines +./code/__DEFINES/~skyrat_defines/obj_flags.dm > Organ flags +./code/__DEFINES/~skyrat_defines/say.dm > MAX_FLAVOR_LEN +./code/__DEFINES/~skyrat_defines/traits.dm > TRAIT_NO_HUSK

+

.\modular_pariah\modules\customization\modules\reagents\chemistry\reagents.dm > var/process_flags

+Master file additions +

.\modular_pariah\master_files\icons\mob\clothing\feet_digi.dmi +.\modular_pariah\master_files\icons\mob\clothing\head_muzzled.dmi +.\modular_pariah\master_files\icons\mob\clothing\mask_muzzled.dmi +.\modular_pariah\master_files\icons\mob\clothing\suit_digi.dmi +.\modular_pariah\master_files\icons\mob\clothing\uniform_digi.dmi +.\modular_pariah\master_files\icons\mob\clothing\under\uniform_digi.dmi

+

./modular_pariah/master_files/icons/obj/drinks.dmi

+Included files that are not contained in this module: +
    +
  • N/A
  • +
+Credits: +

Azarak

+ + + diff --git a/modular_pariah/modules/customization/modules/clothing/glasses/glasses.html b/modular_pariah/modules/customization/modules/clothing/glasses/glasses.html new file mode 100644 index 000000000000..b2a83a49345d --- /dev/null +++ b/modular_pariah/modules/customization/modules/clothing/glasses/glasses.html @@ -0,0 +1,27 @@ + + + + + + + modular_pariah/modules/customization/modules/clothing/glasses/glasses.dm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/customization/modules/clothing/glasses/glasses.dm + +

+ + +
/obj/item/clothing/glasses/thinGLASSSES
+ + + diff --git a/modular_pariah/modules/customization/modules/clothing/storage.html b/modular_pariah/modules/customization/modules/clothing/storage.html new file mode 100644 index 000000000000..50c5e818e3d0 --- /dev/null +++ b/modular_pariah/modules/customization/modules/clothing/storage.html @@ -0,0 +1,50 @@ + + + + + + + modular_pariah/modules/customization/modules/clothing/storage/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/customization/modules/clothing/storage/readme.md + +

+ + +
Title: Storage +

MODULE ID: Storage

+Description: +

A seperate folder under customization for adding new (WORN) storage items, such as new bags and belts.

+TG Proc Changes: +
    +
  • N/A
  • +
+Defines: +
    +
  • N/A
  • +
+Master file additions +
    +
  • N/A
  • +
+Included files that are not contained in this module: +

(Both the new sprite files, which are in the normal clothing icon locations)

+
    +
  • modular_pariah/master_files/icons/mob/clothing/storage.dmi
  • +
  • modular_pariah/master_files/icons/obj/clothing/storage.dmi
  • +
+Credits: +

Orion_the_Fox

+ + + diff --git a/modular_pariah/modules/hyposprays.html b/modular_pariah/modules/hyposprays.html new file mode 100644 index 000000000000..b4e5ae12f65d --- /dev/null +++ b/modular_pariah/modules/hyposprays.html @@ -0,0 +1,62 @@ + + + + + + + modular_pariah/modules/hyposprays/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/hyposprays/readme.md + +

+ + +

https://github.com/Skyrat-SS13/Skyrat-tg/pull/1929

+Title: Hyposprays +

MODULE ID: HYPOSPRAYS

+Description: +

Gives Medical back its Hyposprays. Oldbase stuff is good.

+TG Proc Changes: +
    +
  • CMO's locker now contains a new object, the CMO's Hypospray Kit. Old Hypospray has been commented out.
  • +
+Defines: +
    +
  • #define HYPO_SPRAY 0
  • +
  • #define HYPO_INJECT 1
  • +
  • #define WAIT_SPRAY 25
  • +
  • #define WAIT_INJECT 25
  • +
  • #define SELF_SPRAY 15
  • +
  • #define SELF_INJECT 15
  • +
  • #define DELUXE_WAIT_SPRAY 0
  • +
  • #define DELUXE_WAIT_INJECT 5
  • +
  • #define DELUXE_SELF_SPRAY 10
  • +
  • #define DELUXE_SELF_INJECT 10
  • +
  • #define COMBAT_WAIT_SPRAY 0
  • +
  • #define COMBAT_WAIT_INJECT 0
  • +
  • #define COMBAT_SELF_SPRAY 0
  • +
  • #define COMBAT_SELF_INJECT 0
  • +
+Master file additions +
    +
  • N/A
  • +
+Included files that are not contained in this module: +
    +
  • N/A
  • +
+Credits: +

ShadeAware - Porting

+ + + diff --git a/modular_pariah/modules/indicators.html b/modular_pariah/modules/indicators.html new file mode 100644 index 000000000000..d5fd4fad21c0 --- /dev/null +++ b/modular_pariah/modules/indicators.html @@ -0,0 +1,54 @@ + + + + + + + modular_pariah/modules/indicators/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/indicators/readme.md + +

+ + +

https://github.com/Skyrat-SS13/Skyrat-tg/pull/9922 -- Mech CI PR from Niko

+Title: Indicators +

MODULE ID: INDICATORS

+Description: +

The compilation of all player indicators (SSD, Typing) +SSD Indicator - Automatically shows when a player has disconnected +Typing Indicator - Shows when a player is typing

+TG Proc Changes: +

Typing Indicator

+
    +
  • APPEND: code/modules/keybindings/setup.dm > /datum/proc/key_down()
  • +
  • ADDITION: code/onclick/_click.dm > /mob/proc/ClickOn()
  • +
  • ADDITION: code/modules/mob/mob_say.dm > /mob/verb/say_verb(), /mob/verb/me_verb()
  • +
  • CHANGE: code\modules\mob\living\living_say.dm > /mob/living/send_speech
  • +
  • ADDITION: code/modules/mob/living/death.dm > /mob/living/death() +SSD Indicator +./code/modules/mob/living/carbon/human/examine.dm > /mob/living/carbon/human/examine()
  • +
  • ADDITION: code/modules/mob/living/death.dm > /mob/living/death()
  • +
+Defines: +

N/A

+Included files: +

N/A

+Credits: +

Azarak - Porting and OG code for Combat Indicator, Typing Indicator, SSD Indicator +FlamingLily - Consolidation, surrender alert +Niko - making CI work with mechs and stuff +GoldenAlphrex - Being invaluably helpful in telling me (niko) how to do things

+ + + diff --git a/modular_pariah/modules/pixel_shift/code.html b/modular_pariah/modules/pixel_shift/code.html new file mode 100644 index 000000000000..d0b33ded9f06 --- /dev/null +++ b/modular_pariah/modules/pixel_shift/code.html @@ -0,0 +1,44 @@ + + + + + + + modular_pariah/modules/pixel_shift/code/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/pixel_shift/code/readme.md + +

+ + +
Title: Pixel shifting for RP positioning +

MODULE ID: PIXEL_SHIFT

+Description: +

Adds the ability for living mobs to shift their sprite to fit an RP situation better (standing against a wall for example). Not appended to proc due to it being a busy proc

+TG Proc Changes: +
    +
  • ADDITION: \code\modules\mob\living > /mob/living/Moved()
  • +
  • CHANGE: Skyrat-tg\code\datums\keybinding\mob.dm > /datum/keybinding/mob/prevent_movement - Keybind changed to ctrl.
  • +
+Defines: +
    +
  • Skyrat-tg\code\modules\mob\mob_movement.dm > /client/Move(n, direct)
  • +
+Included files: +

N/A

+Credits: +

Azarak - Porting +Gandalf2k15 - Refactoring

+ + + diff --git a/modular_pariah/modules/radiosound.html b/modular_pariah/modules/radiosound.html new file mode 100644 index 000000000000..11646cf03087 --- /dev/null +++ b/modular_pariah/modules/radiosound.html @@ -0,0 +1,50 @@ + + + + + + + modular_pariah/modules/radiosound/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/radiosound/readme.md + +

+ + +

https://github.com/Skyrat-SS13/Skyrat-tg/pull/950

+Title: RADIOSOUND +

MODULE ID: RADIOSOUND

+Description: +

Makes radios go chk chk.

+TG Proc Changes: +
    +
  • APPEND: /code/game/objects/items/devices/radio/headset.dm > /obj/item/radio/headset/talk_into()
  • +
+Defines: +
    +
  • N/A
  • +
+Master file additions +
    +
  • N/A
  • +
+Included files that are not contained in this module: +
    +
  • N/A
  • +
+Credits: +

Gandalf2k15 - porting +Bob - OG code

+ + + diff --git a/modular_pariah/modules/sec_haul_lite.html b/modular_pariah/modules/sec_haul_lite.html new file mode 100644 index 000000000000..cabb8a09e4ca --- /dev/null +++ b/modular_pariah/modules/sec_haul_lite.html @@ -0,0 +1,53 @@ + + + + + + + modular_pariah/modules/sec_haul_lite/readme.md - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

modular_pariah/modules/sec_haul_lite/readme.md + +

+ + +
PARIAH COMMENT +

This module was heavily reduced down to size and will be expanded upon at a later date.

+Title: Security overhaul +

MODULE ID: MODULAR_WEAPONS

+Description: +

Completely overhauls security to something that will hopefully fit us.

+TG Proc Changes: +
    +
  • See: https://github.com/Skyrat-SS13/Skyrat-tg/pull/2860
  • +
+Defines: +
    +
  • See: https://github.com/Skyrat-SS13/Skyrat-tg/pull/2860
  • +
+Master file additions +
    +
  • N/A
  • +
+Included files that are not contained in this module: +
    +
  • See: https://github.com/Skyrat-SS13/Skyrat-tg/pull/2860
  • +
+Credits: +

Code: Gandalf2k15 +Sprite modification: Gandalf2k15 +Uniforms and equipment sprites: JungleRat +Gun sprites: Eris and Sojourn

+ + + diff --git a/obj.html b/obj.html new file mode 100644 index 000000000000..51057a00b794 --- /dev/null +++ b/obj.html @@ -0,0 +1,223 @@ + + + + + + + /obj - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

obj + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

custom_fire_overlayCustom fire overlay icon
desc_controlsExtra examine line to describe controls, such as right-clicking, left-clicking, etc.
id_tagMap tag for something. Tired of it being used on snowflake items. Moved here for some semblance of a standard. +Next pr after the network fix will have me refactor door interactions, so help me god.
w_classHow large is the object, used for stuff like whether it can fit in backpacks or not

Procs

acid_actthe obj's reaction when touched by acid
acid_meltcalled when the obj is destroyed by acid.
airflow_hit_actHeheheh
atom_destructionwhat happens when the obj's integrity reaches zero.
attack_tk_grabTelekinesis object grab act.
burncalled when the obj is destroyed by fire
check_reskin_menuChecks if we are allowed to interact with a radial menu for reskins
deconstructthe obj is deconstructed into pieces, whether through careful disassembly or when destroyed.
expose_reagentsHandles exposing an object to reagents.
extinguishCalled when the obj is no longer on fire.
fire_act/ FIRE +Called when the obj is exposed to fire.
flick_emote_popup_on_objA proc type that, when called, causes a image/sprite to appear above whatever entity it is called on.
freezeattempt to freeze this obj if possible. returns TRUE if it succeeded, FALSE otherwise.
lose_block_z_outRemoves a BLOCK_Z_OUT_* flag, and then tries to get every movable in the turf to fall.
pipe_ejectGeneral proc used to expel a holder's contents through src (for bins holder is also the src).
remove_emote_popup_on_objA proc that is automatically called whenever flick_emote_popup_on_obj's addtimer expires, and removes the popup.
reskin_objReskins object based on a user's choice
unfreezeunfreezes this obj if its frozen
zap_actCalled when the obj is hit by a tesla bolt.
zap_buckle_checkOnly tesla coils, vehicles, and grounding rods currently call this because mobs are already targeted over all other objects, but this might be useful for more things later.
+

Var Details

custom_fire_overlay + + + + +

+

Custom fire overlay icon

desc_controls + + + + +

+

Extra examine line to describe controls, such as right-clicking, left-clicking, etc.

id_tag + + + + +

+

Map tag for something. Tired of it being used on snowflake items. Moved here for some semblance of a standard. +Next pr after the network fix will have me refactor door interactions, so help me god.

w_class + + + + +

+

How large is the object, used for stuff like whether it can fit in backpacks or not

Proc Details

acid_act +

+

the obj's reaction when touched by acid

acid_melt +

+

called when the obj is destroyed by acid.

airflow_hit_act +

+

Heheheh

atom_destruction +

+

what happens when the obj's integrity reaches zero.

attack_tk_grab +

+

Telekinesis object grab act.

+

burn +

+

called when the obj is destroyed by fire

check_reskin_menu +

+

Checks if we are allowed to interact with a radial menu for reskins

+

Arguments:

+

deconstruct +

+

the obj is deconstructed into pieces, whether through careful disassembly or when destroyed.

expose_reagents +

+

Handles exposing an object to reagents.

extinguish +

+

Called when the obj is no longer on fire.

fire_act +

+

/ FIRE +Called when the obj is exposed to fire.

flick_emote_popup_on_obj +

+

A proc type that, when called, causes a image/sprite to appear above whatever entity it is called on.

+

There are two types: on_mob and on_obj, they can only be called on their respective typepaths.

+

Arguments:

+

freeze +

+

attempt to freeze this obj if possible. returns TRUE if it succeeded, FALSE otherwise.

lose_block_z_out +

+

Removes a BLOCK_Z_OUT_* flag, and then tries to get every movable in the turf to fall.

pipe_eject +

+

General proc used to expel a holder's contents through src (for bins holder is also the src).

remove_emote_popup_on_obj +

+

A proc that is automatically called whenever flick_emote_popup_on_obj's addtimer expires, and removes the popup.

+

Arguments:

+

reskin_obj +

+

Reskins object based on a user's choice

+

Arguments:

+

unfreeze +

+

unfreezes this obj if its frozen

zap_act +

+

Called when the obj is hit by a tesla bolt.

zap_buckle_check +

+

Only tesla coils, vehicles, and grounding rods currently call this because mobs are already targeted over all other objects, but this might be useful for more things later.

+ + + diff --git a/obj/docking_port.html b/obj/docking_port.html new file mode 100644 index 000000000000..21d48c35c2c7 --- /dev/null +++ b/obj/docking_port.html @@ -0,0 +1,140 @@ + + + + + + + /obj/docking_port - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

docking_port + + + +

+ + + + + + + + + + + + + + + + +

Vars

delete_afterDelete this port after ship fly off.
dheightposition relative to covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.
dirCommon standard is for this to point -away- from the dockingport door, ie towards the ship
dwidthposition relative to covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.
heightsize of covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.
hiddenare we invisible to shuttle navigation computers?
idThe identifier of the port or ship. +This will be used in numerous other places like the console, +stationary ports and whatnot to tell them your ship's mobile +port can be used in these places, or the docking port is compatible, etc.
port_destinationsPossible destinations
registeredare we registered in SSshuttles?
widthsize of covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.

Procs

registerregister to SSshuttles
return_coordsreturns a list(x0,y0, x1,y1) where points 0 and 1 are bounding corners of the projected rectangle
return_ordered_turfsreturns turfs within our projected rectangle in a specific order.this ensures that turfs are copied over in the same order, regardless of any rotation
return_turfsreturns turfs within our projected rectangle in no particular order
unregisterunregister from SSshuttles
+

Var Details

delete_after + + + + +

+

Delete this port after ship fly off.

dheight + + + + +

+

position relative to covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.

dir + + + + +

+

Common standard is for this to point -away- from the dockingport door, ie towards the ship

dwidth + + + + +

+

position relative to covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.

height + + + + +

+

size of covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.

hidden + + + + +

+

are we invisible to shuttle navigation computers?

id + + + + +

+

The identifier of the port or ship. +This will be used in numerous other places like the console, +stationary ports and whatnot to tell them your ship's mobile +port can be used in these places, or the docking port is compatible, etc.

port_destinations + + + + +

+

Possible destinations

registered + + + + +

+

are we registered in SSshuttles?

width + + + + +

+

size of covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.

Proc Details

register +

+

register to SSshuttles

return_coords +

+

returns a list(x0,y0, x1,y1) where points 0 and 1 are bounding corners of the projected rectangle

return_ordered_turfs +

+

returns turfs within our projected rectangle in a specific order.this ensures that turfs are copied over in the same order, regardless of any rotation

return_turfs +

+

returns turfs within our projected rectangle in no particular order

unregister +

+

unregister from SSshuttles

+ + + diff --git a/obj/docking_port/mobile.html b/obj/docking_port/mobile.html new file mode 100644 index 000000000000..84cfc69d763c --- /dev/null +++ b/obj/docking_port/mobile.html @@ -0,0 +1,140 @@ + + + + + + + /obj/docking_port/mobile - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mobile + + + +

+ + + + + + + + + + + + + + + + +

Vars

bolt_doorsBolt doors on take off, unbolt on arrival?
callTimetime spent in transit (deciseconds). Should not be lower then 10 seconds without editing the animation of the hyperspace ripples.
can_move_docking_portsif this shuttle can move docking ports other than the one it is docked at
ignitionTimetime spent "starting the engines". Also rate limits how often we try to reserve transit space if its ever full of transiting shuttles.
modecurrent shuttle mode
movement_forceWhether or not you want your ship to knock people down, and also whether it will throw them several tiles upon launching.
port_directionrelative direction of the docking port from the front of the shuttle. NORTH is towards front, EAST would be starboard side, WEST port, etc.
prearrivalTimetime spent after transit 'landing' before actually arriving
preferred_directionThe direction the shuttle prefers to travel in, ie what direction the animation will cause it to appear to be traveling in
rechargeTimetime spent after arrival before being able to begin ignition
timerused as a timer (if you want time left to complete move, use timeLeft proc)

Procs

beforeShuttleMoveMisc move procs
get_status_text_tguiGets shuttle location status in a form of string for tgui interfaces
initiate_dockingThis is the main proc. It instantly moves our mobile port to stationary port new_dock.
preflight_checkBoth lists are associative with a turf:bitflag structure. (new_turfs bitflag space unused currently) +The bitflag contains the data for what inhabitants of that coordinate should be moved to the new location +The bitflags can be found in __DEFINES/shuttles.dm
+

Var Details

bolt_doors + + + + +

+

Bolt doors on take off, unbolt on arrival?

callTime + + + + +

+

time spent in transit (deciseconds). Should not be lower then 10 seconds without editing the animation of the hyperspace ripples.

can_move_docking_ports + + + + +

+

if this shuttle can move docking ports other than the one it is docked at

ignitionTime + + + + +

+

time spent "starting the engines". Also rate limits how often we try to reserve transit space if its ever full of transiting shuttles.

mode + + + + +

+

current shuttle mode

movement_force + + + + +

+

Whether or not you want your ship to knock people down, and also whether it will throw them several tiles upon launching.

port_direction + + + + +

+

relative direction of the docking port from the front of the shuttle. NORTH is towards front, EAST would be starboard side, WEST port, etc.

prearrivalTime + + + + +

+

time spent after transit 'landing' before actually arriving

preferred_direction + + + + +

+

The direction the shuttle prefers to travel in, ie what direction the animation will cause it to appear to be traveling in

rechargeTime + + + + +

+

time spent after arrival before being able to begin ignition

timer + + + + +

+

used as a timer (if you want time left to complete move, use timeLeft proc)

Proc Details

beforeShuttleMove +

+

Misc move procs

get_status_text_tgui +

+

Gets shuttle location status in a form of string for tgui interfaces

initiate_docking +

+

This is the main proc. It instantly moves our mobile port to stationary port new_dock.

preflight_check +

+

Both lists are associative with a turf:bitflag structure. (new_turfs bitflag space unused currently) +The bitflag contains the data for what inhabitants of that coordinate should be moved to the new location +The bitflags can be found in __DEFINES/shuttles.dm

+

Hiding turfs if necessary

+

Unhiding turfs if necessary

+ + + diff --git a/obj/docking_port/mobile/arrivals.html b/obj/docking_port/mobile/arrivals.html new file mode 100644 index 000000000000..54f5aa25bb45 --- /dev/null +++ b/obj/docking_port/mobile/arrivals.html @@ -0,0 +1,47 @@ + + + + + + + /obj/docking_port/mobile/arrivals - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

arrivals + + + +

+ + + +

Procs

OnDockAdd a callback to execute when the shuttle is not in transit.
QueueAnnounceQueues an announcement arrival.

Proc Details

OnDock +

+

Add a callback to execute when the shuttle is not in transit.

QueueAnnounce +

+

Queues an announcement arrival.

+

Arguments:

+
+ + + diff --git a/obj/docking_port/mobile/emergency.html b/obj/docking_port/mobile/emergency.html new file mode 100644 index 000000000000..02da79370fb2 --- /dev/null +++ b/obj/docking_port/mobile/emergency.html @@ -0,0 +1,48 @@ + + + + + + + /obj/docking_port/mobile/emergency - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

emergency + + + +

+ + + +

Procs

elimination_hijackProc that handles checking if the emergency shuttle was successfully hijacked via being the only people present on the shuttle for the elimination hijack or highlander objective
requestobj/docking_port/mobile/emergency/request(obj/docking_port/stationary/S, area/signalOrigin, reason, redAlert, set_coefficient=null) //ORIGINAL

Proc Details

elimination_hijack +

+

Proc that handles checking if the emergency shuttle was successfully hijacked via being the only people present on the shuttle for the elimination hijack or highlander objective

+

Checks for all mobs on the shuttle, checks their status, and checks if they're +borgs or simple animals. Depending on the args, certain mobs may be ignored, +and the presence of other antags may or may not invalidate a hijack. +Args: +filter_by_human, default TRUE, tells the proc that only humans should block a hijack. Borgs and animals are ignored and will not block if this is TRUE. +solo_hijack, default FALSE, tells the proc to fail with multiple hijackers, such as for Highlander mode.

request +

+

obj/docking_port/mobile/emergency/request(obj/docking_port/stationary/S, area/signalOrigin, reason, redAlert, set_coefficient=null) //ORIGINAL

+ + + diff --git a/obj/docking_port/stationary/picked.html b/obj/docking_port/stationary/picked.html new file mode 100644 index 000000000000..158d2f909f5d --- /dev/null +++ b/obj/docking_port/stationary/picked.html @@ -0,0 +1,36 @@ + + + + + + + /obj/docking_port/stationary/picked - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

picked + + + +

+ + +

Vars

shuttlekeysHolds a list of map name strings for the port to pick from
+

Var Details

shuttlekeys + + + + +

+

Holds a list of map name strings for the port to pick from

+ + + diff --git a/obj/durand_shield.html b/obj/durand_shield.html new file mode 100644 index 000000000000..946fec9e2e26 --- /dev/null +++ b/obj/durand_shield.html @@ -0,0 +1,65 @@ + + + + + + + /obj/durand_shield - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

durand_shield + + + +

+ +

Shield processing +*An object to take the hit for us when using the Durand's defense mode. +It is spawned in during the durand's initilization, and always stays on the same tile. +Normally invisible, until defense mode is actvated. When the durand detects an attack that should be blocked, the +attack is passed to the shield. The shield takes the damage, uses it to calculate charge cost, and then sets its +own integrity back to max. Shield is automatically dropped if we run out of power or the user gets out.

+ + +

Vars

chassisOur link back to the durand
switchingTo keep track of things during the animation

Procs

activateHandles activating and deactivating the shield.
+

Var Details

chassis + + + + +

+

Our link back to the durand

switching + + + + +

+

To keep track of things during the animation

Proc Details

activate +

+

Handles activating and deactivating the shield.

+

This proc is called by a signal sent from the mech's action button and +relayed by the mech itself. The "forced" variable, signal_args[1], will +skip the to-pilot text and is meant for when the shield is disabled by +means other than the action button (like running out of power).

+

Arguments:

+
+ + + diff --git a/obj/effect/abstract/aim_overlay.html b/obj/effect/abstract/aim_overlay.html new file mode 100644 index 000000000000..2ba5500f730a --- /dev/null +++ b/obj/effect/abstract/aim_overlay.html @@ -0,0 +1,71 @@ + + + + + + + /obj/effect/abstract/aim_overlay - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

aim_overlay + + + +

+ + + + + + + +

Vars

activeWill we fire when a trigger condition is met?
lock_timeWhen will we lock on?
lockedAre we locked on?
targetThe man on the other end of the gun
toolThe gun
userThe man with the gun
+

Var Details

active + + + + +

+

Will we fire when a trigger condition is met?

lock_time + + + + +

+

When will we lock on?

locked + + + + +

+

Are we locked on?

target + + + + +

+

The man on the other end of the gun

tool + + + + +

+

The gun

user + + + + +

+

The man with the gun

+ + + diff --git a/obj/effect/abstract/info.html b/obj/effect/abstract/info.html new file mode 100644 index 000000000000..f5c9b0ca6e07 --- /dev/null +++ b/obj/effect/abstract/info.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/abstract/info - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

info + + + +

+ +

An info button that, when clicked, puts some text in the user's chat

+

Vars

info_textWhat should the info button display when clicked?
+

Var Details

info_text + + + + +

+

What should the info button display when clicked?

+ + + diff --git a/obj/effect/abstract/particle_holder.html b/obj/effect/abstract/particle_holder.html new file mode 100644 index 000000000000..00c75ce6aaa9 --- /dev/null +++ b/obj/effect/abstract/particle_holder.html @@ -0,0 +1,64 @@ + + + + + + + /obj/effect/abstract/particle_holder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

particle_holder + + + +

+ +

objects can only have one particle on them at a time, so we use these abstract effects to hold and display the effects. You know, so multiple particle effects can exist at once. +also because some objects do not display particles due to how their visuals are built

+ + + +

Vars

particle_flagsHolds info about how this particle emitter works +See \code__DEFINES\particles.dm

Procs

on_movesignal called when a parent that's been hooked into this moves +does a variety of checks to ensure overrides work out properly
parent_deletedNon movables don't delete contents on destroy, so we gotta do this
set_particle_positionSets the particles position to the passed coordinate list (X, Y, Z) +See [https://www.byond.com/docs/ref/#/{notes}/particles] for position documentation
+

Var Details

particle_flags + + + + +

+

Holds info about how this particle emitter works +See \code__DEFINES\particles.dm

Proc Details

on_move +

+

signal called when a parent that's been hooked into this moves +does a variety of checks to ensure overrides work out properly

parent_deleted +

+

Non movables don't delete contents on destroy, so we gotta do this

set_particle_position +

+

Sets the particles position to the passed coordinate list (X, Y, Z) +See [https://www.byond.com/docs/ref/#/{notes}/particles] for position documentation

+ + + diff --git a/obj/effect/anomaly.html b/obj/effect/anomaly.html new file mode 100644 index 000000000000..79324dfbb325 --- /dev/null +++ b/obj/effect/anomaly.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/anomaly - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

anomaly + + + +

+ + +

Vars

drops_coreDo we drop a core when we're neutralized?
+

Var Details

drops_core + + + + +

+

Do we drop a core when we're neutralized?

+ + + diff --git a/obj/effect/anomaly/grav.html b/obj/effect/anomaly/grav.html new file mode 100644 index 000000000000..5962b2a46b5f --- /dev/null +++ b/obj/effect/anomaly/grav.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/anomaly/grav - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

grav + + + +

+ + +

Vars

warpWarp effect holder for displacement filter to "pulse" the anomaly
+

Var Details

warp + + + + +

+

Warp effect holder for displacement filter to "pulse" the anomaly

+ + + diff --git a/obj/effect/anomaly/pyro.html b/obj/effect/anomaly/pyro.html new file mode 100644 index 000000000000..332c3d9aca8f --- /dev/null +++ b/obj/effect/anomaly/pyro.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/anomaly/pyro - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pyro + + + +

+ + +

Vars

releasedelayHow many seconds between each gas release
+

Var Details

releasedelay + + + + +

+

How many seconds between each gas release

+ + + diff --git a/obj/effect/cross_action/spacetime_dist.html b/obj/effect/cross_action/spacetime_dist.html new file mode 100644 index 000000000000..e216d75c9e36 --- /dev/null +++ b/obj/effect/cross_action/spacetime_dist.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/cross_action/spacetime_dist - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

spacetime_dist + + + +

+ + +

Vars

antimagic_flagsA flags which save people from being thrown about
+

Var Details

antimagic_flags + + + + +

+

A flags which save people from being thrown about

+ + + diff --git a/obj/effect/decal/chempuff.html b/obj/effect/decal/chempuff.html new file mode 100644 index 000000000000..74257228e3af --- /dev/null +++ b/obj/effect/decal/chempuff.html @@ -0,0 +1,57 @@ + + + + + + + /obj/effect/decal/chempuff - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chempuff + + + +

+ + + + + +

Vars

lifetimeHow many interactions we have left before we disappear early
sprayerThe sprayer who fired this puff
streamAre we a part of a stream?
userThe mob who sourced this puff, if one exists
+

Var Details

lifetime + + + + +

+

How many interactions we have left before we disappear early

sprayer + + + + +

+

The sprayer who fired this puff

stream + + + + +

+

Are we a part of a stream?

user + + + + +

+

The mob who sourced this puff, if one exists

+ + + diff --git a/obj/effect/decal/cleanable.html b/obj/effect/decal/cleanable.html new file mode 100644 index 000000000000..45d9ebb85920 --- /dev/null +++ b/obj/effect/decal/cleanable.html @@ -0,0 +1,78 @@ + + + + + + + /obj/effect/decal/cleanable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cleanable + + + +

+ + + + + + + + +

Vars

blood_colorI'm sorry but cleanable/blood code is ass, and so is blood_DNA
bloodiness0-100, amount of blood in this decal, used for making footprints and affecting the alpha of bloody footprints
clean_typeThe type of cleaning required to clean the decal. See __DEFINES/cleaning.dm for the options
decal_reagentThe reagent this decal holds. Leave blank for none.
mergeable_decalIf TRUE, this decal will attempt to merge with other of it's type.
reagent_amountThe amount of reagent this decal holds, if decal_reagent is defined

Procs

can_bloodcrawl_inChecks if this decal is a valid decal that can be blood crawled in.
+

Var Details

blood_color + + + + +

+

I'm sorry but cleanable/blood code is ass, and so is blood_DNA

bloodiness + + + + +

+

0-100, amount of blood in this decal, used for making footprints and affecting the alpha of bloody footprints

clean_type + + + + +

+

The type of cleaning required to clean the decal. See __DEFINES/cleaning.dm for the options

decal_reagent + + + + +

+

The reagent this decal holds. Leave blank for none.

mergeable_decal + + + + +

+

If TRUE, this decal will attempt to merge with other of it's type.

reagent_amount + + + + +

+

The amount of reagent this decal holds, if decal_reagent is defined

Proc Details

can_bloodcrawl_in +

+

Checks if this decal is a valid decal that can be blood crawled in.

+ + + diff --git a/obj/effect/decal/cleanable/ants.html b/obj/effect/decal/cleanable/ants.html new file mode 100644 index 000000000000..9cfaf4b4cb83 --- /dev/null +++ b/obj/effect/decal/cleanable/ants.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/decal/cleanable/ants - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ants + + + +

+ + + +

Vars

bite_soundSound the ants make when biting

Procs

update_overlaysSmall amounts of ants won't be able to bite through shoes.
+

Var Details

bite_sound + + + + +

+

Sound the ants make when biting

Proc Details

update_overlays +

+

Small amounts of ants won't be able to bite through shoes.

+ + + diff --git a/obj/effect/decal/cleanable/blood.html b/obj/effect/decal/cleanable/blood.html new file mode 100644 index 000000000000..2d9f8fec1593 --- /dev/null +++ b/obj/effect/decal/cleanable/blood.html @@ -0,0 +1,57 @@ + + + + + + + /obj/effect/decal/cleanable/blood - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

blood + + + +

+ + + + + +

Vars

blood_merge_into_otherWhat decals can we merge into
blood_merge_into_usWhat decals can merge into us
dry_durationHow long should it take for blood to dry?
drytimeWorld.time + dry_duration
+

Var Details

blood_merge_into_other + + + + +

+

What decals can we merge into

blood_merge_into_us + + + + +

+

What decals can merge into us

dry_duration + + + + +

+

How long should it take for blood to dry?

drytime + + + + +

+

World.time + dry_duration

+ + + diff --git a/obj/effect/decal/cleanable/blood/drip.html b/obj/effect/decal/cleanable/blood/drip.html new file mode 100644 index 000000000000..f58cc1fa3c03 --- /dev/null +++ b/obj/effect/decal/cleanable/blood/drip.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/decal/cleanable/blood/drip - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

drip + + + +

+ + +

Vars

dripsKeeps track of how many drops of blood this decal has. See blood.dm
+

Var Details

drips + + + + +

+

Keeps track of how many drops of blood this decal has. See blood.dm

+ + + diff --git a/obj/effect/decal/cleanable/blood/footprints.html b/obj/effect/decal/cleanable/blood/footprints.html new file mode 100644 index 000000000000..60e920a23c6e --- /dev/null +++ b/obj/effect/decal/cleanable/blood/footprints.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/decal/cleanable/blood/footprints - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

footprints + + + +

+ + +

Vars

shoe_typesList of shoe or other clothing that covers feet types that have made footprints here.
+

Var Details

shoe_types + + + + +

+

List of shoe or other clothing that covers feet types that have made footprints here.

+ + + diff --git a/obj/effect/decal/cleanable/blood/gibs.html b/obj/effect/decal/cleanable/blood/gibs.html new file mode 100644 index 000000000000..dedaaef6ca01 --- /dev/null +++ b/obj/effect/decal/cleanable/blood/gibs.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/decal/cleanable/blood/gibs - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

gibs + + + +

+ + +

Vars

streak_diseasesInformation about the diseases our streaking spawns
+

Var Details

streak_diseases + + + + +

+

Information about the diseases our streaking spawns

+ + + diff --git a/obj/effect/decal/cleanable/blood/hitsplatter.html b/obj/effect/decal/cleanable/blood/hitsplatter.html new file mode 100644 index 000000000000..a24fdc324f33 --- /dev/null +++ b/obj/effect/decal/cleanable/blood/hitsplatter.html @@ -0,0 +1,78 @@ + + + + + + + /obj/effect/decal/cleanable/blood/hitsplatter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

hitsplatter + + + +

+ + + + + + + + +

Vars

blood_dna_infoThe cached info about the blood
hit_endpointInsurance so that we don't keep moving once we hit a stoppoint
prev_locThe turf we just came from, so we can back up when we hit a wall
skipSkip making the final blood splatter when we're done, like if we're not in a turf
splatter_strengthHow many tiles/items/people we can paint red

Procs

fly_towardsSet the splatter up to fly through the air until it rounds out of steam or hits something
land_on_windowA special case for hitsplatters hitting windows, since those can actually be moved around, store it in the window and slap it in the vis_contents
+

Var Details

blood_dna_info + + + + +

+

The cached info about the blood

hit_endpoint + + + + +

+

Insurance so that we don't keep moving once we hit a stoppoint

prev_loc + + + + +

+

The turf we just came from, so we can back up when we hit a wall

skip + + + + +

+

Skip making the final blood splatter when we're done, like if we're not in a turf

splatter_strength + + + + +

+

How many tiles/items/people we can paint red

Proc Details

fly_towards +

+

Set the splatter up to fly through the air until it rounds out of steam or hits something

land_on_window +

+

A special case for hitsplatters hitting windows, since those can actually be moved around, store it in the window and slap it in the vis_contents

+ + + diff --git a/obj/effect/dummy/phased_mob.html b/obj/effect/dummy/phased_mob.html new file mode 100644 index 000000000000..217e137bd6ba --- /dev/null +++ b/obj/effect/dummy/phased_mob.html @@ -0,0 +1,78 @@ + + + + + + + /obj/effect/dummy/phased_mob - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

phased_mob + + + +

+ + + + + + + + +

Vars

jaunterThe movable which's jaunting in this dummy
movedelayThe delay between moves while jaunted
movespeedThe speed of movement while jaunted

Procs

deleteselfReact to signals by deleting the effect. Used for bloodcrawl.
eject_jaunterRemoves [jaunter] from our phased mob
phased_checkChecks if the conditions are valid to be able to phase. Returns a turf destination if positive.
set_jaunterSets [new_jaunter] as our jaunter, forcemoves them into our contents
+

Var Details

jaunter + + + + +

+

The movable which's jaunting in this dummy

movedelay + + + + +

+

The delay between moves while jaunted

movespeed + + + + +

+

The speed of movement while jaunted

Proc Details

deleteself +

+

React to signals by deleting the effect. Used for bloodcrawl.

eject_jaunter +

+

Removes [jaunter] from our phased mob

phased_check +

+

Checks if the conditions are valid to be able to phase. Returns a turf destination if positive.

set_jaunter +

+

Sets [new_jaunter] as our jaunter, forcemoves them into our contents

+ + + diff --git a/obj/effect/dummy/phased_mob/shadow.html b/obj/effect/dummy/phased_mob/shadow.html new file mode 100644 index 000000000000..a7e6981445dd --- /dev/null +++ b/obj/effect/dummy/phased_mob/shadow.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/dummy/phased_mob/shadow - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

shadow + + + +

+ + +

Vars

healing_rateThe amount that shadow heals us per SSobj tick (times delta_time)
+

Var Details

healing_rate + + + + +

+

The amount that shadow heals us per SSobj tick (times delta_time)

+ + + diff --git a/obj/effect/dummy/phased_mob/spell_jaunt.html b/obj/effect/dummy/phased_mob/spell_jaunt.html new file mode 100644 index 000000000000..1581bcbbccfc --- /dev/null +++ b/obj/effect/dummy/phased_mob/spell_jaunt.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/dummy/phased_mob/spell_jaunt - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

spell_jaunt + + + +

+ +

The dummy that holds people jaunting. Maybe one day we can replace it.

+

Vars

reappearingWhether we're currently reappearing - we can't move if so
+

Var Details

reappearing + + + + +

+

Whether we're currently reappearing - we can't move if so

+ + + diff --git a/obj/effect/floating_blade.html b/obj/effect/floating_blade.html new file mode 100644 index 000000000000..c15da32aa0a8 --- /dev/null +++ b/obj/effect/floating_blade.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/floating_blade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

floating_blade + + + +

+ + +

Vars

glow_colorThe color the knife glows around it.
+

Var Details

glow_color + + + + +

+

The color the knife glows around it.

+ + + diff --git a/obj/effect/forcefield.html b/obj/effect/forcefield.html new file mode 100644 index 000000000000..fb1bec54398f --- /dev/null +++ b/obj/effect/forcefield.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/forcefield - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

forcefield + + + +

+ + +

Vars

initial_durationIf set, how long the force field lasts after it's created. Set to 0 to have infinite duration forcefields.
+

Var Details

initial_duration + + + + +

+

If set, how long the force field lasts after it's created. Set to 0 to have infinite duration forcefields.

+ + + diff --git a/obj/effect/forcefield/wizard.html b/obj/effect/forcefield/wizard.html new file mode 100644 index 000000000000..b976ee968998 --- /dev/null +++ b/obj/effect/forcefield/wizard.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/forcefield/wizard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

wizard + + + +

+ +

The wizard's forcefield, summoned by forcewall

+ +

Vars

antimagic_flagsFlags for what antimagic can just ignore our forcefields
caster_weakrefA weakref to whoever casted our forcefield.
+

Var Details

antimagic_flags + + + + +

+

Flags for what antimagic can just ignore our forcefields

caster_weakref + + + + +

+

A weakref to whoever casted our forcefield.

+ + + diff --git a/obj/effect/fusion_particle_catcher.html b/obj/effect/fusion_particle_catcher.html new file mode 100644 index 000000000000..37706722ce61 --- /dev/null +++ b/obj/effect/fusion_particle_catcher.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/fusion_particle_catcher - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

fusion_particle_catcher + + + +

+ + +

Vars

particle_cacheTypecache of particles that can interact with this field.
+

Var Details

particle_cache + + + + +

+

Typecache of particles that can interact with this field.

+ + + diff --git a/obj/effect/heretic_influence.html b/obj/effect/heretic_influence.html new file mode 100644 index 000000000000..5cb8a9c154c4 --- /dev/null +++ b/obj/effect/heretic_influence.html @@ -0,0 +1,67 @@ + + + + + + + /obj/effect/heretic_influence - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

heretic_influence + + + +

+ + + + + + +

Vars

being_drainedWhether we're currently being drained or not.
heretic_imageThe image shown to heretics
mindsA list of all minds that can see us.
real_icon_stateThe icon state applied to the image created for this influence.

Procs

drain_influenceBegin to drain the influence, setting being_drained, +registering an examine signal, and beginning a do_after.
+

Var Details

being_drained + + + + +

+

Whether we're currently being drained or not.

heretic_image + + + + +

+

The image shown to heretics

minds + + + + +

+

A list of all minds that can see us.

real_icon_state + + + + +

+

The icon state applied to the image created for this influence.

Proc Details

drain_influence +

+

Begin to drain the influence, setting being_drained, +registering an examine signal, and beginning a do_after.

+

If successful, the influence is drained and deleted.

+ + + diff --git a/obj/effect/heretic_rune.html b/obj/effect/heretic_rune.html new file mode 100644 index 000000000000..dffe7118b224 --- /dev/null +++ b/obj/effect/heretic_rune.html @@ -0,0 +1,58 @@ + + + + + + + /obj/effect/heretic_rune - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

heretic_rune + + + +

+ +

The heretic's rune, which they use to complete transmutation rituals.

+ + +

Vars

is_in_useUsed mainly for summoning ritual to prevent spamming the rune to create millions of monsters.

Procs

do_ritualAttempt to invoke a ritual from the past list of knowledges.
try_ritualsAttempt to begin a ritual, giving them an input list to chose from. +Also ensures is_in_use is enabled and disabled before and after.
+

Var Details

is_in_use + + + + +

+

Used mainly for summoning ritual to prevent spamming the rune to create millions of monsters.

Proc Details

do_ritual +

+

Attempt to invoke a ritual from the past list of knowledges.

+

Arguments

+ +

returns TRUE if any rituals passed succeeded, FALSE if they all failed.

try_rituals +

+

Attempt to begin a ritual, giving them an input list to chose from. +Also ensures is_in_use is enabled and disabled before and after.

+ + + diff --git a/obj/effect/hotspot.html b/obj/effect/hotspot.html new file mode 100644 index 000000000000..3aec950f08c9 --- /dev/null +++ b/obj/effect/hotspot.html @@ -0,0 +1,49 @@ + + + + + + + /obj/effect/hotspot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

hotspot + + + +

+ + + + +

Procs

expose_locExpose our turf and all atoms inside of it
spread_to_adjacentPotentially spread fire, and attack nearby tiles with adjacent_fire_act()
update_firelightUpdate the associated light variables based on firelevel

Proc Details

expose_loc +

+

Expose our turf and all atoms inside of it

spread_to_adjacent +

+

Potentially spread fire, and attack nearby tiles with adjacent_fire_act()

update_firelight +

+

Update the associated light variables based on firelevel

+ + + diff --git a/obj/effect/immovablerod.html b/obj/effect/immovablerod.html new file mode 100644 index 000000000000..cfa136b57492 --- /dev/null +++ b/obj/effect/immovablerod.html @@ -0,0 +1,134 @@ + + + + + + + /obj/effect/immovablerod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

immovablerod + + + +

+ + + + + + + + + + + + + + +

Vars

collision_soundSound played on Bump()
destination_turfThe turf we're looking to coast to.
dnd_style_level_upThe rod levels up with each kill, increasing in size and auto-renaming itself.
loopy_rodWhether the rod can loop across other z-levels. The rod will still loop when the z-level is self-looping even if this is FALSE.
notifyWhether we notify ghosts.
num_mobs_hitHow many mobs we've penetrated one way or another
num_sentient_mobs_hitHow many mobs we've hit with clients
num_sentient_people_hitHow many people we've hit with clients
special_targetWe can designate a specific target to aim for, in which case we'll try to snipe them rather than just flying in a random direction

Procs

go_for_a_walkAllows your rod to release restraint level zero and go for a walk.
sit_stay_good_rodStops your rod's automated movement. Sit... Stay... Good rod!
suplex_rodCalled when someone manages to suplex the rod.
walk_in_directionRod will walk towards edge turf in the specified direction.
+

Var Details

collision_sound + + + + +

+

Sound played on Bump()

destination_turf + + + + +

+

The turf we're looking to coast to.

dnd_style_level_up + + + + +

+

The rod levels up with each kill, increasing in size and auto-renaming itself.

loopy_rod + + + + +

+

Whether the rod can loop across other z-levels. The rod will still loop when the z-level is self-looping even if this is FALSE.

notify + + + + +

+

Whether we notify ghosts.

num_mobs_hit + + + + +

+

How many mobs we've penetrated one way or another

num_sentient_mobs_hit + + + + +

+

How many mobs we've hit with clients

num_sentient_people_hit + + + + +

+

How many people we've hit with clients

special_target + + + + +

+

We can designate a specific target to aim for, in which case we'll try to snipe them rather than just flying in a random direction

Proc Details

go_for_a_walk +

+

Allows your rod to release restraint level zero and go for a walk.

+

If walkies_location is set, rod will move towards the location, chasing it across z-levels if necessary. +If walkies_location is not set, rod will call complete_trajectory() and follow the logic from that proc.

+

Arguments:

+

sit_stay_good_rod +

+

Stops your rod's automated movement. Sit... Stay... Good rod!

suplex_rod +

+

Called when someone manages to suplex the rod.

+

Arguments

+

walk_in_direction +

+

Rod will walk towards edge turf in the specified direction.

+

Arguments:

+
+ + + diff --git a/obj/effect/immovablerod/wizard.html b/obj/effect/immovablerod/wizard.html new file mode 100644 index 000000000000..5a71ebd14248 --- /dev/null +++ b/obj/effect/immovablerod/wizard.html @@ -0,0 +1,86 @@ + + + + + + + /obj/effect/immovablerod/wizard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

wizard + + + +

+ +

Wizard Version of the Immovable Rod.

+ + + + + + +

Vars

damage_bonusThe damage bonus of the rod when it smacks people.
max_distanceThe distance the rod will go.
our_wizardThe wizard who's piloting our rod.
start_turfThe turf the rod started from, to calcuate distance.

Procs

eject_wizardEject our current wizard, removing them from the rod +and fixing all of the variables we changed.
set_wizardSet wizard as our_wizard, placing them in the rod +and preparing them for travel.
stop_travelCalled when the wizard rod reaches it's maximum distance +or is otherwise stopped by something. +Dumps out the wizard, and deletes.
+

Var Details

damage_bonus + + + + +

+

The damage bonus of the rod when it smacks people.

max_distance + + + + +

+

The distance the rod will go.

our_wizard + + + + +

+

The wizard who's piloting our rod.

start_turf + + + + +

+

The turf the rod started from, to calcuate distance.

Proc Details

eject_wizard +

+

Eject our current wizard, removing them from the rod +and fixing all of the variables we changed.

set_wizard +

+

Set wizard as our_wizard, placing them in the rod +and preparing them for travel.

stop_travel +

+

Called when the wizard rod reaches it's maximum distance +or is otherwise stopped by something. +Dumps out the wizard, and deletes.

+ + + diff --git a/obj/effect/landmark/heretic.html b/obj/effect/landmark/heretic.html new file mode 100644 index 000000000000..f77e3d27c7d4 --- /dev/null +++ b/obj/effect/landmark/heretic.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/landmark/heretic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

heretic + + + +

+ +

Lardmarks meant to designate where heretic sacrifices are sent.

+

Vars

for_heretic_pathWhat path this landmark is intended for.
+

Var Details

for_heretic_path + + + + +

+

What path this landmark is intended for.

+ + + diff --git a/obj/effect/landmark/lift_id.html b/obj/effect/landmark/lift_id.html new file mode 100644 index 000000000000..dde7e258b89d --- /dev/null +++ b/obj/effect/landmark/lift_id.html @@ -0,0 +1,37 @@ + + + + + + + /obj/effect/landmark/lift_id - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lift_id + + + +

+ +

lift_id landmarks. used to map in specific_lift_id to trams. when the trams lift_master encounters one on a trams tile +it sets its specific_lift_id to that landmark. allows you to have multiple trams and multiple controls linking to their specific tram

+

Vars

specific_lift_idwhat specific id we give to the tram we're placed on, should explicitely set this if its a subtype, or weird things might happen
+

Var Details

specific_lift_id + + + + +

+

what specific id we give to the tram we're placed on, should explicitely set this if its a subtype, or weird things might happen

+ + + diff --git a/obj/effect/landmark/start/depsec.html b/obj/effect/landmark/start/depsec.html new file mode 100644 index 000000000000..9df73f2b1d7c --- /dev/null +++ b/obj/effect/landmark/start/depsec.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/landmark/start/depsec - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

depsec + + + +

+ + +

Vars

departmentWhat department this spawner is for
+

Var Details

department + + + + +

+

What department this spawner is for

+ + + diff --git a/obj/effect/landmark/tram.html b/obj/effect/landmark/tram.html new file mode 100644 index 000000000000..bffadcd3db4b --- /dev/null +++ b/obj/effect/landmark/tram.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/landmark/tram - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tram + + + +

+ + + + +

Vars

destination_idThe ID of that particular destination.
specific_lift_idthe id of the tram we're linked to.
tgui_iconsIcons for the tgui console to list out for what is at this location
+

Var Details

destination_id + + + + +

+

The ID of that particular destination.

specific_lift_id + + + + +

+

the id of the tram we're linked to.

tgui_icons + + + + +

+

Icons for the tgui console to list out for what is at this location

+ + + diff --git a/obj/effect/mapping_helpers/atom_injector.html b/obj/effect/mapping_helpers/atom_injector.html new file mode 100644 index 000000000000..90f86ad4ed2d --- /dev/null +++ b/obj/effect/mapping_helpers/atom_injector.html @@ -0,0 +1,71 @@ + + + + + + + /obj/effect/mapping_helpers/atom_injector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

atom_injector + + + +

+ +

Helpers used for injecting stuff into atoms on the map.

+ + + + + +

Vars

first_match_onlyWill inject into all fitting the criteria if false, otherwise first found.
target_nameWill inject into atoms with this name.
target_typeWill inject into atoms of this type.

Procs

check_validityChecks if whatever we are trying to inject with is valid
generate_stack_traceGenerates text for our stack trace
injectInjects our stuff into the atom
+

Var Details

first_match_only + + + + +

+

Will inject into all fitting the criteria if false, otherwise first found.

target_name + + + + +

+

Will inject into atoms with this name.

target_type + + + + +

+

Will inject into atoms of this type.

Proc Details

check_validity +

+

Checks if whatever we are trying to inject with is valid

generate_stack_trace +

+

Generates text for our stack trace

inject +

+

Injects our stuff into the atom

+ + + diff --git a/obj/effect/mapping_helpers/atom_injector/component_injector.html b/obj/effect/mapping_helpers/atom_injector/component_injector.html new file mode 100644 index 000000000000..1c2dbd86844f --- /dev/null +++ b/obj/effect/mapping_helpers/atom_injector/component_injector.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/mapping_helpers/atom_injector/component_injector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

component_injector + + + +

+ +

This helper applies components to things on the map directly.

+ +

Vars

component_argsArguments for the component.
component_typeTypepath of the component.
+

Var Details

component_args + + + + +

+

Arguments for the component.

component_type + + + + +

+

Typepath of the component.

+ + + diff --git a/obj/effect/mapping_helpers/atom_injector/custom_icon.html b/obj/effect/mapping_helpers/atom_injector/custom_icon.html new file mode 100644 index 000000000000..80856cfb802c --- /dev/null +++ b/obj/effect/mapping_helpers/atom_injector/custom_icon.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/mapping_helpers/atom_injector/custom_icon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

custom_icon + + + +

+ +

Fetches an external dmi and applies to the target object

+ + +

Vars

icon_fileThe icon file we fetched from the http get request.
icon_urlThis should return raw dmi in response to http get request. For example: "https://github.com/tgstation/SS13-sprites/raw/master/mob/medu.dmi?raw=true"
target_variableThis is the var that will be set with the fetched icon. In case you want to set some secondary icon sheets like inhands and such.
+

Var Details

icon_file + + + + +

+

The icon file we fetched from the http get request.

icon_url + + + + +

+

This should return raw dmi in response to http get request. For example: "https://github.com/tgstation/SS13-sprites/raw/master/mob/medu.dmi?raw=true"

target_variable + + + + +

+

This is the var that will be set with the fetched icon. In case you want to set some secondary icon sheets like inhands and such.

+ + + diff --git a/obj/effect/mapping_helpers/atom_injector/custom_sound.html b/obj/effect/mapping_helpers/atom_injector/custom_sound.html new file mode 100644 index 000000000000..ea90d9b31baa --- /dev/null +++ b/obj/effect/mapping_helpers/atom_injector/custom_sound.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/mapping_helpers/atom_injector/custom_sound - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

custom_sound + + + +

+ +

Fetches an external sound and applies to the target object

+ + +

Vars

sound_fileThe sound file we fetched from the http get request.
sound_urlThis should return raw sound in response to http get request. For example: "https://github.com/DaedalusDock/Gameserver/blob/master/sound/misc/bang.ogg?raw=true"
target_variableThis is the var that will be set with the fetched sound.
+

Var Details

sound_file + + + + +

+

The sound file we fetched from the http get request.

sound_url + + + + +

+

This should return raw sound in response to http get request. For example: "https://github.com/DaedalusDock/Gameserver/blob/master/sound/misc/bang.ogg?raw=true"

target_variable + + + + +

+

This is the var that will be set with the fetched sound.

+ + + diff --git a/obj/effect/mapping_helpers/atom_injector/element_injector.html b/obj/effect/mapping_helpers/atom_injector/element_injector.html new file mode 100644 index 000000000000..6ea5a413cc6f --- /dev/null +++ b/obj/effect/mapping_helpers/atom_injector/element_injector.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/mapping_helpers/atom_injector/element_injector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

element_injector + + + +

+ +

This helper applies elements to things on the map directly.

+ +

Vars

element_argsArguments for the element.
element_typeTypepath of the element.
+

Var Details

element_args + + + + +

+

Arguments for the element.

element_type + + + + +

+

Typepath of the element.

+ + + diff --git a/obj/effect/mapping_helpers/atom_injector/trait_injector.html b/obj/effect/mapping_helpers/atom_injector/trait_injector.html new file mode 100644 index 000000000000..d90f0a827c47 --- /dev/null +++ b/obj/effect/mapping_helpers/atom_injector/trait_injector.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/mapping_helpers/atom_injector/trait_injector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

trait_injector + + + +

+ +

This helper applies traits to things on the map directly.

+

Vars

trait_nameName of the trait, in the lower-case text (NOT the upper-case define) form.
+

Var Details

trait_name + + + + +

+

Name of the trait, in the lower-case text (NOT the upper-case define) form.

+ + + diff --git a/obj/effect/mapping_helpers/circuit_spawner.html b/obj/effect/mapping_helpers/circuit_spawner.html new file mode 100644 index 000000000000..f2535946e209 --- /dev/null +++ b/obj/effect/mapping_helpers/circuit_spawner.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/mapping_helpers/circuit_spawner - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

circuit_spawner + + + +

+ + + + +

Vars

circuit_shellThe shell for the circuit.
json_urlThe url for the json. Example: "https://pastebin.com/raw/eH7VnP9d"
shell_capacityCapacity of the shell.
+

Var Details

circuit_shell + + + + +

+

The shell for the circuit.

json_url + + + + +

+

The url for the json. Example: "https://pastebin.com/raw/eH7VnP9d"

shell_capacity + + + + +

+

Capacity of the shell.

+ + + diff --git a/obj/effect/mapping_helpers/paint_wall.html b/obj/effect/mapping_helpers/paint_wall.html new file mode 100644 index 000000000000..a1d125593a0e --- /dev/null +++ b/obj/effect/mapping_helpers/paint_wall.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/mapping_helpers/paint_wall - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

paint_wall + + + +

+ + + +

Vars

stripe_paintWhat stripe paint this helper will apply
wall_paintWhat wall (or airlock) paint this helper will apply
+

Var Details

stripe_paint + + + + +

+

What stripe paint this helper will apply

wall_paint + + + + +

+

What wall (or airlock) paint this helper will apply

+ + + diff --git a/obj/effect/mapping_helpers/trapdoor_placer.html b/obj/effect/mapping_helpers/trapdoor_placer.html new file mode 100644 index 000000000000..c4d767e40edd --- /dev/null +++ b/obj/effect/mapping_helpers/trapdoor_placer.html @@ -0,0 +1,32 @@ + + + + + + + /obj/effect/mapping_helpers/trapdoor_placer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

trapdoor_placer + + + +

+ +trapdoor placer! +

This places an unlinked trapdoor in the tile its on (so someone with a remote needs to link it up first) +Admins may spawn this in the round for additional trapdoors if they so desire +if YOU want to learn more about trapdoors, read about the component at trapdoor.dm +note: this is not a turf subtype because the trapdoor needs the type of the turf to turn back into

+ + + diff --git a/obj/effect/mapping_helpers/ztrait_injector.html b/obj/effect/mapping_helpers/ztrait_injector.html new file mode 100644 index 000000000000..0bdb91281741 --- /dev/null +++ b/obj/effect/mapping_helpers/ztrait_injector.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/mapping_helpers/ztrait_injector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ztrait_injector + + + +

+ + +

Vars

traits_to_addList of traits to add to this Z-level.
+

Var Details

traits_to_add + + + + +

+

List of traits to add to this Z-level.

+ + + diff --git a/obj/effect/meteor.html b/obj/effect/meteor.html new file mode 100644 index 000000000000..e5e2cb613073 --- /dev/null +++ b/obj/effect/meteor.html @@ -0,0 +1,92 @@ + + + + + + + /obj/effect/meteor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

meteor + + + +

+ + + + + + + + + + +

Vars

destThe thing we're moving towards, usually a turf
dropamtHow much stuff to spawn when you die
hitpwrLevel of ex_act to be called on hit.
hitsThe resilience of our meteor
lifetimeLifetime in seconds
meteorsoundSound to play when you hit something
threatUsed for determining which meteors are most interesting
z_originalOur starting z level, prevents infinite meteors

Procs

handle_stoppingDeals with what happens when we stop moving, IE we die
+

Var Details

dest + + + + +

+

The thing we're moving towards, usually a turf

dropamt + + + + +

+

How much stuff to spawn when you die

hitpwr + + + + +

+

Level of ex_act to be called on hit.

hits + + + + +

+

The resilience of our meteor

lifetime + + + + +

+

Lifetime in seconds

meteorsound + + + + +

+

Sound to play when you hit something

threat + + + + +

+

Used for determining which meteors are most interesting

z_original + + + + +

+

Our starting z level, prevents infinite meteors

Proc Details

handle_stopping +

+

Deals with what happens when we stop moving, IE we die

+ + + diff --git a/obj/effect/mine.html b/obj/effect/mine.html new file mode 100644 index 000000000000..b7f8bf0f55f6 --- /dev/null +++ b/obj/effect/mine.html @@ -0,0 +1,71 @@ + + + + + + + /obj/effect/mine - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mine + + + +

+ + + + + + + +

Vars

arm_delayIf set, we default armed to FALSE and set it to TRUE after this long from initializing
armedCan be set to FALSE if we want a short 'coming online' delay, then set to TRUE. Can still be set off by damage
triggeredWe manually check to see if we've been triggered in case multiple atoms cross us in the time between the mine being triggered and it actually deleting, to avoid a race condition with multiple detonations

Procs

mineEffectThe effect of the mine
now_armedIf the landmine was previously inactive, this beeps and displays a message marking it active
triggermineWhen something sets off a mine
+

Var Details

arm_delay + + + + +

+

If set, we default armed to FALSE and set it to TRUE after this long from initializing

armed + + + + +

+

Can be set to FALSE if we want a short 'coming online' delay, then set to TRUE. Can still be set off by damage

triggered + + + + +

+

We manually check to see if we've been triggered in case multiple atoms cross us in the time between the mine being triggered and it actually deleting, to avoid a race condition with multiple detonations

Proc Details

mineEffect +

+

The effect of the mine

now_armed +

+

If the landmine was previously inactive, this beeps and displays a message marking it active

triggermine +

+

When something sets off a mine

+ + + diff --git a/obj/effect/mine/explosive.html b/obj/effect/mine/explosive.html new file mode 100644 index 000000000000..af9b4b0cf98f --- /dev/null +++ b/obj/effect/mine/explosive.html @@ -0,0 +1,64 @@ + + + + + + + /obj/effect/mine/explosive - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

explosive + + + +

+ + + + + + +

Vars

range_devastationThe devastation range of the resulting explosion.
range_flameThe flame range of the resulting explosion.
range_flashThe flash range of the resulting explosion.
range_heavyThe heavy impact range of the resulting explosion.
range_lightThe light impact range of the resulting explosion.
+

Var Details

range_devastation + + + + +

+

The devastation range of the resulting explosion.

range_flame + + + + +

+

The flame range of the resulting explosion.

range_flash + + + + +

+

The flash range of the resulting explosion.

range_heavy + + + + +

+

The heavy impact range of the resulting explosion.

range_light + + + + +

+

The light impact range of the resulting explosion.

+ + + diff --git a/obj/effect/mine/shrapnel.html b/obj/effect/mine/shrapnel.html new file mode 100644 index 000000000000..5a83b0f56f42 --- /dev/null +++ b/obj/effect/mine/shrapnel.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/mine/shrapnel - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

shrapnel + + + +

+ +

These mines spawn pellet_clouds around them when triggered

+ + +

Vars

shrapnel_magnitudeBroadly, how many pellets we're spawning, the total is n! - (n-1)! pellets, so don't set it too high. For reference, 15 is probably pushing it at MAX
shrapnel_typeThe type of projectiles we're shooting out of this
shred_triggererIf TRUE, we spawn extra pellets to eviscerate the person who stepped on it, otherwise it just spawns a ring of pellets around the tile we're on (making setting it off an offensive move)
+

Var Details

shrapnel_magnitude + + + + +

+

Broadly, how many pellets we're spawning, the total is n! - (n-1)! pellets, so don't set it too high. For reference, 15 is probably pushing it at MAX

shrapnel_type + + + + +

+

The type of projectiles we're shooting out of this

shred_triggerer + + + + +

+

If TRUE, we spawn extra pellets to eviscerate the person who stepped on it, otherwise it just spawns a ring of pellets around the tile we're on (making setting it off an offensive move)

+ + + diff --git a/obj/effect/mob_spawn.html b/obj/effect/mob_spawn.html new file mode 100644 index 000000000000..a920419294ac --- /dev/null +++ b/obj/effect/mob_spawn.html @@ -0,0 +1,108 @@ + + + + + + + /obj/effect/mob_spawn - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mob_spawn + + + +

+ + + + + + + + + + + + +

Vars

facial_haircolorsets a human's facial hair color
facial_hairstylesets a human's facial hair
factionLazy string list of factions that the spawned mob will be in upon spawn
haircolorsets a human's hair color (use special for gradients, sorry)
hairstylesets a human's hairstyle
mob_nameA forced name of the mob, though can be overridden if a special name is passed as an argument
mob_species/Human specific stuff. Don't set these if you aren't using a human, the unit tests will put a stop to your sinful hand. +sets the human as a species, use a typepath (example: /datum/species/skeleton)
mob_typethe type of the mob, you best inherit this
outfitequips the human with an outfit.
outfit_overridefor mappers to override parts of the outfit. really only in here for secret away missions, please try to refrain from using this out of laziness
skin_tonesets a human's skin tone
+

Var Details

facial_haircolor + + + + +

+

sets a human's facial hair color

facial_hairstyle + + + + +

+

sets a human's facial hair

faction + + + + +

+

Lazy string list of factions that the spawned mob will be in upon spawn

haircolor + + + + +

+

sets a human's hair color (use special for gradients, sorry)

hairstyle + + + + +

+

sets a human's hairstyle

mob_name + + + + +

+

A forced name of the mob, though can be overridden if a special name is passed as an argument

mob_species + + + + +

+

/Human specific stuff. Don't set these if you aren't using a human, the unit tests will put a stop to your sinful hand. +sets the human as a species, use a typepath (example: /datum/species/skeleton)

mob_type + + + + +

+

the type of the mob, you best inherit this

outfit + + + + +

+

equips the human with an outfit.

outfit_override + + + + +

+

for mappers to override parts of the outfit. really only in here for secret away missions, please try to refrain from using this out of laziness

skin_tone + + + + +

+

sets a human's skin tone

+ + + diff --git a/obj/effect/mob_spawn/corpse.html b/obj/effect/mob_spawn/corpse.html new file mode 100644 index 000000000000..9e17085e69fb --- /dev/null +++ b/obj/effect/mob_spawn/corpse.html @@ -0,0 +1,59 @@ + + + + + + + /obj/effect/mob_spawn/corpse - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

corpse + + + +

+ +

these mob spawn subtypes trigger immediately (New or Initialize) and are not player controlled... since they're dead, you know?

+ + + +

Vars

brute_damage/damage values (very often, mappers want corpses to be mangled) +brute damage this corpse will spawn with
burn_damageburn damage this corpse will spawn with
oxy_damageoxy damage this corpse will spawn with
spawn_whenwhen this mob spawn should auto trigger.
+

Var Details

brute_damage + + + + +

+

/damage values (very often, mappers want corpses to be mangled) +brute damage this corpse will spawn with

burn_damage + + + + +

+

burn damage this corpse will spawn with

oxy_damage + + + + +

+

oxy damage this corpse will spawn with

spawn_when + + + + +

+

when this mob spawn should auto trigger.

+ + + diff --git a/obj/effect/mob_spawn/corpse/human.html b/obj/effect/mob_spawn/corpse/human.html new file mode 100644 index 000000000000..971c6ca11913 --- /dev/null +++ b/obj/effect/mob_spawn/corpse/human.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/mob_spawn/corpse/human - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

human + + + +

+ + + +

Vars

conceal_presencedisables PDA and sensors. only makes sense on corpses because ghost roles could simply turn those on again.
huskhusks the corpse if true.
+

Var Details

conceal_presence + + + + +

+

disables PDA and sensors. only makes sense on corpses because ghost roles could simply turn those on again.

husk + + + + +

+

husks the corpse if true.

+ + + diff --git a/obj/effect/mob_spawn/corpse/slime.html b/obj/effect/mob_spawn/corpse/slime.html new file mode 100644 index 000000000000..c3aca736dfd6 --- /dev/null +++ b/obj/effect/mob_spawn/corpse/slime.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/mob_spawn/corpse/slime - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

slime + + + +

+ +

dead slimes, with a var for whatever color you want.

+

Vars

slime_speciesthe color of the slime you're spawning.
+

Var Details

slime_species + + + + +

+

the color of the slime you're spawning.

+ + + diff --git a/obj/effect/mob_spawn/ghost_role.html b/obj/effect/mob_spawn/ghost_role.html new file mode 100644 index 000000000000..a4c91f244b6a --- /dev/null +++ b/obj/effect/mob_spawn/ghost_role.html @@ -0,0 +1,103 @@ + + + + + + + /obj/effect/mob_spawn/ghost_role - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ghost_role + + + +

+ +

these mob spawn subtypes do not trigger until attacked by a ghost.

+ + + + + + + + + +

Vars

flavour_textThis should be the actual instructions/description/context to the ghost role. This should be the really long explainy bit, basically.
important_textThis is critical non-policy information about the ghost role. Shown in the spawner menu and after spawning last.
prompt_ghostif false, you won't prompt for this role. best used for replacing the prompt system with something else like a radial, or something.
prompt_namea short, lowercase name for the mob used in possession prompt that pops up on ghost attacks. must be set.
role_ban/bans and policy +which role to check for a job ban
show_flavorShow these on spawn? Usually used for hardcoded special flavor
spawner_job_pathTypepath indicating the kind of job datum this ghost role will have. PLEASE inherit this with a new job datum, it's not hard. jobs come with policy configs.
useshow many times this spawner can be used (it won't delete unless it's out of uses)
you_are_text/descriptions +This should be the declaration of what the ghost role is, and maybe a short blurb after if you want. Shown in the spawner menu and after spawning first.

Procs

allow_spawnoverride this to add special spawn conditions to a ghost role
+

Var Details

flavour_text + + + + +

+

This should be the actual instructions/description/context to the ghost role. This should be the really long explainy bit, basically.

important_text + + + + +

+

This is critical non-policy information about the ghost role. Shown in the spawner menu and after spawning last.

prompt_ghost + + + + +

+

if false, you won't prompt for this role. best used for replacing the prompt system with something else like a radial, or something.

prompt_name + + + + +

+

a short, lowercase name for the mob used in possession prompt that pops up on ghost attacks. must be set.

role_ban + + + + +

+

/bans and policy +which role to check for a job ban

show_flavor + + + + +

+

Show these on spawn? Usually used for hardcoded special flavor

spawner_job_path + + + + +

+

Typepath indicating the kind of job datum this ghost role will have. PLEASE inherit this with a new job datum, it's not hard. jobs come with policy configs.

uses + + + + +

+

how many times this spawner can be used (it won't delete unless it's out of uses)

you_are_text + + + + +

+

/descriptions +This should be the declaration of what the ghost role is, and maybe a short blurb after if you want. Shown in the spawner menu and after spawning first.

Proc Details

allow_spawn +

+

override this to add special spawn conditions to a ghost role

+ + + diff --git a/obj/effect/mob_spawn/ghost_role/drone.html b/obj/effect/mob_spawn/ghost_role/drone.html new file mode 100644 index 000000000000..f5008bac51e3 --- /dev/null +++ b/obj/effect/mob_spawn/ghost_role/drone.html @@ -0,0 +1,46 @@ + + + + + + + /obj/effect/mob_spawn/ghost_role/drone - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

drone + + + +

+ + +

Vars

mob_typeType of drone that will be spawned
+

Var Details

mob_type + + + + +

+

Type of drone that will be spawned

+ + + diff --git a/obj/effect/overlay/vis.html b/obj/effect/overlay/vis.html new file mode 100644 index 000000000000..2c9c33532e34 --- /dev/null +++ b/obj/effect/overlay/vis.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/overlay/vis - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vis + + + +

+ + + +

Vars

cache_expirationoverlays which go unused for this amount of time get cleaned up
unusedWhen detected to be unused it gets set to world.time, after a while it gets removed
+

Var Details

cache_expiration + + + + +

+

overlays which go unused for this amount of time get cleaned up

unused + + + + +

+

When detected to be unused it gets set to world.time, after a while it gets removed

+ + + diff --git a/obj/effect/particle_effect/fluid.html b/obj/effect/particle_effect/fluid.html new file mode 100644 index 000000000000..1f3a1ae6a964 --- /dev/null +++ b/obj/effect/particle_effect/fluid.html @@ -0,0 +1,58 @@ + + + + + + + /obj/effect/particle_effect/fluid - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

fluid + + + +

+ +

A particle effect that belongs to a fluid group.

+ + + +

Vars

effect_bucketWhat SSfluid bucket this particle effect is currently in.
groupThe fluid group that this particle effect belongs to.
spread_bucketThe index of the fluid spread bucket this is being spread in.

Procs

spreadAttempts to spread this fluid node to wherever it can spread.
+

Var Details

effect_bucket + + + + +

+

What SSfluid bucket this particle effect is currently in.

group + + + + +

+

The fluid group that this particle effect belongs to.

spread_bucket + + + + +

+

The index of the fluid spread bucket this is being spread in.

Proc Details

spread +

+

Attempts to spread this fluid node to wherever it can spread.

+

Exact results vary by subtype implementation.

+ + + diff --git a/obj/effect/particle_effect/fluid/foam.html b/obj/effect/particle_effect/fluid/foam.html new file mode 100644 index 000000000000..1a7211ab394b --- /dev/null +++ b/obj/effect/particle_effect/fluid/foam.html @@ -0,0 +1,97 @@ + + + + + + + /obj/effect/particle_effect/fluid/foam - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

foam + + + +

+ +Foam +

Similar to smoke, but slower and mobs absorb its reagent through their exposed skin.

+ + + + + + + +

Vars

allow_duplicate_resultsWhether or not this foam can produce a remnant movable if something of the same type is already on its turf.
blacklisted_turfsThe types of turfs that this foam cannot spread to.
lifetimeThe amount of time this foam stick around for before it dissipates.
result_typeThe typepath for what this foam leaves behind when it dissipates.
slippery_foamWhether or not this foam should be slippery.

Procs

foam_mobApplies the effect of this foam to a mob.
kill_foamMakes the foam dissipate and create whatever remnants it must.
make_resultMakes the foam leave behind something when it dissipates.
+

Var Details

allow_duplicate_results + + + + +

+

Whether or not this foam can produce a remnant movable if something of the same type is already on its turf.

blacklisted_turfs + + + + +

+

The types of turfs that this foam cannot spread to.

lifetime + + + + +

+

The amount of time this foam stick around for before it dissipates.

result_type + + + + +

+

The typepath for what this foam leaves behind when it dissipates.

slippery_foam + + + + +

+

Whether or not this foam should be slippery.

Proc Details

foam_mob +

+

Applies the effect of this foam to a mob.

+

Arguments:

+ +

Returns:

+

kill_foam +

+

Makes the foam dissipate and create whatever remnants it must.

make_result +

+

Makes the foam leave behind something when it dissipates.

+

Returns the thing the foam leaves behind for further modification by subtypes.

+ + + diff --git a/obj/effect/particle_effect/fluid/foam/firefighting.html b/obj/effect/particle_effect/fluid/foam/firefighting.html new file mode 100644 index 000000000000..52950b480b5d --- /dev/null +++ b/obj/effect/particle_effect/fluid/foam/firefighting.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/particle_effect/fluid/foam/firefighting - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

firefighting + + + +

+ +

A variant of foam which absorbs plasma in the air if there is a fire.

+

Vars

absorbed_plasmaThe amount of plasma gas this foam has absorbed. To be deposited when the foam dissipates.
+

Var Details

absorbed_plasma + + + + +

+

The amount of plasma gas this foam has absorbed. To be deposited when the foam dissipates.

+ + + diff --git a/obj/effect/particle_effect/fluid/smoke.html b/obj/effect/particle_effect/fluid/smoke.html new file mode 100644 index 000000000000..ce82d61ae41f --- /dev/null +++ b/obj/effect/particle_effect/fluid/smoke.html @@ -0,0 +1,102 @@ + + + + + + + /obj/effect/particle_effect/fluid/smoke - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

smoke + + + +

+ +

A fluid which spreads through the air affecting every mob it engulfs.

+ + + + + + +

Vars

lifetimeHow long the smoke sticks around before it dissipates.
loc_connectionsMakes the smoke react to changes on/of its turf.

Procs

fade_inAnimates the smoke gradually fading into visibility. +Also makes the smoke turf opaque as it passes 160 alpha.
fade_outAnimates the smoke gradually fading out of visibility. +Also makes the smoke turf transparent as it passes 160 alpha.
kill_smokeMakes the smoke fade out and then deletes it.
react_to_atmos_adjacency_changesMakes the smoke react to nearby opening/closing airlocks and the like. +Makes it possible for smoke to spread through airlocks that open after the edge of the smoke cloud has already spread past them.
smoke_mobHandles the effects of this smoke on any mobs it comes into contact with.
+

Var Details

lifetime + + + + +

+

How long the smoke sticks around before it dissipates.

loc_connections + + + + +

+

Makes the smoke react to changes on/of its turf.

Proc Details

fade_in +

+

Animates the smoke gradually fading into visibility. +Also makes the smoke turf opaque as it passes 160 alpha.

+

Arguments:

+

fade_out +

+

Animates the smoke gradually fading out of visibility. +Also makes the smoke turf transparent as it passes 160 alpha.

+

Arguments:

+

kill_smoke +

+

Makes the smoke fade out and then deletes it.

react_to_atmos_adjacency_changes +

+

Makes the smoke react to nearby opening/closing airlocks and the like. +Makes it possible for smoke to spread through airlocks that open after the edge of the smoke cloud has already spread past them.

+

Arguments:

+

smoke_mob +

+

Handles the effects of this smoke on any mobs it comes into contact with.

+

Arguments:

+ +

Returns whether the smoke effect was applied to the mob.

+ + + diff --git a/obj/effect/particle_effect/fluid/smoke/bad.html b/obj/effect/particle_effect/fluid/smoke/bad.html new file mode 100644 index 000000000000..f5f6e5acff13 --- /dev/null +++ b/obj/effect/particle_effect/fluid/smoke/bad.html @@ -0,0 +1,42 @@ + + + + + + + /obj/effect/particle_effect/fluid/smoke/bad - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

bad + + + +

+ +

Smoke that makes you cough and reduces the power of lasers.

+

Procs

on_enteredReduces the power of any beam projectile that passes through the smoke.

Proc Details

on_entered +

+

Reduces the power of any beam projectile that passes through the smoke.

+

Arguments:

+
+ + + diff --git a/obj/effect/particle_effect/water/extinguisher.html b/obj/effect/particle_effect/water/extinguisher.html new file mode 100644 index 000000000000..54692d068b62 --- /dev/null +++ b/obj/effect/particle_effect/water/extinguisher.html @@ -0,0 +1,37 @@ + + + + + + + /obj/effect/particle_effect/water/extinguisher - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

extinguisher + + + +

+ +

Extinguisher snowflake

+

Procs

move_atStarts the effect moving at a target with a delay in deciseconds, and a lifetime in moves +Returns the created loop

Proc Details

move_at +

+

Starts the effect moving at a target with a delay in deciseconds, and a lifetime in moves +Returns the created loop

+ + + diff --git a/obj/effect/portal.html b/obj/effect/portal.html new file mode 100644 index 000000000000..642b8752db31 --- /dev/null +++ b/obj/effect/portal.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/portal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

portal + + + +

+ + +

Vars

force_teleportDoes this portal bypass teleport restrictions? like TRAIT_NO_TELEPORT and NOTELEPORT flags.
+

Var Details

force_teleport + + + + +

+

Does this portal bypass teleport restrictions? like TRAIT_NO_TELEPORT and NOTELEPORT flags.

+ + + diff --git a/obj/effect/powerup.html b/obj/effect/powerup.html new file mode 100644 index 000000000000..0abf83cf2626 --- /dev/null +++ b/obj/effect/powerup.html @@ -0,0 +1,71 @@ + + + + + + + /obj/effect/powerup - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

powerup + + + +

+ + + + + + + +

Vars

lifetimeHow long the powerup stays on the ground, if no value it will stay forever
pickup_messageMessage given when powerup is picked up
pickup_soundSound played when powerup is picked up
respawn_cooldownCooldown for the powerup to respawn after it's been used
respawn_timeHow long in deciseconds it will take for the powerup to respawn, if no value it won't respawn

Procs

triggerTriggers the effect of the powerup on the target, returns FALSE if the target is not /mob/living, is dead or the cooldown hasn't finished, returns TRUE otherwise
+

Var Details

lifetime + + + + +

+

How long the powerup stays on the ground, if no value it will stay forever

pickup_message + + + + +

+

Message given when powerup is picked up

pickup_sound + + + + +

+

Sound played when powerup is picked up

respawn_cooldown + + + + +

+

Cooldown for the powerup to respawn after it's been used

respawn_time + + + + +

+

How long in deciseconds it will take for the powerup to respawn, if no value it won't respawn

Proc Details

trigger +

+

Triggers the effect of the powerup on the target, returns FALSE if the target is not /mob/living, is dead or the cooldown hasn't finished, returns TRUE otherwise

+ + + diff --git a/obj/effect/powerup/health.html b/obj/effect/powerup/health.html new file mode 100644 index 000000000000..2eec5b426897 --- /dev/null +++ b/obj/effect/powerup/health.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/powerup/health - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

health + + + +

+ + + + +

Vars

admin_healIf full heal, does this do an admin level heal?
full_healDoes this pickup fully heal when picked up
heal_amountHow much the pickup heals when picked up
+

Var Details

admin_heal + + + + +

+

If full heal, does this do an admin level heal?

full_heal + + + + +

+

Does this pickup fully heal when picked up

heal_amount + + + + +

+

How much the pickup heals when picked up

+ + + diff --git a/obj/effect/reactor_em_field.html b/obj/effect/reactor_em_field.html new file mode 100644 index 000000000000..8209a9e48bde --- /dev/null +++ b/obj/effect/reactor_em_field.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/reactor_em_field - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

reactor_em_field + + + +

+ + +

Procs

DestroySort based on reaction priority to avoid deut-deut eating all the deut before deut-trit can run etc.

Proc Details

Destroy +

+

Sort based on reaction priority to avoid deut-deut eating all the deut before deut-trit can run etc.

+ + + diff --git a/obj/effect/rune.html b/obj/effect/rune.html new file mode 100644 index 000000000000..d090ea990542 --- /dev/null +++ b/obj/effect/rune.html @@ -0,0 +1,141 @@ + + + + + + + /obj/effect/rune - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

rune + + + +

+ + + + + + + + + + + + + + + + + +

Vars

can_be_scribedWhether this rune can be scribed or if it's admin only / special spawned / whatever
construct_invokeIf constructs can invoke it
cultist_descThe description of the rune shown to cultists who examine it
cultist_nameThe name of the rune to cultists
erase_timeHow long the rune takes to erase
invocationThis is said by cultists when the rune is invoked.
invoke_damageHow much damage invokers take when invoking it
keywordThe actual keyword for the rune
log_when_erasedUsed when you want to keep track of who erased the rune
no_scribe_boostIf a rune cannot be speed boosted while scribing on certain turfs
req_cultistsThe amount of cultists required around the rune to invoke it.
req_cultists_textIf we have a description override for required cultists to invoke
req_keywordIf the rune requires a keyword when scribed
rune_in_useUsed for some runes, this is for when you want a rune to not be usable when in use.
scribe_damageHhow much damage you take doing it
scribe_delayHow long the rune takes to create
+

Var Details

can_be_scribed + + + + +

+

Whether this rune can be scribed or if it's admin only / special spawned / whatever

construct_invoke + + + + +

+

If constructs can invoke it

cultist_desc + + + + +

+

The description of the rune shown to cultists who examine it

cultist_name + + + + +

+

The name of the rune to cultists

erase_time + + + + +

+

How long the rune takes to erase

invocation + + + + +

+

This is said by cultists when the rune is invoked.

invoke_damage + + + + +

+

How much damage invokers take when invoking it

keyword + + + + +

+

The actual keyword for the rune

log_when_erased + + + + +

+

Used when you want to keep track of who erased the rune

no_scribe_boost + + + + +

+

If a rune cannot be speed boosted while scribing on certain turfs

req_cultists + + + + +

+

The amount of cultists required around the rune to invoke it.

req_cultists_text + + + + +

+

If we have a description override for required cultists to invoke

req_keyword + + + + +

+

If the rune requires a keyword when scribed

rune_in_use + + + + +

+

Used for some runes, this is for when you want a rune to not be usable when in use.

scribe_damage + + + + +

+

Hhow much damage you take doing it

scribe_delay + + + + +

+

How long the rune takes to create

+ + + diff --git a/obj/effect/rune/narsie.html b/obj/effect/rune/narsie.html new file mode 100644 index 000000000000..4f211c005647 --- /dev/null +++ b/obj/effect/rune/narsie.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/rune/narsie - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

narsie + + + +

+ + +

Vars

usedHas the rune been used already?
+

Var Details

used + + + + +

+

Has the rune been used already?

+ + + diff --git a/obj/effect/rune/wall.html b/obj/effect/rune/wall.html new file mode 100644 index 000000000000..17681c1355e9 --- /dev/null +++ b/obj/effect/rune/wall.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/rune/wall - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

wall + + + +

+ + +

Vars

barrierThe barrier summoned by the rune when invoked. Tracked as a variable to prevent refreshing the barrier's integrity.
+

Var Details

barrier + + + + +

+

The barrier summoned by the rune when invoked. Tracked as a variable to prevent refreshing the barrier's integrity.

+ + + diff --git a/obj/effect/skyfall_landingzone.html b/obj/effect/skyfall_landingzone.html new file mode 100644 index 000000000000..0dc8eb110b9d --- /dev/null +++ b/obj/effect/skyfall_landingzone.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/skyfall_landingzone - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

skyfall_landingzone + + + +

+ +

a simple indicator of where the skyfall is going to land.

+ +

Vars

mechareference to mecha following

Procs

followcalled when the mecha moves
+

Var Details

mecha + + + + +

+

reference to mecha following

Proc Details

follow +

+

called when the mecha moves

+ + + diff --git a/obj/effect/spawner/random.html b/obj/effect/spawner/random.html new file mode 100644 index 000000000000..4a86d329d66b --- /dev/null +++ b/obj/effect/spawner/random.html @@ -0,0 +1,127 @@ + + + + + + + /obj/effect/spawner/random - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

random + + + +

+ +

Base class for all random spawners.

+ + + + + + + + + + + + + +

Vars

anchoredStops persistent lootdrop spawns from being shoved into lockers
lootA list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)
loot_subtype_pathThe subtypes (this excludes the provided path) to combine with the loot list
loot_type_pathThe subtypes AND type to combine with the loot list
spawn_all_lootWhether the spawner should spawn all the loot in the list
spawn_loot_chanceThe chance for the spawner to create loot (ignores spawn_loot_count)
spawn_loot_countHow many items will be spawned
spawn_loot_doubleIf the same item can be spawned twice
spawn_loot_splitWhether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself
spawn_on_initWhether the spawner should immediately spawn loot and cleanup on Initialize()
spawn_random_offsetWhether the items should have a random pixel_x/y offset (maxium offset distance is ±16 pixels for x/y)
spawn_scatter_radiusDetermines how big of a range (in tiles) we should scatter things in.

Procs

get_spawn_locationsIf the spawner has a spawn_scatter_radius set, this creates a list of nearby turfs available
spawn_lootIf the spawner has any loot defined, randomly picks some and spawns it. Does not cleanup the spawner.
+

Var Details

anchored + + + + +

+

Stops persistent lootdrop spawns from being shoved into lockers

loot + + + + +

+

A list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)

loot_subtype_path + + + + +

+

The subtypes (this excludes the provided path) to combine with the loot list

loot_type_path + + + + +

+

The subtypes AND type to combine with the loot list

spawn_all_loot + + + + +

+

Whether the spawner should spawn all the loot in the list

spawn_loot_chance + + + + +

+

The chance for the spawner to create loot (ignores spawn_loot_count)

spawn_loot_count + + + + +

+

How many items will be spawned

spawn_loot_double + + + + +

+

If the same item can be spawned twice

spawn_loot_split + + + + +

+

Whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself

spawn_on_init + + + + +

+

Whether the spawner should immediately spawn loot and cleanup on Initialize()

spawn_random_offset + + + + +

+

Whether the items should have a random pixel_x/y offset (maxium offset distance is ±16 pixels for x/y)

spawn_scatter_radius + + + + +

+

Determines how big of a range (in tiles) we should scatter things in.

Proc Details

get_spawn_locations +

+

If the spawner has a spawn_scatter_radius set, this creates a list of nearby turfs available

spawn_loot +

+

If the spawner has any loot defined, randomly picks some and spawns it. Does not cleanup the spawner.

+ + + diff --git a/obj/effect/step_trigger/thrower.html b/obj/effect/step_trigger/thrower.html new file mode 100644 index 000000000000..50ff88afef7b --- /dev/null +++ b/obj/effect/step_trigger/thrower.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/step_trigger/thrower - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

thrower + + + +

+ + +

Vars

affectingList of moving atoms mapped to their inital direction
+

Var Details

affecting + + + + +

+

List of moving atoms mapped to their inital direction

+ + + diff --git a/obj/effect/temp_visual.html b/obj/effect/temp_visual.html new file mode 100644 index 000000000000..31b4abc48a7f --- /dev/null +++ b/obj/effect/temp_visual.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/temp_visual - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

temp_visual + + + +

+ +

temporary visual effects

+ + +

Vars

durationtime, in deciseconds, that this object will exist
randomdirif true, will pick a random direction when created.
timeridid of the deletion timer
+

Var Details

duration + + + + +

+

time, in deciseconds, that this object will exist

randomdir + + + + +

+

if true, will pick a random direction when created.

timerid + + + + +

+

id of the deletion timer

+ + + diff --git a/obj/effect/temp_visual/resonance.html b/obj/effect/temp_visual/resonance.html new file mode 100644 index 000000000000..f334665f2b53 --- /dev/null +++ b/obj/effect/temp_visual/resonance.html @@ -0,0 +1,78 @@ + + + + + + + /obj/effect/temp_visual/resonance - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

resonance + + + +

+ + + + + + + + +

Vars

adding_failurethe number that is added to the failure_prob. Will default to 50
creatorthe parent creator (user) of this field
damage_multiplierthe modifier to resonance_damage; affected by the quick_burst_mod from the resonator
failure_probthe probability that the field will not be able to spread
parent_resonatorthe parent resonator of this field
resonance_damagethe amount of damage living beings will take whilst inside the field during its burst
rupturingwhether the field is rupturing currently or not (to prevent recursion)
+

Var Details

adding_failure + + + + +

+

the number that is added to the failure_prob. Will default to 50

creator + + + + +

+

the parent creator (user) of this field

damage_multiplier + + + + +

+

the modifier to resonance_damage; affected by the quick_burst_mod from the resonator

failure_prob + + + + +

+

the probability that the field will not be able to spread

parent_resonator + + + + +

+

the parent resonator of this field

resonance_damage + + + + +

+

the amount of damage living beings will take whilst inside the field during its burst

rupturing + + + + +

+

whether the field is rupturing currently or not (to prevent recursion)

+ + + diff --git a/obj/effect/timestop.html b/obj/effect/timestop.html new file mode 100644 index 000000000000..6f4bbb297017 --- /dev/null +++ b/obj/effect/timestop.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/timestop - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

timestop + + + +

+ + +

Vars

channelledif true, immune atoms moving ends the timestop instead of duration.
+

Var Details

channelled + + + + +

+

if true, immune atoms moving ends the timestop instead of duration.

+ + + diff --git a/obj/effect/turf_decal.html b/obj/effect/turf_decal.html new file mode 100644 index 000000000000..c474481860c9 --- /dev/null +++ b/obj/effect/turf_decal.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/turf_decal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

turf_decal + + + +

+ + +

Vars

decal_layerThe layer to generate the decal. Should be some kind of float layer
+

Var Details

decal_layer + + + + +

+

The layer to generate the decal. Should be some kind of float layer

+ + + diff --git a/obj/item.html b/obj/item.html new file mode 100644 index 000000000000..8c3374df24af --- /dev/null +++ b/obj/item.html @@ -0,0 +1,1271 @@ + + + + + + + /obj/item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

item + + + +

+ +

Anything you can pick up and hold.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

actionslist of /datum/action's that this item has.
actions_typeslist of paths of action datums to give to the item on New().
age_restrictedWhether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item
allowedWhat objects the suit storage can store
alternate_worn_layerForced mob worn layer instead of the standard preferred size.
armor_penetrationpercentage of armour effectiveness to remove
attack_verb_continuousUsed in atom/proc/attackby to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]"
belt_icon_stateIcon state for the belt overlay, if null the normal icon_state will be used.
block_chanceThe baseline chance to block ANY attack, projectiles included
block_effectThe type of effect to create on a successful block
block_soundSound used when successfully blocking an attack. Can be a list!
body_parts_coveredWhat body parts are covered by the clothing when you wear it
breakouttimeHow long it takes to resist out of the item (cuffs and such)
cold_protectionflags which determine which body parts are protected from cold. [See here][HEAD]
custom_premium_pricePrice of an item in a vending machine, overriding the premium vending machine price. Define in terms of paycheck defines as opposed to raw numbers.
custom_pricePrice of an item in a vending machine, overriding the base vending machine price. Define in terms of paycheck defines as opposed to raw numbers.
dog_fashionReference to the datum that determines whether dogs can wear the item: Needs to be in /obj/item because corgis can wear a lot of non-clothing items
drop_soundSound used when dropping the item, or when its thrown.
dye_colorUsed as the dye color source in the washing machine only (at the moment). Can be a hex color or a key corresponding to a registry entry, see washing_machine.dm
dying_keyWhat dye registry should be looked at when dying this item; see washing_machine.dm
embeddingDoes it embed and if yes, what kind of embed
equip_delay_otherIn deciseconds, how long an item takes to put on another person
equip_delay_selfIn deciseconds, how long an item takes to equip; counts only for normal clothing slots, not pockets etc.
equip_soundSound used when equipping the item into a valid slot
flags_coverfor flags such as [GLASSESCOVERSEYES]
flags_invThis flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc.
force_stringstring form of an item's force. Edit this var only to set a custom force string
force_unwieldedA var to hold the old, unwielded force value.
force_wieldedThe force of the item when wielded. If null, will be force * 1.5.
greyscale_config_beltThe config type to use for greyscaled belt overlays. Both this and greyscale_colors must be assigned to work.
greyscale_config_inhand_leftThe config type to use for greyscaled left inhand sprites. Both this and greyscale_colors must be assigned to work.
greyscale_config_inhand_rightThe config type to use for greyscaled right inhand sprites. Both this and greyscale_colors must be assigned to work.
greyscale_config_wornThe config type to use for greyscaled worn sprites. Both this and greyscale_colors must be assigned to work.
grind_resultsGrinder var:A reagent list containing the reagents this item produces when ground up in a grinder - this can be an empty list to allow for reagent transferring only
heat_protectionflags which determine which body parts are protected from heat. [See here][HEAD]
hitsoundSound played when you hit something with the item
icon_centerA url-encoded string that is the center pixel of an icon (or close enough). Use get_icon_center().
icon_state_wieldedThe icon_state to use when wielded, if any.
inhand_icon_stateicon state for inhand overlays, if null the normal icon_state will be used.
inhand_x_dimensionSame as for worn_x_dimension but for inhands, uses the lefthand_ and righthand_ file vars
inhand_y_dimensionSame as for worn_y_dimension but for inhands, uses the lefthand_ and righthand_ file vars
interaction_flags_itemflags for what should be done when you click on the item, default is picking it up
item_flagsItem flags for the item
lefthand_fileIcon file for left hand inhand overlays
masterThis var exists as a weird proxy "owner" ref +It's used in a few places. Stop using it, and optimially replace all uses please
max_heat_protection_temperatureSet this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags
min_cold_protection_temperatureSet this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags
miss_soundSound used when used as a weapon, but the attacked missed. Can be a list!
mob_throw_hit_soundUsed when yate into a mob
mouse_drag_pointerthe icon to indicate this object is being dragged
mouse_drop_pointerThis item can be dropped into other things
offensive_notesUsed in obj/item/examine to give additional notes on what the weapon does, separate from the predetermined output variables
override_notesUsed in obj/item/examine to determines whether or not to detail an item's statistics even if it does not meet the force requirements
permeability_coefficientHow likely a disease or chemical is to get through a piece of clothing
pickup_soundSound used when picking the item up (into your hands)
reachIn tiles, how far this weapon can reach; 1 for adjacent, which is default
restricted_bodytypesA blacklist of bodytypes that aren't allowed to equip this item
righthand_fileIcon file for right inhand overlays
sharpnessAll items with sharpness of SHARP_EDGED or higher will automatically get the butchering component.
siemens_coefficientfor electrical admittance/conductance (electrocution checks and shit)
slot_equipment_priorityThe list of slots by priority. equip_to_appropriate_slot() uses this list. Doesn't matter if a mob type doesn't have a slot. For default list, see /mob/proc/equip_to_appropriate_slot
slot_flagsThis is used to determine on which slots an item can fit.
slowdownHow much clothing is slowing you down. Negative values speeds you up
species_exceptionlist() of species types, if a species cannot put items in a certain slot, but species type is in list, it will be able to wear that item
stealthy_audioWhether or not we use stealthy audio levels for this item's attack sounds
strip_delayIn deciseconds, how long an item takes to remove from another person
supports_variations_flagsThis is a bitfield that defines what variations exist for bodyparts like Digi legs. See: code_DEFINES\inventory.dm
thrownbyA weakref to the mob who threw the item
tk_throw_rangeItems can by default thrown up to 10 tiles by TK users
tool_behaviourHow a tool acts when you use it on something, such as wirecutfters cutting wires while multitools measure power
toolspeedHow fast does the tool work
transparent_protectionyou can see someone's mask through their transparent visor, but you can't reach it
trigger_guardDetermines who can shoot this
undyeableWhether the item is unaffected by standard dying.
unwield_soundThe wound to play on unwield.
usesoundPlayed when the item is used, for example tools
w_classHow large is the object, used for stuff like whether it can fit in backpacks or not
weak_against_armorA multiplier applied to the target's armor. "2" means that their armor is twice as effective against this item.
wield_soundThe sound to play on wield.
wieldedIs the item being held in two hands?
worn_iconIcon file for mob worn overlays.
worn_icon_stateIcon state for mob worn overlays, if null the normal icon_state will be used.
worn_x_dimensionDimensions of the icon file used when this item is worn, eg: hats.dmi (32x32 sprite, 64x64 sprite, etc.). Allows inhands/worn sprites to be of any size, but still centered on a mob properly
worn_y_dimensionDimensions of the icon file used when this item is worn, eg: hats.dmi (32x32 sprite, 64x64 sprite, etc.). Allows inhands/worn sprites to be of any size, but still centered on a mob properly
worn_y_offsetWorn overlay will be shifted by this along y axis

Procs

GetIDGet an /obj/item/card/id from this object. bypass_wallet will grab the ID from a wallet even if it's closed
IsReflectThis proc determines if and at what an object will reflect energy projectiles if it's in l_hand,r_hand or wear_suit
add_item_actionAdds an item action to our list of item actions. +Item actions are actions linked to our item, that are granted to mobs who equip us. +This also ensures that the actions are properly tracked in the actions list and removed if they're deleted. +Can be be passed a typepath of an action or an instance of an action.
add_item_contextCreates a "Type-A" contextual screentip interaction. +When a user hovers over something with this item in hand, this proc will be called in order +to provide context for contextual screentips. +You must call register_item_context() in order for this to be registered. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +source can, in all cases, be replaced with src, and only exists because this proc directly connects to a signal.
add_stealing_item_objectiveCalled if this item is supposed to be a steal objective item objective. Only done at mapload
afterattackLast proc in the /obj/item/proc/melee_attack_chain
afterattack_secondaryCalled at the end of the attack chain if the user right-clicked.
attackCalled from [/mob/living/proc/attackby]
attack_objThe equivalent of the standard version of /obj/item/proc/attack but for /obj targets.
attack_qdeletedCalled if the target gets deleted by our attack
attack_secondaryIf we missed or the attack failed, interrupt attack chain. +The equivalent of /obj/item/proc/attack but for alternate attacks, AKA right clicking
attack_selfCalled when the item is in the active hand, and clicked; alternately, there is an 'activate held object' verb or you can hit pagedown.
attack_self_secondaryCalled when the item is in the active hand, and right-clicked. Intended for alternate or opposite functions, such as lowering reagent transfer amount. At the moment, there is no verb or hotkey.
attack_turfThe equivalent of the standard version of /obj/item/proc/attack but for /turf targets.
attackby_storage_insertWhether or not this item can be put into a storage item through attackby
attempt_surgeryAttempt to perform a surgery step.
block_feedbackCalled by try_block_attack on a successful block
cyborg_unequipParent proc - triggers when an item/module is unequipped from a cyborg.
disableEmbeddingFor when you want to disable an item's embedding capabilities (like transforming weapons and such), this proc will detach any active embed elements from it.
droppedCalled when a mob drops an item.
equippedCalled after an item is placed in an equipment slot.
failedEmbedIn case we want to do something special (like self delete) upon failing to embed in something.
get_attack_flagReturns an armor flag to check against for dealing damage.
get_belt_overlayReturns the icon used for overlaying the object on a belt
get_block_chanceReturns a number to feed into prob() to determine if the attack was blocked.
get_hitsoundReturns the sound the item makes when hitting something
get_icon_centerReturns obj/item/var/icon_center as a list.
get_misssoundReturns the sound the item makes when used as a weapon, but missing.
get_part_ratingReturns a numeric value for sorting items used as parts in machines, so they can be replaced by the rped
get_sechud_job_icon_stateReturns the SecHUD job icon state for whatever this object's ID card is, if it has one.
get_temperatureReturns the temperature of src. If you want to know if an item is hot use this proc.
get_worn_offsetsReturns offsets used for equipped item overlays in list(px_offset,py_offset) form.
give_item_actionGives one of our item actions to a mob, when equipped to a certain slot
handle_openspace_clickCalled on [/datum/element/openspace_item_click_handler/proc/on_afterattack]. Check the relative file for information.
help_light_cigFinds a cigarette on another mob to help light.
hit_reactionCalled when the wearer is being hit by an attack while wearing/wielding this item. +Returning TRUE will eat the attack, but this should be done by can_block_attack() instead.
isEmbedHarmlessDoes the current embedding var meet the criteria for being harmless? Namely, does it have a pain multiplier and jostle pain mult of 0? If so, return true.
item_action_slot_checkSometimes we only want to grant the item's action if it's equipped in a specific slot.
leave_evidenceLeave evidence of a user on a target
melee_attack_chainThis is the proc that handles the order of an item_attack.
mob_can_equipthe mob M is attempting to equip this item into the slot passed through as 'slot'. Return 1 if it can do this and 0 if it can't. +if this is being done by a mob other than M, it will include the mob equipper, who is trying to equip the item to mob M. equipper will be null otherwise. +If you are making custom procs but would like to retain partial or complete functionality of this one, include a 'return ..()' to where you want this to happen. +Arguments:
on_action_deletedCalled when an action associated with our item is deleted
on_foundcalled when "found" in pockets and storage items. Returns 1 if the search should end.
on_grindCalled BEFORE the object is ground up - use this to change grind results based on conditions. Use "return -1" to prevent the grinding from occurring
on_offer_takenAn interrupt for someone trying to accept an offered item, called mainly from /mob/living/carbon/proc/take, in case you want to run your own take behavior instead.
on_offeredAn interrupt for offering an item to other people, called mainly from /mob/living/carbon/proc/give, in case you want to run your own offer behavior instead.
on_outfit_equipSpecial stuff you want to do when an outfit equips this item.
on_thrownCalled by the carbon throw_item() proc. Returns null if the item negates the throw, or a reference to the thing to suffer the throw else.
pick_painting_tool_colorCommon proc used by painting tools like spraycans and palettes that can access the entire 24 bits color space.
pickupcalled just as an item is picked up (loc is not yet changed)
play_block_soundPlays the block sound effect
play_tool_soundPlays item's usesound, if any.
pre_attackCalled on the item before it hits something
pre_attack_secondaryCalled on the item before it hits something, when right clicking.
register_item_contextCreate a "Type-A" contextual screentip interaction, registering to add_item_context(). +This will run add_item_context() when the item hovers over another object for context. +add_item_context() will not be called unless this is run. +This is not necessary for Type-A interactions, as you can just apply the flag and register to the signal yourself.
remove_item_actionRemoves an instance of an action from our list of item actions.
suicide_act*Makes cool stuff happen when you suicide with an item
surgery_sanity_checkCan a mob perform surgery with this item. Step is optional.
tool_check_callbackUsed in a callback that is passed by use_tool into do_after call. Do not override, do not call manually.
tool_start_checkCalled before obj/item/proc/use_tool if there is a delay, or by obj/item/proc/use_tool if there isn't. Only ever used by welding tools and stacks, so it's not added on any other obj/item/proc/use_tool checks.
tool_use_checkA check called by /obj/item/proc/tool_start_check once, and by use_tool on every tick of delay.
tryEmbedtryEmbed() is for when you want to try embedding something without dealing with the damage + hit messages of calling hitby() on the item while targetting the target.
try_block_attackA helper for calling can_block_attack() and hit_reaction() together.
ui_action_clickThis proc is executed when someone clicks the on-screen UI button. +The default action is attack_self(). +Checks before we get to here are: mob is alive, mob is not restrained, stunned, asleep, resting, laying, item is on the mob.
updateEmbeddingFor when you want to add/update the embedding on an item. Uses the vars in /obj/item/var/embedding, and defaults to config values for values that aren't set. Will automatically detach previous embed elements on this item.
update_action_buttonsHow many mats have we found? You can only be affected by two material datums by default +How much of each material is in it? Used to determine if the glass should break +The glass shard that is spawned into the source item +victim's chest (for cavity implanting the item) +Updates all action buttons associated with this item
update_greyscaleChecks if this atom uses the GAGS system and if so updates the worn and inhand icons
useGeneric use proc. Depending on the item, it uses up fuel, charges, sheets, etc. Returns TRUE on success, FALSE on failure.
use_toolCalled when a mob tries to use the item as a tool. Handles most checks.
visual_equippedTo be overwritten to only perform visual tasks; +this is directly called instead of equipped on visual-only features like human dummies equipping outfits.
wear_fallback_versionOverride with a fallback sprite for this item.
wieldAttempt to wield this item with two hands. Can fail.
+

Var Details

actions + + + + +

+

list of /datum/action's that this item has.

actions_types + + + + +

+

list of paths of action datums to give to the item on New().

age_restricted + + + + +

+

Whether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item

allowed + + + + +

+

What objects the suit storage can store

alternate_worn_layer + + + + +

+

Forced mob worn layer instead of the standard preferred size.

armor_penetration + + + + +

+

percentage of armour effectiveness to remove

attack_verb_continuous + + + + +

+

Used in atom/proc/attackby to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]"

belt_icon_state + + + + +

+

Icon state for the belt overlay, if null the normal icon_state will be used.

block_chance + + + + +

+

The baseline chance to block ANY attack, projectiles included

block_effect + + + + +

+

The type of effect to create on a successful block

block_sound + + + + +

+

Sound used when successfully blocking an attack. Can be a list!

body_parts_covered + + + + +

+

What body parts are covered by the clothing when you wear it

breakouttime + + + + +

+

How long it takes to resist out of the item (cuffs and such)

cold_protection + + + + +

+

flags which determine which body parts are protected from cold. [See here][HEAD]

custom_premium_price + + + + +

+

Price of an item in a vending machine, overriding the premium vending machine price. Define in terms of paycheck defines as opposed to raw numbers.

custom_price + + + + +

+

Price of an item in a vending machine, overriding the base vending machine price. Define in terms of paycheck defines as opposed to raw numbers.

dog_fashion + + + + +

+

Reference to the datum that determines whether dogs can wear the item: Needs to be in /obj/item because corgis can wear a lot of non-clothing items

drop_sound + + + + +

+

Sound used when dropping the item, or when its thrown.

dye_color + + + + +

+

Used as the dye color source in the washing machine only (at the moment). Can be a hex color or a key corresponding to a registry entry, see washing_machine.dm

dying_key + + + + +

+

What dye registry should be looked at when dying this item; see washing_machine.dm

embedding + + + + +

+

Does it embed and if yes, what kind of embed

equip_delay_other + + + + +

+

In deciseconds, how long an item takes to put on another person

equip_delay_self + + + + +

+

In deciseconds, how long an item takes to equip; counts only for normal clothing slots, not pockets etc.

equip_sound + + + + +

+

Sound used when equipping the item into a valid slot

flags_cover + + + + +

+

for flags such as [GLASSESCOVERSEYES]

flags_inv + + + + +

+

This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc.

force_string + + + + +

+

string form of an item's force. Edit this var only to set a custom force string

force_unwielded + + + + +

+

A var to hold the old, unwielded force value.

force_wielded + + + + +

+

The force of the item when wielded. If null, will be force * 1.5.

greyscale_config_belt + + + + +

+

The config type to use for greyscaled belt overlays. Both this and greyscale_colors must be assigned to work.

greyscale_config_inhand_left + + + + +

+

The config type to use for greyscaled left inhand sprites. Both this and greyscale_colors must be assigned to work.

greyscale_config_inhand_right + + + + +

+

The config type to use for greyscaled right inhand sprites. Both this and greyscale_colors must be assigned to work.

greyscale_config_worn + + + + +

+

The config type to use for greyscaled worn sprites. Both this and greyscale_colors must be assigned to work.

grind_results + + + + +

+

Grinder var:A reagent list containing the reagents this item produces when ground up in a grinder - this can be an empty list to allow for reagent transferring only

heat_protection + + + + +

+

flags which determine which body parts are protected from heat. [See here][HEAD]

hitsound + + + + +

+

Sound played when you hit something with the item

icon_center + + + + +

+

A url-encoded string that is the center pixel of an icon (or close enough). Use get_icon_center().

icon_state_wielded + + + + +

+

The icon_state to use when wielded, if any.

inhand_icon_state + + + + +

+

icon state for inhand overlays, if null the normal icon_state will be used.

inhand_x_dimension + + + + +

+

Same as for worn_x_dimension but for inhands, uses the lefthand_ and righthand_ file vars

inhand_y_dimension + + + + +

+

Same as for worn_y_dimension but for inhands, uses the lefthand_ and righthand_ file vars

interaction_flags_item + + + + +

+

flags for what should be done when you click on the item, default is picking it up

item_flags + + + + +

+

Item flags for the item

lefthand_file + + + + +

+

Icon file for left hand inhand overlays

master + + + + +

+

This var exists as a weird proxy "owner" ref +It's used in a few places. Stop using it, and optimially replace all uses please

max_heat_protection_temperature + + + + +

+

Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags

min_cold_protection_temperature + + + + +

+

Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags

miss_sound + + + + +

+

Sound used when used as a weapon, but the attacked missed. Can be a list!

mob_throw_hit_sound + + + + +

+

Used when yate into a mob

mouse_drag_pointer + + + + +

+

the icon to indicate this object is being dragged

mouse_drop_pointer + + + + +

+

This item can be dropped into other things

offensive_notes + + + + +

+

Used in obj/item/examine to give additional notes on what the weapon does, separate from the predetermined output variables

override_notes + + + + +

+

Used in obj/item/examine to determines whether or not to detail an item's statistics even if it does not meet the force requirements

permeability_coefficient + + + + +

+

How likely a disease or chemical is to get through a piece of clothing

pickup_sound + + + + +

+

Sound used when picking the item up (into your hands)

reach + + + + +

+

In tiles, how far this weapon can reach; 1 for adjacent, which is default

restricted_bodytypes + + + + +

+

A blacklist of bodytypes that aren't allowed to equip this item

righthand_file + + + + +

+

Icon file for right inhand overlays

sharpness + + + + +

+

All items with sharpness of SHARP_EDGED or higher will automatically get the butchering component.

siemens_coefficient + + + + +

+

for electrical admittance/conductance (electrocution checks and shit)

slot_equipment_priority + + + + +

+

The list of slots by priority. equip_to_appropriate_slot() uses this list. Doesn't matter if a mob type doesn't have a slot. For default list, see /mob/proc/equip_to_appropriate_slot

slot_flags + + + + +

+

This is used to determine on which slots an item can fit.

slowdown + + + + +

+

How much clothing is slowing you down. Negative values speeds you up

species_exception + + + + +

+

list() of species types, if a species cannot put items in a certain slot, but species type is in list, it will be able to wear that item

stealthy_audio + + + + +

+

Whether or not we use stealthy audio levels for this item's attack sounds

strip_delay + + + + +

+

In deciseconds, how long an item takes to remove from another person

supports_variations_flags + + + + +

+

This is a bitfield that defines what variations exist for bodyparts like Digi legs. See: code_DEFINES\inventory.dm

thrownby + + + + +

+

A weakref to the mob who threw the item

tk_throw_range + + + + +

+

Items can by default thrown up to 10 tiles by TK users

tool_behaviour + + + + +

+

How a tool acts when you use it on something, such as wirecutfters cutting wires while multitools measure power

toolspeed + + + + +

+

How fast does the tool work

transparent_protection + + + + +

+

you can see someone's mask through their transparent visor, but you can't reach it

trigger_guard + + + + +

+

Determines who can shoot this

undyeable + + + + +

+

Whether the item is unaffected by standard dying.

unwield_sound + + + + +

+

The wound to play on unwield.

usesound + + + + +

+

Played when the item is used, for example tools

w_class + + + + +

+

How large is the object, used for stuff like whether it can fit in backpacks or not

weak_against_armor + + + + +

+

A multiplier applied to the target's armor. "2" means that their armor is twice as effective against this item.

wield_sound + + + + +

+

The sound to play on wield.

wielded + + + + +

+

Is the item being held in two hands?

worn_icon + + + + +

+

Icon file for mob worn overlays.

worn_icon_state + + + + +

+

Icon state for mob worn overlays, if null the normal icon_state will be used.

worn_x_dimension + + + + +

+

Dimensions of the icon file used when this item is worn, eg: hats.dmi (32x32 sprite, 64x64 sprite, etc.). Allows inhands/worn sprites to be of any size, but still centered on a mob properly

worn_y_dimension + + + + +

+

Dimensions of the icon file used when this item is worn, eg: hats.dmi (32x32 sprite, 64x64 sprite, etc.). Allows inhands/worn sprites to be of any size, but still centered on a mob properly

worn_y_offset + + + + +

+

Worn overlay will be shifted by this along y axis

Proc Details

GetID +

+

Get an /obj/item/card/id from this object. bypass_wallet will grab the ID from a wallet even if it's closed

IsReflect +

+

This proc determines if and at what an object will reflect energy projectiles if it's in l_hand,r_hand or wear_suit

add_item_action +

+

Adds an item action to our list of item actions. +Item actions are actions linked to our item, that are granted to mobs who equip us. +This also ensures that the actions are properly tracked in the actions list and removed if they're deleted. +Can be be passed a typepath of an action or an instance of an action.

add_item_context +

+

Creates a "Type-A" contextual screentip interaction. +When a user hovers over something with this item in hand, this proc will be called in order +to provide context for contextual screentips. +You must call register_item_context() in order for this to be registered. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +source can, in all cases, be replaced with src, and only exists because this proc directly connects to a signal.

add_stealing_item_objective +

+

Called if this item is supposed to be a steal objective item objective. Only done at mapload

afterattack +

+

Last proc in the /obj/item/proc/melee_attack_chain

+

Arguments:

+

afterattack_secondary +

+

Called at the end of the attack chain if the user right-clicked.

+

Arguments:

+

attack +

+

Called from [/mob/living/proc/attackby]

+

Arguments:

+

attack_obj +

+

The equivalent of the standard version of /obj/item/proc/attack but for /obj targets.

attack_qdeleted +

+

Called if the target gets deleted by our attack

attack_secondary +

+

If we missed or the attack failed, interrupt attack chain. +The equivalent of /obj/item/proc/attack but for alternate attacks, AKA right clicking

attack_self +

+

Called when the item is in the active hand, and clicked; alternately, there is an 'activate held object' verb or you can hit pagedown.

attack_self_secondary +

+

Called when the item is in the active hand, and right-clicked. Intended for alternate or opposite functions, such as lowering reagent transfer amount. At the moment, there is no verb or hotkey.

attack_turf +

+

The equivalent of the standard version of /obj/item/proc/attack but for /turf targets.

attackby_storage_insert +

+

Whether or not this item can be put into a storage item through attackby

attempt_surgery +

+

Attempt to perform a surgery step.

block_feedback +

+

Called by try_block_attack on a successful block

cyborg_unequip +

+

Parent proc - triggers when an item/module is unequipped from a cyborg.

disableEmbedding +

+

For when you want to disable an item's embedding capabilities (like transforming weapons and such), this proc will detach any active embed elements from it.

dropped +

+

Called when a mob drops an item.

equipped +

+

Called after an item is placed in an equipment slot.

+

Note that hands count as slots.

+

Arguments:

+

failedEmbed +

+

In case we want to do something special (like self delete) upon failing to embed in something.

get_attack_flag +

+

Returns an armor flag to check against for dealing damage.

get_belt_overlay +

+

Returns the icon used for overlaying the object on a belt

get_block_chance +

+

Returns a number to feed into prob() to determine if the attack was blocked.

get_hitsound +

+

Returns the sound the item makes when hitting something

get_icon_center +

+

Returns obj/item/var/icon_center as a list.

get_misssound +

+

Returns the sound the item makes when used as a weapon, but missing.

get_part_rating +

+

Returns a numeric value for sorting items used as parts in machines, so they can be replaced by the rped

get_sechud_job_icon_state +

+

Returns the SecHUD job icon state for whatever this object's ID card is, if it has one.

get_temperature +

+

Returns the temperature of src. If you want to know if an item is hot use this proc.

get_worn_offsets +

+

Returns offsets used for equipped item overlays in list(px_offset,py_offset) form.

give_item_action +

+

Gives one of our item actions to a mob, when equipped to a certain slot

handle_openspace_click +

+

Called on [/datum/element/openspace_item_click_handler/proc/on_afterattack]. Check the relative file for information.

help_light_cig +

+

Finds a cigarette on another mob to help light.

hit_reaction +

+

Called when the wearer is being hit by an attack while wearing/wielding this item. +Returning TRUE will eat the attack, but this should be done by can_block_attack() instead.

isEmbedHarmless +

+

Does the current embedding var meet the criteria for being harmless? Namely, does it have a pain multiplier and jostle pain mult of 0? If so, return true.

item_action_slot_check +

+

Sometimes we only want to grant the item's action if it's equipped in a specific slot.

leave_evidence +

+

Leave evidence of a user on a target

melee_attack_chain +

+

This is the proc that handles the order of an item_attack.

+

The order of procs called is:

+

mob_can_equip +

+

the mob M is attempting to equip this item into the slot passed through as 'slot'. Return 1 if it can do this and 0 if it can't. +if this is being done by a mob other than M, it will include the mob equipper, who is trying to equip the item to mob M. equipper will be null otherwise. +If you are making custom procs but would like to retain partial or complete functionality of this one, include a 'return ..()' to where you want this to happen. +Arguments:

+

on_action_deleted +

+

Called when an action associated with our item is deleted

on_found +

+

called when "found" in pockets and storage items. Returns 1 if the search should end.

on_grind +

+

Called BEFORE the object is ground up - use this to change grind results based on conditions. Use "return -1" to prevent the grinding from occurring

on_offer_taken +

+

An interrupt for someone trying to accept an offered item, called mainly from /mob/living/carbon/proc/take, in case you want to run your own take behavior instead.

+

Return TRUE if you want to interrupt the taking.

+

Arguments: +offerer - the person offering the item +taker - the person trying to accept the offer

on_offered +

+

An interrupt for offering an item to other people, called mainly from /mob/living/carbon/proc/give, in case you want to run your own offer behavior instead.

+

Return TRUE if you want to interrupt the offer.

+

Arguments: +offerer - the person offering the item

on_outfit_equip +

+

Special stuff you want to do when an outfit equips this item.

on_thrown +

+

Called by the carbon throw_item() proc. Returns null if the item negates the throw, or a reference to the thing to suffer the throw else.

pick_painting_tool_color +

+

Common proc used by painting tools like spraycans and palettes that can access the entire 24 bits color space.

pickup +

+

called just as an item is picked up (loc is not yet changed)

play_block_sound +

+

Plays the block sound effect

play_tool_sound +

+

Plays item's usesound, if any.

pre_attack +

+

Called on the item before it hits something

+

Arguments:

+ +

See: /obj/item/proc/melee_attack_chain

pre_attack_secondary +

+

Called on the item before it hits something, when right clicking.

+

Arguments:

+ +

See: /obj/item/proc/melee_attack_chain

register_item_context +

+

Create a "Type-A" contextual screentip interaction, registering to add_item_context(). +This will run add_item_context() when the item hovers over another object for context. +add_item_context() will not be called unless this is run. +This is not necessary for Type-A interactions, as you can just apply the flag and register to the signal yourself.

remove_item_action +

+

Removes an instance of an action from our list of item actions.

suicide_act +

+

*Makes cool stuff happen when you suicide with an item

+

*Outputs a creative message and then return the damagetype done

+

surgery_sanity_check +

+

Can a mob perform surgery with this item. Step is optional.

tool_check_callback +

+

Used in a callback that is passed by use_tool into do_after call. Do not override, do not call manually.

tool_start_check +

+

Called before obj/item/proc/use_tool if there is a delay, or by obj/item/proc/use_tool if there isn't. Only ever used by welding tools and stacks, so it's not added on any other obj/item/proc/use_tool checks.

tool_use_check +

+

A check called by /obj/item/proc/tool_start_check once, and by use_tool on every tick of delay.

tryEmbed +

+

tryEmbed() is for when you want to try embedding something without dealing with the damage + hit messages of calling hitby() on the item while targetting the target.

+

Really, this is used mostly with projectiles with shrapnel payloads, from /datum/element/embed/proc/checkEmbedProjectile, and called on said shrapnel. Mostly acts as an intermediate between different embed elements.

+

Returns TRUE if it embedded successfully, nothing otherwise

+

Arguments:

+

try_block_attack +

+

A helper for calling can_block_attack() and hit_reaction() together.

ui_action_click +

+

This proc is executed when someone clicks the on-screen UI button. +The default action is attack_self(). +Checks before we get to here are: mob is alive, mob is not restrained, stunned, asleep, resting, laying, item is on the mob.

updateEmbedding +

+

For when you want to add/update the embedding on an item. Uses the vars in /obj/item/var/embedding, and defaults to config values for values that aren't set. Will automatically detach previous embed elements on this item.

update_action_buttons +

+

How many mats have we found? You can only be affected by two material datums by default +How much of each material is in it? Used to determine if the glass should break +The glass shard that is spawned into the source item +victim's chest (for cavity implanting the item) +Updates all action buttons associated with this item

+

Arguments:

+

update_greyscale +

+

Checks if this atom uses the GAGS system and if so updates the worn and inhand icons

use +

+

Generic use proc. Depending on the item, it uses up fuel, charges, sheets, etc. Returns TRUE on success, FALSE on failure.

use_tool +

+

Called when a mob tries to use the item as a tool. Handles most checks.

visual_equipped +

+

To be overwritten to only perform visual tasks; +this is directly called instead of equipped on visual-only features like human dummies equipping outfits.

+

This separation exists to prevent things like the monkey sentience helmet from +polling ghosts while it's just being equipped as a visual preview for a dummy.

wear_fallback_version +

+

Override with a fallback sprite for this item.

+

Arguments:

+

wield +

+

Attempt to wield this item with two hands. Can fail.

+ + + diff --git a/obj/item/airlock_painter.html b/obj/item/airlock_painter.html new file mode 100644 index 000000000000..641f1cbe9b8e --- /dev/null +++ b/obj/item/airlock_painter.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/airlock_painter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

airlock_painter + + + +

+ + + + +

Vars

available_paint_jobsAssociate list of all paint jobs the airlock painter can apply. The key is the name of the airlock the user will see. The value is the type path of the airlock
initial_ink_typeThe type path to instantiate for the ink cartridge the device initially comes with, eg. /obj/item/toner
inkThe ink cartridge to pull charges from.
+

Var Details

available_paint_jobs + + + + +

+

Associate list of all paint jobs the airlock painter can apply. The key is the name of the airlock the user will see. The value is the type path of the airlock

initial_ink_type + + + + +

+

The type path to instantiate for the ink cartridge the device initially comes with, eg. /obj/item/toner

ink + + + + +

+

The ink cartridge to pull charges from.

+ + + diff --git a/obj/item/airlock_painter/decal.html b/obj/item/airlock_painter/decal.html new file mode 100644 index 000000000000..c3f5ac5b67b8 --- /dev/null +++ b/obj/item/airlock_painter/decal.html @@ -0,0 +1,125 @@ + + + + + + + /obj/item/airlock_painter/decal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

decal + + + +

+ + + + + + + + + + + + + +

Vars

color_listList of color options as list(user-friendly label, color value to return)
decal_listList of decal options as list(user-friendly label, icon state base value to return)
dir_listList of direction options as list(user-friendly label, dir value to return)
spritesheet_typeThe type path of the spritesheet being used for the frontend.
stored_colorThe current color of the decal being printed.
stored_custom_colorCurrent custom color
stored_decalThe current base icon state of the decal being printed.
stored_decal_totalThe full icon state of the decal being printed.
stored_dirThe current direction of the decal being printed
supports_custom_colorDoes this printer implementation support custom colors?

Procs

get_decal_pathReturn the final icon_state for the given decal options
paint_floorActually add current decal to the floor.
+

Var Details

color_list + + + + +

+

List of color options as list(user-friendly label, color value to return)

decal_list + + + + +

+

List of decal options as list(user-friendly label, icon state base value to return)

dir_list + + + + +

+

List of direction options as list(user-friendly label, dir value to return)

spritesheet_type + + + + +

+

The type path of the spritesheet being used for the frontend.

stored_color + + + + +

+

The current color of the decal being printed.

stored_custom_color + + + + +

+

Current custom color

stored_decal + + + + +

+

The current base icon state of the decal being printed.

stored_decal_total + + + + +

+

The full icon state of the decal being printed.

stored_dir + + + + +

+

The current direction of the decal being printed

supports_custom_color + + + + +

+

Does this printer implementation support custom colors?

Proc Details

get_decal_path +

+

Return the final icon_state for the given decal options

+

Arguments:

+

paint_floor +

+

Actually add current decal to the floor.

+

Responsible for actually adding the element to the turf for maximum flexibility.area +Can be overriden for different decal behaviors. +Arguments:

+
+ + + diff --git a/obj/item/airlock_painter/decal/tile.html b/obj/item/airlock_painter/decal/tile.html new file mode 100644 index 000000000000..e1c3121696b3 --- /dev/null +++ b/obj/item/airlock_painter/decal/tile.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/airlock_painter/decal/tile - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tile + + + +

+ + +

Vars

stored_alphaThe alpha value to paint the tiles at. The decal mapping helper creates tile overlays at alpha 110.
+

Var Details

stored_alpha + + + + +

+

The alpha value to paint the tiles at. The decal mapping helper creates tile overlays at alpha 110.

+ + + diff --git a/obj/item/ammo_box.html b/obj/item/ammo_box.html new file mode 100644 index 000000000000..83f3471422bd --- /dev/null +++ b/obj/item/ammo_box.html @@ -0,0 +1,167 @@ + + + + + + + /obj/item/ammo_box - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ammo_box + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

ammo_typetype that the magazine will be searching for, rejects if not a subtype of
base_costcost of the materials in the magazine/box itself
bullet_costcost of all the bullets in the magazine/box
caliberString, used for checking if ammo of different types but still fits can fit inside it; generally used for magazines
load_delayDelay for loading bullets in.
max_ammomaximum amount of ammo in the magazine
multiple_sprite_use_baseFor sprite updating, do we use initial(icon_state) or base_icon_state?
multiple_spritesControls how sprites are updated for the ammo box; see defines in combat.dm: AMMO_BOX_ONE_SPRITE; AMMO_BOX_PER_BULLET; AMMO_BOX_FULL_EMPTY
start_emptyWhether the magazine should start with nothing in it
stored_ammolist containing the actual ammo within the magazine

Procs

ammo_countCount of number of bullets in the magazine
attempt_load_roundAttempts to load a given item into this ammo box
can_loadWhether or not the box can be loaded, used in overrides
get_ammo_descReturns a string that describes the amount of ammo in the magazine.
get_roundgets a round from the magazine, if keep is TRUE the round will stay in the gun
give_roundputs a round into the magazine
top_offtop_off is used to refill the magazine to max, in case you want to increase the size of a magazine with VV then refill it at once
update_ammo_countUpdates the materials and appearance of this ammo box
update_custom_materialsUpdates the amount of material in this ammo box according to how many bullets are left in it.
+

Var Details

ammo_type + + + + +

+

type that the magazine will be searching for, rejects if not a subtype of

base_cost + + + + +

+

cost of the materials in the magazine/box itself

bullet_cost + + + + +

+

cost of all the bullets in the magazine/box

caliber + + + + +

+

String, used for checking if ammo of different types but still fits can fit inside it; generally used for magazines

load_delay + + + + +

+

Delay for loading bullets in.

max_ammo + + + + +

+

maximum amount of ammo in the magazine

multiple_sprite_use_base + + + + +

+

For sprite updating, do we use initial(icon_state) or base_icon_state?

multiple_sprites + + + + +

+

Controls how sprites are updated for the ammo box; see defines in combat.dm: AMMO_BOX_ONE_SPRITE; AMMO_BOX_PER_BULLET; AMMO_BOX_FULL_EMPTY

start_empty + + + + +

+

Whether the magazine should start with nothing in it

stored_ammo + + + + +

+

list containing the actual ammo within the magazine

Proc Details

ammo_count +

+

Count of number of bullets in the magazine

attempt_load_round +

+

Attempts to load a given item into this ammo box

can_load +

+

Whether or not the box can be loaded, used in overrides

get_ammo_desc +

+

Returns a string that describes the amount of ammo in the magazine.

get_round +

+

gets a round from the magazine, if keep is TRUE the round will stay in the gun

give_round +

+

puts a round into the magazine

top_off +

+

top_off is used to refill the magazine to max, in case you want to increase the size of a magazine with VV then refill it at once

+

Arguments:

+

update_ammo_count +

+

Updates the materials and appearance of this ammo box

update_custom_materials +

+

Updates the amount of material in this ammo box according to how many bullets are left in it.

+ + + diff --git a/obj/item/ammo_box/magazine.html b/obj/item/ammo_box/magazine.html new file mode 100644 index 000000000000..f3c6ec4ec61f --- /dev/null +++ b/obj/item/ammo_box/magazine.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/ammo_box/magazine - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

magazine + + + +

+ + + +

Procs

ammo_listlist of every bullet in the magazine
empty_magazinedrops the entire contents of the magazine on the floor

Proc Details

ammo_list +

+

list of every bullet in the magazine

empty_magazine +

+

drops the entire contents of the magazine on the floor

+ + + diff --git a/obj/item/ammo_casing.html b/obj/item/ammo_casing.html new file mode 100644 index 000000000000..ec5f4d47383e --- /dev/null +++ b/obj/item/ammo_casing.html @@ -0,0 +1,120 @@ + + + + + + + /obj/item/ammo_casing - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ammo_casing + + + +

+ + + + + + + + + + + + + + +

Vars

caliberWhich kind of guns it can be loaded into
click_cooldown_overrideOverride this to make your gun have a faster fire rate, in tenths of a second. 4 is the default gun cooldown.
delayDelay for energy weapons
fire_soundWhat sound should play when this ammo is fired
firing_effect_typethe visual effect appearing when the ammo is fired.
harmfulpacifism check for boolet, set to FALSE if bullet is non-lethal
leaves_residueForensics!
loaded_projectilethe loaded projectile in this ammo casing
pelletsPellets for spreadshot
projectile_typeThe bullet type to create when New() is called
randomspreadRandomspread for automatics
varianceVariance for inaccuracy fundamental to the casing

Procs

leave_residueLeave forensic evidence on everything
+

Var Details

caliber + + + + +

+

Which kind of guns it can be loaded into

click_cooldown_override + + + + +

+

Override this to make your gun have a faster fire rate, in tenths of a second. 4 is the default gun cooldown.

delay + + + + +

+

Delay for energy weapons

fire_sound + + + + +

+

What sound should play when this ammo is fired

firing_effect_type + + + + +

+

the visual effect appearing when the ammo is fired.

harmful + + + + +

+

pacifism check for boolet, set to FALSE if bullet is non-lethal

leaves_residue + + + + +

+

Forensics!

loaded_projectile + + + + +

+

the loaded projectile in this ammo casing

pellets + + + + +

+

Pellets for spreadshot

projectile_type + + + + +

+

The bullet type to create when New() is called

randomspread + + + + +

+

Randomspread for automatics

variance + + + + +

+

Variance for inaccuracy fundamental to the casing

Proc Details

leave_residue +

+

Leave forensic evidence on everything

+ + + diff --git a/obj/item/ammo_casing/a762/lionhunter.html b/obj/item/ammo_casing/a762/lionhunter.html new file mode 100644 index 000000000000..6e78ff01952c --- /dev/null +++ b/obj/item/ammo_casing/a762/lionhunter.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/ammo_casing/a762/lionhunter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

lionhunter + + + +

+ + + + + + +

Vars

currently_aimingWhether we're currently aiming this casing at something
min_distanceThe minimum distance required to gain a damage bonus from aiming
seconds_per_distanceHow many seconds it takes to aim per tile of distance between the target

Procs

check_fireChecks if we can successfully fire our projectile.
check_fire_callbackCallback for the do_after within the check_fire proc to see if something will prevent us from firing while aiming
+

Var Details

currently_aiming + + + + +

+

Whether we're currently aiming this casing at something

min_distance + + + + +

+

The minimum distance required to gain a damage bonus from aiming

seconds_per_distance + + + + +

+

How many seconds it takes to aim per tile of distance between the target

Proc Details

check_fire +

+

Checks if we can successfully fire our projectile.

check_fire_callback +

+

Callback for the do_after within the check_fire proc to see if something will prevent us from firing while aiming

+ + + diff --git a/obj/item/analyzer.html b/obj/item/analyzer.html new file mode 100644 index 000000000000..89da66fcc865 --- /dev/null +++ b/obj/item/analyzer.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/analyzer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

analyzer + + + +

+ + +

Procs

butchertimeApplies the barometer inaccuracy to the gas reading.

Proc Details

butchertime +

+

Applies the barometer inaccuracy to the gas reading.

+ + + diff --git a/obj/item/anomaly_neutralizer.html b/obj/item/anomaly_neutralizer.html new file mode 100644 index 000000000000..2d7bed63bd96 --- /dev/null +++ b/obj/item/anomaly_neutralizer.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/anomaly_neutralizer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

anomaly_neutralizer + + + +

+ + + +

Procs

on_anomaly_neutralizedCallback for the effect remover component to handle neutralizing anomalies.
on_useUse up the anomaly neutralizer. Cause some sparks and delete it.

Proc Details

on_anomaly_neutralized +

+

Callback for the effect remover component to handle neutralizing anomalies.

on_use +

+

Use up the anomaly neutralizer. Cause some sparks and delete it.

+ + + diff --git a/obj/item/antag_spawner/nuke_ops.html b/obj/item/antag_spawner/nuke_ops.html new file mode 100644 index 000000000000..2f5633644094 --- /dev/null +++ b/obj/item/antag_spawner/nuke_ops.html @@ -0,0 +1,60 @@ + + + + + + + /obj/item/antag_spawner/nuke_ops - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

nuke_ops + + + +

+ +

BORGS AND OPERATIVES +Device to request reinforcments from ghost pop

+ + + +

Vars

antag_datumThe applied outfit
outfitThe name of the special role given to the recruit
pod_styleThe antag datam applied +Style used by the droppod

Procs

setup_podCreates the drop pod the nukie will be dropped by
+

Var Details

antag_datum + + + + +

+

The applied outfit

outfit + + + + +

+

The name of the special role given to the recruit

pod_style + + + + +

+

The antag datam applied +Style used by the droppod

Proc Details

setup_pod +

+

Creates the drop pod the nukie will be dropped by

+ + + diff --git a/obj/item/assembly.html b/obj/item/assembly.html new file mode 100644 index 000000000000..b3bb94389c00 --- /dev/null +++ b/obj/item/assembly.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/assembly - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

assembly + + + +

+ + + + + +

Vars

is_position_sensitiveSet to true if the device has different icons for each position. +This will prevent things such as visible lasers from facing the incorrect direction when transformed by assembly_holder's update_appearance()

Procs

activateWhat the device does when turned on
pulseCalled when this device attempts to act on another device, var/radio determines if it was sent via radio or direct
pulsedCalled when another assembly acts on this one, var/radio will determine where it came from for wire calcs
+

Var Details

is_position_sensitive + + + + +

+

Set to true if the device has different icons for each position. +This will prevent things such as visible lasers from facing the incorrect direction when transformed by assembly_holder's update_appearance()

Proc Details

activate +

+

What the device does when turned on

pulse +

+

Called when this device attempts to act on another device, var/radio determines if it was sent via radio or direct

pulsed +

+

Called when another assembly acts on this one, var/radio will determine where it came from for wire calcs

+ + + diff --git a/obj/item/assembly/control/elevator.html b/obj/item/assembly/control/elevator.html new file mode 100644 index 000000000000..66bc0a71653f --- /dev/null +++ b/obj/item/assembly/control/elevator.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/assembly/control/elevator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

elevator + + + +

+ + +

Procs

check_zThe z level to which the elevator should travel +The amount of z levels between the our and targetZ +Direction (up/down) needed to go to reach targetZ +How long it will/should take us to reach the target Z level +check if any of the lift platforms are already here

Proc Details

check_z +

+

The z level to which the elevator should travel +The amount of z levels between the our and targetZ +Direction (up/down) needed to go to reach targetZ +How long it will/should take us to reach the target Z level +check if any of the lift platforms are already here

+ + + diff --git a/obj/item/assembly/control/tram.html b/obj/item/assembly/control/tram.html new file mode 100644 index 000000000000..322413cea76a --- /dev/null +++ b/obj/item/assembly/control/tram.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/assembly/control/tram - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tram + + + +

+ + + + +

Vars

initial_idfor finding the landmark initially - should be the exact same as the landmark's destination id.
specific_lift_idID to link to allow us to link to one specific tram in the world
to_wherethis is our destination's landmark, so we only have to find it the first time.
+

Var Details

initial_id + + + + +

+

for finding the landmark initially - should be the exact same as the landmark's destination id.

specific_lift_id + + + + +

+

ID to link to allow us to link to one specific tram in the world

to_where + + + + +

+

this is our destination's landmark, so we only have to find it the first time.

+ + + diff --git a/obj/item/assembly/flash.html b/obj/item/assembly/flash.html new file mode 100644 index 000000000000..3bce27f66056 --- /dev/null +++ b/obj/item/assembly/flash.html @@ -0,0 +1,84 @@ + + + + + + + /obj/item/assembly/flash - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

flash + + + +

+ + + + + + +

Vars

flashingWhether we currently have the flashing overlay.
flashing_overlayThe overlay we use for flashing.

Procs

calculate_deviationHandles the directionality of the attack
flash_carbonHandles actual flashing part of the attack
terrible_conversion_procConverts the victim to revs
+

Var Details

flashing + + + + +

+

Whether we currently have the flashing overlay.

flashing_overlay + + + + +

+

The overlay we use for flashing.

Proc Details

calculate_deviation +

+

Handles the directionality of the attack

+

Returns the amount of 'deviation', 0 being facing eachother, 1 being sideways, 2 being facing away from eachother. +Arguments:

+

flash_carbon +

+

Handles actual flashing part of the attack

+

This proc is awful in every sense of the way, someone should definately refactor this whole code. +Arguments:

+

terrible_conversion_proc +

+

Converts the victim to revs

+

Arguments:

+
+ + + diff --git a/obj/item/assembly/mousetrap.html b/obj/item/assembly/mousetrap.html new file mode 100644 index 000000000000..b12449ce3da4 --- /dev/null +++ b/obj/item/assembly/mousetrap.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/assembly/mousetrap - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mousetrap + + + +

+ + +

Vars

holder_connectionsif we are attached to an assembly holder, we attach a connect_loc element to ourselves that listens to this from the holder
+

Var Details

holder_connections + + + + +

+

if we are attached to an assembly holder, we attach a connect_loc element to ourselves that listens to this from the holder

+ + + diff --git a/obj/item/assembly/prox_sensor.html b/obj/item/assembly/prox_sensor.html new file mode 100644 index 000000000000..0aa5ae75b9dc --- /dev/null +++ b/obj/item/assembly/prox_sensor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/assembly/prox_sensor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

prox_sensor + + + +

+ + +

Vars

proximity_monitorProximity monitor associated with this atom, needed for it to work.
+

Var Details

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, needed for it to work.

+ + + diff --git a/obj/item/assembly/signaler.html b/obj/item/assembly/signaler.html new file mode 100644 index 000000000000..3e43339bbfe9 --- /dev/null +++ b/obj/item/assembly/signaler.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/assembly/signaler - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

signaler + + + +

+ + + + +

Vars

last_receive_signal_logString containing the last piece of logging data relating to when this signaller has received a signal.
suicide_mobHolds a reference string to the mob, decides how much of a gamer you are.
suiciderHolds the mind that commited suicide.
+

Var Details

last_receive_signal_log + + + + +

+

String containing the last piece of logging data relating to when this signaller has received a signal.

suicide_mob + + + + +

+

Holds a reference string to the mob, decides how much of a gamer you are.

suicider + + + + +

+

Holds the mind that commited suicide.

+ + + diff --git a/obj/item/assembly/trapdoor.html b/obj/item/assembly/trapdoor.html new file mode 100644 index 000000000000..86b99a1fdd6a --- /dev/null +++ b/obj/item/assembly/trapdoor.html @@ -0,0 +1,70 @@ + + + + + + + /obj/item/assembly/trapdoor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

trapdoor + + + +

+ + + + + + +

Vars

linkedif true, a trapdoor in the world has a reference to this assembly and is listening for when it is pulsed.
search_cooldownif the trapdoor isn't linked it will try to link on pulse, this shouldn't be spammable
search_cooldown_timetrapdoor link cooldown time here!
stored_decalslist of lists that are arguments for readding decals when the linked trapdoor comes back. pain.

Procs

carry_over_trapdoor
+

Var Details

linked + + + + +

+

if true, a trapdoor in the world has a reference to this assembly and is listening for when it is pulsed.

search_cooldown + + + + +

+

if the trapdoor isn't linked it will try to link on pulse, this shouldn't be spammable

search_cooldown_time + + + + +

+

trapdoor link cooldown time here!

stored_decals + + + + +

+

list of lists that are arguments for readding decals when the linked trapdoor comes back. pain.

+

we are storing this data FOR the trapdoor component we are linked to. kinda like a multitool. +format: list(list(element's description, element's cleanable, element's directional, element's pic)) +the list will be filled with all the data of the deleting elements (when ChangeTurf is called) only when the trapdoor begins to open. +so any other case the elements will be changed but not recorded.

Proc Details

carry_over_trapdoor +

+ carry_over_trapdoor +

applies the trapdoor to the new turf (created by the last trapdoor) +apparently callbacks with arguments on invoke and the callback itself have the callback args go first. interesting!

+ + + diff --git a/obj/item/assembly_holder.html b/obj/item/assembly_holder.html new file mode 100644 index 000000000000..dddaa1c0190e --- /dev/null +++ b/obj/item/assembly_holder.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/assembly_holder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

assembly_holder + + + +

+ + + + +

Vars

assembliesused to store the list of assemblies making up our assembly holder

Procs

add_assemblyAdds an assembly to the assembly holder
process_activationthis proc is used to process the activation of the assembly holder
+

Var Details

assemblies + + + + +

+

used to store the list of assemblies making up our assembly holder

Proc Details

add_assembly +

+

Adds an assembly to the assembly holder

+

This proc is used to add an assembly to the assembly holder, update the appearance, and the name of it. +Arguments:

+

process_activation +

+

this proc is used to process the activation of the assembly holder

+

This proc is usually called by signalers, timers, or anything that can trigger and +send a pulse to the assembly holder, which then calls this proc that actually activates the assemblies +Arguments:

+
+ + + diff --git a/obj/item/banner.html b/obj/item/banner.html new file mode 100644 index 000000000000..319d1dd3b846 --- /dev/null +++ b/obj/item/banner.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/banner - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

banner + + + +

+ + + +

Vars

job_loyaltiesMobs with assigned roles whose department bitflags match these will be inspired.
role_loyaltiesMobs with any of these special roles will be inspired
+

Var Details

job_loyalties + + + + +

+

Mobs with assigned roles whose department bitflags match these will be inspired.

role_loyalties + + + + +

+

Mobs with any of these special roles will be inspired

+ + + diff --git a/obj/item/barcode.html b/obj/item/barcode.html new file mode 100644 index 000000000000..6ed5f0078dee --- /dev/null +++ b/obj/item/barcode.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/barcode - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

barcode + + + +

+ + +

Vars

payments_accAll values inheirited from the sales tagger it came from.
+

Var Details

payments_acc + + + + +

+

All values inheirited from the sales tagger it came from.

+ + + diff --git a/obj/item/barcodescanner.html b/obj/item/barcodescanner.html new file mode 100644 index 000000000000..130d4f80584b --- /dev/null +++ b/obj/item/barcodescanner.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/barcodescanner - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

barcodescanner + + + +

+ + + + +

Vars

book_dataCurrently scanned book
computer_refA weakref to our associated computer - Modes 1 to 3 use this
mode0 - Scan only, 1 - Scan and Set Buffer, 2 - Scan and Attempt to Check In, 3 - Scan and Attempt to Add to Inventory
+

Var Details

book_data + + + + +

+

Currently scanned book

computer_ref + + + + +

+

A weakref to our associated computer - Modes 1 to 3 use this

mode + + + + +

+

0 - Scan only, 1 - Scan and Set Buffer, 2 - Scan and Attempt to Check In, 3 - Scan and Attempt to Add to Inventory

+ + + diff --git a/obj/item/bikehorn.html b/obj/item/bikehorn.html new file mode 100644 index 000000000000..58b27be78864 --- /dev/null +++ b/obj/item/bikehorn.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/bikehorn - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bikehorn + + + +

+ + +

Vars

sound_filesound file given to the squeaky component we make in Initialize() so sub-types can specify their own sound
+

Var Details

sound_file + + + + +

+

sound file given to the squeaky component we make in Initialize() so sub-types can specify their own sound

+ + + diff --git a/obj/item/blood_filter.html b/obj/item/blood_filter.html new file mode 100644 index 000000000000..d1f1762ec310 --- /dev/null +++ b/obj/item/blood_filter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/blood_filter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

blood_filter + + + +

+ + +

Vars

whitelistAssoc list of chem ids to names, used for deciding which chems to filter when used for surgery
+

Var Details

whitelist + + + + +

+

Assoc list of chem ids to names, used for deciding which chems to filter when used for surgery

+ + + diff --git a/obj/item/bodypart.html b/obj/item/bodypart.html new file mode 100644 index 000000000000..659dbab36be2 --- /dev/null +++ b/obj/item/bodypart.html @@ -0,0 +1,916 @@ + + + + + + + /obj/item/bodypart - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

bodypart + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

amputation_pointThe name for the amputation point of the limb
appearance_modsA lazylist of this bodypart's appearance_modifier datums.
arterial_bleed_severityBleed multiplier
artery_nameThe name of the artery this limb has
attack_typeType of an attack from this limb does. Arms will do punches, Legs for kicks, and head for bites. (TO ADD: tactical chestbumps)
bandageThe bandage that may-or-may-not be absorbing our blood
bleed_overlay_iconIf we're bleeding, which icon are we displaying on this part
body_partbitflag used to check which clothes cover this bodypart
body_zoneBODY_ZONE_CHEST, BODY_ZONE_L_ARM, etc , used for def_zone
bodypart_disabledIf disabled, limb is as good as missing.
bodypart_flagsBodypart flags, keeps track of blood, bones, arteries, tendons, and the like.
bodypart_trait_sourceThe name of the trait source that the organ gives. Should not be altered during the events of gameplay, and will cause problems if it is.
bodypart_traitsTraits that are given to the holder of the part. If you want an effect that changes this, don't add directly to this. Use the add_bodypart_trait() proc
bodytypeA bitfield of bodytypes for clothing, surgery, and misc information
broken_descriptionThe description used when the bones are broken.
brute_damThe current amount of brute damage the limb has
brute_ratioThe % of current_damage that is brute
brute_reductionSubtracted to brute damage taken
burn_damThe current amount of burn damage the limb has
burn_ratioThe % of current_damage that is burn
burn_reductionSubtracted to burn damage taken
cached_bleed_rateOur current bleed rate. Cached, update with refresh_bleed_rate()
can_be_disabledControls whether bodypart_disabled makes sense or not for this limb.
cavityDoes this limb have a cavity?
cavity_itemsThe items stored in our cavity
cavity_nameThe name of the cavity of the limb
cavity_storage_max_weightThe type of storage datum to use for cavity storage.
change_exempt_flagsDefines when a bodypart should not be changed. Example: BP_BLOCK_CHANGE_SPECIES prevents the limb from being overwritten on species gain
contained_organsA list of all the organs inside of us.
cremation_progressGradually increases while burning when at full damage, destroys the limb when at 100
current_damageThe current "physical" damage a bodypart has taken
disable_thresholdMultiplied by max_damage it returns the threshold which defines a limb being disabled or not. From 0 to 1. 0 means no disable thru damage
disabled_wound_penaltyWhen this bodypart hits max damage, this number is added to all wound rolls. Obviously only relevant for bodyparts that have damage caps.
dismemberablewhether it can be dismembered with a weapon.
draw_colorThe actual color a limb is drawn as, set by /proc/update_limb()
embedded_objectsList of obj/item's embedded inside us. Managed by embedded components, do not modify directly
encasedNeeds to be opened with a saw to access the organs. For robotic bodyparts, you can open the "hatch"
generic_bleedstacksHow much generic bleedstacks we have on this bodypart
hatch_stateFor robotic limbs: Hatch states, used by "surgery"
held_indexare we a hand? if so, which one!
husk_typeThe type of husk for building an iconstate
icon_bloodycoverThe file to pull bloody clothing overlays from. Null is valid.
icon_dmg_overlayThe file to pull damage overlays from. Null is valid.
icon_greyscaleThe icon for Organic limbs using greyscale
icon_huskThe icon for husked limbs
icon_staticThe icon for non-greyscale limbs
interaction_speed_modifierThe interaction speed modifier when this limb is used to interact with the world. ONLY WORKS FOR ARMS
is_dimorphicIs there a sprite difference between male and female?
is_pseudopartFor limbs that don't really exist, eg chainsaws
is_stumpIs a stump. This is handled at runtime, do not touch.
joint_nameThe name of the joint you can dislocate
last_maxedSo we know if we need to scream if this limb hits max damage
limb_idThe ID of a species used to generate the icon. Needs to match the icon_state portion in the limbs file!
max_damageThe maximum "physical" damage a bodypart can take. Set by children
minimum_break_damageThe minimum damage a part must have before it's bones may break. Defaults to max_damage * BODYPART_MINIMUM_BREAK_MOD
mutcolor_usedWhich mutcolor to use, if mutcolors are used
mutcolorsWe always copy the list of mutcolors our owner has incase our organs want it
ownerThe mob that "owns" this limb +DO NOT MODIFY DIRECTLY. Use set_owner()
plaintext_zoneThe body zone of this part in english ("chest", "left arm", etc) without the species attached to it
real_wound_countNOT wounds.len! Multiple wounds of the same type compress onto the same wound datum.
should_draw_greyscaleLimbs need this information as a back-up incase they are generated outside of a carbon (limbgrower)
splintIf something is currently supporting this limb as a splint
stageSurgical stage. Magic BS. Do not touch
stuck_objectsList of obj/items stuck TO us. Managed by embedded components, do not directly modify
temporary_painHow much temporary pain is on this limb
tendon_nameThe name of the tendon this limb has
unarmed_attack_effectwhat visual effect is used when this limb is used to strike someone.
unarmed_attack_soundSounds when this bodypart is used in an umarmed attack
unarmed_attack_verbthe verb used for an unarmed attack when using this limb, such as arm.unarmed_attack_verb = punch
unarmed_damage_highHighest possible punch damage this bodypart can ive.
unarmed_damage_lowLowest possible punch damage this bodypart can give. If this is set to 0, unarmed attacks will always miss.
unarmed_stun_thresholdDamage at which attacks from this bodypart will stun
variable_colorAn "override" color that can be applied to ANY limb, greyscale or not.
wound_damage_multiplierOur current stored wound damage multiplier
wound_painHow much pain is on this limb from wounds.
wound_resistanceThis number is subtracted from all wound rolls on this bodypart, higher numbers mean more defense, negative means easier to wound
woundsThe wounds currently afflicting this body part

Procs

_embed_objectINTERNAL PROC, DO NOT USE +Properly sets us up to manage an inserted embeded object
_unembed_objectINTERNAL PROC, DO NOT USE +Cleans up any attachment we have to the embedded object, removes it from our list
add_bodypart_traitAdds a trait to be applied by this bodypart.
add_cavity_itemAdd an item to our cavity. Call AFTER physically moving it via a proc like forceMove().
add_organAdds the organ to a bodypart.
adjustBleedStacksModifies our generic bleedstacks. You must use this to change the variable +Takes the amount to adjust by, and the lowest amount we're allowed to have post adjust
adjustPainAdjusts the pain of a limb, returning the difference. Do not call directly, use carbon.apply_pain().
apply_bone_breakApplies the effect of a broken bone to the owner.
apply_bone_healRemoves the effects of a broken bone from the owner.
apply_traitsApplies all bodypart traits to the target.
attach_limbReplace organs gracefully +Transfer cavity items like implants. +Attach src to target mob if able.
change_appearanceA multi-purpose setter for all things immediately important to the icon and iconstate of the limb.
damage_internal_organsDamages internal organs. Does not call updatehealth(), be mindful.
dismemberRemove target limb from it's owner, with side effects.
drop_limblimb removal. The "special" argument is used for swapping a limb with a new one without the effects of losing a limb kicking in.
generate_husk_keyGenerates a cache key specifically for husks
generate_icon_keyThis is the MEAT of limb icon code +Called from update_body_parts() these procs handle the limb icon cache. +the limb icon cache adds an icon_render_key to a human mob, it represents:
generate_masked_legThis proc serves as a way to ensure that legs layer properly on a mob. +To do this, two separate images are created - A low layer one, and a normal layer one. +Each of the image will appropriately crop out dirs that are not used on that given layer.
getPainReturns the amount of pain this bodypart is contributing
get_limb_overlaysGenerates a list of mutable appearances for the limb to be used as overlays
get_modified_bleed_rateReturns our bleed rate, taking into account laying down and grabbing the limb
handle_antibioticsHandle antibiotics and curing infections
handle_germ_effectsHandle the effects of infections
handle_germ_syncSyncing germ levels with external wounds
on_owner_nolimbdisable_trait_gainCalled when TRAIT_NOLIMBDISABLE is added to the owner.
on_owner_nolimbdisable_trait_lossCalled when TRAIT_NOLIMBDISABLE is removed from the owner.
on_paralysis_trait_gainCalled when TRAIT_PARALYSIS is added to the limb.
on_paralysis_trait_lossCalled when TRAIT_PARALYSIS is removed from the limb.
recolor_cosmetic_organsLoops through all of the bodypart's external organs and update's their color.
refresh_bleed_rateRefresh the cache of our rate of bleeding sans any modifiers +ANYTHING ADDED TO THIS PROC NEEDS TO CALL IT WHEN IT'S EFFECT CHANGES
remove_bodypart_traitRemoves a trait applied by this bodypart.
remove_organRemoves the organ from the limb.
remove_traits_fromRemove all bodypart traits this part grants.
replace_limbTry to attach this bodypart to a mob, while replacing one if it exists, does nothing if it fails.
reset_appearanceResets the base appearance of a limb to it's default values.
setBleedStacksEmbedded objects effect bleed rate, gotta refresh lads +Sets our generic bleedstacks
set_brute_damProc to hook behavior associated to the change of the brute_dam variable's value.
set_burn_damProc to hook behavior associated to the change of the burn_dam variable's value.
set_can_be_disabledProc to change the value of the can_be_disabled variable and react to the event of its change.
set_disabledProc to change the value of the disabled variable and react to the event of its change.
set_ownerProc to change the value of the owner variable and react to the event of its change.
synchronize_bodytypesTransfer existing hair properties to the new human. +Makes sure that the owner's bodytype flags match the flags of all of it's parts.
update_damageProc to update the damage values of the bodypart.
update_interaction_speedUpdates the interaction speed modifier of this limb, used by Limping and similar to determine delay.
+

Var Details

amputation_point + + + + +

+

The name for the amputation point of the limb

appearance_mods + + + + +

+

A lazylist of this bodypart's appearance_modifier datums.

arterial_bleed_severity + + + + +

+

Bleed multiplier

artery_name + + + + +

+

The name of the artery this limb has

attack_type + + + + +

+

Type of an attack from this limb does. Arms will do punches, Legs for kicks, and head for bites. (TO ADD: tactical chestbumps)

bandage + + + + +

+

The bandage that may-or-may-not be absorbing our blood

bleed_overlay_icon + + + + +

+

If we're bleeding, which icon are we displaying on this part

body_part + + + + +

+

bitflag used to check which clothes cover this bodypart

body_zone + + + + +

+

BODY_ZONE_CHEST, BODY_ZONE_L_ARM, etc , used for def_zone

bodypart_disabled + + + + +

+

If disabled, limb is as good as missing.

bodypart_flags + + + + +

+

Bodypart flags, keeps track of blood, bones, arteries, tendons, and the like.

bodypart_trait_source + + + + +

+

The name of the trait source that the organ gives. Should not be altered during the events of gameplay, and will cause problems if it is.

bodypart_traits + + + + +

+

Traits that are given to the holder of the part. If you want an effect that changes this, don't add directly to this. Use the add_bodypart_trait() proc

bodytype + + + + +

+

A bitfield of bodytypes for clothing, surgery, and misc information

broken_description + + + + +

+

The description used when the bones are broken.

brute_dam + + + + +

+

The current amount of brute damage the limb has

brute_ratio + + + + +

+

The % of current_damage that is brute

brute_reduction + + + + +

+

Subtracted to brute damage taken

burn_dam + + + + +

+

The current amount of burn damage the limb has

burn_ratio + + + + +

+

The % of current_damage that is burn

burn_reduction + + + + +

+

Subtracted to burn damage taken

cached_bleed_rate + + + + +

+

Our current bleed rate. Cached, update with refresh_bleed_rate()

can_be_disabled + + + + +

+

Controls whether bodypart_disabled makes sense or not for this limb.

cavity + + + + +

+

Does this limb have a cavity?

cavity_items + + + + +

+

The items stored in our cavity

cavity_name + + + + +

+

The name of the cavity of the limb

cavity_storage_max_weight + + + + +

+

The type of storage datum to use for cavity storage.

change_exempt_flags + + + + +

+

Defines when a bodypart should not be changed. Example: BP_BLOCK_CHANGE_SPECIES prevents the limb from being overwritten on species gain

contained_organs + + + + +

+

A list of all the organs inside of us.

cremation_progress + + + + +

+

Gradually increases while burning when at full damage, destroys the limb when at 100

current_damage + + + + +

+

The current "physical" damage a bodypart has taken

disable_threshold + + + + +

+

Multiplied by max_damage it returns the threshold which defines a limb being disabled or not. From 0 to 1. 0 means no disable thru damage

disabled_wound_penalty + + + + +

+

When this bodypart hits max damage, this number is added to all wound rolls. Obviously only relevant for bodyparts that have damage caps.

dismemberable + + + + +

+

whether it can be dismembered with a weapon.

draw_color + + + + +

+

The actual color a limb is drawn as, set by /proc/update_limb()

embedded_objects + + + + +

+

List of obj/item's embedded inside us. Managed by embedded components, do not modify directly

encased + + + + +

+

Needs to be opened with a saw to access the organs. For robotic bodyparts, you can open the "hatch"

generic_bleedstacks + + + + +

+

How much generic bleedstacks we have on this bodypart

hatch_state + + + + +

+

For robotic limbs: Hatch states, used by "surgery"

held_index + + + + +

+

are we a hand? if so, which one!

husk_type + + + + +

+

The type of husk for building an iconstate

icon_bloodycover + + + + +

+

The file to pull bloody clothing overlays from. Null is valid.

icon_dmg_overlay + + + + +

+

The file to pull damage overlays from. Null is valid.

icon_greyscale + + + + +

+

The icon for Organic limbs using greyscale

icon_husk + + + + +

+

The icon for husked limbs

icon_static + + + + +

+

The icon for non-greyscale limbs

interaction_speed_modifier + + + + +

+

The interaction speed modifier when this limb is used to interact with the world. ONLY WORKS FOR ARMS

is_dimorphic + + + + +

+

Is there a sprite difference between male and female?

is_pseudopart + + + + +

+

For limbs that don't really exist, eg chainsaws

is_stump + + + + +

+

Is a stump. This is handled at runtime, do not touch.

joint_name + + + + +

+

The name of the joint you can dislocate

last_maxed + + + + +

+

So we know if we need to scream if this limb hits max damage

limb_id + + + + +

+

The ID of a species used to generate the icon. Needs to match the icon_state portion in the limbs file!

max_damage + + + + +

+

The maximum "physical" damage a bodypart can take. Set by children

minimum_break_damage + + + + +

+

The minimum damage a part must have before it's bones may break. Defaults to max_damage * BODYPART_MINIMUM_BREAK_MOD

mutcolor_used + + + + +

+

Which mutcolor to use, if mutcolors are used

mutcolors + + + + +

+

We always copy the list of mutcolors our owner has incase our organs want it

owner + + + + +

+

The mob that "owns" this limb +DO NOT MODIFY DIRECTLY. Use set_owner()

plaintext_zone + + + + +

+

The body zone of this part in english ("chest", "left arm", etc) without the species attached to it

real_wound_count + + + + +

+

NOT wounds.len! Multiple wounds of the same type compress onto the same wound datum.

should_draw_greyscale + + + + +

+

Limbs need this information as a back-up incase they are generated outside of a carbon (limbgrower)

splint + + + + +

+

If something is currently supporting this limb as a splint

stage + + + + +

+

Surgical stage. Magic BS. Do not touch

stuck_objects + + + + +

+

List of obj/items stuck TO us. Managed by embedded components, do not directly modify

temporary_pain + + + + +

+

How much temporary pain is on this limb

tendon_name + + + + +

+

The name of the tendon this limb has

unarmed_attack_effect + + + + +

+

what visual effect is used when this limb is used to strike someone.

unarmed_attack_sound + + + + +

+

Sounds when this bodypart is used in an umarmed attack

unarmed_attack_verb + + + + +

+

the verb used for an unarmed attack when using this limb, such as arm.unarmed_attack_verb = punch

unarmed_damage_high + + + + +

+

Highest possible punch damage this bodypart can ive.

unarmed_damage_low + + + + +

+

Lowest possible punch damage this bodypart can give. If this is set to 0, unarmed attacks will always miss.

unarmed_stun_threshold + + + + +

+

Damage at which attacks from this bodypart will stun

variable_color + + + + +

+

An "override" color that can be applied to ANY limb, greyscale or not.

wound_damage_multiplier + + + + +

+

Our current stored wound damage multiplier

wound_pain + + + + +

+

How much pain is on this limb from wounds.

wound_resistance + + + + +

+

This number is subtracted from all wound rolls on this bodypart, higher numbers mean more defense, negative means easier to wound

wounds + + + + +

+

The wounds currently afflicting this body part

Proc Details

_embed_object +

+

INTERNAL PROC, DO NOT USE +Properly sets us up to manage an inserted embeded object

_unembed_object +

+

INTERNAL PROC, DO NOT USE +Cleans up any attachment we have to the embedded object, removes it from our list

add_bodypart_trait +

+

Adds a trait to be applied by this bodypart.

add_cavity_item +

+

Add an item to our cavity. Call AFTER physically moving it via a proc like forceMove().

add_organ +

+

Adds the organ to a bodypart.

adjustBleedStacks +

+

Modifies our generic bleedstacks. You must use this to change the variable +Takes the amount to adjust by, and the lowest amount we're allowed to have post adjust

adjustPain +

+

Adjusts the pain of a limb, returning the difference. Do not call directly, use carbon.apply_pain().

apply_bone_break +

+

Applies the effect of a broken bone to the owner.

apply_bone_heal +

+

Removes the effects of a broken bone from the owner.

apply_traits +

+

Applies all bodypart traits to the target.

attach_limb +

+

Replace organs gracefully +Transfer cavity items like implants. +Attach src to target mob if able.

change_appearance +

+

A multi-purpose setter for all things immediately important to the icon and iconstate of the limb.

damage_internal_organs +

+

Damages internal organs. Does not call updatehealth(), be mindful.

dismember +

+

Remove target limb from it's owner, with side effects.

drop_limb +

+

limb removal. The "special" argument is used for swapping a limb with a new one without the effects of losing a limb kicking in.

generate_husk_key +

+

Generates a cache key specifically for husks

generate_icon_key +

+

This is the MEAT of limb icon code +Called from update_body_parts() these procs handle the limb icon cache. +the limb icon cache adds an icon_render_key to a human mob, it represents:

+

generate_masked_leg +

+

This proc serves as a way to ensure that legs layer properly on a mob. +To do this, two separate images are created - A low layer one, and a normal layer one. +Each of the image will appropriately crop out dirs that are not used on that given layer.

+

Arguments:

+ +

Returns the list of masked images, or null if the limb_overlay didn't exist

getPain +

+

Returns the amount of pain this bodypart is contributing

get_limb_overlays +

+

Generates a list of mutable appearances for the limb to be used as overlays

get_modified_bleed_rate +

+

Returns our bleed rate, taking into account laying down and grabbing the limb

handle_antibiotics +

+

Handle antibiotics and curing infections

handle_germ_effects +

+

Handle the effects of infections

handle_germ_sync +

+

Syncing germ levels with external wounds

on_owner_nolimbdisable_trait_gain +

+

Called when TRAIT_NOLIMBDISABLE is added to the owner.

on_owner_nolimbdisable_trait_loss +

+

Called when TRAIT_NOLIMBDISABLE is removed from the owner.

on_paralysis_trait_gain +

+

Called when TRAIT_PARALYSIS is added to the limb.

on_paralysis_trait_loss +

+

Called when TRAIT_PARALYSIS is removed from the limb.

recolor_cosmetic_organs +

+

Loops through all of the bodypart's external organs and update's their color.

refresh_bleed_rate +

+

Refresh the cache of our rate of bleeding sans any modifiers +ANYTHING ADDED TO THIS PROC NEEDS TO CALL IT WHEN IT'S EFFECT CHANGES

remove_bodypart_trait +

+

Removes a trait applied by this bodypart.

remove_organ +

+

Removes the organ from the limb.

remove_traits_from +

+

Remove all bodypart traits this part grants.

replace_limb +

+

Try to attach this bodypart to a mob, while replacing one if it exists, does nothing if it fails.

reset_appearance +

+

Resets the base appearance of a limb to it's default values.

setBleedStacks +

+

Embedded objects effect bleed rate, gotta refresh lads +Sets our generic bleedstacks

set_brute_dam +

+

Proc to hook behavior associated to the change of the brute_dam variable's value.

set_burn_dam +

+

Proc to hook behavior associated to the change of the burn_dam variable's value.

set_can_be_disabled +

+

Proc to change the value of the can_be_disabled variable and react to the event of its change.

set_disabled +

+

Proc to change the value of the disabled variable and react to the event of its change.

set_owner +

+

Proc to change the value of the owner variable and react to the event of its change.

synchronize_bodytypes +

+

Transfer existing hair properties to the new human. +Makes sure that the owner's bodytype flags match the flags of all of it's parts.

update_damage +

+

Proc to update the damage values of the bodypart.

update_interaction_speed +

+

Updates the interaction speed modifier of this limb, used by Limping and similar to determine delay.

+ + + diff --git a/obj/item/bodypart/arm.html b/obj/item/bodypart/arm.html new file mode 100644 index 000000000000..dfaa6ef87e42 --- /dev/null +++ b/obj/item/bodypart/arm.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/bodypart/arm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

arm + + + +

+ +

Parent Type for arms, should not appear in game.

+

Vars

unarmed_damage_lowThe classic punch, wonderfully classic and completely random
+

Var Details

unarmed_damage_low + + + + +

+

The classic punch, wonderfully classic and completely random

+ + + diff --git a/obj/item/bodypart/arm/left.html b/obj/item/bodypart/arm/left.html new file mode 100644 index 000000000000..f36bff550dc4 --- /dev/null +++ b/obj/item/bodypart/arm/left.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/bodypart/arm/left - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

left + + + +

+ + + +

Procs

on_owner_paralysis_gainProc to react to the owner gaining the TRAIT_PARALYSIS_L_ARM trait.
on_owner_paralysis_lossProc to react to the owner losing the TRAIT_PARALYSIS_L_ARM trait.

Proc Details

on_owner_paralysis_gain +

+

Proc to react to the owner gaining the TRAIT_PARALYSIS_L_ARM trait.

on_owner_paralysis_loss +

+

Proc to react to the owner losing the TRAIT_PARALYSIS_L_ARM trait.

+ + + diff --git a/obj/item/bodypart/arm/left/monkey.html b/obj/item/bodypart/arm/left/monkey.html new file mode 100644 index 000000000000..f33be967624a --- /dev/null +++ b/obj/item/bodypart/arm/left/monkey.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/bodypart/arm/left/monkey - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

monkey + + + +

+ + +

Vars

unarmed_damage_highmonkey punches must be really weak, considering they bite people instead and their bites are weak as hell.
+

Var Details

unarmed_damage_high + + + + +

+

monkey punches must be really weak, considering they bite people instead and their bites are weak as hell.

+ + + diff --git a/obj/item/bodypart/arm/right.html b/obj/item/bodypart/arm/right.html new file mode 100644 index 000000000000..42205533d1c3 --- /dev/null +++ b/obj/item/bodypart/arm/right.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/bodypart/arm/right - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

right + + + +

+ + + +

Procs

on_owner_paralysis_gainProc to react to the owner gaining the TRAIT_PARALYSIS_R_ARM trait.
on_owner_paralysis_lossProc to react to the owner losing the TRAIT_PARALYSIS_R_ARM trait.

Proc Details

on_owner_paralysis_gain +

+

Proc to react to the owner gaining the TRAIT_PARALYSIS_R_ARM trait.

on_owner_paralysis_loss +

+

Proc to react to the owner losing the TRAIT_PARALYSIS_R_ARM trait.

+ + + diff --git a/obj/item/bodypart/chest.html b/obj/item/bodypart/chest.html new file mode 100644 index 000000000000..b634219481eb --- /dev/null +++ b/obj/item/bodypart/chest.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/bodypart/chest - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chest + + + +

+ + +

Vars

acceptable_bodytypeThe bodytype(s) allowed to attach to this chest.
+

Var Details

acceptable_bodytype + + + + +

+

The bodytype(s) allowed to attach to this chest.

+ + + diff --git a/obj/item/bodypart/head.html b/obj/item/bodypart/head.html new file mode 100644 index 000000000000..4df179515639 --- /dev/null +++ b/obj/item/bodypart/head.html @@ -0,0 +1,144 @@ + + + + + + + /obj/item/bodypart/head - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

head + + + +

+ +

FACIAL HAIR CHECKS START +FACIAL HAIR CHECKS END +HAIR CHECKS START +HAIR CHECKS END

+ + + + + + + + + + + + + + + +

Vars

can_ingest_reagentsSee [mob/living/proc/has_mouth()]
eye_scleraRender sclera for this species?
facial_gradient_overlayThe image for facial hair gradient
facial_hair_hiddenIs the facial hair currently hidden by something?
facial_overlayThe image for face hair
fixed_hair_colorAn override that cannot be cleared under any circumstances
hair_colorHair colour and style
hair_color_sourceHair color source
hair_gradient_overlayThe image for hair gradient
hair_hiddenIs the hair currently hidden by something?
hair_overlayThe image for hair
legal_hairstylesThe global list of hairstyles allowed on this head. Populated by proc/set_global_hairstyles.
override_hair_colorAn override color that can be cleared later.
show_debrainedDraw this head as "debrained"
show_organs_on_examineDo we show the information about missing organs upon being examined? Defaults to TRUE, useful for Dullahan heads.

Procs

update_hair_and_lipsPart of update_limb(), this proc does what the name implies.
+

Var Details

can_ingest_reagents + + + + +

+

See [mob/living/proc/has_mouth()]

eye_sclera + + + + +

+

Render sclera for this species?

facial_gradient_overlay + + + + +

+

The image for facial hair gradient

facial_hair_hidden + + + + +

+

Is the facial hair currently hidden by something?

facial_overlay + + + + +

+

The image for face hair

fixed_hair_color + + + + +

+

An override that cannot be cleared under any circumstances

hair_color + + + + +

+

Hair colour and style

hair_color_source + + + + +

+

Hair color source

hair_gradient_overlay + + + + +

+

The image for hair gradient

hair_hidden + + + + +

+

Is the hair currently hidden by something?

hair_overlay + + + + +

+

The image for hair

legal_hairstyles + + + + +

+

The global list of hairstyles allowed on this head. Populated by proc/set_global_hairstyles.

override_hair_color + + + + +

+

An override color that can be cleared later.

show_debrained + + + + +

+

Draw this head as "debrained"

show_organs_on_examine + + + + +

+

Do we show the information about missing organs upon being examined? Defaults to TRUE, useful for Dullahan heads.

Proc Details

update_hair_and_lips +

+

Part of update_limb(), this proc does what the name implies.

+ + + diff --git a/obj/item/bodypart/leg.html b/obj/item/bodypart/leg.html new file mode 100644 index 000000000000..d9914b36c7f6 --- /dev/null +++ b/obj/item/bodypart/leg.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/bodypart/leg - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

leg + + + +

+ +

Parent Type for arms, should not appear in game.

+ + + + +

Vars

barefoot_step_typeUsed by the footstep element.
blood_printUsed by the bloodysoles component to make blood tracks
can_be_digitigradeCan these legs be digitigrade? See digitigrade.dm
digitigrade_idSet limb_id to this when in "digi mode". MUST BE UNIQUE LIKE ALL LIMB IDS
old_limb_idUsed solely by digitigrade limbs to remember what their old limb ID was.
+

Var Details

barefoot_step_type + + + + +

+

Used by the footstep element.

blood_print + + + + +

+

Used by the bloodysoles component to make blood tracks

can_be_digitigrade + + + + +

+

Can these legs be digitigrade? See digitigrade.dm

digitigrade_id + + + + +

+

Set limb_id to this when in "digi mode". MUST BE UNIQUE LIKE ALL LIMB IDS

old_limb_id + + + + +

+

Used solely by digitigrade limbs to remember what their old limb ID was.

+ + + diff --git a/obj/item/bodypart/leg/left.html b/obj/item/bodypart/leg/left.html new file mode 100644 index 000000000000..593e2707a824 --- /dev/null +++ b/obj/item/bodypart/leg/left.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/bodypart/leg/left - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

left + + + +

+ + + +

Procs

on_owner_paralysis_gainProc to react to the owner gaining the TRAIT_PARALYSIS_L_LEG trait.
on_owner_paralysis_lossProc to react to the owner losing the TRAIT_PARALYSIS_L_LEG trait.

Proc Details

on_owner_paralysis_gain +

+

Proc to react to the owner gaining the TRAIT_PARALYSIS_L_LEG trait.

on_owner_paralysis_loss +

+

Proc to react to the owner losing the TRAIT_PARALYSIS_L_LEG trait.

+ + + diff --git a/obj/item/bodypart/leg/right.html b/obj/item/bodypart/leg/right.html new file mode 100644 index 000000000000..38d2d49ca00c --- /dev/null +++ b/obj/item/bodypart/leg/right.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/bodypart/leg/right - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

right + + + +

+ + + +

Procs

on_owner_paralysis_gainProc to react to the owner gaining the TRAIT_PARALYSIS_R_LEG trait.
on_owner_paralysis_lossProc to react to the owner losing the TRAIT_PARALYSIS_R_LEG trait.

Proc Details

on_owner_paralysis_gain +

+

Proc to react to the owner gaining the TRAIT_PARALYSIS_R_LEG trait.

on_owner_paralysis_loss +

+

Proc to react to the owner losing the TRAIT_PARALYSIS_R_LEG trait.

+ + + diff --git a/obj/item/bombcore/chemical.html b/obj/item/bombcore/chemical.html new file mode 100644 index 000000000000..1fdee97fd40a --- /dev/null +++ b/obj/item/bombcore/chemical.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/bombcore/chemical - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chemical + + + +

+ + + + + + + +

Vars

beakersThe set of beakers that have been inserted into the bombcore.
core_holder_volumeThe initial volume of the reagent holder the bombcore has.
max_beakersThe maximum number of beakers that this bombcore can have.
spread_rangeThe range this spreads the reagents added to the bombcore.
temp_boostHow much this heats the reagents in it on detonation.
time_releaseThe amount of reagents released with each detonation.
+

Var Details

beakers + + + + +

+

The set of beakers that have been inserted into the bombcore.

core_holder_volume + + + + +

+

The initial volume of the reagent holder the bombcore has.

max_beakers + + + + +

+

The maximum number of beakers that this bombcore can have.

spread_range + + + + +

+

The range this spreads the reagents added to the bombcore.

temp_boost + + + + +

+

How much this heats the reagents in it on detonation.

time_release + + + + +

+

The amount of reagents released with each detonation.

+ + + diff --git a/obj/item/book.html b/obj/item/book.html new file mode 100644 index 000000000000..a0c325343896 --- /dev/null +++ b/obj/item/book.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/book - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

book + + + +

+ + + + + + + + + + +

Vars

book_dataThe packet of information that describes this book
due_dateGame time in 1/10th seconds
maximum_book_stateMaximum icon state number
starting_authorThe initial author, for use in var editing and such
starting_contentThe initial bit of content, for use in var editing and such
starting_titleThe initial title, for use in var editing and such
uniquefalse - Normal book, true - Should not be treated as normal book, unable to be copied, unable to be modified
window_sizeSpecific window size for the book, i.e: "1920x1080", Size x Width

Procs

gen_random_icon_stateGenerates a random icon state for the book
+

Var Details

book_data + + + + +

+

The packet of information that describes this book

due_date + + + + +

+

Game time in 1/10th seconds

maximum_book_state + + + + +

+

Maximum icon state number

starting_author + + + + +

+

The initial author, for use in var editing and such

starting_content + + + + +

+

The initial bit of content, for use in var editing and such

starting_title + + + + +

+

The initial title, for use in var editing and such

unique + + + + +

+

false - Normal book, true - Should not be treated as normal book, unable to be copied, unable to be modified

window_size + + + + +

+

Specific window size for the book, i.e: "1920x1080", Size x Width

Proc Details

gen_random_icon_state +

+

Generates a random icon state for the book

+ + + diff --git a/obj/item/book/granter.html b/obj/item/book/granter.html new file mode 100644 index 000000000000..8fec38a5485e --- /dev/null +++ b/obj/item/book/granter.html @@ -0,0 +1,107 @@ + + + + + + + /obj/item/book/granter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

granter + + + +

+ +

Books that teach things.

+

(Intrinsic actions like bar flinging, spells like fireball or smoke, or martial arts)

+ + + + + + + + + + +

Vars

book_soundsThe sounds played as the user's reading the book.
pages_to_masteryControls how long a mob must keep the book in his hand to actually successfully learn
readingSanity, whether it's currently being read
remarksFlavor messages displayed to mobs reading the granter
usesThe amount of uses on the granter.

Procs

can_learnChecks if the user can learn whatever this granter... grants
on_reading_finishedCalled when the reading is completely finished. This is where the actual granting should happen.
on_reading_startCalled when the user starts to read the granter.
on_reading_stoppedCalled when the reading is interrupted without finishing.
recoilEffects that occur whenever the book is read when it has no uses left.
turn_pageThe actual "turning over of the page" flavor bit that happens while someone is reading the granter.
+

Var Details

book_sounds + + + + +

+

The sounds played as the user's reading the book.

pages_to_mastery + + + + +

+

Controls how long a mob must keep the book in his hand to actually successfully learn

reading + + + + +

+

Sanity, whether it's currently being read

remarks + + + + +

+

Flavor messages displayed to mobs reading the granter

uses + + + + +

+

The amount of uses on the granter.

Proc Details

can_learn +

+

Checks if the user can learn whatever this granter... grants

on_reading_finished +

+

Called when the reading is completely finished. This is where the actual granting should happen.

on_reading_start +

+

Called when the user starts to read the granter.

on_reading_stopped +

+

Called when the reading is interrupted without finishing.

recoil +

+

Effects that occur whenever the book is read when it has no uses left.

turn_page +

+

The actual "turning over of the page" flavor bit that happens while someone is reading the granter.

+ + + diff --git a/obj/item/book/granter/action.html b/obj/item/book/granter/action.html new file mode 100644 index 000000000000..f27a48c775a1 --- /dev/null +++ b/obj/item/book/granter/action.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/book/granter/action - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

action + + + +

+ + + +

Vars

action_nameThe name of the action, formatted in a more text-friendly way.
granted_actionThe typepath of action that is given
+

Var Details

action_name + + + + +

+

The name of the action, formatted in a more text-friendly way.

granted_action + + + + +

+

The typepath of action that is given

+ + + diff --git a/obj/item/book/granter/action/spell.html b/obj/item/book/granter/action/spell.html new file mode 100644 index 000000000000..b668eeb268e0 --- /dev/null +++ b/obj/item/book/granter/action/spell.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/book/granter/action/spell - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

spell + + + +

+ + +

Procs

on_magic_chargeSignal proc for COMSIG_ITEM_MAGICALLY_CHARGED

Proc Details

on_magic_charge +

+

Signal proc for COMSIG_ITEM_MAGICALLY_CHARGED

+

Refreshes uses on our spell granter, or make it quicker to read if it's already infinite use

+ + + diff --git a/obj/item/book/granter/action/spell/mindswap.html b/obj/item/book/granter/action/spell/mindswap.html new file mode 100644 index 000000000000..81ad57873711 --- /dev/null +++ b/obj/item/book/granter/action/spell/mindswap.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/book/granter/action/spell/mindswap - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mindswap + + + +

+ + +

Vars

stored_swap_refMob used in book recoils to store an identity for mindswaps
+

Var Details

stored_swap_ref + + + + +

+

Mob used in book recoils to store an identity for mindswaps

+ + + diff --git a/obj/item/book/granter/action/spell/true_random.html b/obj/item/book/granter/action/spell/true_random.html new file mode 100644 index 000000000000..ebc90530a7cf --- /dev/null +++ b/obj/item/book/granter/action/spell/true_random.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/book/granter/action/spell/true_random - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

true_random + + + +

+ +

A more volatile granter that can potentially have any spell within. Use wisely.

+

Vars

blacklisted_schoolsA list of schools we probably shouldn't grab, for various reasons
+

Var Details

blacklisted_schools + + + + +

+

A list of schools we probably shouldn't grab, for various reasons

+ + + diff --git a/obj/item/book/granter/crafting_recipe.html b/obj/item/book/granter/crafting_recipe.html new file mode 100644 index 000000000000..83051039087a --- /dev/null +++ b/obj/item/book/granter/crafting_recipe.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/book/granter/crafting_recipe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

crafting_recipe + + + +

+ + +

Vars

crafting_recipe_typesA list of all recipe types we grant on learn
+

Var Details

crafting_recipe_types + + + + +

+

A list of all recipe types we grant on learn

+ + + diff --git a/obj/item/book/granter/martial.html b/obj/item/book/granter/martial.html new file mode 100644 index 000000000000..863fe027778f --- /dev/null +++ b/obj/item/book/granter/martial.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/book/granter/martial - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

martial + + + +

+ + + + +

Vars

greetThe text given to the user when they learn the martial arts
martialThe martial arts type we give
martial_nameThe name of the martial arts, formatted in a more text-friendly way.
+

Var Details

greet + + + + +

+

The text given to the user when they learn the martial arts

martial + + + + +

+

The martial arts type we give

martial_name + + + + +

+

The name of the martial arts, formatted in a more text-friendly way.

+ + + diff --git a/obj/item/book/manual/codex.html b/obj/item/book/manual/codex.html new file mode 100644 index 000000000000..58f4af8e47e9 --- /dev/null +++ b/obj/item/book/manual/codex.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/book/manual/codex - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

codex + + + +

+ + +

Vars

target_entryType or String (Type preferred for compiletime checking, if possible.) of the codex entry to open.
+

Var Details

target_entry + + + + +

+

Type or String (Type preferred for compiletime checking, if possible.) of the codex entry to open.

+ + + diff --git a/obj/item/book/mimery.html b/obj/item/book/mimery.html new file mode 100644 index 000000000000..71ecde2fa7bb --- /dev/null +++ b/obj/item/book/mimery.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/book/mimery - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

mimery + + + +

+ + +

Procs

check_menuChecks if we are allowed to interact with a radial menu

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

Arguments:

+
+ + + diff --git a/obj/item/book/random.html b/obj/item/book/random.html new file mode 100644 index 000000000000..5ff5e97fb2b9 --- /dev/null +++ b/obj/item/book/random.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/book/random - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

random + + + +

+ + + +

Vars

random_categoryThe category of books to pick from when creating this book.
random_loadedIf this book has already been 'generated' yet.
+

Var Details

random_category + + + + +

+

The category of books to pick from when creating this book.

random_loaded + + + + +

+

If this book has already been 'generated' yet.

+ + + diff --git a/obj/item/borg/apparatus.html b/obj/item/borg/apparatus.html new file mode 100644 index 000000000000..a4d00df374b8 --- /dev/null +++ b/obj/item/borg/apparatus.html @@ -0,0 +1,73 @@ + + + + + + + /obj/item/borg/apparatus - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

apparatus + + + +

+ + + + + + + +

Vars

storableWhitelist of types allowed in this apparatus
storedThe item stored inside of this apparatus

Procs

attack_selfAttack_self will pass for the stored item.
on_stored_updated_iconUpdates the appearance of the apparatus when the stored object's icon gets updated.
safedeconIf we're safely deconstructed, we put the item neatly onto the ground, rather than deleting it.
verb_dropHeldA right-click verb, for those not using hotkey mode.
+

Var Details

storable + + + + +

+

Whitelist of types allowed in this apparatus

stored + + + + +

+

The item stored inside of this apparatus

Proc Details

attack_self +

+

Attack_self will pass for the stored item.

on_stored_updated_icon +

+

Updates the appearance of the apparatus when the stored object's icon gets updated.

+

Returns NONE as we have not done anything to the stored object itself, +which is where this signal that this handler intercepts is sent from.

safedecon +

+

If we're safely deconstructed, we put the item neatly onto the ground, rather than deleting it.

verb_dropHeld +

+

A right-click verb, for those not using hotkey mode.

+ + + diff --git a/obj/item/borg/apparatus/beaker.html b/obj/item/borg/apparatus/beaker.html new file mode 100644 index 000000000000..a57d38917eed --- /dev/null +++ b/obj/item/borg/apparatus/beaker.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/borg/apparatus/beaker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

beaker + + + +

+ + +

Procs

pre_attack_secondarySecondary attack spills the content of the beaker.

Proc Details

pre_attack_secondary +

+

Secondary attack spills the content of the beaker.

+ + + diff --git a/obj/item/borg/charger.html b/obj/item/borg/charger.html new file mode 100644 index 000000000000..1ff1f9e2bea6 --- /dev/null +++ b/obj/item/borg/charger.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/borg/charger - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

charger + + + +

+ + + + +

Vars

charge_itemsWhitelist of chargable items
charge_machinesWhitelist of charging machines
modeCharging mode
+

Var Details

charge_items + + + + +

+

Whitelist of chargable items

charge_machines + + + + +

+

Whitelist of charging machines

mode + + + + +

+

Charging mode

+ + + diff --git a/obj/item/borg/cyborghug.html b/obj/item/borg/cyborghug.html new file mode 100644 index 000000000000..e51adc0ee3ca --- /dev/null +++ b/obj/item/borg/cyborghug.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/borg/cyborghug - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cyborghug + + + +

+ + + + + +

Vars

crush_cooldownCrush cooldown
modeHug mode
shock_cooldownShock cooldown
shockallowedCan it be a stunarm when emagged. Only PK borgs get this by default.
+

Var Details

crush_cooldown + + + + +

+

Crush cooldown

mode + + + + +

+

Hug mode

shock_cooldown + + + + +

+

Shock cooldown

shockallowed + + + + +

+

Can it be a stunarm when emagged. Only PK borgs get this by default.

+ + + diff --git a/obj/item/borg/lollipop.html b/obj/item/borg/lollipop.html new file mode 100644 index 000000000000..80659997a780 --- /dev/null +++ b/obj/item/borg/lollipop.html @@ -0,0 +1,106 @@ + + + + + + + /obj/item/borg/lollipop - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

lollipop + + + +

+ + + + + + + + + + + + +

Vars

candyThe current amount of available candy
candymaxThe maximum amount of candy possible to hold
charge_delayLength of time it takes to regenerate a new candy
chargingIs the fabricator charging right now?
firedelayDelay until next fire
modeDispensing mode

Procs

charge_lollipopsIncreases the amount of lollipops
check_amountQueues another lollipop to be fabricated if there is enough room for one
dispenseDispenses a lollipop
shootGShoot a gumball
shootLShoot a lollipop
+

Var Details

candy + + + + +

+

The current amount of available candy

candymax + + + + +

+

The maximum amount of candy possible to hold

charge_delay + + + + +

+

Length of time it takes to regenerate a new candy

charging + + + + +

+

Is the fabricator charging right now?

firedelay + + + + +

+

Delay until next fire

mode + + + + +

+

Dispensing mode

Proc Details

charge_lollipops +

+

Increases the amount of lollipops

check_amount +

+

Queues another lollipop to be fabricated if there is enough room for one

dispense +

+

Dispenses a lollipop

shootG +

+

Shoot a gumball

shootL +

+

Shoot a lollipop

+ + + diff --git a/obj/item/borg/projectile_dampen.html b/obj/item/borg/projectile_dampen.html new file mode 100644 index 000000000000..7a3bf6e6882a --- /dev/null +++ b/obj/item/borg/projectile_dampen.html @@ -0,0 +1,115 @@ + + + + + + + /obj/item/borg/projectile_dampen - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

projectile_dampen + + + +

+ + + + + + + + + + + + + +

Vars

cyborg_cell_critical_percentageCritical power level percentage
cycle_cooldownactivation cooldown
dampening_fieldThe field
energyCurrent energy level
energy_rechargeRecharging rate in energy per second
energy_recharge_cyborg_drain_coefficientCharge draining right
hostThe owner of the dampener
maxenergyMax energy this dampener can hold
projectile_damage_tick_ecost_coefficientEnergy cost per tracked projectile damage amount per second
projectile_speed_coefficientSpeed coefficient +Higher the coefficient slower the projectile.
projectile_tick_speed_ecostEnergy cost per tracked projectile per second
trackedProjectile sent out by the dampener
+

Var Details

cyborg_cell_critical_percentage + + + + +

+

Critical power level percentage

cycle_cooldown + + + + +

+

activation cooldown

dampening_field + + + + +

+

The field

energy + + + + +

+

Current energy level

energy_recharge + + + + +

+

Recharging rate in energy per second

energy_recharge_cyborg_drain_coefficient + + + + +

+

Charge draining right

host + + + + +

+

The owner of the dampener

maxenergy + + + + +

+

Max energy this dampener can hold

projectile_damage_tick_ecost_coefficient + + + + +

+

Energy cost per tracked projectile damage amount per second

projectile_speed_coefficient + + + + +

+

Speed coefficient +Higher the coefficient slower the projectile.

projectile_tick_speed_ecost + + + + +

+

Energy cost per tracked projectile per second

tracked + + + + +

+

Projectile sent out by the dampener

+ + + diff --git a/obj/item/borg/stun.html b/obj/item/borg/stun.html new file mode 100644 index 000000000000..da7d12550e3b --- /dev/null +++ b/obj/item/borg/stun.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/borg/stun - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

stun + + + +

+ + +

Vars

charge_costCost to use the stun arm
+

Var Details

charge_cost + + + + +

+

Cost to use the stun arm

+ + + diff --git a/obj/item/borg/upgrade.html b/obj/item/borg/upgrade.html new file mode 100644 index 000000000000..e0cbb75552f5 --- /dev/null +++ b/obj/item/borg/upgrade.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/borg/upgrade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

upgrade + + + +

+ + +

Vars

model_flagsBitflags listing model compatibility. Used in the exosuit fabricator for creating sub-categories.
+

Var Details

model_flags + + + + +

+

Bitflags listing model compatibility. Used in the exosuit fabricator for creating sub-categories.

+ + + diff --git a/obj/item/borg/upgrade/selfrepair.html b/obj/item/borg/upgrade/selfrepair.html new file mode 100644 index 000000000000..95827b08d03b --- /dev/null +++ b/obj/item/borg/upgrade/selfrepair.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/borg/upgrade/selfrepair - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

selfrepair + + + +

+ + + +

Vars

next_repairworld.time of next repair
repair_cooldownMinimum time between repairs in seconds
+

Var Details

next_repair + + + + +

+

world.time of next repair

repair_cooldown + + + + +

+

Minimum time between repairs in seconds

+ + + diff --git a/obj/item/bot_assembly.html b/obj/item/bot_assembly.html new file mode 100644 index 000000000000..ad7437e2ac27 --- /dev/null +++ b/obj/item/bot_assembly.html @@ -0,0 +1,41 @@ + + + + + + + /obj/item/bot_assembly - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

bot_assembly + + + +

+ + +

Procs

can_finish_buildChecks if the user can finish constructing a bot with a given item.

Proc Details

can_finish_build +

+

Checks if the user can finish constructing a bot with a given item.

+

Arguments:

+
+ + + diff --git a/obj/item/broken_bottle.html b/obj/item/broken_bottle.html new file mode 100644 index 000000000000..1ed987b76c60 --- /dev/null +++ b/obj/item/broken_bottle.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/broken_bottle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

broken_bottle + + + +

+ + +

Procs

mimic_brokenMimics the appearance and properties of the passed in bottle. +Takes the broken bottle to mimic, and the thing the bottle was broken agaisnt as args

Proc Details

mimic_broken +

+

Mimics the appearance and properties of the passed in bottle. +Takes the broken bottle to mimic, and the thing the bottle was broken agaisnt as args

+ + + diff --git a/obj/item/candle.html b/obj/item/candle.html new file mode 100644 index 000000000000..4b122e5a7b2a --- /dev/null +++ b/obj/item/candle.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/candle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

candle + + + +

+ + +

Vars

waxHow many seconds it burns for
+

Var Details

wax + + + + +

+

How many seconds it burns for

+ + + diff --git a/obj/item/canvas.html b/obj/item/canvas.html new file mode 100644 index 000000000000..2f6e2f5cb378 --- /dev/null +++ b/obj/item/canvas.html @@ -0,0 +1,73 @@ + + + + + + + /obj/item/canvas - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

canvas + + + +

+ + + + + + + +

Vars

canvas_colorempty canvas color
last_patronreference to the last patron's mind datum, used to allow them (and no others) to change the frame before the round ends.
no_saveboolean that blocks persistence from saving it. enabled from printing copies, because we do not want to save copies.
pixels_per_unitHow big the grid cells that compose the painting are in the UI. +This impacts the size of the UI, so smaller values are generally better for bigger canvases and viceversa
usedIs it clean canvas or was there something painted on it at some point, used to decide when to show wip splotch overlay

Procs

get_paint_tool_mediumGenerates medium description
+

Var Details

canvas_color + + + + +

+

empty canvas color

last_patron + + + + +

+

reference to the last patron's mind datum, used to allow them (and no others) to change the frame before the round ends.

no_save + + + + +

+

boolean that blocks persistence from saving it. enabled from printing copies, because we do not want to save copies.

pixels_per_unit + + + + +

+

How big the grid cells that compose the painting are in the UI. +This impacts the size of the UI, so smaller values are generally better for bigger canvases and viceversa

used + + + + +

+

Is it clean canvas or was there something painted on it at some point, used to decide when to show wip splotch overlay

Proc Details

get_paint_tool_medium +

+

Generates medium description

+ + + diff --git a/obj/item/card/emag/battlecruiser.html b/obj/item/card/emag/battlecruiser.html new file mode 100644 index 000000000000..bbeface5367c --- /dev/null +++ b/obj/item/card/emag/battlecruiser.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/card/emag/battlecruiser - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

battlecruiser + + + +

+ + + +

Vars

teamThe battlecruiser team that the battlecruiser will get added to
usedwhether we have called the battlecruiser
+

Var Details

team + + + + +

+

The battlecruiser team that the battlecruiser will get added to

used + + + + +

+

whether we have called the battlecruiser

+ + + diff --git a/obj/item/card/id.html b/obj/item/card/id.html new file mode 100644 index 000000000000..c10ba1a0b0da --- /dev/null +++ b/obj/item/card/id.html @@ -0,0 +1,283 @@ + + + + + + + /obj/item/card/id - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

id + + + +

+ +

"Retro" ID card that renders itself as the icon state with no overlays.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

accessAccess levels held by this card.
assignmentThe job name registered on the card (for example: Assistant). Set by trim usually.
blood_typeRegistered owner's blood type.
cached_flat_iconCached icon that has been built for this card. Intended for use in chat.
dna_hashRegistered owner's dna hash.
fingerprintRegistered owner's fingerprint.
is_internBoolean value. If TRUE, the [Intern] tag gets prepended to this ID card when the label is updated.
labelThe name used in the ID UI. See update_label()
mining_pointsHow many magical mining Disney Dollars this card has for spending at the mining equipment vendors.
registered_accountLinked bank account.
registered_ageRegistered owner's age.
registered_nameThe name registered on the card (for example: Dr Bryan See)
trimTrim datum associated with the card. Controls which job icon is displayed on the card and which accesses do not require wildcards.
wildcard_slotsList of wildcard slot names as keys with lists of wildcard data as values.

Procs

add_accessAttempts to add the given accesses to the ID card as non-wildcards.
add_wildcardsAttempts to add the given wildcards to the ID card.
build_access_listsHelper proc. Creates access lists for the access procs.
can_add_wildcardsHelper proc, checks whether the ID card can hold any given set of wildcards.
can_use_idHelper proc. Can the user interact with the ID?
clear_accessClears all accesses from the ID card - both wildcard and normal.
clear_accountClears the economy account from the ID card.
get_cached_flat_iconIf no cached_flat_icon exists, this proc creates it and crops it. This proc then returns the cached_flat_icon. Intended only for use displaying ID card icons in chat.
get_trim_assignmentReturns the trim assignment name.
get_trim_sechud_icon_stateReturns the trim sechud icon state.
remove_accessRemoves the given accesses from the ID Card.
remove_wildcardsRemoves wildcards from the ID card.
set_accessAttempts to set the card's accesses to the given accesses, clearing all accesses not in the given list.
set_iconSets the UI icon of the ID to their datacore entry, or their current appearance if no record is found.
set_new_accountAttempts to set a new bank account on the ID card.
update_labelUpdates the name based on the card's vars and state.
+

Var Details

access + + + + +

+

Access levels held by this card.

assignment + + + + +

+

The job name registered on the card (for example: Assistant). Set by trim usually.

blood_type + + + + +

+

Registered owner's blood type.

cached_flat_icon + + + + +

+

Cached icon that has been built for this card. Intended for use in chat.

dna_hash + + + + +

+

Registered owner's dna hash.

fingerprint + + + + +

+

Registered owner's fingerprint.

is_intern + + + + +

+

Boolean value. If TRUE, the [Intern] tag gets prepended to this ID card when the label is updated.

label + + + + +

+

The name used in the ID UI. See update_label()

mining_points + + + + +

+

How many magical mining Disney Dollars this card has for spending at the mining equipment vendors.

registered_account + + + + +

+

Linked bank account.

registered_age + + + + +

+

Registered owner's age.

registered_name + + + + +

+

The name registered on the card (for example: Dr Bryan See)

trim + + + + +

+

Trim datum associated with the card. Controls which job icon is displayed on the card and which accesses do not require wildcards.

wildcard_slots + + + + +

+

List of wildcard slot names as keys with lists of wildcard data as values.

Proc Details

add_access +

+

Attempts to add the given accesses to the ID card as non-wildcards.

+

Depending on the mode, may add accesses as wildcards or error if it can't add them as non-wildcards. +Arguments:

+

add_wildcards +

+

Attempts to add the given wildcards to the ID card.

+

Arguments:

+

build_access_lists +

+

Helper proc. Creates access lists for the access procs.

+

Takes the accesses list and compares it with the trim. Any basic accesses that match the trim are +added to basic_access_list and the rest are added to wildcard_access_list.

+

This proc directly modifies the lists passed in as args. It expects these lists to be instantiated. +There is no return value. +Arguments:

+

can_add_wildcards +

+

Helper proc, checks whether the ID card can hold any given set of wildcards.

+

Returns TRUE if the card can hold the wildcards, FALSE otherwise. +Arguments:

+

can_use_id +

+

Helper proc. Can the user interact with the ID?

clear_access +

+

Clears all accesses from the ID card - both wildcard and normal.

clear_account +

+

Clears the economy account from the ID card.

get_cached_flat_icon +

+

If no cached_flat_icon exists, this proc creates it and crops it. This proc then returns the cached_flat_icon. Intended only for use displaying ID card icons in chat.

get_trim_assignment +

+

Returns the trim assignment name.

get_trim_sechud_icon_state +

+

Returns the trim sechud icon state.

remove_access +

+

Removes the given accesses from the ID Card.

+

Will remove the wildcards if the accesses given are on the card as wildcard accesses. +Arguments:

+

remove_wildcards +

+

Removes wildcards from the ID card.

+

Arguments:

+

set_access +

+

Attempts to set the card's accesses to the given accesses, clearing all accesses not in the given list.

+

Depending on the mode, may add accesses as wildcards or error if it can't add them as non-wildcards. +Arguments:

+

set_icon +

+

Sets the UI icon of the ID to their datacore entry, or their current appearance if no record is found.

set_new_account +

+

Attempts to set a new bank account on the ID card.

update_label +

+

Updates the name based on the card's vars and state.

+ + + diff --git a/obj/item/card/id/advanced.html b/obj/item/card/id/advanced.html new file mode 100644 index 000000000000..b1f8555a1d72 --- /dev/null +++ b/obj/item/card/id/advanced.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/card/id/advanced - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

advanced + + + +

+ + + + + + + +

Vars

assigned_icon_stateAn overlay icon state for when the card is assigned to a name. Usually manifests itself as a little scribble to the right of the job icon.
sechud_icon_state_overrideIf this is set, will manually override the trim shown for SecHUDs. Intended for admins to VV edit and chameleon ID cards.
trim_assignment_overrideIf this is set, will manually override the trim's assignmment as it appears in the crew monitor and elsewhere. Intended for admins to VV edit and chameleon ID cards.
trim_icon_overrideIf this is set, will manually override the icon file for the trim. Intended for admins to VV edit and chameleon ID cards.
trim_state_overrideIf this is set, will manually override the icon state for the trim. Intended for admins to VV edit and chameleon ID cards.

Procs

get_trim_sechud_icon_stateReturns the trim sechud icon state.
+

Var Details

assigned_icon_state + + + + +

+

An overlay icon state for when the card is assigned to a name. Usually manifests itself as a little scribble to the right of the job icon.

sechud_icon_state_override + + + + +

+

If this is set, will manually override the trim shown for SecHUDs. Intended for admins to VV edit and chameleon ID cards.

trim_assignment_override + + + + +

+

If this is set, will manually override the trim's assignmment as it appears in the crew monitor and elsewhere. Intended for admins to VV edit and chameleon ID cards.

trim_icon_override + + + + +

+

If this is set, will manually override the icon file for the trim. Intended for admins to VV edit and chameleon ID cards.

trim_state_override + + + + +

+

If this is set, will manually override the icon state for the trim. Intended for admins to VV edit and chameleon ID cards.

Proc Details

get_trim_sechud_icon_state +

+

Returns the trim sechud icon state.

+ + + diff --git a/obj/item/card/id/advanced/chameleon.html b/obj/item/card/id/advanced/chameleon.html new file mode 100644 index 000000000000..c2fd1ca6a6e6 --- /dev/null +++ b/obj/item/card/id/advanced/chameleon.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/card/id/advanced/chameleon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chameleon + + + +

+ + + + +

Vars

anyoneAnti-metagaming protections. If TRUE, anyone can change the ID card's details. If FALSE, only syndicate agents can.
forgedHave we set a custom name and job assignment, or will we use what we're given when we chameleon change?
theft_targetWeak ref to the ID card we're currently attempting to steal access from.
+

Var Details

anyone + + + + +

+

Anti-metagaming protections. If TRUE, anyone can change the ID card's details. If FALSE, only syndicate agents can.

forged + + + + +

+

Have we set a custom name and job assignment, or will we use what we're given when we chameleon change?

theft_target + + + + +

+

Weak ref to the ID card we're currently attempting to steal access from.

+ + + diff --git a/obj/item/card/id/advanced/prisoner.html b/obj/item/card/id/advanced/prisoner.html new file mode 100644 index 000000000000..237b42f7387a --- /dev/null +++ b/obj/item/card/id/advanced/prisoner.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/card/id/advanced/prisoner - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

prisoner + + + +

+ + + + + + +

Vars

goalNumber of gulag points required to earn freedom.
pointsNumber of gulag points earned.
time_leftTime left on a card till they can leave.
time_to_assignTime to assign to the card when they pass through the security gate.
timedIf the card has a timer set on it for temporary stay.
+

Var Details

goal + + + + +

+

Number of gulag points required to earn freedom.

points + + + + +

+

Number of gulag points earned.

time_left + + + + +

+

Time left on a card till they can leave.

time_to_assign + + + + +

+

Time to assign to the card when they pass through the security gate.

timed + + + + +

+

If the card has a timer set on it for temporary stay.

+ + + diff --git a/obj/item/cardboard_cutout.html b/obj/item/cardboard_cutout.html new file mode 100644 index 000000000000..2af5ad4427c4 --- /dev/null +++ b/obj/item/cardboard_cutout.html @@ -0,0 +1,74 @@ + + + + + + + /obj/item/cardboard_cutout - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cardboard_cutout + + + +

+ + + + + + +

Vars

deceptiveIf the cutout actually appears as what it portray and not a discolored version
possible_appearancesPossible restyles for the cutout, add an entry in change_appearance() if you add to here
pushed_overIf the cutout is pushed over and has to be righted

Procs

change_appearancechange_appearance: Changes a skin of the cardboard cutout based on a user's choice
check_menucheck_menu: Checks if we are allowed to interact with a radial menu
+

Var Details

deceptive + + + + +

+

If the cutout actually appears as what it portray and not a discolored version

possible_appearances + + + + +

+

Possible restyles for the cutout, add an entry in change_appearance() if you add to here

pushed_over + + + + +

+

If the cutout is pushed over and has to be righted

Proc Details

change_appearance +

+

change_appearance: Changes a skin of the cardboard cutout based on a user's choice

+

Arguments:

+

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
+ + + diff --git a/obj/item/cardpack.html b/obj/item/cardpack.html new file mode 100644 index 000000000000..48f77b3ecd04 --- /dev/null +++ b/obj/item/cardpack.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/cardpack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cardpack + + + +

+ + + + + + + + + +

Vars

card_countThe amount of cards to draw from the rarity table
contains_coinChance of the pack having a coin in it out of 10
guar_rarityThe guaranteed rarity table, acts about the same as the rarity table. it can have as many or as few raritys as you'd like
guaranteed_countThe amount of cards to draw from the guarenteed rarity table
rarity_tableThe rarity table, the set must contain at least one of each
seriesThe card series to look in

Procs

buildCardListWithRarityReturns a list of cards ids of card_cnt weighted by rarity from the pack's tables that have matching series, with gnt_cnt of the guarenteed table.
returnCardsByRarityReturns a list of card datums of the length cardCount that match a random rarity weighted by rarity_table[]
+

Var Details

card_count + + + + +

+

The amount of cards to draw from the rarity table

contains_coin + + + + +

+

Chance of the pack having a coin in it out of 10

guar_rarity + + + + +

+

The guaranteed rarity table, acts about the same as the rarity table. it can have as many or as few raritys as you'd like

guaranteed_count + + + + +

+

The amount of cards to draw from the guarenteed rarity table

rarity_table + + + + +

+

The rarity table, the set must contain at least one of each

series + + + + +

+

The card series to look in

Proc Details

buildCardListWithRarity +

+

Returns a list of cards ids of card_cnt weighted by rarity from the pack's tables that have matching series, with gnt_cnt of the guarenteed table.

returnCardsByRarity +

+

Returns a list of card datums of the length cardCount that match a random rarity weighted by rarity_table[]

+ + + diff --git a/obj/item/changeling/id.html b/obj/item/changeling/id.html new file mode 100644 index 000000000000..750d22f97bb2 --- /dev/null +++ b/obj/item/changeling/id.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/changeling/id - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

id + + + +

+ + + + +

Vars

cached_flat_iconCached flat icon of the ID
hud_iconHUD job icon of the ID

Procs

get_cached_flat_iconReturns cached flat icon of the ID, creates one if there is not one already cached
+

Var Details

cached_flat_icon + + + + +

+

Cached flat icon of the ID

hud_icon + + + + +

+

HUD job icon of the ID

Proc Details

get_cached_flat_icon +

+

Returns cached flat icon of the ID, creates one if there is not one already cached

+ + + diff --git a/obj/item/chisel.html b/obj/item/chisel.html new file mode 100644 index 000000000000..7716df2f2da9 --- /dev/null +++ b/obj/item/chisel.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/chisel - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chisel + + + +

+ + + + +

Vars

prepared_blockBlock we're currently carving in
sculptingCurrently sculpting
tracked_userIf tracked user moves we stop sculpting
+

Var Details

prepared_block + + + + +

+

Block we're currently carving in

sculpting + + + + +

+

Currently sculpting

tracked_user + + + + +

+

If tracked user moves we stop sculpting

+ + + diff --git a/obj/item/circuit_component.html b/obj/item/circuit_component.html new file mode 100644 index 000000000000..2b6f3533b8b9 --- /dev/null +++ b/obj/item/circuit_component.html @@ -0,0 +1,391 @@ + + + + + + + /obj/item/circuit_component - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Integrated Circuit Component + + + +

+ +

A component that performs a function when given an input

+

Can be attached to an integrated circuitboard, where it can then +be connected between other components to provide an output or to receive +an input. This is the base type of all components

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

categoryThe category of the component in the UI
circuit_flagsThe flags of the circuit to control basic generalised behaviour.
circuit_sizeDetermines the amount of space this circuit occupies in an integrated circuit.
display_nameThe name of the component shown on the UI
input_portsA list that contains the components the input ports on this component +Used to connect between the ports
output_portsA list that contains the outpurt ports on this component +Used to connect between the ports
parentThe integrated_circuit that this component is attached to.
power_usage_per_inputThe power usage whenever this component receives an input
rel_xUsed to determine the x position of the component within the UI
rel_yUsed to determine the y position of the component within the UI
removableWhether the component is removable or not. Only affects user UI
required_shellsDefines which shells support this component. Only used as an informational guide, does not restrict placing these components in circuits.
trigger_inputGeneric trigger input for triggering this component
ui_buttonsThe UI buttons of this circuit component. An assoc list that has this format: "button_icon" = "action_name"
ui_colorThe colour this circuit component appears in the UI

Procs

add_input_portAdds an input port and returns it
add_option_portExtension of add_input_port. Simplifies the code to make an option port to reduce boilerplate
add_output_portAdds an output port and returns it
add_toCalled when this component is about to be added to an integrated_circuit.
create_table_noticesCreates a table UI notice entry to be used in get_ui_notices()
create_ui_noticeCreates a UI notice entry to be used in get_ui_notices()
disconnectDisconnects a component from other components
get_locationCalled when trying to get the physical location of this object
get_ui_noticesGets the UI notices to be displayed on the CircuitInfo panel.
input_receivedCalled from trigger_component. General component behaviour should go in this proc. This is the default proc that is called if no trigger proc is specified.
load_data_from_listLoads data from a list
populate_optionsCalled when the option ports should be set up
populate_portsCalled when the rest of the ports should be set up
pre_input_receivedCalled before input_received and should_receive_input. Used to perform behaviour that shouldn't care whether the input should be received or not.
register_shellCalled when a shell is registered from the component/the component is added to a circuit.
register_usb_parentCalled when a circuit component is added to an object with a USB port.
remove_input_portRemoves an input port and deletes it. This will not cleanup any references made by derivatives of the circuit component
remove_output_portRemoves an output port and deletes it. This will not cleanup any references made by derivatives of the circuit component
removed_fromCalled when this component is removed from an integrated_circuit.
save_data_to_listSaves data to a list. Shouldn't be used unless you are quite literally saving the data of a component to a list. Input value is the list to save the data to
should_receive_inputCalled whether this circuit component should receive an input. +If this returns false, the proc that is supposed to be triggered will not be called and an output signal will not be sent. +This is to only return false if flow of execution should be stopped because something bad has happened (e.g. no power) +Returning no value in input_received() is not an issue because it means flow of execution will continue even if the component failed to execute properly.
trigger_componentCalled whenever an input is received from one of the ports.
ui_perform_actionCalled when a special button is pressed on this component in the UI.
unregister_shellCalled when a shell is unregistered from the component/the component is removed from a circuit.
unregister_usb_parentCalled when a circuit component is removed from an object with a USB port.
+

Var Details

category + + + + +

+

The category of the component in the UI

circuit_flags + + + + +

+

The flags of the circuit to control basic generalised behaviour.

circuit_size + + + + +

+

Determines the amount of space this circuit occupies in an integrated circuit.

display_name + + + + +

+

The name of the component shown on the UI

input_ports + + + + +

+

A list that contains the components the input ports on this component +Used to connect between the ports

output_ports + + + + +

+

A list that contains the outpurt ports on this component +Used to connect between the ports

parent + + + + +

+

The integrated_circuit that this component is attached to.

power_usage_per_input + + + + +

+

The power usage whenever this component receives an input

rel_x + + + + +

+

Used to determine the x position of the component within the UI

rel_y + + + + +

+

Used to determine the y position of the component within the UI

removable + + + + +

+

Whether the component is removable or not. Only affects user UI

required_shells + + + + +

+

Defines which shells support this component. Only used as an informational guide, does not restrict placing these components in circuits.

trigger_input + + + + +

+

Generic trigger input for triggering this component

ui_buttons + + + + +

+

The UI buttons of this circuit component. An assoc list that has this format: "button_icon" = "action_name"

ui_color + + + + +

+

The colour this circuit component appears in the UI

Proc Details

add_input_port +

+

Adds an input port and returns it

+

Arguments:

+

add_option_port +

+

Extension of add_input_port. Simplifies the code to make an option port to reduce boilerplate

add_output_port +

+

Adds an output port and returns it

+

Arguments:

+

add_to +

+

Called when this component is about to be added to an integrated_circuit.

create_table_notices +

+

Creates a table UI notice entry to be used in get_ui_notices()

+

Returns a list that can then be added to the return list in get_ui_notices() +Used by components to list their available columns. Recommended to use at the end of get_ui_notices()

create_ui_notice +

+

Creates a UI notice entry to be used in get_ui_notices()

+

Returns a list that can then be added to the return list in get_ui_notices()

disconnect +

+

Disconnects a component from other components

+

Disconnects both the input and output ports of the component

get_location +

+

Called when trying to get the physical location of this object

get_ui_notices +

+

Gets the UI notices to be displayed on the CircuitInfo panel.

+

Returns a list of buttons in the following format +list( +"icon" = ICON(string) +"content" = CONTENT(string) +"color" = COLOR(string, not a hex) +)

input_received +

+

Called from trigger_component. General component behaviour should go in this proc. This is the default proc that is called if no trigger proc is specified.

+

Return value indicates that the circuit should not send an output signal. +Arguments:

+

load_data_from_list +

+

Loads data from a list

populate_options +

+

Called when the option ports should be set up

populate_ports +

+

Called when the rest of the ports should be set up

pre_input_received +

+

Called before input_received and should_receive_input. Used to perform behaviour that shouldn't care whether the input should be received or not.

register_shell +

+

Called when a shell is registered from the component/the component is added to a circuit.

+

Register all signals here on the shell. +Arguments:

+

register_usb_parent +

+

Called when a circuit component is added to an object with a USB port.

+

Arguments:

+

remove_input_port +

+

Removes an input port and deletes it. This will not cleanup any references made by derivatives of the circuit component

+

Arguments:

+

remove_output_port +

+

Removes an output port and deletes it. This will not cleanup any references made by derivatives of the circuit component

+

Arguments:

+

removed_from +

+

Called when this component is removed from an integrated_circuit.

save_data_to_list +

+

Saves data to a list. Shouldn't be used unless you are quite literally saving the data of a component to a list. Input value is the list to save the data to

should_receive_input +

+

Called whether this circuit component should receive an input. +If this returns false, the proc that is supposed to be triggered will not be called and an output signal will not be sent. +This is to only return false if flow of execution should be stopped because something bad has happened (e.g. no power) +Returning no value in input_received() is not an issue because it means flow of execution will continue even if the component failed to execute properly.

+

Return value indicates whether or not +Arguments:

+

trigger_component +

+

Called whenever an input is received from one of the ports.

+

Return value indicates whether the trigger was successful or not. +Arguments:

+

ui_perform_action +

+

Called when a special button is pressed on this component in the UI.

+

Arguments:

+

unregister_shell +

+

Called when a shell is unregistered from the component/the component is removed from a circuit.

+

Unregister all signals here on the shell. +Arguments:

+

unregister_usb_parent +

+

Called when a circuit component is removed from an object with a USB port.

+

Arguments:

+
+ + + diff --git a/obj/item/circuit_component/airlock.html b/obj/item/circuit_component/airlock.html new file mode 100644 index 000000000000..fed1c84b676b --- /dev/null +++ b/obj/item/circuit_component/airlock.html @@ -0,0 +1,106 @@ + + + + + + + /obj/item/circuit_component/airlock - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

airlock + + + +

+ + + + + + + + + + + + +

Vars

attached_airlockThe shell, if it is an airlock.
boltBolts the airlock (if possible)
boltedCalled when the airlock is bolted
closeCloses the airlock (if possible)
closedCalled when the airlock is closed
is_boltedContains whether the airlock is bolted or not
is_openContains whether the airlock is open or not
openOpens the airlock (if possible)
openedCalled when the airlock is opened.
unboltUnbolts the airlock (if possible)
unboltedCalled when the airlock is unbolted
+

Var Details

attached_airlock + + + + +

+

The shell, if it is an airlock.

bolt + + + + +

+

Bolts the airlock (if possible)

bolted + + + + +

+

Called when the airlock is bolted

close + + + + +

+

Closes the airlock (if possible)

closed + + + + +

+

Called when the airlock is closed

is_bolted + + + + +

+

Contains whether the airlock is bolted or not

is_open + + + + +

+

Contains whether the airlock is open or not

open + + + + +

+

Opens the airlock (if possible)

opened + + + + +

+

Called when the airlock is opened.

unbolt + + + + +

+

Unbolts the airlock (if possible)

unbolted + + + + +

+

Called when the airlock is unbolted

+ + + diff --git a/obj/item/circuit_component/airlock_access_event.html b/obj/item/circuit_component/airlock_access_event.html new file mode 100644 index 000000000000..776e78e490e6 --- /dev/null +++ b/obj/item/circuit_component/airlock_access_event.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/airlock_access_event - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

airlock_access_event + + + +

+ + + + + +

Vars

accessing_entityThe person trying to open the airlock.
attached_airlockThe shell, if it is an airlock.
event_triggeredThe signal sent when this event is triggered
open_airlockTells the event to open the airlock.
+

Var Details

accessing_entity + + + + +

+

The person trying to open the airlock.

attached_airlock + + + + +

+

The shell, if it is an airlock.

event_triggered + + + + +

+

The signal sent when this event is triggered

open_airlock + + + + +

+

Tells the event to open the airlock.

+ + + diff --git a/obj/item/circuit_component/arithmetic.html b/obj/item/circuit_component/arithmetic.html new file mode 100644 index 000000000000..955654f11bcc --- /dev/null +++ b/obj/item/circuit_component/arithmetic.html @@ -0,0 +1,44 @@ + + + + + + + /obj/item/circuit_component/arithmetic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Arithmetic Component + + + +

+ +

General arithmetic unit with add/sub/mult/divide capabilities +This one only works with numbers.

+ +

Vars

input_port_amountThe amount of input ports to have
outputThe result from the output
+

Var Details

input_port_amount + + + + +

+

The amount of input ports to have

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/arrest_console_arrest.html b/obj/item/circuit_component/arrest_console_arrest.html new file mode 100644 index 000000000000..0a86ce03955c --- /dev/null +++ b/obj/item/circuit_component/arrest_console_arrest.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/arrest_console_arrest - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

arrest_console_arrest + + + +

+ + + + + +

Vars

new_statusSets the new status of the targets.
new_status_setReturns the new status set once the setting is complete. Good for locating errors.
on_failSends a signal on failure
targetsThe targets to set the status of.
+

Var Details

new_status + + + + +

+

Sets the new status of the targets.

new_status_set + + + + +

+

Returns the new status set once the setting is complete. Good for locating errors.

on_fail + + + + +

+

Sends a signal on failure

targets + + + + +

+

The targets to set the status of.

+ + + diff --git a/obj/item/circuit_component/arrest_console_data.html b/obj/item/circuit_component/arrest_console_data.html new file mode 100644 index 000000000000..2b2a4dba98cd --- /dev/null +++ b/obj/item/circuit_component/arrest_console_data.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/arrest_console_data - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

arrest_console_data + + + +

+ + + +

Vars

on_failSends a signal on failure
recordsThe records retrieved
+

Var Details

on_fail + + + + +

+

Sends a signal on failure

records + + + + +

+

The records retrieved

+ + + diff --git a/obj/item/circuit_component/atmos_meter.html b/obj/item/circuit_component/atmos_meter.html new file mode 100644 index 000000000000..95c4dc7951c2 --- /dev/null +++ b/obj/item/circuit_component/atmos_meter.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/atmos_meter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

atmos_meter + + + +

+ + + + + +

Vars

connected_meterThe component parent object
net_temperatureTemperature of the pipenet
pressurePressure of the pipenet
request_dataSignals the circuit to retrieve the pipenet's current pressure and temperature
+

Var Details

connected_meter + + + + +

+

The component parent object

net_temperature + + + + +

+

Temperature of the pipenet

pressure + + + + +

+

Pressure of the pipenet

request_data + + + + +

+

Signals the circuit to retrieve the pipenet's current pressure and temperature

+ + + diff --git a/obj/item/circuit_component/atmos_pump.html b/obj/item/circuit_component/atmos_pump.html new file mode 100644 index 000000000000..853faa950075 --- /dev/null +++ b/obj/item/circuit_component/atmos_pump.html @@ -0,0 +1,113 @@ + + + + + + + /obj/item/circuit_component/atmos_pump - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

atmos_pump + + + +

+ + + + + + + + + + + + + +

Vars

connected_pumpThe component parent object
input_pressurePressure of the input port
input_temperatureTemperature of the input port
is_activeWhether the pump is currently active
offDeactivate the pump
onActivate the pump
output_pressurePressure of the output port
output_temperatureTemperature of the output port
pressure_valueSet the target pressure of the pump
request_dataSignals the circuit to retrieve the pump's current pressure and temperature
turned_offSend a signal when the pump is turned off
turned_onSend a signal when the pump is turned on
+

Var Details

connected_pump + + + + +

+

The component parent object

input_pressure + + + + +

+

Pressure of the input port

input_temperature + + + + +

+

Temperature of the input port

is_active + + + + +

+

Whether the pump is currently active

off + + + + +

+

Deactivate the pump

on + + + + +

+

Activate the pump

output_pressure + + + + +

+

Pressure of the output port

output_temperature + + + + +

+

Temperature of the output port

pressure_value + + + + +

+

Set the target pressure of the pump

request_data + + + + +

+

Signals the circuit to retrieve the pump's current pressure and temperature

turned_off + + + + +

+

Send a signal when the pump is turned off

turned_on + + + + +

+

Send a signal when the pump is turned on

+ + + diff --git a/obj/item/circuit_component/atmos_volume_pump.html b/obj/item/circuit_component/atmos_volume_pump.html new file mode 100644 index 000000000000..db09e3e7680a --- /dev/null +++ b/obj/item/circuit_component/atmos_volume_pump.html @@ -0,0 +1,113 @@ + + + + + + + /obj/item/circuit_component/atmos_volume_pump - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

atmos_volume_pump + + + +

+ + + + + + + + + + + + + +

Vars

connected_pumpThe component parent object
input_pressurePressure of the input port
input_temperatureTemperature of the input port
is_activeWhether the pump is currently active
offDeactivate the pump
onActivate the pump
output_pressurePressure of the output port
output_temperatureTemperature of the output port
request_dataSignals the circuit to retrieve the pump's current pressure and temperature
transfer_rateSet the transfer rate of the pump
turned_offSend a signal when the pump is turned off
turned_onSend a signal when the pump is turned on
+

Var Details

connected_pump + + + + +

+

The component parent object

input_pressure + + + + +

+

Pressure of the input port

input_temperature + + + + +

+

Temperature of the input port

is_active + + + + +

+

Whether the pump is currently active

off + + + + +

+

Deactivate the pump

on + + + + +

+

Activate the pump

output_pressure + + + + +

+

Pressure of the output port

output_temperature + + + + +

+

Temperature of the output port

request_data + + + + +

+

Signals the circuit to retrieve the pump's current pressure and temperature

transfer_rate + + + + +

+

Set the transfer rate of the pump

turned_off + + + + +

+

Send a signal when the pump is turned off

turned_on + + + + +

+

Send a signal when the pump is turned on

+ + + diff --git a/obj/item/circuit_component/bci_core.html b/obj/item/circuit_component/bci_core.html new file mode 100644 index 000000000000..e82092b28adc --- /dev/null +++ b/obj/item/circuit_component/bci_core.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/bci_core - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bci_core + + + +

+ + +

Vars

charge_actionA reference to the action button to look at charge/get info
+

Var Details

charge_action + + + + +

+

A reference to the action button to look at charge/get info

+ + + diff --git a/obj/item/circuit_component/begin_animation.html b/obj/item/circuit_component/begin_animation.html new file mode 100644 index 000000000000..443b1441844d --- /dev/null +++ b/obj/item/circuit_component/begin_animation.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/circuit_component/begin_animation - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

begin_animation + + + +

+ + + + + + + + +

Vars

animate_eventCalled when performing the animation.
animation_loopsThe amount of times this animation will loop
atom_or_filterWhether we are animating an atom or a filter on the atom
filter_targetThe filter to animate
parallelUsed to determine if the animation runs in parallel or not.
stop_all_animationsCalled to stop all animations on this object
targetThe target to animate
+

Var Details

animate_event + + + + +

+

Called when performing the animation.

animation_loops + + + + +

+

The amount of times this animation will loop

atom_or_filter + + + + +

+

Whether we are animating an atom or a filter on the atom

filter_target + + + + +

+

The filter to animate

parallel + + + + +

+

Used to determine if the animation runs in parallel or not.

stop_all_animations + + + + +

+

Called to stop all animations on this object

target + + + + +

+

The target to animate

+ + + diff --git a/obj/item/circuit_component/binary_decimal.html b/obj/item/circuit_component/binary_decimal.html new file mode 100644 index 000000000000..5f3fc33e3285 --- /dev/null +++ b/obj/item/circuit_component/binary_decimal.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/binary_decimal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Binary Decimal Component + + + +

+ +

Has a bit array on one side and a decimal number on the other.

+ +

Vars

bit_arrayMany binary digits
numberOne number
+

Var Details

bit_array + + + + +

+

Many binary digits

number + + + + +

+

One number

+ + + diff --git a/obj/item/circuit_component/bot.html b/obj/item/circuit_component/bot.html new file mode 100644 index 000000000000..8abdc16947b6 --- /dev/null +++ b/obj/item/circuit_component/bot.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/bot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bot + + + +

+ + + +

Vars

entityThe user who used the bot
signalCalled when attack_hand is called on the shell.
+

Var Details

entity + + + + +

+

The user who used the bot

signal + + + + +

+

Called when attack_hand is called on the shell.

+ + + diff --git a/obj/item/circuit_component/bot_circuit.html b/obj/item/circuit_component/bot_circuit.html new file mode 100644 index 000000000000..db97f75a12de --- /dev/null +++ b/obj/item/circuit_component/bot_circuit.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/bot_circuit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bot_circuit + + + +

+ + + +

Vars

move_delayDelay between each movement
northThe inputs to allow for the drone to move
+

Var Details

move_delay + + + + +

+

Delay between each movement

north + + + + +

+

The inputs to allow for the drone to move

+ + + diff --git a/obj/item/circuit_component/camera.html b/obj/item/circuit_component/camera.html new file mode 100644 index 000000000000..6f73273c1860 --- /dev/null +++ b/obj/item/circuit_component/camera.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/circuit_component/camera - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

camera + + + +

+ + + + + + + + +

Vars

adjust_size_xAdjusts the picture_size_x variable of the camera.
adjust_size_yIdem but for picture_size_y.
cameraThe camera this circut is attached to.
photographed_atomThe atom that was photographed from either user click or trigger input.
picture_coord_xIf the above is unset, these coordinates will be used.
picture_takenThe item that was added/removed.
picture_targetIf set, the trigger input will target this atom.
+

Var Details

adjust_size_x + + + + +

+

Adjusts the picture_size_x variable of the camera.

adjust_size_y + + + + +

+

Idem but for picture_size_y.

camera + + + + +

+

The camera this circut is attached to.

photographed_atom + + + + +

+

The atom that was photographed from either user click or trigger input.

picture_coord_x + + + + +

+

If the above is unset, these coordinates will be used.

picture_taken + + + + +

+

The item that was added/removed.

picture_target + + + + +

+

If set, the trigger input will target this atom.

+ + + diff --git a/obj/item/circuit_component/clock.html b/obj/item/circuit_component/clock.html new file mode 100644 index 000000000000..eaa1e7e702cb --- /dev/null +++ b/obj/item/circuit_component/clock.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/circuit_component/clock - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Clock Component + + + +

+ +

Fires every tick of the circuit timer SS

+ + + +

Vars

onWhether the clock is on or not
signalThe signal from this clock component

Procs

start_processAdds the component to the SSclock_component process list
stop_processRemoves the component to the SSclock_component process list
+

Var Details

on + + + + +

+

Whether the clock is on or not

signal + + + + +

+

The signal from this clock component

Proc Details

start_process +

+

Adds the component to the SSclock_component process list

+

Starts ticking to send signals between periods of time

stop_process +

+

Removes the component to the SSclock_component process list

+

Signals stop getting sent.

+ + + diff --git a/obj/item/circuit_component/compact_remote.html b/obj/item/circuit_component/compact_remote.html new file mode 100644 index 000000000000..f7b8558101c3 --- /dev/null +++ b/obj/item/circuit_component/compact_remote.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/compact_remote - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

compact_remote + + + +

+ + + + +

Vars

entityThe user who used the bot
signalCalled when attack_self is called on the shell.

Procs

send_triggerCalled when the shell item is used in hand.
+

Var Details

entity + + + + +

+

The user who used the bot

signal + + + + +

+

Called when attack_self is called on the shell.

Proc Details

send_trigger +

+

Called when the shell item is used in hand.

+ + + diff --git a/obj/item/circuit_component/compare.html b/obj/item/circuit_component/compare.html new file mode 100644 index 000000000000..72ab140c4eae --- /dev/null +++ b/obj/item/circuit_component/compare.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/circuit_component/compare - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Compare Component + + + +

+ +

Abstract component to build conditional components

+ + + + + +

Vars

compareThe trigger for the true/false signals
input_port_amountThe amount of input ports to have
resultThe result from the output
trueSignals sent on compare

Procs

do_comparisonsDo the comparisons and return a result
populate_custom_portsUsed by derivatives to load their own ports in for custom use.
+

Var Details

compare + + + + +

+

The trigger for the true/false signals

input_port_amount + + + + +

+

The amount of input ports to have

result + + + + +

+

The result from the output

true + + + + +

+

Signals sent on compare

Proc Details

do_comparisons +

+

Do the comparisons and return a result

populate_custom_ports +

+

Used by derivatives to load their own ports in for custom use.

+ + + diff --git a/obj/item/circuit_component/compare/access.html b/obj/item/circuit_component/compare/access.html new file mode 100644 index 000000000000..74c650619721 --- /dev/null +++ b/obj/item/circuit_component/compare/access.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/compare/access - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

access + + + +

+ + + + +

Vars

check_anyWhether to check for all or any of the required accesses
required_accessesA list of the accesses required to return true
subject_accessesA list of the accesses to check
+

Var Details

check_any + + + + +

+

Whether to check for all or any of the required accesses

required_accesses + + + + +

+

A list of the accesses required to return true

subject_accesses + + + + +

+

A list of the accesses to check

+ + + diff --git a/obj/item/circuit_component/concat.html b/obj/item/circuit_component/concat.html new file mode 100644 index 000000000000..ba29b99e463a --- /dev/null +++ b/obj/item/circuit_component/concat.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/concat - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Concatenate Component + + + +

+ +

General string concatenation component. Puts strings together.

+ +

Vars

input_port_amountThe amount of input ports to have
outputThe result from the output
+

Var Details

input_port_amount + + + + +

+

The amount of input ports to have

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/concat_list.html b/obj/item/circuit_component/concat_list.html new file mode 100644 index 000000000000..b6030a7bc294 --- /dev/null +++ b/obj/item/circuit_component/concat_list.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/concat_list - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Concat List Component + + + +

+ +

Concatenates a list with a separator

+ + +

Vars

list_portThe input port
outputThe result from the output
separatorThe seperator
+

Var Details

list_port + + + + +

+

The input port

output + + + + +

+

The result from the output

separator + + + + +

+

The seperator

+ + + diff --git a/obj/item/circuit_component/controller.html b/obj/item/circuit_component/controller.html new file mode 100644 index 000000000000..f9efd1484800 --- /dev/null +++ b/obj/item/circuit_component/controller.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/controller - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

controller + + + +

+ + + + + + +

Vars

entityThe entity output
signalThe three separate buttons that are called in attack_hand on the shell.

Procs

send_alternate_signalCalled when the shell item is alt-clicked
send_right_signalCalled when the shell item is right-clicked in active hand
send_triggerCalled when the shell item is used in hand
+

Var Details

entity + + + + +

+

The entity output

signal + + + + +

+

The three separate buttons that are called in attack_hand on the shell.

Proc Details

send_alternate_signal +

+

Called when the shell item is alt-clicked

send_right_signal +

+

Called when the shell item is right-clicked in active hand

send_trigger +

+

Called when the shell item is used in hand

+ + + diff --git a/obj/item/circuit_component/conveyor_switch.html b/obj/item/circuit_component/conveyor_switch.html new file mode 100644 index 000000000000..05cca8f42a41 --- /dev/null +++ b/obj/item/circuit_component/conveyor_switch.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/conveyor_switch - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

conveyor_switch + + + +

+ + + +

Vars

attached_switchThe switch this conveyor switch component is attached to.
directionThe current direction of the conveyor attached to the component.
+

Var Details

attached_switch + + + + +

+

The switch this conveyor switch component is attached to.

direction + + + + +

+

The current direction of the conveyor attached to the component.

+ + + diff --git a/obj/item/circuit_component/delay.html b/obj/item/circuit_component/delay.html new file mode 100644 index 000000000000..2514aeff4d02 --- /dev/null +++ b/obj/item/circuit_component/delay.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/delay - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Delay Component + + + +

+ +

Delays a signal by a specified duration.

+ + + +

Vars

delay_amountAmount to delay by
interruptInterrupts the delay before it fires
outputThe output of the signal
triggerInput signal to fire the delay
+

Var Details

delay_amount + + + + +

+

Amount to delay by

interrupt + + + + +

+

Interrupts the delay before it fires

output + + + + +

+

The output of the signal

trigger + + + + +

+

Input signal to fire the delay

+ + + diff --git a/obj/item/circuit_component/digital_valve.html b/obj/item/circuit_component/digital_valve.html new file mode 100644 index 000000000000..5e45774c2f65 --- /dev/null +++ b/obj/item/circuit_component/digital_valve.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/digital_valve - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

digital_valve + + + +

+ + + + + + +

Vars

closeCloses the digital valve
closedSent when the valve is closed
is_openWhether the valve is currently open
openOpens the digital valve
openedSent when the valve is opened
+

Var Details

close + + + + +

+

Closes the digital valve

closed + + + + +

+

Sent when the valve is closed

is_open + + + + +

+

Whether the valve is currently open

open + + + + +

+

Opens the digital valve

opened + + + + +

+

Sent when the valve is opened

+ + + diff --git a/obj/item/circuit_component/direction.html b/obj/item/circuit_component/direction.html new file mode 100644 index 000000000000..ac78498e526a --- /dev/null +++ b/obj/item/circuit_component/direction.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/direction - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Direction Component + + + +

+ +

Return the direction of a mob relative to the component

+ + +

Vars

input_portThe input port
max_rangeMaximum range for a valid direction to be returned
outputThe result from the output
+

Var Details

input_port + + + + +

+

The input port

max_range + + + + +

+

Maximum range for a valid direction to be returned

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/dispenser_bot.html b/obj/item/circuit_component/dispenser_bot.html new file mode 100644 index 000000000000..12a0b70f0b17 --- /dev/null +++ b/obj/item/circuit_component/dispenser_bot.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/dispenser_bot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

dispenser_bot + + + +

+ + + + + + +

Vars

itemThe item that was added/removed.
item_listThe list of items
on_item_addedCalled when an item is added.
on_item_removedCalled when an item is removed.
vendor_componentsVendor components attached to this dispenser bot
+

Var Details

item + + + + +

+

The item that was added/removed.

item_list + + + + +

+

The list of items

on_item_added + + + + +

+

Called when an item is added.

on_item_removed + + + + +

+

Called when an item is removed.

vendor_components + + + + +

+

Vendor components attached to this dispenser bot

+ + + diff --git a/obj/item/circuit_component/equipment_action.html b/obj/item/circuit_component/equipment_action.html new file mode 100644 index 000000000000..8a0d9ee3a92e --- /dev/null +++ b/obj/item/circuit_component/equipment_action.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/equipment_action - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

equipment_action + + + +

+ + + + +

Vars

button_nameThe name to use for the button
icon_optionsThe icon of the button
signalCalled when the user presses the button
+

Var Details

button_name + + + + +

+

The name to use for the button

icon_options + + + + +

+

The icon of the button

signal + + + + +

+

Called when the user presses the button

+ + + diff --git a/obj/item/circuit_component/equipment_action/bci.html b/obj/item/circuit_component/equipment_action/bci.html new file mode 100644 index 000000000000..f14527b0a7cb --- /dev/null +++ b/obj/item/circuit_component/equipment_action/bci.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/equipment_action/bci - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bci + + + +

+ + +

Vars

bci_actionA reference to the action button itself
+

Var Details

bci_action + + + + +

+

A reference to the action button itself

+ + + diff --git a/obj/item/circuit_component/filter_list.html b/obj/item/circuit_component/filter_list.html new file mode 100644 index 000000000000..0c53557fa433 --- /dev/null +++ b/obj/item/circuit_component/filter_list.html @@ -0,0 +1,99 @@ + + + + + + + /obj/item/circuit_component/filter_list - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

For Each Component + + + +

+ +

Filters

+ + + + + + + + + +

Vars

accept_entryAdds the list to the result
current_indexThe current index from the list
elementThe current element from the list
finished_listThe finished list
limitThe limit of iterations before it breaks. Used to prevent from someone iterating a massive list constantly
list_optionsThe list type
list_to_filterThe list to filter over
on_failedA signal that is sent when the filtering has failed
on_finishedA signal that is sent when the filtering has finished
on_next_indexA signal that is sent when the list has moved onto the next index.
+

Var Details

accept_entry + + + + +

+

Adds the list to the result

current_index + + + + +

+

The current index from the list

element + + + + +

+

The current element from the list

finished_list + + + + +

+

The finished list

limit + + + + +

+

The limit of iterations before it breaks. Used to prevent from someone iterating a massive list constantly

list_options + + + + +

+

The list type

list_to_filter + + + + +

+

The list to filter over

on_failed + + + + +

+

A signal that is sent when the filtering has failed

on_finished + + + + +

+

A signal that is sent when the filtering has finished

on_next_index + + + + +

+

A signal that is sent when the list has moved onto the next index.

+ + + diff --git a/obj/item/circuit_component/firealarm.html b/obj/item/circuit_component/firealarm.html new file mode 100644 index 000000000000..04c865ae5de5 --- /dev/null +++ b/obj/item/circuit_component/firealarm.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/firealarm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

firealarm + + + +

+ + + + +

Vars

is_onReturns a boolean value of 0 or 1 if the fire alarm is on or not.
resetReturns when the alarm is turned off
triggeredReturns when the alarm is turned on
+

Var Details

is_on + + + + +

+

Returns a boolean value of 0 or 1 if the fire alarm is on or not.

reset + + + + +

+

Returns when the alarm is turned off

triggered + + + + +

+

Returns when the alarm is turned on

+ + + diff --git a/obj/item/circuit_component/foreach.html b/obj/item/circuit_component/foreach.html new file mode 100644 index 000000000000..b94c9b835d89 --- /dev/null +++ b/obj/item/circuit_component/foreach.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/circuit_component/foreach - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

For Each Component + + + +

+ +

Sends a signal for each item in a list

+ + + + + + + +

Vars

current_indexThe current index from the list
elementThe current element from the list
list_optionsThe list type
list_to_iterateThe list to iterate over
next_indexMove to the next index
on_finishedA signal that is sent when the list has finished iterating
on_next_indexA signal that is sent when the list has moved onto the next index.
reset_indexResets the index to 0
+

Var Details

current_index + + + + +

+

The current index from the list

element + + + + +

+

The current element from the list

list_options + + + + +

+

The list type

list_to_iterate + + + + +

+

The list to iterate over

next_index + + + + +

+

Move to the next index

on_finished + + + + +

+

A signal that is sent when the list has finished iterating

on_next_index + + + + +

+

A signal that is sent when the list has moved onto the next index.

reset_index + + + + +

+

Resets the index to 0

+ + + diff --git a/obj/item/circuit_component/format.html b/obj/item/circuit_component/format.html new file mode 100644 index 000000000000..e43f1d13c35c --- /dev/null +++ b/obj/item/circuit_component/format.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/circuit_component/format - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Format List Component + + + +

+ +

Formats lists by replacing %n in format string with nth parameter. +Alternative to the Concatenate component.

+ + +

Vars

outputThe result from the output
param_regexThe regex used to find a parameter.

Procs

get_list_itemGet an item from the list. +Return null to indicate invalid index. +Arguments:
+

Var Details

output + + + + +

+

The result from the output

param_regex + + + + +

+

The regex used to find a parameter.

Proc Details

get_list_item +

+

Get an item from the list. +Return null to indicate invalid index. +Arguments:

+
+ + + diff --git a/obj/item/circuit_component/get_column.html b/obj/item/circuit_component/get_column.html new file mode 100644 index 000000000000..296c77558d07 --- /dev/null +++ b/obj/item/circuit_component/get_column.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/get_column - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Get Column Component + + + +

+ +

Gets the column of a table and returns it as a regular list.

+ + +

Vars

column_nameThe name of the column to check
output_listThe filtered list
received_tableThe list to perform the filter on
+

Var Details

column_name + + + + +

+

The name of the column to check

output_list + + + + +

+

The filtered list

received_table + + + + +

+

The list to perform the filter on

+ + + diff --git a/obj/item/circuit_component/get_variable.html b/obj/item/circuit_component/get_variable.html new file mode 100644 index 000000000000..a331b16c4d34 --- /dev/null +++ b/obj/item/circuit_component/get_variable.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/get_variable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Get Variable Component + + + +

+ +

A component that gets a variable on an object

+ + + + +

Vars

entityEntity to get variable of
expected_output_typeExpected type of output
getvar_optionsWhether to grab a global variable or a variable from this entity.
output_valueVariable value
variable_nameVariable name
+

Var Details

entity + + + + +

+

Entity to get variable of

expected_output_type + + + + +

+

Expected type of output

getvar_options + + + + +

+

Whether to grab a global variable or a variable from this entity.

output_value + + + + +

+

Variable value

variable_name + + + + +

+

Variable name

+ + + diff --git a/obj/item/circuit_component/gps.html b/obj/item/circuit_component/gps.html new file mode 100644 index 000000000000..8ea36ba0ac06 --- /dev/null +++ b/obj/item/circuit_component/gps.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/gps - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

GPS Component + + + +

+ +

Return the location of this

+

Vars

x_posThe result from the output
+

Var Details

x_pos + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/health.html b/obj/item/circuit_component/health.html new file mode 100644 index 000000000000..79e1d1caad68 --- /dev/null +++ b/obj/item/circuit_component/health.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/circuit_component/health - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Get Health Component + + + +

+ +

Return the health of a mob

+ + + + + +

Vars

bruteBrute damage
burnBurn damage
healthHealth
input_portThe input port
oxyOxyloss damage
toxinToxin damage
+

Var Details

brute + + + + +

+

Brute damage

burn + + + + +

+

Burn damage

health + + + + +

+

Health

input_port + + + + +

+

The input port

oxy + + + + +

+

Oxyloss damage

toxin + + + + +

+

Toxin damage

+ + + diff --git a/obj/item/circuit_component/hear.html b/obj/item/circuit_component/hear.html new file mode 100644 index 000000000000..d279e7b4927d --- /dev/null +++ b/obj/item/circuit_component/hear.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/hear - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Hear Component + + + +

+ +

Listens for messages. Requires a shell.

+ + + + +

Vars

language_portThe language heard
message_portThe message heard
speaker_nameThe speaker name port, usually the name of the person who spoke.
speaker_portThe speaker entity that is currently speaking. Not necessarily the person who is speaking.
trigger_portThe trigger sent when this event occurs
+

Var Details

language_port + + + + +

+

The language heard

message_port + + + + +

+

The message heard

speaker_name + + + + +

+

The speaker name port, usually the name of the person who spoke.

speaker_port + + + + +

+

The speaker entity that is currently speaking. Not necessarily the person who is speaking.

trigger_port + + + + +

+

The trigger sent when this event occurs

+ + + diff --git a/obj/item/circuit_component/hydroponics.html b/obj/item/circuit_component/hydroponics.html new file mode 100644 index 000000000000..f9ef409b3f8e --- /dev/null +++ b/obj/item/circuit_component/hydroponics.html @@ -0,0 +1,120 @@ + + + + + + + /obj/item/circuit_component/hydroponics - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hydroponics + + + +

+ +

The usb port circuit

+ + + + + + + + + + + + +

Vars

is_self_sustainingWhether the self sustaining mode is on
last_harvestThe product amount of the last harvest
pests_levelThe amount of pests in the tray.
plant_diedTriggered when the plant dies
plant_harvestedTriggered when the plant is harvested
plant_healthThe health of the plant in the tray.
plant_statusWhether the plant in the tray is harvestable, alive, missing or dead.
reagents_levelThe amount of reagents in the tray
seeds_plantedTriggered when a seed is either planted by someone or takes over the tray.
selfsustaining_settingIf self-sustaining (also called auto-grow) should be turned on or off when the trigger is triggered.
toxic_levelThe amount of toxins in the tray.
water_levelThe amount of water in the tray.
weeds_levelThe amount of weeds in the tray.
+

Var Details

is_self_sustaining + + + + +

+

Whether the self sustaining mode is on

last_harvest + + + + +

+

The product amount of the last harvest

pests_level + + + + +

+

The amount of pests in the tray.

plant_died + + + + +

+

Triggered when the plant dies

plant_harvested + + + + +

+

Triggered when the plant is harvested

plant_health + + + + +

+

The health of the plant in the tray.

plant_status + + + + +

+

Whether the plant in the tray is harvestable, alive, missing or dead.

reagents_level + + + + +

+

The amount of reagents in the tray

seeds_planted + + + + +

+

Triggered when a seed is either planted by someone or takes over the tray.

selfsustaining_setting + + + + +

+

If self-sustaining (also called auto-grow) should be turned on or off when the trigger is triggered.

toxic_level + + + + +

+

The amount of toxins in the tray.

water_level + + + + +

+

The amount of water in the tray.

weeds_level + + + + +

+

The amount of weeds in the tray.

+ + + diff --git a/obj/item/circuit_component/id_access_reader.html b/obj/item/circuit_component/id_access_reader.html new file mode 100644 index 000000000000..408df26df24f --- /dev/null +++ b/obj/item/circuit_component/id_access_reader.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/id_access_reader - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

id_access_reader + + + +

+ + + +

Vars

access_portA list of the accesses on the ID
targetThe input port
+

Var Details

access_port + + + + +

+

A list of the accesses on the ID

target + + + + +

+

The input port

+ + + diff --git a/obj/item/circuit_component/id_getter.html b/obj/item/circuit_component/id_getter.html new file mode 100644 index 000000000000..530067e847f6 --- /dev/null +++ b/obj/item/circuit_component/id_getter.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/id_getter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

id_getter + + + +

+ + + + +

Vars

id_portThe reference to the ID
prioritize_handsWhether to prioritize the target's hands when checking for an ID
targetThe input port
+

Var Details

id_port + + + + +

+

The reference to the ID

prioritize_hands + + + + +

+

Whether to prioritize the target's hands when checking for an ID

target + + + + +

+

The input port

+ + + diff --git a/obj/item/circuit_component/id_info_reader.html b/obj/item/circuit_component/id_info_reader.html new file mode 100644 index 000000000000..7c376ec36d65 --- /dev/null +++ b/obj/item/circuit_component/id_info_reader.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/id_info_reader - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

id_info_reader + + + +

+ + + + + +

Vars

age_portThe age registered on the ID
name_portThe name registered on the ID
rank_portThe rank registered on the ID
targetThe input port
+

Var Details

age_port + + + + +

+

The age registered on the ID

name_port + + + + +

+

The name registered on the ID

rank_port + + + + +

+

The rank registered on the ID

target + + + + +

+

The input port

+ + + diff --git a/obj/item/circuit_component/index.html b/obj/item/circuit_component/index.html new file mode 100644 index 000000000000..3a699e89a20d --- /dev/null +++ b/obj/item/circuit_component/index.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/index - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Index Component + + + +

+ +

Return the index of a list

+ + +

Vars

list_optionsThe list type
list_portThe input port
outputThe result from the output
+

Var Details

list_options + + + + +

+

The list type

list_port + + + + +

+

The input port

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/index_table.html b/obj/item/circuit_component/index_table.html new file mode 100644 index 000000000000..37d09ce3d78d --- /dev/null +++ b/obj/item/circuit_component/index_table.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/index_table - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Index Table Component + + + +

+ +

Gets the row of a table using the index inputted. Will return no value if the index is invalid or a proper table is not returned.

+ + +

Vars

output_listThe filtered list
received_tableThe list to perform the filter on
target_indexThe target index
+

Var Details

output_list + + + + +

+

The filtered list

received_table + + + + +

+

The list to perform the filter on

target_index + + + + +

+

The target index

+ + + diff --git a/obj/item/circuit_component/input_request.html b/obj/item/circuit_component/input_request.html new file mode 100644 index 000000000000..aff5f5c93e44 --- /dev/null +++ b/obj/item/circuit_component/input_request.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/circuit_component/input_request - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Input Request Component + + + +

+ +

Requests an input from someone.

+ + + + + +

Vars

entityThe input path to convert into a typepath
input_failedTriggered when the player fails to give an input.
input_optionsOptions for input requests
input_responseThe response from the player
input_triggeredTriggered when the input is received
parameterThe custom parameter of the option
+

Var Details

entity + + + + +

+

The input path to convert into a typepath

input_failed + + + + +

+

Triggered when the player fails to give an input.

input_options + + + + +

+

Options for input requests

input_response + + + + +

+

The response from the player

input_triggered + + + + +

+

Triggered when the input is received

parameter + + + + +

+

The custom parameter of the option

+ + + diff --git a/obj/item/circuit_component/laserpointer.html b/obj/item/circuit_component/laserpointer.html new file mode 100644 index 000000000000..3afb8709ed12 --- /dev/null +++ b/obj/item/circuit_component/laserpointer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/laserpointer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

laser pointer Component + + + +

+ +

Points a laser at a tile or mob

+ +

Vars

pointer_locThe Laser Pointer Variables
target_inputThe input port
+

Var Details

pointer_loc + + + + +

+

The Laser Pointer Variables

target_input + + + + +

+

The input port

+ + + diff --git a/obj/item/circuit_component/length.html b/obj/item/circuit_component/length.html new file mode 100644 index 000000000000..2d806e100336 --- /dev/null +++ b/obj/item/circuit_component/length.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/length - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Length Component + + + +

+ +

Return the length of an input

+ +

Vars

input_portThe input port
outputThe result from the output
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/light.html b/obj/item/circuit_component/light.html new file mode 100644 index 000000000000..bc19ffb2f1c8 --- /dev/null +++ b/obj/item/circuit_component/light.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/circuit_component/light - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

light + + + +

+ +

only has cyborg flashing since felinid moving spikes time dilation when spammed and the other two features of laserpointers would be unbalanced when spammed +no stunning, just a blind +laserpointer image

+Light Component +

Emits a light of a specific brightness and colour. Requires a shell.

+ + +

Vars

brightnessThe brightness
onWhether the light is on or not
redThe colours of the light
+

Var Details

brightness + + + + +

+

The brightness

on + + + + +

+

Whether the light is on or not

red + + + + +

+

The colours of the light

+ + + diff --git a/obj/item/circuit_component/light_switch.html b/obj/item/circuit_component/light_switch.html new file mode 100644 index 000000000000..ffb52c6e7db2 --- /dev/null +++ b/obj/item/circuit_component/light_switch.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/light_switch - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

light_switch + + + +

+ + + +

Vars

is_onWhether the lights are turned on
on_settingIf the lights should be turned on or off when the trigger is triggered.
+

Var Details

is_on + + + + +

+

Whether the lights are turned on

on_setting + + + + +

+

If the lights should be turned on or off when the trigger is triggered.

+ + + diff --git a/obj/item/circuit_component/list_literal.html b/obj/item/circuit_component/list_literal.html new file mode 100644 index 000000000000..e7bbbe982e72 --- /dev/null +++ b/obj/item/circuit_component/list_literal.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/list_literal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

List Literal Component + + + +

+ +

Return a list literal.

+ + +

Vars

entry_portsThe inputs used to create the list
list_optionsThe list type
list_outputThe result from the output
+

Var Details

entry_ports + + + + +

+

The inputs used to create the list

list_options + + + + +

+

The list type

list_output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/list_literal/assoc_literal.html b/obj/item/circuit_component/list_literal/assoc_literal.html new file mode 100644 index 000000000000..22c4156820de --- /dev/null +++ b/obj/item/circuit_component/list_literal/assoc_literal.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/list_literal/assoc_literal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Assoc List Literal Component + + + +

+ +

Return an associative list literal.

+

Vars

key_portsThe inputs used to create the list
+

Var Details

key_ports + + + + +

+

The inputs used to create the list

+ + + diff --git a/obj/item/circuit_component/listin.html b/obj/item/circuit_component/listin.html new file mode 100644 index 000000000000..63d7beea1252 --- /dev/null +++ b/obj/item/circuit_component/listin.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/circuit_component/listin - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

List Add Component + + + +

+ +

Adds an element to a list.

+ + + + + +

Vars

foundSignal to say we have found the element.
list_to_checkList to check
list_typeThe list type we're checking
not_foundSignal to say we haven't found the element.
resultResult of the search
to_checkElement to check
+

Var Details

found + + + + +

+

Signal to say we have found the element.

list_to_check + + + + +

+

List to check

list_type + + + + +

+

The list type we're checking

not_found + + + + +

+

Signal to say we haven't found the element.

result + + + + +

+

Result of the search

to_check + + + + +

+

Element to check

+ + + diff --git a/obj/item/circuit_component/matscanner.html b/obj/item/circuit_component/matscanner.html new file mode 100644 index 000000000000..7d507631e6c7 --- /dev/null +++ b/obj/item/circuit_component/matscanner.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/matscanner - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Material Scanner + + + +

+ +

Returns the materials of an atom

+ +

Vars

break_down_alloysWhether we consider the materials alloys are made when scanning.
resultThe result from the output
+

Var Details

break_down_alloys + + + + +

+

Whether we consider the materials alloys are made when scanning.

result + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/medical_console_data.html b/obj/item/circuit_component/medical_console_data.html new file mode 100644 index 000000000000..96b9bfbee571 --- /dev/null +++ b/obj/item/circuit_component/medical_console_data.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/medical_console_data - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

medical_console_data + + + +

+ + +

Vars

recordsThe records retrieved
+

Var Details

records + + + + +

+

The records retrieved

+ + + diff --git a/obj/item/circuit_component/mmi.html b/obj/item/circuit_component/mmi.html new file mode 100644 index 000000000000..98c91f65a87e --- /dev/null +++ b/obj/item/circuit_component/mmi.html @@ -0,0 +1,113 @@ + + + + + + + /obj/item/circuit_component/mmi - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Man-Machine Interface Component + + + +

+ +

Allows an MMI to be inserted into a shell, allowing it to be linked up. Requires a shell.

+ + + + + + + + + + + +

Vars

attackCalled when the MMI clicks.
brainThe current MMI card
clicked_atomReturns what the MMI last clicked on.
eastCalled when the MMI tries moving east
ejectEjects the current MMI
max_lengthMaximum length of the message that can be sent to the MMI
messageThe message to send to the MMI in the shell.
northCalled when the MMI tries moving north
secondary_attackCalled when the MMI right clicks.
sendSends the current MMI a message
southCalled when the MMI tries moving south
westCalled when the MMI tries moving west
+

Var Details

attack + + + + +

+

Called when the MMI clicks.

brain + + + + +

+

The current MMI card

clicked_atom + + + + +

+

Returns what the MMI last clicked on.

east + + + + +

+

Called when the MMI tries moving east

eject + + + + +

+

Ejects the current MMI

max_length + + + + +

+

Maximum length of the message that can be sent to the MMI

message + + + + +

+

The message to send to the MMI in the shell.

north + + + + +

+

Called when the MMI tries moving north

secondary_attack + + + + +

+

Called when the MMI right clicks.

send + + + + +

+

Sends the current MMI a message

south + + + + +

+

Called when the MMI tries moving south

west + + + + +

+

Called when the MMI tries moving west

+ + + diff --git a/obj/item/circuit_component/mod_adapter_core.html b/obj/item/circuit_component/mod_adapter_core.html new file mode 100644 index 000000000000..56f438f2f47b --- /dev/null +++ b/obj/item/circuit_component/mod_adapter_core.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/circuit_component/mod_adapter_core - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mod_adapter_core + + + +

+ + + + + + + + +

Vars

attached_moduleThe MODsuit module this circuit is associated with
module_to_selectThe name of the module to select
on_module_selectedThe signal that is triggered when a module is selected
select_moduleThe signal to select a module
selected_moduleThe name of the last selected module
toggle_suitThe signal to toggle the suit
wearerA reference to the wearer of the MODsuit
+

Var Details

attached_module + + + + +

+

The MODsuit module this circuit is associated with

module_to_select + + + + +

+

The name of the module to select

on_module_selected + + + + +

+

The signal that is triggered when a module is selected

select_module + + + + +

+

The signal to select a module

selected_module + + + + +

+

The name of the last selected module

toggle_suit + + + + +

+

The signal to toggle the suit

wearer + + + + +

+

A reference to the wearer of the MODsuit

+ + + diff --git a/obj/item/circuit_component/module.html b/obj/item/circuit_component/module.html new file mode 100644 index 000000000000..6b2b5a512bd5 --- /dev/null +++ b/obj/item/circuit_component/module.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/module - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Module Component + + + +

+ +

A component that has an input, output

+

Vars

linked_portsLinked ports that follow a first_port = second_port keyed structure.
+

Var Details

linked_ports + + + + +

+

Linked ports that follow a first_port = second_port keyed structure.

+ + + diff --git a/obj/item/circuit_component/module_input.html b/obj/item/circuit_component/module_input.html new file mode 100644 index 000000000000..87b5ccaa6245 --- /dev/null +++ b/obj/item/circuit_component/module_input.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/module_input - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

module_input + + + +

+ + +

Vars

attached_moduleThe currently attached module
+

Var Details

attached_module + + + + +

+

The currently attached module

+ + + diff --git a/obj/item/circuit_component/module_output.html b/obj/item/circuit_component/module_output.html new file mode 100644 index 000000000000..3097c0e049c2 --- /dev/null +++ b/obj/item/circuit_component/module_output.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/module_output - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

module_output + + + +

+ + +

Vars

attached_moduleThe currently attached module
+

Var Details

attached_module + + + + +

+

The currently attached module

+ + + diff --git a/obj/item/circuit_component/money_bot.html b/obj/item/circuit_component/money_bot.html new file mode 100644 index 000000000000..f1d636578a00 --- /dev/null +++ b/obj/item/circuit_component/money_bot.html @@ -0,0 +1,68 @@ + + + + + + + /obj/item/circuit_component/money_bot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

money_bot + + + +

+ + + + + + +

Vars

entityThe person who input the money
money_inputAmount of the last money inputted into the shell
money_triggerTrigger for when money is inputted into the shell
total_moneyTotal money in the shell

Procs

on_set_lockedLocks the attached bot when the circuit is locked.
+

Var Details

entity + + + + +

+

The person who input the money

money_input + + + + +

+

Amount of the last money inputted into the shell

money_trigger + + + + +

+

Trigger for when money is inputted into the shell

total_money + + + + +

+

Total money in the shell

Proc Details

on_set_locked +

+

Locks the attached bot when the circuit is locked.

+

Arguments:

+
+ + + diff --git a/obj/item/circuit_component/money_dispenser.html b/obj/item/circuit_component/money_dispenser.html new file mode 100644 index 000000000000..d16652d21865 --- /dev/null +++ b/obj/item/circuit_component/money_dispenser.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/money_dispenser - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

money_dispenser + + + +

+ + + +

Vars

dispense_amountThe amount of money to dispense
on_failOutputs a signal when it fails to output any money.
+

Var Details

dispense_amount + + + + +

+

The amount of money to dispense

on_fail + + + + +

+

Outputs a signal when it fails to output any money.

+ + + diff --git a/obj/item/circuit_component/not.html b/obj/item/circuit_component/not.html new file mode 100644 index 000000000000..6dd63d6c6667 --- /dev/null +++ b/obj/item/circuit_component/not.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/not - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Logic Component + + + +

+ +

General logic unit with AND OR capabilities

+ +

Vars

input_portThe input port
resultThe result from the output
+

Var Details

input_port + + + + +

+

The input port

result + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/object_overlay.html b/obj/item/circuit_component/object_overlay.html new file mode 100644 index 000000000000..97606ef98c1d --- /dev/null +++ b/obj/item/circuit_component/object_overlay.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/object_overlay - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

object_overlay + + + +

+ + + +

Vars

signal_onOn/Off signals
targetTarget atom
+

Var Details

signal_on + + + + +

+

On/Off signals

target + + + + +

+

Target atom

+ + + diff --git a/obj/item/circuit_component/pressuresensor.html b/obj/item/circuit_component/pressuresensor.html new file mode 100644 index 000000000000..43c389188bd5 --- /dev/null +++ b/obj/item/circuit_component/pressuresensor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/pressuresensor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Pressure Sensor + + + +

+ +

Returns the pressure of the tile

+

Vars

resultThe result from the output
+

Var Details

result + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/printer.html b/obj/item/circuit_component/printer.html new file mode 100644 index 000000000000..c3e4360ecb51 --- /dev/null +++ b/obj/item/circuit_component/printer.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/circuit_component/printer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Printer Component + + + +

+ +

Allows for text strings to be printed on a paper. Requires a shell.

+ + + + + + + +

Vars

ejectUsed to eject the leftmost paper on the loaded_papers list.
loaded_papersThe list of papers currently loaded on the component
max_paper_capacityThe maximum paper capacity of the component
printPrints stuff on the leftmost paper in the loaded_papers list.
signatureThe signature that'll replace any %s and %sign used when printing text on paper.
text_color_redThe RGB values of the color used when printing text on paper
typefaceThe selected font-family used when printing text on paper

Procs

handle_secondary_attackbyAllows for paper to be loaded while inside the shell.
+

Var Details

eject + + + + +

+

Used to eject the leftmost paper on the loaded_papers list.

loaded_papers + + + + +

+

The list of papers currently loaded on the component

max_paper_capacity + + + + +

+

The maximum paper capacity of the component

print + + + + +

+

Prints stuff on the leftmost paper in the loaded_papers list.

signature + + + + +

+

The signature that'll replace any %s and %sign used when printing text on paper.

text_color_red + + + + +

+

The RGB values of the color used when printing text on paper

typeface + + + + +

+

The selected font-family used when printing text on paper

Proc Details

handle_secondary_attackby +

+

Allows for paper to be loaded while inside the shell.

+ + + diff --git a/obj/item/circuit_component/proccall.html b/obj/item/circuit_component/proccall.html new file mode 100644 index 000000000000..284a378fa3df --- /dev/null +++ b/obj/item/circuit_component/proccall.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/proccall - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Proc Call Component + + + +

+ +

A component that calls a proc on an object and outputs the return value

+ + + + +

Vars

argumentsA list of arguments
entityEntity to proccall on
output_valueReturns the output from the proccall
proc_nameProc to call
resolve_weakrefWhether we resolve all the weakrefs passed as arguments
+

Var Details

arguments + + + + +

+

A list of arguments

entity + + + + +

+

Entity to proccall on

output_value + + + + +

+

Returns the output from the proccall

proc_name + + + + +

+

Proc to call

resolve_weakref + + + + +

+

Whether we resolve all the weakrefs passed as arguments

+ + + diff --git a/obj/item/circuit_component/radio.html b/obj/item/circuit_component/radio.html new file mode 100644 index 000000000000..c9a37034c244 --- /dev/null +++ b/obj/item/circuit_component/radio.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/radio - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Radio Component + + + +

+ +

Listens out for signals on the designated frequencies and sends signals on designated frequencies

+ + + +

Vars

codeSignal input
current_freqCurrent frequency value
freqFrequency input
public_optionsThe publicity options. Controls whether it's public or private.
+

Var Details

code + + + + +

+

Signal input

current_freq + + + + +

+

Current frequency value

freq + + + + +

+

Frequency input

public_options + + + + +

+

The publicity options. Controls whether it's public or private.

+ + + diff --git a/obj/item/circuit_component/random.html b/obj/item/circuit_component/random.html new file mode 100644 index 000000000000..a3c77e6331c7 --- /dev/null +++ b/obj/item/circuit_component/random.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/random - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Random Component + + + +

+ +

Generates a random number between specific values

+ + +

Vars

maximumThe maximum value that the random number can be
minimumThe minimum value that the random number can be
outputThe result from the output
+

Var Details

maximum + + + + +

+

The maximum value that the random number can be

minimum + + + + +

+

The minimum value that the random number can be

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/reagentscanner.html b/obj/item/circuit_component/reagentscanner.html new file mode 100644 index 000000000000..06624909c226 --- /dev/null +++ b/obj/item/circuit_component/reagentscanner.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/reagentscanner - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Reagents Scanner + + + +

+ +

Returns the reagentss of an atom

+

Vars

resultThe result from the output
+

Var Details

result + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/reflector.html b/obj/item/circuit_component/reflector.html new file mode 100644 index 000000000000..829a9608abdf --- /dev/null +++ b/obj/item/circuit_component/reflector.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/reflector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

reflector + + + +

+ + +

Vars

angleangle the reflector will be set to at trigger unless locked
+

Var Details

angle + + + + +

+

angle the reflector will be set to at trigger unless locked

+ + + diff --git a/obj/item/circuit_component/router.html b/obj/item/circuit_component/router.html new file mode 100644 index 000000000000..910931b66380 --- /dev/null +++ b/obj/item/circuit_component/router.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/router - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Router Component + + + +

+ +

Writes one of multiple inputs to one of multiple outputs.

+ + + +

Vars

current_typeCurrent type of the ports
input_port_amountHow many ports to have.
input_selectorWhich ports to connect.
insThe ports to route.
+

Var Details

current_type + + + + +

+

Current type of the ports

input_port_amount + + + + +

+

How many ports to have.

input_selector + + + + +

+

Which ports to connect.

ins + + + + +

+

The ports to route.

+ + + diff --git a/obj/item/circuit_component/save_shell.html b/obj/item/circuit_component/save_shell.html new file mode 100644 index 000000000000..57fdd01517b2 --- /dev/null +++ b/obj/item/circuit_component/save_shell.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/save_shell - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Save Shell Component + + + +

+ +

A component that saves and loads a shell for the integrated circuit.

+

Vars

on_loadedReturns the output from the proccall
+

Var Details

on_loaded + + + + +

+

Returns the output from the proccall

+ + + diff --git a/obj/item/circuit_component/scanner_gate.html b/obj/item/circuit_component/scanner_gate.html new file mode 100644 index 000000000000..9d135e8863c1 --- /dev/null +++ b/obj/item/circuit_component/scanner_gate.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/circuit_component/scanner_gate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

scanner_gate + + + +

+ + +

Procs

on_set_lockedLocks the attached bot when the circuit is locked.

Proc Details

on_set_locked +

+

Locks the attached bot when the circuit is locked.

+

Arguments:

+
+ + + diff --git a/obj/item/circuit_component/sdql_operation.html b/obj/item/circuit_component/sdql_operation.html new file mode 100644 index 000000000000..c2dee6553067 --- /dev/null +++ b/obj/item/circuit_component/sdql_operation.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/sdql_operation - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

SDQL Component + + + +

+ +

A component that performs an sdql operation

+

Vars

sdql_operationSDQL Operation to invoke
+

Var Details

sdql_operation + + + + +

+

SDQL Operation to invoke

+ + + diff --git a/obj/item/circuit_component/select.html b/obj/item/circuit_component/select.html new file mode 100644 index 000000000000..2a857b8f296f --- /dev/null +++ b/obj/item/circuit_component/select.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/select - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Select Component + + + +

+ +

Selects a list from a list of lists by a specific column. Used only by USBs for communications to and from computers with lists of varying sizes.

+ + + +

Vars

column_nameThe name of the column to check
comparison_inputThe input to compare with
filtered_tableThe filtered list
received_tableThe list to perform the filter on
+

Var Details

column_name + + + + +

+

The name of the column to check

comparison_input + + + + +

+

The input to compare with

filtered_table + + + + +

+

The filtered list

received_table + + + + +

+

The list to perform the filter on

+ + + diff --git a/obj/item/circuit_component/self.html b/obj/item/circuit_component/self.html new file mode 100644 index 000000000000..135b32617d6c --- /dev/null +++ b/obj/item/circuit_component/self.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/self - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Self Component + + + +

+ +

Return the current shell.

+ +

Vars

outputThe shell this component is attached to.
shell_receivedThe signal sent when the status is updated.
+

Var Details

output + + + + +

+

The shell this component is attached to.

shell_received + + + + +

+

The signal sent when the status is updated.

+ + + diff --git a/obj/item/circuit_component/set_variable.html b/obj/item/circuit_component/set_variable.html new file mode 100644 index 000000000000..09f1477228fb --- /dev/null +++ b/obj/item/circuit_component/set_variable.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/set_variable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Set Variable Component + + + +

+ +

A component that sets a variable on an object

+ + + +

Vars

entityEntity to set variable of
new_valueNew value to set the variable name to.
resolve_weakrefsWhether to resolve weakrefs or not
variable_nameVariable name
+

Var Details

entity + + + + +

+

Entity to set variable of

new_value + + + + +

+

New value to set the variable name to.

resolve_weakrefs + + + + +

+

Whether to resolve weakrefs or not

variable_name + + + + +

+

Variable name

+ + + diff --git a/obj/item/circuit_component/signal_handler.html b/obj/item/circuit_component/signal_handler.html new file mode 100644 index 000000000000..66019895827a --- /dev/null +++ b/obj/item/circuit_component/signal_handler.html @@ -0,0 +1,134 @@ + + + + + + + /obj/item/circuit_component/signal_handler - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Signal Handler Component + + + +

+ +

A component that registers signals on events and listens for them.

+ + + + + + + + + + + + + + +

Vars

custom_signalWhether it is a custom signal id or not.
entityThe entity received from the event.
event_triggeredThe event has been triggered
input_signal_portsThe custom input from the current signal type.
instantWhether this executes instantly or not. If set to 0, this will not execute instantly.
output_signal_portsThe custom output from the current signal type.
registerRegisters the signal
registered_entitiesThe current entities that have the signal registered on it
registered_signalThe current registered signal
signal_handler_optionsWhether it is a global or object signal
signal_idThe list of signal IDs that can be selected as an option.
signal_portsThe custom signal ports from the current signal type. Used for saving and loading.
targetEntity to register the signal on
unregisterUnregisters the signal on the target.
unregister_allUnregisters the signal from everyone.
+

Var Details

custom_signal + + + + +

+

Whether it is a custom signal id or not.

entity + + + + +

+

The entity received from the event.

event_triggered + + + + +

+

The event has been triggered

input_signal_ports + + + + +

+

The custom input from the current signal type.

instant + + + + +

+

Whether this executes instantly or not. If set to 0, this will not execute instantly.

output_signal_ports + + + + +

+

The custom output from the current signal type.

register + + + + +

+

Registers the signal

registered_entities + + + + +

+

The current entities that have the signal registered on it

registered_signal + + + + +

+

The current registered signal

signal_handler_options + + + + +

+

Whether it is a global or object signal

signal_id + + + + +

+

The list of signal IDs that can be selected as an option.

signal_ports + + + + +

+

The custom signal ports from the current signal type. Used for saving and loading.

target + + + + +

+

Entity to register the signal on

unregister + + + + +

+

Unregisters the signal on the target.

unregister_all + + + + +

+

Unregisters the signal from everyone.

+ + + diff --git a/obj/item/circuit_component/soundemitter.html b/obj/item/circuit_component/soundemitter.html new file mode 100644 index 000000000000..24bd3b15ba2e --- /dev/null +++ b/obj/item/circuit_component/soundemitter.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/soundemitter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Sound Emitter Component + + + +

+ +

A component that emits a sound when it receives an input.

+ + + +

Vars

frequencyFrequency of the sound when played
sound_cooldownThe cooldown for this component of how often it can play sounds.
sound_fileSound to play
volumeVolume of the sound when played
+

Var Details

frequency + + + + +

+

Frequency of the sound when played

sound_cooldown + + + + +

+

The cooldown for this component of how often it can play sounds.

sound_file + + + + +

+

Sound to play

volume + + + + +

+

Volume of the sound when played

+ + + diff --git a/obj/item/circuit_component/spawn_atom.html b/obj/item/circuit_component/spawn_atom.html new file mode 100644 index 000000000000..7c617b208454 --- /dev/null +++ b/obj/item/circuit_component/spawn_atom.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/spawn_atom - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Spawn Atom Component + + + +

+ +

Spawns an atom.

+ + + +

Vars

input_pathThe input path to convert into a typepath
parametersParameters to pass to the atom being spawned
spawn_atThe turf to spawn them at
spawned_atomThe result from the output
+

Var Details

input_path + + + + +

+

The input path to convert into a typepath

parameters + + + + +

+

Parameters to pass to the atom being spawned

spawn_at + + + + +

+

The turf to spawn them at

spawned_atom + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/species.html b/obj/item/circuit_component/species.html new file mode 100644 index 000000000000..859b64fd94d6 --- /dev/null +++ b/obj/item/circuit_component/species.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/species - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Get Species Component + + + +

+ +

Return the species of a mob

+ +

Vars

input_portThe input port
outputThe result from the output
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/speech.html b/obj/item/circuit_component/speech.html new file mode 100644 index 000000000000..572a2e7ed06f --- /dev/null +++ b/obj/item/circuit_component/speech.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/speech - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Speech Component + + + +

+ +

Sends a message. Requires a shell.

+ +

Vars

messageThe message to send
speech_cooldownThe cooldown for this component of how often it can send speech messages.
+

Var Details

message + + + + +

+

The message to send

speech_cooldown + + + + +

+

The cooldown for this component of how often it can send speech messages.

+ + + diff --git a/obj/item/circuit_component/split.html b/obj/item/circuit_component/split.html new file mode 100644 index 000000000000..a6c81d0fec44 --- /dev/null +++ b/obj/item/circuit_component/split.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/split - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Split component + + + +

+ +

Splits a string

+ + +

Vars

input_portThe input port
outputThe result from the output
separatorThe seperator
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result from the output

separator + + + + +

+

The seperator

+ + + diff --git a/obj/item/circuit_component/synth.html b/obj/item/circuit_component/synth.html new file mode 100644 index 000000000000..708fc059be88 --- /dev/null +++ b/obj/item/circuit_component/synth.html @@ -0,0 +1,141 @@ + + + + + + + /obj/item/circuit_component/synth - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

synth + + + +

+ + + + + + + + + + + + + + + + + +

Vars

beats_per_minThe beats per minute of the song
is_playingWhether a song is currently playing
note_decayIf set the last held note will decay
note_shiftNote shift
playStarts playing the song.
repetitionsHow many times the song will be played.
selected_instrumentThe list of instruments which sound can be synthesized.
songThe song, represented in latin alphabet A to G, that'll be played when play is triggered.
started_playingSent when a new song has started playing
stopStop playing the song.
stopped_playingSent when a song has finished playing
sustain_modeSustain Mode
sustain_valueThe value of the above
synthThe synthesizer this circut is attached to.
volumeThe volume of the song
volume_dropoffNotes with volume below this threshold will be dead
+

Var Details

beats_per_min + + + + +

+

The beats per minute of the song

is_playing + + + + +

+

Whether a song is currently playing

note_decay + + + + +

+

If set the last held note will decay

note_shift + + + + +

+

Note shift

play + + + + +

+

Starts playing the song.

repetitions + + + + +

+

How many times the song will be played.

selected_instrument + + + + +

+

The list of instruments which sound can be synthesized.

song + + + + +

+

The song, represented in latin alphabet A to G, that'll be played when play is triggered.

started_playing + + + + +

+

Sent when a new song has started playing

stop + + + + +

+

Stop playing the song.

stopped_playing + + + + +

+

Sent when a song has finished playing

sustain_mode + + + + +

+

Sustain Mode

sustain_value + + + + +

+

The value of the above

synth + + + + +

+

The synthesizer this circut is attached to.

volume + + + + +

+

The volume of the song

volume_dropoff + + + + +

+

Notes with volume below this threshold will be dead

+ + + diff --git a/obj/item/circuit_component/tempsensor.html b/obj/item/circuit_component/tempsensor.html new file mode 100644 index 000000000000..fac821edf8c0 --- /dev/null +++ b/obj/item/circuit_component/tempsensor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/tempsensor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Temperature Sensor + + + +

+ +

Returns the temperature of the tile

+

Vars

resultThe result from the output
+

Var Details

result + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/textcase.html b/obj/item/circuit_component/textcase.html new file mode 100644 index 000000000000..b7e56fa442b4 --- /dev/null +++ b/obj/item/circuit_component/textcase.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/textcase - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Text Component + + + +

+ +

Either makes the text upper case or lower case.

+ +

Vars

input_portThe input port
outputThe result of the text operation
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result of the text operation

+ + + diff --git a/obj/item/circuit_component/timepiece.html b/obj/item/circuit_component/timepiece.html new file mode 100644 index 000000000000..38b4be57f237 --- /dev/null +++ b/obj/item/circuit_component/timepiece.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/timepiece - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Timepiece Component + + + +

+ +

returns the current station time.

+ + + +

Vars

formatThe time format of the text output
num_outputseconds, minutes, hours.
text_outputThe output for 24/12 hour formats
time_unitThe unit of time for the numerical output
+

Var Details

format + + + + +

+

The time format of the text output

num_output + + + + +

+

seconds, minutes, hours.

text_output + + + + +

+

The output for 24/12 hour formats

time_unit + + + + +

+

The unit of time for the numerical output

+ + + diff --git a/obj/item/circuit_component/to_type.html b/obj/item/circuit_component/to_type.html new file mode 100644 index 000000000000..354aaa68bff3 --- /dev/null +++ b/obj/item/circuit_component/to_type.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/to_type - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

To Type Component + + + +

+ +

Converts a string into a typepath. Useful for adding components.

+ +

Vars

input_pathThe input path to convert into a typepath
type_outputThe type output
+

Var Details

input_path + + + + +

+

The input path to convert into a typepath

type_output + + + + +

+

The type output

+ + + diff --git a/obj/item/circuit_component/tonumber.html b/obj/item/circuit_component/tonumber.html new file mode 100644 index 000000000000..e4cd22eae771 --- /dev/null +++ b/obj/item/circuit_component/tonumber.html @@ -0,0 +1,44 @@ + + + + + + + /obj/item/circuit_component/tonumber - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tonumber + + + +

+ +

#To Number Component

+

Converts a string into a Number

+ +

Vars

input_portThe input port
outputThe result from the output
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/tostring.html b/obj/item/circuit_component/tostring.html new file mode 100644 index 000000000000..2b7f33b47f73 --- /dev/null +++ b/obj/item/circuit_component/tostring.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/tostring - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

To String Component + + + +

+ +

Converts any value into a string

+ +

Vars

input_portThe input port
outputThe result from the output
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/tram_controls.html b/obj/item/circuit_component/tram_controls.html new file mode 100644 index 000000000000..8af1fe2e8bf5 --- /dev/null +++ b/obj/item/circuit_component/tram_controls.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/tram_controls - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tram_controls + + + +

+ + + + + + +

Vars

computerThe tram controls computer (/obj/machinery/computer/tram_controls)
locationThe current location
new_destinationThe destination to go
travelling_outputWhether or not the tram is moving
trigger_moveThe trigger to send the tram
+

Var Details

computer + + + + +

+

The tram controls computer (/obj/machinery/computer/tram_controls)

location + + + + +

+

The current location

new_destination + + + + +

+

The destination to go

travelling_output + + + + +

+

Whether or not the tram is moving

trigger_move + + + + +

+

The trigger to send the tram

+ + + diff --git a/obj/item/circuit_component/trigonometry.html b/obj/item/circuit_component/trigonometry.html new file mode 100644 index 000000000000..31eb4e8c5b73 --- /dev/null +++ b/obj/item/circuit_component/trigonometry.html @@ -0,0 +1,44 @@ + + + + + + + /obj/item/circuit_component/trigonometry - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Trigonometric Component + + + +

+ +

General trigonometric unit with sine, cosine, tangent and their inverse functions. +This one only works with numbers.

+ +

Vars

input_portThe input port
outputThe result from the output
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/variable.html b/obj/item/circuit_component/variable.html new file mode 100644 index 000000000000..d9e46b694c01 --- /dev/null +++ b/obj/item/circuit_component/variable.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/variable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Variable Component + + + +

+ +

Abstract component for handling variables

+

Vars

variable_nameVariable name
+

Var Details

variable_name + + + + +

+

Variable name

+ + + diff --git a/obj/item/circuit_component/variable/getter.html b/obj/item/circuit_component/variable/getter.html new file mode 100644 index 000000000000..5c85d3055b05 --- /dev/null +++ b/obj/item/circuit_component/variable/getter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/variable/getter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Getter Component + + + +

+ +

Gets the current value from a variable.

+

Vars

valueThe value of the variable
+

Var Details

value + + + + +

+

The value of the variable

+ + + diff --git a/obj/item/circuit_component/variable/list/listadd.html b/obj/item/circuit_component/variable/list/listadd.html new file mode 100644 index 000000000000..3180f2b98885 --- /dev/null +++ b/obj/item/circuit_component/variable/list/listadd.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/variable/list/listadd - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

List Add Component + + + +

+ +

Adds an element to a list.

+ + +

Vars

allow_duplicateWhether to add duplicates or not
failedFor when the list is too long, a signal is sent here.
to_addElement to add to the list
+

Var Details

allow_duplicate + + + + +

+

Whether to add duplicates or not

failed + + + + +

+

For when the list is too long, a signal is sent here.

to_add + + + + +

+

Element to add to the list

+ + + diff --git a/obj/item/circuit_component/variable/list/listremove.html b/obj/item/circuit_component/variable/list/listremove.html new file mode 100644 index 000000000000..07589ddf4795 --- /dev/null +++ b/obj/item/circuit_component/variable/list/listremove.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/variable/list/listremove - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

List Remove Component + + + +

+ +

Removes an element to a list.

+

Vars

to_removeElement to remove to the list
+

Var Details

to_remove + + + + +

+

Element to remove to the list

+ + + diff --git a/obj/item/circuit_component/variable/setter.html b/obj/item/circuit_component/variable/setter.html new file mode 100644 index 000000000000..5f93091da8b1 --- /dev/null +++ b/obj/item/circuit_component/variable/setter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/variable/setter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Setter Component + + + +

+ +

Stores the current input when triggered into a variable.

+

Vars

input_portThe input to store
+

Var Details

input_port + + + + +

+

The input to store

+ + + diff --git a/obj/item/circuit_component/vendor_component.html b/obj/item/circuit_component/vendor_component.html new file mode 100644 index 000000000000..3d86816be45a --- /dev/null +++ b/obj/item/circuit_component/vendor_component.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/vendor_component - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vendor_component + + + +

+ + + +

Vars

item_to_vendThe item this vendor component should vend
vend_itemUsed to vend the item
+

Var Details

item_to_vend + + + + +

+

The item this vendor component should vend

vend_item + + + + +

+

Used to vend the item

+ + + diff --git a/obj/item/circuit_component/view_sensor.html b/obj/item/circuit_component/view_sensor.html new file mode 100644 index 000000000000..76a9a87f7519 --- /dev/null +++ b/obj/item/circuit_component/view_sensor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/view_sensor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

view_sensor + + + +

+ + +

Vars

resultThe result from the output
+

Var Details

result + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/vim.html b/obj/item/circuit_component/vim.html new file mode 100644 index 000000000000..92e4720cf40d --- /dev/null +++ b/obj/item/circuit_component/vim.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/vim - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vim + + + +

+ + + + +

Vars

are_headlights_onWhether the mech headlights are currently on.
buzzSent when the mech buzzes.
chimeSent when the mech chimes.
+

Var Details

are_headlights_on + + + + +

+

Whether the mech headlights are currently on.

buzz + + + + +

+

Sent when the mech buzzes.

chime + + + + +

+

Sent when the mech chimes.

+ + + diff --git a/obj/item/circuit_component/wiremod_gun.html b/obj/item/circuit_component/wiremod_gun.html new file mode 100644 index 000000000000..80be94b19c5c --- /dev/null +++ b/obj/item/circuit_component/wiremod_gun.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/wiremod_gun - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

wiremod_gun + + + +

+ + + + + + +

Vars

shooterThe shooter
shotThe entity being shot
signalCalled when a projectile hits

Procs

handle_chamberCalled when the shell item processes a new chamber
handle_shotCalled when the shell item shoots something
+

Var Details

shooter + + + + +

+

The shooter

shot + + + + +

+

The entity being shot

signal + + + + +

+

Called when a projectile hits

Proc Details

handle_chamber +

+

Called when the shell item processes a new chamber

handle_shot +

+

Called when the shell item shoots something

+ + + diff --git a/obj/item/circuit_component/wiremod_scanner.html b/obj/item/circuit_component/wiremod_scanner.html new file mode 100644 index 000000000000..a2be89e28f04 --- /dev/null +++ b/obj/item/circuit_component/wiremod_scanner.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/wiremod_scanner - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

wiremod_scanner + + + +

+ + + + + +

Vars

attackerThe attacker
attackingThe entity being attacked
signalCalled when afterattack is called on the shell.

Procs

handle_afterattackCalled when the shell item attacks something
+

Var Details

attacker + + + + +

+

The attacker

attacking + + + + +

+

The entity being attacked

signal + + + + +

+

Called when afterattack is called on the shell.

Proc Details

handle_afterattack +

+

Called when the shell item attacks something

+ + + diff --git a/obj/item/circuitboard.html b/obj/item/circuitboard.html new file mode 100644 index 000000000000..db2676fac372 --- /dev/null +++ b/obj/item/circuitboard.html @@ -0,0 +1,47 @@ + + + + + + + /obj/item/circuitboard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

circuitboard + + + +

+ + + +

Vars

onstationdetermines if the circuit board originated from a vendor off station or not.

Procs

configure_machineUsed to allow the circuitboard to configure a machine in some way, shape or form.
+

Var Details

onstation + + + + +

+

determines if the circuit board originated from a vendor off station or not.

Proc Details

configure_machine +

+

Used to allow the circuitboard to configure a machine in some way, shape or form.

+

Arguments:

+
+ + + diff --git a/obj/item/circuitboard/computer/cargo.html b/obj/item/circuitboard/computer/cargo.html new file mode 100644 index 000000000000..8d18357c164c --- /dev/null +++ b/obj/item/circuitboard/computer/cargo.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuitboard/computer/cargo - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cargo + + + +

+ + +

Vars

supply_flagsMatches supply pack flags.
+

Var Details

supply_flags + + + + +

+

Matches supply pack flags.

+ + + diff --git a/obj/item/clipboard.html b/obj/item/clipboard.html new file mode 100644 index 000000000000..6d3495d4f93e --- /dev/null +++ b/obj/item/clipboard.html @@ -0,0 +1,67 @@ + + + + + + + /obj/item/clipboard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

clipboard + + + +

+ +

Clipboard

+ + + + +

Vars

integrated_penIs the pen integrated?
penThe stored pen
toppaper_refWeakref of the topmost piece of paper

Procs

on_top_paper_changeThis is a simple proc to handle calling update_icon() upon receiving the top paper's COMSIG_ATOM_UPDATE_APPEARANCE.
remove_paperTake out the topmost paper
+

Var Details

integrated_pen + + + + +

+

Is the pen integrated?

pen + + + + +

+

The stored pen

toppaper_ref + + + + +

+

Weakref of the topmost piece of paper

+

This is used for the paper displayed on the clipboard's icon +and it is the one attacked, when attacking the clipboard. +(As you can't organise contents directly in BYOND)

Proc Details

on_top_paper_change +

+

This is a simple proc to handle calling update_icon() upon receiving the top paper's COMSIG_ATOM_UPDATE_APPEARANCE.

remove_paper +

+

Take out the topmost paper

+ + + diff --git a/obj/item/clothing.html b/obj/item/clothing.html new file mode 100644 index 000000000000..d3325e9baf84 --- /dev/null +++ b/obj/item/clothing.html @@ -0,0 +1,212 @@ + + + + + + + /obj/item/clothing - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

clothing + + + +

+ + + + + + + + + + + + + + + + + + + + + +

Vars

clothing_flagsFlags for clothing
clothing_traitsTrait modification, lazylist of traits to add/take away, on equipment/drop in the correct slot
damage_by_partsHow much clothing damage has been dealt to each of the limbs of the clothing, assuming it covers more than one limb
fallback_colorsNeeds to follow this syntax: either a list() with the x and y coordinates of the pixel you want to get the colour from, or a hexcolour. Colour one replaces red, two replaces blue, and three replaces green in the icon state.
fallback_icon_stateNeeds to be a RGB-greyscale format icon state in all species' fallback icon files.
fiber_nameAn alternative name to be used for fibers, forensics stuffs
flash_protectWhat level of bright light protection item has.
limb_integrityHow much integrity is in a specific limb before that limb is disabled (for use in /obj/item/clothing/proc/take_damage_zone, and only if we cover multiple zones.) Set to 0 to disable shredding.
moth_snackA lazily initiated "food" version of the clothing for moths
repairable_byWhat items can be consumed to repair this clothing (must by an /obj/item/stack)
zones_disabledHow many zones (body parts, not precise) we have disabled so far, for naming purposes

Procs

armor_to_protection_classRounds armor_value down to the nearest 10, divides it by 10 and then converts it to Roman numerals.
attach_clothing_traitsInserts a trait (or multiple traits) into the clothing traits list
bristleIf we're a clothing with at least 1 shredded/disabled zone, give the wearer a periodic heads up letting them know their clothes are damaged
detach_clothing_traitsRemoves a trait (or multiple traits) from the clothing traits list
disable_zonedisable_zone() is used to disable a given bodypart's protection on our clothing item, mainly from /obj/item/clothing/proc/take_damage_zone
generate_fallback_clothingGenerates a 'fallback' sprite from fallback_colors and fallback_icon_state, then adds it to GLOB.fallback_clothing_icons.
repairSet the clothing's integrity back to 100%, remove all damage to bodyparts, and generally fix it up
take_damage_zonetake_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from [/obj/item/bodypart/proc/check_woundings_mods]
wear_fallback_versionReturns a mutable_appearance of this clothing's fallback sprite.
+

Var Details

clothing_flags + + + + +

+

Flags for clothing

clothing_traits + + + + +

+

Trait modification, lazylist of traits to add/take away, on equipment/drop in the correct slot

damage_by_parts + + + + +

+

How much clothing damage has been dealt to each of the limbs of the clothing, assuming it covers more than one limb

fallback_colors + + + + +

+

Needs to follow this syntax: either a list() with the x and y coordinates of the pixel you want to get the colour from, or a hexcolour. Colour one replaces red, two replaces blue, and three replaces green in the icon state.

fallback_icon_state + + + + +

+

Needs to be a RGB-greyscale format icon state in all species' fallback icon files.

fiber_name + + + + +

+

An alternative name to be used for fibers, forensics stuffs

flash_protect + + + + +

+

What level of bright light protection item has.

limb_integrity + + + + +

+

How much integrity is in a specific limb before that limb is disabled (for use in /obj/item/clothing/proc/take_damage_zone, and only if we cover multiple zones.) Set to 0 to disable shredding.

moth_snack + + + + +

+

A lazily initiated "food" version of the clothing for moths

repairable_by + + + + +

+

What items can be consumed to repair this clothing (must by an /obj/item/stack)

zones_disabled + + + + +

+

How many zones (body parts, not precise) we have disabled so far, for naming purposes

Proc Details

armor_to_protection_class +

+

Rounds armor_value down to the nearest 10, divides it by 10 and then converts it to Roman numerals.

+

Arguments:

+

attach_clothing_traits +

+

Inserts a trait (or multiple traits) into the clothing traits list

+

If worn, then we will also give the wearer the trait as if equipped

+

This is so you can add clothing traits without worrying about needing to equip or unequip them to gain effects

bristle +

+

If we're a clothing with at least 1 shredded/disabled zone, give the wearer a periodic heads up letting them know their clothes are damaged

detach_clothing_traits +

+

Removes a trait (or multiple traits) from the clothing traits list

+

If worn, then we will also remove the trait from the wearer as if unequipped

+

This is so you can add clothing traits without worrying about needing to equip or unequip them to gain effects

disable_zone +

+

disable_zone() is used to disable a given bodypart's protection on our clothing item, mainly from /obj/item/clothing/proc/take_damage_zone

+

This proc disables all protection on the specified bodypart for this piece of clothing: it'll be as if it doesn't cover it at all anymore (because it won't!) +If every possible bodypart has been disabled on the clothing, we put it out of commission entirely and mark it as shredded, whereby it will have to be repaired in +order to equip it again. Also note we only consider it damaged if there's more than one bodypart disabled.

+

Arguments:

+

generate_fallback_clothing +

+

Generates a 'fallback' sprite from fallback_colors and fallback_icon_state, then adds it to GLOB.fallback_clothing_icons.

+

The fallback sprite is created by getting each colour specified in [fallback_colors], +then mapping each of them to the red, green, and blue sections of the sprite specified by [fallback_icon_state].

+

Arguments:

+

repair +

+

Set the clothing's integrity back to 100%, remove all damage to bodyparts, and generally fix it up

take_damage_zone +

+

take_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from [/obj/item/bodypart/proc/check_woundings_mods]

+

This proc only matters when a bodypart that this clothing is covering is harmed by a direct attack (being on fire or in space need not apply), and only if this clothing covers +more than one bodypart to begin with. No point in tracking damage by zone for a hat, and I'm not cruel enough to let you fully break them in a few shots. +Also if limb_integrity is 0, then this clothing doesn't have bodypart damage enabled so skip it.

+

Arguments:

+

wear_fallback_version +

+

Returns a mutable_appearance of this clothing's fallback sprite.

+

If a sprite for this item hasn't already been generated, a new one is made in [generate_fallback_clothing], and added to GLOB.fallback_clothing_icons.

+

Arguments:

+
+ + + diff --git a/obj/item/clothing/accessory.html b/obj/item/clothing/accessory.html new file mode 100644 index 000000000000..045e5df9949e --- /dev/null +++ b/obj/item/clothing/accessory.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/clothing/accessory - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

accessory + + + +

+ + + + +

Vars

above_suitWhether or not the accessory displays through suits and the like.
attachment_slotWhat equipment slot the accessory attaches to.
minimize_when_attachedTRUE if shown as a small icon in corner, FALSE if overlayed
+

Var Details

above_suit + + + + +

+

Whether or not the accessory displays through suits and the like.

attachment_slot + + + + +

+

What equipment slot the accessory attaches to.

minimize_when_attached + + + + +

+

TRUE if shown as a small icon in corner, FALSE if overlayed

+ + + diff --git a/obj/item/clothing/accessory/allergy_dogtag.html b/obj/item/clothing/accessory/allergy_dogtag.html new file mode 100644 index 000000000000..cce98f794c39 --- /dev/null +++ b/obj/item/clothing/accessory/allergy_dogtag.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/accessory/allergy_dogtag - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

allergy_dogtag + + + +

+ + + +

Vars

displayDisplay message

Procs

on_examineWhat happens when we examine the uniform
+

Var Details

display + + + + +

+

Display message

Proc Details

on_examine +

+

What happens when we examine the uniform

+ + + diff --git a/obj/item/clothing/glasses.html b/obj/item/clothing/glasses.html new file mode 100644 index 000000000000..ffdba3300ce9 --- /dev/null +++ b/obj/item/clothing/glasses.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/clothing/glasses - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

glasses + + + +

+ + + + + + +

Vars

currentThe current hud icons
forced_glass_colorWhether or not vision coloring is forcing
glass_colour_typeColors your vision when worn
invis_overrideOverride to allow glasses to set higher than normal see_invis
vision_correctionDoes wearing these glasses correct some of our vision defects?
+

Var Details

current + + + + +

+

The current hud icons

forced_glass_color + + + + +

+

Whether or not vision coloring is forcing

glass_colour_type + + + + +

+

Colors your vision when worn

invis_override + + + + +

+

Override to allow glasses to set higher than normal see_invis

vision_correction + + + + +

+

Does wearing these glasses correct some of our vision defects?

+ + + diff --git a/obj/item/clothing/glasses/hud.html b/obj/item/clothing/glasses/hud.html new file mode 100644 index 000000000000..6de46e6ff591 --- /dev/null +++ b/obj/item/clothing/glasses/hud.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/glasses/hud - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hud + + + +

+ + +

Vars

hud_traitUsed for topic calls. Just because you have a HUD display doesn't mean you should be able to interact with stuff.
+

Var Details

hud_trait + + + + +

+

Used for topic calls. Just because you have a HUD display doesn't mean you should be able to interact with stuff.

+ + + diff --git a/obj/item/clothing/gloves.html b/obj/item/clothing/gloves.html new file mode 100644 index 000000000000..a0cc095c2fb5 --- /dev/null +++ b/obj/item/clothing/gloves.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/gloves - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

gloves + + + +

+ + +

Vars

transfer_bloodUsed for handling bloody gloves leaving behind bloodstains on objects. Will be decremented whenever a bloodstain is left behind, and be incremented when the gloves become bloody.
+

Var Details

transfer_blood + + + + +

+

Used for handling bloody gloves leaving behind bloodstains on objects. Will be decremented whenever a bloodstain is left behind, and be incremented when the gloves become bloody.

+ + + diff --git a/obj/item/clothing/gloves/cargo_gauntlet.html b/obj/item/clothing/gloves/cargo_gauntlet.html new file mode 100644 index 000000000000..15bfd8d55220 --- /dev/null +++ b/obj/item/clothing/gloves/cargo_gauntlet.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/clothing/gloves/cargo_gauntlet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

cargo_gauntlet + + + +

+ + +

Procs

on_glove_equipCalled when the glove is equipped. Adds a component to the equipper and stores a weak reference to it.

Proc Details

on_glove_equip +

+

Called when the glove is equipped. Adds a component to the equipper and stores a weak reference to it.

+ + + diff --git a/obj/item/clothing/gloves/space_ninja.html b/obj/item/clothing/gloves/space_ninja.html new file mode 100644 index 000000000000..e2fd763ae971 --- /dev/null +++ b/obj/item/clothing/gloves/space_ninja.html @@ -0,0 +1,67 @@ + + + + + + + /obj/item/clothing/gloves/space_ninja - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Ninja Gloves + + + +

+ +

Space ninja's gloves. Gives access to a number of special interactions.

+

Gloves only found from space ninjas. Allows the wearer to access special interactions with various objects. +These interactions are detailed in ninjaDrainAct.dm in the suit file. +These interactions are toggled by an action tied to the gloves. The interactions will not activate if the user is also not wearing a ninja suit.

+ + + + +

Vars

communication_console_hack_successWhether or not the communication console hack was used to summon another antagonist
door_hack_counterHow many times the gloves have been used to force open doors.
drainingWhether or not we're currently draining something
maxdrainMaximum amount of power we can drain in a single drain action
mindrainMinimum amount of power we can drain in a single drain action
+

Var Details

communication_console_hack_success + + + + +

+

Whether or not the communication console hack was used to summon another antagonist

door_hack_counter + + + + +

+

How many times the gloves have been used to force open doors.

draining + + + + +

+

Whether or not we're currently draining something

maxdrain + + + + +

+

Maximum amount of power we can drain in a single drain action

mindrain + + + + +

+

Minimum amount of power we can drain in a single drain action

+ + + diff --git a/obj/item/clothing/gloves/tackler.html b/obj/item/clothing/gloves/tackler.html new file mode 100644 index 000000000000..d4b07fd45baf --- /dev/null +++ b/obj/item/clothing/gloves/tackler.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/clothing/gloves/tackler - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tackler + + + +

+ + + + + + + + +

Vars

base_knockdownSee: /datum/component/tackler/var/base_knockdown
min_distanceSee: /datum/component/tackler/var/min_distance
skill_modSee: /datum/component/tackler/var/skill_mod
tackle_rangeSee: /datum/component/tackler/var/range
tackle_speedSee: /datum/component/tackler/var/speed
tackle_stam_costSee: /datum/component/tackler/var/stamina_cost
tacklerFor storing our tackler datum so we can remove it after
+

Var Details

base_knockdown + + + + +

+

See: /datum/component/tackler/var/base_knockdown

min_distance + + + + +

+

See: /datum/component/tackler/var/min_distance

skill_mod + + + + +

+

See: /datum/component/tackler/var/skill_mod

tackle_range + + + + +

+

See: /datum/component/tackler/var/range

tackle_speed + + + + +

+

See: /datum/component/tackler/var/speed

tackle_stam_cost + + + + +

+

See: /datum/component/tackler/var/stamina_cost

tackler + + + + +

+

For storing our tackler datum so we can remove it after

+ + + diff --git a/obj/item/clothing/head.html b/obj/item/clothing/head.html new file mode 100644 index 000000000000..d1327876cafb --- /dev/null +++ b/obj/item/clothing/head.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/clothing/head - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

head + + + +

+ + + +

Procs

throw_impactSpecial throw_impact for hats to frisbee hats at people to place them on their heads/attempt to de-hat them.
worn_overlaysif the thrown object's target zone isn't the head +ignore any hats with the tinfoil counter-measure enabled +if the hat happens to be capable of holding contents and has something in it. mostly to prevent super cheesy stuff like stuffing a mini-bomb in a hat and throwing it +check if the item has NODROP +check if the item is an actual clothing head item, since some non-clothing items can be worn +SNUG_FIT hats are immune to being knocked off +if the hat manages to knock something off

Proc Details

throw_impact +

+

Special throw_impact for hats to frisbee hats at people to place them on their heads/attempt to de-hat them.

worn_overlays +

+

if the thrown object's target zone isn't the head +ignore any hats with the tinfoil counter-measure enabled +if the hat happens to be capable of holding contents and has something in it. mostly to prevent super cheesy stuff like stuffing a mini-bomb in a hat and throwing it +check if the item has NODROP +check if the item is an actual clothing head item, since some non-clothing items can be worn +SNUG_FIT hats are immune to being knocked off +if the hat manages to knock something off

+ + + diff --git a/obj/item/clothing/head/beanie/black/dboy.html b/obj/item/clothing/head/beanie/black/dboy.html new file mode 100644 index 000000000000..8a8f32468df8 --- /dev/null +++ b/obj/item/clothing/head/beanie/black/dboy.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/head/beanie/black/dboy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

dboy + + + +

+ + +

Vars

beanie_ownerUsed for the extra flavor text the d-boy himself sees
+

Var Details

beanie_owner + + + + +

+

Used for the extra flavor text the d-boy himself sees

+ + + diff --git a/obj/item/clothing/head/chefhat.html b/obj/item/clothing/head/chefhat.html new file mode 100644 index 000000000000..e7ce3c24e877 --- /dev/null +++ b/obj/item/clothing/head/chefhat.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/head/chefhat - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chefhat + + + +

+ + +

Vars

mouse_control_probabilitythe chance that the movements of a mouse inside of this hat get relayed to the human wearing the hat
+

Var Details

mouse_control_probability + + + + +

+

the chance that the movements of a mouse inside of this hat get relayed to the human wearing the hat

+ + + diff --git a/obj/item/clothing/head/foilhat.html b/obj/item/clothing/head/foilhat.html new file mode 100644 index 000000000000..2427e811b815 --- /dev/null +++ b/obj/item/clothing/head/foilhat.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/clothing/head/foilhat - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

foilhat + + + +

+ + +

Procs

drain_antimagicWhen the foilhat is drained an anti-magic charge.

Proc Details

drain_antimagic +

+

When the foilhat is drained an anti-magic charge.

+ + + diff --git a/obj/item/clothing/head/hardhat.html b/obj/item/clothing/head/hardhat.html new file mode 100644 index 000000000000..d895ea989ab5 --- /dev/null +++ b/obj/item/clothing/head/hardhat.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/head/hardhat - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hardhat + + + +

+ + + +

Vars

hat_typeDetermines used sprites: hardhat[on]_[hat_type] and hardhat[on]_[hat_type]2 (lying down sprite)
onWhether the headlamp is on or off.
+

Var Details

hat_type + + + + +

+

Determines used sprites: hardhat[on]_[hat_type] and hardhat[on]_[hat_type]2 (lying down sprite)

on + + + + +

+

Whether the headlamp is on or off.

+ + + diff --git a/obj/item/clothing/head/helmet/justice.html b/obj/item/clothing/head/helmet/justice.html new file mode 100644 index 000000000000..2ffec3ed650e --- /dev/null +++ b/obj/item/clothing/head/helmet/justice.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/head/helmet/justice - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

justice + + + +

+ + +

Vars

weewooloopLooping sound datum for the siren helmet
+

Var Details

weewooloop + + + + +

+

Looping sound datum for the siren helmet

+ + + diff --git a/obj/item/clothing/head/helmet/monkey_sentience.html b/obj/item/clothing/head/helmet/monkey_sentience.html new file mode 100644 index 000000000000..946bceef7155 --- /dev/null +++ b/obj/item/clothing/head/helmet/monkey_sentience.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/clothing/head/helmet/monkey_sentience - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

monkey_sentience + + + +

+ + + + +

Vars

light_colorsif the helmet is currently polling for targets (special code for removal)
pollingif the helmet is on a valid target (just works like a normal helmet if not (cargo please stop))

Procs

Initializewhich icon state color this is (red, blue, yellow)
+

Var Details

light_colors + + + + +

+

if the helmet is currently polling for targets (special code for removal)

polling + + + + +

+

if the helmet is on a valid target (just works like a normal helmet if not (cargo please stop))

Proc Details

Initialize +

+

which icon state color this is (red, blue, yellow)

+ + + diff --git a/obj/item/clothing/head/helmet/space/space_ninja.html b/obj/item/clothing/head/helmet/space/space_ninja.html new file mode 100644 index 000000000000..d2257664372b --- /dev/null +++ b/obj/item/clothing/head/helmet/space/space_ninja.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/clothing/head/helmet/space/space_ninja - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Ninja Hood + + + +

+ +

Space ninja's hood. Provides armor and blocks AI tracking.

+

A hood that only exists as a part of space ninja's starting kit. Provides armor equal of space ninja's suit and disallows an AI to track the wearer.

+ + + diff --git a/obj/item/clothing/head/that.html b/obj/item/clothing/head/that.html new file mode 100644 index 000000000000..a110d9e5b87d --- /dev/null +++ b/obj/item/clothing/head/that.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/head/that - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

that + + + +

+ + +

Vars

rabbit_cooldownCooldown for how often we can pull rabbits out of here
+

Var Details

rabbit_cooldown + + + + +

+

Cooldown for how often we can pull rabbits out of here

+ + + diff --git a/obj/item/clothing/head/ushanka.html b/obj/item/clothing/head/ushanka.html new file mode 100644 index 000000000000..4d16a351661d --- /dev/null +++ b/obj/item/clothing/head/ushanka.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/head/ushanka - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ushanka + + + +

+ + + +

Vars

downspriteSprite visible when the ushanka flaps are folded down.
upspriteSprite visible when the ushanka flaps are folded up.
+

Var Details

downsprite + + + + +

+

Sprite visible when the ushanka flaps are folded down.

upsprite + + + + +

+

Sprite visible when the ushanka flaps are folded up.

+ + + diff --git a/obj/item/clothing/mask.html b/obj/item/clothing/mask.html new file mode 100644 index 000000000000..c47fd380a6c7 --- /dev/null +++ b/obj/item/clothing/mask.html @@ -0,0 +1,48 @@ + + + + + + + /obj/item/clothing/mask - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mask + + + +

+ + + +

Vars

has_filterDid we install a filtering cloth?

Procs

consume_filterProc called in lungs.dm to act if wearing a mask with filters, used to reduce the filters durability, return a changed gas mixture depending on the filter status +Arguments:
+

Var Details

has_filter + + + + +

+

Did we install a filtering cloth?

Proc Details

consume_filter +

+

Proc called in lungs.dm to act if wearing a mask with filters, used to reduce the filters durability, return a changed gas mixture depending on the filter status +Arguments:

+
+ + + diff --git a/obj/item/clothing/mask/animal.html b/obj/item/clothing/mask/animal.html new file mode 100644 index 000000000000..acf259fd2dce --- /dev/null +++ b/obj/item/clothing/mask/animal.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/clothing/mask/animal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

animal + + + +

+ + + + + + + +

Vars

animal_soundswhat kind of animal the masks represents. used for automatic name and description generation.
animal_sounds_altphrases to be said when the player attempts to talk when speech modification / voicebox is enabled.
animal_sounds_alt_probabilitylower probability phrases to be said when talking.
curse_spawn_soundif it's a cursed mask variant.
cursedprobability for alternative sounds to play.

Procs

Initializesound to play when the cursed mask variant is spawned.
+

Var Details

animal_sounds + + + + +

+

what kind of animal the masks represents. used for automatic name and description generation.

animal_sounds_alt + + + + +

+

phrases to be said when the player attempts to talk when speech modification / voicebox is enabled.

animal_sounds_alt_probability + + + + +

+

lower probability phrases to be said when talking.

curse_spawn_sound + + + + +

+

if it's a cursed mask variant.

cursed + + + + +

+

probability for alternative sounds to play.

Proc Details

Initialize +

+

sound to play when the cursed mask variant is spawned.

+ + + diff --git a/obj/item/clothing/mask/cigarette.html b/obj/item/clothing/mask/cigarette.html new file mode 100644 index 000000000000..7dfbbd2ddb6f --- /dev/null +++ b/obj/item/clothing/mask/cigarette.html @@ -0,0 +1,148 @@ + + + + + + + /obj/item/clothing/mask/cigarette - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cigarette + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

chem_volumeThe capacity for chems this cigarette has.
drag_cooldownThe cooldown that prevents just huffing the entire cigarette at once.
dragtimeHow much time between drags of the cigarette.
icon_offThe icon state used when this is extinguished.
icon_onThe icon state used when this is lit.
inhand_icon_offThe inhand icon state used when this is extinguished.
inhand_icon_onThe inhand icon state used when this is lit.
list_reagentsThe reagents that this cigarette starts with.
litWhether this cigarette has been lit.
lung_harmHow much damage this deals to the lungs per drag.
smoke_allShould we smoke all of the chems in the cig before it runs out. Splits each puff to take a portion of the overall chems so by the end you'll always have consumed all of the chems inside.
smoke_cooldownThe cooldown that staggers smoke effects.
smoketimeHow long the cigarette lasts in seconds
starts_litWhether this cigarette should start lit.
type_buttThe type of cigarette butt spawned when this burns out.

Procs

lightLights the cigarette with given flavor text.
use_reagentsHandles processing the reagents in the cigarette.
+

Var Details

chem_volume + + + + +

+

The capacity for chems this cigarette has.

drag_cooldown + + + + +

+

The cooldown that prevents just huffing the entire cigarette at once.

dragtime + + + + +

+

How much time between drags of the cigarette.

icon_off + + + + +

+

The icon state used when this is extinguished.

icon_on + + + + +

+

The icon state used when this is lit.

inhand_icon_off + + + + +

+

The inhand icon state used when this is extinguished.

inhand_icon_on + + + + +

+

The inhand icon state used when this is lit.

list_reagents + + + + +

+

The reagents that this cigarette starts with.

lit + + + + +

+

Whether this cigarette has been lit.

lung_harm + + + + +

+

How much damage this deals to the lungs per drag.

smoke_all + + + + +

+

Should we smoke all of the chems in the cig before it runs out. Splits each puff to take a portion of the overall chems so by the end you'll always have consumed all of the chems inside.

smoke_cooldown + + + + +

+

The cooldown that staggers smoke effects.

smoketime + + + + +

+

How long the cigarette lasts in seconds

starts_lit + + + + +

+

Whether this cigarette should start lit.

type_butt + + + + +

+

The type of cigarette butt spawned when this burns out.

Proc Details

light +

+

Lights the cigarette with given flavor text.

use_reagents +

+

Handles processing the reagents in the cigarette.

+ + + diff --git a/obj/item/clothing/mask/cigarette/pipe.html b/obj/item/clothing/mask/cigarette/pipe.html new file mode 100644 index 000000000000..2f6ab1e51210 --- /dev/null +++ b/obj/item/clothing/mask/cigarette/pipe.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/mask/cigarette/pipe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pipe + + + +

+ + +

Vars

packeditemname of the stuff packed inside this pipe
+

Var Details

packeditem + + + + +

+

name of the stuff packed inside this pipe

+ + + diff --git a/obj/item/clothing/mask/gas.html b/obj/item/clothing/mask/gas.html new file mode 100644 index 000000000000..d727bb8225ee --- /dev/null +++ b/obj/item/clothing/mask/gas.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/clothing/mask/gas - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

gas + + + +

+ + + + + + +

Vars

gas_filtersList to keep track of each filter
max_filtersMax numbers of installable filters
starting_filter_typeType of filter that spawns on roundstart

Procs

consume_filterCheck _masks.dm for this one
get_filter_durabilityGetter for overall filter durability, takes into consideration all filters filter_status
+

Var Details

gas_filters + + + + +

+

List to keep track of each filter

max_filters + + + + +

+

Max numbers of installable filters

starting_filter_type + + + + +

+

Type of filter that spawns on roundstart

Proc Details

consume_filter +

+

Check _masks.dm for this one

get_filter_durability +

+

Getter for overall filter durability, takes into consideration all filters filter_status

+ + + diff --git a/obj/item/clothing/mask/gas/space_ninja.html b/obj/item/clothing/mask/gas/space_ninja.html new file mode 100644 index 000000000000..87688a849de8 --- /dev/null +++ b/obj/item/clothing/mask/gas/space_ninja.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/clothing/mask/gas/space_ninja - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Ninja Mask + + + +

+ +

Space ninja's mask. Other than looking cool, doesn't do anything.

+

A mask which only spawns as a part of space ninja's starting kit. Functions as a gas mask.

+ + + diff --git a/obj/item/clothing/mask/madness_mask.html b/obj/item/clothing/mask/madness_mask.html new file mode 100644 index 000000000000..362513e301d8 --- /dev/null +++ b/obj/item/clothing/mask/madness_mask.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/mask/madness_mask - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

madness_mask + + + +

+ + +

Vars

local_userWho is wearing this
+

Var Details

local_user + + + + +

+

Who is wearing this

+ + + diff --git a/obj/item/clothing/mask/muzzle/tape.html b/obj/item/clothing/mask/muzzle/tape.html new file mode 100644 index 000000000000..fd098187e577 --- /dev/null +++ b/obj/item/clothing/mask/muzzle/tape.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/mask/muzzle/tape - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tape + + + +

+ + + +

Vars

harmful_stripDertermines whether the tape piece does damage when ripped off of someone.
stripping_damageThe ammount of damage dealt when the tape piece is ripped off of someone.
+

Var Details

harmful_strip + + + + +

+

Dertermines whether the tape piece does damage when ripped off of someone.

stripping_damage + + + + +

+

The ammount of damage dealt when the tape piece is ripped off of someone.

+ + + diff --git a/obj/item/clothing/mask/vape.html b/obj/item/clothing/mask/vape.html new file mode 100644 index 000000000000..4f49eec96db6 --- /dev/null +++ b/obj/item/clothing/mask/vape.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/clothing/mask/vape - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vape + + + +

+ + + + + + + +

Vars

chem_volumeThe capacity of the vape.
drag_cooldownA cooldown to prevent huffing the vape all at once.
dragtimeThe amount of time between drags.
overlaynameUsed to decide what overlay sprites to use.
screwWhether the resevoir is open and we can add reagents.
superWhether the vape has been overloaded to spread smoke.
+

Var Details

chem_volume + + + + +

+

The capacity of the vape.

drag_cooldown + + + + +

+

A cooldown to prevent huffing the vape all at once.

dragtime + + + + +

+

The amount of time between drags.

overlayname + + + + +

+

Used to decide what overlay sprites to use.

screw + + + + +

+

Whether the resevoir is open and we can add reagents.

super + + + + +

+

Whether the vape has been overloaded to spread smoke.

+ + + diff --git a/obj/item/clothing/neck/eldritch_amulet.html b/obj/item/clothing/neck/eldritch_amulet.html new file mode 100644 index 000000000000..112cfa6fa505 --- /dev/null +++ b/obj/item/clothing/neck/eldritch_amulet.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/neck/eldritch_amulet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

eldritch_amulet + + + +

+ + +

Vars

heretic_only_traitClothing trait only applied to heretics.
+

Var Details

heretic_only_trait + + + + +

+

Clothing trait only applied to heretics.

+ + + diff --git a/obj/item/clothing/neck/link_scryer.html b/obj/item/clothing/neck/link_scryer.html new file mode 100644 index 000000000000..f015ad745405 --- /dev/null +++ b/obj/item/clothing/neck/link_scryer.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/clothing/neck/link_scryer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

link_scryer + + + +

+ + + + + +

Vars

cellThe installed power cell.
labelAn additional name tag for the scryer, seen as "MODlink scryer - [label]"
mod_linkThe MODlink datum we operate.
starting_frequencyInitial frequency of the MODlink.
+

Var Details

cell + + + + +

+

The installed power cell.

label + + + + +

+

An additional name tag for the scryer, seen as "MODlink scryer - [label]"

+

The MODlink datum we operate.

starting_frequency + + + + +

+

Initial frequency of the MODlink.

+ + + diff --git a/obj/item/clothing/neck/necklace/dope/merchant.html b/obj/item/clothing/neck/necklace/dope/merchant.html new file mode 100644 index 000000000000..0c2439be5df7 --- /dev/null +++ b/obj/item/clothing/neck/necklace/dope/merchant.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/neck/necklace/dope/merchant - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

merchant + + + +

+ + + +

Vars

profit_scalingscales the amount received in case an admin wants to emulate taxes/fees.
sellingtoggles between sell (TRUE) and get price post-fees (FALSE)
+

Var Details

profit_scaling + + + + +

+

scales the amount received in case an admin wants to emulate taxes/fees.

selling + + + + +

+

toggles between sell (TRUE) and get price post-fees (FALSE)

+ + + diff --git a/obj/item/clothing/shoes.html b/obj/item/clothing/shoes.html new file mode 100644 index 000000000000..f1fa55e6dd0a --- /dev/null +++ b/obj/item/clothing/shoes.html @@ -0,0 +1,105 @@ + + + + + + + /obj/item/clothing/shoes - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

shoes + + + +

+ + + + + + + + + + +

Vars

blood_on_feetThe amount of blood on us
can_be_tiedWhether these shoes have laces that can be tied/untied
lace_timeHow long it takes to lace/unlace these shoes
our_alert_refAn active alert
tiedAre we currently tied? Can either be SHOES_UNTIED, SHOES_TIED, or SHOES_KNOTTED

Procs

adjust_lacesadjust_laces adjusts whether our shoes (assuming they can_be_tied) and tied, untied, or knotted
check_tripcheck_trip runs on each step to see if we fall over as a result of our lace status. Knotted laces are a guaranteed trip, while untied shoes are just a chance to stumble
handle_tyinghandle_tying deals with all the actual tying/untying/knotting, inferring your intent from who you are in relation to the state of the laces
still_shoedour_guy here is the wearer, if one exists (and he must exist, or we don't care) +checking to make sure we're still on the person we're supposed to be, for lacing do_after's
+

Var Details

blood_on_feet + + + + +

+

The amount of blood on us

can_be_tied + + + + +

+

Whether these shoes have laces that can be tied/untied

lace_time + + + + +

+

How long it takes to lace/unlace these shoes

our_alert_ref + + + + +

+

An active alert

tied + + + + +

+

Are we currently tied? Can either be SHOES_UNTIED, SHOES_TIED, or SHOES_KNOTTED

Proc Details

adjust_laces +

+

adjust_laces adjusts whether our shoes (assuming they can_be_tied) and tied, untied, or knotted

+

In addition to setting the state, it will deal with getting rid of alerts if they exist, as well as registering and unregistering the stepping signals

+

Arguments:

+

check_trip +

+

check_trip runs on each step to see if we fall over as a result of our lace status. Knotted laces are a guaranteed trip, while untied shoes are just a chance to stumble

handle_tying +

+

handle_tying deals with all the actual tying/untying/knotting, inferring your intent from who you are in relation to the state of the laces

+

If you're the wearer, you want them to move towards tied-ness (knotted -> untied -> tied). If you're not, you're pranking them, so you're moving towards knotted-ness (tied -> untied -> knotted)

+

Arguments:

+

still_shoed +

+

our_guy here is the wearer, if one exists (and he must exist, or we don't care) +checking to make sure we're still on the person we're supposed to be, for lacing do_after's

+ + + diff --git a/obj/item/clothing/shoes/clown_shoes/banana_shoes.html b/obj/item/clothing/shoes/clown_shoes/banana_shoes.html new file mode 100644 index 000000000000..d5b382b0372b --- /dev/null +++ b/obj/item/clothing/shoes/clown_shoes/banana_shoes.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/clothing/shoes/clown_shoes/banana_shoes - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

banana_shoes + + + +

+ + + + + +

Vars

always_noslipIf TRUE, we will always have the noslip trait no matter whether they're on or off
banana_typeTypepath of created banana
material_per_bananaHow many materials we consume per banana created
onWhether the clown shoes are active (spawning bananas)
+

Var Details

always_noslip + + + + +

+

If TRUE, we will always have the noslip trait no matter whether they're on or off

banana_type + + + + +

+

Typepath of created banana

material_per_banana + + + + +

+

How many materials we consume per banana created

on + + + + +

+

Whether the clown shoes are active (spawning bananas)

+ + + diff --git a/obj/item/clothing/shoes/gunboots.html b/obj/item/clothing/shoes/gunboots.html new file mode 100644 index 000000000000..6f7aee4acebd --- /dev/null +++ b/obj/item/clothing/shoes/gunboots.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/clothing/shoes/gunboots - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

gunboots + + + +

+ + + + + + +

Vars

projectile_typeWhat projectile do we shoot?
shot_probEach step, this is the chance we fire a shot

Procs

check_kickStomping on someone while wearing gunboots shoots them point blank
check_stepAfter each step, check if we randomly fire a shot
fire_shotActually fire a shot. If no target is provided, just fire off in a random direction
+

Var Details

projectile_type + + + + +

+

What projectile do we shoot?

shot_prob + + + + +

+

Each step, this is the chance we fire a shot

Proc Details

check_kick +

+

Stomping on someone while wearing gunboots shoots them point blank

check_step +

+

After each step, check if we randomly fire a shot

fire_shot +

+

Actually fire a shot. If no target is provided, just fire off in a random direction

+ + + diff --git a/obj/item/clothing/shoes/magboots.html b/obj/item/clothing/shoes/magboots.html new file mode 100644 index 000000000000..4be18356e004 --- /dev/null +++ b/obj/item/clothing/shoes/magboots.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/clothing/shoes/magboots - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

magboots + + + +

+ + + + + +

Vars

active_traitsA list of traits we apply when we get activated
magpulseWhether the magpulse system is active
slowdown_activeSlowdown applied wwhen magpulse is active. This is added onto existing slowdown

Procs

on_speed_potionedSignal handler for COMSIG_SPEED_POTION_APPLIED. Speed potion removes the active slowdown
+

Var Details

active_traits + + + + +

+

A list of traits we apply when we get activated

magpulse + + + + +

+

Whether the magpulse system is active

slowdown_active + + + + +

+

Slowdown applied wwhen magpulse is active. This is added onto existing slowdown

Proc Details

on_speed_potioned +

+

Signal handler for COMSIG_SPEED_POTION_APPLIED. Speed potion removes the active slowdown

+ + + diff --git a/obj/item/clothing/shoes/space_ninja.html b/obj/item/clothing/shoes/space_ninja.html new file mode 100644 index 000000000000..8db4d62e3f22 --- /dev/null +++ b/obj/item/clothing/shoes/space_ninja.html @@ -0,0 +1,30 @@ + + + + + + + /obj/item/clothing/shoes/space_ninja - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Ninja Shoes + + + +

+ +

Space ninja's shoes. Gives him armor on his feet.

+

Space ninja's ninja shoes. How mousey. Gives him slip protection and protection against attacks. +Also are temperature resistant.

+ + + diff --git a/obj/item/clothing/shoes/wheelys.html b/obj/item/clothing/shoes/wheelys.html new file mode 100644 index 000000000000..c3556caf01ea --- /dev/null +++ b/obj/item/clothing/shoes/wheelys.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/shoes/wheelys - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

wheelys + + + +

+ + + +

Vars

wheelToggleFalse means wheels are not popped out
wheelsThe vehicle associated with the shoes
+

Var Details

wheelToggle + + + + +

+

False means wheels are not popped out

wheels + + + + +

+

The vehicle associated with the shoes

+ + + diff --git a/obj/item/clothing/suit.html b/obj/item/clothing/suit.html new file mode 100644 index 000000000000..d63aeb5da716 --- /dev/null +++ b/obj/item/clothing/suit.html @@ -0,0 +1,41 @@ + + + + + + + /obj/item/clothing/suit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

suit + + + +

+ + +

Procs

setup_shieldingWrapper proc to apply shielding through AddComponent(). +Called in /obj/item/clothing/Initialize(). +Override with an AddComponent(/datum/component/shielded, args) call containing the desired shield statistics. +See /datum/component/shielded documentation for a description of the arguments

Proc Details

setup_shielding +

+

Wrapper proc to apply shielding through AddComponent(). +Called in /obj/item/clothing/Initialize(). +Override with an AddComponent(/datum/component/shielded, args) call containing the desired shield statistics. +See /datum/component/shielded documentation for a description of the arguments

+ + + diff --git a/obj/item/clothing/suit/armor/abductor/vest.html b/obj/item/clothing/suit/armor/abductor/vest.html new file mode 100644 index 000000000000..411b56543584 --- /dev/null +++ b/obj/item/clothing/suit/armor/abductor/vest.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/suit/armor/abductor/vest - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vest + + + +

+ + +

Vars

combat_cooldownCooldown in seconds
+

Var Details

combat_cooldown + + + + +

+

Cooldown in seconds

+ + + diff --git a/obj/item/clothing/suit/armor/reactive.html b/obj/item/clothing/suit/armor/reactive.html new file mode 100644 index 000000000000..e2c7ba294f0a --- /dev/null +++ b/obj/item/clothing/suit/armor/reactive.html @@ -0,0 +1,104 @@ + + + + + + + /obj/item/clothing/suit/armor/reactive - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

reactive + + + +

+ + + + + + + + + + +

Vars

activeWhether the armor will try to react to hits (is it on)
bad_effectThis will be true for 30 seconds after an EMP, it makes the reaction effect dangerous to the user.
cooldown_messageMessage sent when the armor is still on cooldown, but activates.
emp_messageMessage sent when the armor is emp'd. It is not the message for when the emp effect goes off.
reactivearmor_cooldownThe cooldown itself of the reactive armor for when it can activate again.
reactivearmor_cooldown_durationDuration of the cooldown specific to reactive armor for when it can activate again.

Procs

cooldown_activationA proc for doing cooldown effects (like the sparks on the tesla armor, or the semi-stealth on stealth armor) +Called from the suit activating whilst on cooldown. +You should be calling ..()
emp_activationA proc for doing owner unfriendly reactive armor effects. +Called from the suit activating while off cooldown, while the armor is still suffering from the effect of an EMP. +Returning TRUE will block the attack that triggered this
reactive_activationA proc for doing reactive armor effects. +Called from the suit activating while off cooldown, with no emp. +Returning TRUE will block the attack that triggered this
+

Var Details

active + + + + +

+

Whether the armor will try to react to hits (is it on)

bad_effect + + + + +

+

This will be true for 30 seconds after an EMP, it makes the reaction effect dangerous to the user.

cooldown_message + + + + +

+

Message sent when the armor is still on cooldown, but activates.

emp_message + + + + +

+

Message sent when the armor is emp'd. It is not the message for when the emp effect goes off.

reactivearmor_cooldown + + + + +

+

The cooldown itself of the reactive armor for when it can activate again.

reactivearmor_cooldown_duration + + + + +

+

Duration of the cooldown specific to reactive armor for when it can activate again.

Proc Details

cooldown_activation +

+

A proc for doing cooldown effects (like the sparks on the tesla armor, or the semi-stealth on stealth armor) +Called from the suit activating whilst on cooldown. +You should be calling ..()

emp_activation +

+

A proc for doing owner unfriendly reactive armor effects. +Called from the suit activating while off cooldown, while the armor is still suffering from the effect of an EMP. +Returning TRUE will block the attack that triggered this

reactive_activation +

+

A proc for doing reactive armor effects. +Called from the suit activating while off cooldown, with no emp. +Returning TRUE will block the attack that triggered this

+ + + diff --git a/obj/item/clothing/suit/armor/reactive/stealth.html b/obj/item/clothing/suit/armor/reactive/stealth.html new file mode 100644 index 000000000000..55bd1538df7e --- /dev/null +++ b/obj/item/clothing/suit/armor/reactive/stealth.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/clothing/suit/armor/reactive/stealth - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

stealth + + + +

+ + + + + +

Vars

animation_timehow long it will animate back the alpha to the original
cooldown_alpha_removalwhen triggering while on cooldown will only flicker the alpha slightly. this is how much it removes.
cooldown_animation_timecooldown alpha flicker- how long it takes to return to the original alpha
stealth_timehow long they will be fully stealthed
+

Var Details

animation_time + + + + +

+

how long it will animate back the alpha to the original

cooldown_alpha_removal + + + + +

+

when triggering while on cooldown will only flicker the alpha slightly. this is how much it removes.

cooldown_animation_time + + + + +

+

cooldown alpha flicker- how long it takes to return to the original alpha

stealth_time + + + + +

+

how long they will be fully stealthed

+ + + diff --git a/obj/item/clothing/suit/armor/reactive/tesla.html b/obj/item/clothing/suit/armor/reactive/tesla.html new file mode 100644 index 000000000000..a2b245c40a70 --- /dev/null +++ b/obj/item/clothing/suit/armor/reactive/tesla.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/clothing/suit/armor/reactive/tesla - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tesla + + + +

+ + + + +

Vars

zap_flagsWhat flags do we pass to the zaps we give off?
zap_powerHow strong are the zaps we give off?
zap_rangeHow far to the zaps we give off go?
+

Var Details

zap_flags + + + + +

+

What flags do we pass to the zaps we give off?

zap_power + + + + +

+

How strong are the zaps we give off?

zap_range + + + + +

+

How far to the zaps we give off go?

+ + + diff --git a/obj/item/clothing/suit/armor/vest/ctf.html b/obj/item/clothing/suit/armor/vest/ctf.html new file mode 100644 index 000000000000..c86b90dbc71c --- /dev/null +++ b/obj/item/clothing/suit/armor/vest/ctf.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/suit/armor/vest/ctf - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ctf + + + +

+ + +

Vars

team_shield_iconIcon state to be fed into the shielded component
+

Var Details

team_shield_icon + + + + +

+

Icon state to be fed into the shielded component

+ + + diff --git a/obj/item/clothing/suit/hooded.html b/obj/item/clothing/suit/hooded.html new file mode 100644 index 000000000000..3d3620e94768 --- /dev/null +++ b/obj/item/clothing/suit/hooded.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/suit/hooded - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hooded + + + +

+ + + +

Vars

alternative_modeAlternative mode for hiding the hood, instead of storing the hood in the suit it qdels it, useful for when you deal with hooded suit with storage.
hood_upWhether the hood is flipped up
+

Var Details

alternative_mode + + + + +

+

Alternative mode for hiding the hood, instead of storing the hood in the suit it qdels it, useful for when you deal with hooded suit with storage.

hood_up + + + + +

+

Whether the hood is flipped up

+ + + diff --git a/obj/item/clothing/suit/hooded/cultrobes/cult_shield.html b/obj/item/clothing/suit/hooded/cultrobes/cult_shield.html new file mode 100644 index 000000000000..a2e4872ffa29 --- /dev/null +++ b/obj/item/clothing/suit/hooded/cultrobes/cult_shield.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/clothing/suit/hooded/cultrobes/cult_shield - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

cult_shield + + + +

+ + +

Procs

shield_damagedA proc for callback when the shield breaks, since cult robes are stupid and have different effects

Proc Details

shield_damaged +

+

A proc for callback when the shield breaks, since cult robes are stupid and have different effects

+ + + diff --git a/obj/item/clothing/suit/ianshirt.html b/obj/item/clothing/suit/ianshirt.html new file mode 100644 index 000000000000..f33b40f9ee82 --- /dev/null +++ b/obj/item/clothing/suit/ianshirt.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/suit/ianshirt - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ianshirt + + + +

+ + +

Vars

wash_countHow many times has this shirt been washed? (In an ideal world this is just the determinant of the transform matrix.)
+

Var Details

wash_count + + + + +

+

How many times has this shirt been washed? (In an ideal world this is just the determinant of the transform matrix.)

+ + + diff --git a/obj/item/clothing/suit/space.html b/obj/item/clothing/suit/space.html new file mode 100644 index 000000000000..7f6a1fa2d406 --- /dev/null +++ b/obj/item/clothing/suit/space.html @@ -0,0 +1,99 @@ + + + + + + + /obj/item/clothing/suit/space - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

space + + + +

+ + + + + + + + + + + +

Vars

cellThe default temperature setting
cell_cover_openIf this is a path, this gets created as an object in Initialize.
show_hudStatus of the thermal regulator
thermal_onStatus of the cell cover on the suit

Procs

InitializeIf this is FALSE the batery status UI will be disabled. This is used for suits that don't use bateries like the changeling's flesh suit mutation.
emp_actBurn the person inside the hard suit just a little, the suit got really hot for a moment
equippedStart Processing on the space suit when it is worn to heat the wearer
remove_cellRemove the cell from the suit if the cell cover is open
toggle_spacesuitToggle the space suit's thermal regulator status
toggle_spacesuit_cellToggle the space suit's cell cover
+

Var Details

cell + + + + +

+

The default temperature setting

cell_cover_open + + + + +

+

If this is a path, this gets created as an object in Initialize.

show_hud + + + + +

+

Status of the thermal regulator

thermal_on + + + + +

+

Status of the cell cover on the suit

Proc Details

Initialize +

+

If this is FALSE the batery status UI will be disabled. This is used for suits that don't use bateries like the changeling's flesh suit mutation.

emp_act +

+

Burn the person inside the hard suit just a little, the suit got really hot for a moment

equipped +

+

Start Processing on the space suit when it is worn to heat the wearer

remove_cell +

+

Remove the cell from the suit if the cell cover is open

toggle_spacesuit +

+

Toggle the space suit's thermal regulator status

toggle_spacesuit_cell +

+

Toggle the space suit's cell cover

+ + + diff --git a/obj/item/clothing/suit/space/hardsuit.html b/obj/item/clothing/suit/space/hardsuit.html new file mode 100644 index 000000000000..3597c37b23ac --- /dev/null +++ b/obj/item/clothing/suit/space/hardsuit.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/suit/space/hardsuit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hardsuit + + + +

+ + +

Vars

helmet_onWhether the helmet is on.
+

Var Details

helmet_on + + + + +

+

Whether the helmet is on.

+ + + diff --git a/obj/item/clothing/suit/space/space_ninja.html b/obj/item/clothing/suit/space/space_ninja.html new file mode 100644 index 000000000000..81254fb0b596 --- /dev/null +++ b/obj/item/clothing/suit/space/space_ninja.html @@ -0,0 +1,342 @@ + + + + + + + /obj/item/clothing/suit/space/space_ninja - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Ninja Suit + + + +

+ +

Space ninja's suit. Provides him with most of his powers.

+

Space ninja's suit. Gives space ninja all his iconic powers, which are mostly kept in +the folder ninja_equipment_actions. Has a lot of unique stuff going on, so make sure to check +the variables. Check suit_attackby to see radium interaction, disk copying, and cell replacement.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

a_boostWhether or not the adrenaline boost ability is available
a_transferUnits of radium required to refill the adrenaline boost
affectingThe person wearing the suit
energyKatanaThe katana registered with the suit, used for recalling and catching the katana. Set when the ninja outfit is created.
n_glovesThe space ninja's gloves.
n_hoodThe space ninja's hood.
n_maskThe space ninja's mask.
n_shoesThe space ninja's shoes.
s_acostAdditional energy cost for cloaking per process
s_busyWhether or not the wearer is in the middle of an action, like hacking.
s_cooldThe suit's current cooldown. If not 0, blocks usage of most abilities, and decrements its value by 1 every process
s_costHow much energy the suit expends in a single process
s_delayHow fast the suit is at certain actions, like draining power from things
s_initializedWhether or not the suit is currently booted up. Starts off.
spark_systemThe suit's spark system, used for... sparking.
stealthWhether or not the suit is currently in stealth mode.
stored_designsDesign theft objective

Procs

cancel_stealthProc called to cancel stealth.
deinitializeDeinitializes the ninja suit
lockIconsProc for changing the suit's appearance upon locking.
lock_suitProc called to lock the important gear pieces onto space ninja's body.
ninitializeInitializes the ninja suit
ninja_sword_recallProc called to recall the ninja's sword.
ninjaboostProc called to activate space ninja's adrenaline.
ninjaboost_afterProc called to inject the ninja with radium.
ninjacostProc called to check if the ninja can afford an ability's cost.
ninjanetProc called to ensnare a person in a energy net.
ninjapulseProc called to allow the ninja to EMP the nearby area.
ninjastarProc called to create a ninja star in the ninja's hands.
ninjastatusProc called to put a status readout to the ninja in chat.
terminateProc used to delete all the attachments and itself.
toggle_on_offToggles the ninja suit on/off
toggle_stealthProc called to toggle ninja stealth.
unlock_suitProc called to unlock all the gear off space ninja's body.
+

Var Details

a_boost + + + + +

+

Whether or not the adrenaline boost ability is available

a_transfer + + + + +

+

Units of radium required to refill the adrenaline boost

affecting + + + + +

+

The person wearing the suit

energyKatana + + + + +

+

The katana registered with the suit, used for recalling and catching the katana. Set when the ninja outfit is created.

n_gloves + + + + +

+

The space ninja's gloves.

n_hood + + + + +

+

The space ninja's hood.

n_mask + + + + +

+

The space ninja's mask.

n_shoes + + + + +

+

The space ninja's shoes.

s_acost + + + + +

+

Additional energy cost for cloaking per process

s_busy + + + + +

+

Whether or not the wearer is in the middle of an action, like hacking.

s_coold + + + + +

+

The suit's current cooldown. If not 0, blocks usage of most abilities, and decrements its value by 1 every process

s_cost + + + + +

+

How much energy the suit expends in a single process

s_delay + + + + +

+

How fast the suit is at certain actions, like draining power from things

s_initialized + + + + +

+

Whether or not the suit is currently booted up. Starts off.

spark_system + + + + +

+

The suit's spark system, used for... sparking.

stealth + + + + +

+

Whether or not the suit is currently in stealth mode.

stored_designs + + + + +

+

Design theft objective

Proc Details

cancel_stealth +

+

Proc called to cancel stealth.

+

Called to cancel the stealth effect if it is ongoing. +Does nothing otherwise. +Arguments:

+

deinitialize +

+

Deinitializes the ninja suit

+

Deinitializes the ninja suit through eight phases, each of which calls this proc with an incremented phase +Arguments:

+

lockIcons +

+

Proc for changing the suit's appearance upon locking.

+

Proc for when space ninja's suit locks. If the user selects Original, gives it glowing lights, along with having an alternate sprite for female body types. +Yes, we do have nipLEDs, how could you tell? +If the user selects New Age, it applies new sprites to all the gear. +Arguments:

+

lock_suit +

+

Proc called to lock the important gear pieces onto space ninja's body.

+

Called during the suit startup to lock all gear pieces onto space ninja. +Terminates if a gear piece is not being worn. Also gives the ninja the inability to use firearms. +If the person in the suit isn't a ninja when this is called, this proc just gibs them instead. +Arguments:

+

ninitialize +

+

Initializes the ninja suit

+

Initializes the ninja suit through seven phases, each of which calls this proc with an incremented phase +Arguments:

+

ninja_sword_recall +

+

Proc called to recall the ninja's sword.

+

Called to summon the ninja's katana back to them +If the katana can see the ninja, it will throw itself towards them. +If not, the katana will teleport itself to the ninja.

ninjaboost +

+

Proc called to activate space ninja's adrenaline.

+

Proc called to use space ninja's adrenaline. Gets the ninja out of almost any stun. +Also makes them shout MGS references when used. After a bit, it injects the user with +radium by calling a different proc.

ninjaboost_after +

+

Proc called to inject the ninja with radium.

+

Used after 7 seconds of using the ninja's adrenaline. +Injects the user with how much radium the suit needs to refill an adrenaline boost.

ninjacost +

+

Proc called to check if the ninja can afford an ability's cost.

+

Proc which determine whether or not a space ninja can afford to use a specific ability. +It can also cancel stealth if the ability requested it. +Arguments:

+

ninjanet +

+

Proc called to ensnare a person in a energy net.

+

Used to ensnare a target in an energy net, preventing them from moving until the net is broken. +Costs 40E, which is 40% of the default battery's max charge. Intended as a means of reliably locking down an opponent when ninja stars won't suffice.

ninjapulse +

+

Proc called to allow the ninja to EMP the nearby area.

+

Proc called to allow the ninja to EMP the nearby area. By default, costs 500E, which is half of the default battery's max charge. +Also affects the ninja as well.

ninjastar +

+

Proc called to create a ninja star in the ninja's hands.

+

Called to create a ninja star in the wearer's hand. The ninja +star doesn't do much up-front damage, but deals stamina damage +as the target moves around, forcing a finish or flee scenario.

ninjastatus +

+

Proc called to put a status readout to the ninja in chat.

+

Called put some information about the ninja's current status into chat. +This information used to be displayed constantly on the status tab screen +when the suit was on, but was turned into this as to remove the code from +human.dm

terminate +

+

Proc used to delete all the attachments and itself.

+

Can be called to entire rid of the suit pieces and the suit itself.

toggle_on_off +

+

Toggles the ninja suit on/off

+

Attempts to initialize or deinitialize the ninja suit

toggle_stealth +

+

Proc called to toggle ninja stealth.

+

Proc called to toggle whether or not the ninja is in stealth mode. +If cancelling, calls a separate proc in case something else needs to quickly cancel stealth.

unlock_suit +

+

Proc called to unlock all the gear off space ninja's body.

+

Proc which is essentially the opposite of lock_suit. Lets you take off all the suit parts. +Also gets rid of the objection to using firearms from the wearer. +Arguments:

+
+ + + diff --git a/obj/item/clothing/suit/toggle.html b/obj/item/clothing/suit/toggle.html new file mode 100644 index 000000000000..a777dbc3c621 --- /dev/null +++ b/obj/item/clothing/suit/toggle.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/suit/toggle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

toggle + + + +

+ + +

Vars

toggle_nounThe noun that is displayed to the user on toggle. EX: "Toggles the suit's [buttons]".
+

Var Details

toggle_noun + + + + +

+

The noun that is displayed to the user on toggle. EX: "Toggles the suit's [buttons]".

+ + + diff --git a/obj/item/clothing/under.html b/obj/item/clothing/under.html new file mode 100644 index 000000000000..d06e90f5fbaa --- /dev/null +++ b/obj/item/clothing/under.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/under - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

under + + + +

+ + +

Vars

female_sprite_flagsThe variable containing the flags for how the woman uniform cropping is supposed to interact with the sprite.
+

Var Details

female_sprite_flags + + + + +

+

The variable containing the flags for how the woman uniform cropping is supposed to interact with the sprite.

+ + + diff --git a/obj/item/computer_hardware.html b/obj/item/computer_hardware.html new file mode 100644 index 000000000000..be3a41d34989 --- /dev/null +++ b/obj/item/computer_hardware.html @@ -0,0 +1,169 @@ + + + + + + + /obj/item/computer_hardware - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

computer_hardware + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

can_installPrevents direct installation of removable media.
criticalPrevent disabling for important component, like the CPU.
damageCurrent damage level
damage_failure"Failure" threshold. When damage exceeds this value the hardware piece will not work at all.
damage_malfunction"Malfunction" threshold. When damage exceeds this value the hardware piece will semi-randomly fail and do !!FUN!! things
device_typeWhat define is used to qualify this piece of hardware? Important for upgraded versions of the same hardware.
enabledIf the hardware is turned off set this to 0.
expansion_hwHardware that fits into expansion bays.
malfunction_probabilityChance of malfunction when the component is damaged
power_usageIf the hardware uses extra power, change this.
removableWhether the hardware is removable or not.

Procs

can_installComponent-side compatibility check.
check_functionalityHandles damage checks
diagnosticsCalled on multitool click, prints diagnostic information to the user.
enable_changedCalled when the device's enablement changes state.
on_installCalled when component is installed into PC.
on_removeCalled when component is removed from PC.
try_ejectImplement this when your hardware contains an object that the user can eject.
try_insertCalled when someone tries to insert something in it - paper in printer, card in card reader, etc.
+

Var Details

can_install + + + + +

+

Prevents direct installation of removable media.

critical + + + + +

+

Prevent disabling for important component, like the CPU.

damage + + + + +

+

Current damage level

damage_failure + + + + +

+

"Failure" threshold. When damage exceeds this value the hardware piece will not work at all.

damage_malfunction + + + + +

+

"Malfunction" threshold. When damage exceeds this value the hardware piece will semi-randomly fail and do !!FUN!! things

device_type + + + + +

+

What define is used to qualify this piece of hardware? Important for upgraded versions of the same hardware.

enabled + + + + +

+

If the hardware is turned off set this to 0.

expansion_hw + + + + +

+

Hardware that fits into expansion bays.

malfunction_probability + + + + +

+

Chance of malfunction when the component is damaged

power_usage + + + + +

+

If the hardware uses extra power, change this.

removable + + + + +

+

Whether the hardware is removable or not.

Proc Details

can_install +

+

Component-side compatibility check.

check_functionality +

+

Handles damage checks

diagnostics +

+

Called on multitool click, prints diagnostic information to the user.

enable_changed +

+

Called when the device's enablement changes state.

on_install +

+

Called when component is installed into PC.

on_remove +

+

Called when component is removed from PC.

try_eject +

+

Implement this when your hardware contains an object that the user can eject.

+

Examples include ejecting cells from battery modules, ejecting an ID card from a card reader +or ejecting an Intellicard from an AI card slot. +Arguments:

+

try_insert +

+

Called when someone tries to insert something in it - paper in printer, card in card reader, etc.

+ + + diff --git a/obj/item/computer_hardware/ai_slot.html b/obj/item/computer_hardware/ai_slot.html new file mode 100644 index 000000000000..1a5228fd1aba --- /dev/null +++ b/obj/item/computer_hardware/ai_slot.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/computer_hardware/ai_slot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

ai_slot + + + +

+ + +

Procs

ExitedWhat happens when the intellicard is removed (or deleted) from the module, through try_eject() or not.

Proc Details

Exited +

+

What happens when the intellicard is removed (or deleted) from the module, through try_eject() or not.

+ + + diff --git a/obj/item/computer_hardware/battery.html b/obj/item/computer_hardware/battery.html new file mode 100644 index 000000000000..f6d27fc2bcbe --- /dev/null +++ b/obj/item/computer_hardware/battery.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/computer_hardware/battery - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

battery + + + +

+ + +

Procs

ExitedWhat happens when the battery is removed (or deleted) from the module, through try_eject() or not.

Proc Details

Exited +

+

What happens when the battery is removed (or deleted) from the module, through try_eject() or not.

+ + + diff --git a/obj/item/computer_hardware/card_slot.html b/obj/item/computer_hardware/card_slot.html new file mode 100644 index 000000000000..ab403c1e56fe --- /dev/null +++ b/obj/item/computer_hardware/card_slot.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/computer_hardware/card_slot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

card_slot + + + +

+ + + +

Procs

ExitedWhat happens when the ID card is removed (or deleted) from the module, through try_eject() or not.
swap_slotSwaps the card_slot hardware between using the dedicated card slot bay on a computer, and using an expansion bay.

Proc Details

Exited +

+

What happens when the ID card is removed (or deleted) from the module, through try_eject() or not.

swap_slot +

+

Swaps the card_slot hardware between using the dedicated card slot bay on a computer, and using an expansion bay.

+ + + diff --git a/obj/item/computer_hardware/network_card/packetnet.html b/obj/item/computer_hardware/network_card/packetnet.html new file mode 100644 index 000000000000..432e517a9520 --- /dev/null +++ b/obj/item/computer_hardware/network_card/packetnet.html @@ -0,0 +1,73 @@ + + + + + + + /obj/item/computer_hardware/network_card/packetnet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

packetnet + + + +

+ + + + + + + +

Vars

known_pdasHardware PDA discovery +TGUI display format, list(list("target_addr"="addr","name"="name","job"="job"),...)
packet_queueStores up to [queue_max] messages until the PDA asks for them.
queue_maxMaximum amount of messages held by [packet_queue]

Procs

append_signalPush a signal onto the queue, Drop a packet if we're over the limit.
check_queueGet the length of the packet queue
pop_signalTake a signal out of the queue.
+

Var Details

known_pdas + + + + +

+

Hardware PDA discovery +TGUI display format, list(list("target_addr"="addr","name"="name","job"="job"),...)

packet_queue + + + + +

+

Stores up to [queue_max] messages until the PDA asks for them.

queue_max + + + + +

+

Maximum amount of messages held by [packet_queue]

Proc Details

append_signal +

+

Push a signal onto the queue, Drop a packet if we're over the limit.

check_queue +

+

Get the length of the packet queue

pop_signal +

+

Take a signal out of the queue.

+ + + diff --git a/obj/item/construction.html b/obj/item/construction.html new file mode 100644 index 000000000000..a4810f28fd52 --- /dev/null +++ b/obj/item/construction.html @@ -0,0 +1,69 @@ + + + + + + + /obj/item/construction - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

construction + + + +

+ + + + + + +

Vars

banned_upgradesBitflags for banned upgrades
upgradeBitflags for upgrades

Procs

check_menuChecks if we are allowed to interact with a radial menu
insert_matterInserts matter into the RCD allowing it to build
install_upgradeInstalls an upgrade into the RCD checking if it is already installed, or if it is a banned upgrade
+

Var Details

banned_upgrades + + + + +

+

Bitflags for banned upgrades

upgrade + + + + +

+

Bitflags for upgrades

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

Arguments:

+

insert_matter +

+

Inserts matter into the RCD allowing it to build

install_upgrade +

+

Installs an upgrade into the RCD checking if it is already installed, or if it is a banned upgrade

+ + + diff --git a/obj/item/construction/rcd.html b/obj/item/construction/rcd.html new file mode 100644 index 000000000000..c57c38f421d9 --- /dev/null +++ b/obj/item/construction/rcd.html @@ -0,0 +1,76 @@ + + + + + + + /obj/item/construction/rcd - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

rcd + + + +

+ + + + + + + +

Vars

airlock_electronicsIntegrated airlock electronics for setting access to a newly built airlocks

Procs

change_airlock_settingCustomizes RCD's airlock settings based on user's choices
change_furnishing_typeRadial menu for choosing the object you want to be created with the furnishing mode
set_window_typeSets the window type to be created based on parameters
toggle_window_glassToggles the usage of reinforced or normal glass
toggle_window_sizeToggles the usage of directional or full tile windows
+

Var Details

airlock_electronics + + + + +

+

Integrated airlock electronics for setting access to a newly built airlocks

Proc Details

change_airlock_setting +

+

Customizes RCD's airlock settings based on user's choices

+

Arguments:

+

change_furnishing_type +

+

Radial menu for choosing the object you want to be created with the furnishing mode

set_window_type +

+

Sets the window type to be created based on parameters

toggle_window_glass +

+

Toggles the usage of reinforced or normal glass

toggle_window_size +

+

Toggles the usage of directional or full tile windows

+ + + diff --git a/obj/item/coupon.html b/obj/item/coupon.html new file mode 100644 index 000000000000..6cc1f000d6d8 --- /dev/null +++ b/obj/item/coupon.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/coupon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

coupon + + + +

+ + +

Procs

generateChoose what our prize is :D

Proc Details

generate +

+

Choose what our prize is :D

+ + + diff --git a/obj/item/ctf.html b/obj/item/ctf.html new file mode 100644 index 000000000000..46456e736ffc --- /dev/null +++ b/obj/item/ctf.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/ctf - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ctf + + + +

+ + +

Vars

game_areaWhich area we announce updates on the flag to. Should just generally be the area of the arena.
+

Var Details

game_area + + + + +

+

Which area we announce updates on the flag to. Should just generally be the area of the arena.

+ + + diff --git a/obj/item/debuglights.html b/obj/item/debuglights.html new file mode 100644 index 000000000000..46acfec94d98 --- /dev/null +++ b/obj/item/debuglights.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/debuglights - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

debuglights + + + +

+ + + + + +

Vars

bulb_colourDefault colour of the light.
bulb_inner_rangeThe inner radius of the bulb's light, where it is at maximum brightness
bulb_outer_rangeThe outer radius of the light's... light.
bulb_powerBasically the alpha of the emitted light source
+

Var Details

bulb_colour + + + + +

+

Default colour of the light.

bulb_inner_range + + + + +

+

The inner radius of the bulb's light, where it is at maximum brightness

bulb_outer_range + + + + +

+

The outer radius of the light's... light.

bulb_power + + + + +

+

Basically the alpha of the emitted light source

+ + + diff --git a/obj/item/defibrillator.html b/obj/item/defibrillator.html new file mode 100644 index 000000000000..29cc24792e90 --- /dev/null +++ b/obj/item/defibrillator.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/defibrillator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

defibrillator + + + +

+ + + + + + +

Vars

charge_stateThe icon state for the charge bar overlay, not applied if null
emagged_stateThe icon state for the emagged overlay, not applied if null
nocell_stateThe icon state for the missing cell overlay, not applied if null
paddle_stateThe icon state for the paddle overlay, not applied if null
powered_stateThe icon state for the powered on overlay, not applied if null
+

Var Details

charge_state + + + + +

+

The icon state for the charge bar overlay, not applied if null

emagged_state + + + + +

+

The icon state for the emagged overlay, not applied if null

nocell_state + + + + +

+

The icon state for the missing cell overlay, not applied if null

paddle_state + + + + +

+

The icon state for the paddle overlay, not applied if null

powered_state + + + + +

+

The icon state for the powered on overlay, not applied if null

+ + + diff --git a/obj/item/delivery.html b/obj/item/delivery.html new file mode 100644 index 000000000000..f6f7f0b29e2a --- /dev/null +++ b/obj/item/delivery.html @@ -0,0 +1,49 @@ + + + + + + + /obj/item/delivery - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

delivery + + + +

+ + + + +

Procs

attempt_pre_unwrap_contentsInitial check if manually unwrapping
post_unwrap_contentsEffects after completing unwrapping
unwrap_contentsSignals for unwrapping.

Proc Details

attempt_pre_unwrap_contents +

+

Initial check if manually unwrapping

post_unwrap_contents +

+

Effects after completing unwrapping

unwrap_contents +

+

Signals for unwrapping.

+ + + diff --git a/obj/item/dest_tagger.html b/obj/item/dest_tagger.html new file mode 100644 index 000000000000..b64950330181 --- /dev/null +++ b/obj/item/dest_tagger.html @@ -0,0 +1,63 @@ + + + + + + + /obj/item/dest_tagger - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

dest_tagger + + + +

+ + + + + + +

Procs

attack_selfUser activates in hand
ui_actUser clicks a button on the tagger
ui_dataData sent to TGUI window
ui_interactStandard TGUI actions
ui_stateIf the user dropped the tagger

Proc Details

attack_self +

+

User activates in hand

ui_act +

+

User clicks a button on the tagger

ui_data +

+

Data sent to TGUI window

ui_interact +

+

Standard TGUI actions

ui_state +

+

If the user dropped the tagger

+ + + diff --git a/obj/item/dice.html b/obj/item/dice.html new file mode 100644 index 000000000000..6ef6e3f1e319 --- /dev/null +++ b/obj/item/dice.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/dice - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

dice + + + +

+ +

this is a prototype for dice, for a real d6 use "/obj/item/dice/d6"

+

Vars

has_overlaysDoes this dice have number overlays?
+

Var Details

has_overlays + + + + +

+

Does this dice have number overlays?

+ + + diff --git a/obj/item/dice/d20/fate.html b/obj/item/dice/d20/fate.html new file mode 100644 index 000000000000..942694df170b --- /dev/null +++ b/obj/item/dice/d20/fate.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/dice/d20/fate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

fate + + + +

+ + +

Vars

roll_cdSo you can't roll the die 20 times in a second and stack a bunch of effects that might conflict
+

Var Details

roll_cd + + + + +

+

So you can't roll the die 20 times in a second and stack a bunch of effects that might conflict

+ + + diff --git a/obj/item/disk/data.html b/obj/item/disk/data.html new file mode 100644 index 000000000000..d2da1f4d913d --- /dev/null +++ b/obj/item/disk/data.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/disk/data - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

data + + + +

+ + + + + + + +

Vars

memoryThe actual storage of the disk.
storageHow many THIIINGGGS can we store in memory

Procs

check_memoryReturn the amount of memory remaining
readRead data from a memory index.
removeRemove data from memory, returning what was removed.
writeWrite data to the disk, using the respective index. Unique will disctint add.
+

Var Details

memory + + + + +

+

The actual storage of the disk.

storage + + + + +

+

How many THIIINGGGS can we store in memory

Proc Details

check_memory +

+

Return the amount of memory remaining

read +

+

Read data from a memory index.

remove +

+

Remove data from memory, returning what was removed.

write +

+

Write data to the disk, using the respective index. Unique will disctint add.

+ + + diff --git a/obj/item/disk/data/limbs.html b/obj/item/disk/data/limbs.html new file mode 100644 index 000000000000..8cd5aa9505f8 --- /dev/null +++ b/obj/item/disk/data/limbs.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/disk/data/limbs - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

limbs + + + +

+ +

Design disks and designs - for adding limbs and organs to the limbgrower.

+

Vars

limb_designsList of all limb designs this disk will contain on init.
+

Var Details

limb_designs + + + + +

+

List of all limb designs this disk will contain on init.

+ + + diff --git a/obj/item/dna_probe.html b/obj/item/dna_probe.html new file mode 100644 index 000000000000..a14c88a37c46 --- /dev/null +++ b/obj/item/dna_probe.html @@ -0,0 +1,65 @@ + + + + + + + /obj/item/dna_probe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

dna_probe + + + +

+ +

DNA Probe

+

Used for scanning DNA, and can be uploaded to a DNA vault.

+ + + + +

Vars

allowed_scansWhat sources of DNA this sampler can extract from.
carp_dna_loadedWhether we have Carp DNA
stored_dna_animalList of all Animal DNA scanned with this sampler.
stored_dna_humanList of all Human DNA scanned with this sampler.
stored_dna_plantsList of all Plant DNA scanned with this sampler.
+

Var Details

allowed_scans + + + + +

+

What sources of DNA this sampler can extract from.

carp_dna_loaded + + + + +

+

Whether we have Carp DNA

stored_dna_animal + + + + +

+

List of all Animal DNA scanned with this sampler.

stored_dna_human + + + + +

+

List of all Human DNA scanned with this sampler.

stored_dna_plants + + + + +

+

List of all Plant DNA scanned with this sampler.

+ + + diff --git a/obj/item/documents.html b/obj/item/documents.html new file mode 100644 index 000000000000..ca47be4ac66d --- /dev/null +++ b/obj/item/documents.html @@ -0,0 +1,31 @@ + + + + + + + /obj/item/documents - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

secret documents + + + +

+ +

Indestructible antag objective that can be photocopied.

+

Photocopying this is handled in photocopier.dm. +Cannot be destroyed, but can be spaced. +Save for the inhand, this does not actually have anything in common with /obj/item/paper.

+ + + diff --git a/obj/item/documents/photocopy.html b/obj/item/documents/photocopy.html new file mode 100644 index 000000000000..d0a61d290113 --- /dev/null +++ b/obj/item/documents/photocopy.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/documents/photocopy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

secret documents (photocopy) + + + +

+ +

Outcome of photocopying documents. Can be copied, and can have a blue/red seal forged.

+ +

Vars

copy_typeWhat was copied
forgedsealWhat seal was forged on the documents (color name string)
+

Var Details

copy_type + + + + +

+

What was copied

forgedseal + + + + +

+

What seal was forged on the documents (color name string)

+ + + diff --git a/obj/item/door_seal.html b/obj/item/door_seal.html new file mode 100644 index 000000000000..c27e08ef59d2 --- /dev/null +++ b/obj/item/door_seal.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/door_seal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

door_seal + + + +

+ + + +

Vars

seal_timehow long the seal takes to place on the door
unseal_timehow long it takes to remove the seal from a door
+

Var Details

seal_time + + + + +

+

how long the seal takes to place on the door

unseal_time + + + + +

+

how long it takes to remove the seal from a door

+ + + diff --git a/obj/item/dualsaber.html b/obj/item/dualsaber.html new file mode 100644 index 000000000000..be583c17aa78 --- /dev/null +++ b/obj/item/dualsaber.html @@ -0,0 +1,46 @@ + + + + + + + /obj/item/dualsaber - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

dualsaber + + + +

+ + + +

Procs

unwieldTriggered on unwield of two handed item +switch hitsounds
wieldTriggered on wield of two handed item +Specific hulk checks due to reflection chance for balance issues and switches hitsounds.

Proc Details

unwield +

+

Triggered on unwield of two handed item +switch hitsounds

wield +

+

Triggered on wield of two handed item +Specific hulk checks due to reflection chance for balance issues and switches hitsounds.

+ + + diff --git a/obj/item/dyespray.html b/obj/item/dyespray.html new file mode 100644 index 000000000000..639e5f727460 --- /dev/null +++ b/obj/item/dyespray.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/dyespray - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

dyespray + + + +

+ + +

Procs

dyeApplies a gradient and a gradient color to a mob.

Proc Details

dye +

+

Applies a gradient and a gradient color to a mob.

+

Arguments:

+
+ + + diff --git a/obj/item/eldritch_potion.html b/obj/item/eldritch_potion.html new file mode 100644 index 000000000000..5bde017f8dde --- /dev/null +++ b/obj/item/eldritch_potion.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/eldritch_potion - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

eldritch_potion + + + +

+ + + + +

Vars

crucible_tipWhen a heretic examines a mawed crucible, shows a list of possible potions by name + includes this tip to explain what it does.
status_effectTypepath to the status effect this applies

Procs

potion_effectThe effect of the potion, if it has any special one. +In general try not to override this +and utilize the status_effect var to make custom effects.
+

Var Details

crucible_tip + + + + +

+

When a heretic examines a mawed crucible, shows a list of possible potions by name + includes this tip to explain what it does.

status_effect + + + + +

+

Typepath to the status effect this applies

Proc Details

potion_effect +

+

The effect of the potion, if it has any special one. +In general try not to override this +and utilize the status_effect var to make custom effects.

+ + + diff --git a/obj/item/electronics/airlock.html b/obj/item/electronics/airlock.html new file mode 100644 index 000000000000..bbb694261d7f --- /dev/null +++ b/obj/item/electronics/airlock.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/electronics/airlock - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

airlock + + + +

+ + + + + + + +

Vars

accessesA list of all granted accesses
holderA holder of the electronics, in case of them working as an integrated part
one_accessIf the airlock should require ALL or only ONE of the listed accesses
passed_cycle_idwhat string are we passing to the finished airlock as the cycle ID
passed_namewhat name are we passing to the finished airlock
unres_sidesUnrestricted sides, or sides of the airlock that will open regardless of access
+

Var Details

accesses + + + + +

+

A list of all granted accesses

holder + + + + +

+

A holder of the electronics, in case of them working as an integrated part

one_access + + + + +

+

If the airlock should require ALL or only ONE of the listed accesses

passed_cycle_id + + + + +

+

what string are we passing to the finished airlock as the cycle ID

passed_name + + + + +

+

what name are we passing to the finished airlock

unres_sides + + + + +

+

Unrestricted sides, or sides of the airlock that will open regardless of access

+ + + diff --git a/obj/item/energy_katana.html b/obj/item/energy_katana.html new file mode 100644 index 000000000000..c22976586b8f --- /dev/null +++ b/obj/item/energy_katana.html @@ -0,0 +1,46 @@ + + + + + + + /obj/item/energy_katana - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

Energy Katana + + + +

+ +

The space ninja's katana.

+

The katana that only space ninja spawns with. Comes with 30 force and throwforce, along with a signature special jaunting system. +Upon clicking on a tile when right clicking, the user will teleport to that tile, assuming their target was not dense. +The katana has 3 dashes stored at maximum, and upon using the dash, it will return 20 seconds after it was used. +It also has a special feature where if it is tossed at a space ninja who owns it (determined by the ninja suit), the ninja will catch the katana instead of being hit by it.

+

Procs

returnToOwnerProc called when the katana is recalled to its space ninja.

Proc Details

returnToOwner +

+

Proc called when the katana is recalled to its space ninja.

+

Proc called when space ninja is hit with its suit's katana or the recall ability is used. +Arguments:

+
+ + + diff --git a/obj/item/exodrone.html b/obj/item/exodrone.html new file mode 100644 index 000000000000..9b407070ddc9 --- /dev/null +++ b/obj/item/exodrone.html @@ -0,0 +1,283 @@ + + + + + + + /obj/item/exodrone - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

exodrone + + + +

+ +

Exploration drone

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

_regex_contextUsed to provide source to the regex replacement function. DO NOT MODIFY DIRECTLY
busy_durationHow long will busy state last
busy_messageMessage that will show up on busy screen
busy_start_timeWhen we entered busy state
controlledAre we currently controlled by remote terminal, blocks other terminals from interacting with this drone.
drone_logLog of recent events
drone_statusCurrent drone status, see code__DEFINES\adventure.dm
last_padPad we've launched from, we'll try to land on this one first when coming back if it still exists.
locationSite we're currently at, null means station.
name_counterRepeated drone name counter
toolsList of tools, EXODRONE_TOOL_WELDER etc
travel_targetSite we're currently travelling to, null means going back to station - check drone status if you want to check if traveling or idle
travel_timeTotal travel time to our current target
travel_timer_idId of travel timer

Procs

DestroyCargo storage
add_toolAdds drone tool and resizes storage.
add_tool_qualitiesApplies adventure qualities based on our tools
award_adventure_lootAdds loot from current adventure to the drone
damageWe're home and on ready pad or exploring and out of any events/adventures +Deals damage in adventures/events.
drop_somewhere_on_stationCrashes the drone somewhere random if there's no launchpad to be found.
explore_siteencounters random or specificed event for the current site.
find_landing_padTries to find landing pad, starting with the one we launched from.
finish_travelTravel cleanup
get_cargo_dataBuilds ui data for drone storage.
launch_forStarts travel for site, does not validate if it's possible
remove_toolRemoves drone tool and resizes storage.
replace_keywordThis is called with src = regex datum, so don't try to access any instance variables directly here.
resolve_adventureHandles finishing adventure
set_busyEnters busy mode for a given duration.
space_leftCargo space left
travel_errorReturns failure message or FALSE if we're ready to travel
try_transferTries to add loot to drone cargo while respecting space left
ui_descriptionDescription for drone listing, describes location and current status
unset_busyResets busy status
updateKeywordsReplaces $$SITE_NAME with site name and $$QualityName with quality values
update_storage_sizeResizes storage component depending on slots used by tools.
+

Var Details

_regex_context + + + + +

+

Used to provide source to the regex replacement function. DO NOT MODIFY DIRECTLY

busy_duration + + + + +

+

How long will busy state last

busy_message + + + + +

+

Message that will show up on busy screen

busy_start_time + + + + +

+

When we entered busy state

controlled + + + + +

+

Are we currently controlled by remote terminal, blocks other terminals from interacting with this drone.

drone_log + + + + +

+

Log of recent events

drone_status + + + + +

+

Current drone status, see code__DEFINES\adventure.dm

last_pad + + + + +

+

Pad we've launched from, we'll try to land on this one first when coming back if it still exists.

location + + + + +

+

Site we're currently at, null means station.

name_counter + + + + +

+

Repeated drone name counter

tools + + + + +

+

List of tools, EXODRONE_TOOL_WELDER etc

travel_target + + + + +

+

Site we're currently travelling to, null means going back to station - check drone status if you want to check if traveling or idle

travel_time + + + + +

+

Total travel time to our current target

travel_timer_id + + + + +

+

Id of travel timer

Proc Details

Destroy +

+

Cargo storage

add_tool +

+

Adds drone tool and resizes storage.

add_tool_qualities +

+

Applies adventure qualities based on our tools

award_adventure_loot +

+

Adds loot from current adventure to the drone

damage +

+

We're home and on ready pad or exploring and out of any events/adventures +Deals damage in adventures/events.

drop_somewhere_on_station +

+

Crashes the drone somewhere random if there's no launchpad to be found.

explore_site +

+

encounters random or specificed event for the current site.

find_landing_pad +

+

Tries to find landing pad, starting with the one we launched from.

finish_travel +

+

Travel cleanup

get_cargo_data +

+

Builds ui data for drone storage.

launch_for +

+

Starts travel for site, does not validate if it's possible

remove_tool +

+

Removes drone tool and resizes storage.

replace_keyword +

+

This is called with src = regex datum, so don't try to access any instance variables directly here.

resolve_adventure +

+

Handles finishing adventure

set_busy +

+

Enters busy mode for a given duration.

space_left +

+

Cargo space left

travel_error +

+

Returns failure message or FALSE if we're ready to travel

try_transfer +

+

Tries to add loot to drone cargo while respecting space left

ui_description +

+

Description for drone listing, describes location and current status

unset_busy +

+

Resets busy status

updateKeywords +

+

Replaces $$SITE_NAME with site name and $$QualityName with quality values

update_storage_size +

+

Resizes storage component depending on slots used by tools.

+ + + diff --git a/obj/item/extinguisher.html b/obj/item/extinguisher.html new file mode 100644 index 000000000000..347c90dfe5e3 --- /dev/null +++ b/obj/item/extinguisher.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/extinguisher - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

extinguisher + + + +

+ + +

Vars

tank_holder_icon_stateIcon state when inside a tank holder
+

Var Details

tank_holder_icon_state + + + + +

+

Icon state when inside a tank holder

+ + + diff --git a/obj/item/firelance.html b/obj/item/firelance.html new file mode 100644 index 000000000000..67f8fe7fe534 --- /dev/null +++ b/obj/item/firelance.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/firelance - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

firelance + + + +

+ +

Two handed fire lance. Melts wall after short windup.

+

Procs

windup_checksAdditional windup checks

Proc Details

windup_checks +

+

Additional windup checks

+ + + diff --git a/obj/item/firing_pin.html b/obj/item/firing_pin.html new file mode 100644 index 000000000000..95a6416d48f3 --- /dev/null +++ b/obj/item/firing_pin.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/firing_pin - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

firing_pin + + + +

+ + +

Vars

gunThe gun we're apart of.
+

Var Details

gun + + + + +

+

The gun we're apart of.

+ + + diff --git a/obj/item/firing_pin/paywall.html b/obj/item/firing_pin/paywall.html new file mode 100644 index 000000000000..b09b6dd3cabb --- /dev/null +++ b/obj/item/firing_pin/paywall.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/firing_pin/paywall - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

paywall + + + +

+ + + + + +

Vars

active_prompt_userpurchase prompt to prevent spamming it, set to the user who opens to prompt to prevent locking the gun up for other users.
gun_ownerslist of account IDs which have accepted the license prompt. If this is the multi-payment pin, then this means they accepted the waiver that each shot will cost them money
multi_paymentif true, user has to pay everytime they fire the gun
payment_amounthow much gets paid out to license yourself to the gun
+

Var Details

active_prompt_user + + + + +

+

purchase prompt to prevent spamming it, set to the user who opens to prompt to prevent locking the gun up for other users.

gun_owners + + + + +

+

list of account IDs which have accepted the license prompt. If this is the multi-payment pin, then this means they accepted the waiver that each shot will cost them money

multi_payment + + + + +

+

if true, user has to pay everytime they fire the gun

payment_amount + + + + +

+

how much gets paid out to license yourself to the gun

+ + + diff --git a/obj/item/fish.html b/obj/item/fish.html new file mode 100644 index 000000000000..9e8c2b1479ff --- /dev/null +++ b/obj/item/fish.html @@ -0,0 +1,211 @@ + + + + + + + /obj/item/fish - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

fish + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

aquarium_vc_colorIf present aquarium visual will be this color
available_in_random_casesShould this fish spawn in random fish cases
breeding_timeoutHow long it takes to produce new fish
dedicated_in_aquarium_icon_stateIf present this icon will be used for in-aquarium visual for the fish instead of icon_state
feeding_frequencyHow often the fish needs to be fed
fillet_typeFish autogenerated from this behaviour will be processable into this
foodWhat type of reagent this fish needs to be fed.
healthCurrent fish health. Dies at 0.
last_breedingLast time new fish was created
last_feedingTime of last feedeing
random_case_rarityHow rare this fish is in the random cases
required_fluid_typeRequired fluid type for this fish to live.
required_temperature_maxMaximum possible temperature for the fish to live.
required_temperature_minRequired minimum temperature for the fish to live.
show_in_catalogShould this fish type show in fish catalog
source_heightOriginal height of aquarium visual icon - used to calculate scaledown factor
source_widthOriginal width of aquarium visual icon - used to calculate scaledown factor
sprite_heightResulting height of aquarium visual icon - default size of "fish_greyscale" state
sprite_widthResulting width of aquarium visual icon - default size of "fish_greyscale" state
stable_populationWon't breed more than this amount in single aquarium.
statusFish status

Procs

attack_reactionOur aquarium is hit with stuff
on_temp_animationRefreshes flopping animation after temporary animation finishes
proper_environmentChecks if our current environment lets us live.
start_floppingStarts flopping animation
stop_floppingStops flopping animation
+

Var Details

aquarium_vc_color + + + + +

+

If present aquarium visual will be this color

available_in_random_cases + + + + +

+

Should this fish spawn in random fish cases

breeding_timeout + + + + +

+

How long it takes to produce new fish

dedicated_in_aquarium_icon_state + + + + +

+

If present this icon will be used for in-aquarium visual for the fish instead of icon_state

feeding_frequency + + + + +

+

How often the fish needs to be fed

fillet_type + + + + +

+

Fish autogenerated from this behaviour will be processable into this

food + + + + +

+

What type of reagent this fish needs to be fed.

health + + + + +

+

Current fish health. Dies at 0.

last_breeding + + + + +

+

Last time new fish was created

last_feeding + + + + +

+

Time of last feedeing

random_case_rarity + + + + +

+

How rare this fish is in the random cases

required_fluid_type + + + + +

+

Required fluid type for this fish to live.

required_temperature_max + + + + +

+

Maximum possible temperature for the fish to live.

required_temperature_min + + + + +

+

Required minimum temperature for the fish to live.

show_in_catalog + + + + +

+

Should this fish type show in fish catalog

source_height + + + + +

+

Original height of aquarium visual icon - used to calculate scaledown factor

source_width + + + + +

+

Original width of aquarium visual icon - used to calculate scaledown factor

sprite_height + + + + +

+

Resulting height of aquarium visual icon - default size of "fish_greyscale" state

sprite_width + + + + +

+

Resulting width of aquarium visual icon - default size of "fish_greyscale" state

stable_population + + + + +

+

Won't breed more than this amount in single aquarium.

status + + + + +

+

Fish status

Proc Details

attack_reaction +

+

Our aquarium is hit with stuff

on_temp_animation +

+

Refreshes flopping animation after temporary animation finishes

proper_environment +

+

Checks if our current environment lets us live.

start_flopping +

+

Starts flopping animation

stop_flopping +

+

Stops flopping animation

+ + + diff --git a/obj/item/flashlight/emp.html b/obj/item/flashlight/emp.html new file mode 100644 index 000000000000..cfa1f1e2fd12 --- /dev/null +++ b/obj/item/flashlight/emp.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/flashlight/emp - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

emp + + + +

+ + +

Vars

charge_delayHow many seconds between each recharge
+

Var Details

charge_delay + + + + +

+

How many seconds between each recharge

+ + + diff --git a/obj/item/flashlight/flare.html b/obj/item/flashlight/flare.html new file mode 100644 index 000000000000..e8b48624975a --- /dev/null +++ b/obj/item/flashlight/flare.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/flashlight/flare - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

flare + + + +

+ + +

Vars

fuelHow many seconds of fuel we have left
+

Var Details

fuel + + + + +

+

How many seconds of fuel we have left

+ + + diff --git a/obj/item/flashlight/flashdark.html b/obj/item/flashlight/flashdark.html new file mode 100644 index 000000000000..1f8a4aa72192 --- /dev/null +++ b/obj/item/flashlight/flashdark.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/flashlight/flashdark - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

flashdark + + + +

+ + + +

Vars

dark_light_powerVariable to preserve old lighting behavior in flashlights, to handle darkness.
dark_light_rangeVariable to preserve old lighting behavior in flashlights, to handle darkness.
+

Var Details

dark_light_power + + + + +

+

Variable to preserve old lighting behavior in flashlights, to handle darkness.

dark_light_range + + + + +

+

Variable to preserve old lighting behavior in flashlights, to handle darkness.

+ + + diff --git a/obj/item/flashlight/glowstick.html b/obj/item/flashlight/glowstick.html new file mode 100644 index 000000000000..b675b46969b5 --- /dev/null +++ b/obj/item/flashlight/glowstick.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/flashlight/glowstick - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

glowstick + + + +

+ + +

Vars

fuelHow many seconds of fuel we have left
+

Var Details

fuel + + + + +

+

How many seconds of fuel we have left

+ + + diff --git a/obj/item/flashlight/pen/paramedic.html b/obj/item/flashlight/pen/paramedic.html new file mode 100644 index 000000000000..209c7c98cb0a --- /dev/null +++ b/obj/item/flashlight/pen/paramedic.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/flashlight/pen/paramedic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

paramedic + + + +

+ + + + +

Vars

uv_cooldownOur current UV cooldown
uv_cooldown_lengthHow long between UV fryings
uv_powerHow much sanitization to apply to the burn wound
+

Var Details

uv_cooldown + + + + +

+

Our current UV cooldown

uv_cooldown_length + + + + +

+

How long between UV fryings

uv_power + + + + +

+

How much sanitization to apply to the burn wound

+ + + diff --git a/obj/item/flashlight/spotlight.html b/obj/item/flashlight/spotlight.html new file mode 100644 index 000000000000..4c41094ca9db --- /dev/null +++ b/obj/item/flashlight/spotlight.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/flashlight/spotlight - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

spotlight + + + +

+ + + +

Vars

base_light_rangeBase light_range that can be set on Initialize to use in smooth light range expansions and contractions.
even_cycleBoolean that switches when a full color flip ends, so the light can appear in all colors.
+

Var Details

base_light_range + + + + +

+

Base light_range that can be set on Initialize to use in smooth light range expansions and contractions.

even_cycle + + + + +

+

Boolean that switches when a full color flip ends, so the light can appear in all colors.

+ + + diff --git a/obj/item/folder.html b/obj/item/folder.html new file mode 100644 index 000000000000..0dbcd53bc0af --- /dev/null +++ b/obj/item/folder.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/folder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

folder + + + +

+ + +

Vars

bg_colorThe background color for tgui in hex (with a #)
+

Var Details

bg_color + + + + +

+

The background color for tgui in hex (with a #)

+ + + diff --git a/obj/item/folder/envelope.html b/obj/item/folder/envelope.html new file mode 100644 index 000000000000..5212fa3d165b --- /dev/null +++ b/obj/item/folder/envelope.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/folder/envelope - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

envelope + + + +

+ + +

Vars

sealedAre we still bricked up?
+

Var Details

sealed + + + + +

+

Are we still bricked up?

+ + + diff --git a/obj/item/food.html b/obj/item/food.html new file mode 100644 index 000000000000..5508f543005e --- /dev/null +++ b/obj/item/food.html @@ -0,0 +1,206 @@ + + + + + + + /obj/item/food - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

food + + + +

+ +

Abstract class to allow us to easily create all the generic "normal" food without too much copy pasta of adding more components

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

ant_attractingDoes our food normally attract ants?
bite_consumptionHow much reagents per bite
burns_in_ovenWill this food turn into badrecipe in an oven? Don't use this for everything; preferably mostly for food that is made in an oven to begin with so it burns after some time
burns_on_grillWill this food turn into badrecipe on a grill? Don't use this for everything; preferably mostly for food that is made on a grill to begin with so it burns after some time
decomp_req_handleFood that needs to be picked up in order to decompose.
decomp_typeWhat our food decomposes into.
decomposition_timeUsed to set custom decomposition times for food. Set to 0 to have it automatically set via the food's flags.
eat_timeHow long it will take to eat this food without any other modifiers
eatverbsVerbs used when eating this food in the to_chat messages
food_flagsExtra flags for things such as if the food is in a container or not
food_reagentsList of reagents this food gets on creation
foodtypesBitflag of the types of food this food is
junkinessHow much junkiness this food has? God I should remove junkiness soon
max_volumeAmount of volume the food can contain
microwaved_typeWhat you get if you microwave the food. Use baking for raw things, use microwaving for already cooked things
preserved_foodFood that's immune to decomposition.
tastesTastes to describe this food
trash_typeType of atom thats spawned after eating this item
venue_valuePrice of this food if sold in a venue

Procs

MakeBakeableThis proc handles bakeable components, overwrite if you want different bake results etc.
MakeDecomposeThis proc makes things decompose. Set preserved_food to TRUE to make it never decompose. +Set decomp_req_handle to TRUE to only make it decompose when someone picks it up.
MakeEdibleThis proc adds the edible component, overwrite this if you for some reason want to change some specific args like callbacks.
MakeGrillableThis proc handles grillable components, overwrite if you want different grill results etc.
MakeLeaveTrashThis proc handles trash components, overwrite this if you want the object to spawn trash
MakeProcessableThis proc handles processable elements, overwrite this if you want to add behavior such as slicing, forking, spooning, whatever, to turn the item into something else
+

Var Details

ant_attracting + + + + +

+

Does our food normally attract ants?

bite_consumption + + + + +

+

How much reagents per bite

burns_in_oven + + + + +

+

Will this food turn into badrecipe in an oven? Don't use this for everything; preferably mostly for food that is made in an oven to begin with so it burns after some time

burns_on_grill + + + + +

+

Will this food turn into badrecipe on a grill? Don't use this for everything; preferably mostly for food that is made on a grill to begin with so it burns after some time

decomp_req_handle + + + + +

+

Food that needs to be picked up in order to decompose.

decomp_type + + + + +

+

What our food decomposes into.

decomposition_time + + + + +

+

Used to set custom decomposition times for food. Set to 0 to have it automatically set via the food's flags.

eat_time + + + + +

+

How long it will take to eat this food without any other modifiers

eatverbs + + + + +

+

Verbs used when eating this food in the to_chat messages

food_flags + + + + +

+

Extra flags for things such as if the food is in a container or not

food_reagents + + + + +

+

List of reagents this food gets on creation

foodtypes + + + + +

+

Bitflag of the types of food this food is

junkiness + + + + +

+

How much junkiness this food has? God I should remove junkiness soon

max_volume + + + + +

+

Amount of volume the food can contain

microwaved_type + + + + +

+

What you get if you microwave the food. Use baking for raw things, use microwaving for already cooked things

preserved_food + + + + +

+

Food that's immune to decomposition.

tastes + + + + +

+

Tastes to describe this food

trash_type + + + + +

+

Type of atom thats spawned after eating this item

venue_value + + + + +

+

Price of this food if sold in a venue

Proc Details

MakeBakeable +

+

This proc handles bakeable components, overwrite if you want different bake results etc.

MakeDecompose +

+

This proc makes things decompose. Set preserved_food to TRUE to make it never decompose. +Set decomp_req_handle to TRUE to only make it decompose when someone picks it up.

MakeEdible +

+

This proc adds the edible component, overwrite this if you for some reason want to change some specific args like callbacks.

MakeGrillable +

+

This proc handles grillable components, overwrite if you want different grill results etc.

MakeLeaveTrash +

+

This proc handles trash components, overwrite this if you want the object to spawn trash

MakeProcessable +

+

This proc handles processable elements, overwrite this if you want to add behavior such as slicing, forking, spooning, whatever, to turn the item into something else

+ + + diff --git a/obj/item/food/badrecipe.html b/obj/item/food/badrecipe.html new file mode 100644 index 000000000000..477938e37f62 --- /dev/null +++ b/obj/item/food/badrecipe.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/food/badrecipe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

badrecipe + + + +

+ + +

Procs

OnGrillPrevents grilling burnt shit from well, burning.

Proc Details

OnGrill +

+

Prevents grilling burnt shit from well, burning.

+ + + diff --git a/obj/item/food/bubblegum.html b/obj/item/food/bubblegum.html new file mode 100644 index 000000000000..6c8f253079a0 --- /dev/null +++ b/obj/item/food/bubblegum.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/bubblegum - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bubblegum + + + +

+ + +

Vars

metabolization_amountThe amount to metabolize per second
+

Var Details

metabolization_amount + + + + +

+

The amount to metabolize per second

+ + + diff --git a/obj/item/food/bubblegum/bubblegum.html b/obj/item/food/bubblegum/bubblegum.html new file mode 100644 index 000000000000..8cfc036881b6 --- /dev/null +++ b/obj/item/food/bubblegum/bubblegum.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/food/bubblegum/bubblegum - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

bubblegum + + + +

+ + + +

Vars

hallucination_linesWhat the player hears from the bubblegum hallucination, and also says one of these when suiciding

Procs

hallucinateThis proc has a 5% chance to have a bubblegum line appear, with an 85% chance for just text and 15% for a bubblegum hallucination and scarier text.
+

Var Details

hallucination_lines + + + + +

+

What the player hears from the bubblegum hallucination, and also says one of these when suiciding

Proc Details

hallucinate +

+

This proc has a 5% chance to have a bubblegum line appear, with an 85% chance for just text and 15% for a bubblegum hallucination and scarier text.

+ + + diff --git a/obj/item/food/canned/envirochow.html b/obj/item/food/canned/envirochow.html new file mode 100644 index 000000000000..340249638261 --- /dev/null +++ b/obj/item/food/canned/envirochow.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/food/canned/envirochow - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

envirochow + + + +

+ + + +

Procs

apply_buffThis makes the animal eat the food, and applies the buff status effect to them.
check_buffabilityThis proc checks if the mob is able to recieve the buff.

Proc Details

apply_buff +

+

This makes the animal eat the food, and applies the buff status effect to them.

check_buffability +

+

This proc checks if the mob is able to recieve the buff.

+ + + diff --git a/obj/item/food/cheese.html b/obj/item/food/cheese.html new file mode 100644 index 000000000000..1877d0b54003 --- /dev/null +++ b/obj/item/food/cheese.html @@ -0,0 +1,38 @@ + + + + + + + /obj/item/food/cheese - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cheese + + + +

+ +

OTHER

+Abstract cheese class +

Everything that is a subclass of this counts as cheese for regal rats.

+

Vars

rat_healused to determine how much health rats/regal rats recover when they eat it.
+

Var Details

rat_heal + + + + +

+

used to determine how much health rats/regal rats recover when they eat it.

+ + + diff --git a/obj/item/food/clothing.html b/obj/item/food/clothing.html new file mode 100644 index 000000000000..b5664c033f44 --- /dev/null +++ b/obj/item/food/clothing.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/clothing - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

clothing + + + +

+ + +

Vars

clothingA weak reference to the clothing that created us
+

Var Details

clothing + + + + +

+

A weak reference to the clothing that created us

+ + + diff --git a/obj/item/food/donkpocket/warm.html b/obj/item/food/donkpocket/warm.html new file mode 100644 index 000000000000..ee332654938e --- /dev/null +++ b/obj/item/food/donkpocket/warm.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/food/donkpocket/warm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

warm + + + +

+ + +

Procs

MakeBakeableOverride for fast-burning food

Proc Details

MakeBakeable +

+

Override for fast-burning food

+ + + diff --git a/obj/item/food/donut.html b/obj/item/food/donut.html new file mode 100644 index 000000000000..23ed981431dc --- /dev/null +++ b/obj/item/food/donut.html @@ -0,0 +1,49 @@ + + + + + + + /obj/item/food/donut - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

donut + + + +

+ + + + +

Procs

MakeEdibleOverride for checkliked callback
check_likedOverride for checkliked in edible component, because all cops LOVE donuts
in_box_spriteReturns the sprite of the donut while in a donut box

Proc Details

MakeEdible +

+

Override for checkliked callback

check_liked +

+

Override for checkliked in edible component, because all cops LOVE donuts

in_box_sprite +

+

Returns the sprite of the donut while in a donut box

+ + + diff --git a/obj/item/food/fishmeat/carp.html b/obj/item/food/fishmeat/carp.html new file mode 100644 index 000000000000..20acf41d9e73 --- /dev/null +++ b/obj/item/food/fishmeat/carp.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/fishmeat/carp - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

carp + + + +

+ + +

Vars

cell_lineCytology category you can swab the meat for.
+

Var Details

cell_line + + + + +

+

Cytology category you can swab the meat for.

+ + + diff --git a/obj/item/food/grown.html b/obj/item/food/grown.html new file mode 100644 index 000000000000..b132f4f925bc --- /dev/null +++ b/obj/item/food/grown.html @@ -0,0 +1,113 @@ + + + + + + + /obj/item/food/grown - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

grown + + + +

+ + + + + + + + + + + + + +

Vars

alt_iconIf the grown food has an alternaitve icon state to use in places.
bite_consumption_modThe modifier applied to the plant's bite size. If a plant has a large amount of reagents naturally, this should be increased to match.
can_distillIf FALSE, this object cannot be distilled into an alcohol.
distill_reagentThe reagent this plant distill to. If NULL, it uses a generic fruit_wine reagent and adjusts its variables.
dry_grindIf TRUE, this object needs to be dry to be ground up
filling_colorColor of the grown object, for use in coloring greyscale splats.
plantnameName of the plant
seedtype path, gets converted to item on New(). It's safe to assume it's always a seed item.
splat_typeThe typepath made when the plant is splatted with liquid contents.
wine_flavorFlavor of the plant's wine if NULL distll_reagent. If NULL, this is automatically set to the fruit's flavor.
wine_powerBoozepwr of the wine if NULL distill_reagent

Procs

generate_trashCallback proc for bonus behavior for generating trash of grown food. Used by /datum/element/food_trash.
+

Var Details

alt_icon + + + + +

+

If the grown food has an alternaitve icon state to use in places.

bite_consumption_mod + + + + +

+

The modifier applied to the plant's bite size. If a plant has a large amount of reagents naturally, this should be increased to match.

can_distill + + + + +

+

If FALSE, this object cannot be distilled into an alcohol.

distill_reagent + + + + +

+

The reagent this plant distill to. If NULL, it uses a generic fruit_wine reagent and adjusts its variables.

dry_grind + + + + +

+

If TRUE, this object needs to be dry to be ground up

filling_color + + + + +

+

Color of the grown object, for use in coloring greyscale splats.

plantname + + + + +

+

Name of the plant

seed + + + + +

+

type path, gets converted to item on New(). It's safe to assume it's always a seed item.

splat_type + + + + +

+

The typepath made when the plant is splatted with liquid contents.

wine_flavor + + + + +

+

Flavor of the plant's wine if NULL distll_reagent. If NULL, this is automatically set to the fruit's flavor.

wine_power + + + + +

+

Boozepwr of the wine if NULL distill_reagent

Proc Details

generate_trash +

+

Callback proc for bonus behavior for generating trash of grown food. Used by /datum/element/food_trash.

+ + + diff --git a/obj/item/food/grown/pumpkin.html b/obj/item/food/grown/pumpkin.html new file mode 100644 index 000000000000..96ea25ed587a --- /dev/null +++ b/obj/item/food/grown/pumpkin.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/grown/pumpkin - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pumpkin + + + +

+ + +

Vars

carved_typeWhich type of lantern this gourd produces when carved.
+

Var Details

carved_type + + + + +

+

Which type of lantern this gourd produces when carved.

+ + + diff --git a/obj/item/food/icecream.html b/obj/item/food/icecream.html new file mode 100644 index 000000000000..3ec036a120a7 --- /dev/null +++ b/obj/item/food/icecream.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/icecream - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

icecream + + + +

+ + +

Vars

ingredientsThese two variables are used by the ice cream vat. Latter is the one that shows on the UI.
+

Var Details

ingredients + + + + +

+

These two variables are used by the ice cream vat. Latter is the one that shows on the UI.

+ + + diff --git a/obj/item/food/meat/cutlet.html b/obj/item/food/meat/cutlet.html new file mode 100644 index 000000000000..f40ddef0d25e --- /dev/null +++ b/obj/item/food/meat/cutlet.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/food/meat/cutlet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

cutlet + + + +

+ + +

Procs

OnMicrowaveCookedThis proc handles setting up the correct meat name for the cutlet, this should definitely be changed with the food rework.

Proc Details

OnMicrowaveCooked +

+

This proc handles setting up the correct meat name for the cutlet, this should definitely be changed with the food rework.

+ + + diff --git a/obj/item/food/meat/slab.html b/obj/item/food/meat/slab.html new file mode 100644 index 000000000000..c513ad224af4 --- /dev/null +++ b/obj/item/food/meat/slab.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/meat/slab - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

slab + + + +

+ + +

Vars

slab_colorLegacy code, handles the coloring of the overlay of the cutlets made from this.
+

Var Details

slab_color + + + + +

+

Legacy code, handles the coloring of the overlay of the cutlets made from this.

+ + + diff --git a/obj/item/food/meat/steak/plain/human.html b/obj/item/food/meat/steak/plain/human.html new file mode 100644 index 000000000000..1f4ab3c44c35 --- /dev/null +++ b/obj/item/food/meat/steak/plain/human.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/food/meat/steak/plain/human - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

human + + + +

+ + +

Procs

OnMicrowaveCookedMake sure the steak has the correct name

Proc Details

OnMicrowaveCooked +

+

Make sure the steak has the correct name

+ + + diff --git a/obj/item/food/pizza.html b/obj/item/food/pizza.html new file mode 100644 index 000000000000..2bd90164653a --- /dev/null +++ b/obj/item/food/pizza.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/food/pizza - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pizza + + + +

+ + + +

Vars

boxtagWhat label pizza boxes use if this pizza spawns in them.
slice_typetype is spawned 6 at a time and replaces this pizza when processed by cutting tool
+

Var Details

boxtag + + + + +

+

What label pizza boxes use if this pizza spawns in them.

slice_type + + + + +

+

type is spawned 6 at a time and replaces this pizza when processed by cutting tool

+ + + diff --git a/obj/item/food/rationpack.html b/obj/item/food/rationpack.html new file mode 100644 index 000000000000..b87b725fa797 --- /dev/null +++ b/obj/item/food/rationpack.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/food/rationpack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

rationpack + + + +

+ + +

Procs

MakeEdibleOverride for checkliked callback

Proc Details

MakeEdible +

+

Override for checkliked callback

+ + + diff --git a/obj/item/forcefield_projector.html b/obj/item/forcefield_projector.html new file mode 100644 index 000000000000..c777a8abc12a --- /dev/null +++ b/obj/item/forcefield_projector.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/forcefield_projector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

forcefield_projector + + + +

+ + + +

Vars

creation_timeTime it takes to materialize a forcefield.
force_proj_busyChecks to make sure the projector isn't busy with making another forcefield.
+

Var Details

creation_time + + + + +

+

Time it takes to materialize a forcefield.

force_proj_busy + + + + +

+

Checks to make sure the projector isn't busy with making another forcefield.

+ + + diff --git a/obj/item/fuel_pellet.html b/obj/item/fuel_pellet.html new file mode 100644 index 000000000000..fd5ebfc11bae --- /dev/null +++ b/obj/item/fuel_pellet.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/fuel_pellet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

fuel_pellet + + + +

+ + + +

Vars

fuel_typeThe type of fuel this pellet has within.
usesThe amount of uses left in this fuel pellet.
+

Var Details

fuel_type + + + + +

+

The type of fuel this pellet has within.

uses + + + + +

+

The amount of uses left in this fuel pellet.

+ + + diff --git a/obj/item/fuel_rod.html b/obj/item/fuel_rod.html new file mode 100644 index 000000000000..c958ee0babdc --- /dev/null +++ b/obj/item/fuel_rod.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/fuel_rod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

fuel_rod + + + +

+ + + + +

Vars

exposure_rateThe amount of contents being exposed to the air, as a decimal
occupied_slotThe reactor slot this rod occupies
rod_typeFuel, Control, Moderator
+

Var Details

exposure_rate + + + + +

+

The amount of contents being exposed to the air, as a decimal

occupied_slot + + + + +

+

The reactor slot this rod occupies

rod_type + + + + +

+

Fuel, Control, Moderator

+ + + diff --git a/obj/item/gang_induction_package.html b/obj/item/gang_induction_package.html new file mode 100644 index 000000000000..00d6d2b8bc91 --- /dev/null +++ b/obj/item/gang_induction_package.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/gang_induction_package - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

gang_induction_package + + + +

+ + + + + + +

Vars

gang_to_useThe typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.
handlerReferences the active families gamemode handler (if one exists), for adding new family members to.
team_to_useThe team datum that the person who uses this package should be added to.

Procs

add_to_gangAdds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.
attempt_join_gangChecks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.
+

Var Details

gang_to_use + + + + +

+

The typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.

handler + + + + +

+

References the active families gamemode handler (if one exists), for adding new family members to.

team_to_use + + + + +

+

The team datum that the person who uses this package should be added to.

Proc Details

add_to_gang +

+

Adds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.

attempt_join_gang +

+

Checks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.

+ + + diff --git a/obj/item/gas_filter.html b/obj/item/gas_filter.html new file mode 100644 index 000000000000..ae8e776532d6 --- /dev/null +++ b/obj/item/gas_filter.html @@ -0,0 +1,98 @@ + + + + + + + /obj/item/gas_filter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

gas_filter + + + +

+ + + + + + + + + + +

Vars

filter_efficiencyGeneral efficiency of the filter (between 0 and 1)
filter_statusAmount of filtering points available
filter_strength_highstrength of the filter against high filtering gases
filter_strength_lowstrength of the filter against low filtering gases
filter_strength_midstrength of the filter against mid filtering gases
high_filtering_gasesList of gases with high filter priority
low_filtering_gasesList of gases with low filter priority
mid_filtering_gasesList of gases with medium filter priority

Procs

reduce_filter_statuscalled by the gas mask where the filter is installed, lower the filter_status depending on the breath gas composition and by the strength of the filter +returns the modified breath gas mixture
+

Var Details

filter_efficiency + + + + +

+

General efficiency of the filter (between 0 and 1)

filter_status + + + + +

+

Amount of filtering points available

filter_strength_high + + + + +

+

strength of the filter against high filtering gases

filter_strength_low + + + + +

+

strength of the filter against low filtering gases

filter_strength_mid + + + + +

+

strength of the filter against mid filtering gases

high_filtering_gases + + + + +

+

List of gases with high filter priority

low_filtering_gases + + + + +

+

List of gases with low filter priority

mid_filtering_gases + + + + +

+

List of gases with medium filter priority

Proc Details

reduce_filter_status +

+

called by the gas mask where the filter is installed, lower the filter_status depending on the breath gas composition and by the strength of the filter +returns the modified breath gas mixture

+

Arguments:

+
+ + + diff --git a/obj/item/gps.html b/obj/item/gps.html new file mode 100644 index 000000000000..87ec0e1b6b81 --- /dev/null +++ b/obj/item/gps.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/gps - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

gps + + + +

+ + +

Procs

add_gps_componentAdds the GPS component to this item.

Proc Details

add_gps_component +

+

Adds the GPS component to this item.

+ + + diff --git a/obj/item/graft.html b/obj/item/graft.html new file mode 100644 index 000000000000..e957d3892414 --- /dev/null +++ b/obj/item/graft.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/graft - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

graft + + + +

+ +

A new subsystem for hydroponics, as a way to share specific traits into plants, as a way to phase out the DNA manipulator.

+ + + + + + + + +

Vars

enduranceThe endurance stat of the parent seed when the graft was taken.
graft_appearanceDetermines the appearance of the graft. Rudimentary right now so it just picks randomly.
lifespanThe lifespan stat of the parent seed when the graft was taken.
parent_nameThe name of the plant this was taken from.
productionThe production stat of the parent seed when the graft was taken.
stored_traitThe stored trait taken from the parent plant. Defaults to perenial growth.
weed_chanceThe weed_chance stat of the parent seed when the graft was taken.
weed_rateThe weed_rate stat of the parent seed when the graft was taken.
yieldThe yield stat of the parent seed when the graft was taken.
+

Var Details

endurance + + + + +

+

The endurance stat of the parent seed when the graft was taken.

graft_appearance + + + + +

+

Determines the appearance of the graft. Rudimentary right now so it just picks randomly.

lifespan + + + + +

+

The lifespan stat of the parent seed when the graft was taken.

parent_name + + + + +

+

The name of the plant this was taken from.

production + + + + +

+

The production stat of the parent seed when the graft was taken.

stored_trait + + + + +

+

The stored trait taken from the parent plant. Defaults to perenial growth.

weed_chance + + + + +

+

The weed_chance stat of the parent seed when the graft was taken.

weed_rate + + + + +

+

The weed_rate stat of the parent seed when the graft was taken.

yield + + + + +

+

The yield stat of the parent seed when the graft was taken.

+ + + diff --git a/obj/item/greentext.html b/obj/item/greentext.html new file mode 100644 index 000000000000..d81f888a1be7 --- /dev/null +++ b/obj/item/greentext.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/greentext - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

greentext + + + +

+ + + + + + +

Vars

color_altered_mobsEvery person who has touched the greentext, having their colors changed by it.
last_holderThe last person to touch the greentext, used for failures.
new_holderThe current holder of the greentext.
quietBoolean on whether to announce the greentext's destruction to all mobs.
roundend_callbackThe callback at the end of a round to check if the greentext has been completed.
+

Var Details

color_altered_mobs + + + + +

+

Every person who has touched the greentext, having their colors changed by it.

last_holder + + + + +

+

The last person to touch the greentext, used for failures.

new_holder + + + + +

+

The current holder of the greentext.

quiet + + + + +

+

Boolean on whether to announce the greentext's destruction to all mobs.

roundend_callback + + + + +

+

The callback at the end of a round to check if the greentext has been completed.

+ + + diff --git a/obj/item/grenade.html b/obj/item/grenade.html new file mode 100644 index 000000000000..a4f8be8950c4 --- /dev/null +++ b/obj/item/grenade.html @@ -0,0 +1,151 @@ + + + + + + + /obj/item/grenade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

grenade + + + +

+ +

Base class for all grenades.

+ + + + + + + + + + + + + + + +

Vars

activeIs this grenade currently armed?
clumsy_checkUsed in botch_check to determine how a user's clumsiness affects that user's ability to prime a grenade correctly.
det_timeHow long it takes for a grenade to explode after being armed
display_timerWill this state what it's det_time is when examined?
dud_flagsBitfields which prevent the grenade from detonating if set. Includes (GRENADE_DUD|GRENADE_USED)
ex_devhow big of a devastation explosion radius on prime
ex_flamehow big of a flame explosion radius on prime
ex_heavyhow big of a heavy explosion radius on prime
ex_lighthow big of a light explosion radius on prime
shrapnel_initializedDid we add the component responsible for spawning sharpnel to this?
shrapnel_radiusthe higher this number, the more projectiles are created as shrapnel
shrapnel_typeif set, will spew out projectiles of this type
stickyWas sticky tape used to make this sticky?

Procs

arm_grenadearm_grenade (formerly preprime) refers to when a grenade with a standard time fuze is activated, making it go beepbeepbeep and then detonate a few seconds later. +Grenades with other triggers like remote igniters probably skip this step and go straight to /obj/item/grenade/proc/detonate
botch_checkChecks for various ways to botch priming a grenade.
detonatedetonate (formerly prime) refers to when the grenade actually delivers its payload (whether or not a boom/bang/detonation is involved)
+

Var Details

active + + + + +

+

Is this grenade currently armed?

clumsy_check + + + + +

+

Used in botch_check to determine how a user's clumsiness affects that user's ability to prime a grenade correctly.

det_time + + + + +

+

How long it takes for a grenade to explode after being armed

display_timer + + + + +

+

Will this state what it's det_time is when examined?

dud_flags + + + + +

+

Bitfields which prevent the grenade from detonating if set. Includes (GRENADE_DUD|GRENADE_USED)

ex_dev + + + + +

+

how big of a devastation explosion radius on prime

ex_flame + + + + +

+

how big of a flame explosion radius on prime

ex_heavy + + + + +

+

how big of a heavy explosion radius on prime

ex_light + + + + +

+

how big of a light explosion radius on prime

shrapnel_initialized + + + + +

+

Did we add the component responsible for spawning sharpnel to this?

shrapnel_radius + + + + +

+

the higher this number, the more projectiles are created as shrapnel

shrapnel_type + + + + +

+

if set, will spew out projectiles of this type

sticky + + + + +

+

Was sticky tape used to make this sticky?

Proc Details

arm_grenade +

+

arm_grenade (formerly preprime) refers to when a grenade with a standard time fuze is activated, making it go beepbeepbeep and then detonate a few seconds later. +Grenades with other triggers like remote igniters probably skip this step and go straight to /obj/item/grenade/proc/detonate

botch_check +

+

Checks for various ways to botch priming a grenade.

+

Arguments:

+

detonate +

+

detonate (formerly prime) refers to when the grenade actually delivers its payload (whether or not a boom/bang/detonation is involved)

+

Arguments:

+
+ + + diff --git a/obj/item/grenade/c4.html b/obj/item/grenade/c4.html new file mode 100644 index 000000000000..d75620ae8975 --- /dev/null +++ b/obj/item/grenade/c4.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/grenade/c4 - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

c4 + + + +

+ + + +

Vars

maximum_timerMaximum timer for c4 charges
minimum_timerMinimum timer for c4 charges
+

Var Details

maximum_timer + + + + +

+

Maximum timer for c4 charges

minimum_timer + + + + +

+

Minimum timer for c4 charges

+ + + diff --git a/obj/item/grenade/c4/ninja.html b/obj/item/grenade/c4/ninja.html new file mode 100644 index 000000000000..d945c7c27127 --- /dev/null +++ b/obj/item/grenade/c4/ninja.html @@ -0,0 +1,69 @@ + + + + + + + /obj/item/grenade/c4/ninja - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Spider Charge + + + +

+ +

A unique version of c4 possessed only by the space ninja. Has a stronger blast radius. +Can only be detonated by space ninjas with the bombing objective. Can only be set up where the objective says it can. +When it primes, the space ninja responsible will have their objective set to complete.

+ + + +

Vars

detonation_areaThe only area that the charge is allowed to be planted, and detonated in
detonatorWeakref to the mob that has planted the charge

Procs

check_loccheck_loc
set_detonation_areaset_detonation_area
+

Var Details

detonation_area + + + + +

+

The only area that the charge is allowed to be planted, and detonated in

detonator + + + + +

+

Weakref to the mob that has planted the charge

Proc Details

check_loc +

+

check_loc

+

Checks to see if the c4 is in the correct place when being planted.

+

Arguments

+

set_detonation_area +

+

set_detonation_area

+

Proc used to set the allowed location for charge detonation

+

Arguments

+
+ + + diff --git a/obj/item/grenade/chem_grenade.html b/obj/item/grenade/chem_grenade.html new file mode 100644 index 000000000000..9e040b2125aa --- /dev/null +++ b/obj/item/grenade/chem_grenade.html @@ -0,0 +1,99 @@ + + + + + + + /obj/item/grenade/chem_grenade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chem_grenade + + + +

+ + + + + + + + + + + +

Vars

affected_areaThe range that this grenade can splash reagents at if they aren't consumed on detonation.
allowed_containersThe types of reagent containers that can be added to this grenade casing.
banned_containersThe types of reagent containers that can't be added to this grenade casing.
beakersThe set of reagent containers that have been added to this grenade casing.
casedescThe description when examining empty casings.
casing_holder_volumeThe maximum volume of the reagents in the grenade casing.
ignition_tempThe amount of temperature that is added to the reagents on detonation.
landminemodeWhether or not the grenade is currently acting as a landmine. Currently broken and not my current project.
stageWhich stage of construction this grenade is currently at.
threatscaleHow much to scale the reagents by when the grenade detonates. Used by advanced grenades to make them slightly more worthy.
+

Var Details

affected_area + + + + +

+

The range that this grenade can splash reagents at if they aren't consumed on detonation.

allowed_containers + + + + +

+

The types of reagent containers that can be added to this grenade casing.

banned_containers + + + + +

+

The types of reagent containers that can't be added to this grenade casing.

beakers + + + + +

+

The set of reagent containers that have been added to this grenade casing.

casedesc + + + + +

+

The description when examining empty casings.

casing_holder_volume + + + + +

+

The maximum volume of the reagents in the grenade casing.

ignition_temp + + + + +

+

The amount of temperature that is added to the reagents on detonation.

landminemode + + + + +

+

Whether or not the grenade is currently acting as a landmine. Currently broken and not my current project.

stage + + + + +

+

Which stage of construction this grenade is currently at.

threatscale + + + + +

+

How much to scale the reagents by when the grenade detonates. Used by advanced grenades to make them slightly more worthy.

+ + + diff --git a/obj/item/grenade/gas_crystal/healium_crystal.html b/obj/item/grenade/gas_crystal/healium_crystal.html new file mode 100644 index 000000000000..3b3c77aaeb51 --- /dev/null +++ b/obj/item/grenade/gas_crystal/healium_crystal.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/grenade/gas_crystal/healium_crystal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

healium_crystal + + + +

+ + +

Vars

fix_rangeRange of the grenade that will cool down and affect mobs
+

Var Details

fix_range + + + + +

+

Range of the grenade that will cool down and affect mobs

+ + + diff --git a/obj/item/grenade/gas_crystal/nitrous_oxide_crystal.html b/obj/item/grenade/gas_crystal/nitrous_oxide_crystal.html new file mode 100644 index 000000000000..b2b6f0eec040 --- /dev/null +++ b/obj/item/grenade/gas_crystal/nitrous_oxide_crystal.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/grenade/gas_crystal/nitrous_oxide_crystal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

nitrous_oxide_crystal + + + +

+ + + +

Vars

fill_rangeRange of the grenade air refilling
n2o_gas_amountAmount of n2o gas released (close to the grenade)
+

Var Details

fill_range + + + + +

+

Range of the grenade air refilling

n2o_gas_amount + + + + +

+

Amount of n2o gas released (close to the grenade)

+ + + diff --git a/obj/item/grenade/gas_crystal/proto_nitrate_crystal.html b/obj/item/grenade/gas_crystal/proto_nitrate_crystal.html new file mode 100644 index 000000000000..db3accf09ed0 --- /dev/null +++ b/obj/item/grenade/gas_crystal/proto_nitrate_crystal.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/grenade/gas_crystal/proto_nitrate_crystal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

proto_nitrate_crystal + + + +

+ + + + +

Vars

n2_gas_amountAmount of Nitrogen gas released (close to the grenade)
o2_gas_amountAmount of Oxygen gas released (close to the grenade)
refill_rangeRange of the grenade air refilling
+

Var Details

n2_gas_amount + + + + +

+

Amount of Nitrogen gas released (close to the grenade)

o2_gas_amount + + + + +

+

Amount of Oxygen gas released (close to the grenade)

refill_range + + + + +

+

Range of the grenade air refilling

+ + + diff --git a/obj/item/grenade/primer.html b/obj/item/grenade/primer.html new file mode 100644 index 000000000000..4c1484ffee82 --- /dev/null +++ b/obj/item/grenade/primer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/grenade/primer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

primer + + + +

+ + + +

Vars

shrapnel_typehow many times we need to "rotate" the charge in hand per extra tile of magnitude

Procs

attack_selfhow many times we've "rotated" the charge
+

Var Details

shrapnel_type + + + + +

+

how many times we need to "rotate" the charge in hand per extra tile of magnitude

Proc Details

attack_self +

+

how many times we've "rotated" the charge

+ + + diff --git a/obj/item/grenade/smokebomb.html b/obj/item/grenade/smokebomb.html new file mode 100644 index 000000000000..45045fd2dacf --- /dev/null +++ b/obj/item/grenade/smokebomb.html @@ -0,0 +1,52 @@ + + + + + + + /obj/item/grenade/smokebomb - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

smokebomb + + + +

+ +

This is smoke bomb, mezum koman. It is a grenade subtype. All craftmanship is of the highest quality. +It menaces with spikes of iron. On it is a depiction of an assistant. +The assistant is bleeding. The assistant has a painful expression. The assistant is dead.

+ + +

Vars

bruh_momentIt's extremely important to keep this list up to date. It helps to generate the insightful description of the smokebomb

Procs

InitializeHere we generate the extremely insightful description.
detonateHere we generate some smoke and also damage blobs??? for some reason. Honestly not sure why we do that.
+

Var Details

bruh_moment + + + + +

+

It's extremely important to keep this list up to date. It helps to generate the insightful description of the smokebomb

Proc Details

Initialize +

+

Here we generate the extremely insightful description.

detonate +

+

Here we generate some smoke and also damage blobs??? for some reason. Honestly not sure why we do that.

+ + + diff --git a/obj/item/grown/log.html b/obj/item/grown/log.html new file mode 100644 index 000000000000..3cc18dbef9c6 --- /dev/null +++ b/obj/item/grown/log.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/grown/log - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

log + + + +

+ + +

Procs

get_plank_amountReturns an amount of planks that the log will yield

Proc Details

get_plank_amount +

+

Returns an amount of planks that the log will yield

+ + + diff --git a/obj/item/gun.html b/obj/item/gun.html new file mode 100644 index 000000000000..44d08471d0ef --- /dev/null +++ b/obj/item/gun.html @@ -0,0 +1,362 @@ + + + + + + + /obj/item/gun - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

gun + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

accuracy_falloffFor every turf a fired projectile travels, increase the target bodyzone inaccuracy by this much.
burst_sizeHow many shots to fire per fire sequence
can_bayonetif a bayonet can be added, or removed, if it already has one.
chamberedThe next round to be fired, if any.
clumsy_checkCan this weapon be misfired?
dual_wield_spreadAdditional spread when dual wielding
fire_delayThe cooldown (DS) before the gun can be fired again after firing
fire_lockoutBoolean var used to control the speed a gun can be fired. See the "fire_delay" var.
firing_burstBoolean var used to prevent the weapon from firing again while already firing
pb_knockbackHow many tiles do we knock the poor bastard we just point-blanked back?
pinRequired for firing, [/obj/item/firing_pin/proc/pin_auth] is called as part of firing.
pinlessTrue if a gun dosen't need a pin, mostly used for abstract guns like tentacles and meathooks
projectile_damage_multiplierJust 'slightly' snowflakey way to modify projectile damage for projectiles fired from this gun.
randomspreadIf set to FALSE, uses a "smart spread" that changes the spread based on the amount of shots in a burst.
recoilScreenshake applied to the firer
sawn_offIs the weapon currently sawn off?
smoking_gunShould smoke particles be created when fired?
spreadDefault spread
suppressedwhether or not a message is displayed when fired
unwielded_recoilHow much recoil there is when fired with one hand
unwielded_spread_bonusAdditional spread when fired while unwielded

Procs

add_seclight_pointHandles adding the seclite mount component to the gun. +If the gun shouldn't have a seclight mount, override this with a return. +Or, if a child of a gun with a seclite mount has slightly different behavior or icons, extend this.
after_chamberingCalled after a successful shot and update_chamber()
after_firingCalled after the weapon has successfully fired it's chambered round, and before update_chamber()
before_firingCalled before the weapon is fired, before the projectile is created.
can_firecheck if there's enough ammo/energy/whatever to shoot one time +i.e if clicking would make it shoot
clear_suppressorClears var and updates icon. In the case of ballistic weapons, also updates the gun's weight.
do_chamber_updateCalled after the weapon has successfully fired it's chambered round
do_fire_gunThe proc for firing the gun. This won't perform any non-gun checks. Returns TRUE if a round was fired.
do_fire_in_burstCalled by do_fire_gun if the rounds per burst is greater than 1.
dry_fire_feedbackCalled by shoot_with_empty_chamber().
play_fire_soundPlay the bang bang sound
ready_to_fireCalled when the gun is ready to fire again
shoot_with_empty_chamberApply pointblank knockback to the target +Called when there was an attempt to fire the gun, but the chamber was empty.
tk_firingCheck if the user is firing this gun with telekinesis.
try_fire_akimboCalled by try_fire_gun() to attempt to fire offhand guns.
try_fire_gunThe defacto proc for "mob is trying to shoot the gun". Checks if they are able to, and a few other things.
update_chamberCalled after the weapon has successfully fired it's chambered round.
+

Var Details

accuracy_falloff + + + + +

+

For every turf a fired projectile travels, increase the target bodyzone inaccuracy by this much.

burst_size + + + + +

+

How many shots to fire per fire sequence

can_bayonet + + + + +

+

if a bayonet can be added, or removed, if it already has one.

chambered + + + + +

+

The next round to be fired, if any.

clumsy_check + + + + +

+

Can this weapon be misfired?

dual_wield_spread + + + + +

+

Additional spread when dual wielding

fire_delay + + + + +

+

The cooldown (DS) before the gun can be fired again after firing

fire_lockout + + + + +

+

Boolean var used to control the speed a gun can be fired. See the "fire_delay" var.

firing_burst + + + + +

+

Boolean var used to prevent the weapon from firing again while already firing

pb_knockback + + + + +

+

How many tiles do we knock the poor bastard we just point-blanked back?

pin + + + + +

+

Required for firing, [/obj/item/firing_pin/proc/pin_auth] is called as part of firing.

pinless + + + + +

+

True if a gun dosen't need a pin, mostly used for abstract guns like tentacles and meathooks

projectile_damage_multiplier + + + + +

+

Just 'slightly' snowflakey way to modify projectile damage for projectiles fired from this gun.

randomspread + + + + +

+

If set to FALSE, uses a "smart spread" that changes the spread based on the amount of shots in a burst.

recoil + + + + +

+

Screenshake applied to the firer

sawn_off + + + + +

+

Is the weapon currently sawn off?

smoking_gun + + + + +

+

Should smoke particles be created when fired?

spread + + + + +

+

Default spread

suppressed + + + + +

+

whether or not a message is displayed when fired

unwielded_recoil + + + + +

+

How much recoil there is when fired with one hand

unwielded_spread_bonus + + + + +

+

Additional spread when fired while unwielded

Proc Details

add_seclight_point +

+

Handles adding the seclite mount component to the gun. +If the gun shouldn't have a seclight mount, override this with a return. +Or, if a child of a gun with a seclite mount has slightly different behavior or icons, extend this.

after_chambering +

+

Called after a successful shot and update_chamber()

after_firing +

+

Called after the weapon has successfully fired it's chambered round, and before update_chamber()

+

Arguments:

+

before_firing +

+

Called before the weapon is fired, before the projectile is created.

+

Arguments:

+

can_fire +

+

check if there's enough ammo/energy/whatever to shoot one time +i.e if clicking would make it shoot

clear_suppressor +

+

Clears var and updates icon. In the case of ballistic weapons, also updates the gun's weight.

do_chamber_update +

+

Called after the weapon has successfully fired it's chambered round

+

Arguments:

+

do_fire_gun +

+

The proc for firing the gun. This won't perform any non-gun checks. Returns TRUE if a round was fired.

+

Arguments:

+

do_fire_in_burst +

+

Called by do_fire_gun if the rounds per burst is greater than 1.

+

Arguments:

+

dry_fire_feedback +

+

Called by shoot_with_empty_chamber().

+

Arguments:

+

play_fire_sound +

+

Play the bang bang sound

ready_to_fire +

+

Called when the gun is ready to fire again

shoot_with_empty_chamber +

+

Apply pointblank knockback to the target +Called when there was an attempt to fire the gun, but the chamber was empty.

+

Arguments:

+

tk_firing +

+

Check if the user is firing this gun with telekinesis.

try_fire_akimbo +

+

Called by try_fire_gun() to attempt to fire offhand guns.

try_fire_gun +

+

The defacto proc for "mob is trying to shoot the gun". Checks if they are able to, and a few other things.

+

Arguments:

+

update_chamber +

+

Called after the weapon has successfully fired it's chambered round.

+

Arguments:

+
+ + + diff --git a/obj/item/gun/ballistic.html b/obj/item/gun/ballistic.html new file mode 100644 index 000000000000..279a23afd070 --- /dev/null +++ b/obj/item/gun/ballistic.html @@ -0,0 +1,478 @@ + + + + + + + /obj/item/gun/ballistic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ballistic + + + +

+ +

Subtype for any kind of ballistic gun +This has a shitload of vars on it, and I'm sorry for that, but it does make making new subtypes really easy

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

alternative_ammo_misfiresIf only our alternative ammuntion misfires and not our main ammunition, we set this to TRUE
alternative_caliberour alternative ammo type.
alternative_fire_soundour alternative fire sound, in case we want our gun to be louder or quieter or whatever
boltThe bolt type controls how the gun functions, and what iconstates you'll need to represent those functions. +/datum/gun_bolt - The Slide doesn't lock back. Clicking on it will only cycle the bolt. Only 1 sprite. +/datum/gun_bolt/open - Same as standard, but it fires directly from the magazine - No need to rack. Doesn't hold the bullet when you drop the mag. +/datum/gun_bolt/locking - This is most handguns and bolt action rifles. The bolt will lock back when it's empty. You need yourgun_bolt and yourgun_bolt_locked icon states. +/datum/gun_bolt/no_bolt - This is shotguns and revolvers. clicking will dump out all the bullets in the gun, spent or not.
bolt_drop_soundsound of dropping the bolt or releasing a slide
bolt_drop_sound_volumevolume of bolt drop/slide release
bolt_wordingPhrasing of the bolt in examine and notification messages; ex: bolt, slide, etc.
can_be_sawn_offWhether the gun can be sawn off by sawing tools
can_misfireMisfire Variables /// +Whether our ammo misfires now or when it's set by the wrench_act. TRUE means it misfires.
can_modify_ammoCan we modify our ammo type in this gun's internal magazine?
cartridge_wordingPhrasing of the cartridge in examine and notification messages; ex: bullet, shell, dart, etc.
casing_ejectorwhether the gun ejects the chambered casing
eject_empty_soundsound of ejecting an empty magazine
eject_soundSound of ejecting a magazine
eject_sound_varywhether eject sound should vary
eject_sound_volumevolume of ejecting a magazine
empty_alarmWhether the gun alarms when empty or not.
empty_alarm_soundempty alarm sound (if enabled)
empty_alarm_varywhether empty alarm sound varies
empty_alarm_volumeempty alarm volume sound
empty_indicatorWhether the sprite has a visible indicator for being empty or not.
hidden_chamberedpixel offset for the suppressor overlay on the y axis. +Check if you are able to see if a weapon has a bullet loaded in or not.
initial_caliberour initial ammo type. Should match initial caliber, but a bit of redundency doesn't hurt.
initial_fire_soundour initial fire sound. same reasons for initial caliber
internal_magazineWhether the gun has an internal magazine or a detatchable one. Overridden by /datum/gun_bolt/no_bolt.
load_empty_soundsound when inserting an empty magazine
load_soundsound when inserting magazine
load_sound_varywhether loading sound should vary
load_sound_volumevolume of loading sound
lock_back_soundsound of when the bolt is locked back manually
lock_back_sound_varywhether lock back varies
lock_back_sound_volumevolume of lock back
mag_displayWhether the sprite has a visible magazine or not
mag_display_ammoWhether the sprite has a visible ammo display or not
mag_typeCompatible magazines with the gun
magazineActual magazine currently contained within the gun
magazine_wordingPhrasing of the magazine in examine and notification messages; ex: magazine, box, etx
misfire_percentage_incrementHow much does shooting the gun increment the misfire probability?
misfire_probabilityHow likely is our gun to misfire?
misfire_probability_capWhat is the cap on our misfire probability? Do not set this to 100.
one_hand_rackCan you rack this weapon with one hand?
rack_delaylength between individual racks
rack_soundsound of racking
rack_sound_varywhether racking sound should vary
rack_sound_volumevolume of racking
recent_racktime of the most recent rack, used for cooldown purposes
semi_autoHides the bolt icon. +Whether the gun has to be racked each shot or not.
show_caliber_on_examineIf TRUE, will show the caliber name on examine. Set to false for things with fake calibers like bows and the tentacle "gun".
spawnwithmagazineWhether the gun will spawn loaded with a magazine
special_magsWhether the gun supports multiple special mag types
suppressor_y_offsetpixel offset for the suppressor overlay on the x axis.

Procs

blow_upused for sawing guns, causes the gun to fire without the input of the user
chamber_roundUsed to chamber a new round and eject the old one
drop_boltDrops the bolt from a locked position
eject_magazineHandles all the logic of magazine ejection, if tac_load is set that magazine will be tacloaded in the place of the old eject
get_ammoGets the number of bullets in the gun
get_ammo_listgets a list of every bullet in the gun
insert_magazineHandles all the logic needed for magazine insertion
install_suppressorInstalls a new suppressor, assumes that the suppressor is already in the contents of src
rackupdates a bunch of racking related stuff and also handles the sound effects and the like
sawoffHandles all the logic of sawing off guns,
unloadRemoves the magazine from the weapon, or ejects all of it's ammo, based on the bolt type.
+

Var Details

alternative_ammo_misfires + + + + +

+

If only our alternative ammuntion misfires and not our main ammunition, we set this to TRUE

alternative_caliber + + + + +

+

our alternative ammo type.

alternative_fire_sound + + + + +

+

our alternative fire sound, in case we want our gun to be louder or quieter or whatever

bolt + + + + +

+

The bolt type controls how the gun functions, and what iconstates you'll need to represent those functions. +/datum/gun_bolt - The Slide doesn't lock back. Clicking on it will only cycle the bolt. Only 1 sprite. +/datum/gun_bolt/open - Same as standard, but it fires directly from the magazine - No need to rack. Doesn't hold the bullet when you drop the mag. +/datum/gun_bolt/locking - This is most handguns and bolt action rifles. The bolt will lock back when it's empty. You need yourgun_bolt and yourgun_bolt_locked icon states. +/datum/gun_bolt/no_bolt - This is shotguns and revolvers. clicking will dump out all the bullets in the gun, spent or not.

bolt_drop_sound + + + + +

+

sound of dropping the bolt or releasing a slide

bolt_drop_sound_volume + + + + +

+

volume of bolt drop/slide release

bolt_wording + + + + +

+

Phrasing of the bolt in examine and notification messages; ex: bolt, slide, etc.

can_be_sawn_off + + + + +

+

Whether the gun can be sawn off by sawing tools

can_misfire + + + + +

+

Misfire Variables /// +Whether our ammo misfires now or when it's set by the wrench_act. TRUE means it misfires.

can_modify_ammo + + + + +

+

Can we modify our ammo type in this gun's internal magazine?

cartridge_wording + + + + +

+

Phrasing of the cartridge in examine and notification messages; ex: bullet, shell, dart, etc.

casing_ejector + + + + +

+

whether the gun ejects the chambered casing

eject_empty_sound + + + + +

+

sound of ejecting an empty magazine

eject_sound + + + + +

+

Sound of ejecting a magazine

eject_sound_vary + + + + +

+

whether eject sound should vary

eject_sound_volume + + + + +

+

volume of ejecting a magazine

empty_alarm + + + + +

+

Whether the gun alarms when empty or not.

empty_alarm_sound + + + + +

+

empty alarm sound (if enabled)

empty_alarm_vary + + + + +

+

whether empty alarm sound varies

empty_alarm_volume + + + + +

+

empty alarm volume sound

empty_indicator + + + + +

+

Whether the sprite has a visible indicator for being empty or not.

hidden_chambered + + + + +

+

pixel offset for the suppressor overlay on the y axis. +Check if you are able to see if a weapon has a bullet loaded in or not.

initial_caliber + + + + +

+

our initial ammo type. Should match initial caliber, but a bit of redundency doesn't hurt.

initial_fire_sound + + + + +

+

our initial fire sound. same reasons for initial caliber

internal_magazine + + + + +

+

Whether the gun has an internal magazine or a detatchable one. Overridden by /datum/gun_bolt/no_bolt.

load_empty_sound + + + + +

+

sound when inserting an empty magazine

load_sound + + + + +

+

sound when inserting magazine

load_sound_vary + + + + +

+

whether loading sound should vary

load_sound_volume + + + + +

+

volume of loading sound

lock_back_sound + + + + +

+

sound of when the bolt is locked back manually

lock_back_sound_vary + + + + +

+

whether lock back varies

lock_back_sound_volume + + + + +

+

volume of lock back

mag_display + + + + +

+

Whether the sprite has a visible magazine or not

mag_display_ammo + + + + +

+

Whether the sprite has a visible ammo display or not

mag_type + + + + +

+

Compatible magazines with the gun

magazine + + + + +

+

Actual magazine currently contained within the gun

magazine_wording + + + + +

+

Phrasing of the magazine in examine and notification messages; ex: magazine, box, etx

misfire_percentage_increment + + + + +

+

How much does shooting the gun increment the misfire probability?

misfire_probability + + + + +

+

How likely is our gun to misfire?

misfire_probability_cap + + + + +

+

What is the cap on our misfire probability? Do not set this to 100.

one_hand_rack + + + + +

+

Can you rack this weapon with one hand?

rack_delay + + + + +

+

length between individual racks

rack_sound + + + + +

+

sound of racking

rack_sound_vary + + + + +

+

whether racking sound should vary

rack_sound_volume + + + + +

+

volume of racking

recent_rack + + + + +

+

time of the most recent rack, used for cooldown purposes

semi_auto + + + + +

+

Hides the bolt icon. +Whether the gun has to be racked each shot or not.

show_caliber_on_examine + + + + +

+

If TRUE, will show the caliber name on examine. Set to false for things with fake calibers like bows and the tentacle "gun".

spawnwithmagazine + + + + +

+

Whether the gun will spawn loaded with a magazine

special_mags + + + + +

+

Whether the gun supports multiple special mag types

suppressor_y_offset + + + + +

+

pixel offset for the suppressor overlay on the x axis.

Proc Details

blow_up +

+

used for sawing guns, causes the gun to fire without the input of the user

chamber_round +

+

Used to chamber a new round and eject the old one

drop_bolt +

+

Drops the bolt from a locked position

eject_magazine +

+

Handles all the logic of magazine ejection, if tac_load is set that magazine will be tacloaded in the place of the old eject

get_ammo +

+

Gets the number of bullets in the gun

get_ammo_list +

+

gets a list of every bullet in the gun

insert_magazine +

+

Handles all the logic needed for magazine insertion

install_suppressor +

+

Installs a new suppressor, assumes that the suppressor is already in the contents of src

rack +

+

updates a bunch of racking related stuff and also handles the sound effects and the like

sawoff +

+

Handles all the logic of sawing off guns,

unload +

+

Removes the magazine from the weapon, or ejects all of it's ammo, based on the bolt type.

+ + + diff --git a/obj/item/gun/ballistic/automatic.html b/obj/item/gun/ballistic/automatic.html new file mode 100644 index 000000000000..e37c75a4ed47 --- /dev/null +++ b/obj/item/gun/ballistic/automatic.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/gun/ballistic/automatic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

automatic + + + +

+ + + +

Vars

selector_switch_iconfire selector position. 1 = semi, 2 = burst. anything past that can vary between guns.

Procs

update_overlaysif it has an icon for a selector switch indicating current firemode.
+

Var Details

selector_switch_icon + + + + +

+

fire selector position. 1 = semi, 2 = burst. anything past that can vary between guns.

Proc Details

update_overlays +

+

if it has an icon for a selector switch indicating current firemode.

+ + + diff --git a/obj/item/gun/ballistic/revolver.html b/obj/item/gun/ballistic/revolver.html new file mode 100644 index 000000000000..a888b8cdc75d --- /dev/null +++ b/obj/item/gun/ballistic/revolver.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/gun/ballistic/revolver - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

revolver + + + +

+ + +

Vars

auto_chamberIf TRUE, will rotate the cylinder after each shot.
+

Var Details

auto_chamber + + + + +

+

If TRUE, will rotate the cylinder after each shot.

+ + + diff --git a/obj/item/gun/ballistic/rocketlauncher.html b/obj/item/gun/ballistic/rocketlauncher.html new file mode 100644 index 000000000000..a7f0b970cc45 --- /dev/null +++ b/obj/item/gun/ballistic/rocketlauncher.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/gun/ballistic/rocketlauncher - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

rocketlauncher + + + +

+ + +

Vars

backblastDo we shit flames behind us when we fire?
+

Var Details

backblast + + + + +

+

Do we shit flames behind us when we fire?

+ + + diff --git a/obj/item/gun/ballistic/shotgun/automatic/dual_tube.html b/obj/item/gun/ballistic/shotgun/automatic/dual_tube.html new file mode 100644 index 000000000000..c9ce72ea6f91 --- /dev/null +++ b/obj/item/gun/ballistic/shotgun/automatic/dual_tube.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/gun/ballistic/shotgun/automatic/dual_tube - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

dual_tube + + + +

+ + + + +

Vars

alt_mag_typeIf defined, the secondary tube is this type, if you want different shell loads
alternate_magazineThe B tube
toggledIf TRUE, we're drawing from the alternate_magazine
+

Var Details

alt_mag_type + + + + +

+

If defined, the secondary tube is this type, if you want different shell loads

alternate_magazine + + + + +

+

The B tube

toggled + + + + +

+

If TRUE, we're drawing from the alternate_magazine

+ + + diff --git a/obj/item/gun/ballistic/shotgun/bulldog.html b/obj/item/gun/ballistic/shotgun/bulldog.html new file mode 100644 index 000000000000..5c627cc9a8d0 --- /dev/null +++ b/obj/item/gun/ballistic/shotgun/bulldog.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/gun/ballistic/shotgun/bulldog - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bulldog + + + +

+ + + +

Vars

secondary_magazinethe secondary magazine
secondary_magazine_typethe type of secondary magazine for the bulldog
+

Var Details

secondary_magazine + + + + +

+

the secondary magazine

secondary_magazine_type + + + + +

+

the type of secondary magazine for the bulldog

+ + + diff --git a/obj/item/gun/blastcannon.html b/obj/item/gun/blastcannon.html new file mode 100644 index 000000000000..bbe4fc58e61a --- /dev/null +++ b/obj/item/gun/blastcannon.html @@ -0,0 +1,155 @@ + + + + + + + /obj/item/gun/blastcannon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

blastcannon + + + +

+ +

A gun that consumes a TTV to shoot an projectile with equivalent power.

+

It's basically an immovable rod launcher.

+ + + + + + + + + + + +

Vars

bombThe TTV this contains that will be used to create the projectile
bombcheckWhether you can fire this without a bomb.
cached_firerThe person who opened the valve on the TTV loaded into this.
cached_modifiersThe modifiers from the last click.
cached_targetThe target from the last click.
debug_powerThe range this defaults to without a bomb for debugging and badminry

Procs

channel_blastwaveChannels an internal explosion into a blastwave projectile.
fire_accidentallyHandles firing the blastcannon if it was handed to someone else between opening the valve and the bomb exploding.
fire_blastwavePrepares and fires a blastwave.
fire_debugHandles firing the blastcannon with debug power.
fire_droppedHandles firing the blastcannon if it was dropped on the ground or shoved into a backpack.
fire_intentionallyHandles firing the blastcannon intentionally at a specific target.
+

Var Details

bomb + + + + +

+

The TTV this contains that will be used to create the projectile

bombcheck + + + + +

+

Whether you can fire this without a bomb.

cached_firer + + + + +

+

The person who opened the valve on the TTV loaded into this.

cached_modifiers + + + + +

+

The modifiers from the last click.

cached_target + + + + +

+

The target from the last click.

debug_power + + + + +

+

The range this defaults to without a bomb for debugging and badminry

Proc Details

channel_blastwave +

+

Channels an internal explosion into a blastwave projectile.

+

Arguments:

+

fire_accidentally +

+

Handles firing the blastcannon if it was handed to someone else between opening the valve and the bomb exploding.

+

Arguments:

+

fire_blastwave +

+

Prepares and fires a blastwave.

+

Arguments:

+

fire_debug +

+

Handles firing the blastcannon with debug power.

+

Arguments:

+

fire_dropped +

+

Handles firing the blastcannon if it was dropped on the ground or shoved into a backpack.

+

Arguments:

+

fire_intentionally +

+

Handles firing the blastcannon intentionally at a specific target.

+

Arguments:

+
+ + + diff --git a/obj/item/gun/energy.html b/obj/item/gun/energy.html new file mode 100644 index 000000000000..e23eaf5582bf --- /dev/null +++ b/obj/item/gun/energy.html @@ -0,0 +1,113 @@ + + + + + + + /obj/item/gun/energy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

energy + + + +

+ + + + + + + + + + + + + +

Vars

automatic_charge_overlaysDo we handle overlays with base update_icon()?
can_chargeCan it be charged in a recharger?
can_selectIf the user can select the firemode through attack_self.
cellWhat type of power cell this uses
dead_cellset to true so the gun is given an empty cell
display_emptyShould we give an overlay to empty guns?
modifystateif the weapon has custom icons for individual ammo types it can switch between. ie disabler beams, taser, laser/lethals, ect.
selectThe state of the select fire switch. Determines from the ammo_type list what kind of shot is fired next.
shaded_chargeif this gun uses a stateful charge bar for more detail
single_shot_type_overlayIf this gun has a "this is loaded with X" overlay alongside chargebars and such
use_cyborg_cellwhether the gun's cell drains the cyborg user's cell to recharge

Procs

get_charge_ratioUsed by update_icon_state() and update_overlays()
+

Var Details

automatic_charge_overlays + + + + +

+

Do we handle overlays with base update_icon()?

can_charge + + + + +

+

Can it be charged in a recharger?

can_select + + + + +

+

If the user can select the firemode through attack_self.

cell + + + + +

+

What type of power cell this uses

dead_cell + + + + +

+

set to true so the gun is given an empty cell

display_empty + + + + +

+

Should we give an overlay to empty guns?

modifystate + + + + +

+

if the weapon has custom icons for individual ammo types it can switch between. ie disabler beams, taser, laser/lethals, ect.

select + + + + +

+

The state of the select fire switch. Determines from the ammo_type list what kind of shot is fired next.

shaded_charge + + + + +

+

if this gun uses a stateful charge bar for more detail

single_shot_type_overlay + + + + +

+

If this gun has a "this is loaded with X" overlay alongside chargebars and such

use_cyborg_cell + + + + +

+

whether the gun's cell drains the cyborg user's cell to recharge

Proc Details

get_charge_ratio +

+

Used by update_icon_state() and update_overlays()

+ + + diff --git a/obj/item/gun/energy/beam_rifle.html b/obj/item/gun/energy/beam_rifle.html new file mode 100644 index 000000000000..fc11155b9069 --- /dev/null +++ b/obj/item/gun/energy/beam_rifle.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/gun/energy/beam_rifle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

beam_rifle + + + +

+ + +

Vars

zoom_target_view_increaseThe radius you want to zoom by
+

Var Details

zoom_target_view_increase + + + + +

+

The radius you want to zoom by

+ + + diff --git a/obj/item/gun/energy/dueling.html b/obj/item/gun/energy/dueling.html new file mode 100644 index 000000000000..b1289bd44b81 --- /dev/null +++ b/obj/item/gun/energy/dueling.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/gun/energy/dueling - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

dueling + + + +

+ + +

Procs

check_valid_duelReturn a boolean of whether or not the pistol has a valid duel datum, if false optionally warn the user

Proc Details

check_valid_duel +

+

Return a boolean of whether or not the pistol has a valid duel datum, if false optionally warn the user

+ + + diff --git a/obj/item/gun/energy/recharge.html b/obj/item/gun/energy/recharge.html new file mode 100644 index 000000000000..e306835e6f16 --- /dev/null +++ b/obj/item/gun/energy/recharge.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/gun/energy/recharge - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

recharge + + + +

+ + + + + + + +

Vars

holds_chargeDoes it hold charge when not put away?
no_charge_stateIf set to something, instead of an overlay, sets the icon_state directly.
recharge_soundSound we use when recharged
recharge_timeHow much time we need to recharge
recharge_timeridAn ID for our recharging timer.
unique_frequencyDo we recharge slower with more of our type?
+

Var Details

holds_charge + + + + +

+

Does it hold charge when not put away?

no_charge_state + + + + +

+

If set to something, instead of an overlay, sets the icon_state directly.

recharge_sound + + + + +

+

Sound we use when recharged

recharge_time + + + + +

+

How much time we need to recharge

recharge_timerid + + + + +

+

An ID for our recharging timer.

unique_frequency + + + + +

+

Do we recharge slower with more of our type?

+ + + diff --git a/obj/item/gun/magic.html b/obj/item/gun/magic.html new file mode 100644 index 000000000000..994b8b021c9f --- /dev/null +++ b/obj/item/gun/magic.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/gun/magic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

magic + + + +

+ + +

Vars

schoolwhat kind of magic is this
+

Var Details

school + + + + +

+

what kind of magic is this

+ + + diff --git a/obj/item/gun/magic/staff.html b/obj/item/gun/magic/staff.html new file mode 100644 index 000000000000..22313f000ee4 --- /dev/null +++ b/obj/item/gun/magic/staff.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/gun/magic/staff - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

staff + + + +

+ + +

Procs

on_intruder_useCalled when someone who isn't a wizard or magician uses this staff. +Return TRUE to allow usage.

Proc Details

on_intruder_use +

+

Called when someone who isn't a wizard or magician uses this staff. +Return TRUE to allow usage.

+ + + diff --git a/obj/item/gun/medbeam.html b/obj/item/gun/medbeam.html new file mode 100644 index 000000000000..b8c4f0bb394c --- /dev/null +++ b/obj/item/gun/medbeam.html @@ -0,0 +1,46 @@ + + + + + + + /obj/item/gun/medbeam - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

medbeam + + + +

+ + + +

Procs

LoseTargetProc that always is called when we want to end the beam and makes sure things are cleaned up, see beam_died()
beam_diedProc that is only called when the beam fails due to something, so not when manually ended. +manual disconnection = LoseTarget, so it can silently end +automatic disconnection = beam_died, so we can give a warning message first

Proc Details

LoseTarget +

+

Proc that always is called when we want to end the beam and makes sure things are cleaned up, see beam_died()

beam_died +

+

Proc that is only called when the beam fails due to something, so not when manually ended. +manual disconnection = LoseTarget, so it can silently end +automatic disconnection = beam_died, so we can give a warning message first

+ + + diff --git a/obj/item/gun/syringe.html b/obj/item/gun/syringe.html new file mode 100644 index 000000000000..28b26aa92725 --- /dev/null +++ b/obj/item/gun/syringe.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/gun/syringe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

syringe + + + +

+ + + +

Vars

has_syringe_overlayThe number of syringes it can store.

Procs

InitializeIf it has an overlay for inserted syringes. If true, the overlay is determined by the number of syringes inserted into it.
+

Var Details

has_syringe_overlay + + + + +

+

The number of syringes it can store.

Proc Details

Initialize +

+

If it has an overlay for inserted syringes. If true, the overlay is determined by the number of syringes inserted into it.

+ + + diff --git a/obj/item/hand_item/circlegame.html b/obj/item/hand_item/circlegame.html new file mode 100644 index 000000000000..c4b65a9bab7d --- /dev/null +++ b/obj/item/hand_item/circlegame.html @@ -0,0 +1,56 @@ + + + + + + + /obj/item/hand_item/circlegame - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

circlegame + + + +

+ + + + + +

Procs

GOTTEMStage 3B: We face our reckoning (unless we moved away or they're incapacitated)
ownerExaminedStage 1: The mistake is made
selfGottemStage 3A: We face our own failures
waitASecondStage 2: Fear sets in

Proc Details

GOTTEM +

+

Stage 3B: We face our reckoning (unless we moved away or they're incapacitated)

ownerExamined +

+

Stage 1: The mistake is made

selfGottem +

+

Stage 3A: We face our own failures

waitASecond +

+

Stage 2: Fear sets in

+ + + diff --git a/obj/item/hand_item/grab.html b/obj/item/hand_item/grab.html new file mode 100644 index 000000000000..5b9cad2753ce --- /dev/null +++ b/obj/item/hand_item/grab.html @@ -0,0 +1,165 @@ + + + + + + + /obj/item/hand_item/grab - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

grab + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

action_cdCooldown for actions
affectingThe thing being grabbed
assailantThe initiator of the grab
current_grabThe grab datum currently being used
done_struggleUsed by struggle grab datum to keep track of state.
is_currently_resolving_hitUsed to avoid stacking interactions that sleep during /decl/grab/proc/on_hit_foo() (ie. do_after() is used)
is_validSet true after grab setup. Used for debugging.
special_target_functionalIndicates if the current grab has special interactions applied to the target organ (eyes and mouth at time of writing)
target_zoneRecords a specific bodypart that was targetted by this grab.
upgrade_cdCooldown for upgrade times

Procs

DestroyApply any needed updates to the assailant +Do flavor things like pixel offsets, animation, sound +Spread diseases +Setup the effects applied by grab +Update appearance +Setup signals
intercept_attack_handIntercepts attack_hand() calls on our target.
is_grab_uniqueUsed to prevent repeated effect application or early effect removal
is_grabbingPrimarily used for do_after() callbacks, checks if the grab item is still holding onto something
leave_forensic_tracesLeave forensic traces on both the assailant and victim. You really don't want to read this proc and it's type fuckery.
remove_competing_grabsRemoves any grabs applied to the affected movable that aren't src
target_or_owner_delTarget deleted, ABORT
target_thrownIf something tries to throw the target.
+

Var Details

action_cd + + + + +

+

Cooldown for actions

affecting + + + + +

+

The thing being grabbed

assailant + + + + +

+

The initiator of the grab

current_grab + + + + +

+

The grab datum currently being used

done_struggle + + + + +

+

Used by struggle grab datum to keep track of state.

is_currently_resolving_hit + + + + +

+

Used to avoid stacking interactions that sleep during /decl/grab/proc/on_hit_foo() (ie. do_after() is used)

is_valid + + + + +

+

Set true after grab setup. Used for debugging.

special_target_functional + + + + +

+

Indicates if the current grab has special interactions applied to the target organ (eyes and mouth at time of writing)

target_zone + + + + +

+

Records a specific bodypart that was targetted by this grab.

upgrade_cd + + + + +

+

Cooldown for upgrade times

Proc Details

Destroy +

+

Apply any needed updates to the assailant +Do flavor things like pixel offsets, animation, sound +Spread diseases +Setup the effects applied by grab +Update appearance +Setup signals

intercept_attack_hand +

+

Intercepts attack_hand() calls on our target.

is_grab_unique +

+

Used to prevent repeated effect application or early effect removal

is_grabbing +

+

Primarily used for do_after() callbacks, checks if the grab item is still holding onto something

leave_forensic_traces +

+

Leave forensic traces on both the assailant and victim. You really don't want to read this proc and it's type fuckery.

remove_competing_grabs +

+

Removes any grabs applied to the affected movable that aren't src

target_or_owner_del +

+

Target deleted, ABORT

target_thrown +

+

If something tries to throw the target.

+ + + diff --git a/obj/item/hand_item/kisser.html b/obj/item/hand_item/kisser.html new file mode 100644 index 000000000000..23a7d512bb33 --- /dev/null +++ b/obj/item/hand_item/kisser.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/hand_item/kisser - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

kisser + + + +

+ + + +

Vars

cheek_kissTRUE if the user was aiming anywhere but the mouth when they offer the kiss, if it's offered
kiss_typeThe kind of projectile this version of the kiss blower fires
+

Var Details

cheek_kiss + + + + +

+

TRUE if the user was aiming anywhere but the mouth when they offer the kiss, if it's offered

kiss_type + + + + +

+

The kind of projectile this version of the kiss blower fires

+ + + diff --git a/obj/item/hand_item/noogie.html b/obj/item/hand_item/noogie.html new file mode 100644 index 000000000000..f4202223c7ea --- /dev/null +++ b/obj/item/hand_item/noogie.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/hand_item/noogie - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

noogie + + + +

+ + +

Procs

noogie_loopThe actual meat and bones of the noogie'ing

Proc Details

noogie_loop +

+

The actual meat and bones of the noogie'ing

+ + + diff --git a/obj/item/hand_item/slapper.html b/obj/item/hand_item/slapper.html new file mode 100644 index 000000000000..384dfe55b2ec --- /dev/null +++ b/obj/item/hand_item/slapper.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/hand_item/slapper - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

slapper + + + +

+ + + +

Vars

table_smacks_leftHow many smaller table smacks we can do before we're out

Procs

on_offer_takenYeah broh! This is where we do the high-fiving (or high-tenning :o)
+

Var Details

table_smacks_left + + + + +

+

How many smaller table smacks we can do before we're out

Proc Details

on_offer_taken +

+

Yeah broh! This is where we do the high-fiving (or high-tenning :o)

+ + + diff --git a/obj/item/hand_item/slapper/secret_handshake.html b/obj/item/hand_item/slapper/secret_handshake.html new file mode 100644 index 000000000000..a943744a5a48 --- /dev/null +++ b/obj/item/hand_item/slapper/secret_handshake.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/hand_item/slapper/secret_handshake - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

secret_handshake + + + +

+ +

Gangster secret handshakes.

+ + + + +

Vars

gang_to_useThe typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.
handlerReferences the active families gamemode handler (if one exists), for adding new family members to.
team_to_useThe team datum that the person who uses this package should be added to.

Procs

add_to_gangAdds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.
attempt_join_gangChecks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.
+

Var Details

gang_to_use + + + + +

+

The typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.

handler + + + + +

+

References the active families gamemode handler (if one exists), for adding new family members to.

team_to_use + + + + +

+

The team datum that the person who uses this package should be added to.

Proc Details

add_to_gang +

+

Adds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.

attempt_join_gang +

+

Checks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.

+ + + diff --git a/obj/item/hand_tele.html b/obj/item/hand_tele.html new file mode 100644 index 000000000000..f5f46444b4f1 --- /dev/null +++ b/obj/item/hand_tele.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/hand_tele - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

hand_tele + + + +

+ + + +

Vars

last_portal_locationRepresents the last place we teleported to, for making quick portals. +Can be in the following states:

Procs

try_create_portal_toTakes either PORTAL_LOCATION_DANGEROUS or an /obj/machinery/computer/teleport/computer.
+

Var Details

last_portal_location + + + + +

+

Represents the last place we teleported to, for making quick portals. +Can be in the following states:

+

Proc Details

try_create_portal_to +

+

Takes either PORTAL_LOCATION_DANGEROUS or an /obj/machinery/computer/teleport/computer.

+ + + diff --git a/obj/item/hardened_spike.html b/obj/item/hardened_spike.html new file mode 100644 index 000000000000..9a67e56b4bd0 --- /dev/null +++ b/obj/item/hardened_spike.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/hardened_spike - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hardened_spike + + + +

+ + + +

Vars

fired_by_refWhat mob "fired" our tongue
missedif we missed our target
+

Var Details

fired_by_ref + + + + +

+

What mob "fired" our tongue

missed + + + + +

+

if we missed our target

+ + + diff --git a/obj/item/hardened_spike/chem.html b/obj/item/hardened_spike/chem.html new file mode 100644 index 000000000000..d7a5242c9814 --- /dev/null +++ b/obj/item/hardened_spike/chem.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/hardened_spike/chem - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chem + + + +

+ + +

Vars

embedded_once_alreadWhether the tongue's already embedded in a target once before
+

Var Details

embedded_once_alread + + + + +

+

Whether the tongue's already embedded in a target once before

+ + + diff --git a/obj/item/harmalarm.html b/obj/item/harmalarm.html new file mode 100644 index 000000000000..50ded81daa19 --- /dev/null +++ b/obj/item/harmalarm.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/harmalarm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

harmalarm + + + +

+ + +

Vars

alarm_cooldownHarm alarm cooldown
+

Var Details

alarm_cooldown + + + + +

+

Harm alarm cooldown

+ + + diff --git a/obj/item/highfrequencyblade.html b/obj/item/highfrequencyblade.html new file mode 100644 index 000000000000..ec4f0010f59c --- /dev/null +++ b/obj/item/highfrequencyblade.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/highfrequencyblade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

highfrequencyblade + + + +

+ + + + + + + +

Vars

previous_targetThe previous target we attacked
previous_xPrevious x position of where we clicked on the target's icon
previous_yPrevious y position of where we clicked on the target's icon
slash_colorThe color of the slash we create

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item
+

Var Details

previous_target + + + + +

+

The previous target we attacked

previous_x + + + + +

+

Previous x position of where we clicked on the target's icon

previous_y + + + + +

+

Previous y position of where we clicked on the target's icon

slash_color + + + + +

+

The color of the slash we create

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/hypospray/mkii.html b/obj/item/hypospray/mkii.html new file mode 100644 index 000000000000..521f4fc4199f --- /dev/null +++ b/obj/item/hypospray/mkii.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/hypospray/mkii - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mkii + + + +

+ + +

Vars

small_onlyIs the hypospray only able to use small vials. Relates to the loaded overlays
+

Var Details

small_only + + + + +

+

Is the hypospray only able to use small vials. Relates to the loaded overlays

+ + + diff --git a/obj/item/implant.html b/obj/item/implant.html new file mode 100644 index 000000000000..c23dee44bc1e --- /dev/null +++ b/obj/item/implant.html @@ -0,0 +1,101 @@ + + + + + + + /obj/item/implant - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

implant + + + +

+ +

Parent class for all implants

+ + + + + + + +

Vars

allow_multipleif false, upon implantation of a duplicate implant, an attempt to combine the new implant's uses with the old one's uses will be made, deleting the new implant if successful or stopping the implantation if not
imp_inthe mob that's implanted with this
implant_colorimplant color, used for selecting either the "b" version or the "r" version of the implant case sprite when the implant is in a case.
implant_flagsFlags for behavior
useshow many times this can do something, only relevant for implants with limited uses

Procs

get_dataGets implant specifications for the implant pad
implantWhat does the implant do upon injection?
removedRemove implant from mob.
+

Var Details

allow_multiple + + + + +

+

if false, upon implantation of a duplicate implant, an attempt to combine the new implant's uses with the old one's uses will be made, deleting the new implant if successful or stopping the implantation if not

imp_in + + + + +

+

the mob that's implanted with this

implant_color + + + + +

+

implant color, used for selecting either the "b" version or the "r" version of the implant case sprite when the implant is in a case.

implant_flags + + + + +

+

Flags for behavior

uses + + + + +

+

how many times this can do something, only relevant for implants with limited uses

Proc Details

get_data +

+

Gets implant specifications for the implant pad

implant +

+

What does the implant do upon injection?

+

return true if the implant injects +return false if there is no room for implant / it fails +Arguments:

+

removed +

+

Remove implant from mob.

+

This removes the effects of the implant and moves it out of the mob and into nullspace. +Arguments:

+
+ + + diff --git a/obj/item/implant/mod.html b/obj/item/implant/mod.html new file mode 100644 index 000000000000..0bd9b6be1fa7 --- /dev/null +++ b/obj/item/implant/mod.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/implant/mod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mod + + + +

+ + + +

Vars

jet_iconThe jet icon we apply to the MOD.
moduleThe pathfinder module we are linked to.
+

Var Details

jet_icon + + + + +

+

The jet icon we apply to the MOD.

module + + + + +

+

The pathfinder module we are linked to.

+ + + diff --git a/obj/item/implant/spell.html b/obj/item/implant/spell.html new file mode 100644 index 000000000000..e33c6a8a5ae5 --- /dev/null +++ b/obj/item/implant/spell.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/implant/spell - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

spell + + + +

+ + + + +

Vars

make_robelessWhether to make the spell robeless
spell_to_giveThe actual spell we give to the person on implant
spell_typeThe typepath of the spell we give to people. Instantiated in Initialize
+

Var Details

make_robeless + + + + +

+

Whether to make the spell robeless

spell_to_give + + + + +

+

The actual spell we give to the person on implant

spell_type + + + + +

+

The typepath of the spell we give to people. Instantiated in Initialize

+ + + diff --git a/obj/item/implant/tracking.html b/obj/item/implant/tracking.html new file mode 100644 index 000000000000..01adbf73e7d5 --- /dev/null +++ b/obj/item/implant/tracking.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/implant/tracking - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tracking + + + +

+ + + +

Vars

allow_teleportwill people implanted with this act as teleporter beacons?
lifespan_postmortemfor how many deciseconds after user death will the implant work?
+

Var Details

allow_teleport + + + + +

+

will people implanted with this act as teleporter beacons?

lifespan_postmortem + + + + +

+

for how many deciseconds after user death will the implant work?

+ + + diff --git a/obj/item/implant/tracking/c38.html b/obj/item/implant/tracking/c38.html new file mode 100644 index 000000000000..fb69b2035861 --- /dev/null +++ b/obj/item/implant/tracking/c38.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/implant/tracking/c38 - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

c38 + + + +

+ + +

Vars

timeridThe id of the timer that's qdeleting us
+

Var Details

timerid + + + + +

+

The id of the timer that's qdeleting us

+ + + diff --git a/obj/item/implant/uplink.html b/obj/item/implant/uplink.html new file mode 100644 index 000000000000..93f03e100d64 --- /dev/null +++ b/obj/item/implant/uplink.html @@ -0,0 +1,53 @@ + + + + + + + /obj/item/implant/uplink - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

uplink + + + +

+ + + + +

Vars

uplink_flagThe uplink flags of the implant uplink inside, only checked during initialisation so modifying it after initialisation will do nothing
uplink_handlerReference to the uplink handler, deciding which type of uplink this implant has.

Procs

_component_removalProc called when component is removed; ie. uplink component
+

Var Details

+

The uplink flags of the implant uplink inside, only checked during initialisation so modifying it after initialisation will do nothing

+

Reference to the uplink handler, deciding which type of uplink this implant has.

Proc Details

_component_removal +

+

Proc called when component is removed; ie. uplink component

+

Callback catching if the underlying uplink component has been removed, +generally by admin verbs or var editing. Implant does nothing without +the component, so delete itself.

+ + + diff --git a/obj/item/implantcase.html b/obj/item/implantcase.html new file mode 100644 index 000000000000..b9aa876b0531 --- /dev/null +++ b/obj/item/implantcase.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/implantcase - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

implantcase + + + +

+ +

Item used to store implants. Can be renamed with a pen. Implants are moved between those and implanters when a mob uses an implanter on a case.

+ +

Vars

impthe implant within the case
imp_typeType of implant this will spawn as imp upon being spawned
+

Var Details

imp + + + + +

+

the implant within the case

imp_type + + + + +

+

Type of implant this will spawn as imp upon being spawned

+ + + diff --git a/obj/item/implanter.html b/obj/item/implanter.html new file mode 100644 index 000000000000..a216e4d7d5c1 --- /dev/null +++ b/obj/item/implanter.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/implanter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

implanter + + + +

+ +

Players can use this item to put obj/item/implant's in living mobs. Can be renamed with a pen.

+ +

Vars

impThe implant in our implanter
imp_typeType of implant this will spawn as imp upon being spawned
+

Var Details

imp + + + + +

+

The implant in our implanter

imp_type + + + + +

+

Type of implant this will spawn as imp upon being spawned

+ + + diff --git a/obj/item/inspector.html b/obj/item/inspector.html new file mode 100644 index 000000000000..eba12fcf4e90 --- /dev/null +++ b/obj/item/inspector.html @@ -0,0 +1,94 @@ + + + + + + + /obj/item/inspector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

N-spect scanner + + + +

+ +

Creates reports for area inspection bounties.

+ + + + + + + + +

Vars

cellPower cell used to power the scanner. Paths g
cell_cover_openCell cover status
power_per_printPower used per print in cell units
power_to_speakPower used to say an error message
print_sound_modedetermines the sound that plays when printing a report
time_listHow long it takes to print on time each mode, ordered NORMAL, FAST, HONK
time_modeWhich print time mode we're on.

Procs

create_slipCreate our report
print_reportPrints out a report for bounty purposes, and plays a short audio blip.
+

Var Details

cell + + + + +

+

Power cell used to power the scanner. Paths g

cell_cover_open + + + + +

+

Cell cover status

power_per_print + + + + +

+

Power used per print in cell units

power_to_speak + + + + +

+

Power used to say an error message

print_sound_mode + + + + +

+

determines the sound that plays when printing a report

time_list + + + + +

+

How long it takes to print on time each mode, ordered NORMAL, FAST, HONK

time_mode + + + + +

+

Which print time mode we're on.

Proc Details

create_slip +

+

Create our report

+

Arguments:

print_report +

+

Prints out a report for bounty purposes, and plays a short audio blip.

+

Arguments:

+ + + diff --git a/obj/item/inspector/clown.html b/obj/item/inspector/clown.html new file mode 100644 index 000000000000..9d2261ccde18 --- /dev/null +++ b/obj/item/inspector/clown.html @@ -0,0 +1,47 @@ + + + + + + + /obj/item/inspector/clown - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Fake N-spect scanner + + + +

+ +

A clown variant of the N-spect scanner

+

This prints fake reports with garbage in them, +can be set to print them instantly with a screwdriver. +By default it plays the old "woody" scanning sound, scanning sounds can be cycled by clicking with a multitool. +Can be crafted into a bananium HONK-spect scanner

+ +

Vars

max_modewill only cycle through modes with numbers lower than this
mode_namesnames of modes, ordered first to last
+

Var Details

max_mode + + + + +

+

will only cycle through modes with numbers lower than this

mode_names + + + + +

+

names of modes, ordered first to last

+ + + diff --git a/obj/item/inspector/clown/bananium.html b/obj/item/inspector/clown/bananium.html new file mode 100644 index 000000000000..94776da1ba10 --- /dev/null +++ b/obj/item/inspector/clown/bananium.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/inspector/clown/bananium - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Bananium HONK-spect scanner + + + +

+ +

An upgraded version of the fake N-spect scanner

+

Can print things way faster, at full power the reports printed by this will destroy +themselves and leave water behind when folding is attempted by someone who isn't an +origami master. Printing at full power costs INSPECTOR_POWER_USAGE_HONK cell units +instead of INSPECTOR_POWER_USAGE_NORMAL cell units.

+ + +

Vars

charges_per_paperHow much charges are restored per paper consumed
max_paper_chargesMax value of paper_charges
paper_chargesHow many more times can we print?
+

Var Details

charges_per_paper + + + + +

+

How much charges are restored per paper consumed

max_paper_charges + + + + +

+

Max value of paper_charges

paper_charges + + + + +

+

How many more times can we print?

+ + + diff --git a/obj/item/instrument.html b/obj/item/instrument.html new file mode 100644 index 000000000000..8b4e98c1c8c2 --- /dev/null +++ b/obj/item/instrument.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/instrument - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

instrument + + + +

+ + + + +

Vars

allowed_instrument_idsOur allowed list of instrument ids. This is nulled on initialize.
instrument_rangeHow far away our song datum can be heard.
songOur song datum.
+

Var Details

allowed_instrument_ids + + + + +

+

Our allowed list of instrument ids. This is nulled on initialize.

instrument_range + + + + +

+

How far away our song datum can be heard.

song + + + + +

+

Our song datum.

+ + + diff --git a/obj/item/instrument/piano_synth/headphones.html b/obj/item/instrument/piano_synth/headphones.html new file mode 100644 index 000000000000..83e788a856e9 --- /dev/null +++ b/obj/item/instrument/piano_synth/headphones.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/instrument/piano_synth/headphones - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

headphones + + + +

+ + + +

Procs

start_playingCalled by a component signal when our song starts playing.
stop_playingCalled by a component signal when our song stops playing.

Proc Details

start_playing +

+

Called by a component signal when our song starts playing.

stop_playing +

+

Called by a component signal when our song stops playing.

+ + + diff --git a/obj/item/integrated_circuit.html b/obj/item/integrated_circuit.html new file mode 100644 index 000000000000..986c5c0c9f01 --- /dev/null +++ b/obj/item/integrated_circuit.html @@ -0,0 +1,302 @@ + + + + + + + /obj/item/integrated_circuit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Integrated Circuitboard + + + +

+ +

A circuitboard that holds components that work together

+

Has a limited amount of power.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

admin_onlyWhether the integrated circuit is admin only. Disables power usage and allows admin circuits to be attached, at the cost of making it inaccessible to regular users.
attached_componentsThe attached components
cellThe power of the integrated circuit
circuit_variablesVariables stored on this integrated circuit, with a variable_name = value structure
current_sizeThe current size of the circuit.
display_nameThe name that appears on the shell.
examined_componentThe current examined component. Used in IntegratedCircuit UI
examined_rel_xX position of the examined_component
examined_rel_yY position of the examined component
inserter_mindSet by the shell. Holds the reference to the owner who inserted the component into the shell.
label_max_lengthThe max length of the name.
linked_component_printerThe current linked component printer. Lets you remotely print off circuit components and places them in the integrated circuit.
list_variablesList variables stored on this integrated circuit, with a variable_name = value structure
lockedWhether the integrated circuit is locked or not. Handled by the shell.
max_setters_and_gettersThe maximum amount of setters and getters a circuit can have
modifiable_circuit_variablesVariables stored on this integrated circuit that can be set by a setter, with a variable_name = value structure
onWhether the integrated circuit is on or not. Handled by the shell.
owner_idThe ID that is authorized to unlock/lock the shell so that the circuit can/cannot be removed.
screen_xThe X position of the screen. Used for adding components
screen_yThe Y position of the screen. Used for adding components.
setter_and_getter_countThe current setter and getter count the circuit has.
shellThe shell that this circuitboard is attached to. Used by components.

Procs

add_componentAdds a component to the circuitboard
add_component_manuallyAdds a component to the circuitboard through a manual action.
attempt_save_toAttempts to save a circuit to a given client
convert_to_jsonConverts a circuit into json.
get_creatorReturns the creator of the integrated circuit. Used in admin logs and other related things.
get_creator_adminReturns the creator of the integrated circuit. Used in admin messages and other related things.
load_circuit_dataLoads a circuit based on json data at a location. Can also load usb connections, such as arrest consoles.
remove_componentRemoves a component to the circuitboard
remove_current_shellUnregisters the current shell attached to this circuit.
set_cellSets the cell of the integrated circuit.
set_display_nameSets the display name that appears on the shell.
set_lockedSets the locked status of the integrated circuit.
set_onSets the on status of the integrated circuit.
set_shellRegisters an movable atom as a shell
+

Var Details

admin_only + + + + +

+

Whether the integrated circuit is admin only. Disables power usage and allows admin circuits to be attached, at the cost of making it inaccessible to regular users.

attached_components + + + + +

+

The attached components

cell + + + + +

+

The power of the integrated circuit

circuit_variables + + + + +

+

Variables stored on this integrated circuit, with a variable_name = value structure

current_size + + + + +

+

The current size of the circuit.

display_name + + + + +

+

The name that appears on the shell.

examined_component + + + + +

+

The current examined component. Used in IntegratedCircuit UI

examined_rel_x + + + + +

+

X position of the examined_component

examined_rel_y + + + + +

+

Y position of the examined component

inserter_mind + + + + +

+

Set by the shell. Holds the reference to the owner who inserted the component into the shell.

label_max_length + + + + +

+

The max length of the name.

linked_component_printer + + + + +

+

The current linked component printer. Lets you remotely print off circuit components and places them in the integrated circuit.

list_variables + + + + +

+

List variables stored on this integrated circuit, with a variable_name = value structure

locked + + + + +

+

Whether the integrated circuit is locked or not. Handled by the shell.

max_setters_and_getters + + + + +

+

The maximum amount of setters and getters a circuit can have

modifiable_circuit_variables + + + + +

+

Variables stored on this integrated circuit that can be set by a setter, with a variable_name = value structure

on + + + + +

+

Whether the integrated circuit is on or not. Handled by the shell.

owner_id + + + + +

+

The ID that is authorized to unlock/lock the shell so that the circuit can/cannot be removed.

screen_x + + + + +

+

The X position of the screen. Used for adding components

screen_y + + + + +

+

The Y position of the screen. Used for adding components.

setter_and_getter_count + + + + +

+

The current setter and getter count the circuit has.

shell + + + + +

+

The shell that this circuitboard is attached to. Used by components.

Proc Details

add_component +

+

Adds a component to the circuitboard

+

Once the component is added, the ports can be attached to other components

add_component_manually +

+

Adds a component to the circuitboard through a manual action.

attempt_save_to +

+

Attempts to save a circuit to a given client

convert_to_json +

+

Converts a circuit into json.

get_creator +

+

Returns the creator of the integrated circuit. Used in admin logs and other related things.

get_creator_admin +

+

Returns the creator of the integrated circuit. Used in admin messages and other related things.

load_circuit_data +

+

Loads a circuit based on json data at a location. Can also load usb connections, such as arrest consoles.

remove_component +

+

Removes a component to the circuitboard

+

This removes all connects between the ports

remove_current_shell +

+

Unregisters the current shell attached to this circuit.

set_cell +

+

Sets the cell of the integrated circuit.

+

Arguments:

+

set_display_name +

+

Sets the display name that appears on the shell.

set_locked +

+

Sets the locked status of the integrated circuit.

+

Arguments:

+

set_on +

+

Sets the on status of the integrated circuit.

+

Arguments:

+

set_shell +

+

Registers an movable atom as a shell

+

No functionality is done here. This is so that input components +can properly register any signals on the shell. +Arguments:

+
+ + + diff --git a/obj/item/janicart_upgrade.html b/obj/item/janicart_upgrade.html new file mode 100644 index 000000000000..e326965b2b4a --- /dev/null +++ b/obj/item/janicart_upgrade.html @@ -0,0 +1,58 @@ + + + + + + + /obj/item/janicart_upgrade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Janicart Upgrade + + + +

+ +

Functional upgrades that can be installed into a janicart.

+ + +

Vars

overlay_greyscale_configThe greyscale config for the on-cart installed upgrade overlay

Procs

installCalled when upgrade is installed into a janicart
uninstallCalled when upgrade is uninstalled from a janicart
+

Var Details

overlay_greyscale_config + + + + +

+

The greyscale config for the on-cart installed upgrade overlay

Proc Details

install +

+

Called when upgrade is installed into a janicart

+

Arguments:

+

uninstall +

+

Called when upgrade is uninstalled from a janicart

+

Arguments:

+
+ + + diff --git a/obj/item/kheiral_cuffs.html b/obj/item/kheiral_cuffs.html new file mode 100644 index 000000000000..88db65c63d0c --- /dev/null +++ b/obj/item/kheiral_cuffs.html @@ -0,0 +1,72 @@ + + + + + + + /obj/item/kheiral_cuffs - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

kheiral_cuffs + + + +

+ +

Kheiral Cuffs +Acts as a GPS beacon & connects to station crew monitors from lavaland

+ + + + + +

Vars

far_from_homeIf we're off the station's Z-level
gps_enabledIf the GPS is already on
on_wristIf we're in the glove slot

Procs

check_zIf we're off the Z-level, set far_from_home = TRUE. If being worn, trigger kheiral_network proc
connect_kheiral_networkEnables the GPS and adds the multiz trait
remove_kheiral_networkDisables the GPS and removes the multiz trait
+

Var Details

far_from_home + + + + +

+

If we're off the station's Z-level

gps_enabled + + + + +

+

If the GPS is already on

on_wrist + + + + +

+

If we're in the glove slot

Proc Details

check_z +

+

If we're off the Z-level, set far_from_home = TRUE. If being worn, trigger kheiral_network proc

connect_kheiral_network +

+

Enables the GPS and adds the multiz trait

remove_kheiral_network +

+

Disables the GPS and removes the multiz trait

+ + + diff --git a/obj/item/kirbyplants.html b/obj/item/kirbyplants.html new file mode 100644 index 000000000000..e2b4944f6602 --- /dev/null +++ b/obj/item/kirbyplants.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/kirbyplants - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

kirbyplants + + + +

+ + + +

Vars

trimmableCan this plant be trimmed by someone with TRAIT_BONSAI

Procs

change_visualCycle basic plant visuals
+

Var Details

trimmable + + + + +

+

Can this plant be trimmed by someone with TRAIT_BONSAI

Proc Details

change_visual +

+

Cycle basic plant visuals

+ + + diff --git a/obj/item/knife.html b/obj/item/knife.html new file mode 100644 index 000000000000..3f0835778479 --- /dev/null +++ b/obj/item/knife.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/knife - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

knife + + + +

+ + +

Procs

set_butcheringAdds the butchering component, used to override stats for special cases

Proc Details

set_butchering +

+

Adds the butchering component, used to override stats for special cases

+ + + diff --git a/obj/item/knife/bloodletter.html b/obj/item/knife/bloodletter.html new file mode 100644 index 000000000000..700937703dfb --- /dev/null +++ b/obj/item/knife/bloodletter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/knife/bloodletter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bloodletter + + + +

+ + +

Vars

bleed_stacks_per_hitBleed stacks applied when an organic mob target is hit
+

Var Details

bleed_stacks_per_hit + + + + +

+

Bleed stacks applied when an organic mob target is hit

+ + + diff --git a/obj/item/language_manual.html b/obj/item/language_manual.html new file mode 100644 index 000000000000..c59748938142 --- /dev/null +++ b/obj/item/language_manual.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/language_manual - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

language_manual + + + +

+ + + + +

Vars

chargesNumber of charges the book has, limits the number of times it can be used.
flavour_textFlavour text to display when the language is successfully learned.
languagePath to a language datum that the book teaches.
+

Var Details

charges + + + + +

+

Number of charges the book has, limits the number of times it can be used.

flavour_text + + + + +

+

Flavour text to display when the language is successfully learned.

language + + + + +

+

Path to a language datum that the book teaches.

+ + + diff --git a/obj/item/lazarus_injector.html b/obj/item/lazarus_injector.html new file mode 100644 index 000000000000..70573ddd74cf --- /dev/null +++ b/obj/item/lazarus_injector.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/lazarus_injector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lazarus_injector + + + +

+ +

Players can revive simplemobs with this.

+

In-game item that can be used to revive a simplemob once. This makes the mob friendly. +Becomes useless after use. +Becomes malfunctioning when EMP'd. +If a hostile mob is revived with a malfunctioning injector, it will be hostile to everyone except whoever revived it and gets robust searching enabled.

+ + +

Vars

loadedCan this still be used?
malfunctioningInjector malf?
revive_typeSo you can't revive boss monsters or robots with it
+

Var Details

loaded + + + + +

+

Can this still be used?

malfunctioning + + + + +

+

Injector malf?

revive_type + + + + +

+

So you can't revive boss monsters or robots with it

+ + + diff --git a/obj/item/light.html b/obj/item/light.html new file mode 100644 index 000000000000..5f1cf998386c --- /dev/null +++ b/obj/item/light.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/light - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

light + + + +

+ + + + + + + + +

Vars

base_stateBase icon state for each bulb types
bulb_outer_rangeHow much light it gives off
riggedTrue if rigged to explode
statusLIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN
switchcountNumber of times switched on and off

Procs

on_reagent_changeHandles rigging the cell if it contains enough plasma.
on_reagents_delHandles the reagent holder datum being deleted for some reason. Probably someone making pizza lights.
+

Var Details

base_state + + + + +

+

Base icon state for each bulb types

bulb_outer_range + + + + +

+

How much light it gives off

rigged + + + + +

+

True if rigged to explode

status + + + + +

+

LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN

switchcount + + + + +

+

Number of times switched on and off

Proc Details

on_reagent_change +

+

Handles rigging the cell if it contains enough plasma.

on_reagents_del +

+

Handles the reagent holder datum being deleted for some reason. Probably someone making pizza lights.

+ + + diff --git a/obj/item/lighter.html b/obj/item/lighter.html new file mode 100644 index 000000000000..303c5a90edf3 --- /dev/null +++ b/obj/item/lighter.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/lighter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

lighter + + + +

+ + + + + + +

Vars

fancyWhether the lighter is fancy. Fancy lighters have fancier flavortext and won't burn thumbs.
litWhether the lighter is lit.
overlay_listA list of possible engraving overlays.
overlay_stateThe engraving overlay used by this lighter.

Procs

create_lighter_overlayGenerates an overlay used by this lighter.
+

Var Details

fancy + + + + +

+

Whether the lighter is fancy. Fancy lighters have fancier flavortext and won't burn thumbs.

lit + + + + +

+

Whether the lighter is lit.

overlay_list + + + + +

+

A list of possible engraving overlays.

overlay_state + + + + +

+

The engraving overlay used by this lighter.

Proc Details

create_lighter_overlay +

+

Generates an overlay used by this lighter.

+ + + diff --git a/obj/item/lighter/greyscale.html b/obj/item/lighter/greyscale.html new file mode 100644 index 000000000000..401008129cf6 --- /dev/null +++ b/obj/item/lighter/greyscale.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/lighter/greyscale - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

greyscale + + + +

+ + + +

Vars

color_listThe set of colors this lighter can be autoset as on init.
lighter_colorThe color of the lighter.
+

Var Details

color_list + + + + +

+

The set of colors this lighter can be autoset as on init.

lighter_color + + + + +

+

The color of the lighter.

+ + + diff --git a/obj/item/lipstick.html b/obj/item/lipstick.html new file mode 100644 index 000000000000..bb70faa50b6e --- /dev/null +++ b/obj/item/lipstick.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/lipstick - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lipstick + + + +

+ + +

Vars

lipstick_traitA trait that's applied while someone has this lipstick applied, and is removed when the lipstick is removed
+

Var Details

lipstick_trait + + + + +

+

A trait that's applied while someone has this lipstick applied, and is removed when the lipstick is removed

+ + + diff --git a/obj/item/mail.html b/obj/item/mail.html new file mode 100644 index 000000000000..9dbf0a5be645 --- /dev/null +++ b/obj/item/mail.html @@ -0,0 +1,120 @@ + + + + + + + /obj/item/mail - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mail + + + +

+ +

Mail is tamper-evident and unresealable, postmarked by CentCom for an individual recepient.

+ + + + + + + + + + + + +

Vars

department_colorsmail will have the color of the department the recipient is in.
generic_goodiesGoodies which can be given to anyone. The base weight for cash is 56. For there to be a 50/50 chance of getting a department item, they need 56 weight as well.
goodie_countHow many goodies this mail contains.
postmarkedDoes the letter have the postmark overlay?
recipient_refWeak reference to who this mail is for and who can open it.
sort_tagDestination tagging for the mail sorter.
stamp_maxMaximum number of stamps on the letter.
stamp_offset_xPhysical offset of stamps on the object. X direction.
stamp_offset_yPhysical offset of stamps on the object. Y direction.
stampedDoes the letter have a stamp overlay?
stampsList of all stamp overlays on the letter.

Procs

initialize_for_recipientAccepts a mind to initialize goodies for a piece of mail.
junk_mailAlternate setup, just complete garbage inside and anyone can open
+

Var Details

department_colors + + + + +

+

mail will have the color of the department the recipient is in.

generic_goodies + + + + +

+

Goodies which can be given to anyone. The base weight for cash is 56. For there to be a 50/50 chance of getting a department item, they need 56 weight as well.

goodie_count + + + + +

+

How many goodies this mail contains.

postmarked + + + + +

+

Does the letter have the postmark overlay?

recipient_ref + + + + +

+

Weak reference to who this mail is for and who can open it.

sort_tag + + + + +

+

Destination tagging for the mail sorter.

stamp_max + + + + +

+

Maximum number of stamps on the letter.

stamp_offset_x + + + + +

+

Physical offset of stamps on the object. X direction.

stamp_offset_y + + + + +

+

Physical offset of stamps on the object. Y direction.

stamped + + + + +

+

Does the letter have a stamp overlay?

stamps + + + + +

+

List of all stamp overlays on the letter.

Proc Details

initialize_for_recipient +

+

Accepts a mind to initialize goodies for a piece of mail.

junk_mail +

+

Alternate setup, just complete garbage inside and anyone can open

+ + + diff --git a/obj/item/mail/junkmail.html b/obj/item/mail/junkmail.html new file mode 100644 index 000000000000..2be47be69cb5 --- /dev/null +++ b/obj/item/mail/junkmail.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/mail/junkmail - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

junkmail + + + +

+ + +

Procs

InitializeSubtype that's always junkmail

Proc Details

Initialize +

+

Subtype that's always junkmail

+ + + diff --git a/obj/item/market_uplink.html b/obj/item/market_uplink.html new file mode 100644 index 000000000000..d15fda6faaea --- /dev/null +++ b/obj/item/market_uplink.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/market_uplink - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

market_uplink + + + +

+ + + + + + + + +

Vars

accessible_marketsList of typepaths for "/datum/market"s that this uplink can access.
buyingIs the uplink in the process of buying the selected item?
current_userReference to the currently logged in user's bank account.
selected_itemWhat item is the current uplink attempting to buy?
viewing_categoryWhat category is the current uplink viewing?
viewing_marketWhat market is currently being bought from by the uplink?

Procs

update_viewing_categorySimple internal proc for updating the viewing_category variable.
+

Var Details

accessible_markets + + + + +

+

List of typepaths for "/datum/market"s that this uplink can access.

buying + + + + +

+

Is the uplink in the process of buying the selected item?

current_user + + + + +

+

Reference to the currently logged in user's bank account.

selected_item + + + + +

+

What item is the current uplink attempting to buy?

viewing_category + + + + +

+

What category is the current uplink viewing?

viewing_market + + + + +

+

What market is currently being bought from by the uplink?

Proc Details

update_viewing_category +

+

Simple internal proc for updating the viewing_category variable.

+ + + diff --git a/obj/item/match.html b/obj/item/match.html new file mode 100644 index 000000000000..2a374a178bbf --- /dev/null +++ b/obj/item/match.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/match - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

match + + + +

+ + + + +

Vars

burntWhether this match has burnt out.
litWhether this match has been lit.

Procs

DestroyHow long the match lasts in seconds
+

Var Details

burnt + + + + +

+

Whether this match has burnt out.

lit + + + + +

+

Whether this match has been lit.

Proc Details

Destroy +

+

How long the match lasts in seconds

+ + + diff --git a/obj/item/mcobject.html b/obj/item/mcobject.html new file mode 100644 index 000000000000..c20e853482ff --- /dev/null +++ b/obj/item/mcobject.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/mcobject - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mcobject + + + +

+ + + + + + +

Vars

configsConfiguration options
inputsInputs, basically pre-set acts. use MC_ADD_INPUT() to add.
interfaceOur interface for communicating with other mcobjects

Procs

linked_toCalled by create_link.
unlink_allA multitool interaction is happening. Let's act on it.
+

Var Details

configs + + + + +

+

Configuration options

inputs + + + + +

+

Inputs, basically pre-set acts. use MC_ADD_INPUT() to add.

interface + + + + +

+

Our interface for communicating with other mcobjects

Proc Details

linked_to +

+

Called by create_link.

+

A multitool interaction is happening. Let's act on it.

+ + + diff --git a/obj/item/mcobject/messaging.html b/obj/item/mcobject/messaging.html new file mode 100644 index 000000000000..d11d50cfaa58 --- /dev/null +++ b/obj/item/mcobject/messaging.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mcobject/messaging - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

messaging + + + +

+ +

The messaging type. Use this to pass text data around between components.

+ + +

Vars

stored_messageThe message we're prepared to send
triggerThe message trigger field. Use MC_ADD_TRIGGER to utilize.

Procs

fireRelay a message to our outputs.
+

Var Details

stored_message + + + + +

+

The message we're prepared to send

trigger + + + + +

+

The message trigger field. Use MC_ADD_TRIGGER to utilize.

Proc Details

fire +

+

Relay a message to our outputs.

+ + + diff --git a/obj/item/mcobject/messaging/ticker.html b/obj/item/mcobject/messaging/ticker.html new file mode 100644 index 000000000000..1c06bd8f9d6f --- /dev/null +++ b/obj/item/mcobject/messaging/ticker.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mcobject/messaging/ticker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ticker + + + +

+ + +

Vars

total_loopsStore the number of loops we want seperately.
+

Var Details

total_loops + + + + +

+

Store the number of loops we want seperately.

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment.html b/obj/item/mecha_parts/mecha_equipment.html new file mode 100644 index 000000000000..eb8fdfad8efe --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment.html @@ -0,0 +1,186 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mecha_equipment + + + +

+ +

Mecha Equipment +All mech equippables are currently childs of this

+ + + + + + + + + + + + + + + + + +

Vars

activatedused for equipment that can be turned on/off, boolean
chassisReference to mecha that this equipment is currently attached to
destroy_soundSound file: Sound to play when this equipment is destroyed while still attached to the mech
detachableboolean: FALSE if this equipment can not be removed/salvaged
energy_drainChassis power cell quantity used on activation
equip_cooldownCooldown in ticks required between activations of the equipment
equipment_slotDetermines what "slot" this attachment will try to attach to on a mech
harmfulBoolean: whether a pacifist can use this equipment
mech_flagsBitflag. Used by exosuit fabricator to assign sub-categories based on which exosuits can equip this.
rangeBitflag. Determines the range of the equipment.

Procs

action_checksChecks whether this mecha equipment can be activated +Returns a bool +Arguments:
detachcalled to detach this equipment +Args:
do_after_checksdo after checks for the mecha equipment do afters
do_after_cooldownCooldown proc variant for using do_afters between activations instead of timers +Example of usage is mech drills, rcds +arguments:
do_after_mechaDo after wrapper for mecha equipment
get_snowflake_data
needs_rearmAI mech pilot: returns TRUE if the Ai should try to reload the mecha
rearmProc for reloading weapons from HTML UI or by AI +note that this is old and likely broken code
+

Var Details

activated + + + + +

+

used for equipment that can be turned on/off, boolean

chassis + + + + +

+

Reference to mecha that this equipment is currently attached to

destroy_sound + + + + +

+

Sound file: Sound to play when this equipment is destroyed while still attached to the mech

detachable + + + + +

+

boolean: FALSE if this equipment can not be removed/salvaged

energy_drain + + + + +

+

Chassis power cell quantity used on activation

equip_cooldown + + + + +

+

Cooldown in ticks required between activations of the equipment

equipment_slot + + + + +

+

Determines what "slot" this attachment will try to attach to on a mech

harmful + + + + +

+

Boolean: whether a pacifist can use this equipment

mech_flags + + + + +

+

Bitflag. Used by exosuit fabricator to assign sub-categories based on which exosuits can equip this.

range + + + + +

+

Bitflag. Determines the range of the equipment.

Proc Details

action_checks +

+

Checks whether this mecha equipment can be activated +Returns a bool +Arguments:

+

detach +

+

called to detach this equipment +Args:

+

do_after_checks +

+

do after checks for the mecha equipment do afters

do_after_cooldown +

+

Cooldown proc variant for using do_afters between activations instead of timers +Example of usage is mech drills, rcds +arguments:

+

do_after_mecha +

+

Do after wrapper for mecha equipment

get_snowflake_data +

+ get_snowflake_data +

handles the returning of snowflake data required by the UI of the mecha +not the prettiest of procs honeslty +returns:

+

needs_rearm +

+

AI mech pilot: returns TRUE if the Ai should try to reload the mecha

rearm +

+

Proc for reloading weapons from HTML UI or by AI +note that this is old and likely broken code

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/armor.html b/obj/item/mecha_parts/mecha_equipment/armor.html new file mode 100644 index 000000000000..03f3e1d34328 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/armor.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/armor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

armor + + + +

+ +

ARMOR BOOSTER MODULES

+ +

Vars

iconstate_nameicon in armor.dmi that shows in the UI
protect_nameshort protection name to display in the UI
+

Var Details

iconstate_name + + + + +

+

icon in armor.dmi that shows in the UI

protect_name + + + + +

+

short protection name to display in the UI

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/extinguisher.html b/obj/item/mecha_parts/mecha_equipment/extinguisher.html new file mode 100644 index 000000000000..b2ff6a4937f0 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/extinguisher.html @@ -0,0 +1,45 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/extinguisher - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

extinguisher + + + +

+ + + +

Vars

required_amountMinimum amount of reagent needed to activate.

Procs

attempt_refillHandles attemted refills of the extinguisher.
+

Var Details

required_amount + + + + +

+

Minimum amount of reagent needed to activate.

Proc Details

attempt_refill +

+

Handles attemted refills of the extinguisher.

+

The mech can only refill an extinguisher that is in front of it. +Only water tank objects can be used.

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/generator.html b/obj/item/mecha_parts/mecha_equipment/generator.html new file mode 100644 index 000000000000..57ad052325e5 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/generator.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/generator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

generator + + + +

+ +

GENERATOR

+ + +

Vars

fuelrate_activeFuel used per second while actively generating
fuelrate_idleFuel used per second while idle, not generating
rechargerateEnergy recharged per second
+

Var Details

fuelrate_active + + + + +

+

Fuel used per second while actively generating

fuelrate_idle + + + + +

+

Fuel used per second while idle, not generating

rechargerate + + + + +

+

Energy recharged per second

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/gravcatapult.html b/obj/item/mecha_parts/mecha_equipment/gravcatapult.html new file mode 100644 index 000000000000..a5d7d4030c1f --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/gravcatapult.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/gravcatapult - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

gravcatapult + + + +

+ + + +

Vars

modeWhether we will throw movable atomstothrow by locking onto them or just throw them back from where we click
movable_targetWhich atom we are movable_target onto for
+

Var Details

mode + + + + +

+

Whether we will throw movable atomstothrow by locking onto them or just throw them back from where we click

movable_target + + + + +

+

Which atom we are movable_target onto for

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp.html b/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp.html new file mode 100644 index 000000000000..604e41d3180f --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hydraulic_clamp + + + +

+ + + + + +

Vars

cargo_holderVar for the chassis we are attached to, needed to access ripley contents and such
clamp_damageHow much base damage this clamp does
clampsoundAudio for using the hydraulic clamp
killer_clampBool for whether we beat the hell out of things we punch (and tear off their arms)
+

Var Details

cargo_holder + + + + +

+

Var for the chassis we are attached to, needed to access ripley contents and such

clamp_damage + + + + +

+

How much base damage this clamp does

clampsound + + + + +

+

Audio for using the hydraulic clamp

killer_clamp + + + + +

+

Bool for whether we beat the hell out of things we punch (and tear off their arms)

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam.html b/obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam.html new file mode 100644 index 000000000000..071d7f67b230 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mechmedbeam + + + +

+ +

Medical Beam

+

Vars

medigunThe medical gun doing the actual healing. yes its wierd but its better than copypasting the entire thing
+

Var Details

medigun + + + + +

+

The medical gun doing the actual healing. yes its wierd but its better than copypasting the entire thing

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/medical/sleeper.html b/obj/item/mecha_parts/mecha_equipment/medical/sleeper.html new file mode 100644 index 000000000000..9c8bf5e977a3 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/medical/sleeper.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/medical/sleeper - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sleeper + + + +

+ + + +

Vars

inject_amountamount of chems to inject into patient from other hands syringe gun
patientref to the patient loaded in the sleeper
+

Var Details

inject_amount + + + + +

+

amount of chems to inject into patient from other hands syringe gun

patient + + + + +

+

ref to the patient loaded in the sleeper

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun.html b/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun.html new file mode 100644 index 000000000000..4c515e12713a --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

syringe_gun + + + +

+ + + + + + + + + + +

Vars

known_reagentsList of all scanned reagents, starts with epinephrine and multiver
max_syringesMaximu amount of syringes we can hold
max_volumeMaximum volume of reagents we can hold
modeChooses what kind of action we should perform when clicking
processed_reagentsList of reagents we want to be creating this processing tick
synth_speedReagent amount in units we produce per two seconds
syringesLazylist of syringes that we've picked up

Procs

on_reagent_changeUpdates the equipment info list when the reagents change. Eats signal args.
on_reagents_delHandles detaching signal hooks incase someone is crazy enough to make this edible.
+

Var Details

known_reagents + + + + +

+

List of all scanned reagents, starts with epinephrine and multiver

max_syringes + + + + +

+

Maximu amount of syringes we can hold

max_volume + + + + +

+

Maximum volume of reagents we can hold

mode + + + + +

+

Chooses what kind of action we should perform when clicking

processed_reagents + + + + +

+

List of reagents we want to be creating this processing tick

synth_speed + + + + +

+

Reagent amount in units we produce per two seconds

syringes + + + + +

+

Lazylist of syringes that we've picked up

Proc Details

on_reagent_change +

+

Updates the equipment info list when the reagents change. Eats signal args.

on_reagents_del +

+

Handles detaching signal hooks incase someone is crazy enough to make this edible.

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/orebox_manager.html b/obj/item/mecha_parts/mecha_equipment/orebox_manager.html new file mode 100644 index 000000000000..92cd36f374af --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/orebox_manager.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/orebox_manager - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

orebox_manager + + + +

+ +

Special equipment for the Clarke mech, handles moving ore without giving the mech a hydraulic clamp and cargo compartment.

+

Vars

hostmechVar to avoid istype checking every time the topic button is pressed. This will only work inside Clarke mechs.
+

Var Details

hostmech + + + + +

+

Var to avoid istype checking every time the topic button is pressed. This will only work inside Clarke mechs.

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/rcd.html b/obj/item/mecha_parts/mecha_equipment/rcd.html new file mode 100644 index 000000000000..72d2e133082a --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/rcd.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/rcd - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

rcd + + + +

+ + + +

Vars

modedetermines what we'll so when clicking on a turf

Procs

get_mode_namefetches the mode name to display in the UI
+

Var Details

mode + + + + +

+

determines what we'll so when clicking on a turf

Proc Details

get_mode_name +

+

fetches the mode name to display in the UI

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/repair_droid.html b/obj/item/mecha_parts/mecha_equipment/repair_droid.html new file mode 100644 index 000000000000..24aae3820105 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/repair_droid.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/repair_droid - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

repair_droid + + + +

+ +

REPAIR DROID

+

Vars

health_boostRepaired health per second
+

Var Details

health_boost + + + + +

+

Repaired health per second

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove.html b/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove.html new file mode 100644 index 000000000000..3d2632a04db9 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

punching_glove + + + +

+ + +

Vars

punch_damageDamage done by the glove on contact. Also used to determine throw distance (damage / 5)
+

Var Details

punch_damage + + + + +

+

Damage done by the glove on contact. Also used to determine throw distance (damage / 5)

+ + + diff --git a/obj/item/mecha_parts/mecha_tracking.html b/obj/item/mecha_parts/mecha_tracking.html new file mode 100644 index 000000000000..bc543a9d1214 --- /dev/null +++ b/obj/item/mecha_parts/mecha_tracking.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/mecha_parts/mecha_tracking - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mecha_tracking + + + +

+ + + + + + + +

Vars

ai_beaconIf this beacon allows for AI control. Exists to avoid using istype() on checking
chassisThe Mecha that this tracking beacon is attached to
rechargingCooldown variable for EMP pulsing

Procs

get_mecha_infoReturns a html formatted string describing attached mech status
rechargeResets recharge variable, allowing tracker to be EMP pulsed again
shockAttempts to EMP mech that the tracker is attached to, if there is one and tracker is not on cooldown
+

Var Details

ai_beacon + + + + +

+

If this beacon allows for AI control. Exists to avoid using istype() on checking

chassis + + + + +

+

The Mecha that this tracking beacon is attached to

recharging + + + + +

+

Cooldown variable for EMP pulsing

Proc Details

get_mecha_info +

+

Returns a html formatted string describing attached mech status

recharge +

+

Resets recharge variable, allowing tracker to be EMP pulsed again

shock +

+

Attempts to EMP mech that the tracker is attached to, if there is one and tracker is not on cooldown

+ + + diff --git a/obj/item/melee/baton.html b/obj/item/melee/baton.html new file mode 100644 index 000000000000..3c147966c883 --- /dev/null +++ b/obj/item/melee/baton.html @@ -0,0 +1,183 @@ + + + + + + + /obj/item/melee/baton - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

baton + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

activeWhether this baton is active or not
affect_cyborgCan we stun cyborgs?
charged_stamina_damageHow much stamina damage we deal on a successful hit against a living, non-cyborg mob.
clumsy_knockdown_timeThe length of the knockdown applied to the user on clumsy_check()
context_living_target_activeThe context to show when the baton is active and targetting a living thing
context_living_target_active_combat_modeThe context to show when the baton is active and targetting a living thing in combat mode
context_living_target_inactiveThe context to show when the baton is inactive and targetting a living thing
context_living_target_inactive_combat_modeThe context to show when the baton is inactive and targetting a living thing in combat mode
cooldownDefault wait time until can stun again.
flippedWhen flipped, you can beat the clown. Or kill simplemobs. Or beat the clown.
knockdown_timeThe length of the knockdown applied to a struck living mob, if they are disoriented.
log_stun_attackWhether the stun attack is logged. Only relevant for abductor batons, which have different modes.
on_stun_soundThe path of the default sound to play when we stun something.
on_stun_volumeThe volume of the above.
stun_animationDo we animate the "hit" when stunning something?
stun_time_cyborgIf affect_cyborg is TRUE, this is how long we stun cyborgs for on a hit.

Procs

additional_effects_cyborgContains any special effects that we apply to cyborgs we stun. Does not include flashing the cyborg's screen, hardstunning them, etc.
additional_effects_non_cyborgContains any special effects that we apply to living, non-cyborg mobs we stun. Does not include applying a knockdown, dealing stamina damage, etc.
attackOk, think of baton attacks like a melee attack chain:
get_cyborg_stun_descriptionDefault message for stunning a cyborg.
get_stun_descriptionDefault message for stunning a living, non-cyborg mob.
get_unga_dunga_cyborg_stun_descriptionDefault message for trying to stun a cyborg with a baton that can't stun cyborgs.
+

Var Details

active + + + + +

+

Whether this baton is active or not

affect_cyborg + + + + +

+

Can we stun cyborgs?

charged_stamina_damage + + + + +

+

How much stamina damage we deal on a successful hit against a living, non-cyborg mob.

clumsy_knockdown_time + + + + +

+

The length of the knockdown applied to the user on clumsy_check()

context_living_target_active + + + + +

+

The context to show when the baton is active and targetting a living thing

context_living_target_active_combat_mode + + + + +

+

The context to show when the baton is active and targetting a living thing in combat mode

context_living_target_inactive + + + + +

+

The context to show when the baton is inactive and targetting a living thing

context_living_target_inactive_combat_mode + + + + +

+

The context to show when the baton is inactive and targetting a living thing in combat mode

cooldown + + + + +

+

Default wait time until can stun again.

flipped + + + + +

+

When flipped, you can beat the clown. Or kill simplemobs. Or beat the clown.

knockdown_time + + + + +

+

The length of the knockdown applied to a struck living mob, if they are disoriented.

log_stun_attack + + + + +

+

Whether the stun attack is logged. Only relevant for abductor batons, which have different modes.

on_stun_sound + + + + +

+

The path of the default sound to play when we stun something.

on_stun_volume + + + + +

+

The volume of the above.

stun_animation + + + + +

+

Do we animate the "hit" when stunning something?

stun_time_cyborg + + + + +

+

If affect_cyborg is TRUE, this is how long we stun cyborgs for on a hit.

Proc Details

additional_effects_cyborg +

+

Contains any special effects that we apply to cyborgs we stun. Does not include flashing the cyborg's screen, hardstunning them, etc.

additional_effects_non_cyborg +

+

Contains any special effects that we apply to living, non-cyborg mobs we stun. Does not include applying a knockdown, dealing stamina damage, etc.

attack +

+

Ok, think of baton attacks like a melee attack chain:

get_cyborg_stun_description +

+

Default message for stunning a cyborg.

get_stun_description +

+

Default message for stunning a living, non-cyborg mob.

get_unga_dunga_cyborg_stun_description +

+

Default message for trying to stun a cyborg with a baton that can't stun cyborgs.

+ + + diff --git a/obj/item/melee/baton/telescopic.html b/obj/item/melee/baton/telescopic.html new file mode 100644 index 000000000000..2df65e2e12cb --- /dev/null +++ b/obj/item/melee/baton/telescopic.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/melee/baton/telescopic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

telescopic + + + +

+ + + + +

Vars

active_forceThe force on extension.
on_inhand_icon_stateThe inhand iconstate used when our baton is extended.
on_soundThe sound effecte played when our baton is extended.
+

Var Details

active_force + + + + +

+

The force on extension.

on_inhand_icon_state + + + + +

+

The inhand iconstate used when our baton is extended.

on_sound + + + + +

+

The sound effecte played when our baton is extended.

+ + + diff --git a/obj/item/melee/cultblade/halberd.html b/obj/item/melee/cultblade/halberd.html new file mode 100644 index 000000000000..8fc97f02a9a8 --- /dev/null +++ b/obj/item/melee/cultblade/halberd.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/melee/cultblade/halberd - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

halberd + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/melee/energy.html b/obj/item/melee/energy.html new file mode 100644 index 000000000000..6182a7d6a0b7 --- /dev/null +++ b/obj/item/melee/energy.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/melee/energy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

energy + + + +

+ + + + + + + + + +

Vars

active_forceForce while active.
active_heatThe heat given off when active.
active_hitsoundHitsound played attacking while active.
active_sharpnessSharpness while active.
active_throwforceThrowforce while active.
active_w_classWeight class while active.
blade_activeWhether our blade is active or not.
sword_color_iconThe color of this energy based sword, for use in editing the icon_state.
+

Var Details

active_force + + + + +

+

Force while active.

active_heat + + + + +

+

The heat given off when active.

active_hitsound + + + + +

+

Hitsound played attacking while active.

active_sharpness + + + + +

+

Sharpness while active.

active_throwforce + + + + +

+

Throwforce while active.

active_w_class + + + + +

+

Weight class while active.

blade_active + + + + +

+

Whether our blade is active or not.

sword_color_icon + + + + +

+

The color of this energy based sword, for use in editing the icon_state.

+ + + diff --git a/obj/item/melee/energy/sword/bananium.html b/obj/item/melee/energy/sword/bananium.html new file mode 100644 index 000000000000..24681ccf59cf --- /dev/null +++ b/obj/item/melee/energy/sword/bananium.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/melee/energy/sword/bananium - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bananium + + + +

+ + +

Vars

next_trombone_allowedCooldown for making a trombone noise for failing to make a bananium desword
+

Var Details

next_trombone_allowed + + + + +

+

Cooldown for making a trombone noise for failing to make a bananium desword

+ + + diff --git a/obj/item/melee/energy/sword/cyborg.html b/obj/item/melee/energy/sword/cyborg.html new file mode 100644 index 000000000000..1e842037542e --- /dev/null +++ b/obj/item/melee/energy/sword/cyborg.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/melee/energy/sword/cyborg - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cyborg + + + +

+ + +

Vars

hitcostThe cell cost of hitting something.
+

Var Details

hitcost + + + + +

+

The cell cost of hitting something.

+ + + diff --git a/obj/item/melee/energy/sword/saber.html b/obj/item/melee/energy/sword/saber.html new file mode 100644 index 000000000000..b6885b56873a --- /dev/null +++ b/obj/item/melee/energy/sword/saber.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/melee/energy/sword/saber - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

saber + + + +

+ + + +

Vars

hackedWhether this saber has beel multitooled.
possible_colorsAssoc list of all possible saber colors to color define.
+

Var Details

hacked + + + + +

+

Whether this saber has beel multitooled.

possible_colors + + + + +

+

Assoc list of all possible saber colors to color define.

+ + + diff --git a/obj/item/melee/roastingstick.html b/obj/item/melee/roastingstick.html new file mode 100644 index 000000000000..a7a518673964 --- /dev/null +++ b/obj/item/melee/roastingstick.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/melee/roastingstick - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

roastingstick + + + +

+ + + + + +

Vars

beamThe beam that links to the oven we use
extendedWhether or stick is extended and can recieve sausage
held_sausageThe sausage attatched to our stick.
ovensStatic list of things our roasting stick can interact with.
+

Var Details

beam + + + + +

+

The beam that links to the oven we use

extended + + + + +

+

Whether or stick is extended and can recieve sausage

held_sausage + + + + +

+

The sausage attatched to our stick.

ovens + + + + +

+

Static list of things our roasting stick can interact with.

+ + + diff --git a/obj/item/melee/rune_carver.html b/obj/item/melee/rune_carver.html new file mode 100644 index 000000000000..bda387425497 --- /dev/null +++ b/obj/item/melee/rune_carver.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/melee/rune_carver - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

rune_carver + + + +

+ + + + + +

Vars

blacklisted_turfsTurfs that you cannot draw carvings on
current_runesA list of weakrefs to all of ourc urrent runes
drawingWhether we're currently drawing a rune
max_rune_amtMax amount of runes that can be drawn
+

Var Details

blacklisted_turfs + + + + +

+

Turfs that you cannot draw carvings on

current_runes + + + + +

+

A list of weakrefs to all of ourc urrent runes

drawing + + + + +

+

Whether we're currently drawing a rune

max_rune_amt + + + + +

+

Max amount of runes that can be drawn

+ + + diff --git a/obj/item/melee/skateboard.html b/obj/item/melee/skateboard.html new file mode 100644 index 000000000000..65c620b10923 --- /dev/null +++ b/obj/item/melee/skateboard.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/melee/skateboard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

skateboard + + + +

+ + +

Vars

board_item_typeThe vehicle counterpart for the board
+

Var Details

board_item_type + + + + +

+

The vehicle counterpart for the board

+ + + diff --git a/obj/item/melee/touch_attack.html b/obj/item/melee/touch_attack.html new file mode 100644 index 000000000000..4a7672ab505f --- /dev/null +++ b/obj/item/melee/touch_attack.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/melee/touch_attack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

touch_attack + + + +

+ + +

Vars

spell_which_made_usA weakref to what spell made us.
+

Var Details

spell_which_made_us + + + + +

+

A weakref to what spell made us.

+ + + diff --git a/obj/item/melee/touch_attack/mansus_fist.html b/obj/item/melee/touch_attack/mansus_fist.html new file mode 100644 index 000000000000..8d7cd2985f45 --- /dev/null +++ b/obj/item/melee/touch_attack/mansus_fist.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/melee/touch_attack/mansus_fist - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

mansus_fist + + + +

+ + +

Procs

remove_hand_with_no_refundWhen the hand component of a touch spell is qdel'd, (the hand is dropped or otherwise lost), +the cooldown on the spell that made it is automatically refunded.

Proc Details

remove_hand_with_no_refund +

+

When the hand component of a touch spell is qdel'd, (the hand is dropped or otherwise lost), +the cooldown on the spell that made it is automatically refunded.

+

However, if you want to consume the hand and not give a cooldown, +such as adding a unique behavior to the hand specifically, this function will do that.

+ + + diff --git a/obj/item/mending_globule.html b/obj/item/mending_globule.html new file mode 100644 index 000000000000..cdea2ad72951 --- /dev/null +++ b/obj/item/mending_globule.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/mending_globule - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

mending_globule + + + +

+ +

This item is what is embedded into the mob, and actually handles healing of mending globules

+

Procs

processHandles the healing of the mending globule

Proc Details

process +

+

Handles the healing of the mending globule

+ + + diff --git a/obj/item/minespawner.html b/obj/item/minespawner.html new file mode 100644 index 000000000000..9b402f0e85ac --- /dev/null +++ b/obj/item/minespawner.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/minespawner - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

minespawner + + + +

+ + +

Procs

deploy_mineDeploys the mine and deletes itself

Proc Details

deploy_mine +

+

Deploys the mine and deletes itself

+ + + diff --git a/obj/item/mining_voucher.html b/obj/item/mining_voucher.html new file mode 100644 index 000000000000..6a1ba8bf6c0c --- /dev/null +++ b/obj/item/mining_voucher.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/mining_voucher - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

mining_voucher + + + +

+ +

Mining Equipment Vendor Items

+

Mining Equipment Voucher

+ + + diff --git a/obj/item/mmi.html b/obj/item/mmi.html new file mode 100644 index 000000000000..ea8e0bdd1a34 --- /dev/null +++ b/obj/item/mmi.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/mmi - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mmi + + + +

+ + + + + + + + +

Vars

brainThe actual brain contained in the MMI
brainmobThe current occupant.
mechaReference to a mecha we may or may not be in. Only used for garbage collection.
overrides_aicore_lawsWhether the laws on the MMI, if any, override possible pre-existing laws loaded on the AI core.
radioInternal radio object so the thing has a radio

Procs

set_brainmobProc to hook behavior associated to the change in value of the /obj/item/mmi/var/brainmob variable.
set_mechaProc to hook behavior associated to the change in value of the [obj/vehicle/sealed/var/mecha] variable.
+

Var Details

brain + + + + +

+

The actual brain contained in the MMI

brainmob + + + + +

+

The current occupant.

mecha + + + + +

+

Reference to a mecha we may or may not be in. Only used for garbage collection.

overrides_aicore_laws + + + + +

+

Whether the laws on the MMI, if any, override possible pre-existing laws loaded on the AI core.

radio + + + + +

+

Internal radio object so the thing has a radio

Proc Details

set_brainmob +

+

Proc to hook behavior associated to the change in value of the /obj/item/mmi/var/brainmob variable.

set_mecha +

+

Proc to hook behavior associated to the change in value of the [obj/vehicle/sealed/var/mecha] variable.

+ + + diff --git a/obj/item/mob_holder.html b/obj/item/mob_holder.html new file mode 100644 index 000000000000..a4347415a6c0 --- /dev/null +++ b/obj/item/mob_holder.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mob_holder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mob_holder + + + +

+ +

Simple holder for picked-up mobs

+ +

Vars

examine_mobShould the held mob be examined instead of the holder?
held_mobThe mob being held by this item.
+

Var Details

examine_mob + + + + +

+

Should the held mob be examined instead of the holder?

held_mob + + + + +

+

The mob being held by this item.

+ + + diff --git a/obj/item/mod/control.html b/obj/item/mod/control.html new file mode 100644 index 000000000000..f3737a1610a6 --- /dev/null +++ b/obj/item/mod/control.html @@ -0,0 +1,288 @@ + + + + + + + /obj/item/mod/control - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

control + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

activatingIf the suit is currently activating/deactivating.
activation_step_timeHow long this MOD takes each part to seal.
activeIf the suit is deployed and turned on.
aiAI mob inhabiting the MOD.
charge_drainPower usage of the MOD.
complexityHow much module complexity this MOD is carrying.
complexity_maxHow much module complexity can this MOD carry.
cooldown_mod_moveCooldown for AI moves.
coreMOD core.
extended_descExtended description of the theme.
initial_modulesModules the MOD should spawn with.
interface_breakIf the suit interface is broken.
lockedIf the suit is ID locked.
malfunctioningIf the suit is malfunctioning.
mod_linkThe MODlink datum, letting us call people from the suit.
mod_partsList of MODsuit part datums.
modulesModules the MOD currently possesses.
movedelayDelay between moves as AI.
openIf the suit wire/module hatch is open.
seconds_electrifiedHow long the MOD is electrified for.
selected_moduleCurrently used module.
skinLooks of the MOD.
slowdown_activeSlowdown of the MOD when active.
slowdown_inactiveSlowdown of the MOD when not active.
starting_frequencyThe starting MODlink frequency, overridden on subtypes that want it to be something.
themeThe MOD's theme, decides on some stuff like armor and statistics.
ui_themeTheme of the MOD TGUI
wearerPerson wearing the MODsuit.

Procs

choose_deployCreates a radial menu from which the user chooses parts of the suit to deploy/retract. Repeats until all parts are extended or retracted.
deployDeploys a part of the suit onto the user.
finish_activationFinishes the suit's activation, starts processing
get_wearerIntended for callbacks, don't use normally, just get wearer by itself.
quick_activationQuickly deploys all the suit parts and if successful, seals them and turns on the suit. Intended mostly for outfits.
quick_deployQuickly deploys all parts (or retracts if all are on the wearer)
retractRetract a part of the suit from the user
seal_partSeals or unseals the given part
toggle_activateStarts the activation sequence, where parts of the suit activate one by one until the whole suit is on
+

Var Details

activating + + + + +

+

If the suit is currently activating/deactivating.

activation_step_time + + + + +

+

How long this MOD takes each part to seal.

active + + + + +

+

If the suit is deployed and turned on.

ai + + + + +

+

AI mob inhabiting the MOD.

charge_drain + + + + +

+

Power usage of the MOD.

complexity + + + + +

+

How much module complexity this MOD is carrying.

complexity_max + + + + +

+

How much module complexity can this MOD carry.

cooldown_mod_move + + + + +

+

Cooldown for AI moves.

core + + + + +

+

MOD core.

extended_desc + + + + +

+

Extended description of the theme.

initial_modules + + + + +

+

Modules the MOD should spawn with.

interface_break + + + + +

+

If the suit interface is broken.

locked + + + + +

+

If the suit is ID locked.

malfunctioning + + + + +

+

If the suit is malfunctioning.

+

The MODlink datum, letting us call people from the suit.

mod_parts + + + + +

+

List of MODsuit part datums.

modules + + + + +

+

Modules the MOD currently possesses.

movedelay + + + + +

+

Delay between moves as AI.

open + + + + +

+

If the suit wire/module hatch is open.

seconds_electrified + + + + +

+

How long the MOD is electrified for.

selected_module + + + + +

+

Currently used module.

skin + + + + +

+

Looks of the MOD.

slowdown_active + + + + +

+

Slowdown of the MOD when active.

slowdown_inactive + + + + +

+

Slowdown of the MOD when not active.

starting_frequency + + + + +

+

The starting MODlink frequency, overridden on subtypes that want it to be something.

theme + + + + +

+

The MOD's theme, decides on some stuff like armor and statistics.

ui_theme + + + + +

+

Theme of the MOD TGUI

wearer + + + + +

+

Person wearing the MODsuit.

Proc Details

choose_deploy +

+

Creates a radial menu from which the user chooses parts of the suit to deploy/retract. Repeats until all parts are extended or retracted.

deploy +

+

Deploys a part of the suit onto the user.

finish_activation +

+

Finishes the suit's activation, starts processing

get_wearer +

+

Intended for callbacks, don't use normally, just get wearer by itself.

quick_activation +

+

Quickly deploys all the suit parts and if successful, seals them and turns on the suit. Intended mostly for outfits.

quick_deploy +

+

Quickly deploys all parts (or retracts if all are on the wearer)

retract +

+

Retract a part of the suit from the user

seal_part +

+

Seals or unseals the given part

toggle_activate +

+

Starts the activation sequence, where parts of the suit activate one by one until the whole suit is on

+ + + diff --git a/obj/item/mod/control/pre_equipped.html b/obj/item/mod/control/pre_equipped.html new file mode 100644 index 000000000000..3200c384afa1 --- /dev/null +++ b/obj/item/mod/control/pre_equipped.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/control/pre_equipped - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pre_equipped + + + +

+ + + + +

Vars

applied_cellThe cell we apply to the core. Only applies to standard core suits.
applied_coreThe MOD core we apply to the suit.
applied_skinThe skin we apply to the suit, defaults to the default_skin of the theme.
+

Var Details

applied_cell + + + + +

+

The cell we apply to the core. Only applies to standard core suits.

applied_core + + + + +

+

The MOD core we apply to the suit.

applied_skin + + + + +

+

The skin we apply to the suit, defaults to the default_skin of the theme.

+ + + diff --git a/obj/item/mod/control/pre_equipped/responsory.html b/obj/item/mod/control/pre_equipped/responsory.html new file mode 100644 index 000000000000..e2ddc4d08fae --- /dev/null +++ b/obj/item/mod/control/pre_equipped/responsory.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/control/pre_equipped/responsory - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

responsory + + + +

+ + + +

Vars

additional_moduleAdditional module we add, as a treat.
insignia_typeThe insignia type, insignias show what sort of member of the ERT you're dealing with.
+

Var Details

additional_module + + + + +

+

Additional module we add, as a treat.

insignia_type + + + + +

+

The insignia type, insignias show what sort of member of the ERT you're dealing with.

+ + + diff --git a/obj/item/mod/core.html b/obj/item/mod/core.html new file mode 100644 index 000000000000..e52497f4d2c8 --- /dev/null +++ b/obj/item/mod/core.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/core - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

core + + + +

+ + +

Vars

modMOD unit we are powering.
+

Var Details

mod + + + + +

+

MOD unit we are powering.

+ + + diff --git a/obj/item/mod/core/ethereal.html b/obj/item/mod/core/ethereal.html new file mode 100644 index 000000000000..c0791cc43ca2 --- /dev/null +++ b/obj/item/mod/core/ethereal.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/core/ethereal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ethereal + + + +

+ + +

Vars

charge_modifierA modifier to all charge we use, ethereals don't need to spend as much energy as normal suits.
+

Var Details

charge_modifier + + + + +

+

A modifier to all charge we use, ethereals don't need to spend as much energy as normal suits.

+ + + diff --git a/obj/item/mod/core/plasma.html b/obj/item/mod/core/plasma.html new file mode 100644 index 000000000000..cd48c6d9616c --- /dev/null +++ b/obj/item/mod/core/plasma.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/core/plasma - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

plasma + + + +

+ + + + +

Vars

chargeHow much charge we are currently storing.
charge_givenCharge per plasma ore.
maxchargeHow much charge we can store.
+

Var Details

charge + + + + +

+

How much charge we are currently storing.

charge_given + + + + +

+

Charge per plasma ore.

maxcharge + + + + +

+

How much charge we can store.

+ + + diff --git a/obj/item/mod/core/standard.html b/obj/item/mod/core/standard.html new file mode 100644 index 000000000000..2a7c354f0f21 --- /dev/null +++ b/obj/item/mod/core/standard.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/core/standard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

standard + + + +

+ + +

Vars

cellInstalled cell.
+

Var Details

cell + + + + +

+

Installed cell.

+ + + diff --git a/obj/item/mod/module.html b/obj/item/mod/module.html new file mode 100644 index 000000000000..66334a84a83b --- /dev/null +++ b/obj/item/mod/module.html @@ -0,0 +1,400 @@ + + + + + + + /obj/item/mod/module - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

module + + + +

+ +

MOD Module - A special device installed in a MODsuit allowing the suit to do new stuff.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

activeIs the module active
active_power_costPower use when active
allowed_in_phaseoutIf we're allowed to use this module while phased out.
allowed_inactiveIf this module can be used while the suit is inactive
complexityHow much space it takes up in the MOD
cooldown_timeCooldown after use
cooldown_timerTimer for the cooldown
deviceIf we're an active module, what item are we?
idle_power_costPower use when idle
incompatible_modulesWhat modules are we incompatible with?
modLinked MODsuit
module_typeIf it's passive, togglable, usable or active
overlay_icon_fileIcon file for the overlay.
overlay_state_activeOverlay given to the user when the module is active
overlay_state_inactiveOverlay given to the user when the module is inactive
overlay_state_useOverlay given to the user when the module is used, lasts until cooldown finishes
pinned_toList of REF()s mobs we are pinned to, linked with their action buttons
removableIf it can be removed
required_slotsA list of slots required in the suit to work. Formatted like list(x|y, z, ...) where either x or y are required and z is required.
tgui_idID used by their TGUI
use_mod_colorsDoes the overlay use the control unit's colors?
use_power_costPower use when used, we call it manually
used_signalThe mouse button needed to use this module

Procs

activateCalled when the module is activated
add_ui_configurationGenerates an element of the get_configuration list with a display name, type and value
add_ui_dataAdds additional things to the MODsuit ui_data()
check_powerChecks if there is enough power in the suit
configure_editReceives configure edits from the TGUI and edits the vars
deactivateCalled when the module is deactivated
drain_powerDrains power from the suit charge
dropkeyOn drop key, concels a device item.
generate_worn_overlayGenerates an icon to be used for the suit's worn overlays
get_configurationCreates a list of configuring options for this module
has_required_partsLooks through the MODsuit's parts to see if it has the parts required to support this module
on_activationCalled from the module's activate()
on_active_processCalled on the MODsuit's process if it is an active module
on_deactivationCalled from the module's deactivate()
on_device_deletionCalled when the device gets deleted on active modules
on_equipCalled when the MODsuit is equipped
on_exitCalled when the device moves to a different place on active modules
on_installCalled from MODsuit's install() proc, so when the module is installed.
on_processCalled on the MODsuit's process
on_selectCalled when the module is selected from the TGUI, radial or the action button
on_select_useCalled when an activated module without a device is used
on_special_clickCalled when an activated module without a device is active and the user alt/middle-clicks
on_suit_activationCalled when the MODsuit is activated
on_suit_deactivationCalled when the MODsuit is deactivated
on_unequipCalled when the MODsuit is unequipped
on_uninstallCalled from MODsuit's uninstall() proc, so when the module is uninstalled.
on_useCalled from the module's used()
pinPins the module to the user's action buttons
update_signalUpdates the signal used by active modules to be activated
usedCalled when the module is used
+

Var Details

active + + + + +

+

Is the module active

active_power_cost + + + + +

+

Power use when active

allowed_in_phaseout + + + + +

+

If we're allowed to use this module while phased out.

allowed_inactive + + + + +

+

If this module can be used while the suit is inactive

complexity + + + + +

+

How much space it takes up in the MOD

cooldown_time + + + + +

+

Cooldown after use

cooldown_timer + + + + +

+

Timer for the cooldown

device + + + + +

+

If we're an active module, what item are we?

idle_power_cost + + + + +

+

Power use when idle

incompatible_modules + + + + +

+

What modules are we incompatible with?

mod + + + + +

+

Linked MODsuit

module_type + + + + +

+

If it's passive, togglable, usable or active

overlay_icon_file + + + + +

+

Icon file for the overlay.

overlay_state_active + + + + +

+

Overlay given to the user when the module is active

overlay_state_inactive + + + + +

+

Overlay given to the user when the module is inactive

overlay_state_use + + + + +

+

Overlay given to the user when the module is used, lasts until cooldown finishes

pinned_to + + + + +

+

List of REF()s mobs we are pinned to, linked with their action buttons

removable + + + + +

+

If it can be removed

required_slots + + + + +

+

A list of slots required in the suit to work. Formatted like list(x|y, z, ...) where either x or y are required and z is required.

tgui_id + + + + +

+

ID used by their TGUI

use_mod_colors + + + + +

+

Does the overlay use the control unit's colors?

use_power_cost + + + + +

+

Power use when used, we call it manually

used_signal + + + + +

+

The mouse button needed to use this module

Proc Details

activate +

+

Called when the module is activated

add_ui_configuration +

+

Generates an element of the get_configuration list with a display name, type and value

add_ui_data +

+

Adds additional things to the MODsuit ui_data()

check_power +

+

Checks if there is enough power in the suit

configure_edit +

+

Receives configure edits from the TGUI and edits the vars

deactivate +

+

Called when the module is deactivated

drain_power +

+

Drains power from the suit charge

dropkey +

+

On drop key, concels a device item.

generate_worn_overlay +

+

Generates an icon to be used for the suit's worn overlays

get_configuration +

+

Creates a list of configuring options for this module

has_required_parts +

+

Looks through the MODsuit's parts to see if it has the parts required to support this module

on_activation +

+

Called from the module's activate()

on_active_process +

+

Called on the MODsuit's process if it is an active module

on_deactivation +

+

Called from the module's deactivate()

on_device_deletion +

+

Called when the device gets deleted on active modules

on_equip +

+

Called when the MODsuit is equipped

on_exit +

+

Called when the device moves to a different place on active modules

on_install +

+

Called from MODsuit's install() proc, so when the module is installed.

on_process +

+

Called on the MODsuit's process

on_select +

+

Called when the module is selected from the TGUI, radial or the action button

on_select_use +

+

Called when an activated module without a device is used

on_special_click +

+

Called when an activated module without a device is active and the user alt/middle-clicks

on_suit_activation +

+

Called when the MODsuit is activated

on_suit_deactivation +

+

Called when the MODsuit is deactivated

on_unequip +

+

Called when the MODsuit is unequipped

on_uninstall +

+

Called from MODsuit's uninstall() proc, so when the module is uninstalled.

on_use +

+

Called from the module's used()

pin +

+

Pins the module to the user's action buttons

update_signal +

+

Updates the signal used by active modules to be activated

used +

+

Called when the module is used

+ + + diff --git a/obj/item/mod/module/anomaly_locked.html b/obj/item/mod/module/anomaly_locked.html new file mode 100644 index 000000000000..d3a056677072 --- /dev/null +++ b/obj/item/mod/module/anomaly_locked.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/anomaly_locked - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

anomaly_locked + + + +

+ +

Anomaly Locked - Causes the module to not function without an anomaly.

+ + +

Vars

accepted_anomaliesAccepted types of anomaly cores.
coreThe core item the module runs off.
prebuiltIf this one starts with a core in.
+

Var Details

accepted_anomalies + + + + +

+

Accepted types of anomaly cores.

core + + + + +

+

The core item the module runs off.

prebuilt + + + + +

+

If this one starts with a core in.

+ + + diff --git a/obj/item/mod/module/anomaly_locked/kinesis.html b/obj/item/mod/module/anomaly_locked/kinesis.html new file mode 100644 index 000000000000..f1ad4f99e780 --- /dev/null +++ b/obj/item/mod/module/anomaly_locked/kinesis.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/mod/module/anomaly_locked/kinesis - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

kinesis + + + +

+ +

Kinesis - Gives you the ability to move and launch objects.

+ + + + + + + + +

Vars

grab_rangeRange of the knesis grab.
grabbed_atomAtom we grabbed with kinesis.
hit_cooldownThe cooldown between us hitting objects with kinesis.
hit_cooldown_timeTime between us hitting objects with kinesis.
kinesis_beamRef of the beam following the grabbed atom.
kinesis_catcherOur mouse movement catcher.
kinesis_iconOverlay we add to each grabbed atom.
soundloopThe sounds playing while we grabbed an object.
stat_requiredStat required for us to grab a mob.
+

Var Details

grab_range + + + + +

+

Range of the knesis grab.

grabbed_atom + + + + +

+

Atom we grabbed with kinesis.

hit_cooldown + + + + +

+

The cooldown between us hitting objects with kinesis.

hit_cooldown_time + + + + +

+

Time between us hitting objects with kinesis.

kinesis_beam + + + + +

+

Ref of the beam following the grabbed atom.

kinesis_catcher + + + + +

+

Our mouse movement catcher.

kinesis_icon + + + + +

+

Overlay we add to each grabbed atom.

soundloop + + + + +

+

The sounds playing while we grabbed an object.

stat_required + + + + +

+

Stat required for us to grab a mob.

+ + + diff --git a/obj/item/mod/module/anomaly_locked/kinesis/admin.html b/obj/item/mod/module/anomaly_locked/kinesis/admin.html new file mode 100644 index 000000000000..86026574b5a1 --- /dev/null +++ b/obj/item/mod/module/anomaly_locked/kinesis/admin.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/anomaly_locked/kinesis/admin - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

admin + + + +

+ +

Admin suit version of kinesis. Can grab anything at any range, may enable phasing through walls.

+

Vars

phasingDoes our object phase through stuff?
+

Var Details

phasing + + + + +

+

Does our object phase through stuff?

+ + + diff --git a/obj/item/mod/module/anomaly_locked/teleporter.html b/obj/item/mod/module/anomaly_locked/teleporter.html new file mode 100644 index 000000000000..818445bae32e --- /dev/null +++ b/obj/item/mod/module/anomaly_locked/teleporter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/anomaly_locked/teleporter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

teleporter + + + +

+ +

Teleporter - Lets the user teleport to a nearby location.

+

Vars

teleport_timeTime it takes to teleport
+

Var Details

teleport_time + + + + +

+

Time it takes to teleport

+ + + diff --git a/obj/item/mod/module/armor_booster.html b/obj/item/mod/module/armor_booster.html new file mode 100644 index 000000000000..a6d4478fc233 --- /dev/null +++ b/obj/item/mod/module/armor_booster.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/mod/module/armor_booster - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

armor_booster + + + +

+ +

Armor Booster - Grants your suit more armor and speed in exchange for EVA protection. Also acts as a welding screen.

+ + + +

Vars

added_slowdownSlowdown added to the suit.
armor_valuesArmor values added to the suit parts.
remove_pressure_protectionWhether or not this module removes pressure protection.
spaceproofedList of parts of the suit that are spaceproofed, for giving them back the pressure protection.
+

Var Details

added_slowdown + + + + +

+

Slowdown added to the suit.

armor_values + + + + +

+

Armor values added to the suit parts.

remove_pressure_protection + + + + +

+

Whether or not this module removes pressure protection.

spaceproofed + + + + +

+

List of parts of the suit that are spaceproofed, for giving them back the pressure protection.

+ + + diff --git a/obj/item/mod/module/atrocinator.html b/obj/item/mod/module/atrocinator.html new file mode 100644 index 000000000000..b72fecea3578 --- /dev/null +++ b/obj/item/mod/module/atrocinator.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/atrocinator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

atrocinator + + + +

+ +

Atrocinator - Flips your gravity.

+ +

Vars

step_countHow many steps the user has taken since turning the suit on, used for footsteps.
you_fucked_upIf you use the module on a planetary turf, you fly up. To the sky.
+

Var Details

step_count + + + + +

+

How many steps the user has taken since turning the suit on, used for footsteps.

you_fucked_up + + + + +

+

If you use the module on a planetary turf, you fly up. To the sky.

+ + + diff --git a/obj/item/mod/module/chameleon.html b/obj/item/mod/module/chameleon.html new file mode 100644 index 000000000000..5da38e2c9e5f --- /dev/null +++ b/obj/item/mod/module/chameleon.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/mod/module/chameleon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chameleon + + + +

+ +

Chameleon - Allows you to disguise your modsuit as another type

+ + + +

Vars

chameleon_blacklistMODsuit controllers that aren't allowed
chameleon_listList of MODsuits that can be used
chameleon_typeAll of these below are the stored MODsuit original stats
onIf the module's in use or not
+

Var Details

chameleon_blacklist + + + + +

+

MODsuit controllers that aren't allowed

chameleon_list + + + + +

+

List of MODsuits that can be used

chameleon_type + + + + +

+

All of these below are the stored MODsuit original stats

on + + + + +

+

If the module's in use or not

+ + + diff --git a/obj/item/mod/module/circuit.html b/obj/item/mod/module/circuit.html new file mode 100644 index 000000000000..640b3e0d3f59 --- /dev/null +++ b/obj/item/mod/module/circuit.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/circuit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

circuit + + + +

+ + +

Vars

shellA reference to the shell component, used to access the shell and its attached circuit
+

Var Details

shell + + + + +

+

A reference to the shell component, used to access the shell and its attached circuit

+ + + diff --git a/obj/item/mod/module/clamp.html b/obj/item/mod/module/clamp.html new file mode 100644 index 000000000000..e288a36191de --- /dev/null +++ b/obj/item/mod/module/clamp.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/clamp - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

clamp + + + +

+ +

Hydraulic Clamp - Lets you pick up and drop crates.

+ + +

Vars

load_timeTime it takes to load a crate.
max_cratesThe max amount of crates you can carry.
stored_cratesThe crates stored in the module.
+

Var Details

load_time + + + + +

+

Time it takes to load a crate.

max_crates + + + + +

+

The max amount of crates you can carry.

stored_crates + + + + +

+

The crates stored in the module.

+ + + diff --git a/obj/item/mod/module/dispenser.html b/obj/item/mod/module/dispenser.html new file mode 100644 index 000000000000..c8d2873fbdb0 --- /dev/null +++ b/obj/item/mod/module/dispenser.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/dispenser - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

dispenser + + + +

+ +

Dispenser - Dispenses an item after a time passes.

+ +

Vars

dispense_timeTime it takes for us to dispense.
dispense_typePath we dispense.
+

Var Details

dispense_time + + + + +

+

Time it takes for us to dispense.

dispense_type + + + + +

+

Path we dispense.

+ + + diff --git a/obj/item/mod/module/dna_lock.html b/obj/item/mod/module/dna_lock.html new file mode 100644 index 000000000000..2e1d65aa91b7 --- /dev/null +++ b/obj/item/mod/module/dna_lock.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/dna_lock - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

dna_lock + + + +

+ +

DNA Lock - Prevents people without the set DNA from activating the suit.

+

Vars

dnaThe DNA we lock with.
+

Var Details

dna + + + + +

+

The DNA we lock with.

+ + + diff --git a/obj/item/mod/module/energy_shield.html b/obj/item/mod/module/energy_shield.html new file mode 100644 index 000000000000..3f2b60d13c0b --- /dev/null +++ b/obj/item/mod/module/energy_shield.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/mod/module/energy_shield - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

energy_shield + + + +

+ +

Energy Shield - Gives you a rechargeable energy shield that nullifies attacks.

+ + + + + + + + +

Vars

charge_increment_delayHow much time it takes for charges to recover after they started recharging.
charge_recoveryHow much charge is recovered per recovery.
chargesCharges the shield should start with.
lose_multiple_chargesWhether or not this shield can lose multiple charges.
max_chargesMax charges of the shield.
recharge_pathThe item path to recharge this shielkd.
recharge_start_delayThe time it takes for the first charge to recover.
shield_iconThe icon_state of the shield.
shield_icon_fileThe icon file of the shield.
+

Var Details

charge_increment_delay + + + + +

+

How much time it takes for charges to recover after they started recharging.

charge_recovery + + + + +

+

How much charge is recovered per recovery.

charges + + + + +

+

Charges the shield should start with.

lose_multiple_charges + + + + +

+

Whether or not this shield can lose multiple charges.

max_charges + + + + +

+

Max charges of the shield.

recharge_path + + + + +

+

The item path to recharge this shielkd.

recharge_start_delay + + + + +

+

The time it takes for the first charge to recover.

shield_icon + + + + +

+

The icon_state of the shield.

shield_icon_file + + + + +

+

The icon file of the shield.

+ + + diff --git a/obj/item/mod/module/eradication_lock.html b/obj/item/mod/module/eradication_lock.html new file mode 100644 index 000000000000..93c5fd872572 --- /dev/null +++ b/obj/item/mod/module/eradication_lock.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/eradication_lock - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

eradication_lock + + + +

+ +

Eradication lock - Prevents people who aren't the owner of the suit from existing on the timeline via eradicating the suit with the intruder inside

+ + +

Vars

true_owner_ckeyThe ckey we lock with, to allow all alternate versions of the user.

Procs

on_mod_activationSignal fired when the modsuit tries activating
on_mod_removalSignal fired when the modsuit tries removing a module.
+

Var Details

true_owner_ckey + + + + +

+

The ckey we lock with, to allow all alternate versions of the user.

Proc Details

on_mod_activation +

+

Signal fired when the modsuit tries activating

on_mod_removal +

+

Signal fired when the modsuit tries removing a module.

+ + + diff --git a/obj/item/mod/module/flashlight.html b/obj/item/mod/module/flashlight.html new file mode 100644 index 000000000000..2d499b4032fc --- /dev/null +++ b/obj/item/mod/module/flashlight.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/flashlight - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

flashlight + + + +

+ +

Flashlight - Gives the suit a customizable flashlight.

+ + +

Vars

base_powerCharge drain per range amount.
max_rangeMaximum range we can set.
min_rangeMinimum range we can set.
+

Var Details

base_power + + + + +

+

Charge drain per range amount.

max_range + + + + +

+

Maximum range we can set.

min_range + + + + +

+

Minimum range we can set.

+ + + diff --git a/obj/item/mod/module/hat_stabilizer.html b/obj/item/mod/module/hat_stabilizer.html new file mode 100644 index 000000000000..1eecf832fbaf --- /dev/null +++ b/obj/item/mod/module/hat_stabilizer.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/hat_stabilizer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hat_stabilizer + + + +

+ +

Hat Stabilizer - Allows displaying a hat over the MOD-helmet, à la plasmamen helmets.

+ + +

Vars

attachable_hats_listWhitelist of attachable hats, read note in Initialize() below this line
attached_hatCurrently "stored" hat. No armor or function will be inherited, only the icon and cover flags.
former_flagsOriginal cover flags for the MOD helmet, before a hat is placed
+

Var Details

attachable_hats_list + + + + +

+

Whitelist of attachable hats, read note in Initialize() below this line

attached_hat + + + + +

+

Currently "stored" hat. No armor or function will be inherited, only the icon and cover flags.

former_flags + + + + +

+

Original cover flags for the MOD helmet, before a hat is placed

+ + + diff --git a/obj/item/mod/module/health_analyzer.html b/obj/item/mod/module/health_analyzer.html new file mode 100644 index 000000000000..3125feecf99c --- /dev/null +++ b/obj/item/mod/module/health_analyzer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/health_analyzer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

health_analyzer + + + +

+ +

Health Analyzer - Gives the user a ranged health analyzer and their health status in the panel.

+ +

Vars

modeScanning mode, changes how we scan something.
modesList of all scanning modes.
+

Var Details

mode + + + + +

+

Scanning mode, changes how we scan something.

modes + + + + +

+

List of all scanning modes.

+ + + diff --git a/obj/item/mod/module/hydraulic.html b/obj/item/mod/module/hydraulic.html new file mode 100644 index 000000000000..a64ad5aed1bf --- /dev/null +++ b/obj/item/mod/module/hydraulic.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/hydraulic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hydraulic + + + +

+ + + +

Vars

launch_timeTime it takes to launch
lightningUser overlay
+

Var Details

launch_time + + + + +

+

Time it takes to launch

lightning + + + + +

+

User overlay

+ + + diff --git a/obj/item/mod/module/jetpack.html b/obj/item/mod/module/jetpack.html new file mode 100644 index 000000000000..84582d52af28 --- /dev/null +++ b/obj/item/mod/module/jetpack.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/jetpack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

jetpack + + + +

+ +

Ion Jetpack - Lets the user fly freely through space using battery charge.

+ +

Vars

full_speedDo we give the wearer a speed buff.
stabilizersDo we stop the wearer from gliding in space.
+

Var Details

full_speed + + + + +

+

Do we give the wearer a speed buff.

stabilizers + + + + +

+

Do we stop the wearer from gliding in space.

+ + + diff --git a/obj/item/mod/module/magboot.html b/obj/item/mod/module/magboot.html new file mode 100644 index 000000000000..eb89024ea7ac --- /dev/null +++ b/obj/item/mod/module/magboot.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/magboot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

magboot + + + +

+ +

Magnetic Stability - Gives the user a slowdown but makes them negate gravity and be immune to slips.

+ +

Vars

active_traitsA list of traits to add to the wearer when we're active (see: Magboots)
slowdown_activeSlowdown added onto the suit.
+

Var Details

active_traits + + + + +

+

A list of traits to add to the wearer when we're active (see: Magboots)

slowdown_active + + + + +

+

Slowdown added onto the suit.

+ + + diff --git a/obj/item/mod/module/magnetic_harness.html b/obj/item/mod/module/magnetic_harness.html new file mode 100644 index 000000000000..ee8b0bc96c74 --- /dev/null +++ b/obj/item/mod/module/magnetic_harness.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/magnetic_harness - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

magnetic_harness + + + +

+ +

Magnetic Harness - Automatically puts guns in your suit storage when you drop them.

+ + +

Vars

already_allowed_gunsThe guns already allowed by the modsuit chestplate.
guns_typecacheThe typecache of all guns we allow.
magnet_delayTime before we activate the magnet.
+

Var Details

already_allowed_guns + + + + +

+

The guns already allowed by the modsuit chestplate.

guns_typecache + + + + +

+

The typecache of all guns we allow.

magnet_delay + + + + +

+

Time before we activate the magnet.

+ + + diff --git a/obj/item/mod/module/mouthhole.html b/obj/item/mod/module/mouthhole.html new file mode 100644 index 000000000000..179dfc7aed32 --- /dev/null +++ b/obj/item/mod/module/mouthhole.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/mod/module/mouthhole - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mouthhole + + + +

+ +

Eating Apparatus - Lets the user eat/drink with the suit on.

+ + + +

Vars

former_helmet_flagsFormer flags of the helmet.
former_mask_flagsFormer flags of the mask.
former_visor_helmet_flagsFormer visor flags of the helmet.
former_visor_mask_flagsFormer visor flags of the mask.
+

Var Details

former_helmet_flags + + + + +

+

Former flags of the helmet.

former_mask_flags + + + + +

+

Former flags of the mask.

former_visor_helmet_flags + + + + +

+

Former visor flags of the helmet.

former_visor_mask_flags + + + + +

+

Former visor flags of the mask.

+ + + diff --git a/obj/item/mod/module/orebag.html b/obj/item/mod/module/orebag.html new file mode 100644 index 000000000000..42a25eb7359c --- /dev/null +++ b/obj/item/mod/module/orebag.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/orebag - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

orebag + + + +

+ +

Ore Bag - Lets you pick up ores and drop them from the suit.

+

Vars

oresThe ores stored in the bag.
+

Var Details

ores + + + + +

+

The ores stored in the bag.

+ + + diff --git a/obj/item/mod/module/paper_dispenser.html b/obj/item/mod/module/paper_dispenser.html new file mode 100644 index 000000000000..c6fd7a1bab68 --- /dev/null +++ b/obj/item/mod/module/paper_dispenser.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/paper_dispenser - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

paper_dispenser + + + +

+ +

Paper Dispenser - Dispenses (sometimes burning) paper sheets.

+

Vars

num_sheets_dispensedThe total number of sheets created by this MOD. The more sheets, them more likely they set on fire.
+

Var Details

num_sheets_dispensed + + + + +

+

The total number of sheets created by this MOD. The more sheets, them more likely they set on fire.

+ + + diff --git a/obj/item/mod/module/pathfinder.html b/obj/item/mod/module/pathfinder.html new file mode 100644 index 000000000000..793a33e56549 --- /dev/null +++ b/obj/item/mod/module/pathfinder.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/pathfinder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pathfinder + + + +

+ +

Pathfinder - Can fly the suit from a long distance to an implant installed in someone.

+

Vars

implantThe pathfinding implant.
+

Var Details

implant + + + + +

+

The pathfinding implant.

+ + + diff --git a/obj/item/mod/module/rad_protection.html b/obj/item/mod/module/rad_protection.html new file mode 100644 index 000000000000..b91adb2e07b0 --- /dev/null +++ b/obj/item/mod/module/rad_protection.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/rad_protection - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

rad_protection + + + +

+ +

Radiation Protection - Protects the user from radiation, gives them a geiger counter and rad info in the panel.

+

Vars

perceived_threat_levelRadiation threat level being perceived.
+

Var Details

perceived_threat_level + + + + +

+

Radiation threat level being perceived.

+ + + diff --git a/obj/item/mod/module/rewinder.html b/obj/item/mod/module/rewinder.html new file mode 100644 index 000000000000..e28f3c2ec649 --- /dev/null +++ b/obj/item/mod/module/rewinder.html @@ -0,0 +1,49 @@ + + + + + + + /obj/item/mod/module/rewinder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

rewinder + + + +

+ +

Rewinder - Activating saves a point in time, after 10 seconds you will jump back to that state.

+ + +

Procs

on_activate_blockSignal fired when wearer attempts to activate/deactivate suits
on_module_triggeredSignal fired when wearer attempts to trigger modules, if attempting while time is stopped
unblock_suit_activationUnregisters the modsuit deactivation blocking signal, after dejavu functionality finishes.

Proc Details

on_activate_block +

+

Signal fired when wearer attempts to activate/deactivate suits

on_module_triggered +

+

Signal fired when wearer attempts to trigger modules, if attempting while time is stopped

unblock_suit_activation +

+

Unregisters the modsuit deactivation blocking signal, after dejavu functionality finishes.

+ + + diff --git a/obj/item/mod/module/springlock.html b/obj/item/mod/module/springlock.html new file mode 100644 index 000000000000..43da27a1c3c5 --- /dev/null +++ b/obj/item/mod/module/springlock.html @@ -0,0 +1,49 @@ + + + + + + + /obj/item/mod/module/springlock - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

springlock + + + +

+ +

Springlock Mechanism - allows your modsuit to activate faster, but reagents are very dangerous.

+ + +

Procs

on_activate_spring_blockSignal fired when wearer attempts to activate/deactivate suits
on_wearer_exposedSignal fired when wearer is exposed to reagents
snap_shutDelayed death proc of the suit after the wearer is exposed to reagents

Proc Details

on_activate_spring_block +

+

Signal fired when wearer attempts to activate/deactivate suits

on_wearer_exposed +

+

Signal fired when wearer is exposed to reagents

snap_shut +

+

Delayed death proc of the suit after the wearer is exposed to reagents

+ + + diff --git a/obj/item/mod/module/stealth.html b/obj/item/mod/module/stealth.html new file mode 100644 index 000000000000..b2dcbbdc2236 --- /dev/null +++ b/obj/item/mod/module/stealth.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/stealth - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

stealth + + + +

+ +

Cloaking - Lowers the user's visibility, can be interrupted by being touched or attacked.

+ +

Vars

bumpoffWhether or not the cloak turns off on bumping.
stealth_alphaThe alpha applied when the cloak is on.
+

Var Details

bumpoff + + + + +

+

Whether or not the cloak turns off on bumping.

stealth_alpha + + + + +

+

The alpha applied when the cloak is on.

+ + + diff --git a/obj/item/mod/module/storage.html b/obj/item/mod/module/storage.html new file mode 100644 index 000000000000..0c807b3380b9 --- /dev/null +++ b/obj/item/mod/module/storage.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/storage - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

storage + + + +

+ +

Storage - Adds a storage component to the suit.

+ + +

Vars

max_combined_w_classMax combined weight of all items in the storage.
max_itemsMax amount of items in the storage.
max_w_classMax weight class of items in the storage.
+

Var Details

max_combined_w_class + + + + +

+

Max combined weight of all items in the storage.

max_items + + + + +

+

Max amount of items in the storage.

max_w_class + + + + +

+

Max weight class of items in the storage.

+ + + diff --git a/obj/item/mod/module/t_ray.html b/obj/item/mod/module/t_ray.html new file mode 100644 index 000000000000..ca2f1548b5a3 --- /dev/null +++ b/obj/item/mod/module/t_ray.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/t_ray - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

t_ray + + + +

+ +

T-Ray Scan - Scans the terrain for undertile objects.

+

Vars

rangeT-ray scan range.
+

Var Details

range + + + + +

+

T-ray scan range.

+ + + diff --git a/obj/item/mod/module/tem.html b/obj/item/mod/module/tem.html new file mode 100644 index 000000000000..bd999933ebb2 --- /dev/null +++ b/obj/item/mod/module/tem.html @@ -0,0 +1,80 @@ + + + + + + + /obj/item/mod/module/tem - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tem + + + +

+ +

TEM - Lets you eradicate people.

+ + + + +

Vars

fieldReference to the chrono field being controlled by this module
startposWhere the chronofield maker was when the field went up

Procs

field_check
field_connect
field_disconnect
+

Var Details

field + + + + +

+

Reference to the chrono field being controlled by this module

startpos + + + + +

+

Where the chronofield maker was when the field went up

Proc Details

field_check +

+ field_check +

Checks to see if our field can still be linked to the tem. If it isn't, it will unlink the field.

+

Arguments:

+

field_connect +

+ field_connect +

Links a chrono field to this module. The chrono field will keep track of the eradication process. +Unlinks a chrono field if it is connected to a tem already.

+

Arguments:

+

field_disconnect +

+ field_disconnect +

Unlinks a chrono field from this module.

+

Arguments:

+
+ + + diff --git a/obj/item/mod/module/thermal_regulator.html b/obj/item/mod/module/thermal_regulator.html new file mode 100644 index 000000000000..01e808b2ec65 --- /dev/null +++ b/obj/item/mod/module/thermal_regulator.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/thermal_regulator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

thermal_regulator + + + +

+ +

Thermal Regulator - Regulates the wearer's core temperature.

+ + +

Vars

max_tempMaximum temperature we can set.
min_tempMinimum temperature we can set.
temperature_settingThe temperature we are regulating to.
+

Var Details

max_temp + + + + +

+

Maximum temperature we can set.

min_temp + + + + +

+

Minimum temperature we can set.

temperature_setting + + + + +

+

The temperature we are regulating to.

+ + + diff --git a/obj/item/mod/module/timeline_jumper.html b/obj/item/mod/module/timeline_jumper.html new file mode 100644 index 000000000000..5f86c5a3194a --- /dev/null +++ b/obj/item/mod/module/timeline_jumper.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/timeline_jumper - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

timeline_jumper + + + +

+ +

Timeline Jumper - Infinite phasing. needs some special effects

+ +

Vars

phased_mobThe dummy for phasing from this module, the wearer is phased out while this exists.

Procs

on_activate_blockSignal fired when wearer attempts to activate/deactivate suits while phased out
+

Var Details

phased_mob + + + + +

+

The dummy for phasing from this module, the wearer is phased out while this exists.

Proc Details

on_activate_block +

+

Signal fired when wearer attempts to activate/deactivate suits while phased out

+ + + diff --git a/obj/item/mod/module/timestopper.html b/obj/item/mod/module/timestopper.html new file mode 100644 index 000000000000..08a427610800 --- /dev/null +++ b/obj/item/mod/module/timestopper.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/mod/module/timestopper - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

timestopper + + + +

+ +

Timestopper - Need I really explain? It's the wizard's time stop, but the user channels it by not moving instead of a duration.

+ + + +

Vars

timestopThe current timestop in progress.

Procs

on_activate_blockSignal fired when wearer attempts to activate/deactivate suits, if attempting while time is stopped
on_module_triggeredSignal fired when wearer attempts to trigger modules, if attempting while time is stopped
unblock_suit_activationUnregisters the modsuit deactivation blocking signal, after timestop functionality finishes.
+

Var Details

timestop + + + + +

+

The current timestop in progress.

Proc Details

on_activate_block +

+

Signal fired when wearer attempts to activate/deactivate suits, if attempting while time is stopped

on_module_triggered +

+

Signal fired when wearer attempts to trigger modules, if attempting while time is stopped

unblock_suit_activation +

+

Unregisters the modsuit deactivation blocking signal, after timestop functionality finishes.

+ + + diff --git a/obj/item/mod/module/visor.html b/obj/item/mod/module/visor.html new file mode 100644 index 000000000000..3265ac30b115 --- /dev/null +++ b/obj/item/mod/module/visor.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/visor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

visor + + + +

+ +

Base Visor - Adds a specific HUD and traits to you.

+ +

Vars

hud_typeThe HUD type given by the visor.
visor_traitsThe traits given by the visor.
+

Var Details

hud_type + + + + +

+

The HUD type given by the visor.

visor_traits + + + + +

+

The traits given by the visor.

+ + + diff --git a/obj/item/mod/module/visor/rave.html b/obj/item/mod/module/visor/rave.html new file mode 100644 index 000000000000..89c25a2b34f4 --- /dev/null +++ b/obj/item/mod/module/visor/rave.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/mod/module/visor/rave - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

rave + + + +

+ +

Rave Visor - Gives you a rainbow visor and plays jukebox music to you.

+ + + + +

Vars

rainbow_orderA list of the colors the module can take.
rave_numberThe current element in the rainbow_order list we are on.
rave_screenThe client colors applied to the wearer.
selectionThe track we selected to play.
songsA list of all the songs we can play.
+

Var Details

rainbow_order + + + + +

+

A list of the colors the module can take.

rave_number + + + + +

+

The current element in the rainbow_order list we are on.

rave_screen + + + + +

+

The client colors applied to the wearer.

selection + + + + +

+

The track we selected to play.

songs + + + + +

+

A list of all the songs we can play.

+ + + diff --git a/obj/item/modular_computer.html b/obj/item/modular_computer.html new file mode 100644 index 000000000000..32cec42fcf66 --- /dev/null +++ b/obj/item/modular_computer.html @@ -0,0 +1,227 @@ + + + + + + + /obj/item/modular_computer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

modular_computer + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

all_componentsList of "connection ports" in this computer and the components with which they are plugged
allow_chunkyAllow people with chunky fingers to use?
comp_light_colorThe built-in light's color, editable by players.
comp_light_luminosityHow far the computer's light can reach, is not editable by players.
expansion_baysLazy List of extra hardware slots that can be used modularly.
idle_threadshonk honk honk honk honk honkh onk honkhnoohnk
imprint_prefixIs this computer allowed to save imprint information? (truthy), If so, what's the prefix?
inserted_paiStored pAI in the computer
last_ambient_soundLast world.time a beep played.
looping_soundWhether or not this modular computer uses the looping sound
max_baysNumber of total expansion bays this computer has available.
max_idle_programsAmount of programs that can be ran at once
saved_jobThe title of the job saved to this PC. Will often not be a real job, this is for flavor.
soundloopLooping sound for when the computer is on

Procs

alert_callDisplays notification text alongside a soundbeep when requested to by a program.
find_hardware_by_nameChecks all hardware pieces to determine if name matches, if yes, returns the hardware piece, otherwise returns null
forget_componentThis isn't the "uninstall fully" proc, it just makes the computer lose all its references to the component
install_componentInstalls component.
notify_hardware_changeNotify all programs of hardware changes.
notify_id_insertedNotify all programs about an ID insertion.
notify_id_removedNotify all programs about an ID removal.
play_pingPlays a ping sound.
set_flashlight_colorSets the computer's light color, if it has a light.
toggle_flashlightToggles the computer's flashlight, if it has one.
uninstall_componentUninstalls component.
wipe_programWipes the computer's current program. Doesn't handle any of the niceties around doing this
+

Var Details

all_components + + + + +

+

List of "connection ports" in this computer and the components with which they are plugged

allow_chunky + + + + +

+

Allow people with chunky fingers to use?

comp_light_color + + + + +

+

The built-in light's color, editable by players.

comp_light_luminosity + + + + +

+

How far the computer's light can reach, is not editable by players.

expansion_bays + + + + +

+

Lazy List of extra hardware slots that can be used modularly.

idle_threads + + + + +

+

honk honk honk honk honk honkh onk honkhnoohnk

imprint_prefix + + + + +

+

Is this computer allowed to save imprint information? (truthy), If so, what's the prefix?

inserted_pai + + + + +

+

Stored pAI in the computer

last_ambient_sound + + + + +

+

Last world.time a beep played.

looping_sound + + + + +

+

Whether or not this modular computer uses the looping sound

max_bays + + + + +

+

Number of total expansion bays this computer has available.

max_idle_programs + + + + +

+

Amount of programs that can be ran at once

saved_job + + + + +

+

The title of the job saved to this PC. Will often not be a real job, this is for flavor.

soundloop + + + + +

+

Looping sound for when the computer is on

Proc Details

alert_call +

+

Displays notification text alongside a soundbeep when requested to by a program.

+

After checking tha the requesting program is allowed to send an alert, creates +a visible message of the requested text alongside a soundbeep. This proc adds +text to indicate that the message is coming from this device and the program +on it, so the supplied text should be the exact message and ending punctuation.

+

Arguments: +The program calling this proc. +The message that the program wishes to display.

find_hardware_by_name +

+

Checks all hardware pieces to determine if name matches, if yes, returns the hardware piece, otherwise returns null

forget_component +

+

This isn't the "uninstall fully" proc, it just makes the computer lose all its references to the component

install_component +

+

Installs component.

notify_hardware_change +

+

Notify all programs of hardware changes.

notify_id_inserted +

+

Notify all programs about an ID insertion.

notify_id_removed +

+

Notify all programs about an ID removal.

play_ping +

+

Plays a ping sound.

+

Timers runtime if you try to make them call playsound. Yep.

set_flashlight_color +

+

Sets the computer's light color, if it has a light.

+

Called from ui_act(), this proc takes a color string and applies it. +It is separated from ui_act() to be overwritten as needed. +Arguments:

+

toggle_flashlight +

+

Toggles the computer's flashlight, if it has one.

+

Called from ui_act(), does as the name implies. +It is separated from ui_act() to be overwritten as needed.

uninstall_component +

+

Uninstalls component.

wipe_program +

+

Wipes the computer's current program. Doesn't handle any of the niceties around doing this

+ + + diff --git a/obj/item/modular_computer/tablet/integrated.html b/obj/item/modular_computer/tablet/integrated.html new file mode 100644 index 000000000000..a9584d93ed29 --- /dev/null +++ b/obj/item/modular_computer/tablet/integrated.html @@ -0,0 +1,63 @@ + + + + + + + /obj/item/modular_computer/tablet/integrated - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

integrated + + + +

+ +

Borg Built-in tablet interface

+ + + +

Vars

borglogIC log that borgs can view in their personal management app
borgoRef to the silicon we're installed in. Set by the borg during our creation.
robotactRef to the RoboTact app. Important enough to borgs to deserve a ref.

Procs

get_robotactReturns a ref to the RoboTact app, creating the app if need be.
+

Var Details

borglog + + + + +

+

IC log that borgs can view in their personal management app

borgo + + + + +

+

Ref to the silicon we're installed in. Set by the borg during our creation.

robotact + + + + +

+

Ref to the RoboTact app. Important enough to borgs to deserve a ref.

Proc Details

get_robotact +

+

Returns a ref to the RoboTact app, creating the app if need be.

+

The RoboTact app is important for borgs, and so should always be available. +This proc will look for it in the tablet's robotact var, then check the +hard drive if the robotact var is unset, and finally attempt to create a new +copy if the hard drive does not contain the app. If the hard drive rejects +the new copy (such as due to lack of space), the proc will crash with an error. +RoboTact is supposed to be undeletable, so these will create runtime messages.

+ + + diff --git a/obj/item/modular_computer/tablet/nukeops.html b/obj/item/modular_computer/tablet/nukeops.html new file mode 100644 index 000000000000..0d0d82b0c679 --- /dev/null +++ b/obj/item/modular_computer/tablet/nukeops.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/modular_computer/tablet/nukeops - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

nukeops + + + +

+ +

Given to Nuke Ops members.

+

Procs

InitializeGiven to Nuke Ops members.

Proc Details

Initialize +

+

Given to Nuke Ops members.

+ + + diff --git a/obj/item/mop.html b/obj/item/mop.html new file mode 100644 index 000000000000..82b641fd77d1 --- /dev/null +++ b/obj/item/mop.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mop - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mop + + + +

+ + +

Vars

max_reagent_volumeMaximum volume of reagents it can hold.
+

Var Details

max_reagent_volume + + + + +

+

Maximum volume of reagents it can hold.

+ + + diff --git a/obj/item/mop/advanced.html b/obj/item/mop/advanced.html new file mode 100644 index 000000000000..96dfa35754a3 --- /dev/null +++ b/obj/item/mop/advanced.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mop/advanced - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

advanced + + + +

+ + +

Vars

refill_rateAmount of reagent to refill per second
+

Var Details

refill_rate + + + + +

+

Amount of reagent to refill per second

+ + + diff --git a/obj/item/multitool/circuit.html b/obj/item/multitool/circuit.html new file mode 100644 index 000000000000..ebf807821732 --- /dev/null +++ b/obj/item/multitool/circuit.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/multitool/circuit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

circuit + + + +

+ + + +

Vars

marked_atomThe marked atom of this multitool

Procs

clear_marked_atomClears the current marked atom
+

Var Details

marked_atom + + + + +

+

The marked atom of this multitool

Proc Details

clear_marked_atom +

+

Clears the current marked atom

+ + + diff --git a/obj/item/nuclear_challenge.html b/obj/item/nuclear_challenge.html new file mode 100644 index 000000000000..25c056f73cf0 --- /dev/null +++ b/obj/item/nuclear_challenge.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/nuclear_challenge - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

nuclear_challenge + + + +

+ + +

Procs

force_warAdmin only proc to bypass checks and force a war declaration. Button on antag panel.

Proc Details

force_war +

+

Admin only proc to bypass checks and force a war declaration. Button on antag panel.

+ + + diff --git a/obj/item/nullrod.html b/obj/item/nullrod.html new file mode 100644 index 000000000000..3ed170a4d77b --- /dev/null +++ b/obj/item/nullrod.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/nullrod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

nullrod + + + +

+ + + +

Vars

chaplain_spawnableboolean on whether it's allowed to be picked from the nullrod's transformation ability
menu_descriptionShort description of what this item is capable of, for radial menu uses.
+

Var Details

chaplain_spawnable + + + + +

+

boolean on whether it's allowed to be picked from the nullrod's transformation ability

menu_description + + + + +

+

Short description of what this item is capable of, for radial menu uses.

+ + + diff --git a/obj/item/nullrod/staff.html b/obj/item/nullrod/staff.html new file mode 100644 index 000000000000..f1ed5830baf1 --- /dev/null +++ b/obj/item/nullrod/staff.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/nullrod/staff - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

staff + + + +

+ + +

Vars

shield_iconThe icon which appears over the mob holding the item
+

Var Details

shield_icon + + + + +

+

The icon which appears over the mob holding the item

+ + + diff --git a/obj/item/offhand.html b/obj/item/offhand.html new file mode 100644 index 000000000000..9f3c6b75091c --- /dev/null +++ b/obj/item/offhand.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/offhand - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

offhand + + + +

+ +

The offhand dummy item for two handed items

+

Vars

parentA weakref to the wielded item.
+

Var Details

parent + + + + +

+

A weakref to the wielded item.

+ + + diff --git a/obj/item/organ.html b/obj/item/organ.html new file mode 100644 index 000000000000..eb51df8a846b --- /dev/null +++ b/obj/item/organ.html @@ -0,0 +1,472 @@ + + + + + + + /obj/item/organ - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

organ + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

color_sourceWhere does this organ inherit it's color from?
cosmetic_onlyIf the organ is cosmetic only, it loses all organ functionality.
damageTotal damage this organ has sustained +Should only ever be modified by applyOrganDamage
dna_blockWith what DNA block do we mutate in mutate_feature() ? For genetics
draw_colorThe color this organ draws with. Updated by bodypart/inherit_color()
external_bodytypesDoes this organ have any bodytypes to pass to it's ownerlimb?
external_damage_modifierAmount of damage to take when taking damage from an external source
feature_keyDefines what kind of 'organ' we're looking at. Sprites have names like 'm_mothwings_firemoth'. 'mothwings' would then be feature_key
layersSometimes we need multiple layers, for like the back, middle and front of the person
mutcolor_indexWhich index of the mutcolor key list to use. Defaults to 1, so MUTCOLORS_GENERIC_1 if mutcolor_used is MUTCOLORS_KEY_GENERIC
mutcolor_usedSee above
mutcolorsUsed by ORGAN_COLOR_INHERIT_ALL, allows full control of the owner's mutcolors
organ_traitsTraits that are given to the holder of the organ. If you want an effect that changes this, don't add directly to this. Use the add_organ_trait() proc
ownerThe mob that owns this organ.
ownerlimbReference to the limb we're inside of
preferenceThe savefile_key of the preference this relates to. Used for the preferences UI.
prev_damageOrgan variables for determining what we alert the owner with when they pass/clear the damage thresholds
reagent_volThe size of the reagent container
relative_sizeThe relative size of this organ, used for probability to hit.
render_keySimilar to feature key, but overrides it in the case you need more fine control over the iconstate, like with Tails.
severe_cooldowncooldown for severe effects, used for synthetic organ emp effects.
slotThe organ slot this organ is supposed to inhabit. This should be unique by type. (Lungs, Appendix, Stomach, etc)
sprite_datumSprite datum we use to draw on the bodypart
stored_feature_idStores the dna.features[feature_key], used for external organs that can be surgically removed or inserted.
time_of_deathThe world.time of this organ's death
useableWhen you take a bite you cant jam it in for surgery anymore.
visualDo we effect the appearance of our mob. Used to save time in preference code
zoneThe body zone this organ is supposed to inhabit.

Procs

PreRevivalInsertionprocessing_organs must ALWAYS be ordered in the same way as organ_process_order +Otherwise life processing breaks down
add_organ_traitAdd a trait to an organ that it will give its owner.
applyOrganDamageAdjusts an organ's damage by the amount "damage_amount", up to a maximum amount, which is by default max damage
attempt_vital_organ_revivalCalled by Insert() if the organ is vital and the target is dead.
before_organ_replacementCalled before organs are replaced in regenerate_organs with new ones
build_cache_keyGenerate a unique key based on our sprites. So that if we've aleady drawn these sprites, they can be found in the cache and wont have to be drawn again (blessing and curse)
build_overlaysBuild overlays
can_draw_on_bodypartCheck whether we can draw the overlays. You generally don't want lizard snouts to draw over an EVA suit
can_recoverCan this organ be revived from the dead?
check_damage_thresholds
check_failing_thresholdsChecks if an organ should/shouldn't be failing and gives the appropriate organ flag
cut_awayCut an organ away from it's container, but do not remove it from the container physically.
ex_actA little hack to ensure old behavior.
exit_wardrobeUsed as callbacks by object pooling
get_availability
get_global_feature_listReturn a dumb glob list for this specific feature (called from parse_sprite)
get_overlaysAdd the overlays we need to draw on a person. Called from _bodyparts.dm
get_scan_resultsCalled by medical scanners to get a simple summary of how healthy the organ is. Returns an empty string if things are fine.
inherit_colorGive the organ it's color. Force will override the existing one.
mutate_featureUpdate our features after something changed our appearance
on_deathThis is on_life() but for when the organ is dead or outside of a mob. Bad name.
on_lifeCalled once every life tick on every organ in a carbon's body +NOTE: THIS IS VERY HOT. Be careful what you put in here +To give you some scale, if there's 100 carbons in the game, they each have maybe 9 organs +So that's 900 calls to this proc every life process. Please don't be dumb +Return TRUE to call updatehealth(). Please only call inside of on_life() if it's important.
override_colorColorizes the limb it's inserted to, if required.
remove_organ_traitRemoves a trait from an organ, and by extension, its owner.
setOrganDamageSETS an organ's damage to the amount "damage_amount", and in doing so clears or sets the failing flag, good for when you have an effect that should fix an organ if broken
set_organ_deadSet or unset the organ as failing. Returns TRUE on success.
set_spriteSystem for drawing organs with overlays. These overlays are drawn directly on the bodypart, attached to a person or not +Works in tandem with the /datum/sprite_accessory datum to generate sprites +Unlike normal organs, we're actually inside a persons limbs at all times
surgically_fixUsed for the fix_organ surgery, lops off some of the maxHealth if the organ was very damaged.
update_organ_traitsUpdates the traits of the organ on the specific organ it is called on. Should be called anytime an organ is given a trait while it is already in a body.
+

Var Details

color_source + + + + +

+

Where does this organ inherit it's color from?

cosmetic_only + + + + +

+

If the organ is cosmetic only, it loses all organ functionality.

damage + + + + +

+

Total damage this organ has sustained +Should only ever be modified by applyOrganDamage

dna_block + + + + +

+

With what DNA block do we mutate in mutate_feature() ? For genetics

draw_color + + + + +

+

The color this organ draws with. Updated by bodypart/inherit_color()

external_bodytypes + + + + +

+

Does this organ have any bodytypes to pass to it's ownerlimb?

external_damage_modifier + + + + +

+

Amount of damage to take when taking damage from an external source

feature_key + + + + +

+

Defines what kind of 'organ' we're looking at. Sprites have names like 'm_mothwings_firemoth'. 'mothwings' would then be feature_key

layers + + + + +

+

Sometimes we need multiple layers, for like the back, middle and front of the person

mutcolor_index + + + + +

+

Which index of the mutcolor key list to use. Defaults to 1, so MUTCOLORS_GENERIC_1 if mutcolor_used is MUTCOLORS_KEY_GENERIC

mutcolor_used + + + + +

+

See above

mutcolors + + + + +

+

Used by ORGAN_COLOR_INHERIT_ALL, allows full control of the owner's mutcolors

organ_traits + + + + +

+

Traits that are given to the holder of the organ. If you want an effect that changes this, don't add directly to this. Use the add_organ_trait() proc

owner + + + + +

+

The mob that owns this organ.

ownerlimb + + + + +

+

Reference to the limb we're inside of

preference + + + + +

+

The savefile_key of the preference this relates to. Used for the preferences UI.

prev_damage + + + + +

+

Organ variables for determining what we alert the owner with when they pass/clear the damage thresholds

reagent_vol + + + + +

+

The size of the reagent container

relative_size + + + + +

+

The relative size of this organ, used for probability to hit.

render_key + + + + +

+

Similar to feature key, but overrides it in the case you need more fine control over the iconstate, like with Tails.

severe_cooldown + + + + +

+

cooldown for severe effects, used for synthetic organ emp effects.

slot + + + + +

+

The organ slot this organ is supposed to inhabit. This should be unique by type. (Lungs, Appendix, Stomach, etc)

sprite_datum + + + + +

+

Sprite datum we use to draw on the bodypart

stored_feature_id + + + + +

+

Stores the dna.features[feature_key], used for external organs that can be surgically removed or inserted.

time_of_death + + + + +

+

The world.time of this organ's death

useable + + + + +

+

When you take a bite you cant jam it in for surgery anymore.

visual + + + + +

+

Do we effect the appearance of our mob. Used to save time in preference code

zone + + + + +

+

The body zone this organ is supposed to inhabit.

Proc Details

PreRevivalInsertion +

+

processing_organs must ALWAYS be ordered in the same way as organ_process_order +Otherwise life processing breaks down

add_organ_trait +

+

Add a trait to an organ that it will give its owner.

applyOrganDamage +

+

Adjusts an organ's damage by the amount "damage_amount", up to a maximum amount, which is by default max damage

attempt_vital_organ_revival +

+

Called by Insert() if the organ is vital and the target is dead.

before_organ_replacement +

+

Called before organs are replaced in regenerate_organs with new ones

build_cache_key +

+

Generate a unique key based on our sprites. So that if we've aleady drawn these sprites, they can be found in the cache and wont have to be drawn again (blessing and curse)

build_overlays +

+

Build overlays

can_draw_on_bodypart +

+

Check whether we can draw the overlays. You generally don't want lizard snouts to draw over an EVA suit

can_recover +

+

Can this organ be revived from the dead?

check_damage_thresholds +

+

check_failing_thresholds +

+

Checks if an organ should/shouldn't be failing and gives the appropriate organ flag

cut_away +

+

Cut an organ away from it's container, but do not remove it from the container physically.

ex_act +

+

A little hack to ensure old behavior.

exit_wardrobe +

+

Used as callbacks by object pooling

get_availability +

+

get_global_feature_list +

+

Return a dumb glob list for this specific feature (called from parse_sprite)

get_overlays +

+

Add the overlays we need to draw on a person. Called from _bodyparts.dm

get_scan_results +

+

Called by medical scanners to get a simple summary of how healthy the organ is. Returns an empty string if things are fine.

inherit_color +

+

Give the organ it's color. Force will override the existing one.

mutate_feature +

+

Update our features after something changed our appearance

on_death +

+

This is on_life() but for when the organ is dead or outside of a mob. Bad name.

on_life +

+

Called once every life tick on every organ in a carbon's body +NOTE: THIS IS VERY HOT. Be careful what you put in here +To give you some scale, if there's 100 carbons in the game, they each have maybe 9 organs +So that's 900 calls to this proc every life process. Please don't be dumb +Return TRUE to call updatehealth(). Please only call inside of on_life() if it's important.

override_color +

+

Colorizes the limb it's inserted to, if required.

remove_organ_trait +

+

Removes a trait from an organ, and by extension, its owner.

setOrganDamage +

+

SETS an organ's damage to the amount "damage_amount", and in doing so clears or sets the failing flag, good for when you have an effect that should fix an organ if broken

set_organ_dead +

+

Set or unset the organ as failing. Returns TRUE on success.

set_sprite +

+

System for drawing organs with overlays. These overlays are drawn directly on the bodypart, attached to a person or not +Works in tandem with the /datum/sprite_accessory datum to generate sprites +Unlike normal organs, we're actually inside a persons limbs at all times

+

mob_sprite is optional if you havent set sprite_datums for the object, and is used mostly to generate sprite_datums from a persons DNA +For _mob_sprite we make a distinction between "Round Snout" and "round". Round Snout is the name of the sprite datum, while "round" would be part of the sprite +I'm sorry

surgically_fix +

+

Used for the fix_organ surgery, lops off some of the maxHealth if the organ was very damaged.

update_organ_traits +

+

Updates the traits of the organ on the specific organ it is called on. Should be called anytime an organ is given a trait while it is already in a body.

+ + + diff --git a/obj/item/organ/alien/hivenode.html b/obj/item/organ/alien/hivenode.html new file mode 100644 index 000000000000..db4f615d896e --- /dev/null +++ b/obj/item/organ/alien/hivenode.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/alien/hivenode - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

hivenode + + + +

+ + +

Vars

recent_queen_deathIndicates if the queen died recently, aliens are heavily weakened while this is active.
+

Var Details

recent_queen_death + + + + +

+

Indicates if the queen died recently, aliens are heavily weakened while this is active.

+ + + diff --git a/obj/item/organ/alien/plasmavessel.html b/obj/item/organ/alien/plasmavessel.html new file mode 100644 index 000000000000..c49a787ef0ef --- /dev/null +++ b/obj/item/organ/alien/plasmavessel.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/organ/alien/plasmavessel - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

plasmavessel + + + +

+ + + + + +

Vars

heal_rateThe rate this organ regenerates its owners health at per damage type per second.
max_plasmaThe maximum plasma this organ can store.
plasma_rateThe rate this organ regenerates plasma at per second.
stored_plasmaThe current amount of stored plasma.
+

Var Details

heal_rate + + + + +

+

The rate this organ regenerates its owners health at per damage type per second.

max_plasma + + + + +

+

The maximum plasma this organ can store.

plasma_rate + + + + +

+

The rate this organ regenerates plasma at per second.

stored_plasma + + + + +

+

The current amount of stored plasma.

+ + + diff --git a/obj/item/organ/antennae.html b/obj/item/organ/antennae.html new file mode 100644 index 000000000000..e335f1fdb9d4 --- /dev/null +++ b/obj/item/organ/antennae.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/organ/antennae - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

antennae + + + +

+ +

A moth's antennae

+ + + + +

Vars

burntAre we burned?
organ_flagsUnremovable is until the features are completely finished
original_spriteStore our old sprite here for if our antennae wings are healed

Procs

heal_antennaeheal our antennae back up!!
try_burn_antennaecheck if our antennae can burn off ;_;
+

Var Details

burnt + + + + +

+

Are we burned?

organ_flags + + + + +

+

Unremovable is until the features are completely finished

original_sprite + + + + +

+

Store our old sprite here for if our antennae wings are healed

Proc Details

heal_antennae +

+

heal our antennae back up!!

try_burn_antennae +

+

check if our antennae can burn off ;_;

+ + + diff --git a/obj/item/organ/body_egg/alien_embryo.html b/obj/item/organ/body_egg/alien_embryo.html new file mode 100644 index 000000000000..02ee956d20fa --- /dev/null +++ b/obj/item/organ/body_egg/alien_embryo.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/organ/body_egg/alien_embryo - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

alien_embryo + + + +

+ + + + + +

Vars

burstingAre we bursting out of the poor sucker who's the xeno mom?
growth_timeHow long does it take to advance one stage? Growth time * 5 = how long till we make a Larva!
stageWhat stage of growth the embryo is at. Developed embryos give the host symptoms suggesting that an embryo is inside them.

Procs

advance_embryo_stageControls Xenomorph Embryo growth. If embryo is fully grown (or overgrown), stop the proc. If not, increase the stage by one and if it's not fully grown (stage 6), add a timer to do this proc again after however long the growth time variable is.
+

Var Details

bursting + + + + +

+

Are we bursting out of the poor sucker who's the xeno mom?

growth_time + + + + +

+

How long does it take to advance one stage? Growth time * 5 = how long till we make a Larva!

stage + + + + +

+

What stage of growth the embryo is at. Developed embryos give the host symptoms suggesting that an embryo is inside them.

Proc Details

advance_embryo_stage +

+

Controls Xenomorph Embryo growth. If embryo is fully grown (or overgrown), stop the proc. If not, increase the stage by one and if it's not fully grown (stage 6), add a timer to do this proc again after however long the growth time variable is.

+ + + diff --git a/obj/item/organ/brain.html b/obj/item/organ/brain.html new file mode 100644 index 000000000000..af9251728b3e --- /dev/null +++ b/obj/item/organ/brain.html @@ -0,0 +1,188 @@ + + + + + + + /obj/item/organ/brain - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

brain + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

damage_deltaTwo variables necessary for calculating whether we get a brain trauma or not
decay_factorThe brain's organ variables are significantly more different than the other organs, with half the decay rate for balance reasons, and twice the maxHealth
decoy_overrideIf it's a fake brain with no brainmob assigned. Feedback messages will be faked as if it does have a brainmob. See changelings & dullahans.
max_skillchip_complexityMaximum skillchip complexity we can support before they stop working. Do not reference this var directly and instead call get_max_skillchip_complexity()
max_skillchip_slotsMaximum skillchip slots available. Do not reference this var directly and instead call get_max_skillchip_slots()
oxygen_reserveHow many ticks we can go without oxygen before bad things start happening.
skillchipsList of skillchip items, their location should be this brain.

Procs

activate_skillchip_failsafeDeactivates all chips currently in the brain.
clone_skillchip_listCreates a list of assoc lists containing skillchip types and key metadata.
destroy_all_skillchipsDestroys all skillchips in the brain, calling on_removal if the brain has an owner. +Arguments:
get_attacking_limbThis proc lets the mob's brain decide what bodypart to attack with in an unarmed strike.
get_max_skillchip_complexityReturns the total maximum skillchip complexity supported by this brain.
get_max_skillchip_slotsReturns the total maximum skillchip slot capacity supported by this brain.
get_used_skillchip_complexityReturns the total current skillchip complexity used in this brain.
get_used_skillchip_slotsReturns the total current skillchip slot capacity used in this brain.
has_trauma_typeTRAUMAS
implant_skillchipAttempts to implant target skillchip into the brain.
remove_skillchipAttempts to remove target skillchip from the brain.
update_skillchipsDisables or re-enables any extra skillchips after skillchip limit changes.
+

Var Details

damage_delta + + + + +

+

Two variables necessary for calculating whether we get a brain trauma or not

decay_factor + + + + +

+

The brain's organ variables are significantly more different than the other organs, with half the decay rate for balance reasons, and twice the maxHealth

decoy_override + + + + +

+

If it's a fake brain with no brainmob assigned. Feedback messages will be faked as if it does have a brainmob. See changelings & dullahans.

max_skillchip_complexity + + + + +

+

Maximum skillchip complexity we can support before they stop working. Do not reference this var directly and instead call get_max_skillchip_complexity()

max_skillchip_slots + + + + +

+

Maximum skillchip slots available. Do not reference this var directly and instead call get_max_skillchip_slots()

oxygen_reserve + + + + +

+

How many ticks we can go without oxygen before bad things start happening.

skillchips + + + + +

+

List of skillchip items, their location should be this brain.

Proc Details

activate_skillchip_failsafe +

+

Deactivates all chips currently in the brain.

clone_skillchip_list +

+

Creates a list of assoc lists containing skillchip types and key metadata.

+

Returns a complete list of new skillchip types with their metadata cloned from the brain's existing skillchip stock. +Rumour has it that Changelings just LOVE this proc. +Arguments:

+

destroy_all_skillchips +

+

Destroys all skillchips in the brain, calling on_removal if the brain has an owner. +Arguments:

+

get_attacking_limb +

+

This proc lets the mob's brain decide what bodypart to attack with in an unarmed strike.

get_max_skillchip_complexity +

+

Returns the total maximum skillchip complexity supported by this brain.

get_max_skillchip_slots +

+

Returns the total maximum skillchip slot capacity supported by this brain.

get_used_skillchip_complexity +

+

Returns the total current skillchip complexity used in this brain.

get_used_skillchip_slots +

+

Returns the total current skillchip slot capacity used in this brain.

has_trauma_type +

+

TRAUMAS

implant_skillchip +

+

Attempts to implant target skillchip into the brain.

+

Returns whether the skillchip was implanted or not. +If you're implanting the skillchip into a mob, use the implant_skillchip proc in mob/living/carbon instead. +DANGEROUS - This proc assumes you've done the appropriate checks to make sure the skillchip should be implanted. +Where possible, call the mob/living/carbon version of this proc which does relevant checks. +Arguments:

+

remove_skillchip +

+

Attempts to remove target skillchip from the brain.

+

Returns whether the skillchip was removed or not. +If you're removing the skillchip from a mob, use the remove_skillchip proc in mob/living/carbon instead. +Arguments:

+

update_skillchips +

+

Disables or re-enables any extra skillchips after skillchip limit changes.

+ + + diff --git a/obj/item/organ/cell.html b/obj/item/organ/cell.html new file mode 100644 index 000000000000..9304f4c89f82 --- /dev/null +++ b/obj/item/organ/cell.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/organ/cell - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cell + + + +

+ + + + +

Vars

cellThe internal cell that actually holds power.
openIs the cell housing open?

Procs

get_power_drainPower drain per tick or per step, scales with damage taken.
+

Var Details

cell + + + + +

+

The internal cell that actually holds power.

open + + + + +

+

Is the cell housing open?

Proc Details

get_power_drain +

+

Power drain per tick or per step, scales with damage taken.

+ + + diff --git a/obj/item/organ/cyberimp/arm.html b/obj/item/organ/cyberimp/arm.html new file mode 100644 index 000000000000..46b66cc7faf9 --- /dev/null +++ b/obj/item/organ/cyberimp/arm.html @@ -0,0 +1,74 @@ + + + + + + + /obj/item/organ/cyberimp/arm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

arm + + + +

+ + + + + + + +

Vars

active_itemYou can use this var for item path, it would be converted into an item on New().
extend_soundSound played when extending
handA ref for the arm we're taking up. Mostly for the unregister signal upon removal
items_listUsed to store a list of all items inside, for multi-item implants.
retract_soundSound played when retracting

Procs

dropkeyCalled when the mob uses the "drop item" hotkey
+

Var Details

active_item + + + + +

+

You can use this var for item path, it would be converted into an item on New().

extend_sound + + + + +

+

Sound played when extending

hand + + + + +

+

A ref for the arm we're taking up. Mostly for the unregister signal upon removal

items_list + + + + +

+

Used to store a list of all items inside, for multi-item implants.

retract_sound + + + + +

+

Sound played when retracting

Proc Details

dropkey +

+

Called when the mob uses the "drop item" hotkey

+

Items inside toolset implants have TRAIT_NODROP, but we can still use the drop item hotkey as a +quick way to store implant items. In this case, we check to make sure the user has the correct arm +selected, and that the item is actually owned by us, and then we'll hand off the rest to Retract()

+ + + diff --git a/obj/item/organ/eyes.html b/obj/item/organ/eyes.html new file mode 100644 index 000000000000..a274c3ee734b --- /dev/null +++ b/obj/item/organ/eyes.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/organ/eyes - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

eyes + + + +

+ + + + +

Vars

damagedindication that the eyes are undergoing some negative effect
overlay_ignore_lightingchanges how the eyes overlay is applied, makes it apply over the lighting layer

Procs

generate_body_overlayThis proc generates a list of overlays that the eye should be displayed using for the given parent
+

Var Details

damaged + + + + +

+

indication that the eyes are undergoing some negative effect

overlay_ignore_lighting + + + + +

+

changes how the eyes overlay is applied, makes it apply over the lighting layer

Proc Details

generate_body_overlay +

+

This proc generates a list of overlays that the eye should be displayed using for the given parent

+ + + diff --git a/obj/item/organ/eyes/robotic.html b/obj/item/organ/eyes/robotic.html new file mode 100644 index 000000000000..97391354802e --- /dev/null +++ b/obj/item/organ/eyes/robotic.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/eyes/robotic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

robotic + + + +

+ +

Robotic

+

Vars

emp_timerIncase the eyes are removed before the timer expires
+

Var Details

emp_timer + + + + +

+

Incase the eyes are removed before the timer expires

+ + + diff --git a/obj/item/organ/frills.html b/obj/item/organ/frills.html new file mode 100644 index 000000000000..fea046ab525f --- /dev/null +++ b/obj/item/organ/frills.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/frills - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

frills + + + +

+ +

The frills of a lizard (like weird fin ears)

+

Vars

organ_flagsUnremovable is until the features are completely finished
+

Var Details

organ_flags + + + + +

+

Unremovable is until the features are completely finished

+ + + diff --git a/obj/item/organ/heart.html b/obj/item/organ/heart.html new file mode 100644 index 000000000000..f83fddd104c4 --- /dev/null +++ b/obj/item/organ/heart.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/organ/heart - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

heart + + + +

+ + + + +

Vars

arrhythmia_grace_periodA grace period applied upon being resuscitated, so bad RNG wont immediately stop the heart.
external_pumpData containing information about a pump that just occured.
pulseHow fast is our heart pumping blood
+

Var Details

arrhythmia_grace_period + + + + +

+

A grace period applied upon being resuscitated, so bad RNG wont immediately stop the heart.

external_pump + + + + +

+

Data containing information about a pump that just occured.

pulse + + + + +

+

How fast is our heart pumping blood

+ + + diff --git a/obj/item/organ/heart/ethereal.html b/obj/item/organ/heart/ethereal.html new file mode 100644 index 000000000000..5845d332ad52 --- /dev/null +++ b/obj/item/organ/heart/ethereal.html @@ -0,0 +1,106 @@ + + + + + + + /obj/item/organ/heart/ethereal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ethereal + + + +

+ + + + + + + + + + + + +

Vars

crystalization_process_damageDamage taken during crystalization, resets after it ends
crystalize_cooldownCooldown for the next time we can crystalize
crystalize_timer_idTimer ID for when we will be crystalized, If not preparing this will be null.
current_crystalThe current crystal the ethereal is in, if any
ethereal_colorColor of the heart, is set by the species on gain

Procs

crystalizeActually spawns the crystal which puts the ethereal in it.
on_examineRan when examined while crystalizing, gives info about the amount of time left
on_stat_changeOn stat changes, if the victim is no longer dead but they're crystalizing, cancel it, if they become dead, start the crystalizing process if possible
on_take_damageLets you stop the process with enough brute damage
reset_crystalizingRan when disarmed, prevents the ethereal from reviving
stop_crystalization_processStop the crystalization process, unregistering any signals and resetting any variables.
+

Var Details

crystalization_process_damage + + + + +

+

Damage taken during crystalization, resets after it ends

crystalize_cooldown + + + + +

+

Cooldown for the next time we can crystalize

crystalize_timer_id + + + + +

+

Timer ID for when we will be crystalized, If not preparing this will be null.

current_crystal + + + + +

+

The current crystal the ethereal is in, if any

ethereal_color + + + + +

+

Color of the heart, is set by the species on gain

Proc Details

crystalize +

+

Actually spawns the crystal which puts the ethereal in it.

on_examine +

+

Ran when examined while crystalizing, gives info about the amount of time left

on_stat_change +

+

On stat changes, if the victim is no longer dead but they're crystalizing, cancel it, if they become dead, start the crystalizing process if possible

on_take_damage +

+

Lets you stop the process with enough brute damage

reset_crystalizing +

+

Ran when disarmed, prevents the ethereal from reviving

stop_crystalization_process +

+

Stop the crystalization process, unregistering any signals and resetting any variables.

+ + + diff --git a/obj/item/organ/heart/freedom.html b/obj/item/organ/heart/freedom.html new file mode 100644 index 000000000000..558d5d9bd3d6 --- /dev/null +++ b/obj/item/organ/heart/freedom.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/heart/freedom - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

freedom + + + +

+ + +

Vars

adrenaline_cooldownThe cooldown until the next time this heart can give the host an adrenaline boost.
+

Var Details

adrenaline_cooldown + + + + +

+

The cooldown until the next time this heart can give the host an adrenaline boost.

+ + + diff --git a/obj/item/organ/heart/gland.html b/obj/item/organ/heart/gland.html new file mode 100644 index 000000000000..8a975eecab69 --- /dev/null +++ b/obj/item/organ/heart/gland.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/organ/heart/gland - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

gland + + + +

+ + + + + + +

Vars

abductor_hintShows name of the gland as well as a description of what it does upon examination by abductor scientists and observers.
activation_cooldownThe cooldown for activations
cooldown_highThe maximum time between activations
cooldown_lowThe minimum time between activations
usesThe number of remaining uses this gland has.
+

Var Details

abductor_hint + + + + +

+

Shows name of the gland as well as a description of what it does upon examination by abductor scientists and observers.

activation_cooldown + + + + +

+

The cooldown for activations

cooldown_high + + + + +

+

The maximum time between activations

cooldown_low + + + + +

+

The minimum time between activations

uses + + + + +

+

The number of remaining uses this gland has.

+ + + diff --git a/obj/item/organ/heart/nightmare.html b/obj/item/organ/heart/nightmare.html new file mode 100644 index 000000000000..59ecb667bcf1 --- /dev/null +++ b/obj/item/organ/heart/nightmare.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/heart/nightmare - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

nightmare + + + +

+ + + +

Vars

bladeThe armblade granted to the host of this heart.
respawn_progressHow many life ticks in the dark the owner has been dead for. Used for nightmare respawns.
+

Var Details

blade + + + + +

+

The armblade granted to the host of this heart.

respawn_progress + + + + +

+

How many life ticks in the dark the owner has been dead for. Used for nightmare respawns.

+ + + diff --git a/obj/item/organ/horns.html b/obj/item/organ/horns.html new file mode 100644 index 000000000000..dfb5693fd4aa --- /dev/null +++ b/obj/item/organ/horns.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/horns - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

horns + + + +

+ +

The horns of a lizard!

+

Vars

organ_flagsUnremovable is until the features are completely finished
+

Var Details

organ_flags + + + + +

+

Unremovable is until the features are completely finished

+ + + diff --git a/obj/item/organ/lungs.html b/obj/item/organ/lungs.html new file mode 100644 index 000000000000..51e1e040a828 --- /dev/null +++ b/obj/item/organ/lungs.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/organ/lungs - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

lungs + + + +

+ + + + + + +

Vars

healium_para_minMinimum amount of healium to make you unconscious for 4 seconds
healium_sleep_minMinimum amount of healium to knock you down for good
safe_plasma_maxHow much breath partial pressure is a safe amount of plasma. 0 means that we are immune to plasma.
suffers_miasmaWhether these lungs react negatively to miasma

Procs

handle_gas_overrideoverride this for breath handling unique to lung subtypes, breath_gas is the list of gas in the breath while gas breathed is just what is being added or removed from that list, just as they are when this is called in check_breath()
+

Var Details

healium_para_min + + + + +

+

Minimum amount of healium to make you unconscious for 4 seconds

healium_sleep_min + + + + +

+

Minimum amount of healium to knock you down for good

safe_plasma_max + + + + +

+

How much breath partial pressure is a safe amount of plasma. 0 means that we are immune to plasma.

suffers_miasma + + + + +

+

Whether these lungs react negatively to miasma

Proc Details

handle_gas_override +

+

override this for breath handling unique to lung subtypes, breath_gas is the list of gas in the breath while gas breathed is just what is being added or removed from that list, just as they are when this is called in check_breath()

+ + + diff --git a/obj/item/organ/pod_hair.html b/obj/item/organ/pod_hair.html new file mode 100644 index 000000000000..556e452f75eb --- /dev/null +++ b/obj/item/organ/pod_hair.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/pod_hair - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pod_hair + + + +

+ + +

Vars

organ_flagsUnremovable is until the features are completely finished
+

Var Details

organ_flags + + + + +

+

Unremovable is until the features are completely finished

+ + + diff --git a/obj/item/organ/posibrain.html b/obj/item/organ/posibrain.html new file mode 100644 index 000000000000..1c6777f10070 --- /dev/null +++ b/obj/item/organ/posibrain.html @@ -0,0 +1,190 @@ + + + + + + + /obj/item/organ/posibrain - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

posibrain + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

ask_delayDelay after polling ghosts
ask_roleCan be set to tell ghosts what the brain will be used for
autopingIf it pings on creation immediately
begin_activation_messageMessage sent to the user when polling ghosts
brainmobThe current occupant.
ckeys_enteredList of all ckeys who has already entered this posibrain once before.
dead_messageExamine message when the posibrain has no mob
fail_messageMessage sent as a visible message on failure
new_mob_messageVisible message sent when a player possesses the brain
next_askWorld time tick when ghost polling will be available again
picked_namePicked posibrain name
posibrain_job_pathRole assigned to the newly created mind
possible_namesOne of these names is randomly picked as the posibrain's name on possession. If left blank, it will use the global posibrain names
recharge_messageExamine message when the posibrain cannot poll ghosts due to cooldown
searchingWhether this positronic brain is currently looking for a ghost to enter it.
shacklesPopulated by preferences, used for IPCs
success_messageMessage sent as a visible message on success
suicidedKeep track of suiciding

Procs

activateTwo ways to activate a positronic brain. A clickable link in the ghost notif, or simply clicking the object itself.
attack_ghostATTACK GHOST IGNORING PARENT RETURN VALUE
ping_ghostsNotify ghosts that the posibrain is up for grabs
set_brainmobProc to hook behavior associated to the change in value of the /obj/item/mmi/var/brainmob variable.
transfer_personalityMoves the candidate from the ghost to the posibrain
+

Var Details

ask_delay + + + + +

+

Delay after polling ghosts

ask_role + + + + +

+

Can be set to tell ghosts what the brain will be used for

autoping + + + + +

+

If it pings on creation immediately

begin_activation_message + + + + +

+

Message sent to the user when polling ghosts

brainmob + + + + +

+

The current occupant.

ckeys_entered + + + + +

+

List of all ckeys who has already entered this posibrain once before.

dead_message + + + + +

+

Examine message when the posibrain has no mob

fail_message + + + + +

+

Message sent as a visible message on failure

new_mob_message + + + + +

+

Visible message sent when a player possesses the brain

next_ask + + + + +

+

World time tick when ghost polling will be available again

picked_name + + + + +

+

Picked posibrain name

posibrain_job_path + + + + +

+

Role assigned to the newly created mind

possible_names + + + + +

+

One of these names is randomly picked as the posibrain's name on possession. If left blank, it will use the global posibrain names

recharge_message + + + + +

+

Examine message when the posibrain cannot poll ghosts due to cooldown

searching + + + + +

+

Whether this positronic brain is currently looking for a ghost to enter it.

shackles + + + + +

+

Populated by preferences, used for IPCs

success_message + + + + +

+

Message sent as a visible message on success

suicided + + + + +

+

Keep track of suiciding

Proc Details

activate +

+

Two ways to activate a positronic brain. A clickable link in the ghost notif, or simply clicking the object itself.

attack_ghost +

+

ATTACK GHOST IGNORING PARENT RETURN VALUE

ping_ghosts +

+

Notify ghosts that the posibrain is up for grabs

set_brainmob +

+

Proc to hook behavior associated to the change in value of the /obj/item/mmi/var/brainmob variable.

transfer_personality +

+

Moves the candidate from the ghost to the posibrain

+ + + diff --git a/obj/item/organ/regenerative_core.html b/obj/item/organ/regenerative_core.html new file mode 100644 index 000000000000..7891d21ba89e --- /dev/null +++ b/obj/item/organ/regenerative_core.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/organ/regenerative_core - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

regenerative_core + + + +

+ +

Hivelord core

+

Procs

applytoHandles applying the core, logging and status effects.

Proc Details

applyto +

+

Handles applying the core, logging and status effects.

+ + + diff --git a/obj/item/organ/snout.html b/obj/item/organ/snout.html new file mode 100644 index 000000000000..4e7cc5767516 --- /dev/null +++ b/obj/item/organ/snout.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/snout - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

snout + + + +

+ + +

Vars

organ_flagsUnremovable is until the features are completely finished
+

Var Details

organ_flags + + + + +

+

Unremovable is until the features are completely finished

+ + + diff --git a/obj/item/organ/spines.html b/obj/item/organ/spines.html new file mode 100644 index 000000000000..26983ec6a71d --- /dev/null +++ b/obj/item/organ/spines.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/spines - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

spines + + + +

+ + + +

Vars

organ_flagsUnremovable is until the features are completely finished
paired_tailA two-way reference between the tail and the spines because of wagging sprites. Bruh.
+

Var Details

organ_flags + + + + +

+

Unremovable is until the features are completely finished

paired_tail + + + + +

+

A two-way reference between the tail and the spines because of wagging sprites. Bruh.

+ + + diff --git a/obj/item/organ/stomach.html b/obj/item/organ/stomach.html new file mode 100644 index 000000000000..85ce121e7cb7 --- /dev/null +++ b/obj/item/organ/stomach.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/stomach - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

stomach + + + +

+ + + +

Vars

disgust_metabolismThe rate that disgust decays

Procs

handle_hunger_slowdownfor when mood is disabled and hunger should handle slowdowns
+

Var Details

disgust_metabolism + + + + +

+

The rate that disgust decays

Proc Details

handle_hunger_slowdown +

+

for when mood is disabled and hunger should handle slowdowns

+ + + diff --git a/obj/item/organ/stomach/bone.html b/obj/item/organ/stomach/bone.html new file mode 100644 index 000000000000..8ed8c6a8daf5 --- /dev/null +++ b/obj/item/organ/stomach/bone.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/stomach/bone - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bone + + + +

+ + + +

Vars

milk_brute_healingHow much BRUTE damage milk heals every second
milk_burn_healingHow much BURN damage milk heals every second
+

Var Details

milk_brute_healing + + + + +

+

How much BRUTE damage milk heals every second

milk_burn_healing + + + + +

+

How much BURN damage milk heals every second

+ + + diff --git a/obj/item/organ/stomach/ethereal.html b/obj/item/organ/stomach/ethereal.html new file mode 100644 index 000000000000..1bb8fee766da --- /dev/null +++ b/obj/item/organ/stomach/ethereal.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/stomach/ethereal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ethereal + + + +

+ + + +

Vars

crystal_chargebasically satiety but electrical
drain_timeused to keep ethereals from spam draining power sources
+

Var Details

crystal_charge + + + + +

+

basically satiety but electrical

drain_time + + + + +

+

used to keep ethereals from spam draining power sources

+ + + diff --git a/obj/item/organ/tail/lizard.html b/obj/item/organ/tail/lizard.html new file mode 100644 index 000000000000..ea74c16cdb96 --- /dev/null +++ b/obj/item/organ/tail/lizard.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/tail/lizard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lizard + + + +

+ + +

Vars

paired_spinesA reference to the paired_spines, since for some fucking reason tail spines are tied to the spines themselves.
+

Var Details

paired_spines + + + + +

+

A reference to the paired_spines, since for some fucking reason tail spines are tied to the spines themselves.

+ + + diff --git a/obj/item/organ/teshari_body_feathers.html b/obj/item/organ/teshari_body_feathers.html new file mode 100644 index 000000000000..0cdf78aa5889 --- /dev/null +++ b/obj/item/organ/teshari_body_feathers.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/teshari_body_feathers - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

teshari_body_feathers + + + +

+ + +

Vars

organ_flagsUnremovable is until the features are completely finished
+

Var Details

organ_flags + + + + +

+

Unremovable is until the features are completely finished

+ + + diff --git a/obj/item/organ/teshari_ears.html b/obj/item/organ/teshari_ears.html new file mode 100644 index 000000000000..e81fae08048e --- /dev/null +++ b/obj/item/organ/teshari_ears.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/teshari_ears - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

teshari_ears + + + +

+ + +

Vars

organ_flagsUnremovable is until the features are completely finished
+

Var Details

organ_flags + + + + +

+

Unremovable is until the features are completely finished

+ + + diff --git a/obj/item/organ/teshari_feathers.html b/obj/item/organ/teshari_feathers.html new file mode 100644 index 000000000000..c8d076344e90 --- /dev/null +++ b/obj/item/organ/teshari_feathers.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/teshari_feathers - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

teshari_feathers + + + +

+ + +

Vars

organ_flagsUnremovable is until the features are completely finished
+

Var Details

organ_flags + + + + +

+

Unremovable is until the features are completely finished

+ + + diff --git a/obj/item/organ/tongue.html b/obj/item/organ/tongue.html new file mode 100644 index 000000000000..07fc8d923ebf --- /dev/null +++ b/obj/item/organ/tongue.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/organ/tongue - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tongue + + + +

+ + + + + + + + +

Vars

sense_of_tasteWhether the owner of this tongue can taste anything. Being set to FALSE will mean no taste feedback will be provided.
tongue_ask_verbReplaces the "asks" text with something else
tongue_exclaim_verbReplaces the "exclaims" text with something else
tongue_say_verbReplaces the "says" text with something else
tongue_sing_verbReplaces the "sings" text with something else
tongue_whisper_verbReplaces the "whispers" text with something else
tongue_yell_verbReplaces the "exclaims" text with something else
+

Var Details

sense_of_taste + + + + +

+

Whether the owner of this tongue can taste anything. Being set to FALSE will mean no taste feedback will be provided.

tongue_ask_verb + + + + +

+

Replaces the "asks" text with something else

tongue_exclaim_verb + + + + +

+

Replaces the "exclaims" text with something else

tongue_say_verb + + + + +

+

Replaces the "says" text with something else

tongue_sing_verb + + + + +

+

Replaces the "sings" text with something else

tongue_whisper_verb + + + + +

+

Replaces the "whispers" text with something else

tongue_yell_verb + + + + +

+

Replaces the "exclaims" text with something else

+ + + diff --git a/obj/item/organ/vox_hair.html b/obj/item/organ/vox_hair.html new file mode 100644 index 000000000000..75469e976a36 --- /dev/null +++ b/obj/item/organ/vox_hair.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/vox_hair - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vox_hair + + + +

+ + +

Vars

organ_flagsUnremovable is until the features are completely finished
+

Var Details

organ_flags + + + + +

+

Unremovable is until the features are completely finished

+ + + diff --git a/obj/item/organ/vox_hair/facial.html b/obj/item/organ/vox_hair/facial.html new file mode 100644 index 000000000000..20000bd336f1 --- /dev/null +++ b/obj/item/organ/vox_hair/facial.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/vox_hair/facial - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

facial + + + +

+ + +

Vars

organ_flagsUnremovable is until the features are completely finished
+

Var Details

organ_flags + + + + +

+

Unremovable is until the features are completely finished

+ + + diff --git a/obj/item/organ/wings.html b/obj/item/organ/wings.html new file mode 100644 index 000000000000..1c28b752cc86 --- /dev/null +++ b/obj/item/organ/wings.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/wings - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

wings + + + +

+ +

Wing base type. doesn't really do anything

+ +

Vars

organ_flagsUnremovable is until the features are completely finished

Procs

can_soften_fallChecks if the wings can soften short falls
+

Var Details

organ_flags + + + + +

+

Unremovable is until the features are completely finished

Proc Details

can_soften_fall +

+

Checks if the wings can soften short falls

+ + + diff --git a/obj/item/organ/wings/functional.html b/obj/item/organ/wings/functional.html new file mode 100644 index 000000000000..54e63fa9a3c0 --- /dev/null +++ b/obj/item/organ/wings/functional.html @@ -0,0 +1,99 @@ + + + + + + + /obj/item/organ/wings/functional - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

functional + + + +

+ +

The true wings that you can use to fly and shit (you cant actually shit with them)

+ + + + + + + + + +

Vars

flyThe flight action object
wings_closed_feature_keyThe preference type for closed wings
wings_openAre our wings open or closed?
wings_open_feature_keyThe preference type for opened wings

Procs

can_flyCheck if we're still eligible for flight (wings covered, atmosphere too thin, etc)
close_wingsclose our wings
fly_slipSlipping but in the air?
handle_flightCalled on_life(). Handle flight code and check if we're still flying
open_wingsSPREAD OUR WINGS AND FLLLLLYYYYYY
toggle_flightUNSAFE PROC, should only be called through the Activate or other sources that check for CanFly
+

Var Details

fly + + + + +

+

The flight action object

wings_closed_feature_key + + + + +

+

The preference type for closed wings

wings_open + + + + +

+

Are our wings open or closed?

wings_open_feature_key + + + + +

+

The preference type for opened wings

Proc Details

can_fly +

+

Check if we're still eligible for flight (wings covered, atmosphere too thin, etc)

close_wings +

+

close our wings

fly_slip +

+

Slipping but in the air?

handle_flight +

+

Called on_life(). Handle flight code and check if we're still flying

open_wings +

+

SPREAD OUR WINGS AND FLLLLLYYYYYY

toggle_flight +

+

UNSAFE PROC, should only be called through the Activate or other sources that check for CanFly

+ + + diff --git a/obj/item/organ/wings/moth.html b/obj/item/organ/wings/moth.html new file mode 100644 index 000000000000..2291437028c5 --- /dev/null +++ b/obj/item/organ/wings/moth.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/organ/wings/moth - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

moth + + + +

+ +

Moth wings! They can flutter in low-grav and burn off in heat

+ + + + + +

Vars

burntAre we burned?
original_spriteStore our old sprite here for if our burned wings are healed

Procs

burn_wingsburn the wings off
heal_wingsheal our wings back up!!
try_burn_wingscheck if our wings can burn off ;_;
update_float_moveCheck if we can flutter around
+

Var Details

burnt + + + + +

+

Are we burned?

original_sprite + + + + +

+

Store our old sprite here for if our burned wings are healed

Proc Details

burn_wings +

+

burn the wings off

heal_wings +

+

heal our wings back up!!

try_burn_wings +

+

check if our wings can burn off ;_;

update_float_move +

+

Check if we can flutter around

+ + + diff --git a/obj/item/p2p_phone_handset.html b/obj/item/p2p_phone_handset.html new file mode 100644 index 000000000000..4c6c8812a2d9 --- /dev/null +++ b/obj/item/p2p_phone_handset.html @@ -0,0 +1,52 @@ + + + + + + + /obj/item/p2p_phone_handset - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

p2p_phone_handset + + + +

+ + + + +

Vars

callstationOwner phone
mic_mutedHave we manually muted the mic?

Procs

handle_voicedataReceive a voice packet from the callstation. These are just transparently passed to us. +This replicates the behaviour of send_speech, since we're being passed all the data in a signal.
+

Var Details

callstation + + + + +

+

Owner phone

mic_muted + + + + +

+

Have we manually muted the mic?

Proc Details

handle_voicedata +

+

Receive a voice packet from the callstation. These are just transparently passed to us. +This replicates the behaviour of send_speech, since we're being passed all the data in a signal.

+ + + diff --git a/obj/item/paicard.html b/obj/item/paicard.html new file mode 100644 index 000000000000..ba465befec7b --- /dev/null +++ b/obj/item/paicard.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/paicard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

paicard + + + +

+ + + + + + + +

Vars

alert_cooldownSpam alert prevention
emotion_iconwhat emotion icon we have. handled in /mob/living/silicon/pai/Topic()
paiAny pAI personalities inserted
slottedIf the pAIcard is slotted in a PDA

Procs

pool_candidatesGathers a list of candidates to display in the download candidate +window. If the candidate isn't marked ready, ie they have not +pressed submit, they will be skipped over.
setPersonalityThe individual candidate to download +The newly downloaded pAI personality
+

Var Details

alert_cooldown + + + + +

+

Spam alert prevention

emotion_icon + + + + +

+

what emotion icon we have. handled in /mob/living/silicon/pai/Topic()

pai + + + + +

+

Any pAI personalities inserted

slotted + + + + +

+

If the pAIcard is slotted in a PDA

Proc Details

pool_candidates +

+

Gathers a list of candidates to display in the download candidate +window. If the candidate isn't marked ready, ie they have not +pressed submit, they will be skipped over.

+

@return - An array of candidate objects.

setPersonality +

+

The individual candidate to download +The newly downloaded pAI personality

+ + + diff --git a/obj/item/paint_palette.html b/obj/item/paint_palette.html new file mode 100644 index 000000000000..ed22cb9eafb0 --- /dev/null +++ b/obj/item/paint_palette.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/paint_palette - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

paint_palette + + + +

+ +

Simple painting utility.

+

Vars

current_colorChosen paint color
+

Var Details

current_color + + + + +

+

Chosen paint color

+ + + diff --git a/obj/item/paint_sprayer.html b/obj/item/paint_sprayer.html new file mode 100644 index 000000000000..fb6500b86d11 --- /dev/null +++ b/obj/item/paint_sprayer.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/paint_sprayer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

paint_sprayer + + + +

+ + +

Vars

wall_colorWith what color will we paint with
+

Var Details

wall_color + + + + +

+

With what color will we paint with

+ + + diff --git a/obj/item/paper.html b/obj/item/paper.html new file mode 100644 index 000000000000..11c8c28725a1 --- /dev/null +++ b/obj/item/paper.html @@ -0,0 +1,156 @@ + + + + + + + /obj/item/paper - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

paper + + + +

+ +

Paper is now using markdown (like in github pull notes) for ALL rendering +so we do loose a bit of functionality but we gain in easy of use of +paper and getting rid of that crashing bug

+ + + + + + + + + + + + + +

Vars

add_infoWhat's been written on the paper by things other than players. +Will be sanitized by the UI, and finally +added to info when the user edits the paper text.
add_info_styleThe font color, face and the signature of the above.
contact_poisonOverlay info
form_fieldsWhen the sheet can be "filled out" +This is an associated list
infoWhat's actually written on the paper.
stampedPositioning for the stamp in tgui
stampsThe (text for the) stamps on the paper.
was_faxed_fromIf this paper was sent via fax, where it came from.

Procs

copyThis proc copies this sheet of paper to a new +sheet. Used by carbon papers and the photocopier machine.
fire_actNormaly you just stamp, you don't need to read the thing
make_planePaper plane folding
setTextThis proc sets the text of the paper and updates the +icons. You can modify the pen_color after if need +be.
stamp##stamp
ui_dataTODO: show the sheet will bloodied or crinkling?
+

Var Details

add_info + + + + +

+

What's been written on the paper by things other than players. +Will be sanitized by the UI, and finally +added to info when the user edits the paper text.

add_info_style + + + + +

+

The font color, face and the signature of the above.

contact_poison + + + + +

+

Overlay info

form_fields + + + + +

+

When the sheet can be "filled out" +This is an associated list

info + + + + +

+

What's actually written on the paper.

stamped + + + + +

+

Positioning for the stamp in tgui

stamps + + + + +

+

The (text for the) stamps on the paper.

was_faxed_from + + + + +

+

If this paper was sent via fax, where it came from.

Proc Details

copy +

+

This proc copies this sheet of paper to a new +sheet. Used by carbon papers and the photocopier machine.

fire_act +

+

Normaly you just stamp, you don't need to read the thing

make_plane +

+

Paper plane folding

+

Arguments:

+

setText +

+

This proc sets the text of the paper and updates the +icons. You can modify the pen_color after if need +be.

stamp +

+

##stamp

+

Proc used to place a stamp onto a piece of paper

+

Arguments:

+

ui_data +

+

TODO: show the sheet will bloodied or crinkling?

+ + + diff --git a/obj/item/paper/fake_report.html b/obj/item/paper/fake_report.html new file mode 100644 index 000000000000..22e2f8ee1b26 --- /dev/null +++ b/obj/item/paper/fake_report.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/paper/fake_report - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

fake_report + + + +

+ +

Reports printed by fake N-spect scanner

+

Not valid for the bounty.

+

Vars

scanned_areaWhat area the inspector scanned when the report was made. Used to generate the examine text of the report
+

Var Details

scanned_area + + + + +

+

What area the inspector scanned when the report was made. Used to generate the examine text of the report

+ + + diff --git a/obj/item/paper/fake_report/water.html b/obj/item/paper/fake_report/water.html new file mode 100644 index 000000000000..cbc8dcc6767e --- /dev/null +++ b/obj/item/paper/fake_report/water.html @@ -0,0 +1,30 @@ + + + + + + + /obj/item/paper/fake_report/water - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Fake report made of water + + + +

+ +

Fake report but it turns into water under certain circumstances.

+

If someone who isn't an origami master tries to fold it into a paper plane, it will make the floor it's on wet and disappear. +If it is ground, it will turn into 5u water.

+ + + diff --git a/obj/item/paper/natural.html b/obj/item/paper/natural.html new file mode 100644 index 000000000000..276eb1cb94a7 --- /dev/null +++ b/obj/item/paper/natural.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/paper/natural - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

natural + + + +

+ + +

Procs

InitializeNatural paper

Proc Details

Initialize +

+

Natural paper

+ + + diff --git a/obj/item/paper/processed.html b/obj/item/paper/processed.html new file mode 100644 index 000000000000..7163f1fee772 --- /dev/null +++ b/obj/item/paper/processed.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/paper/processed - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

processed + + + +

+ + + + + +

Vars

last_answerThe last answer supplied by a user.
needed_answerAnswer requires for this paper to be marked as correct.
paper_dataAssoc list of data related to our paper.
required_questionQuestion required to be answered for this paper to be marked as correct.
+

Var Details

last_answer + + + + +

+

The last answer supplied by a user.

needed_answer + + + + +

+

Answer requires for this paper to be marked as correct.

paper_data + + + + +

+

Assoc list of data related to our paper.

required_question + + + + +

+

Question required to be answered for this paper to be marked as correct.

+ + + diff --git a/obj/item/paper/report.html b/obj/item/paper/report.html new file mode 100644 index 000000000000..2362bca80dee --- /dev/null +++ b/obj/item/paper/report.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/paper/report - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

report + + + +

+ + +

Vars

scanned_areaWhat area the inspector scanned when the report was made. Used to verify the security bounty.
+

Var Details

scanned_area + + + + +

+

What area the inspector scanned when the report was made. Used to verify the security bounty.

+ + + diff --git a/obj/item/paper/secretrecipe.html b/obj/item/paper/secretrecipe.html new file mode 100644 index 000000000000..cbee8985a644 --- /dev/null +++ b/obj/item/paper/secretrecipe.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/paper/secretrecipe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

secretrecipe + + + +

+ + + +

Vars

possible_recipesList of possible recipes we could display
recipe_idThe one we actually end up displaying
+

Var Details

possible_recipes + + + + +

+

List of possible recipes we could display

recipe_id + + + + +

+

The one we actually end up displaying

+ + + diff --git a/obj/item/paper_bin.html b/obj/item/paper_bin.html new file mode 100644 index 000000000000..3e17df0cacf5 --- /dev/null +++ b/obj/item/paper_bin.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/paper_bin - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

paper_bin + + + +

+ + + + +

Vars

bin_overlayOverlay that goes over the paper overlays.
bin_overlay_stringName of icon that goes over the paper overlays.
pen_overlayOverlay of the pen on top of the bin.
+

Var Details

bin_overlay + + + + +

+

Overlay that goes over the paper overlays.

bin_overlay_string + + + + +

+

Name of icon that goes over the paper overlays.

pen_overlay + + + + +

+

Overlay of the pen on top of the bin.

+ + + diff --git a/obj/item/paper_bin/bundlenatural.html b/obj/item/paper_bin/bundlenatural.html new file mode 100644 index 000000000000..441eb0026d09 --- /dev/null +++ b/obj/item/paper_bin/bundlenatural.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/paper_bin/bundlenatural - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bundlenatural + + + +

+ + +

Vars

binding_cableCable this bundle is held together with.
+

Var Details

binding_cable + + + + +

+

Cable this bundle is held together with.

+ + + diff --git a/obj/item/pen/edagger.html b/obj/item/pen/edagger.html new file mode 100644 index 000000000000..31b54b2a711e --- /dev/null +++ b/obj/item/pen/edagger.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/pen/edagger - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

edagger + + + +

+ + + + + +

Vars

extendedWhether or pen is extended
hidden_descThe real desc of our item when extended.
hidden_iconThe real icons used when extended.
hidden_nameThe real name of our item when extended.
+

Var Details

extended + + + + +

+

Whether or pen is extended

hidden_desc + + + + +

+

The real desc of our item when extended.

hidden_icon + + + + +

+

The real icons used when extended.

hidden_name + + + + +

+

The real name of our item when extended.

+ + + diff --git a/obj/item/photo.html b/obj/item/photo.html new file mode 100644 index 000000000000..d5fd87ca5dd9 --- /dev/null +++ b/obj/item/photo.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/photo - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

photo + + + +

+ + +

Procs

update_icon_stateDont bother with this last bit if we can't see ghosts

Proc Details

update_icon_state +

+

Dont bother with this last bit if we can't see ghosts

+ + + diff --git a/obj/item/pinpointer.html b/obj/item/pinpointer.html new file mode 100644 index 000000000000..8660284f0fff --- /dev/null +++ b/obj/item/pinpointer.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/pinpointer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

pinpointer + + + +

+ + +

Procs

get_direction_iconCalled by update_icon after sanity. There is a target

Proc Details

get_direction_icon +

+

Called by update_icon after sanity. There is a target

+ + + diff --git a/obj/item/pinpointer/crew.html b/obj/item/pinpointer/crew.html new file mode 100644 index 000000000000..725266527802 --- /dev/null +++ b/obj/item/pinpointer/crew.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/pinpointer/crew - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

crew + + + +

+ + +

Procs

trackableDo we find people even if their suit sensors are turned off

Proc Details

trackable +

+

Do we find people even if their suit sensors are turned off

+ + + diff --git a/obj/item/pipe.html b/obj/item/pipe.html new file mode 100644 index 000000000000..b2ca2e38cf92 --- /dev/null +++ b/obj/item/pipe.html @@ -0,0 +1,84 @@ + + + + + + + /obj/item/pipe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pipe + + + +

+ + + + + + + + +

Vars

RPD_typeType of pipe-object made, selected from the RPD
p_init_dirInitial direction of the created pipe (either made from the RPD or after unwrenching the pipe)
paintableWhether it can be painted
pipe_colorColor of the pipe is going to be made from this pipe-object
piping_layerPiping layer that we are going to be on

Procs

check_ninety_degree_dirCheck if the pipe on the turf and our to be placed binary pipe are perpendicular to each other
try_smart_reconfigurationAttempt to automatically resolve a pipe conflict by reconfiguring any smart pipes involved.
+

Var Details

RPD_type + + + + +

+

Type of pipe-object made, selected from the RPD

p_init_dir + + + + +

+

Initial direction of the created pipe (either made from the RPD or after unwrenching the pipe)

paintable + + + + +

+

Whether it can be painted

pipe_color + + + + +

+

Color of the pipe is going to be made from this pipe-object

piping_layer + + + + +

+

Piping layer that we are going to be on

Proc Details

check_ninety_degree_dir +

+

Check if the pipe on the turf and our to be placed binary pipe are perpendicular to each other

try_smart_reconfiguration +

+

Attempt to automatically resolve a pipe conflict by reconfiguring any smart pipes involved.

+

Constraints:

+
+ + + diff --git a/obj/item/pipe_dispenser.html b/obj/item/pipe_dispenser.html new file mode 100644 index 000000000000..d7d38331fcf7 --- /dev/null +++ b/obj/item/pipe_dispenser.html @@ -0,0 +1,168 @@ + + + + + + + /obj/item/pipe_dispenser - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pipe_dispenser + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

atmos_build_speedSpeed of building atmos devices
categoryCategory currently active (Atmos, disposal, transit)
destroy_speedSpeed of removal of unwrenched devices
disposal_build_speedSpeed of building disposal devices
first_atmosStores the first atmos device
first_disposalStores the first disposal device
first_transitStores the first transit device
modeThe modes that are allowed for the RPD
p_dirDirection of the device we are going to spawn, set up in the UI
p_flippedIs the device of the flipped type?
p_init_dirInitial direction of the smart pipe we are going to spawn, set up in the UI
paint_colorColor of the device we are going to spawn
piping_layerPiping layer we are going to spawn the atmos device in
recipeStores the current device to spawn
reprogram_speedSpeed of reprogramming connectable directions of smart pipes
spark_systemSparks system used when changing device in the UI
transit_build_speedSpeed of building transit devices
upgrade_flagsBitflags for upgrades

Procs

install_upgradeInstalls an upgrade into the RPD
+

Var Details

atmos_build_speed + + + + +

+

Speed of building atmos devices

category + + + + +

+

Category currently active (Atmos, disposal, transit)

destroy_speed + + + + +

+

Speed of removal of unwrenched devices

disposal_build_speed + + + + +

+

Speed of building disposal devices

first_atmos + + + + +

+

Stores the first atmos device

first_disposal + + + + +

+

Stores the first disposal device

first_transit + + + + +

+

Stores the first transit device

mode + + + + +

+

The modes that are allowed for the RPD

p_dir + + + + +

+

Direction of the device we are going to spawn, set up in the UI

p_flipped + + + + +

+

Is the device of the flipped type?

p_init_dir + + + + +

+

Initial direction of the smart pipe we are going to spawn, set up in the UI

paint_color + + + + +

+

Color of the device we are going to spawn

piping_layer + + + + +

+

Piping layer we are going to spawn the atmos device in

recipe + + + + +

+

Stores the current device to spawn

reprogram_speed + + + + +

+

Speed of reprogramming connectable directions of smart pipes

spark_system + + + + +

+

Sparks system used when changing device in the UI

transit_build_speed + + + + +

+

Speed of building transit devices

upgrade_flags + + + + +

+

Bitflags for upgrades

Proc Details

install_upgrade +

+

Installs an upgrade into the RPD

+

Installs an upgrade into the RPD checking if it is already installed +Arguments:

+
+ + + diff --git a/obj/item/pitchfork.html b/obj/item/pitchfork.html new file mode 100644 index 000000000000..67e39f10c3ad --- /dev/null +++ b/obj/item/pitchfork.html @@ -0,0 +1,30 @@ + + + + + + + /obj/item/pitchfork - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

pitchfork + + + +

+ +

Pitchfork item

+

Essentially spears with different stats and sprites. +Also fireproof for some reason.

+ + + diff --git a/obj/item/pizzabox.html b/obj/item/pizzabox.html new file mode 100644 index 000000000000..61811ef48b11 --- /dev/null +++ b/obj/item/pizzabox.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/pizzabox - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pizzabox + + + +

+ + + + +

Vars

bomb_timer_maxMax bomb timer allower in seconds
bomb_timer_minMin bomb timer allowed in seconds
boxtag_setUsed to make sure artisinal box tags aren't overwritten.
+

Var Details

bomb_timer_max + + + + +

+

Max bomb timer allower in seconds

bomb_timer_min + + + + +

+

Min bomb timer allowed in seconds

boxtag_set + + + + +

+

Used to make sure artisinal box tags aren't overwritten.

+ + + diff --git a/obj/item/pizzabox/infinite.html b/obj/item/pizzabox/infinite.html new file mode 100644 index 000000000000..e8b98e8e79ee --- /dev/null +++ b/obj/item/pizzabox/infinite.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/pizzabox/infinite - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

infinite + + + +

+ + + +

Vars

pizza_preferencesList of ckeys and their favourite pizzas. e.g. pizza_preferences[ckey] = /obj/item/food/pizza/meat
pizza_typesList of pizzas this box can spawn. Weighted by chance to be someone's favorite.
+

Var Details

pizza_preferences + + + + +

+

List of ckeys and their favourite pizzas. e.g. pizza_preferences[ckey] = /obj/item/food/pizza/meat

pizza_types + + + + +

+

List of pizzas this box can spawn. Weighted by chance to be someone's favorite.

+ + + diff --git a/obj/item/plant_analyzer.html b/obj/item/plant_analyzer.html new file mode 100644 index 000000000000..a80bcde85ae8 --- /dev/null +++ b/obj/item/plant_analyzer.html @@ -0,0 +1,138 @@ + + + + + + + /obj/item/plant_analyzer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

plant_analyzer + + + +

+ + + + + + + + + + + +

Procs

get_analyzer_text_chem_contentsThis proc is formats the chemical CONTENTS of a plant into a message.
get_analyzer_text_chem_genesThis proc is formats the chemical GENES of a seed into a message.
get_analyzer_text_traitsThis proc is formats the traits and stats of a seed into a message.
get_graft_textThis proc is formats the scan of a graft of a seed into a message.
pre_attackWhen we attack something, first - try to scan something we hit with left click. Left-clicking uses scans for stats
pre_attack_secondarySame as above, but with right click. Right-clicking scans for chemicals.
scan_plant_chemsThis proc is called when a seed or any grown plant is scanned on right click (chemical mode). +It formats the plant name as well as its chemical contents.
scan_plant_statsThis proc is called when a seed or any grown plant is scanned on left click (stats mode). +It formats the plant name as well as either its traits and stats.
scan_tray_chemsThis proc is called when we scan a hydroponics tray or soil on right click (chemicals mode) +It formats the plant name and age, as well as the plant's chemical genes and the tray's contents.
scan_tray_statsThis proc is called when we scan a hydroponics tray or soil on left click (stats mode) +It formats the plant name, it's age, the plant's stats, and the tray's stats.

Proc Details

get_analyzer_text_chem_contents +

+

This proc is formats the chemical CONTENTS of a plant into a message.

+ +

Returns the formatted output as text.

get_analyzer_text_chem_genes +

+

This proc is formats the chemical GENES of a seed into a message.

+ +

Returns the formatted output as text.

get_analyzer_text_traits +

+

This proc is formats the traits and stats of a seed into a message.

+ +

Returns the formatted output as text.

get_graft_text +

+

This proc is formats the scan of a graft of a seed into a message.

+ +

Returns the formatted output as text.

pre_attack +

+

When we attack something, first - try to scan something we hit with left click. Left-clicking uses scans for stats

pre_attack_secondary +

+

Same as above, but with right click. Right-clicking scans for chemicals.

scan_plant_chems +

+

This proc is called when a seed or any grown plant is scanned on right click (chemical mode). +It formats the plant name as well as its chemical contents.

+ +

Returns the formatted output as text.

scan_plant_stats +

+

This proc is called when a seed or any grown plant is scanned on left click (stats mode). +It formats the plant name as well as either its traits and stats.

+ +

Returns the formatted output as text.

scan_tray_chems +

+

This proc is called when we scan a hydroponics tray or soil on right click (chemicals mode) +It formats the plant name and age, as well as the plant's chemical genes and the tray's contents.

+ +

Returns the formatted message as text.

scan_tray_stats +

+

This proc is called when we scan a hydroponics tray or soil on left click (stats mode) +It formats the plant name, it's age, the plant's stats, and the tray's stats.

+ +

Returns the formatted message as text.

+ + + diff --git a/obj/item/plaque.html b/obj/item/plaque.html new file mode 100644 index 000000000000..02b821ade1c6 --- /dev/null +++ b/obj/item/plaque.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/plaque - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

plaque + + + +

+ + + +

Vars

engravedCustom plaque structures and items both start "unengraved", once engraved with a fountain pen their text can't be altered again.
plaque_pathThis points the item to make the proper structure when placed on a wall.
+

Var Details

engraved + + + + +

+

Custom plaque structures and items both start "unengraved", once engraved with a fountain pen their text can't be altered again.

plaque_path + + + + +

+

This points the item to make the proper structure when placed on a wall.

+ + + diff --git a/obj/item/plate.html b/obj/item/plate.html new file mode 100644 index 000000000000..ff999d674873 --- /dev/null +++ b/obj/item/plate.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/plate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

plate + + + +

+ + + + + + + + +

Vars

max_height_offsetThe max height offset the food can reach on the plate
max_itemsHow many things fit on this plate?
max_x_offsetThe offset from side to side the food items can have on the plate
placement_offsetOffset of where the click is calculated from, due to how food is positioned in their DMIs.

Procs

AddToPlateThis proc adds the food to viscontents and makes sure it can deregister if this changes.
ItemMovedThis proc is called by signals that remove the food from the plate.
ItemRemovedFromPlateThis proc cleans up any signals on the item when it is removed from a plate, and ensures it has the correct state again.
+

Var Details

max_height_offset + + + + +

+

The max height offset the food can reach on the plate

max_items + + + + +

+

How many things fit on this plate?

max_x_offset + + + + +

+

The offset from side to side the food items can have on the plate

placement_offset + + + + +

+

Offset of where the click is calculated from, due to how food is positioned in their DMIs.

Proc Details

AddToPlate +

+

This proc adds the food to viscontents and makes sure it can deregister if this changes.

ItemMoved +

+

This proc is called by signals that remove the food from the plate.

ItemRemovedFromPlate +

+

This proc cleans up any signals on the item when it is removed from a plate, and ensures it has the correct state again.

+ + + diff --git a/obj/item/plunger.html b/obj/item/plunger.html new file mode 100644 index 000000000000..a0f09f8dbfd4 --- /dev/null +++ b/obj/item/plunger.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/plunger - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

plunger + + + +

+ + + +

Vars

plunge_modtime*plunge_mod = total time we take to plunge an object
reinforcedwhether we do heavy duty stuff like geysers
+

Var Details

plunge_mod + + + + +

+

time*plunge_mod = total time we take to plunge an object

reinforced + + + + +

+

whether we do heavy duty stuff like geysers

+ + + diff --git a/obj/item/powersink.html b/obj/item/powersink.html new file mode 100644 index 000000000000..d39520df402d --- /dev/null +++ b/obj/item/powersink.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/powersink - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

powersink + + + +

+ + + +

Procs

drain_powerDrains power from the connected powernet, if any.
release_heatRemoves internal heat and shares it with the atmosphere.

Proc Details

drain_power +

+

Drains power from the connected powernet, if any.

release_heat +

+

Removes internal heat and shares it with the atmosphere.

+ + + diff --git a/obj/item/pressure_plate.html b/obj/item/pressure_plate.html new file mode 100644 index 000000000000..fc8a5ab1c680 --- /dev/null +++ b/obj/item/pressure_plate.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/pressure_plate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

pressure_plate + + + +

+ + +

Procs

ToggleActiveCalled from COMSIG_OBJ_HIDE to toggle the active part, because yeah im not making a special exception on the element to support it

Proc Details

ToggleActive +

+

Called from COMSIG_OBJ_HIDE to toggle the active part, because yeah im not making a special exception on the element to support it

+ + + diff --git a/obj/item/price_tagger.html b/obj/item/price_tagger.html new file mode 100644 index 000000000000..491b5614e978 --- /dev/null +++ b/obj/item/price_tagger.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/price_tagger - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

price_tagger + + + +

+ + +

Vars

pricethe price of the item
+

Var Details

price + + + + +

+

the price of the item

+ + + diff --git a/obj/item/pushbroom.html b/obj/item/pushbroom.html new file mode 100644 index 000000000000..1027dabf21fe --- /dev/null +++ b/obj/item/pushbroom.html @@ -0,0 +1,40 @@ + + + + + + + /obj/item/pushbroom - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

pushbroom + + + +

+ + +

Procs

sweepAttempts to push up to BROOM_PUSH_LIMIT atoms from a given location the user's faced direction

Proc Details

sweep +

+

Attempts to push up to BROOM_PUSH_LIMIT atoms from a given location the user's faced direction

+

Arguments:

+
+ + + diff --git a/obj/item/radio.html b/obj/item/radio.html new file mode 100644 index 000000000000..70089513502e --- /dev/null +++ b/obj/item/radio.html @@ -0,0 +1,270 @@ + + + + + + + /obj/item/radio - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

radio + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

anonymizemakes anyone who is talking through this anonymous.
broadcastingWhether the radio will transmit dialogue it hears nearby into its radio channel.
canhear_rangeBoth the range around the radio in which mobs can hear what it receives and the range the radio can hear. If it's -1, it will not broadcast sound or listen.
channelsassociative list of the encrypted radio channels this radio is currently set to listen/broadcast to, of the form: list(channel name = TRUE or FALSE)
commandIf true, use_command can be toggled at will.
empedTracks the number of EMPs currently stacked.
freerangeIf true, the radio has access to the full spectrum.
freqlockFrequency lock to stop the user from untuning specialist radios.
frequencythe "default" radio frequency this radio is set to, listens and transmits to this frequency by default. wont work if the channel is encrypted
handsfreeIf true, the radio can be used even when the user is restrained.
independentIf true, can say/hear on the special CentCom channel.
keyslotEncryption key handling
listeningWhether the radio is currently receiving radio messages from its radio frequencies.
onif FALSE, broadcasting and listening dont matter and this radio shouldnt do anything
prison_radioIf true, the transmit wire starts cut.
secure_radio_connectionsassociative list of the encrypted radio channels this radio can listen/broadcast to, of the form: list(channel name = channel frequency)
should_be_broadcastingused for tracking what broadcasting should be in the absence of things forcing it off, eg its set to broadcast but gets emp'd temporarily
should_be_listeningused for tracking what listening should be in the absence of things forcing it off, eg its set to listen but gets emp'd temporarily
subspace_switchableIf true, subspace_transmission can be toggled at will.
subspace_transmissionIf true, the radio transmits and receives on subspace exclusively.
syndieIf true, hears all well-known channels automatically, and can say/hear on the Syndicate channel.
translate_binaryIf true, can hear the special binary channel.
unscrewedWhether wires are accessible. Toggleable by screwdrivering.
use_commandIf true, broadcasts will be large and BOLD.

Procs

can_receiveChecks if this radio can receive on the given frequency.
get_broadcastingsimple getter for the broadcasting variable. necessary due to VAR_PROTECTED
get_frequencysimple getter for the frequency variable. necessary due to VAR_PROTECTED
get_listeningsimple getter for the listening variable. necessary due to VAR_PROTECTED
is_onsimple getter for the on variable. necessary due to VAR_PROTECTED
readd_listening_radio_channelsgoes through all radio channels we should be listening for and readds them to the global list
set_broadcastingsetter for broadcasting that makes us not hearing sensitive if not broadcasting and hearing sensitive if broadcasting +hearing sensitive in this case only matters for the purposes of listening for words said in nearby tiles, talking into us directly bypasses hearing
set_listeningsetter for the listener var, adds or removes this radio from the global radio list if we are also on
set_onsetter for the on var that sets both broadcasting and listening to off or whatever they were supposed to be
+

Var Details

anonymize + + + + +

+

makes anyone who is talking through this anonymous.

broadcasting + + + + +

+

Whether the radio will transmit dialogue it hears nearby into its radio channel.

canhear_range + + + + +

+

Both the range around the radio in which mobs can hear what it receives and the range the radio can hear. If it's -1, it will not broadcast sound or listen.

channels + + + + +

+

associative list of the encrypted radio channels this radio is currently set to listen/broadcast to, of the form: list(channel name = TRUE or FALSE)

command + + + + +

+

If true, use_command can be toggled at will.

emped + + + + +

+

Tracks the number of EMPs currently stacked.

freerange + + + + +

+

If true, the radio has access to the full spectrum.

freqlock + + + + +

+

Frequency lock to stop the user from untuning specialist radios.

frequency + + + + +

+

the "default" radio frequency this radio is set to, listens and transmits to this frequency by default. wont work if the channel is encrypted

handsfree + + + + +

+

If true, the radio can be used even when the user is restrained.

independent + + + + +

+

If true, can say/hear on the special CentCom channel.

keyslot + + + + +

+

Encryption key handling

listening + + + + +

+

Whether the radio is currently receiving radio messages from its radio frequencies.

on + + + + +

+

if FALSE, broadcasting and listening dont matter and this radio shouldnt do anything

prison_radio + + + + +

+

If true, the transmit wire starts cut.

secure_radio_connections + + + + +

+

associative list of the encrypted radio channels this radio can listen/broadcast to, of the form: list(channel name = channel frequency)

should_be_broadcasting + + + + +

+

used for tracking what broadcasting should be in the absence of things forcing it off, eg its set to broadcast but gets emp'd temporarily

should_be_listening + + + + +

+

used for tracking what listening should be in the absence of things forcing it off, eg its set to listen but gets emp'd temporarily

subspace_switchable + + + + +

+

If true, subspace_transmission can be toggled at will.

subspace_transmission + + + + +

+

If true, the radio transmits and receives on subspace exclusively.

syndie + + + + +

+

If true, hears all well-known channels automatically, and can say/hear on the Syndicate channel.

translate_binary + + + + +

+

If true, can hear the special binary channel.

unscrewed + + + + +

+

Whether wires are accessible. Toggleable by screwdrivering.

use_command + + + + +

+

If true, broadcasts will be large and BOLD.

Proc Details

can_receive +

+

Checks if this radio can receive on the given frequency.

get_broadcasting +

+

simple getter for the broadcasting variable. necessary due to VAR_PROTECTED

get_frequency +

+

simple getter for the frequency variable. necessary due to VAR_PROTECTED

get_listening +

+

simple getter for the listening variable. necessary due to VAR_PROTECTED

is_on +

+

simple getter for the on variable. necessary due to VAR_PROTECTED

readd_listening_radio_channels +

+

goes through all radio channels we should be listening for and readds them to the global list

set_broadcasting +

+

setter for broadcasting that makes us not hearing sensitive if not broadcasting and hearing sensitive if broadcasting +hearing sensitive in this case only matters for the purposes of listening for words said in nearby tiles, talking into us directly bypasses hearing

+

set_listening +

+

setter for the listener var, adds or removes this radio from the global radio list if we are also on

+

set_on +

+

setter for the on var that sets both broadcasting and listening to off or whatever they were supposed to be

+ + + diff --git a/obj/item/radio/intercom.html b/obj/item/radio/intercom.html new file mode 100644 index 000000000000..b2a6011c2241 --- /dev/null +++ b/obj/item/radio/intercom.html @@ -0,0 +1,51 @@ + + + + + + + /obj/item/radio/intercom - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

intercom + + + +

+ + + +

Procs

AreaPowerCheckProc called whenever the intercom's area loses or gains power. Responsible for setting the on variable and calling update_icon().
attack_tk_grabOverride attack_tk_grab instead of attack_tk because we actually want attack_tk's +functionality. What we DON'T want is attack_tk_grab attempting to pick up the +intercom as if it was an ordinary item.

Proc Details

AreaPowerCheck +

+

Proc called whenever the intercom's area loses or gains power. Responsible for setting the on variable and calling update_icon().

+

Normally called after the intercom's area recieves the COMSIG_AREA_POWER_CHANGE signal, but it can also be called directly. +Arguments:

+

attack_tk_grab +

+

Override attack_tk_grab instead of attack_tk because we actually want attack_tk's +functionality. What we DON'T want is attack_tk_grab attempting to pick up the +intercom as if it was an ordinary item.

+ + + diff --git a/obj/item/raw_anomaly_core.html b/obj/item/raw_anomaly_core.html new file mode 100644 index 000000000000..3f9abf93a002 --- /dev/null +++ b/obj/item/raw_anomaly_core.html @@ -0,0 +1,51 @@ + + + + + + + /obj/item/raw_anomaly_core - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Raw Anomaly Cores + + + +

+ +

The current precursor to anomaly cores, these are manufactured into 'finished' anomaly cores for use in research, items, and more.

+

The current amounts created is stored in SSresearch.created_anomaly_types[ANOMALY_CORE_TYPE_DEFINE] = amount. +The hard limits are in code/__DEFINES/anomalies.dm.

+ +

Vars

anomaly_typeAnomaly type

Procs

create_coreCreated the resulting core after being "made" into it.
+

Var Details

anomaly_type + + + + +

+

Anomaly type

Proc Details

create_core +

+

Created the resulting core after being "made" into it.

+

Arguments:

+
+ + + diff --git a/obj/item/reagent_containers.html b/obj/item/reagent_containers.html new file mode 100644 index 000000000000..c96120817417 --- /dev/null +++ b/obj/item/reagent_containers.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/reagent_containers - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

reagent_containers + + + +

+ + + + +

Vars

amount_list_positionWhere we are in the possible transfer amount list.

Procs

on_reagent_changeUpdates the icon of the container when the reagents change. Eats signal args
try_splashTries to splash the target. Used on both right-click and normal click when in combat mode.
+

Var Details

amount_list_position + + + + +

+

Where we are in the possible transfer amount list.

Proc Details

on_reagent_change +

+

Updates the icon of the container when the reagents change. Eats signal args

try_splash +

+

Tries to splash the target. Used on both right-click and normal click when in combat mode.

+ + + diff --git a/obj/item/reagent_containers/blood.html b/obj/item/reagent_containers/blood.html new file mode 100644 index 000000000000..2b405e7e1b5e --- /dev/null +++ b/obj/item/reagent_containers/blood.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/reagent_containers/blood - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

blood + + + +

+ + +

Procs

on_reagent_changeHandles updating the container when the reagents change.

Proc Details

on_reagent_change +

+

Handles updating the container when the reagents change.

+ + + diff --git a/obj/item/reagent_containers/borghypo.html b/obj/item/reagent_containers/borghypo.html new file mode 100644 index 000000000000..b005b98e3b0c --- /dev/null +++ b/obj/item/reagent_containers/borghypo.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/reagent_containers/borghypo - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

borghypo + + + +

+ + +

Vars

bypass_protectionOptional variable to override the temperature add_reagent() will use
+

Var Details

bypass_protection + + + + +

+

Optional variable to override the temperature add_reagent() will use

+ + + diff --git a/obj/item/reagent_containers/chem_cartridge.html b/obj/item/reagent_containers/chem_cartridge.html new file mode 100644 index 000000000000..06abaf447fb3 --- /dev/null +++ b/obj/item/reagent_containers/chem_cartridge.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/reagent_containers/chem_cartridge - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

chem_cartridge + + + +

+ + +

Procs

setLabelSets the label of the cartridge. Care should be taken to sanitize the input before passing it in here.

Proc Details

setLabel +

+

Sets the label of the cartridge. Care should be taken to sanitize the input before passing it in here.

+ + + diff --git a/obj/item/reagent_containers/chemtank.html b/obj/item/reagent_containers/chemtank.html new file mode 100644 index 000000000000..8a45e8fec6d4 --- /dev/null +++ b/obj/item/reagent_containers/chemtank.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/reagent_containers/chemtank - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chemtank + + + +

+ + +

Vars

injection_amountHow much to inject per second
+

Var Details

injection_amount + + + + +

+

How much to inject per second

+ + + diff --git a/obj/item/reagent_containers/food.html b/obj/item/reagent_containers/food.html new file mode 100644 index 000000000000..62f8522ee434 --- /dev/null +++ b/obj/item/reagent_containers/food.html @@ -0,0 +1,31 @@ + + + + + + + /obj/item/reagent_containers/food - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

food + + + +

+ +

Food.

+

Note: When adding food items with dummy parents, make sure to add +the parent to the exclusion list in code/__HELPERS/unsorted.dm's +get_random_food proc.

+ + + diff --git a/obj/item/reagent_containers/food/condiment.html b/obj/item/reagent_containers/food/condiment.html new file mode 100644 index 000000000000..52376e457dab --- /dev/null +++ b/obj/item/reagent_containers/food/condiment.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/reagent_containers/food/condiment - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

condiment + + + +

+ +

Condiments

+ +

Vars

icon_emptyIcon (icon_state) to be used when container becomes empty (no change if falsy)
icon_preemptyHolder for original icon_state value if it was overwritten by icon_emty to change back to
+

Var Details

icon_empty + + + + +

+

Icon (icon_state) to be used when container becomes empty (no change if falsy)

icon_preempty + + + + +

+

Holder for original icon_state value if it was overwritten by icon_emty to change back to

+ + + diff --git a/obj/item/reagent_containers/food/condiment/pack.html b/obj/item/reagent_containers/food/condiment/pack.html new file mode 100644 index 000000000000..7162472de9b2 --- /dev/null +++ b/obj/item/reagent_containers/food/condiment/pack.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/reagent_containers/food/condiment/pack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pack + + + +

+ + + + + +

Vars

originalnameCan't use initial(name) for this. This stores the name set by condimasters.
possible_statesList of possible styles (list(<icon_state>, , )) for condiment packs. +Since all of them differs only in color should probably be replaced with usual reagentfillings instead

Procs

on_reagent_addHandles reagents getting added to the condiment pack.
on_reagent_delHandles reagents getting removed from the condiment pack.
+

Var Details

originalname + + + + +

+

Can't use initial(name) for this. This stores the name set by condimasters.

possible_states + + + + +

+

List of possible styles (list(<icon_state>, , )) for condiment packs. +Since all of them differs only in color should probably be replaced with usual reagentfillings instead

Proc Details

on_reagent_add +

+

Handles reagents getting added to the condiment pack.

on_reagent_del +

+

Handles reagents getting removed from the condiment pack.

+ + + diff --git a/obj/item/reagent_containers/food/drinks/bottle.html b/obj/item/reagent_containers/food/drinks/bottle.html new file mode 100644 index 000000000000..097c20d670d5 --- /dev/null +++ b/obj/item/reagent_containers/food/drinks/bottle.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/reagent_containers/food/drinks/bottle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bottle + + + +

+ +

Alchohol bottles! -Agouri

+

Vars

bottle_knockdown_durationDirectly relates to the 'knockdown' duration. Lowered by armor (i.e. helmets)
+

Var Details

bottle_knockdown_duration + + + + +

+

Directly relates to the 'knockdown' duration. Lowered by armor (i.e. helmets)

+ + + diff --git a/obj/item/reagent_containers/food/drinks/bottle/pruno.html b/obj/item/reagent_containers/food/drinks/bottle/pruno.html new file mode 100644 index 000000000000..bbca539d23a1 --- /dev/null +++ b/obj/item/reagent_containers/food/drinks/bottle/pruno.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/reagent_containers/food/drinks/bottle/pruno - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pruno + + + +

+ + + + +

Vars

fermentation_time_remainingtime it takes to ferment
fermentation_timerfor partial fermentation

Procs

Initializestore the timer id of fermentation
+

Var Details

fermentation_time_remaining + + + + +

+

time it takes to ferment

fermentation_timer + + + + +

+

for partial fermentation

Proc Details

Initialize +

+

store the timer id of fermentation

+ + + diff --git a/obj/item/reagent_containers/food/drinks/colocup.html b/obj/item/reagent_containers/food/drinks/colocup.html new file mode 100644 index 000000000000..77cae6246ac9 --- /dev/null +++ b/obj/item/reagent_containers/food/drinks/colocup.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/reagent_containers/food/drinks/colocup - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

colocup + + + +

+ + +

Vars

random_spriteAllows the lean sprite to display upon crafting
+

Var Details

random_sprite + + + + +

+

Allows the lean sprite to display upon crafting

+ + + diff --git a/obj/item/reagent_containers/food/drinks/sillycup/smallcarton.html b/obj/item/reagent_containers/food/drinks/sillycup/smallcarton.html new file mode 100644 index 000000000000..54e018bb6c87 --- /dev/null +++ b/obj/item/reagent_containers/food/drinks/sillycup/smallcarton.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/reagent_containers/food/drinks/sillycup/smallcarton - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

smallcarton + + + +

+ + + +

Procs

on_reagent_changeReagent container icon updates, especially this one, are complete jank. I will need to rework them after this is merged.
update_nameWhy are food types on the container? TODO: move these to the reagents

Proc Details

on_reagent_change +

+

Reagent container icon updates, especially this one, are complete jank. I will need to rework them after this is merged.

update_name +

+

Why are food types on the container? TODO: move these to the reagents

+ + + diff --git a/obj/item/reagent_containers/food/drinks/soda_cans.html b/obj/item/reagent_containers/food/drinks/soda_cans.html new file mode 100644 index 000000000000..40eeeef1078a --- /dev/null +++ b/obj/item/reagent_containers/food/drinks/soda_cans.html @@ -0,0 +1,48 @@ + + + + + + + /obj/item/reagent_containers/food/drinks/soda_cans - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

soda_cans + + + +

+ + + +

Vars

fizzinessIf the can hasn't been opened yet, this is the measure of how fizzed up it is from being shaken or thrown around. When opened, this is rolled as a percentage chance to burst

Procs

burst_sodaBurst the soda open on someone. Fun! Opens and empties the soda can, but does not crush it.
+

Var Details

fizziness + + + + +

+

If the can hasn't been opened yet, this is the measure of how fizzed up it is from being shaken or thrown around. When opened, this is rolled as a percentage chance to burst

Proc Details

burst_soda +

+

Burst the soda open on someone. Fun! Opens and empties the soda can, but does not crush it.

+

Arguments:

+
+ + + diff --git a/obj/item/reagent_containers/glass/vial.html b/obj/item/reagent_containers/glass/vial.html new file mode 100644 index 000000000000..c8c9dd398d23 --- /dev/null +++ b/obj/item/reagent_containers/glass/vial.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/reagent_containers/glass/vial - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vial + + + +

+ + +

Vars

type_suffixThe suffix of the overlay texture that the hypovial uses when loading textures.
+

Var Details

type_suffix + + + + +

+

The suffix of the overlay texture that the hypovial uses when loading textures.

+ + + diff --git a/obj/item/reagent_containers/hypospray.html b/obj/item/reagent_containers/hypospray.html new file mode 100644 index 000000000000..97bfd9ed6c1c --- /dev/null +++ b/obj/item/reagent_containers/hypospray.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/reagent_containers/hypospray - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

hypospray + + + +

+ + +

Procs

injectHandles all injection checks, injection and logging.

Proc Details

inject +

+

Handles all injection checks, injection and logging.

+ + + diff --git a/obj/item/reagent_containers/pill.html b/obj/item/reagent_containers/pill.html new file mode 100644 index 000000000000..a617daf277cb --- /dev/null +++ b/obj/item/reagent_containers/pill.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/reagent_containers/pill - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

pill + + + +

+ + +

Procs

on_consumptionRuns the consumption code, can be overriden for special effects

Proc Details

on_consumption +

+

Runs the consumption code, can be overriden for special effects

+ + + diff --git a/obj/item/reagent_containers/spray.html b/obj/item/reagent_containers/spray.html new file mode 100644 index 000000000000..7039492ba851 --- /dev/null +++ b/obj/item/reagent_containers/spray.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/reagent_containers/spray - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

spray + + + +

+ + + + + +

Vars

can_toggle_rangeAre we able to toggle between stream and spray modes, which change the distance and amount sprayed?

Procs

do_sprayHandles exposing atoms to the reagents contained in a spray's chempuff. Deletes the chempuff when it's completed.
on_reagent_changeHandles updating the spray distance when the reagents change.
sprayHandles creating a chem puff that travels towards the target atom, exposing reagents to everything it hits on the way.
+

Var Details

can_toggle_range + + + + +

+

Are we able to toggle between stream and spray modes, which change the distance and amount sprayed?

Proc Details

do_spray +

+

Handles exposing atoms to the reagents contained in a spray's chempuff. Deletes the chempuff when it's completed.

on_reagent_change +

+

Handles updating the spray distance when the reagents change.

spray +

+

Handles creating a chem puff that travels towards the target atom, exposing reagents to everything it hits on the way.

+ + + diff --git a/obj/item/reagent_containers/syringe.html b/obj/item/reagent_containers/syringe.html new file mode 100644 index 000000000000..5fb626fb29e5 --- /dev/null +++ b/obj/item/reagent_containers/syringe.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/reagent_containers/syringe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

syringe + + + +

+ + + +

Vars

inject_flagsFlags used by the injection

Procs

get_rounded_volUsed by update_appearance() and update_overlays()
+

Var Details

inject_flags + + + + +

+

Flags used by the injection

Proc Details

get_rounded_vol +

+

Used by update_appearance() and update_overlays()

+ + + diff --git a/obj/item/resonator.html b/obj/item/resonator.html new file mode 100644 index 000000000000..506863f046ac --- /dev/null +++ b/obj/item/resonator.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/resonator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

resonator + + + +

+ +

Resonator

+ + + + +

Vars

adding_failurethe number that is added to the failure_prob, which is the probability of whether it will spread or not
fieldlimitthe number of fields the resonator is allowed to have at once
fieldsthe list of currently active fields from this resonator
modethe mode of the resonator; has three modes: auto (1), manual (2), and matrix (3)
quick_burst_modHow efficient it is in manual mode. Yes, we lower the damage cuz it's gonna be used for mobhunt
+

Var Details

adding_failure + + + + +

+

the number that is added to the failure_prob, which is the probability of whether it will spread or not

fieldlimit + + + + +

+

the number of fields the resonator is allowed to have at once

fields + + + + +

+

the list of currently active fields from this resonator

mode + + + + +

+

the mode of the resonator; has three modes: auto (1), manual (2), and matrix (3)

quick_burst_mod + + + + +

+

How efficient it is in manual mode. Yes, we lower the damage cuz it's gonna be used for mobhunt

+ + + diff --git a/obj/item/restraints.html b/obj/item/restraints.html new file mode 100644 index 000000000000..71fbf20c1006 --- /dev/null +++ b/obj/item/restraints.html @@ -0,0 +1,33 @@ + + + + + + + /obj/item/restraints - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Generic restraints + + + +

+ +

Parent class for handcuffs and handcuff accessories

+

Functionality:

+
    +
  1. A special suicide
  2. +
  3. If a restraint is handcuffing/legcuffing a carbon while being deleted, it will remove the handcuff/legcuff status.
  4. +
+ + + diff --git a/obj/item/restraints/handcuffs.html b/obj/item/restraints/handcuffs.html new file mode 100644 index 000000000000..1a0c52d678da --- /dev/null +++ b/obj/item/restraints/handcuffs.html @@ -0,0 +1,58 @@ + + + + + + + /obj/item/restraints/handcuffs - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Handcuffs + + + +

+ +

Stuff that makes humans unable to use hands

+

Clicking people with those will cause an attempt at handcuffing them to occur

+ + +

Vars

cuffsoundSound that plays when starting to put handcuffs on someone
trashtypeIf set, handcuffs will be destroyed on application and leave behind whatever this is set to.

Procs

apply_cuffsThis handles handcuffing people
+

Var Details

cuffsound + + + + +

+

Sound that plays when starting to put handcuffs on someone

trashtype + + + + +

+

If set, handcuffs will be destroyed on application and leave behind whatever this is set to.

Proc Details

apply_cuffs +

+

This handles handcuffing people

+

When called, this instantly puts handcuffs on someone (if possible) +Arguments:

+
+ + + diff --git a/obj/item/restraints/handcuffs/cable/sinew.html b/obj/item/restraints/handcuffs/cable/sinew.html new file mode 100644 index 000000000000..9029cd746356 --- /dev/null +++ b/obj/item/restraints/handcuffs/cable/sinew.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/restraints/handcuffs/cable/sinew - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Sinew restraints + + + +

+ +

Primal ghetto handcuffs

+

Just cable restraints that look differently and can't be recycled.

+ + + diff --git a/obj/item/restraints/legcuffs/beartrap.html b/obj/item/restraints/legcuffs/beartrap.html new file mode 100644 index 000000000000..fdd2a3777737 --- /dev/null +++ b/obj/item/restraints/legcuffs/beartrap.html @@ -0,0 +1,52 @@ + + + + + + + /obj/item/restraints/legcuffs/beartrap - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Bear trap + + + +

+ +

This opens, closes, and bites people's legs.

+ + +

Vars

armedIf true, the trap is "open" and can trigger.
trap_damageHow much damage the trap deals when triggered.

Procs

close_trapCloses a bear trap
+

Var Details

armed + + + + +

+

If true, the trap is "open" and can trigger.

trap_damage + + + + +

+

How much damage the trap deals when triggered.

Proc Details

close_trap +

+

Closes a bear trap

+

Closes a bear trap. +Arguments:

+ + + diff --git a/obj/item/restraints/legcuffs/beartrap/energy.html b/obj/item/restraints/legcuffs/beartrap/energy.html new file mode 100644 index 000000000000..a1894444ebbe --- /dev/null +++ b/obj/item/restraints/legcuffs/beartrap/energy.html @@ -0,0 +1,38 @@ + + + + + + + /obj/item/restraints/legcuffs/beartrap/energy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

Energy snare + + + +

+ +

This closes on people's legs.

+

A weaker version of the bear trap that can be resisted out of faster and disappears

+

Procs

dissipateHandles energy snares disappearing

Proc Details

dissipate +

+

Handles energy snares disappearing

+

If the snare isn't closed on anyone, it will disappear in a shower of sparks. +Arguments:

+ + + diff --git a/obj/item/restraints/legcuffs/bola.html b/obj/item/restraints/legcuffs/bola.html new file mode 100644 index 000000000000..20476cb4834e --- /dev/null +++ b/obj/item/restraints/legcuffs/bola.html @@ -0,0 +1,47 @@ + + + + + + + /obj/item/restraints/legcuffs/bola - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

bola + + + +

+ + + +

Vars

knockdownAmount of time to knock the target down for once it's hit in deciseconds.

Procs

ensnareAttempts to legcuff someone with the bola
+

Var Details

knockdown + + + + +

+

Amount of time to knock the target down for once it's hit in deciseconds.

Proc Details

ensnare +

+

Attempts to legcuff someone with the bola

+

Arguments:

+
+ + + diff --git a/obj/item/restraints/legcuffs/bola/energy.html b/obj/item/restraints/legcuffs/bola/energy.html new file mode 100644 index 000000000000..b797425ea6fc --- /dev/null +++ b/obj/item/restraints/legcuffs/bola/energy.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/restraints/legcuffs/bola/energy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

energy + + + +

+ +

A security variant of the bola.

+

It's harder to remove, smaller and has a defined price.

+ + + diff --git a/obj/item/restraints/legcuffs/bola/gonbola.html b/obj/item/restraints/legcuffs/bola/gonbola.html new file mode 100644 index 000000000000..2af45a97efd1 --- /dev/null +++ b/obj/item/restraints/legcuffs/bola/gonbola.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/restraints/legcuffs/bola/gonbola - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

gonbola + + + +

+ +

A pacifying variant of the bola.

+

It's much harder to remove, doesn't cause a slowdown and gives people /datum/status_effect/gonbola_pacify.

+ + + diff --git a/obj/item/restraints/legcuffs/bola/tactical.html b/obj/item/restraints/legcuffs/bola/tactical.html new file mode 100644 index 000000000000..12ea4a6df674 --- /dev/null +++ b/obj/item/restraints/legcuffs/bola/tactical.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/restraints/legcuffs/bola/tactical - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

tactical + + + +

+ +

A traitor variant of the bola.

+

It knocks people down and is harder to remove.

+ + + diff --git a/obj/item/reverse_bear_trap.html b/obj/item/reverse_bear_trap.html new file mode 100644 index 000000000000..1b4d04c440c5 --- /dev/null +++ b/obj/item/reverse_bear_trap.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/reverse_bear_trap - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

reverse_bear_trap + + + +

+ + + + + + +

Vars

escape_chancechance per "fiddle" to get the trap off your head
kill_countdownCooldown for the KILL
strugglingIs the target struggling?
tickingIs the reverse bear trap active?

Procs

armnote: this timer overlay increments one frame every second (to simulate a clock ticking). If you want to instead have it do a full cycle in a minute, set the 'delay' of each frame of the icon overlay to 75 rather than 10, and the worn overlay to twice that.
+

Var Details

escape_chance + + + + +

+

chance per "fiddle" to get the trap off your head

kill_countdown + + + + +

+

Cooldown for the KILL

struggling + + + + +

+

Is the target struggling?

ticking + + + + +

+

Is the reverse bear trap active?

Proc Details

arm +

+

note: this timer overlay increments one frame every second (to simulate a clock ticking). If you want to instead have it do a full cycle in a minute, set the 'delay' of each frame of the icon overlay to 75 rather than 10, and the worn overlay to twice that.

+ + + diff --git a/obj/item/ritual_totem.html b/obj/item/ritual_totem.html new file mode 100644 index 000000000000..55309f3455fb --- /dev/null +++ b/obj/item/ritual_totem.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/ritual_totem - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

ritual_totem + + + +

+ + +

Procs

expireWhen the ritual totem is depleted of antimagic

Proc Details

expire +

+

When the ritual totem is depleted of antimagic

+ + + diff --git a/obj/item/robot_model.html b/obj/item/robot_model.html new file mode 100644 index 000000000000..70b9b15a7b5c --- /dev/null +++ b/obj/item/robot_model.html @@ -0,0 +1,176 @@ + + + + + + + /obj/item/robot_model - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

robot_model + + + +

+ +

Definition of /obj/item/robot_model, which defines behavior for each model. +Deals with the creation and deletion of modules (tools). +Assigns modules and traits to a borg with a specific model selected.

+ + + + + + + + + + + + + + + + + + + +

Vars

added_modulesModules not inherent to the robot configuration
allow_ridingCan we be ridden
basic_modulesPaths of modules to be created when the model is created
borg_skinsList of skins the borg can be reskinned to, optional
breakable_modulesWhether the borg loses tool slots with damage.
canDisposeWhether the borg can stuff itself into disposals
cyborg_base_iconProduces the icon for the borg and, if no special_light_key is set, the lights
emag_modulesPaths of modules to be created on emagging
hat_offsetThe y offset of the hat put on
locked_transformWhether swapping to this configuration should lockcharge the borg
model_select_iconIcon of the module selection screen
model_traitsList of traits that will be applied to the mob if this model is used.
modulesHolds all the usable modules (tools)
radio_channelsList of radio channels added to the cyborg
ride_offset_xThe x offsets of a person riding the borg
ride_offset_yThe y offsets of a person riding the borg
robotHost of this model
special_light_keyIf we want specific lights, use this instead of copying lights in the dmi
storagesStorage types of the model

Procs

check_menuChecks if we are allowed to interact with a radial menu
+

Var Details

added_modules + + + + +

+

Modules not inherent to the robot configuration

allow_riding + + + + +

+

Can we be ridden

basic_modules + + + + +

+

Paths of modules to be created when the model is created

borg_skins + + + + +

+

List of skins the borg can be reskinned to, optional

breakable_modules + + + + +

+

Whether the borg loses tool slots with damage.

canDispose + + + + +

+

Whether the borg can stuff itself into disposals

cyborg_base_icon + + + + +

+

Produces the icon for the borg and, if no special_light_key is set, the lights

emag_modules + + + + +

+

Paths of modules to be created on emagging

hat_offset + + + + +

+

The y offset of the hat put on

locked_transform + + + + +

+

Whether swapping to this configuration should lockcharge the borg

model_select_icon + + + + +

+

Icon of the module selection screen

model_traits + + + + +

+

List of traits that will be applied to the mob if this model is used.

modules + + + + +

+

Holds all the usable modules (tools)

radio_channels + + + + +

+

List of radio channels added to the cyborg

ride_offset_x + + + + +

+

The x offsets of a person riding the borg

ride_offset_y + + + + +

+

The y offsets of a person riding the borg

robot + + + + +

+

Host of this model

special_light_key + + + + +

+

If we want specific lights, use this instead of copying lights in the dmi

storages + + + + +

+

Storage types of the model

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

Arguments:

+
+ + + diff --git a/obj/item/robot_model/janitor.html b/obj/item/robot_model/janitor.html new file mode 100644 index 000000000000..2f92760094c2 --- /dev/null +++ b/obj/item/robot_model/janitor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/robot_model/janitor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

janitor + + + +

+ + +

Vars

wash_toggle_refWeakref to the wash toggle action we own
+

Var Details

wash_toggle_ref + + + + +

+

Weakref to the wash toggle action we own

+ + + diff --git a/obj/item/robot_suit.html b/obj/item/robot_suit.html new file mode 100644 index 000000000000..06caddf9be4c --- /dev/null +++ b/obj/item/robot_suit.html @@ -0,0 +1,113 @@ + + + + + + + /obj/item/robot_suit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

robot_suit + + + +

+ + + + + + + + + + + + + +

Vars

aisyncIf the cyborg starts with a master AI
chestChest part of this endoskeleton
created_nameForced name of the cyborg
forced_aiForced master AI of the cyborg
headHead part of this endoskeleton
l_armLeft arm part of the endoskeleton
l_legLeft leg part of this endoskeleton
lawsyncIf the cyborg synchronizes it's laws with it's master AI
locomotionIf the cyborg starts movement free and not under lockdown
panel_lockedIf the cyborg's cover panel starts locked
r_armRight arm part of the endoskeleton
r_legRight leg part of this endoskeleton
+

Var Details

aisync + + + + +

+

If the cyborg starts with a master AI

chest + + + + +

+

Chest part of this endoskeleton

created_name + + + + +

+

Forced name of the cyborg

forced_ai + + + + +

+

Forced master AI of the cyborg

head + + + + +

+

Head part of this endoskeleton

l_arm + + + + +

+

Left arm part of the endoskeleton

l_leg + + + + +

+

Left leg part of this endoskeleton

lawsync + + + + +

+

If the cyborg synchronizes it's laws with it's master AI

locomotion + + + + +

+

If the cyborg starts movement free and not under lockdown

panel_locked + + + + +

+

If the cyborg's cover panel starts locked

r_arm + + + + +

+

Right arm part of the endoskeleton

r_leg + + + + +

+

Right leg part of this endoskeleton

+ + + diff --git a/obj/item/rpd_upgrade.html b/obj/item/rpd_upgrade.html new file mode 100644 index 000000000000..8ece62d9d153 --- /dev/null +++ b/obj/item/rpd_upgrade.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/rpd_upgrade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

rpd_upgrade + + + +

+ + +

Vars

upgrade_flagsBitflags for upgrades
+

Var Details

upgrade_flags + + + + +

+

Bitflags for upgrades

+ + + diff --git a/obj/item/rsf.html b/obj/item/rsf.html new file mode 100644 index 000000000000..564e6a6ee0bb --- /dev/null +++ b/obj/item/rsf.html @@ -0,0 +1,134 @@ + + + + + + + /obj/item/rsf - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

rsf + + + +

+ + + + + + + + + + + + + + + + +

Vars

action_typeThe verb that describes what we're doing, for use in text
allowed_surfacesA list of surfaces that we are allowed to place things on.
cooldownHolds a copy of world.time from the last time the synth was used.
cooldowndelayHow long should the minimum period between this RSF's item dispensings be?
cost_by_itemAn associated list of atoms and charge costs. This can contain a separate list, as long as it's associated item is an object
discriptorThe unit of mesure of the matter, for use in text
dispense_costThe cost of the object we are going to dispense
matterThe current matter count
matter_by_itemAn associated list of fuel and it's value
max_matterThe max amount of matter in the device
spent_icon_stateThe icon state to revert to when the tool is empty
to_dispenseThe type of the object we are going to dispense

Procs

formRadialForms a radial menu based off an object in a list, or a list's associated object
is_allowedHelper proc that iterates through all the things we are allowed to spawn on, and sees if the passed atom is one of them
use_matterA helper proc. checks to see if we can afford the amount of charge that is passed, and if we can docs the charge from our base, and returns TRUE. If we can't we return FALSE
+

Var Details

action_type + + + + +

+

The verb that describes what we're doing, for use in text

allowed_surfaces + + + + +

+

A list of surfaces that we are allowed to place things on.

cooldown + + + + +

+

Holds a copy of world.time from the last time the synth was used.

cooldowndelay + + + + +

+

How long should the minimum period between this RSF's item dispensings be?

cost_by_item + + + + +

+

An associated list of atoms and charge costs. This can contain a separate list, as long as it's associated item is an object

discriptor + + + + +

+

The unit of mesure of the matter, for use in text

dispense_cost + + + + +

+

The cost of the object we are going to dispense

matter + + + + +

+

The current matter count

matter_by_item + + + + +

+

An associated list of fuel and it's value

max_matter + + + + +

+

The max amount of matter in the device

spent_icon_state + + + + +

+

The icon state to revert to when the tool is empty

to_dispense + + + + +

+

The type of the object we are going to dispense

Proc Details

formRadial +

+

Forms a radial menu based off an object in a list, or a list's associated object

is_allowed +

+

Helper proc that iterates through all the things we are allowed to spawn on, and sees if the passed atom is one of them

use_matter +

+

A helper proc. checks to see if we can afford the amount of charge that is passed, and if we can docs the charge from our base, and returns TRUE. If we can't we return FALSE

+ + + diff --git a/obj/item/rsf/cookiesynth.html b/obj/item/rsf/cookiesynth.html new file mode 100644 index 000000000000..66bc4c76b7af --- /dev/null +++ b/obj/item/rsf/cookiesynth.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/rsf/cookiesynth - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cookiesynth + + + +

+ + +

Vars

toxinTracks whether or not the cookiesynth is about to print a poisoned cookie
+

Var Details

toxin + + + + +

+

Tracks whether or not the cookiesynth is about to print a poisoned cookie

+ + + diff --git a/obj/item/sales_tagger.html b/obj/item/sales_tagger.html new file mode 100644 index 000000000000..fec9958a7d08 --- /dev/null +++ b/obj/item/sales_tagger.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/sales_tagger - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sales_tagger + + + +

+ + + + + +

Vars

cut_maxMaximum value for cut_multiplier.
cut_minMinimum value for cut_multiplier.
cut_multiplierThe person who tagged this will receive the sale value multiplied by this number.
payments_accThe account which is receiving the split profits.
+

Var Details

cut_max + + + + +

+

Maximum value for cut_multiplier.

cut_min + + + + +

+

Minimum value for cut_multiplier.

cut_multiplier + + + + +

+

The person who tagged this will receive the sale value multiplied by this number.

payments_acc + + + + +

+

The account which is receiving the split profits.

+ + + diff --git a/obj/item/screwdriver.html b/obj/item/screwdriver.html new file mode 100644 index 000000000000..6fc60e865c88 --- /dev/null +++ b/obj/item/screwdriver.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/screwdriver - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

screwdriver + + + +

+ + + +

Vars

random_colorIf the item should be assigned a random color
screwdriver_colorsList of possible random colors
+

Var Details

random_color + + + + +

+

If the item should be assigned a random color

screwdriver_colors + + + + +

+

List of possible random colors

+ + + diff --git a/obj/item/secateurs.html b/obj/item/secateurs.html new file mode 100644 index 000000000000..e934a2717276 --- /dev/null +++ b/obj/item/secateurs.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/secateurs - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

secateurs + + + +

+ + +

Procs

attackSecateurs can be used to style podperson "hair"

Proc Details

attack +

+

Secateurs can be used to style podperson "hair"

+ + + diff --git a/obj/item/seeds.html b/obj/item/seeds.html new file mode 100644 index 000000000000..c7f9c8b1032c --- /dev/null +++ b/obj/item/seeds.html @@ -0,0 +1,385 @@ + + + + + + + /obj/item/seeds - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

seeds + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

enduranceAmount of health the plant has.
genesStarts as a list of paths, is converted to a list of types on init. Plant gene datums are stored here, see plant_genes.dm for more info.
graft_geneType-path of trait to be applied when grafting a plant.
graftedDetermines if the plant has had a graft removed or not.
growing_iconthe file that stores the sprites of the growing plant from this seed.
growthstagesAmount of growth sprites the plant has.
icon_deadUsed to override dead icon (default is "[species]-dead"). You can use one dead icon for multiple closely related plants with it.
icon_growUsed to override grow icon (default is "[species]-grow"). You can use one grow icon for multiple closely related plants with it.
icon_harvestUsed to override harvest icon (default is "[species]-harvest"). If null, plant will use [icon_grow][growthstages].
lifespanHow long before the plant begins to take damage from age.
maturationUsed to determine which sprite to switch to when growing.
mutatelistThe type of plants that this plant can mutate into.
plantnameName of plant when planted.
potencyThe 'power' of a plant. Generally effects the amount of reagent in a plant, also used in other ways.
productA type path. The thing that is created when the plant is harvested.
productdescDescribes the product on the product path.
productionChanges the amount of time needed for a plant to become harvestable.
rarityHow rare the plant is. Used for giving points to cargo when shipping off to CentCom.
reagents_addA list of reagents to add to product.
seed_flagsDetermines if the plant should be allowed to mutate early at 30+ instability.
speciesUsed to update icons. Should match the name in the sprites unless all icon_* are overridden.
weed_chancePercentage chance per tray update to grow weeds
weed_rateIf the chance below passes, then this many weeds sprout during growth
yieldAmount of growns created per harvest. If is -1, the plant/shroom/weed is never meant to be harvested.

Procs

CopyCopy all the variables from one seed to a new instance of the same seed and return it.
adjust_enduranceAdjusts seed endurance up or down according to adjustamt. (Max 100)
adjust_instabilityAdjusts seed instability up or down according to adjustamt. (Max 100)
adjust_lifespanAdjusts seed lifespan up or down according to adjustamt. (Max 100)
adjust_potencyAdjusts seed potency up or down according to adjustamt. (Max 100)
adjust_productionAdjusts seed production seed up or down according to adjustamt. (Max 10)
adjust_weed_chanceAdjusts seed weed chance up or down according to adjustamt. (Max 67%)
adjust_weed_rateAdjusts seed weed grwoth speed up or down according to adjustamt. (Max 10)
adjust_yieldThe number of nutriments we have inside of our plant, for use in our heating / cooling genes +Setters procs /// +Adjusts seed yield up or down according to adjustamt. (Max 10)
apply_graftApplies a graft to this plant.
create_graftCreates a graft from this plant.
get_unique_analyzer_textOverride for seeds with unique text for their analyzer. (No newlines at the start or end of unique text!) +Returns null if no unique text, or a string of text if there is.
on_chem_reactionOverride for seeds with special chem reactions.
prepare_resultReference to the tray/soil the seeds are planted in. +Count used for creating the correct amount of results to the harvest. +List of plants all harvested from the same batch. +Tile of the harvester to deposit the growables. +Name of the grown products. +The Number of products produced by the plant, typically the yield. Modified by certain traits. +This is where plant chemical products are handled.
set_enduranceSets the plant's endurance stat to the value of adjustamt. (Max 100)
set_instabilitySets the plant's instability stat to the value of adjustamt. (Max 100)
set_lifespanSets the plant's lifespan stat to the value of adjustamt. (Max 100)
set_potencySets the plant's potency stat to the value of adjustamt. (Max 100)
set_productionSets the plant's production stat to the value of adjustamt. (Max 10)
set_weed_chanceSets the plant's weed growth percentage to the value of adjustamt. (Max 67%)
set_weed_rateSets the plant's weed production rate to the value of adjustamt. (Max 10)
set_yieldSets the plant's yield stat to the value of adjustamt. (Max 10, or 5 with some traits)
+

Var Details

endurance + + + + +

+

Amount of health the plant has.

genes + + + + +

+

Starts as a list of paths, is converted to a list of types on init. Plant gene datums are stored here, see plant_genes.dm for more info.

graft_gene + + + + +

+

Type-path of trait to be applied when grafting a plant.

grafted + + + + +

+

Determines if the plant has had a graft removed or not.

growing_icon + + + + +

+

the file that stores the sprites of the growing plant from this seed.

growthstages + + + + +

+

Amount of growth sprites the plant has.

icon_dead + + + + +

+

Used to override dead icon (default is "[species]-dead"). You can use one dead icon for multiple closely related plants with it.

icon_grow + + + + +

+

Used to override grow icon (default is "[species]-grow"). You can use one grow icon for multiple closely related plants with it.

icon_harvest + + + + +

+

Used to override harvest icon (default is "[species]-harvest"). If null, plant will use [icon_grow][growthstages].

lifespan + + + + +

+

How long before the plant begins to take damage from age.

maturation + + + + +

+

Used to determine which sprite to switch to when growing.

mutatelist + + + + +

+

The type of plants that this plant can mutate into.

plantname + + + + +

+

Name of plant when planted.

potency + + + + +

+

The 'power' of a plant. Generally effects the amount of reagent in a plant, also used in other ways.

product + + + + +

+

A type path. The thing that is created when the plant is harvested.

productdesc + + + + +

+

Describes the product on the product path.

production + + + + +

+

Changes the amount of time needed for a plant to become harvestable.

rarity + + + + +

+

How rare the plant is. Used for giving points to cargo when shipping off to CentCom.

reagents_add + + + + +

+

A list of reagents to add to product.

seed_flags + + + + +

+

Determines if the plant should be allowed to mutate early at 30+ instability.

species + + + + +

+

Used to update icons. Should match the name in the sprites unless all icon_* are overridden.

weed_chance + + + + +

+

Percentage chance per tray update to grow weeds

weed_rate + + + + +

+

If the chance below passes, then this many weeds sprout during growth

yield + + + + +

+

Amount of growns created per harvest. If is -1, the plant/shroom/weed is never meant to be harvested.

Proc Details

Copy +

+

Copy all the variables from one seed to a new instance of the same seed and return it.

adjust_endurance +

+

Adjusts seed endurance up or down according to adjustamt. (Max 100)

adjust_instability +

+

Adjusts seed instability up or down according to adjustamt. (Max 100)

adjust_lifespan +

+

Adjusts seed lifespan up or down according to adjustamt. (Max 100)

adjust_potency +

+

Adjusts seed potency up or down according to adjustamt. (Max 100)

adjust_production +

+

Adjusts seed production seed up or down according to adjustamt. (Max 10)

adjust_weed_chance +

+

Adjusts seed weed chance up or down according to adjustamt. (Max 67%)

adjust_weed_rate +

+

Adjusts seed weed grwoth speed up or down according to adjustamt. (Max 10)

adjust_yield +

+

The number of nutriments we have inside of our plant, for use in our heating / cooling genes +Setters procs /// +Adjusts seed yield up or down according to adjustamt. (Max 10)

apply_graft +

+

Applies a graft to this plant.

+

Adds the graft trait to this plant if possible. +Increases plant stats by 2/3 of the grafts stats to a maximum of 100 (10 for yield). +Returns TRUE if the graft could apply its trait successfully, FALSE if it fails to apply the trait. +NOTE even if the graft fails to apply the trait it still adjusts the plant's stats and reagents.

+

Arguments:

+

create_graft +

+

Creates a graft from this plant.

+

Creates a new graft from this plant. +Sets the grafts trait to this plants graftable trait. +Gives the graft a reference to this plant. +Copies all the relevant stats from this plant to the graft. +Returns the created graft.

get_unique_analyzer_text +

+

Override for seeds with unique text for their analyzer. (No newlines at the start or end of unique text!) +Returns null if no unique text, or a string of text if there is.

on_chem_reaction +

+

Override for seeds with special chem reactions.

prepare_result +

+

Reference to the tray/soil the seeds are planted in. +Count used for creating the correct amount of results to the harvest. +List of plants all harvested from the same batch. +Tile of the harvester to deposit the growables. +Name of the grown products. +The Number of products produced by the plant, typically the yield. Modified by certain traits. +This is where plant chemical products are handled.

+

Individually, the formula for individual amounts of chemicals is Potency * the chemical production %, rounded to the fullest 1. +Specific chem handling is also handled here, like bloodtype, food taste within nutriment, and the auto-distilling/autojuicing traits. +This is where chemical reactions can occur, and the heating / cooling traits effect the reagent container.

set_endurance +

+

Sets the plant's endurance stat to the value of adjustamt. (Max 100)

set_instability +

+

Sets the plant's instability stat to the value of adjustamt. (Max 100)

set_lifespan +

+

Sets the plant's lifespan stat to the value of adjustamt. (Max 100)

set_potency +

+

Sets the plant's potency stat to the value of adjustamt. (Max 100)

set_production +

+

Sets the plant's production stat to the value of adjustamt. (Max 10)

set_weed_chance +

+

Sets the plant's weed growth percentage to the value of adjustamt. (Max 67%)

set_weed_rate +

+

Sets the plant's weed production rate to the value of adjustamt. (Max 10)

set_yield +

+

Sets the plant's yield stat to the value of adjustamt. (Max 10, or 5 with some traits)

+ + + diff --git a/obj/item/seeds/replicapod.html b/obj/item/seeds/replicapod.html new file mode 100644 index 000000000000..abf19a7e419f --- /dev/null +++ b/obj/item/seeds/replicapod.html @@ -0,0 +1,49 @@ + + + + + + + /obj/item/seeds/replicapod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

replicapod + + + +

+ +

The actual replica pods themselves!

+ + +

Procs

on_reagent_addHandles reagents getting added to this seed.
on_reagent_delHandles reagents being deleted from these seeds.
on_reagents_delHandles the seeds' reagents datum getting deleted.

Proc Details

on_reagent_add +

+

Handles reagents getting added to this seed.

on_reagent_del +

+

Handles reagents being deleted from these seeds.

on_reagents_del +

+

Handles the seeds' reagents datum getting deleted.

+ + + diff --git a/obj/item/sharpener.html b/obj/item/sharpener.html new file mode 100644 index 000000000000..2589a54ada5b --- /dev/null +++ b/obj/item/sharpener.html @@ -0,0 +1,65 @@ + + + + + + + /obj/item/sharpener - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Whetstone + + + +

+ +

Items used for sharpening stuff

+

Whetstones can be used to increase an item's force, throw_force and it's change it's sharpness to SHARP_EDGED. Whetstones do not work with energy weapons. Two-handed weapons will only get the throw_force bonus. A whetstone can only be used once.

+ + + + +

Vars

incrementHow much force the whetstone can add to an item.
maxMaximum force sharpening items with the whetstone can result in
prefixThe prefix a whetstone applies when an item is sharpened with it
requires_sharpnessIf TRUE, the whetstone will only sharpen already sharp items
usesAmount of uses the whetstone has. Set to -1 for functionally infinite uses.
+

Var Details

increment + + + + +

+

How much force the whetstone can add to an item.

max + + + + +

+

Maximum force sharpening items with the whetstone can result in

prefix + + + + +

+

The prefix a whetstone applies when an item is sharpened with it

requires_sharpness + + + + +

+

If TRUE, the whetstone will only sharpen already sharp items

uses + + + + +

+

Amount of uses the whetstone has. Set to -1 for functionally infinite uses.

+ + + diff --git a/obj/item/sharpener/super.html b/obj/item/sharpener/super.html new file mode 100644 index 000000000000..005ffbb5d48c --- /dev/null +++ b/obj/item/sharpener/super.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/sharpener/super - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Super whetstone + + + +

+ +

Extremely powerful admin-only whetstone

+

Whetstone that adds 200 damage to an item, with the maximum force and throw_force reachable with it being 200. As with normal whetstones, energy weapons cannot be sharpened with it and two-handed weapons will only get the throw_force bonus.

+ + + diff --git a/obj/item/shield/energy.html b/obj/item/shield/energy.html new file mode 100644 index 000000000000..cc3d494f83e3 --- /dev/null +++ b/obj/item/shield/energy.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/shield/energy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

energy + + + +

+ + + + + + +

Vars

active_forceForce of the shield when active.
active_throw_speedThrowspeed of ethe shield when active.
active_throwforceThrowforce of the shield when active.
can_clumsy_useWhether clumsy people can transform this without side effects.
enabledWhether the shield is currently extended and protecting the user.
+

Var Details

active_force + + + + +

+

Force of the shield when active.

active_throw_speed + + + + +

+

Throwspeed of ethe shield when active.

active_throwforce + + + + +

+

Throwforce of the shield when active.

can_clumsy_use + + + + +

+

Whether clumsy people can transform this without side effects.

enabled + + + + +

+

Whether the shield is currently extended and protecting the user.

+ + + diff --git a/obj/item/shield/riot/tele.html b/obj/item/shield/riot/tele.html new file mode 100644 index 000000000000..35b2a8759fde --- /dev/null +++ b/obj/item/shield/riot/tele.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/shield/riot/tele - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tele + + + +

+ + +

Vars

extendedWhether the shield is extended and protecting the user..
+

Var Details

extended + + + + +

+

Whether the shield is extended and protecting the user..

+ + + diff --git a/obj/item/shockpaddles.html b/obj/item/shockpaddles.html new file mode 100644 index 000000000000..586e0b972b90 --- /dev/null +++ b/obj/item/shockpaddles.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/shockpaddles - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

shockpaddles + + + +

+ + + +

Procs

do_cancelCalled whenever the paddles fail to shock something after a do_x proc
do_successCalled whenever the paddles successfuly shock something

Proc Details

do_cancel +

+

Called whenever the paddles fail to shock something after a do_x proc

do_success +

+

Called whenever the paddles successfuly shock something

+ + + diff --git a/obj/item/shuttle_curse.html b/obj/item/shuttle_curse.html new file mode 100644 index 000000000000..7bf91fff978e --- /dev/null +++ b/obj/item/shuttle_curse.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/shuttle_curse - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

shuttle_curse + + + +

+ + + + +

Vars

first_curse_timewhen was the first shuttle curse?
remaining_cursescurse messages that have already been used
totalcurseshow many times has the shuttle been cursed so far?
+

Var Details

first_curse_time + + + + +

+

when was the first shuttle curse?

remaining_curses + + + + +

+

curse messages that have already been used

totalcurses + + + + +

+

how many times has the shuttle been cursed so far?

+ + + diff --git a/obj/item/sign.html b/obj/item/sign.html new file mode 100644 index 000000000000..630c8d4347a2 --- /dev/null +++ b/obj/item/sign.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/sign - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sign + + + +

+ + + +

Vars

is_editableThis determines if you can select this sign type when using a pen on a sign backing. False by default, set to true per sign type to override.
sign_pathThe type of sign structure that will be created when placed on a turf, the default looks just like a sign backing item.
+

Var Details

is_editable + + + + +

+

This determines if you can select this sign type when using a pen on a sign backing. False by default, set to true per sign type to override.

sign_path + + + + +

+

The type of sign structure that will be created when placed on a turf, the default looks just like a sign backing item.

+ + + diff --git a/obj/item/singularityhammer.html b/obj/item/singularityhammer.html new file mode 100644 index 000000000000..b61f2f31658d --- /dev/null +++ b/obj/item/singularityhammer.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/singularityhammer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

singularityhammer + + + +

+ + +

Vars

chargedIs it able to pull shit right now?
+

Var Details

charged + + + + +

+

Is it able to pull shit right now?

+ + + diff --git a/obj/item/skillchip.html b/obj/item/skillchip.html new file mode 100644 index 000000000000..8d38c39f2722 --- /dev/null +++ b/obj/item/skillchip.html @@ -0,0 +1,329 @@ + + + + + + + /obj/item/skillchip - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

skillchip + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

abstract_parent_typeUsed to determine if this is an abstract type or not. If this is meant to be an abstract type, set it to the type's path. Will be overridden by subsequent abstract parents. See /datum/action/item_action/chameleon/change/skillchip/initialize_disguises()
activate_messageMessage shown when activating the chip
activeSet to TRUE when the skill chip's effects are applied. Set to FALSE when they're not.
auto_traitsTraits automatically granted by this chip, optional. Lazylist.
chip_categoryCategory string. Used alongside SKILLCHIP_RESTRICTED_CATEGORIES flag to make a chip incompatible with chips from another category.
chip_cooldownCooldown for chip actions.
complexityHow complex the skillchip is. Brains can only handle so much complexity at once and skillchips will start to deactivate when the brain's complexity limit is exceeded.
cooldownCooldown before the skillchip can be extracted after it has been implanted.
deactivate_messageMessage shown when deactivating the chip
holding_brainBrain that holds this skillchip.
incompatibility_listList of any incompatible categories.
skill_descriptionSkill description shown on UI
skill_iconFontawesome icon show on UI, list of possible icons https://fontawesome.com/icons?d=gallery&m=free
skill_nameSkill name shown on UI
skillchip_flagsVariable for flags. DANGEROUS - Child types overwrite flags instead of adding to them. If you change this, make sure all child types have the appropriate flags set too.
slot_useHow many slots taken up in the brain by this chip. Max brain slots are hard set and should not be changed at all.

Procs

get_chip_dataReturns a list of basic chip info. Used by the skill station.
get_complexityReturns the chip's complexity.
get_metadataGets key metadata from this skillchip in an assoc list.
has_activate_incompatibilityChecks whether a given skillchip has an incompatibility with a brain that should render it impossible +to activate.
has_brain_incompatibilityPerforms a full sweep of checks that dictate if this chip can be implanted in a given brain.
has_mob_incompatibilityPerforms a full sweep of checks that dictate if this chip can be implanted in a given target.
has_skillchip_incompatibilityChecks for skillchip incompatibility with another chip.
is_activeReturns whether the chip is active.
is_on_cooldownReturns whether the chip is on cooldown. Chips ordinarily go on cooldown when activated.
on_activateCalled when a skillchip is activated.
on_deactivateCalled when a skillchip is deactivated.
on_implantCalled when a skillchip is inserted in a user's brain.
on_removalCalled when a skillchip is removed from the user's brain.
set_metadataSets key metadata for this skillchip from an assoc list.
try_activate_skillchipActivates the skillchip, if possible.
try_deactivate_skillchipDeactivates the skillchip, if possible.
+

Var Details

abstract_parent_type + + + + +

+

Used to determine if this is an abstract type or not. If this is meant to be an abstract type, set it to the type's path. Will be overridden by subsequent abstract parents. See /datum/action/item_action/chameleon/change/skillchip/initialize_disguises()

activate_message + + + + +

+

Message shown when activating the chip

active + + + + +

+

Set to TRUE when the skill chip's effects are applied. Set to FALSE when they're not.

auto_traits + + + + +

+

Traits automatically granted by this chip, optional. Lazylist.

chip_category + + + + +

+

Category string. Used alongside SKILLCHIP_RESTRICTED_CATEGORIES flag to make a chip incompatible with chips from another category.

chip_cooldown + + + + +

+

Cooldown for chip actions.

complexity + + + + +

+

How complex the skillchip is. Brains can only handle so much complexity at once and skillchips will start to deactivate when the brain's complexity limit is exceeded.

cooldown + + + + +

+

Cooldown before the skillchip can be extracted after it has been implanted.

deactivate_message + + + + +

+

Message shown when deactivating the chip

holding_brain + + + + +

+

Brain that holds this skillchip.

incompatibility_list + + + + +

+

List of any incompatible categories.

skill_description + + + + +

+

Skill description shown on UI

skill_icon + + + + +

+

Fontawesome icon show on UI, list of possible icons https://fontawesome.com/icons?d=gallery&m=free

skill_name + + + + +

+

Skill name shown on UI

skillchip_flags + + + + +

+

Variable for flags. DANGEROUS - Child types overwrite flags instead of adding to them. If you change this, make sure all child types have the appropriate flags set too.

slot_use + + + + +

+

How many slots taken up in the brain by this chip. Max brain slots are hard set and should not be changed at all.

Proc Details

get_chip_data +

+

Returns a list of basic chip info. Used by the skill station.

get_complexity +

+

Returns the chip's complexity.

+

Intended to be overriden.

get_metadata +

+

Gets key metadata from this skillchip in an assoc list.

+

If you override this proc, don't forget to also override set_metadata, which takes the output of +this proc and uses it to set the metadata. +Does not copy over any owner or brain status. Handle that externally.

has_activate_incompatibility +

+

Checks whether a given skillchip has an incompatibility with a brain that should render it impossible +to activate.

+

Returns a string with an explanation if the chip is not activatable. FALSE otherwise. +Arguments:

+

has_brain_incompatibility +

+

Performs a full sweep of checks that dictate if this chip can be implanted in a given brain.

+

Override this with any snowflake chip checks. +Returns TRUE if the chip is fully compatible, FALSE otherwise. +Arguments:

+

has_mob_incompatibility +

+

Performs a full sweep of checks that dictate if this chip can be implanted in a given target.

+

Override this with any snowflake chip checks. An example of which would be checking if a target is +mindshielded if you've got a special security skillchip. +Returns a string with an incompatibility explanation if the chip is not compatible, returns FALSE +if it is compatible. +Arguments:

+

has_skillchip_incompatibility +

+

Checks for skillchip incompatibility with another chip.

+

Does this skillchip have incompatibility with the skillchip in the args? +Override this with any snowflake chip-vs-chip incompatibility checks. +Returns a string with an incompatibility explanation if the chip is not compatible, returns FALSE +if it is compatible. +Arguments:

+

is_active +

+

Returns whether the chip is active.

+

Intended to be overriden. +Returns TRUE if the chip is active.

is_on_cooldown +

+

Returns whether the chip is on cooldown. Chips ordinarily go on cooldown when activated.

+

This does not mean the chip should be impossible to do anything with. +It's up to each individual piece of code to decide what it does with the result of this proc.

+

Returns TRUE if the chip's extraction cooldown hasn't yet passed.

on_activate +

+

Called when a skillchip is activated.

+

Arguments:

+

on_deactivate +

+

Called when a skillchip is deactivated.

+

Arguments:

+

on_implant +

+

Called when a skillchip is inserted in a user's brain.

+

Arguments:

+

on_removal +

+

Called when a skillchip is removed from the user's brain.

+

Always deactivates the skillchip. +Arguments:

+

set_metadata +

+

Sets key metadata for this skillchip from an assoc list.

+

Best used with the output from get_metadata() of another chip. +If you override this proc, don't forget to also override get_metadata, which is where you should +usually get the assoc list that feeds into this proc. +Does not set any owner or brain status. Handle that externally. +Arguments: +metadata - Ideally the output of another chip's get_metadata proc. Assoc list of metadata.

try_activate_skillchip +

+

Activates the skillchip, if possible.

+

Returns a message containing the reason if activation is not possible. +Arguments:

+

try_deactivate_skillchip +

+

Deactivates the skillchip, if possible.

+

Returns a message containing the reason if deactivation is not possible. +Arguments:

+
+ + + diff --git a/obj/item/slapcraft_assembly.html b/obj/item/slapcraft_assembly.html new file mode 100644 index 000000000000..32779173ad45 --- /dev/null +++ b/obj/item/slapcraft_assembly.html @@ -0,0 +1,99 @@ + + + + + + + /obj/item/slapcraft_assembly - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

slapcraft_assembly + + + +

+ +

The location to place the assembly or items if the user cannot hold them

+ + + + + + + + + +

Vars

being_finishedWhether it's in the process of being finished.
disassemblingWhether it's in the process of being disassembled.
finished_itemsA list of weakrefs to finished items (not including items-in-items), used to move items around after they're complete and this object is qdeling.
items_to_place_in_resultAll items that want to place itself in the resulting item after the recipe is finished.
recipeRecipe this assembly is trying to make
step_statesAssociative list of whether the steps are finished or not

Procs

attack_selfAdd the appearance of all the components that the assembly is being made with.
disassembleDisassembles the assembly, either qdeling it if its in nullspace, or dumping all of its components on the ground and then qdeling it.
finished_stepProgresses the assembly to the next step and finishes it if made it through the last step.
set_recipeSets the recipe of this assembly aswell making the name and description matching.
+

Var Details

being_finished + + + + +

+

Whether it's in the process of being finished.

disassembling + + + + +

+

Whether it's in the process of being disassembled.

finished_items + + + + +

+

A list of weakrefs to finished items (not including items-in-items), used to move items around after they're complete and this object is qdeling.

items_to_place_in_result + + + + +

+

All items that want to place itself in the resulting item after the recipe is finished.

recipe + + + + +

+

Recipe this assembly is trying to make

step_states + + + + +

+

Associative list of whether the steps are finished or not

Proc Details

attack_self +

+

Add the appearance of all the components that the assembly is being made with.

disassemble +

+

Disassembles the assembly, either qdeling it if its in nullspace, or dumping all of its components on the ground and then qdeling it.

finished_step +

+

Progresses the assembly to the next step and finishes it if made it through the last step.

set_recipe +

+

Sets the recipe of this assembly aswell making the name and description matching.

+ + + diff --git a/obj/item/slime_extract.html b/obj/item/slime_extract.html new file mode 100644 index 000000000000..420db57f65bc --- /dev/null +++ b/obj/item/slime_extract.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/slime_extract - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

slime_extract + + + +

+ +

Slime Extracts

+ + + + + +

Vars

activate_reagentsWhich type of crossbred
effectmoddeletion timer, for delayed reactions
qdel_timeruses before it goes inert
recurringReagents required for activation

Procs

activateEffect when activated by a Luminescent.
attackCore-crossing: Feeding adult slimes extracts to obtain a much more powerful, single extract.
+

Var Details

activate_reagents + + + + +

+

Which type of crossbred

effectmod + + + + +

+

deletion timer, for delayed reactions

qdel_timer + + + + +

+

uses before it goes inert

recurring + + + + +

+

Reagents required for activation

Proc Details

activate +

+

Effect when activated by a Luminescent.

+

This proc is called whenever a Luminescent consumes a slime extract. Each one is separated into major and minor effects depending on the extract. Cooldown is measured in deciseconds.

+

attack +

+

Core-crossing: Feeding adult slimes extracts to obtain a much more powerful, single extract.

+

By using a valid core on a living adult slime, then feeding it nine more of the same type, you can mutate it into more useful items. Not every slime type has an implemented core cross.

+ + + diff --git a/obj/item/slimecross/burning/oil.html b/obj/item/slimecross/burning/oil.html new file mode 100644 index 000000000000..d01a3fbc53ab --- /dev/null +++ b/obj/item/slimecross/burning/oil.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/slimecross/burning/oil - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

oil + + + +

+ + +

Procs

boomInflicts a blastwave upon every mob within a small radius.

Proc Details

boom +

+

Inflicts a blastwave upon every mob within a small radius.

+ + + diff --git a/obj/item/slimecross/stabilized.html b/obj/item/slimecross/stabilized.html new file mode 100644 index 000000000000..fb970d56a48c --- /dev/null +++ b/obj/item/slimecross/stabilized.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/slimecross/stabilized - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

stabilized + + + +

+ + +

Procs

get_held_mobReturns the mob that is currently holding us if we are either in their inventory or a backpack analogue. +Returns null if it's in an invalid location, so that we can check explicitly for null later.

Proc Details

get_held_mob +

+

Returns the mob that is currently holding us if we are either in their inventory or a backpack analogue. +Returns null if it's in an invalid location, so that we can check explicitly for null later.

+ + + diff --git a/obj/item/slimepotion.html b/obj/item/slimepotion.html new file mode 100644 index 000000000000..0fc4d893362d --- /dev/null +++ b/obj/item/slimepotion.html @@ -0,0 +1,33 @@ + + + + + + + /obj/item/slimepotion - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

slimepotion + + + +

+ +

Slime-derived potions +#Slime potions

+

Feed slimes potions either by hand or using the slime console.

+

Slime potions either augment the slime's behavior, its extract output, or its intelligence. These all come either from extract effects or cross cores. +A few of the more powerful ones can modify someone's equipment or gender. +New ones should probably be accessible only through cross cores as all the normal core types already have uses. Rule of thumb is 'stronger effects go in cross cores'.

+ + + diff --git a/obj/item/soap.html b/obj/item/soap.html new file mode 100644 index 000000000000..a03aaeb78a2f --- /dev/null +++ b/obj/item/soap.html @@ -0,0 +1,40 @@ + + + + + + + /obj/item/soap - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

soap + + + +

+ + +

Procs

decreaseUsesDecrease the number of uses the bar of soap has.

Proc Details

decreaseUses +

+

Decrease the number of uses the bar of soap has.

+

The higher the cleaning skill, the less likely the soap will lose a use. +Arguments

+
+ + + diff --git a/obj/item/soulstone.html b/obj/item/soulstone.html new file mode 100644 index 000000000000..869c905ad378 --- /dev/null +++ b/obj/item/soulstone.html @@ -0,0 +1,107 @@ + + + + + + + /obj/item/soulstone - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

soulstone + + + +

+ + + + + + + + + + + +

Vars

required_roleRole check, if any needed
themeThis controls the color of the soulstone as well as restrictions for who can use it. THEME_CULT is red and is the default of cultist THEME_WIZARD is purple and is the default of wizard and THEME_HOLY is for purified soul stone

Procs

attackCapturing
attack_selfOptions for using captured souls
attempt_exorcismattempt_exorcism: called from on_bible_smacked, takes time and if successful +resets the item to a pre-possessed state
capture_shadecaptures a shade that was previously released from a soulstone.
capture_soulProcs for moving soul in and out off stone +transfer the mind of a carbon mob (which is then dusted) into a shade mob inside src. If forced, sacrifical and stat checks are skipped.
corruptcorrupt: turns the soulstone into a cult one and turns the occupant shade, if any, into a cultist
on_bible_smackedsignal called whenever a soulstone is smacked by a bible
transfer_to_constructtransfer the mind of the shade to a construct mob selected by the user, then deletes both the shade and src.
+

Var Details

required_role + + + + +

+

Role check, if any needed

theme + + + + +

+

This controls the color of the soulstone as well as restrictions for who can use it. THEME_CULT is red and is the default of cultist THEME_WIZARD is purple and is the default of wizard and THEME_HOLY is for purified soul stone

Proc Details

attack +

+

Capturing

attack_self +

+

Options for using captured souls

attempt_exorcism +

+

attempt_exorcism: called from on_bible_smacked, takes time and if successful +resets the item to a pre-possessed state

+

Arguments:

+

capture_shade +

+

captures a shade that was previously released from a soulstone.

capture_soul +

+

Procs for moving soul in and out off stone +transfer the mind of a carbon mob (which is then dusted) into a shade mob inside src. If forced, sacrifical and stat checks are skipped.

corrupt +

+

corrupt: turns the soulstone into a cult one and turns the occupant shade, if any, into a cultist

on_bible_smacked +

+

signal called whenever a soulstone is smacked by a bible

transfer_to_construct +

+

transfer the mind of the shade to a construct mob selected by the user, then deletes both the shade and src.

+ + + diff --git a/obj/item/sparkler.html b/obj/item/sparkler.html new file mode 100644 index 000000000000..8bec5130d871 --- /dev/null +++ b/obj/item/sparkler.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/sparkler - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sparkler + + + +

+ + +

Vars

burntimeBurn time in seconds
+

Var Details

burntime + + + + +

+

Burn time in seconds

+ + + diff --git a/obj/item/sparring_contract.html b/obj/item/sparring_contract.html new file mode 100644 index 000000000000..5c6b8e920dfa --- /dev/null +++ b/obj/item/sparring_contract.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/sparring_contract - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sparring_contract + + + +

+ + + + + +

Vars

arena_conditionwhat arena the fight will take place in
signed_bywho has signed this contract. fills itself with WEAKREFS, to prevent hanging references
stakes_conditionwhat stakes the fight will have
weapons_conditionwhat weapons will be allowed during the sparring match
+

Var Details

arena_condition + + + + +

+

what arena the fight will take place in

signed_by + + + + +

+

who has signed this contract. fills itself with WEAKREFS, to prevent hanging references

stakes_condition + + + + +

+

what stakes the fight will have

weapons_condition + + + + +

+

what weapons will be allowed during the sparring match

+ + + diff --git a/obj/item/spellbook.html b/obj/item/spellbook.html new file mode 100644 index 000000000000..152fe4d775f6 --- /dev/null +++ b/obj/item/spellbook.html @@ -0,0 +1,118 @@ + + + + + + + /obj/item/spellbook - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

spellbook + + + +

+ + + + + + + + + + + + + +

Vars

entriesA list to all spellbook entries within
full_random_bonusThe bonus that you get from going full random.
ownerThe mind that first used the book. Automatically assigned when a wizard spawns.
refunds_allowedDetermines if this spellbook can refund anything.
semi_random_bonusThe bonus that you get from going semi-random.
usesThe number of book charges we have to buy spells

Procs

on_magic_chargeSignal proc for COMSIG_ITEM_MAGICALLY_CHARGED
prepare_spellsInstantiates our list of spellbook entries.
purchase_entryAttempts to purchased the passed entry [to_buy] for [user].
randomizePurchases a fully random wizard loadout for [wizard], with a point bonus [bonus_to_give]. +If passed a number [bonus_to_give], the wizard is given additional uses on their spellbook, used in randomization.
semirandomizePurchases a semi-random wizard loadout for [wizard] +If passed a number [bonus_to_give], the wizard is given additional uses on their spellbook, used in randomization.
wizard_loadoutPurchases a wizard loadout [loadout] for [wizard].
+

Var Details

entries + + + + +

+

A list to all spellbook entries within

full_random_bonus + + + + +

+

The bonus that you get from going full random.

owner + + + + +

+

The mind that first used the book. Automatically assigned when a wizard spawns.

refunds_allowed + + + + +

+

Determines if this spellbook can refund anything.

semi_random_bonus + + + + +

+

The bonus that you get from going semi-random.

uses + + + + +

+

The number of book charges we have to buy spells

Proc Details

on_magic_charge +

+

Signal proc for COMSIG_ITEM_MAGICALLY_CHARGED

+

Has no effect on charge, but gives a funny message to people who think they're clever.

prepare_spells +

+

Instantiates our list of spellbook entries.

purchase_entry +

+

Attempts to purchased the passed entry [to_buy] for [user].

randomize +

+

Purchases a fully random wizard loadout for [wizard], with a point bonus [bonus_to_give]. +If passed a number [bonus_to_give], the wizard is given additional uses on their spellbook, used in randomization.

semirandomize +

+

Purchases a semi-random wizard loadout for [wizard] +If passed a number [bonus_to_give], the wizard is given additional uses on their spellbook, used in randomization.

wizard_loadout +

+

Purchases a wizard loadout [loadout] for [wizard].

+ + + diff --git a/obj/item/stack.html b/obj/item/stack.html new file mode 100644 index 000000000000..c9af39a3c53c --- /dev/null +++ b/obj/item/stack.html @@ -0,0 +1,262 @@ + + + + + + + /obj/item/stack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

stack + + + +

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

absorption_capacityHow much blood this stack can absorb until the owner starts loosing blood again.
absorption_rate_modifierHow much this stack reduces blood flow, multiplier
burn_cleanliness_bonusLike splint_factor but for burns instead of bone wounds. This is a multiplier used to speed up burn recoveries
has_unique_girderDoes this stack require a unique girder in order to make a wall?
material_typeDatum material type that this stack is made of
matter_amountAmount of matter for RCD
splint_slowdownIf set and this used as a splint for a broken bone wound, this is used as a multiplier for applicable slowdowns (lower = better) (also for speeding up burn recoveries)

Procs

absorb_bloodAbsorb an incoming bleed amount, return the amount we failed to absorb.
add
build_recipeReturns a list of properties of a given recipe
can_merge
is_valid_recipeChecks if the recipe is valid to be used
is_zero_amountReturns TRUE if the item stack is the equivalent of a 0 amount item.
mergeMerges as much of src into target_stack as possible. If present, the limit arg overrides target_stack.max_amount for transfer.
merge_without_delMerges as much of src into target_stack as possible. If present, the limit arg overrides target_stack.max_amount for transfer.
on_movable_entered_occupied_turfSignal handler for connect_loc element. Called when a movable enters the turf we're currently occupying. Merges if possible.
recursively_build_recipesBuilds all recipes in a given recipe list and returns an association list containing them
set_custom_materialsOverride to make things like metalgen accurately set custom materials
set_mats_per_unit
split_stack
update_custom_materialsUpdates the custom materials list of this stack.
+

Var Details

absorption_capacity + + + + +

+

How much blood this stack can absorb until the owner starts loosing blood again.

absorption_rate_modifier + + + + +

+

How much this stack reduces blood flow, multiplier

burn_cleanliness_bonus + + + + +

+

Like splint_factor but for burns instead of bone wounds. This is a multiplier used to speed up burn recoveries

has_unique_girder + + + + +

+

Does this stack require a unique girder in order to make a wall?

material_type + + + + +

+

Datum material type that this stack is made of

matter_amount + + + + +

+

Amount of matter for RCD

splint_slowdown + + + + +

+

If set and this used as a splint for a broken bone wound, this is used as a multiplier for applicable slowdowns (lower = better) (also for speeding up burn recoveries)

Proc Details

absorb_blood +

+

Absorb an incoming bleed amount, return the amount we failed to absorb.

add +

+

build_recipe +

+

Returns a list of properties of a given recipe

+

Arguments:

+

can_merge +

+

is_valid_recipe +

+

Checks if the recipe is valid to be used

+

Arguments:

+

is_zero_amount +

+

Returns TRUE if the item stack is the equivalent of a 0 amount item.

+

Also deletes the item if delete_if_zero is TRUE and the stack does not have +is_cyborg set to true.

merge +

+

Merges as much of src into target_stack as possible. If present, the limit arg overrides target_stack.max_amount for transfer.

+

This proc deletes src if the remaining amount after the transfer is 0.

merge_without_del +

+

Merges as much of src into target_stack as possible. If present, the limit arg overrides target_stack.max_amount for transfer.

+

This calls use() without check = FALSE, preventing the item from qdeling itself if it reaches 0 stack size.

+

As a result, this proc can leave behind a 0 amount stack.

on_movable_entered_occupied_turf +

+

Signal handler for connect_loc element. Called when a movable enters the turf we're currently occupying. Merges if possible.

recursively_build_recipes +

+

Builds all recipes in a given recipe list and returns an association list containing them

+

Arguments:

+

set_custom_materials +

+

Override to make things like metalgen accurately set custom materials

set_mats_per_unit +

+

split_stack +

+

update_custom_materials +

+

Updates the custom materials list of this stack.

+ + + diff --git a/obj/item/stack/cable_coil.html b/obj/item/stack/cable_coil.html new file mode 100644 index 000000000000..0145579e1317 --- /dev/null +++ b/obj/item/stack/cable_coil.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/stack/cable_coil - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cable_coil + + + +

+ + + + + +

Vars

cable_layer_modeWhether we are in a cable laying mode
click_managerHandles the click foo.
mob_layerReference to the mob laying the cables
previous_positionPrevious position stored for purposes of cable laying
+

Var Details

cable_layer_mode + + + + +

+

Whether we are in a cable laying mode

click_manager + + + + +

+

Handles the click foo.

mob_layer + + + + +

+

Reference to the mob laying the cables

previous_position + + + + +

+

Previous position stored for purposes of cable laying

+ + + diff --git a/obj/item/stack/cannonball.html b/obj/item/stack/cannonball.html new file mode 100644 index 000000000000..255256a7d4d2 --- /dev/null +++ b/obj/item/stack/cannonball.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/cannonball - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cannonball + + + +

+ + +

Vars

projectile_typethe type of projectile this type of cannonball item turns into.
+

Var Details

projectile_type + + + + +

+

the type of projectile this type of cannonball item turns into.

+ + + diff --git a/obj/item/stack/conveyor.html b/obj/item/stack/conveyor.html new file mode 100644 index 000000000000..dc5fe8b3fe82 --- /dev/null +++ b/obj/item/stack/conveyor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/conveyor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

conveyor + + + +

+ + +

Vars

idID for linking a belt to one or more switches, all conveyors with the same ID will be controlled the same switch(es).
+

Var Details

id + + + + +

+

ID for linking a belt to one or more switches, all conveyors with the same ID will be controlled the same switch(es).

+ + + diff --git a/obj/item/stack/license_plates/filled.html b/obj/item/stack/license_plates/filled.html new file mode 100644 index 000000000000..83f147705db7 --- /dev/null +++ b/obj/item/stack/license_plates/filled.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/stack/license_plates/filled - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

filled + + + +

+ + +

Procs

update_icon_stateOverride to allow for variations

Proc Details

update_icon_state +

+

Override to allow for variations

+ + + diff --git a/obj/item/stack/medical.html b/obj/item/stack/medical.html new file mode 100644 index 000000000000..0674cf0c5a27 --- /dev/null +++ b/obj/item/stack/medical.html @@ -0,0 +1,113 @@ + + + + + + + /obj/item/stack/medical - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

medical + + + +

+ + + + + + + + + + + + + +

Vars

flesh_regenerationHow much we add to flesh_healing for burn wounds on application
heal_bruteHow much brute we heal per application. This is the only number that matters for simplemobs
heal_burnHow much burn we heal per application
other_delayHow long it takes to apply it to someone else
repeatingIf we've still got more and the patient is still hurt, should we keep going automatically?
sanitizationHow much sanitization to apply to burn wounds on application
self_delayHow long it takes to apply it to yourself
use_soundA sound to play on use

Procs

healApply the actual effects of the healing if it's a simple animal, goes to /obj/item/stack/medical/proc/heal_carbon if it's a carbon, returns TRUE if it works, FALSE if it doesn't
heal_carbonThe healing effects on a carbon patient. Since we have extra details for dealing with bodyparts, we get our own fancy proc. Still returns TRUE on success and FALSE on fail
post_heal_effectsOverride this proc for special post heal effects.
try_healIn which we print the message that we're starting to heal someone, then we try healing them. Does the do_after whether or not it can actually succeed on a targeted mob
+

Var Details

flesh_regeneration + + + + +

+

How much we add to flesh_healing for burn wounds on application

heal_brute + + + + +

+

How much brute we heal per application. This is the only number that matters for simplemobs

heal_burn + + + + +

+

How much burn we heal per application

other_delay + + + + +

+

How long it takes to apply it to someone else

repeating + + + + +

+

If we've still got more and the patient is still hurt, should we keep going automatically?

sanitization + + + + +

+

How much sanitization to apply to burn wounds on application

self_delay + + + + +

+

How long it takes to apply it to yourself

use_sound + + + + +

+

A sound to play on use

Proc Details

heal +

+

Apply the actual effects of the healing if it's a simple animal, goes to /obj/item/stack/medical/proc/heal_carbon if it's a carbon, returns TRUE if it works, FALSE if it doesn't

heal_carbon +

+

The healing effects on a carbon patient. Since we have extra details for dealing with bodyparts, we get our own fancy proc. Still returns TRUE on success and FALSE on fail

post_heal_effects +

+

Override this proc for special post heal effects.

try_heal +

+

In which we print the message that we're starting to heal someone, then we try healing them. Does the do_after whether or not it can actually succeed on a targeted mob

+ + + diff --git a/obj/item/stack/medical/mesh.html b/obj/item/stack/medical/mesh.html new file mode 100644 index 000000000000..043e8eee86c6 --- /dev/null +++ b/obj/item/stack/medical/mesh.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/medical/mesh - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mesh + + + +

+ + +

Vars

grind_resultsThis var determines if the sterile packaging of the mesh has been opened.
+

Var Details

grind_results + + + + +

+

This var determines if the sterile packaging of the mesh has been opened.

+ + + diff --git a/obj/item/stack/ore.html b/obj/item/stack/ore.html new file mode 100644 index 000000000000..73cfaa54ae2f --- /dev/null +++ b/obj/item/stack/ore.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/stack/ore - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ore + + + +

+ +

Mineral ores

+ +

Vars

pointsHow many points this ore gets you from the ore redemption machine
refined_typeWhat this ore defaults to being refined into
+

Var Details

points + + + + +

+

How many points this ore gets you from the ore redemption machine

refined_type + + + + +

+

What this ore defaults to being refined into

+ + + diff --git a/obj/item/stack/ore/bluespace_crystal.html b/obj/item/stack/ore/bluespace_crystal.html new file mode 100644 index 000000000000..bc76247299ac --- /dev/null +++ b/obj/item/stack/ore/bluespace_crystal.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/ore/bluespace_crystal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bluespace_crystal + + + +

+ + +

Vars

blink_rangeThe teleport range when crushed/thrown at someone.
+

Var Details

+

The teleport range when crushed/thrown at someone.

+ + + diff --git a/obj/item/stack/overfloor_catwalk.html b/obj/item/stack/overfloor_catwalk.html new file mode 100644 index 000000000000..0782c069b874 --- /dev/null +++ b/obj/item/stack/overfloor_catwalk.html @@ -0,0 +1,40 @@ + + + + + + + /obj/item/stack/overfloor_catwalk - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

overfloor_catwalk + + + +

+ + +

Procs

place_tilePlace our tile on a plating, or replace it.

Proc Details

place_tile +

+

Place our tile on a plating, or replace it.

+

Arguments:

+
+ + + diff --git a/obj/item/stack/sheet.html b/obj/item/stack/sheet.html new file mode 100644 index 000000000000..076793720911 --- /dev/null +++ b/obj/item/stack/sheet.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/stack/sheet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

sheet + + + +

+ + + + + +

Vars

walltypeWhat type of wall does this sheet spawn
window_typeWhat type of fulltile window this sheet can construct.

Procs

on_attack_floorFacilitates sheets being smacked on the floor
try_install_windowMob action to try and install a window if the sheet can do that
+

Var Details

walltype + + + + +

+

What type of wall does this sheet spawn

window_type + + + + +

+

What type of fulltile window this sheet can construct.

Proc Details

on_attack_floor +

+

Facilitates sheets being smacked on the floor

+

This is used for crafting by hitting the floor with items. +The inital use case is glass sheets breaking in to shards when the floor is hit. +Args:

+

try_install_window +

+

Mob action to try and install a window if the sheet can do that

+ + + diff --git a/obj/item/stack/sheet/rglass/cyborg.html b/obj/item/stack/sheet/rglass/cyborg.html new file mode 100644 index 000000000000..151c4f636f37 --- /dev/null +++ b/obj/item/stack/sheet/rglass/cyborg.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/stack/sheet/rglass/cyborg - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cyborg + + + +

+ + + +

Vars

glacostThe amount of energy this draws from the glass source per stack unit.
glasourceWhat energy storage this draws glass from as a robot module.
+

Var Details

glacost + + + + +

+

The amount of energy this draws from the glass source per stack unit.

glasource + + + + +

+

What energy storage this draws glass from as a robot module.

+ + + diff --git a/obj/item/stack/sheet/wethide.html b/obj/item/stack/sheet/wethide.html new file mode 100644 index 000000000000..a2686da8d196 --- /dev/null +++ b/obj/item/stack/sheet/wethide.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/stack/sheet/wethide - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

wethide + + + +

+ + + +

Vars

drying_threshold_temperatureKelvin to start drying
wetnessReduced when exposed to high temperatures
+

Var Details

drying_threshold_temperature + + + + +

+

Kelvin to start drying

wetness + + + + +

+

Reduced when exposed to high temperatures

+ + + diff --git a/obj/item/stack/spacecash.html b/obj/item/stack/spacecash.html new file mode 100644 index 000000000000..e244152d9d4e --- /dev/null +++ b/obj/item/stack/spacecash.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/stack/spacecash - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

spacecash + + + +

+ + + +

Vars

valueHow much money one "amount" of this is worth. Use get_item_credit_value().

Procs

use_cashLike use(), but for financial amounts. use_cash(20) on a stack of 10s will use 2. use_cash(22) on a stack of 10s will use 3.
+

Var Details

value + + + + +

+

How much money one "amount" of this is worth. Use get_item_credit_value().

Proc Details

use_cash +

+

Like use(), but for financial amounts. use_cash(20) on a stack of 10s will use 2. use_cash(22) on a stack of 10s will use 3.

+ + + diff --git a/obj/item/stack/sticky_tape.html b/obj/item/stack/sticky_tape.html new file mode 100644 index 000000000000..81d7c09c4df5 --- /dev/null +++ b/obj/item/stack/sticky_tape.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/stack/sticky_tape - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sticky_tape + + + +

+ + + +

Vars

handcuff_delaydo_after lengths for handcuff and muzzle attacks
tape_gagThe tape type you get when ripping off a piece of tape.
+

Var Details

handcuff_delay + + + + +

+

do_after lengths for handcuff and muzzle attacks

tape_gag + + + + +

+

The tape type you get when ripping off a piece of tape.

+ + + diff --git a/obj/item/stack/tile.html b/obj/item/stack/tile.html new file mode 100644 index 000000000000..2c787b55f6ab --- /dev/null +++ b/obj/item/stack/tile.html @@ -0,0 +1,84 @@ + + + + + + + /obj/item/stack/tile - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tile + + + +

+ +

TILE STACKS

+

Allows us to place a turf on a plating.

+ + + + + + +

Vars

replace_platingAllows us to replace the plating we are attacking if our baseturfs are the same.
tile_reskin_typesCached associative lazy list to hold the radial options for tile reskinning. See tile_reskinning.dm for more information. Pattern: list[type] -> image
tile_rotate_dirsCached associative lazy list to hold the radial options for tile dirs. See tile_reskinning.dm for more information.
turf_dirWhat dir will the turf have?
turf_typeWhat type of turf does this tile produce.

Procs

place_tilePlace our tile on a plating, or replace it.
tile_reskin_listCaches associative lists with type path index keys and images of said type's initial icon state (typepath -> image).
+

Var Details

replace_plating + + + + +

+

Allows us to replace the plating we are attacking if our baseturfs are the same.

tile_reskin_types + + + + +

+

Cached associative lazy list to hold the radial options for tile reskinning. See tile_reskinning.dm for more information. Pattern: list[type] -> image

tile_rotate_dirs + + + + +

+

Cached associative lazy list to hold the radial options for tile dirs. See tile_reskinning.dm for more information.

turf_dir + + + + +

+

What dir will the turf have?

turf_type + + + + +

+

What type of turf does this tile produce.

Proc Details

place_tile +

+

Place our tile on a plating, or replace it.

+

Arguments:

+

tile_reskin_list +

+

Caches associative lists with type path index keys and images of said type's initial icon state (typepath -> image).

+ + + diff --git a/obj/item/stack/tile/carpet/neon.html b/obj/item/stack/tile/carpet/neon.html new file mode 100644 index 000000000000..607c98666bc5 --- /dev/null +++ b/obj/item/stack/tile/carpet/neon.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/stack/tile/carpet/neon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

neon + + + +

+ + + + + + +

Vars

emissive_alphaThe alpha used for the emissive overlay.
neon_colorThe color used for the neon overlay.
neon_iconThe icon used for the neon overlay and emissive overlay.
neon_icon_stateThe icon state used for the neon overlay and emissive overlay.
neon_inhand_icon_stateThe icon state used for the neon overlay inhands.
+

Var Details

emissive_alpha + + + + +

+

The alpha used for the emissive overlay.

neon_color + + + + +

+

The color used for the neon overlay.

neon_icon + + + + +

+

The icon used for the neon overlay and emissive overlay.

neon_icon_state + + + + +

+

The icon state used for the neon overlay and emissive overlay.

neon_inhand_icon_state + + + + +

+

The icon state used for the neon overlay inhands.

+ + + diff --git a/obj/item/stack/tile/mineral.html b/obj/item/stack/tile/mineral.html new file mode 100644 index 000000000000..fded147d9617 --- /dev/null +++ b/obj/item/stack/tile/mineral.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/tile/mineral - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mineral + + + +

+ + +

Vars

mineralTypeDetermines what stack is gotten out of us when welded.
+

Var Details

mineralType + + + + +

+

Determines what stack is gotten out of us when welded.

+ + + diff --git a/obj/item/stock_parts.html b/obj/item/stock_parts.html new file mode 100644 index 000000000000..a43651dbbbc2 --- /dev/null +++ b/obj/item/stock_parts.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stock_parts - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

stock_parts + + + +

+ + +

Vars

base_nameUsed when a base part has a different name to higher tiers of part. For example, machine frames want any manipulator and not just a micro-manipulator.
+

Var Details

base_name + + + + +

+

Used when a base part has a different name to higher tiers of part. For example, machine frames want any manipulator and not just a micro-manipulator.

+ + + diff --git a/obj/item/stock_parts/cell.html b/obj/item/stock_parts/cell.html new file mode 100644 index 000000000000..57ac5333e66a --- /dev/null +++ b/obj/item/stock_parts/cell.html @@ -0,0 +1,106 @@ + + + + + + + /obj/item/stock_parts/cell - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Power cell + + + +

+ +

Batteries.

+ + + + + + + + + + +

Vars

chargeCurrent charge in cell units
charge_light_typeWhat charge lige sprite to use, null if no light
chargeratehow much power is given every tick in a recharger
connector_typeWhat connector sprite to use when in a cell charger, null if no connectors
corruptedIf the power cell was damaged by an explosion, chance for it to become corrupted and function the same as rigged.
emptyDoes the cell start without any charge?
grown_batteryIf it's a grown that acts as a battery, add a wire overlay to it.
maxchargeMaximum charge in cell units
ratingdescIf true, the cell will state it's maximum charge in it's description
riggedIf the cell has been booby-trapped by injecting it with plasma. Chance on use() to explode.

Procs

on_reagents_delHandles properly detaching signal hooks.
+

Var Details

charge + + + + +

+

Current charge in cell units

charge_light_type + + + + +

+

What charge lige sprite to use, null if no light

chargerate + + + + +

+

how much power is given every tick in a recharger

connector_type + + + + +

+

What connector sprite to use when in a cell charger, null if no connectors

corrupted + + + + +

+

If the power cell was damaged by an explosion, chance for it to become corrupted and function the same as rigged.

empty + + + + +

+

Does the cell start without any charge?

grown_battery + + + + +

+

If it's a grown that acts as a battery, add a wire overlay to it.

maxcharge + + + + +

+

Maximum charge in cell units

ratingdesc + + + + +

+

If true, the cell will state it's maximum charge in it's description

rigged + + + + +

+

If the cell has been booby-trapped by injecting it with plasma. Chance on use() to explode.

Proc Details

on_reagents_del +

+

Handles properly detaching signal hooks.

+ + + diff --git a/obj/item/storage.html b/obj/item/storage.html new file mode 100644 index 000000000000..fc82b7bea584 --- /dev/null +++ b/obj/item/storage.html @@ -0,0 +1,51 @@ + + + + + + + /obj/item/storage - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

storage + + + +

+ + + +

Vars

preloadShould we preload the contents of this type? +BE CAREFUL, THERE'S SOME REALLY NASTY SHIT IN THIS TYPEPATH +SANTA IS EVIL

Procs

get_types_to_preloadReturns a list of object types to be preloaded by our code +I'll say it again, be very careful with this. We only need it for a few things +Don't do anything stupid, please
+

Var Details

preload + + + + +

+

Should we preload the contents of this type? +BE CAREFUL, THERE'S SOME REALLY NASTY SHIT IN THIS TYPEPATH +SANTA IS EVIL

Proc Details

get_types_to_preload +

+

Returns a list of object types to be preloaded by our code +I'll say it again, be very careful with this. We only need it for a few things +Don't do anything stupid, please

+ + + diff --git a/obj/item/storage/backpack/duffelbag/cursed.html b/obj/item/storage/backpack/duffelbag/cursed.html new file mode 100644 index 000000000000..5527f1af9c45 --- /dev/null +++ b/obj/item/storage/backpack/duffelbag/cursed.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/backpack/duffelbag/cursed - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cursed + + + +

+ + +

Vars

hungercounts time passed since it ate food
+

Var Details

hunger + + + + +

+

counts time passed since it ate food

+ + + diff --git a/obj/item/storage/bag/money/dutchmen.html b/obj/item/storage/bag/money/dutchmen.html new file mode 100644 index 000000000000..ba93f136fcf4 --- /dev/null +++ b/obj/item/storage/bag/money/dutchmen.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/storage/bag/money/dutchmen - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

dutchmen + + + +

+ + +

Procs

PopulateContentsUsed in the dutchmen pirate shuttle.

Proc Details

PopulateContents +

+

Used in the dutchmen pirate shuttle.

+ + + diff --git a/obj/item/storage/bag/trash.html b/obj/item/storage/bag/trash.html new file mode 100644 index 000000000000..52451d84c69d --- /dev/null +++ b/obj/item/storage/bag/trash.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/bag/trash - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

trash + + + +

+ + +

Vars

insertableIf true, can be inserted into the janitor cart
+

Var Details

insertable + + + + +

+

If true, can be inserted into the janitor cart

+ + + diff --git a/obj/item/storage/book/bible.html b/obj/item/storage/book/bible.html new file mode 100644 index 000000000000..d28089eec492 --- /dev/null +++ b/obj/item/storage/book/bible.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/storage/book/bible - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

bible + + + +

+ + +

Procs

check_menuChecks if we are allowed to interact with a radial menu

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

Arguments:

+
+ + + diff --git a/obj/item/storage/box/hug/plushes.html b/obj/item/storage/box/hug/plushes.html new file mode 100644 index 000000000000..1931ce1b8b97 --- /dev/null +++ b/obj/item/storage/box/hug/plushes.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/box/hug/plushes - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

plushes + + + +

+ + +

Vars

approved_by_corporatethe plushies that aren't of things trying to kill you
+

Var Details

approved_by_corporate + + + + +

+

the plushies that aren't of things trying to kill you

+ + + diff --git a/obj/item/storage/box/papersack.html b/obj/item/storage/box/papersack.html new file mode 100644 index 000000000000..f7fc12f8ea4f --- /dev/null +++ b/obj/item/storage/box/papersack.html @@ -0,0 +1,48 @@ + + + + + + + /obj/item/storage/box/papersack - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

papersack + + + +

+ + + +

Vars

papersack_designsA list of all available papersack reskins

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu
+

Var Details

papersack_designs + + + + +

+

A list of all available papersack reskins

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
+ + + diff --git a/obj/item/storage/fancy.html b/obj/item/storage/fancy.html new file mode 100644 index 000000000000..f494c5f8f105 --- /dev/null +++ b/obj/item/storage/fancy.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/storage/fancy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

fancy + + + +

+ + + + + + +

Vars

contents_tagUsed by examine to report what this thing is holding.
fold_resultWhat this container folds up into when it's empty.
is_openWhether the container is open or not
spawn_countHow many of the things to fill this storage with.
spawn_typeWhat type of thing to fill this storage with.
+

Var Details

contents_tag + + + + +

+

Used by examine to report what this thing is holding.

fold_result + + + + +

+

What this container folds up into when it's empty.

is_open + + + + +

+

Whether the container is open or not

spawn_count + + + + +

+

How many of the things to fill this storage with.

spawn_type + + + + +

+

What type of thing to fill this storage with.

+ + + diff --git a/obj/item/storage/fancy/cigarettes.html b/obj/item/storage/fancy/cigarettes.html new file mode 100644 index 000000000000..e9c4a8b7fa8e --- /dev/null +++ b/obj/item/storage/fancy/cigarettes.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/storage/fancy/cigarettes - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cigarettes + + + +

+ + + + + +

Vars

candyfor cigarette overlay
display_cigsDo we not have our own handling for cig overlays?
rigged_omenFor VV'ing, set this to true if you want to force the coupon to give an omen
spawn_couponDoes this cigarette packet come with a coupon attached?
+

Var Details

candy + + + + +

+

for cigarette overlay

display_cigs + + + + +

+

Do we not have our own handling for cig overlays?

rigged_omen + + + + +

+

For VV'ing, set this to true if you want to force the coupon to give an omen

spawn_coupon + + + + +

+

Does this cigarette packet come with a coupon attached?

+ + + diff --git a/obj/item/storage/fancy/rollingpapers.html b/obj/item/storage/fancy/rollingpapers.html new file mode 100644 index 000000000000..86ca9f79356d --- /dev/null +++ b/obj/item/storage/fancy/rollingpapers.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/storage/fancy/rollingpapers - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

rollingpapers + + + +

+ + +

Procs

update_icon_stateOverrides to do nothing because fancy boxes are fucking insane.

Proc Details

update_icon_state +

+

Overrides to do nothing because fancy boxes are fucking insane.

+ + + diff --git a/obj/item/storage/fish_case/random.html b/obj/item/storage/fish_case/random.html new file mode 100644 index 000000000000..c914675ee51b --- /dev/null +++ b/obj/item/storage/fish_case/random.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/storage/fish_case/random - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

random + + + +

+ + +

Procs

PopulateContentsFish case with single random fish inside.

Proc Details

PopulateContents +

+

Fish case with single random fish inside.

+ + + diff --git a/obj/item/storage/organbox.html b/obj/item/storage/organbox.html new file mode 100644 index 000000000000..d39c5e4896fb --- /dev/null +++ b/obj/item/storage/organbox.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/organbox - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

organbox + + + +

+ + +

Vars

coolingvar to prevent it freezing the same things over and over
+

Var Details

cooling + + + + +

+

var to prevent it freezing the same things over and over

+ + + diff --git a/obj/item/storage/part_replacer/bluespace.html b/obj/item/storage/part_replacer/bluespace.html new file mode 100644 index 000000000000..d92c996d36bb --- /dev/null +++ b/obj/item/storage/part_replacer/bluespace.html @@ -0,0 +1,58 @@ + + + + + + + /obj/item/storage/part_replacer/bluespace - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

bluespace + + + +

+ + + + +

Procs

on_insered_component_reagent_pre_addSignal handler for when the reagents datum of an inserted part has reagents added to it.
on_part_enteredSignal handler for when a part has been inserted into the BRPED.
on_part_exitedSignal handler for a part is removed from the BRPED.

Proc Details

on_insered_component_reagent_pre_add +

+

Signal handler for when the reagents datum of an inserted part has reagents added to it.

+

Registers the PRE_ADD variant which allows the signal handler to stop reagents being +added.

+

Simply returns COMPONENT_CANCEL_REAGENT_ADD. We never want to allow people to add +reagents to beakers in BRPEDs as they can then be used for spammable remote bombing.

on_part_entered +

+

Signal handler for when a part has been inserted into the BRPED.

+

If the inserted item is a rigged or corrupted cell, does some logging.

+

If it has a reagent holder, clears the reagents and registers signals to prevent new +reagents being added and registers clean up signals on inserted item's removal from +the BRPED.

on_part_exited +

+

Signal handler for a part is removed from the BRPED.

+

Does signal registration cleanup on its reagents, if it has any.

+ + + diff --git a/obj/item/storage/pod.html b/obj/item/storage/pod.html new file mode 100644 index 000000000000..ba3b01957cbb --- /dev/null +++ b/obj/item/storage/pod.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/storage/pod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

pod + + + +

+ + +

Procs

afterShuttleMoveItem move procs

Proc Details

afterShuttleMove +

+

Item move procs

+ + + diff --git a/obj/item/storage/portable_chem_mixer.html b/obj/item/storage/portable_chem_mixer.html new file mode 100644 index 000000000000..817dbcee85dd --- /dev/null +++ b/obj/item/storage/portable_chem_mixer.html @@ -0,0 +1,73 @@ + + + + + + + /obj/item/storage/portable_chem_mixer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

portable_chem_mixer + + + +

+ + + + + + +

Vars

amountCreating an empty slot for a beaker that can be added to dispense into
dispensable_reagentsThe amount of reagent that is to be dispensed currently
show_phList in which all currently dispensable reagents go +If the UI has the pH meter shown

Procs

replace_beakerReplaces the beaker of the portable chemical mixer with another beaker, or simply adds the new beaker if none is in currently
update_contentsUpdates the contents of the portable chemical mixer
+

Var Details

amount + + + + +

+

Creating an empty slot for a beaker that can be added to dispense into

dispensable_reagents + + + + +

+

The amount of reagent that is to be dispensed currently

show_ph + + + + +

+

List in which all currently dispensable reagents go +If the UI has the pH meter shown

Proc Details

replace_beaker +

+

Replaces the beaker of the portable chemical mixer with another beaker, or simply adds the new beaker if none is in currently

+

Checks if a valid user and a valid new beaker exist and attempts to replace the current beaker in the portable chemical mixer with the one in hand. Simply places the new beaker in if no beaker is currently loaded +Arguments:

+

update_contents +

+

Updates the contents of the portable chemical mixer

+

A list of dispensable reagents is created by iterating through each source beaker in the portable chemical beaker and reading its contents

+ + + diff --git a/obj/item/storage/secure.html b/obj/item/storage/secure.html new file mode 100644 index 000000000000..4abe1188e2af --- /dev/null +++ b/obj/item/storage/secure.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/storage/secure - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

secure + + + +

+ +

Generic Safe

+ + + + + + + + +

Vars

can_hack_openIs this door hackable?
entered_codeThe code entered by the user
icon_lockingicon_state of locked safe
icon_openedicon_state of opened safe
icon_sparkingicon_state of sparking safe
lock_codeThe code that will open this safe
lock_hackingIs this lock currently being hacked?
lock_setDoes this lock have a code set?
panel_openIs the safe service panel open?
+

Var Details

can_hack_open + + + + +

+

Is this door hackable?

entered_code + + + + +

+

The code entered by the user

icon_locking + + + + +

+

icon_state of locked safe

icon_opened + + + + +

+

icon_state of opened safe

icon_sparking + + + + +

+

icon_state of sparking safe

lock_code + + + + +

+

The code that will open this safe

lock_hacking + + + + +

+

Is this lock currently being hacked?

lock_set + + + + +

+

Does this lock have a code set?

panel_open + + + + +

+

Is the safe service panel open?

+ + + diff --git a/obj/item/storage/secure/safe/caps_spare.html b/obj/item/storage/secure/safe/caps_spare.html new file mode 100644 index 000000000000..3b358a9e4d43 --- /dev/null +++ b/obj/item/storage/secure/safe/caps_spare.html @@ -0,0 +1,32 @@ + + + + + + + /obj/item/storage/secure/safe/caps_spare - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

caps_spare + + + +

+ +

This safe is meant to be damn robust. To break in, you're supposed to get creative, or use acid or an explosion.

+

This makes the safe still possible to break in for someone who is prepared and capable enough, either through +chemistry, botany or whatever else.

+

The safe is also weak to explosions, so spending some early TC could allow an antag to blow it upen if they can +get access to it.

+ + + diff --git a/obj/item/storage/toolbox/mechanical.html b/obj/item/storage/toolbox/mechanical.html new file mode 100644 index 000000000000..19ce9fc19a68 --- /dev/null +++ b/obj/item/storage/toolbox/mechanical.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/toolbox/mechanical - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mechanical + + + +

+ + +

Vars

has_soulIf FALSE, someone with a ensouled soulstone can sacrifice a spirit to change the sprite of this toolbox.
+

Var Details

has_soul + + + + +

+

If FALSE, someone with a ensouled soulstone can sacrifice a spirit to change the sprite of this toolbox.

+ + + diff --git a/obj/item/storage/wallet.html b/obj/item/storage/wallet.html new file mode 100644 index 000000000000..e1dfb4cc8616 --- /dev/null +++ b/obj/item/storage/wallet.html @@ -0,0 +1,51 @@ + + + + + + + /obj/item/storage/wallet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

wallet + + + +

+ + + + +

Vars

front_idThe ID that is visible and functional if the wallet is open.
is_openIs the wallet open?

Procs

refreshIDCalculates the new front ID.
+

Var Details

front_id + + + + +

+

The ID that is visible and functional if the wallet is open.

is_open + + + + +

+

Is the wallet open?

Proc Details

refreshID +

+

Calculates the new front ID.

+

Picks the ID card that has the most combined command or higher tier accesses.

+ + + diff --git a/obj/item/switchblade.html b/obj/item/switchblade.html new file mode 100644 index 000000000000..61cd234a2f5f --- /dev/null +++ b/obj/item/switchblade.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/switchblade - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

switchblade + + + +

+ + +

Vars

start_extendedWhether the switchblade starts extended or not.
+

Var Details

start_extended + + + + +

+

Whether the switchblade starts extended or not.

+ + + diff --git a/obj/item/tank.html b/obj/item/tank.html new file mode 100644 index 000000000000..09a3ea88afc9 --- /dev/null +++ b/obj/item/tank.html @@ -0,0 +1,174 @@ + + + + + + + /obj/item/tank - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Gas Tank + + + +

+ +

Handheld gas canisters +Can rupture explosively if overpressurized

+ + + + + + + + + + + + + + + + + + +

Vars

air_contentsThe gases this tank contains. Don't modify this directly, use return_air() to get it instead
breathing_mobMob that is currently breathing from the tank.
distribute_pressureThe pressure of the gases this tank supplies to internals.
excitedUsed by process() to track if there's a reason to process each tick
explosion_infoHow our particular tank explodes.
leakingWhether the tank is currently leaking.
reaction_infoList containing reactions happening inside our tank.
tank_holder_icon_stateIcon state when in a tank holder. Null makes it incompatible with tank holder.
volumeThe volume of this tank. Among other things gas tank explosions (including TTVs) scale off of this. Be sure to account for that if you change this or you will break ~~toxins~~ordinance.

Procs

after_internals_closedCalled by carbons after they disconnect the tank from their breathing apparatus.
after_internals_openedCalled by carbons after they connect the tank to their breathing apparatus.
atom_breakHandles the tank springing a leak.
atom_destructionHandles rupturing and fragmenting
droppedCloses the tank if dropped while open.
equippedCloses the tank if given to another mob while open.
handle_tolerancesHandles the minimum and maximum pressure tolerances of the tank.
merging_informationHandle fragmentation +Holy. Fucking. Shit. This is AGONIZING. Give me /obj/proc/fragmentate() PLEASE.
remove_air_volumeRemoves some volume of the tanks gases as the tanks distribution pressure.
toggle_internalsAttempts to toggle the mob's internals on or off using this tank. Returns TRUE if successful.
+

Var Details

air_contents + + + + +

+

The gases this tank contains. Don't modify this directly, use return_air() to get it instead

breathing_mob + + + + +

+

Mob that is currently breathing from the tank.

distribute_pressure + + + + +

+

The pressure of the gases this tank supplies to internals.

excited + + + + +

+

Used by process() to track if there's a reason to process each tick

explosion_info + + + + +

+

How our particular tank explodes.

leaking + + + + +

+

Whether the tank is currently leaking.

reaction_info + + + + +

+

List containing reactions happening inside our tank.

tank_holder_icon_state + + + + +

+

Icon state when in a tank holder. Null makes it incompatible with tank holder.

volume + + + + +

+

The volume of this tank. Among other things gas tank explosions (including TTVs) scale off of this. Be sure to account for that if you change this or you will break ~~toxins~~ordinance.

Proc Details

after_internals_closed +

+

Called by carbons after they disconnect the tank from their breathing apparatus.

after_internals_opened +

+

Called by carbons after they connect the tank to their breathing apparatus.

atom_break +

+

Handles the tank springing a leak.

atom_destruction +

+

Handles rupturing and fragmenting

dropped +

+

Closes the tank if dropped while open.

equipped +

+

Closes the tank if given to another mob while open.

handle_tolerances +

+

Handles the minimum and maximum pressure tolerances of the tank.

+

Returns true if it did anything of significance, false otherwise +Arguments:

+

merging_information +

+

Handle fragmentation +Holy. Fucking. Shit. This is AGONIZING. Give me /obj/proc/fragmentate() PLEASE.

remove_air_volume +

+

Removes some volume of the tanks gases as the tanks distribution pressure.

+

Arguments:

+

toggle_internals +

+

Attempts to toggle the mob's internals on or off using this tank. Returns TRUE if successful.

+ + + diff --git a/obj/item/tape.html b/obj/item/tape.html new file mode 100644 index 000000000000..8e03d35d7746 --- /dev/null +++ b/obj/item/tape.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/tape - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tape + + + +

+ + + + +

Vars

initial_icon_stateBecause we can't expect God to do all the work.
storedinfoNumbered list of chat messages the recorder has heard with spans and prepended timestamps. Used for playback and transcription.
timestampNumbered list of seconds the messages in the previous list appear at on the tape. Used by playback to get the timing right.
+

Var Details

initial_icon_state + + + + +

+

Because we can't expect God to do all the work.

storedinfo + + + + +

+

Numbered list of chat messages the recorder has heard with spans and prepended timestamps. Used for playback and transcription.

timestamp + + + + +

+

Numbered list of seconds the messages in the previous list appear at on the tape. Used by playback to get the timing right.

+ + + diff --git a/obj/item/taperecorder.html b/obj/item/taperecorder.html new file mode 100644 index 000000000000..5653b15db922 --- /dev/null +++ b/obj/item/taperecorder.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/taperecorder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

taperecorder + + + +

+ + + + +

Vars

soundloopSound loop that plays when recording or playing back.
time_left_warningSeconds under which to warn that the tape is almost up.
time_warnedWhether we've warned during this recording session that the tape is almost up.
+

Var Details

soundloop + + + + +

+

Sound loop that plays when recording or playing back.

time_left_warning + + + + +

+

Seconds under which to warn that the tape is almost up.

time_warned + + + + +

+

Whether we've warned during this recording session that the tape is almost up.

+ + + diff --git a/obj/item/target.html b/obj/item/target.html new file mode 100644 index 000000000000..83d2a4870ac5 --- /dev/null +++ b/obj/item/target.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/target - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

target + + + +

+ + +

Vars

bullethole_overlaysLazylist to keep track of bullet-hole overlays.
+

Var Details

bullethole_overlays + + + + +

+

Lazylist to keep track of bullet-hole overlays.

+ + + diff --git a/obj/item/tattoo_kit.html b/obj/item/tattoo_kit.html new file mode 100644 index 000000000000..8dd95488f1a5 --- /dev/null +++ b/obj/item/tattoo_kit.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/tattoo_kit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tattoo_kit + + + +

+ + + +

Vars

max_useshow many uses can be stored
useseach use = 1 tattoo
+

Var Details

max_uses + + + + +

+

how many uses can be stored

uses + + + + +

+

each use = 1 tattoo

+ + + diff --git a/obj/item/tcgcard.html b/obj/item/tcgcard.html new file mode 100644 index 000000000000..449ea1223082 --- /dev/null +++ b/obj/item/tcgcard.html @@ -0,0 +1,66 @@ + + + + + + + /obj/item/tcgcard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tcgcard + + + +

+ + + + + + +

Vars

flippedIs the card flipped?
idUnique ID, for use in lookups and storage, used to index the global datum list where the rest of the card's info is stored
seriesUsed along with the id for lookup
tappedHas this card been "tapped"? AKA, is it horizontal?

Procs

extract_datumAlright so some brief details here, we store all "immutable" (Think like power) card variables in a global list, indexed by id +This proc gets the card's associated card datum to play with
+

Var Details

flipped + + + + +

+

Is the card flipped?

id + + + + +

+

Unique ID, for use in lookups and storage, used to index the global datum list where the rest of the card's info is stored

series + + + + +

+

Used along with the id for lookup

tapped + + + + +

+

Has this card been "tapped"? AKA, is it horizontal?

Proc Details

extract_datum +

+

Alright so some brief details here, we store all "immutable" (Think like power) card variables in a global list, indexed by id +This proc gets the card's associated card datum to play with

+ + + diff --git a/obj/item/tcgcard_deck.html b/obj/item/tcgcard_deck.html new file mode 100644 index 000000000000..4f409587860e --- /dev/null +++ b/obj/item/tcgcard_deck.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/tcgcard_deck - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

tcgcard_deck + + + +

+ +

A stack item that's not actually a stack because ORDER MATTERS with a deck of cards! +The "top" card of the deck will always be the bottom card in the stack for our purposes.

+ + +

Procs

draw_cardThe user draws a single card. The deck is then handled based on how many cards are left.
flip_deckThe user flips the deck, turning it into a face up/down pile, and reverses the order of the cards from top to bottom.
shuffle_deckThe user shuffles the order of the deck, then closes any visability into the deck's storage to prevent cheesing. +*User: The person doing the shuffling, used in visable message and closing UI. +*Visible: Will anyone need to hear the visable message about the shuffling?

Proc Details

draw_card +

+

The user draws a single card. The deck is then handled based on how many cards are left.

flip_deck +

+

The user flips the deck, turning it into a face up/down pile, and reverses the order of the cards from top to bottom.

shuffle_deck +

+

The user shuffles the order of the deck, then closes any visability into the deck's storage to prevent cheesing. +*User: The person doing the shuffling, used in visable message and closing UI. +*Visible: Will anyone need to hear the visable message about the shuffling?

+ + + diff --git a/obj/item/teleportation_scroll.html b/obj/item/teleportation_scroll.html new file mode 100644 index 000000000000..a8bc9f780d81 --- /dev/null +++ b/obj/item/teleportation_scroll.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/teleportation_scroll - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

teleportation_scroll + + + +

+ + +

Vars

usesNumber of uses remaining
+

Var Details

uses + + + + +

+

Number of uses remaining

+ + + diff --git a/obj/item/throwing_star/stamina/ninja.html b/obj/item/throwing_star/stamina/ninja.html new file mode 100644 index 000000000000..45198d8cc948 --- /dev/null +++ b/obj/item/throwing_star/stamina/ninja.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/throwing_star/stamina/ninja - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

Ninja Throwing Star + + + +

+ +

a throwing star which specifically makes sure you know it came from a real ninja.

+

The most important item in the entire codebase, as without it we would all cease to exist. +Inherits everything that makes it interesting the stamina throwing star, but the most +important change made is that its name specifically has the prefix, 'ninja' in it. +This provides the detective role with information to play off of by ensuring that his +assumption that a space ninja is aboard the ship to be true when he find 20 of these in +the captain's back. Along with this, its throwforce is 10 instead of the 5 of the stamina +throwing star, meaning it'll do a little more damage than the stamina throwing star does as well. +Changes to this item need to be approved by all maintainers, so if you do change it, make sure +you go through the proper channels, lest you get permabanned. Do I make myself clear?

+ + + diff --git a/obj/item/tk_grab.html b/obj/item/tk_grab.html new file mode 100644 index 000000000000..9061075edd05 --- /dev/null +++ b/obj/item/tk_grab.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tk_grab - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tk_grab + + + +

+ + +

Vars

focusObject focused / selected by the TK user
+

Var Details

focus + + + + +

+

Object focused / selected by the TK user

+ + + diff --git a/obj/item/toy/captainsaid.html b/obj/item/toy/captainsaid.html new file mode 100644 index 000000000000..7c67a3bcf319 --- /dev/null +++ b/obj/item/toy/captainsaid.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/toy/captainsaid - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

captainsaid + + + +

+ + + +

Vars

current_modeCurrent mode of the item, changed when cycling through modes
modesList of modes it can cycle through
+

Var Details

current_mode + + + + +

+

Current mode of the item, changed when cycling through modes

modes + + + + +

+

List of modes it can cycle through

+ + + diff --git a/obj/item/toy/cards.html b/obj/item/toy/cards.html new file mode 100644 index 000000000000..865da1e042e7 --- /dev/null +++ b/obj/item/toy/cards.html @@ -0,0 +1,79 @@ + + + + + + + /obj/item/toy/cards - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cards + + + +

+ + + + + + +

Vars

can_play_52_card_pickupDo all the cards drop to the floor when thrown at a person
cardsList of cards for a hand or deck

Procs

drawDraws a card from the deck or hand of cards.
insertThis is used to insert a list of cards into a deck or cardhand
throw_impactThis is how we play 52 card pickup
+

Var Details

can_play_52_card_pickup + + + + +

+

Do all the cards drop to the floor when thrown at a person

cards + + + + +

+

List of cards for a hand or deck

Proc Details

draw +

+

Draws a card from the deck or hand of cards.

+

Draws the top card unless a card arg is supplied then it picks that specific card +and returns it (the card arg is used by the radial menu for cardhands to select +specific cards out of the cardhand) +Arguments:

+

insert +

+

This is used to insert a list of cards into a deck or cardhand

+

All cards that are inserted have their angle and pixel offsets reset to zero however their +flip state does not change unless it's being inserted into a deck which is always facedown +(see the deck/insert proc)

+

Arguments:

+

throw_impact +

+

This is how we play 52 card pickup

+ + + diff --git a/obj/item/toy/cards/deck.html b/obj/item/toy/cards/deck.html new file mode 100644 index 000000000000..90abe8b3810c --- /dev/null +++ b/obj/item/toy/cards/deck.html @@ -0,0 +1,124 @@ + + + + + + + /obj/item/toy/cards/deck - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

deck + + + +

+ + + + + + + + + + + + + + +

Vars

cardgame_descThe description of the cardgame that is played with this deck (used for memories)
decksizeThe amount of cards to spawn in the deck (optional)
deckstyleThe art style of deck used (determines both deck and card icons used)
has_unique_card_iconsIf the cards in the deck have different card faces icons (blank and CAS decks do not)
holodeckThe holodeck computer used to spawn a holographic deck (see /obj/item/toy/cards/deck/syndicate/holographic)
is_standard_deckIf the deck is the standard 52 playing card deck (used for poker and blackjack)
shuffle_cooldownDeck shuffling cooldown.
shuffle_timeThe amount of time it takes to shuffle

Procs

CardgameEventThis checks if nearby mobs are playing a cardgame and triggers a mood and memory
on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item
shuffle_cardsShuffles the cards in the deck
throw_impactThis is how we play 52 card pickup
+

Var Details

cardgame_desc + + + + +

+

The description of the cardgame that is played with this deck (used for memories)

decksize + + + + +

+

The amount of cards to spawn in the deck (optional)

deckstyle + + + + +

+

The art style of deck used (determines both deck and card icons used)

has_unique_card_icons + + + + +

+

If the cards in the deck have different card faces icons (blank and CAS decks do not)

holodeck + + + + +

+

The holodeck computer used to spawn a holographic deck (see /obj/item/toy/cards/deck/syndicate/holographic)

is_standard_deck + + + + +

+

If the deck is the standard 52 playing card deck (used for poker and blackjack)

shuffle_cooldown + + + + +

+

Deck shuffling cooldown.

shuffle_time + + + + +

+

The amount of time it takes to shuffle

Proc Details

CardgameEvent +

+

This checks if nearby mobs are playing a cardgame and triggers a mood and memory

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

shuffle_cards +

+

Shuffles the cards in the deck

+

Arguments:

+

throw_impact +

+

This is how we play 52 card pickup

+ + + diff --git a/obj/item/toy/cards/deck/tarot/haunted.html b/obj/item/toy/cards/deck/tarot/haunted.html new file mode 100644 index 000000000000..ee7a05f25c53 --- /dev/null +++ b/obj/item/toy/cards/deck/tarot/haunted.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/toy/cards/deck/tarot/haunted - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

haunted + + + +

+ + +

Vars

ghost_alert_cooldownghost notification cooldown
+

Var Details

ghost_alert_cooldown + + + + +

+

ghost notification cooldown

+ + + diff --git a/obj/item/toy/eldritch_book.html b/obj/item/toy/eldritch_book.html new file mode 100644 index 000000000000..ce6864a726eb --- /dev/null +++ b/obj/item/toy/eldritch_book.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/toy/eldritch_book - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

eldritch_book + + + +

+ + +

Vars

book_openHelps determine the icon state of this item when it's used on self.
+

Var Details

book_open + + + + +

+

Helps determine the icon state of this item when it's used on self.

+ + + diff --git a/obj/item/toy/intento.html b/obj/item/toy/intento.html new file mode 100644 index 000000000000..49aa3005e195 --- /dev/null +++ b/obj/item/toy/intento.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/toy/intento - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

intento + + + +

+ + + + + + + + + +

Vars

current_sequenceCurrent sequence of intents
indexIndex used for iteration of steps for both demo and retaliation states
next_icon_resetTime until we reset the icon of the Intento
next_processTime to delay until we start processing whatever state we're in
player_sequenceSequence player inputs
scoreScore of the player
sound_by_intentAssociated list of intents to their sounds
stateWhat state the toy is in.
+

Var Details

current_sequence + + + + +

+

Current sequence of intents

index + + + + +

+

Index used for iteration of steps for both demo and retaliation states

next_icon_reset + + + + +

+

Time until we reset the icon of the Intento

next_process + + + + +

+

Time to delay until we start processing whatever state we're in

player_sequence + + + + +

+

Sequence player inputs

score + + + + +

+

Score of the player

sound_by_intent + + + + +

+

Associated list of intents to their sounds

state + + + + +

+

What state the toy is in.

+ + + diff --git a/obj/item/toy/mecha.html b/obj/item/toy/mecha.html new file mode 100644 index 000000000000..d819c191aa02 --- /dev/null +++ b/obj/item/toy/mecha.html @@ -0,0 +1,264 @@ + + + + + + + /obj/item/toy/mecha - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mecha + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

combat_healthThe mech's health in battle
cooldownCooldown between play sessions
cooldown_multiplierCooldown multiplier after a battle (by default: battle cooldowns are 30 seconds)
in_combatTRUE = in combat currently || FALSE = Not in combat
losses...And their loss count in combat
max_combat_healthThe mech's max combat health
quietIf it makes noise when played with
special_attack_chargedTRUE = the special attack is charged || FALSE = not charged
special_attack_cooldownCurrent cooldown of their special attack
special_attack_cryThe battlecry when using the special attack
special_attack_typeWhat type of special attack they use - SPECIAL_ATTACK_DAMAGE, SPECIAL_ATTACK_HEAL, SPECIAL_ATTACK_UTILITY, SPECIAL_ATTACK_OTHER
special_attack_type_messageWhat message their special move gets on examining
timerTimer when it'll be off cooldown
wants_to_battleTRUE = Offering battle to someone || FALSE = Not offering battle
winsThis mech's win count in combat

Procs

attackAttack is called from the user's toy, aimed at target(another human), checking for target's toy.
attack_tkOverrides attack_tk - Sorry, you have to be face to face to initiate a battle, it's good sportsmanship
attackbyIf you attack a mech with a mech, initiate combat between them
check_battle_startWho's in control of the defender (src)? +How long has the battle been going? +Lines chosen for the winning mech +This proc checks if a battle can be initiated between src and attacker.
combat_sleepthis proc combines "sleep" while also checking for if the battle should continue
mecha_brawlThe 'master' proc of the mech battle. Processes the entire battle's events and makes sure it start and finishes correctly.
sayOverride the say proc if they're mute
special_attack_moveProcesses any special attack moves that happen in the battle (called in the mechaBattle proc).
suicide_actStarts a battle, toy mech vs player. Player... doesn't win.
super_special_attackBase proc for 'other' special attack moves.
withdraw_offerResets the request for battle.
+

Var Details

combat_health + + + + +

+

The mech's health in battle

cooldown + + + + +

+

Cooldown between play sessions

cooldown_multiplier + + + + +

+

Cooldown multiplier after a battle (by default: battle cooldowns are 30 seconds)

in_combat + + + + +

+

TRUE = in combat currently || FALSE = Not in combat

losses + + + + +

+

...And their loss count in combat

max_combat_health + + + + +

+

The mech's max combat health

quiet + + + + +

+

If it makes noise when played with

special_attack_charged + + + + +

+

TRUE = the special attack is charged || FALSE = not charged

special_attack_cooldown + + + + +

+

Current cooldown of their special attack

special_attack_cry + + + + +

+

The battlecry when using the special attack

special_attack_type + + + + +

+

What type of special attack they use - SPECIAL_ATTACK_DAMAGE, SPECIAL_ATTACK_HEAL, SPECIAL_ATTACK_UTILITY, SPECIAL_ATTACK_OTHER

special_attack_type_message + + + + +

+

What message their special move gets on examining

timer + + + + +

+

Timer when it'll be off cooldown

wants_to_battle + + + + +

+

TRUE = Offering battle to someone || FALSE = Not offering battle

wins + + + + +

+

This mech's win count in combat

Proc Details

attack +

+

Attack is called from the user's toy, aimed at target(another human), checking for target's toy.

attack_tk +

+

Overrides attack_tk - Sorry, you have to be face to face to initiate a battle, it's good sportsmanship

attackby +

+

If you attack a mech with a mech, initiate combat between them

check_battle_start +

+

Who's in control of the defender (src)? +How long has the battle been going? +Lines chosen for the winning mech +This proc checks if a battle can be initiated between src and attacker.

+

Both SRC and attacker (if attacker is included) timers are checked if they're on cooldown, and +both SRC and attacker (if attacker is included) are checked if they are in combat already. +If any of the above are true, the proc returns FALSE and sends a message to user (and target, if included) otherwise, it returns TRUE +Arguments:

+

combat_sleep +

+

this proc combines "sleep" while also checking for if the battle should continue

+

this goes through some of the checks - the toys need to be next to each other to fight! +if it's player vs themself: They need to be able to "control" both mechs (either must be adjacent or using TK) +if it's player vs player: Both players need to be able to "control" their mechs (either must be adjacent or using TK) +if it's player vs mech (suicide): the mech needs to be in range of the player +if all the checks are TRUE, it does the sleeps, and returns TRUE. Otherwise, it returns FALSE. +Arguments:

+

mecha_brawl +

+

The 'master' proc of the mech battle. Processes the entire battle's events and makes sure it start and finishes correctly.

+

src is the defending toy, and the battle proc is called on it to begin the battle. +After going through a few checks at the beginning to ensure the battle can start properly, the battle begins a loop that lasts +until either toy has no more health. During this loop, it also ensures the mechs stay in combat range of each other. +It will then randomly decide attacks for each toy, occasionally making one or the other use their special attack. +When either mech has no more health, the loop ends, and it displays the victor and the loser while updating their stats and resetting them. +Arguments:

+

say +

+

Override the say proc if they're mute

special_attack_move +

+

Processes any special attack moves that happen in the battle (called in the mechaBattle proc).

+

Makes the toy shout their special attack cry and updates its cooldown. Then, does the special attack. +Arguments:

+

suicide_act +

+

Starts a battle, toy mech vs player. Player... doesn't win.

super_special_attack +

+

Base proc for 'other' special attack moves.

+

This one is only for inheritance, each mech with an 'other' type move has their procs below. +Arguments:

+

withdraw_offer +

+

Resets the request for battle.

+

For use in a timer, this proc resets the wants_to_battle variable after a short period. +Arguments:

+
+ + + diff --git a/obj/item/toy/plush.html b/obj/item/toy/plush.html new file mode 100644 index 000000000000..3db3bbe60699 --- /dev/null +++ b/obj/item/toy/plush.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/toy/plush - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

plush + + + +

+ + +

Vars

divinePrevents players from cutting stuffing out of a plushie if true
+

Var Details

divine + + + + +

+

Prevents players from cutting stuffing out of a plushie if true

+ + + diff --git a/obj/item/toy/plush/goatplushie.html b/obj/item/toy/plush/goatplushie.html new file mode 100644 index 000000000000..b12a0cc57ce0 --- /dev/null +++ b/obj/item/toy/plush/goatplushie.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/toy/plush/goatplushie - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

goatplushie + + + +

+ + + +

Vars

going_hardWhether or not this goat is currently taking in a monsterous doink
splatWhether or not this goat has been flattened like a funny pancake
+

Var Details

going_hard + + + + +

+

Whether or not this goat is currently taking in a monsterous doink

splat + + + + +

+

Whether or not this goat has been flattened like a funny pancake

+ + + diff --git a/obj/item/toy/plush/moth.html b/obj/item/toy/plush/moth.html new file mode 100644 index 000000000000..12c3440091d1 --- /dev/null +++ b/obj/item/toy/plush/moth.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/toy/plush/moth - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

moth + + + +

+ + +

Vars

suicide_countUsed to track how many people killed themselves with item/toy/plush/moth
+

Var Details

suicide_count + + + + +

+

Used to track how many people killed themselves with item/toy/plush/moth

+ + + diff --git a/obj/item/toy/singlecard.html b/obj/item/toy/singlecard.html new file mode 100644 index 000000000000..41784a3bfe4d --- /dev/null +++ b/obj/item/toy/singlecard.html @@ -0,0 +1,93 @@ + + + + + + + /obj/item/toy/singlecard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

singlecard + + + +

+ + + + + + + + + +

Vars

blankThe card is blank and can be written on with a pen.
cardnameThe name of the card
deckstyleArtistic style of the deck
flippedIs the card flipped facedown (FALSE) or flipped faceup (TRUE)
has_unique_card_iconsIf the cards in the deck have different icon states (blank and CAS decks do not)
marked_colorThe color used to mark a card for cheating (by pens or crayons)

Procs

FlipFlips the card over
getMarkedColorReturns a color if a card is marked and the user can see it
+

Var Details

blank + + + + +

+

The card is blank and can be written on with a pen.

cardname + + + + +

+

The name of the card

deckstyle + + + + +

+

Artistic style of the deck

flipped + + + + +

+

Is the card flipped facedown (FALSE) or flipped faceup (TRUE)

has_unique_card_icons + + + + +

+

If the cards in the deck have different icon states (blank and CAS decks do not)

marked_color + + + + +

+

The color used to mark a card for cheating (by pens or crayons)

Proc Details

Flip +

+

Flips the card over

+

getMarkedColor +

+

Returns a color if a card is marked and the user can see it

+
+ + + diff --git a/obj/item/toy/spinningtoy.html b/obj/item/toy/spinningtoy.html new file mode 100644 index 000000000000..d3fc25dcf40a --- /dev/null +++ b/obj/item/toy/spinningtoy.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/toy/spinningtoy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

spinningtoy + + + +

+ + +

Procs

manual_suicideInternal function used in the toy singularity suicide

Proc Details

manual_suicide +

+

Internal function used in the toy singularity suicide

+

Cavity implants the toy singularity into the body of the user (arg1), and kills the user. +Makes the user vomit and receive 120 suffocation damage if there already is a cavity implant in the user. +Throwing the singularity away will cause the user to start choking themself to death. +Arguments:

+
+ + + diff --git a/obj/item/toy/sword.html b/obj/item/toy/sword.html new file mode 100644 index 000000000000..e0794d2856d8 --- /dev/null +++ b/obj/item/toy/sword.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/toy/sword - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sword + + + +

+ + + +

Vars

hackedWhether our sword has been multitooled to rainbow
saber_colorThe color of our fake energy sword
+

Var Details

hacked + + + + +

+

Whether our sword has been multitooled to rainbow

saber_color + + + + +

+

The color of our fake energy sword

+ + + diff --git a/obj/item/trade_chip.html b/obj/item/trade_chip.html new file mode 100644 index 000000000000..7b489d36d085 --- /dev/null +++ b/obj/item/trade_chip.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/trade_chip - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

trade_chip + + + +

+ +

Supply pack unlocker chip

+

Vars

unlocked_pack_typeSupply pack type enabled by this chip
+

Var Details

unlocked_pack_type + + + + +

+

Supply pack type enabled by this chip

+ + + diff --git a/obj/item/training_toolbox.html b/obj/item/training_toolbox.html new file mode 100644 index 000000000000..efd6f776997a --- /dev/null +++ b/obj/item/training_toolbox.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/training_toolbox - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

training_toolbox + + + +

+ +

Device that simply counts the number of times you've hit a mob or target with. Looks like a toolbox but isn't.

+

Also has a 'Lap' function for keeping track of hits made at a certain point. Also, looks kinda like his grace for laughs and pranks.

+ + +

Vars

lap_hitsNumber of hits made since the Lap button (alt-click) was last pushed
total_hitsTotal number of hits made against a valid target

Procs

check_hitCheck if we should increment the hit counter
+

Var Details

lap_hits + + + + +

+

Number of hits made since the Lap button (alt-click) was last pushed

total_hits + + + + +

+

Total number of hits made against a valid target

Proc Details

check_hit +

+

Check if we should increment the hit counter

+

Increments the 'hit' counter if the target we're attacking is a mob, target, or training machine with an attached item. +Will beep every 9 hits, as 9 hits usually signifies a KO with a normal toolbox +Arguments

+
+ + + diff --git a/obj/item/traitor_bug.html b/obj/item/traitor_bug.html new file mode 100644 index 000000000000..d325cabffbc4 --- /dev/null +++ b/obj/item/traitor_bug.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/traitor_bug - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

traitor_bug + + + +

+ + + + + +

Vars

deploy_timeThe time it takes to place this bug.
planted_onThe object this bug is currently planted on.
target_area_typeThe area at which this bug can be planted at. Has to be a type.
target_object_typeThe object on which this bug can be planted on. Has to be a type.
+

Var Details

deploy_time + + + + +

+

The time it takes to place this bug.

planted_on + + + + +

+

The object this bug is currently planted on.

target_area_type + + + + +

+

The area at which this bug can be planted at. Has to be a type.

target_object_type + + + + +

+

The object on which this bug can be planted on. Has to be a type.

+ + + diff --git a/obj/item/transfer_valve.html b/obj/item/transfer_valve.html new file mode 100644 index 000000000000..f50d9652dad8 --- /dev/null +++ b/obj/item/transfer_valve.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/transfer_valve - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

transfer_valve + + + +

+ + + +

Procs

merge_gasesMerge both gases into a single tank. Combine the volume by default. If target tank isn't specified default to tank_two
readyReturns if this is ready to be detonated. Checks if both tanks are in place.

Proc Details

merge_gases +

+

Merge both gases into a single tank. Combine the volume by default. If target tank isn't specified default to tank_two

ready +

+

Returns if this is ready to be detonated. Checks if both tanks are in place.

+ + + diff --git a/obj/item/trapdoor_remote.html b/obj/item/trapdoor_remote.html new file mode 100644 index 000000000000..1824bfe9c5fa --- /dev/null +++ b/obj/item/trapdoor_remote.html @@ -0,0 +1,30 @@ + + + + + + + /obj/item/trapdoor_remote - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

trapdoor_remote + + + +

+ +trapdoor remotes! +

Item that accepts the assembly for the internals and helps link/activate it. +This base type is an empty shell that needs the assembly added to it first to work.

+ + + diff --git a/obj/item/turret_control.html b/obj/item/turret_control.html new file mode 100644 index 000000000000..60f2acb976f1 --- /dev/null +++ b/obj/item/turret_control.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/turret_control - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

turret_control + + + +

+ + +

Vars

delayTicks before being able to shoot
+

Var Details

delay + + + + +

+

Ticks before being able to shoot

+ + + diff --git a/obj/item/udder.html b/obj/item/udder.html new file mode 100644 index 000000000000..ba6a085bc26d --- /dev/null +++ b/obj/item/udder.html @@ -0,0 +1,86 @@ + + + + + + + /obj/item/udder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

udder item + + + +

+ +

Abstract item that is held in nullspace and manages reagents. Created by udder component. +While perhaps reagents created by udder component COULD be managed in the mob, it would be somewhat finnicky and I actually like the abstract udders.

+ + + + + + +

Vars

on_generate_callbackoptional proc to callback to when the udder generates milk
reagent_produced_typepathtypepath of reagent produced by the udder
sizehow much the udder holds
udder_mobmob that has the udder component

Procs

generateProc called every 2 seconds from SSMobs to add whatever reagent the udder is generating.
initial_conditionsProc called on creation separate from the reagent datum creation to allow for signalled milk generation instead of processing milk generation +also useful for changing initial amounts in reagent holder (cows start with milk, gutlunches start empty)
milkProc called from attacking the component parent with the correct item, moves reagents into the glass basically.
+

Var Details

on_generate_callback + + + + +

+

optional proc to callback to when the udder generates milk

reagent_produced_typepath + + + + +

+

typepath of reagent produced by the udder

size + + + + +

+

how much the udder holds

udder_mob + + + + +

+

mob that has the udder component

Proc Details

generate +

+

Proc called every 2 seconds from SSMobs to add whatever reagent the udder is generating.

initial_conditions +

+

Proc called on creation separate from the reagent datum creation to allow for signalled milk generation instead of processing milk generation +also useful for changing initial amounts in reagent holder (cows start with milk, gutlunches start empty)

milk +

+

Proc called from attacking the component parent with the correct item, moves reagents into the glass basically.

+

Arguments:

+
+ + + diff --git a/obj/item/uplink.html b/obj/item/uplink.html new file mode 100644 index 000000000000..27d39987a482 --- /dev/null +++ b/obj/item/uplink.html @@ -0,0 +1,38 @@ + + + + + + + /obj/item/uplink - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

uplink + + + +

+ + +

Vars

uplink_flagThe uplink flag for this type. +See [code/__DEFINES/uplink.dm]
+

Var Details

+

The uplink flag for this type. +See [code/__DEFINES/uplink.dm]

+ + + diff --git a/obj/item/usb_cable.html b/obj/item/usb_cable.html new file mode 100644 index 000000000000..ac1cfaf70fe7 --- /dev/null +++ b/obj/item/usb_cable.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/usb_cable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

usb_cable + + + +

+ +

A cable that can connect integrated circuits to anything with a USB port, such as computers and machines.

+

Vars

attached_circuitThe currently connected circuit
+

Var Details

attached_circuit + + + + +

+

The currently connected circuit

+ + + diff --git a/obj/item/virgin_mary.html b/obj/item/virgin_mary.html new file mode 100644 index 000000000000..7891f508360c --- /dev/null +++ b/obj/item/virgin_mary.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/virgin_mary - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

virgin_mary + + + +

+ + + +

Vars

mob_mobsList of mobs that have already been mobbed.
used_upHas this item been used already.
+

Var Details

mob_mobs + + + + +

+

List of mobs that have already been mobbed.

used_up + + + + +

+

Has this item been used already.

+ + + diff --git a/obj/item/weldingtool.html b/obj/item/weldingtool.html new file mode 100644 index 000000000000..0aa6d1569431 --- /dev/null +++ b/obj/item/weldingtool.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/weldingtool - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

weldingtool + + + +

+ + +

Vars

weldingWhether the welding tool is on or off.
+

Var Details

welding + + + + +

+

Whether the welding tool is on or off.

+ + + diff --git a/obj/item/wheelchair.html b/obj/item/wheelchair.html new file mode 100644 index 000000000000..58e66b45d934 --- /dev/null +++ b/obj/item/wheelchair.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/wheelchair - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

wheelchair + + + +

+ + +

Vars

unfolded_typeThe wheelchair vehicle type we create when we unfold this chair
+

Var Details

unfolded_type + + + + +

+

The wheelchair vehicle type we create when we unfold this chair

+ + + diff --git a/obj/item/wirecutters.html b/obj/item/wirecutters.html new file mode 100644 index 000000000000..a06a9637aedb --- /dev/null +++ b/obj/item/wirecutters.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/wirecutters - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

wirecutters + + + +

+ + + +

Vars

random_colorIf the item should be assigned a random color
wirecutter_colorsList of possible random colors
+

Var Details

random_color + + + + +

+

If the item should be assigned a random color

wirecutter_colors + + + + +

+

List of possible random colors

+ + + diff --git a/obj/item/wrench/medical.html b/obj/item/wrench/medical.html new file mode 100644 index 000000000000..5c97020cf089 --- /dev/null +++ b/obj/item/wrench/medical.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/wrench/medical - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

medical + + + +

+ + +

Vars

suicidervar to hold the name of the person who suicided
+

Var Details

suicider + + + + +

+

var to hold the name of the person who suicided

+ + + diff --git a/obj/machinery.html b/obj/machinery.html new file mode 100644 index 000000000000..fb77cb2ec937 --- /dev/null +++ b/obj/machinery.html @@ -0,0 +1,508 @@ + + + + + + + /obj/machinery - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

machinery + + + +

+ +

Machines in the world, such as computers, pipes, and airlocks.

+

Overview: +Used to create objects that need a per step proc call. Default definition of 'Initialize()' +stores a reference to src machine in global 'machines list'. Default definition +of 'Destroy' removes reference to src machine in global 'machines list'.

+

Class Variables: +use_power (num) +current state of auto power use. +Possible Values: +NO_POWER_USE -- no auto power use +IDLE_POWER_USE -- machine is using power at its idle power level +ACTIVE_POWER_USE -- machine is using power at its active power level

+

active_power_usage (num) +Value for the amount of power to use when in active power mode

+

idle_power_usage (num) +Value for the amount of power to use when in idle power mode

+

power_channel (num) +What channel to draw from when drawing power for power mode +Possible Values: +AREA_USAGE_EQUIP:1 -- Equipment Channel +AREA_USAGE_LIGHT:2 -- Lighting Channel +AREA_USAGE_ENVIRON:3 -- Environment Channel

+

component_parts (list) +A list of component parts of machine used by frame based machines.

+

stat (bitflag) +Machine status bit flags. +Possible bit flags: +BROKEN -- Machine is broken +NOPOWER -- No power is being supplied to machine. +MAINT -- machine is currently under going maintenance. +EMPED -- temporary broken by EMP pulse

+

Class Procs: +Initialize()

+

Destroy()

+
update_mode_power_usage()
+	updates the static_power_usage var of this machine and makes its static power usage from its area accurate.
+	called after the idle or active power usage has been changed.
+
+update_power_channel()
+	updates the static_power_usage var of this machine and makes its static power usage from its area accurate.
+	called after the power_channel var has been changed or called to change the var itself.
+
+unset_static_power()
+	completely removes the current static power usage of this machine from its area.
+	used in the other power updating procs to then readd the correct power usage.
+
+
+ Default definition uses 'use_power', 'power_channel', 'active_power_usage',
+ 'idle_power_usage', 'powered()', and 'use_power()' implement behavior.
+
+

powered(chan = -1) 'modules/power/power.dm' +Checks to see if area that contains the object has power available for power +channel given in 'chan'. -1 defaults to power_channel

+

use_power(amount, chan=-1) 'modules/power/power.dm' +Deducts 'amount' from the power channel 'chan' of the area that contains the object.

+

power_change() 'modules/power/power.dm' +Called by the area that contains the object when ever that area under goes a +power state change (area runs out of power, or area channel is turned off).

+

RefreshParts() 'game/machinery/machine.dm' +Called to refresh the variables in the machine that are contributed to by parts +contained in the component_parts list. (example: glass and material amounts for +the autolathe)

+
 Default definition does nothing.
+
+

process() 'game/machinery/machine.dm' +Called by the 'machinery subsystem' once per machinery tick for each machine that is listed in its 'machines' list.

+

process_atmos() +Called by the 'air subsystem' once per atmos tick for each machine that is listed in its 'atmos_machines' list. +Compiled by Aygar

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_power_usagethe amount of static power load this machine adds to its area's power_usage list when use_power = ACTIVE_POWER_USE
atmos_processingIs this machine currently in the atmos machinery queue?
has_disk_slotCan insert a disk into this machine
hibernatingUsed by SSairmachines for optimizing scrubbers and vent pumps.
idle_power_usagethe amount of static power load this machine adds to its area's power_usage list when use_power = IDLE_POWER_USE
inserted_diskA design disk that may-or-may-not be inserted into this machine.
internal_diskThe place that designs are stored. This will be created by apply_default_parts().
is_operationalA combination of factors such as having power, not being broken and so on. Boolean.
last_used_timeworld.time of last use by /mob/living
last_user_mobtypeMobtype of last user. Typecast to /mob/living for initial() usage
master_idGeneral purpose 'master' ID for slave machines.
net_classA short string shown to players fingerprinting the device type as part of command:ping
net_idNetwork ID, see network_flags for autopopulation info.
netjackLinked Network Terminal
network_flagsDo we use packet networks/link to netjacks? +see _DEFINES/packetnet.dm
ping_additionAdditional data stapled to pings, reduces network usage for some machines.
processing_flagsViable flags to go here are START_PROCESSING_ON_INIT, or START_PROCESSING_MANUALLY. See code__DEFINES\machines.dm for more information on these flags.
selected_diskUsed for data management.
static_power_usagethe current amount of static power usage this machine is taking from its area
subsystem_typeWhat subsystem this machine will use, which is generally SSmachines or SSfastprocess. By default all machinery use SSmachines. This fires a machine's process() roughly every 2 seconds.

Procs

AI_notify_hackAlerts the AI that a hack is in progress.
begin_processingHelper proc for telling a machine to start processing with the subsystem type that is located in its subsystem_type var.
create_signalA wrapper to generate basic, minimally-compliant data packets easily. +Returns a datum/signal with prefilled s_addr and d_addr added to datagram
directly_use_powerAn alternative to 'use_power', this proc directly costs the APC in direct charge, as opposed to being calculated periodically.
disk_copyCopy data from the internal disk to an inserted one or visa-versa.
dump_contentsDrop every movable atom in the machine's contents list, including any components and circuit.
dump_inventory_contentsDrop every movable atom in the machine's contents list that is not a component_part.
eject_diskEject an inserted disk. Pass a user to put the disk in their hands.
end_processingHelper proc for telling a machine to stop processing with the subsystem type that is located in its subsystem_type var.
link_to_jackAttempt to locate a network jack on the same tile and link to it, unlinking from any existing terminal. +Passes through the return code from [/obj/machinery/power/data_terminal/proc/connect_machine()]
on_set_is_operationalCalled when the value of is_operational changes, so we can react to it.
on_set_machine_statCalled when the value of machine_stat changes, so we can react to it.
open_machineOpens the machine.
post_signalSend a signal from a ref. Data sent in signals must be dereferenced. +If you're sending a forged source address (You should have a good reason for this...) set `preserve_s_addr = TRUE
power_changeCalled whenever the power settings of the containing area change
remove_area_power_relationshipproc to call when the machine stops requiring power after a duration of requiring power +saves memory by removing the power relationship with its area if it exists and loses area sensitivity +does not affect power usage itself
set_is_operationalCalled when we want to change the value of the is_operational variable. Boolean.
set_machine_statCalled when we want to change the value of the machine_stat variable. Holds bitflags.
setup_area_power_relationshipproc to call when the machine starts to require power after a duration of not requiring power +sets up power related connections to its area if it exists and becomes area sensitive +does not affect power usage itself
spawn_frameSpawns a frame where this machine is. If the machine was not disassmbled, the +frame is spawned damaged. If the frame couldn't exist on this turf, it's smashed +down to metal sheets.
toggle_diskToggle the selected disk between internal and inserted.
try_put_in_handPuts passed object in to user's hand
unlink_from_jackUnlink from a network terminal +ignore_check is used as part of machinery destroy.
unset_static_powerinternal proc that removes all static power usage from the current area
update_current_power_usagemakes this machine draw power from its area according to which use_power mode it is set to
update_mode_power_usagesets the power_usage linked to the specified use_power_mode to new_usage +e.g. update_mode_power_usage(ACTIVE_POWER_USE, 10) sets active_power_use = 10 and updates its power draw from the machines area if use_power == ACTIVE_POWER_USE
update_power_channelupdates the power channel this machine uses. removes the static power usage from the old channel and readds it to the new channel
update_use_powerupdates the use_power var for this machine and updates its static power usage from its area to reflect the new value
use_power_from_netAttempts to draw power directly from the APC's Powernet rather than the APC's battery. For high-draw machines, like the cell charger
+

Var Details

active_power_usage + + + + +

+

the amount of static power load this machine adds to its area's power_usage list when use_power = ACTIVE_POWER_USE

atmos_processing + + + + +

+

Is this machine currently in the atmos machinery queue?

has_disk_slot + + + + +

+

Can insert a disk into this machine

hibernating + + + + +

+

Used by SSairmachines for optimizing scrubbers and vent pumps.

idle_power_usage + + + + +

+

the amount of static power load this machine adds to its area's power_usage list when use_power = IDLE_POWER_USE

inserted_disk + + + + +

+

A design disk that may-or-may-not be inserted into this machine.

internal_disk + + + + +

+

The place that designs are stored. This will be created by apply_default_parts().

is_operational + + + + +

+

A combination of factors such as having power, not being broken and so on. Boolean.

last_used_time + + + + +

+

world.time of last use by /mob/living

last_user_mobtype + + + + +

+

Mobtype of last user. Typecast to /mob/living for initial() usage

master_id + + + + +

+

General purpose 'master' ID for slave machines.

net_class + + + + +

+

A short string shown to players fingerprinting the device type as part of command:ping

net_id + + + + +

+

Network ID, see network_flags for autopopulation info.

netjack + + + + +

+

Linked Network Terminal

network_flags + + + + +

+

Do we use packet networks/link to netjacks? +see _DEFINES/packetnet.dm

ping_addition + + + + +

+

Additional data stapled to pings, reduces network usage for some machines.

processing_flags + + + + +

+

Viable flags to go here are START_PROCESSING_ON_INIT, or START_PROCESSING_MANUALLY. See code__DEFINES\machines.dm for more information on these flags.

selected_disk + + + + +

+

Used for data management.

static_power_usage + + + + +

+

the current amount of static power usage this machine is taking from its area

subsystem_type + + + + +

+

What subsystem this machine will use, which is generally SSmachines or SSfastprocess. By default all machinery use SSmachines. This fires a machine's process() roughly every 2 seconds.

Proc Details

AI_notify_hack +

+

Alerts the AI that a hack is in progress.

+

Sends all AIs a message that a hack is occurring. Specifically used for space ninja tampering as this proc was originally in the ninja files. +However, the proc may also be used elsewhere.

begin_processing +

+

Helper proc for telling a machine to start processing with the subsystem type that is located in its subsystem_type var.

create_signal +

+

A wrapper to generate basic, minimally-compliant data packets easily. +Returns a datum/signal with prefilled s_addr and d_addr added to datagram

directly_use_power +

+

An alternative to 'use_power', this proc directly costs the APC in direct charge, as opposed to being calculated periodically.

+

disk_copy +

+

Copy data from the internal disk to an inserted one or visa-versa.

dump_contents +

+

Drop every movable atom in the machine's contents list, including any components and circuit.

dump_inventory_contents +

+

Drop every movable atom in the machine's contents list that is not a component_part.

+

Proc does not drop components and will skip over anything in the component_parts list. +Call dump_contents() to drop all contents including components. +Arguments:

+

eject_disk +

+

Eject an inserted disk. Pass a user to put the disk in their hands.

end_processing +

+

Helper proc for telling a machine to stop processing with the subsystem type that is located in its subsystem_type var.

+

Attempt to locate a network jack on the same tile and link to it, unlinking from any existing terminal. +Passes through the return code from [/obj/machinery/power/data_terminal/proc/connect_machine()]

on_set_is_operational +

+

Called when the value of is_operational changes, so we can react to it.

on_set_machine_stat +

+

Called when the value of machine_stat changes, so we can react to it.

open_machine +

+

Opens the machine.

+

Will update the machine icon and any user interfaces currently open. +Arguments:

+

post_signal +

+

Send a signal from a ref. Data sent in signals must be dereferenced. +If you're sending a forged source address (You should have a good reason for this...) set `preserve_s_addr = TRUE

+

NONE OF THE ABOVE IS TRUE IF YOU ARE machinery/power, AS THEY DEAL DIRECTLY WITH SSPACKETS INSTEAD OF ABSTRACTED TERMINALS

power_change +

+

Called whenever the power settings of the containing area change

+

by default, check equipment channel & set flag, can override if needed

+

Returns TRUE if the NOPOWER flag was toggled

remove_area_power_relationship +

+

proc to call when the machine stops requiring power after a duration of requiring power +saves memory by removing the power relationship with its area if it exists and loses area sensitivity +does not affect power usage itself

set_is_operational +

+

Called when we want to change the value of the is_operational variable. Boolean.

set_machine_stat +

+

Called when we want to change the value of the machine_stat variable. Holds bitflags.

setup_area_power_relationship +

+

proc to call when the machine starts to require power after a duration of not requiring power +sets up power related connections to its area if it exists and becomes area sensitive +does not affect power usage itself

spawn_frame +

+

Spawns a frame where this machine is. If the machine was not disassmbled, the +frame is spawned damaged. If the frame couldn't exist on this turf, it's smashed +down to metal sheets.

+

Arguments:

+

toggle_disk +

+

Toggle the selected disk between internal and inserted.

try_put_in_hand +

+

Puts passed object in to user's hand

+

Puts the passed object in to the users hand if they are adjacent. +If the user is not adjacent then place the object on top of the machine.

+

Vars:

+ +

Unlink from a network terminal +ignore_check is used as part of machinery destroy.

unset_static_power +

+

internal proc that removes all static power usage from the current area

update_current_power_usage +

+

makes this machine draw power from its area according to which use_power mode it is set to

update_mode_power_usage +

+

sets the power_usage linked to the specified use_power_mode to new_usage +e.g. update_mode_power_usage(ACTIVE_POWER_USE, 10) sets active_power_use = 10 and updates its power draw from the machines area if use_power == ACTIVE_POWER_USE

+

Arguments:

+

update_power_channel +

+

updates the power channel this machine uses. removes the static power usage from the old channel and readds it to the new channel

update_use_power +

+

updates the use_power var for this machine and updates its static power usage from its area to reflect the new value

use_power_from_net +

+

Attempts to draw power directly from the APC's Powernet rather than the APC's battery. For high-draw machines, like the cell charger

+

Checks the surplus power on the APC's powernet, and compares to the requested amount. If the requested amount is available, this proc +will add the amount to the APC's usage and return that amount. Otherwise, this proc will return FALSE. +If the take_any var arg is set to true, this proc will use and return any surplus that is under the requested amount, assuming that +the surplus is above zero. +Args:

+
+ + + diff --git a/obj/machinery/abductor/console.html b/obj/machinery/abductor/console.html new file mode 100644 index 000000000000..f24e416c8c67 --- /dev/null +++ b/obj/machinery/abductor/console.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/abductor/console - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

console + + + +

+ + + + + +

Vars

compact_modeDictates if the compact mode of the interface is on or off
possible_gearPossible gear to be dispensed
selected_catCurrently selected gear category

Procs

get_abductor_gearget_abductor_gear: Returns a list of a filtered abductor gear sorted by categories
+

Var Details

compact_mode + + + + +

+

Dictates if the compact mode of the interface is on or off

possible_gear + + + + +

+

Possible gear to be dispensed

selected_cat + + + + +

+

Currently selected gear category

Proc Details

get_abductor_gear +

+

get_abductor_gear: Returns a list of a filtered abductor gear sorted by categories

+ + + diff --git a/obj/machinery/abductor/experiment.html b/obj/machinery/abductor/experiment.html new file mode 100644 index 000000000000..e16e986cb0d5 --- /dev/null +++ b/obj/machinery/abductor/experiment.html @@ -0,0 +1,60 @@ + + + + + + + /obj/machinery/abductor/experiment - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

experiment + + + +

+ + + + +

Vars

flashMachine feedback message

Procs

experimentexperiment: Performs selected experiment on occupant mob, resulting in a point reward on success
send_backsend_back: Sends a mob back to a selected teleport location if safe
+

Var Details

flash + + + + +

+

Machine feedback message

Proc Details

experiment +

+

experiment: Performs selected experiment on occupant mob, resulting in a point reward on success

+

Arguments:

+

send_back +

+

send_back: Sends a mob back to a selected teleport location if safe

+

Arguments:

+
+ + + diff --git a/obj/machinery/air_sensor.html b/obj/machinery/air_sensor.html new file mode 100644 index 000000000000..bab3cacf2b5e --- /dev/null +++ b/obj/machinery/air_sensor.html @@ -0,0 +1,37 @@ + + + + + + + /obj/machinery/air_sensor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

air_sensor + + + +

+ +

Gas tank air sensor. +These always hook to monitors, be mindful of them

+

Vars

chamber_idThe unique string that represents which atmos chamber to associate with.
+

Var Details

chamber_id + + + + +

+

The unique string that represents which atmos chamber to associate with.

+ + + diff --git a/obj/machinery/airalarm.html b/obj/machinery/airalarm.html new file mode 100644 index 000000000000..5cf47be3b3d9 --- /dev/null +++ b/obj/machinery/airalarm.html @@ -0,0 +1,87 @@ + + + + + + + /obj/machinery/airalarm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

airalarm + + + +

+ + + + + + + + + +

Vars

alarm_managerRepresents a signel source of atmos alarms, complains to all the listeners if one of our thresholds is violated
alert_typeThe fire alert type currently active
my_areaA reference to the area we are in
soundloopThe loopingsound for when there's shit fucky
thermostat_deviation_maxHow far the thermostat may deviate from T2OC
thermostat_targetThe current thermostat target temp
ui_cooldownCooldown on UI actions, Prevents packet spam

Procs

check_air_dangerlevelmain proc for throwing a shitfit if the air isnt right. +goes into warning mode if gas parameters are beyond the tlv warning bounds, goes into hazard mode if gas parameters are beyond tlv hazard bounds
+

Var Details

alarm_manager + + + + +

+

Represents a signel source of atmos alarms, complains to all the listeners if one of our thresholds is violated

alert_type + + + + +

+

The fire alert type currently active

my_area + + + + +

+

A reference to the area we are in

soundloop + + + + +

+

The loopingsound for when there's shit fucky

thermostat_deviation_max + + + + +

+

How far the thermostat may deviate from T2OC

thermostat_target + + + + +

+

The current thermostat target temp

ui_cooldown + + + + +

+

Cooldown on UI actions, Prevents packet spam

Proc Details

check_air_dangerlevel +

+

main proc for throwing a shitfit if the air isnt right. +goes into warning mode if gas parameters are beyond the tlv warning bounds, goes into hazard mode if gas parameters are beyond tlv hazard bounds

+ + + diff --git a/obj/machinery/announcement_system.html b/obj/machinery/announcement_system.html new file mode 100644 index 000000000000..c02ea217edbe --- /dev/null +++ b/obj/machinery/announcement_system.html @@ -0,0 +1,49 @@ + + + + + + + /obj/machinery/announcement_system - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

announcement_system + + + +

+ + + + +

Procs

broadcastSends a message to the appropriate channels.
mass_pda_messageA helper proc for sending an announcement to PDAs. Takes a list of hardware IDs as targets
pda_messageA helper proc for sending an announcement to a single PDA.

Proc Details

broadcast +

+

Sends a message to the appropriate channels.

mass_pda_message +

+

A helper proc for sending an announcement to PDAs. Takes a list of hardware IDs as targets

pda_message +

+

A helper proc for sending an announcement to a single PDA.

+ + + diff --git a/obj/machinery/arena_spawn.html b/obj/machinery/arena_spawn.html new file mode 100644 index 000000000000..cb42263ecf27 --- /dev/null +++ b/obj/machinery/arena_spawn.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/arena_spawn - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

arena_spawn + + + +

+ +

Arena spawnpoint

+ + +

Vars

_controlleronly exist to cut down on glob.machines lookups, do not modify
arena_idIn case we have multiple arena controllers at once.
teamTeam ID
+

Var Details

_controller + + + + +

+

only exist to cut down on glob.machines lookups, do not modify

arena_id + + + + +

+

In case we have multiple arena controllers at once.

team + + + + +

+

Team ID

+ + + diff --git a/obj/machinery/asteroid_magnet.html b/obj/machinery/asteroid_magnet.html new file mode 100644 index 000000000000..addf575eee6d --- /dev/null +++ b/obj/machinery/asteroid_magnet.html @@ -0,0 +1,157 @@ + + + + + + + /obj/machinery/asteroid_magnet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

asteroid_magnet + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

area_sizeThe size (chebyshev) of the available area, set in mapping
available_templatesTemplates available to succ in
center_turfThe center turf
center_xCenter turf X, set in mapping
center_yCenter turf Y, set in mapping
mapThe map that stores asteroids
selected_templateThe currently selected template
statusStatus of the user interface
summon_cdThe cooldown between uses.
summon_in_progressBoolean to keep track of state and protect against double summoning
templates_on_mapAll templates in the "map".

Procs

CleanupTemplateCleanup our currently loaded mining template
GenerateMapGenerates the random map for the magnet.
PlaceForcefieldPlaces the forcefield boundary during summon_sequence
PlaceTemplateSummoning part of summon_sequence()
_FinishSummonSequenceThis process should take ATLEAST 20 seconds
check_for_magnet_errorsTest to see if we should clear the magnet area. +Returns FALSE if it can clear, returns a string error message if it can't.
summon_sequencePerforms a full summoning sequence, including putting up boundaries, clearing out the area, and bringing in the new asteroid.
+

Var Details

area_size + + + + +

+

The size (chebyshev) of the available area, set in mapping

available_templates + + + + +

+

Templates available to succ in

center_turf + + + + +

+

The center turf

center_x + + + + +

+

Center turf X, set in mapping

center_y + + + + +

+

Center turf Y, set in mapping

map + + + + +

+

The map that stores asteroids

selected_template + + + + +

+

The currently selected template

status + + + + +

+

Status of the user interface

summon_cd + + + + +

+

The cooldown between uses.

summon_in_progress + + + + +

+

Boolean to keep track of state and protect against double summoning

templates_on_map + + + + +

+

All templates in the "map".

Proc Details

CleanupTemplate +

+

Cleanup our currently loaded mining template

GenerateMap +

+

Generates the random map for the magnet.

PlaceForcefield +

+

Places the forcefield boundary during summon_sequence

PlaceTemplate +

+

Summoning part of summon_sequence()

_FinishSummonSequence +

+

This process should take ATLEAST 20 seconds

check_for_magnet_errors +

+

Test to see if we should clear the magnet area. +Returns FALSE if it can clear, returns a string error message if it can't.

summon_sequence +

+

Performs a full summoning sequence, including putting up boundaries, clearing out the area, and bringing in the new asteroid.

+ + + diff --git a/obj/machinery/atm.html b/obj/machinery/atm.html new file mode 100644 index 000000000000..361fe65d6624 --- /dev/null +++ b/obj/machinery/atm.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/atm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

atm + + + +

+ + + + + +

Vars

authenticated_accountThe bank account being interfaced
inserted_cardThe card that is currently inserted
spark_systemParticle system for EMAGging

Procs

dispense_cashDispense the given amount of cash and give feedback.
+

Var Details

authenticated_account + + + + +

+

The bank account being interfaced

inserted_card + + + + +

+

The card that is currently inserted

spark_system + + + + +

+

Particle system for EMAGging

Proc Details

dispense_cash +

+

Dispense the given amount of cash and give feedback.

+ + + diff --git a/obj/machinery/atmospherics.html b/obj/machinery/atmospherics.html new file mode 100644 index 000000000000..0e5f1381129b --- /dev/null +++ b/obj/machinery/atmospherics.html @@ -0,0 +1,473 @@ + + + + + + + /obj/machinery/atmospherics - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

atmospherics + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

can_unwrenchCheck if the object can be unwrenched
construction_typeThe path of the pipe/device that will spawn after unwrenching it (such as pipe fittings)
device_typeThe type of the device (UNARY, BINARY, TRINARY, QUATERNARY)
hideThis only works on pipes, because they have 1000 subtypes wich need to be visible and invisible under tiles, so we track this here
initialize_directionsBitflag of the initialized directions (NORTH | SOUTH | EAST | WEST)
nodesThe lists of nodes that a pipe/device has, depends on the device_type var (from 1 to 4)
onCheck if the device should be on or off (mostly used in processing for machines)
override_namingkeeps the name of the object from being overridden if it's vareditted.
paintableWhether it can be painted
pipe_colorThe color of the pipe
pipe_flagsThe flags of the pipe/component (PIPING_ALL_LAYER | PIPING_ONE_PER_TURF | PIPING_DEFAULT_LAYER_ONLY | PIPING_CARDINAL_AUTONORMALIZE)
pipe_stateicon_state as a pipe item
pipe_vision_imgThe image of the pipe/device used for ventcrawling
piping_layerWhat layer the pipe is in (from 1 to 5, default 3)
rebuildingIs the thing being rebuilt by SSzas or not. Prevents list bloat
vent_movementThe bitflag that's being checked on ventcrawling. Default is to allow ventcrawling and seeing pipes.

Procs

atmos_initInitialize for atmos devices
can_be_nodeCheck if a node can actually exists by connecting to another machine +called on atmos_init() +Arguments:
can_see_pipesUsed for certain children of obj/machinery/atmospherics to not show pipe vision when mob is inside it.
can_unwrenchGetter for can_unwrench
check_connectable_colorcheck if the color are the same on both sides or if one of the pipes are grey or have the PIPING_ALL_COLORS flag +returns TRUE if one of the parameters is TRUE +Arguments:
check_connectable_layercheck if the piping layer are the same on both sides or one of them has the PIPING_ALL_LAYER flag +returns TRUE if one of the parameters is TRUE +called by is_connectable() +Arguments:
check_init_directionscheck if the initialized direction are the same on both sides (or if is a multiz adapter) +returns TRUE or FALSE if the connection is possible or not +Arguments:
connection_checkCheck the connection between two nodes
deconstructPipe deconstruction
destroy_networkCalled by the machinery disconnect(), custom for each type
disconnectDisconnects the nodes
find_connectingFind a connecting /obj/machinery/atmospherics in specified direction, called by relaymove() +used by ventcrawling mobs to check if they can move inside a pipe in a specific direction +Arguments:
get_init_directionsGetter of initial directions
get_node_connectsGetter for node_connects
get_pipe_imageGetter for piping layer shifted, pipe colored overlays
get_rebuild_targetsReturns a list of new pipelines that need to be built up
is_connectablecheck if the piping layer and color are the same on both sides (grey can connect to all colors) +returns TRUE or FALSE if the connection is possible or not +Arguments:
normalize_cardinal_directionsSetter for device direction
nullify_nodeCalled on destroy(mostly deconstruction) and when moving nodes around, disconnect the nodes from the network +Arguments:
paintCalled by the RPD.dm pre_attack(), overriden by pipes.dm +Arguments:
pipeline_expansionCalled on construction and when expanding the datum_pipeline, returns the nodes of the device
rebuild_pipesThis should only be called by SSzas as part of the rebuild queue. +Handles rebuilding pipelines after init or they've been changed.
replace_pipenetSimilar to set_pipenet() but instead of setting a network to a pipeline, it replaces the old pipeline with a new one, called by Merge() in datum_pipeline.dm
return_pipenetCalled by add_member() in datum_pipeline.dm, returns the parent network the device is connected to
return_pipenet_airsCalled by add_machinery_member() in datum_pipeline.dm, returns a list of gas_mixtures and assigns them into other_airs (by addMachineryMember) to allow pressure redistribution for the machineries.
return_pipenetsGetter of a list of pipenets
set_init_directionsSet the initial directions of the device (NORTH || SOUTH || EAST || WEST), called on New()
set_pipenetCalled by build_pipeline() and add_member() in datum_pipeline.dm, set the network the device is connected to, to the datum pipeline it has reference
set_piping_layersetter for pipe layers
shuttleRotateMachine rotate procs
unsafe_pressure_releasePipe pressure release calculations
update_layerUpdate the layer in which the pipe/device is in, that way pipes have consistent layer depending on piping_layer
+

Var Details

can_unwrench + + + + +

+

Check if the object can be unwrenched

construction_type + + + + +

+

The path of the pipe/device that will spawn after unwrenching it (such as pipe fittings)

device_type + + + + +

+

The type of the device (UNARY, BINARY, TRINARY, QUATERNARY)

hide + + + + +

+

This only works on pipes, because they have 1000 subtypes wich need to be visible and invisible under tiles, so we track this here

initialize_directions + + + + +

+

Bitflag of the initialized directions (NORTH | SOUTH | EAST | WEST)

nodes + + + + +

+

The lists of nodes that a pipe/device has, depends on the device_type var (from 1 to 4)

on + + + + +

+

Check if the device should be on or off (mostly used in processing for machines)

override_naming + + + + +

+

keeps the name of the object from being overridden if it's vareditted.

paintable + + + + +

+

Whether it can be painted

pipe_color + + + + +

+

The color of the pipe

pipe_flags + + + + +

+

The flags of the pipe/component (PIPING_ALL_LAYER | PIPING_ONE_PER_TURF | PIPING_DEFAULT_LAYER_ONLY | PIPING_CARDINAL_AUTONORMALIZE)

pipe_state + + + + +

+

icon_state as a pipe item

pipe_vision_img + + + + +

+

The image of the pipe/device used for ventcrawling

piping_layer + + + + +

+

What layer the pipe is in (from 1 to 5, default 3)

rebuilding + + + + +

+

Is the thing being rebuilt by SSzas or not. Prevents list bloat

vent_movement + + + + +

+

The bitflag that's being checked on ventcrawling. Default is to allow ventcrawling and seeing pipes.

Proc Details

atmos_init +

+

Initialize for atmos devices

+

initialize the nodes for each pipe/device, this is called just after the air controller sets up turfs +Arguments:

+

can_be_node +

+

Check if a node can actually exists by connecting to another machine +called on atmos_init() +Arguments:

+

can_see_pipes +

+

Used for certain children of obj/machinery/atmospherics to not show pipe vision when mob is inside it.

can_unwrench +

+

Getter for can_unwrench

+

Called by wrench_act() to check if the device can be unwrenched, each device override this with custom code (like if on/operating can't unwrench) +Arguments:

+

check_connectable_color +

+

check if the color are the same on both sides or if one of the pipes are grey or have the PIPING_ALL_COLORS flag +returns TRUE if one of the parameters is TRUE +Arguments:

+

check_connectable_layer +

+

check if the piping layer are the same on both sides or one of them has the PIPING_ALL_LAYER flag +returns TRUE if one of the parameters is TRUE +called by is_connectable() +Arguments:

+

check_init_directions +

+

check if the initialized direction are the same on both sides (or if is a multiz adapter) +returns TRUE or FALSE if the connection is possible or not +Arguments:

+

connection_check +

+

Check the connection between two nodes

+

Check if our machine and the target machine are connectable by both calling isConnectable and by checking that the directions and piping_layer are compatible +called by can_be_node() (for building a network) and find_connecting() (for ventcrawling) +Arguments:

+

deconstruct +

+

Pipe deconstruction

+

Called by wrench_act(), create a pipe fitting and remove the pipe

destroy_network +

+

Called by the machinery disconnect(), custom for each type

disconnect +

+

Disconnects the nodes

+

Called by nullify_node(), it disconnects two nodes by removing the reference id from the node itself that called this proc +Arguments:

+

find_connecting +

+

Find a connecting /obj/machinery/atmospherics in specified direction, called by relaymove() +used by ventcrawling mobs to check if they can move inside a pipe in a specific direction +Arguments:

+

get_init_directions +

+

Getter of initial directions

get_node_connects +

+

Getter for node_connects

+

Return a list of the nodes that can connect to other machines, get called by atmos_init()

get_pipe_image +

+

Getter for piping layer shifted, pipe colored overlays

+

Creates the image for the pipe underlay that all components use, called by get_pipe_underlay() in components_base.dm +Arguments:

+

get_rebuild_targets +

+

Returns a list of new pipelines that need to be built up

is_connectable +

+

check if the piping layer and color are the same on both sides (grey can connect to all colors) +returns TRUE or FALSE if the connection is possible or not +Arguments:

+

normalize_cardinal_directions +

+

Setter for device direction

+

Set the direction to either SOUTH or WEST if the pipe_flag is set to PIPING_CARDINAL_AUTONORMALIZE, called in New(), used mostly by layer manifolds

nullify_node +

+

Called on destroy(mostly deconstruction) and when moving nodes around, disconnect the nodes from the network +Arguments:

+

paint +

+

Called by the RPD.dm pre_attack(), overriden by pipes.dm +Arguments:

+

pipeline_expansion +

+

Called on construction and when expanding the datum_pipeline, returns the nodes of the device

rebuild_pipes +

+

This should only be called by SSzas as part of the rebuild queue. +Handles rebuilding pipelines after init or they've been changed.

replace_pipenet +

+

Similar to set_pipenet() but instead of setting a network to a pipeline, it replaces the old pipeline with a new one, called by Merge() in datum_pipeline.dm

return_pipenet +

+

Called by add_member() in datum_pipeline.dm, returns the parent network the device is connected to

return_pipenet_airs +

+

Called by add_machinery_member() in datum_pipeline.dm, returns a list of gas_mixtures and assigns them into other_airs (by addMachineryMember) to allow pressure redistribution for the machineries.

return_pipenets +

+

Getter of a list of pipenets

+

called in relaymove() to create the image for vent crawling

set_init_directions +

+

Set the initial directions of the device (NORTH || SOUTH || EAST || WEST), called on New()

set_pipenet +

+

Called by build_pipeline() and add_member() in datum_pipeline.dm, set the network the device is connected to, to the datum pipeline it has reference

set_piping_layer +

+

setter for pipe layers

+

Set the layer of the pipe that the device has to a new_layer +Arguments:

+

shuttleRotate +

+

Machine rotate procs

unsafe_pressure_release +

+

Pipe pressure release calculations

+

Throws the user when they unwrench a pipe with a major difference between the internal and environmental pressure. +Called by wrench_act() before deconstruct() +Arguments:

+

update_layer +

+

Update the layer in which the pipe/device is in, that way pipes have consistent layer depending on piping_layer

+ + + diff --git a/obj/machinery/atmospherics/components.html b/obj/machinery/atmospherics/components.html new file mode 100644 index 000000000000..ad5ff8263786 --- /dev/null +++ b/obj/machinery/atmospherics/components.html @@ -0,0 +1,146 @@ + + + + + + + /obj/machinery/atmospherics/components - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

components + + + +

+ + + + + + + + + + + + + + + +

Vars

airsStores the component gas mixture
custom_reconcilationHandles whether the custom reconcilation handling should be used
parentsStores the component pipeline
shift_underlay_onlyWhen the component is on a non default layer should we shift everything? Or just the underlay pipe
showpipeShould the component should show the pipe underneath it?
update_parents_after_rebuildIf this is queued for a rebuild this var signifies whether parents should be updated after it's done
weldedIs the component welded?

Procs

hide_pipeCalled in Initialize(), set the showpipe var to true or false depending on the situation, calls update_icon()
nullify_pipenetCalled by nullify_node(), used to remove the pipeline the component is attached to +Arguments:
return_airs_for_reconcilationWhen this machine is in a pipenet that is reconciling airs, this proc can add airs to the calculation. +Can be either a list of airs or a single air mix.
return_pipenet_airsWe explicitly qdel pipeline when this particular pipeline +is projected to have no member and cause GC problems. +We have to do this because components don't qdel pipelines +while pipes must and will happily wreck and rebuild everything +again every time they are qdeleted.
return_pipenets_for_reconcilationWhen this machine is in a pipenet that is reconciling airs, this proc can add pipelines to the calculation. +Can be either a list of pipenets or a single pipenet.
update_icon_nopipesCalled by update_icon(), used individually by each component to determine the icon state without the pipe in consideration
update_parentsCalled in most atmos processes and gas handling situations, update the parents pipelines of the devices connected to the source component +This way gases won't get stuck
+

Var Details

airs + + + + +

+

Stores the component gas mixture

custom_reconcilation + + + + +

+

Handles whether the custom reconcilation handling should be used

parents + + + + +

+

Stores the component pipeline

shift_underlay_only + + + + +

+

When the component is on a non default layer should we shift everything? Or just the underlay pipe

showpipe + + + + +

+

Should the component should show the pipe underneath it?

update_parents_after_rebuild + + + + +

+

If this is queued for a rebuild this var signifies whether parents should be updated after it's done

welded + + + + +

+

Is the component welded?

Proc Details

hide_pipe +

+

Called in Initialize(), set the showpipe var to true or false depending on the situation, calls update_icon()

nullify_pipenet +

+

Called by nullify_node(), used to remove the pipeline the component is attached to +Arguments:

+

return_airs_for_reconcilation +

+

When this machine is in a pipenet that is reconciling airs, this proc can add airs to the calculation. +Can be either a list of airs or a single air mix.

return_pipenet_airs +

+

We explicitly qdel pipeline when this particular pipeline +is projected to have no member and cause GC problems. +We have to do this because components don't qdel pipelines +while pipes must and will happily wreck and rebuild everything +again every time they are qdeleted.

return_pipenets_for_reconcilation +

+

When this machine is in a pipenet that is reconciling airs, this proc can add pipelines to the calculation. +Can be either a list of pipenets or a single pipenet.

update_icon_nopipes +

+

Called by update_icon(), used individually by each component to determine the icon state without the pipe in consideration

update_parents +

+

Called in most atmos processes and gas handling situations, update the parents pipelines of the devices connected to the source component +This way gases won't get stuck

+ + + diff --git a/obj/machinery/atmospherics/components/binary.html b/obj/machinery/atmospherics/components/binary.html new file mode 100644 index 000000000000..8b3012ad0f07 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary.html @@ -0,0 +1,40 @@ + + + + + + + /obj/machinery/atmospherics/components/binary - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

binary + + + +

+ + +

Procs

set_overlay_offsetUsed by binary devices to set what the offset will be for each layer, called in update_icon_nopipes() +Arguments:

Proc Details

set_overlay_offset +

+

Used by binary devices to set what the offset will be for each layer, called in update_icon_nopipes() +Arguments:

+
+ + + diff --git a/obj/machinery/atmospherics/components/binary/dp_vent_pump.html b/obj/machinery/atmospherics/components/binary/dp_vent_pump.html new file mode 100644 index 000000000000..423f268f976e --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/dp_vent_pump.html @@ -0,0 +1,104 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/dp_vent_pump - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

dp_vent_pump + + + +

+ + + + + + + + + + + +

Vars

external_pressure_boundSet the maximum allowed external pressure
frequencyVariable for radio frequency
idVariable for radio id
input_pressure_minSet the maximum pressure at the input port
output_pressure_maxSet the maximum pressure at the output port
pressure_checksSet the flag for the pressure bound
pump_directionIndicates that the direction of the pump, if 0 is siphoning, if 1 is releasing
radio_connectionStores the radio connection

Procs

broadcast_statusCalled in atmos_init(), send the component status to the radio device connected
set_frequencyCalled in atmos_init(), used to change or remove the radio frequency from the component +Arguments:
+

Var Details

external_pressure_bound + + + + +

+

Set the maximum allowed external pressure

frequency + + + + +

+

Variable for radio frequency

id + + + + +

+

Variable for radio id

input_pressure_min + + + + +

+

Set the maximum pressure at the input port

output_pressure_max + + + + +

+

Set the maximum pressure at the output port

pressure_checks + + + + +

+

Set the flag for the pressure bound

pump_direction + + + + +

+

Indicates that the direction of the pump, if 0 is siphoning, if 1 is releasing

radio_connection + + + + +

+

Stores the radio connection

Proc Details

broadcast_status +

+

Called in atmos_init(), send the component status to the radio device connected

set_frequency +

+

Called in atmos_init(), used to change or remove the radio frequency from the component +Arguments:

+
+ + + diff --git a/obj/machinery/atmospherics/components/binary/passive_gate.html b/obj/machinery/atmospherics/components/binary/passive_gate.html new file mode 100644 index 000000000000..56f2cfd12b86 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/passive_gate.html @@ -0,0 +1,76 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/passive_gate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

passive_gate + + + +

+ + + + + + + +

Vars

frequencyVariable for radio frequency
idVariable for radio id
radio_connectionStores the radio connection
target_pressureSet the target pressure the component should arrive to

Procs

broadcast_statusCalled in atmos_init(), send the component status to the radio device connected
set_frequencyCalled in atmos_init(), used to change or remove the radio frequency from the component +Arguments:
+

Var Details

frequency + + + + +

+

Variable for radio frequency

id + + + + +

+

Variable for radio id

radio_connection + + + + +

+

Stores the radio connection

target_pressure + + + + +

+

Set the target pressure the component should arrive to

Proc Details

broadcast_status +

+

Called in atmos_init(), send the component status to the radio device connected

set_frequency +

+

Called in atmos_init(), used to change or remove the radio frequency from the component +Arguments:

+
+ + + diff --git a/obj/machinery/atmospherics/components/binary/pressure_valve.html b/obj/machinery/atmospherics/components/binary/pressure_valve.html new file mode 100644 index 000000000000..e1d845887010 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/pressure_valve.html @@ -0,0 +1,90 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/pressure_valve - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pressure_valve + + + +

+ + + + + + + + + +

Vars

frequencyFrequency for radio signaling
idID for radio signaling
is_gas_flowingCheck if the gas is moving from one pipenet to the other
radio_connectionConnection to the radio processing
regulate_modeWhich side is the valve regulating?
target_pressureAmount of pressure needed before the valve for it to open

Procs

broadcast_statusCalled in atmos_init(), send the component status to the radio device connected
set_frequencyCalled in atmos_init(), used to change or remove the radio frequency from the component +Arguments:
+

Var Details

frequency + + + + +

+

Frequency for radio signaling

id + + + + +

+

ID for radio signaling

is_gas_flowing + + + + +

+

Check if the gas is moving from one pipenet to the other

radio_connection + + + + +

+

Connection to the radio processing

regulate_mode + + + + +

+

Which side is the valve regulating?

target_pressure + + + + +

+

Amount of pressure needed before the valve for it to open

Proc Details

broadcast_status +

+

Called in atmos_init(), send the component status to the radio device connected

set_frequency +

+

Called in atmos_init(), used to change or remove the radio frequency from the component +Arguments:

+
+ + + diff --git a/obj/machinery/atmospherics/components/binary/pump.html b/obj/machinery/atmospherics/components/binary/pump.html new file mode 100644 index 000000000000..2155b67d5266 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/pump.html @@ -0,0 +1,76 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/pump - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pump + + + +

+ + + + + + + +

Vars

frequencyFrequency for radio signaling
idID for radio signaling
radio_connectionConnection to the radio processing
target_pressurePressure that the pump will reach when on

Procs

broadcast_statusCalled in atmos_init(), send the component status to the radio device connected
set_frequencyCalled in atmos_init(), used to change or remove the radio frequency from the component +Arguments:
+

Var Details

frequency + + + + +

+

Frequency for radio signaling

id + + + + +

+

ID for radio signaling

radio_connection + + + + +

+

Connection to the radio processing

target_pressure + + + + +

+

Pressure that the pump will reach when on

Proc Details

broadcast_status +

+

Called in atmos_init(), send the component status to the radio device connected

set_frequency +

+

Called in atmos_init(), used to change or remove the radio frequency from the component +Arguments:

+
+ + + diff --git a/obj/machinery/atmospherics/components/binary/tank_compressor.html b/obj/machinery/atmospherics/components/binary/tank_compressor.html new file mode 100644 index 000000000000..b2fc0045c385 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/tank_compressor.html @@ -0,0 +1,94 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/tank_compressor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tank_compressor + + + +

+ + + + + + + + + + +

Vars

inserted_driveReference to a disk we are going to print to.

Procs

ExitedWe rely on exited to clear references.
assume_airPrevent pumping if tank is taking damage but still below pressure limit. Here to prevent exploiting the buffer system.
eject_tankEjecting a tank. Also called on insertion to clear previous tanks.
explosion_handleUse this to absorb explosions.
flush_bufferEverytime a tank is destroyed or a new tank is inserted, our buffer is flushed. +Mole requirements in experiments are tracked by buffer data.
process_atmosGlorified volume pump.
record_dataThis proc should be called whenever we want to store our buffer data.
tank_destructionRecording of last pressure of the tank. Ran when a tank is about to explode or disintegrate. We dont care about last pressure if the tank is ejected.
+

Var Details

inserted_drive + + + + +

+

Reference to a disk we are going to print to.

Proc Details

Exited +

+

We rely on exited to clear references.

assume_air +

+

Prevent pumping if tank is taking damage but still below pressure limit. Here to prevent exploiting the buffer system.

eject_tank +

+

Ejecting a tank. Also called on insertion to clear previous tanks.

explosion_handle +

+

Use this to absorb explosions.

flush_buffer +

+

Everytime a tank is destroyed or a new tank is inserted, our buffer is flushed. +Mole requirements in experiments are tracked by buffer data.

process_atmos +

+

Glorified volume pump.

record_data +

+

This proc should be called whenever we want to store our buffer data.

tank_destruction +

+

Recording of last pressure of the tank. Ran when a tank is about to explode or disintegrate. We dont care about last pressure if the tank is ejected.

+ + + diff --git a/obj/machinery/atmospherics/components/binary/temperature_gate.html b/obj/machinery/atmospherics/components/binary/temperature_gate.html new file mode 100644 index 000000000000..dada3f873e7b --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/temperature_gate.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/temperature_gate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

temperature_gate + + + +

+ + + + + + +

Vars

invertedCheck if the sensor should let gas pass if temperature in the mix is less/higher than the target one
is_gas_flowingCheck if the gas is moving from one pipenet to the other
max_temperatureMaximum allowed temperature to be set
minimum_temperatureMinimum allowed temperature
target_temperatureIf the temperature of the mix before the gate is lower than this, the gas will flow (if inverted, if the temperature of the mix before the gate is higher than this)
+

Var Details

inverted + + + + +

+

Check if the sensor should let gas pass if temperature in the mix is less/higher than the target one

is_gas_flowing + + + + +

+

Check if the gas is moving from one pipenet to the other

max_temperature + + + + +

+

Maximum allowed temperature to be set

minimum_temperature + + + + +

+

Minimum allowed temperature

target_temperature + + + + +

+

If the temperature of the mix before the gate is lower than this, the gas will flow (if inverted, if the temperature of the mix before the gate is higher than this)

+ + + diff --git a/obj/machinery/atmospherics/components/binary/temperature_pump.html b/obj/machinery/atmospherics/components/binary/temperature_pump.html new file mode 100644 index 000000000000..01a4da5662b0 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/temperature_pump.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/temperature_pump - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

temperature_pump + + + +

+ + + +

Vars

heat_transfer_ratePercent of the heat delta to transfer
max_heat_transfer_rateMaximum allowed transfer percentage
+

Var Details

heat_transfer_rate + + + + +

+

Percent of the heat delta to transfer

max_heat_transfer_rate + + + + +

+

Maximum allowed transfer percentage

+ + + diff --git a/obj/machinery/atmospherics/components/binary/valve.html b/obj/machinery/atmospherics/components/binary/valve.html new file mode 100644 index 000000000000..738b13f1db6b --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/valve.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/valve - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

valve + + + +

+ + + + + +

Vars

switchingBool to stop interactions while the opening/closing animation is going
valve_typeType of valve (manual or digital), used to set the icon of the component in update_icon_nopipes()

Procs

finish_interactCalled by iteract() after a 1 second timer, calls toggle(), allows another interaction with the component.
set_openCalled by finish_interact(), switch between open and closed, reconcile the air between two pipelines
+

Var Details

switching + + + + +

+

Bool to stop interactions while the opening/closing animation is going

valve_type + + + + +

+

Type of valve (manual or digital), used to set the icon of the component in update_icon_nopipes()

Proc Details

finish_interact +

+

Called by iteract() after a 1 second timer, calls toggle(), allows another interaction with the component.

set_open +

+

Called by finish_interact(), switch between open and closed, reconcile the air between two pipelines

+ + + diff --git a/obj/machinery/atmospherics/components/binary/volume_pump.html b/obj/machinery/atmospherics/components/binary/volume_pump.html new file mode 100644 index 000000000000..f88f6cf802b7 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/volume_pump.html @@ -0,0 +1,76 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/volume_pump - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

volume_pump + + + +

+ + + + + + + +

Vars

frequencyFrequency for radio signaling
idID for radio signaling
radio_connectionConnection to the radio processing
transfer_rateTransfer rate of the component in L/s

Procs

broadcast_statusCalled in atmos_init(), send the component status to the radio device connected
set_frequencyCalled in atmos_init(), used to change or remove the radio frequency from the component +Arguments:
+

Var Details

frequency + + + + +

+

Frequency for radio signaling

id + + + + +

+

ID for radio signaling

radio_connection + + + + +

+

Connection to the radio processing

transfer_rate + + + + +

+

Transfer rate of the component in L/s

Proc Details

broadcast_status +

+

Called in atmos_init(), send the component status to the radio device connected

set_frequency +

+

Called in atmos_init(), used to change or remove the radio frequency from the component +Arguments:

+
+ + + diff --git a/obj/machinery/atmospherics/components/tank.html b/obj/machinery/atmospherics/components/tank.html new file mode 100644 index 000000000000..700f1cc48db0 --- /dev/null +++ b/obj/machinery/atmospherics/components/tank.html @@ -0,0 +1,129 @@ + + + + + + + /obj/machinery/atmospherics/components/tank - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tank + + + +

+ + + + + + + + + + + + + + + +

Vars

air_contentsReference to the gas mix inside the tank
breaking_soundsThe sounds that play when the tank is breaking from overpressure
crack_statesThe icon states for the cracks in the tank dmi
crack_states_countNumber of crack states to fill the list with. This exists because I'm lazy and didn't want to keeping adding more things manually to the below list.
gas_typeThe typepath of the gas this tank should be filled with.
knob_overlaysShared images for the knob overlay representing a side of the tank that is open to connections
max_pressureThe max pressure of the gas mixture before damaging the tank
merger_idThe merger id used to create/get the merger group in charge of handling tanks that share an internal gas storage
merger_typecacheThe typecache of types which are allowed to merge internal storage
volumeThe volume of the gas mixture
windowThe image showing the gases inside of the tank

Procs

fill_to_pressureFills the tank to the maximum safe pressure. +Safety margin is a multiplier for the cap for the purpose of this proc so it doesn't have to be filled completely.
merger_refresh_completeHandles the combined gas tank for the entire merger group, only the origin tank actualy runs this.
refresh_pressure_limitRecalculates pressure based on the current max integrity compared to original
+

Var Details

air_contents + + + + +

+

Reference to the gas mix inside the tank

breaking_sounds + + + + +

+

The sounds that play when the tank is breaking from overpressure

crack_states + + + + +

+

The icon states for the cracks in the tank dmi

crack_states_count + + + + +

+

Number of crack states to fill the list with. This exists because I'm lazy and didn't want to keeping adding more things manually to the below list.

gas_type + + + + +

+

The typepath of the gas this tank should be filled with.

knob_overlays + + + + +

+

Shared images for the knob overlay representing a side of the tank that is open to connections

max_pressure + + + + +

+

The max pressure of the gas mixture before damaging the tank

merger_id + + + + +

+

The merger id used to create/get the merger group in charge of handling tanks that share an internal gas storage

merger_typecache + + + + +

+

The typecache of types which are allowed to merge internal storage

volume + + + + +

+

The volume of the gas mixture

window + + + + +

+

The image showing the gases inside of the tank

Proc Details

fill_to_pressure +

+

Fills the tank to the maximum safe pressure. +Safety margin is a multiplier for the cap for the purpose of this proc so it doesn't have to be filled completely.

merger_refresh_complete +

+

Handles the combined gas tank for the entire merger group, only the origin tank actualy runs this.

refresh_pressure_limit +

+

Recalculates pressure based on the current max integrity compared to original

+ + + diff --git a/obj/machinery/atmospherics/components/trinary.html b/obj/machinery/atmospherics/components/trinary.html new file mode 100644 index 000000000000..d3bea351859f --- /dev/null +++ b/obj/machinery/atmospherics/components/trinary.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/components/trinary - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

trinary + + + +

+ + +

Vars

flippedFlips the node connections so that the first and third ports are swapped
+

Var Details

flipped + + + + +

+

Flips the node connections so that the first and third ports are swapped

+ + + diff --git a/obj/machinery/atmospherics/components/trinary/filter.html b/obj/machinery/atmospherics/components/trinary/filter.html new file mode 100644 index 000000000000..8eaa72047cea --- /dev/null +++ b/obj/machinery/atmospherics/components/trinary/filter.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/atmospherics/components/trinary/filter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

filter + + + +

+ + + + + +

Vars

filter_typeWhat gases are we filtering, by typepath
frequencyFrequency id for connecting to the NTNet
radio_connectionReference to the radio datum
transfer_rateRate of transfer of the gases to the outputs
+

Var Details

filter_type + + + + +

+

What gases are we filtering, by typepath

frequency + + + + +

+

Frequency id for connecting to the NTNet

radio_connection + + + + +

+

Reference to the radio datum

transfer_rate + + + + +

+

Rate of transfer of the gases to the outputs

+ + + diff --git a/obj/machinery/atmospherics/components/trinary/mixer.html b/obj/machinery/atmospherics/components/trinary/mixer.html new file mode 100644 index 000000000000..eff41942b823 --- /dev/null +++ b/obj/machinery/atmospherics/components/trinary/mixer.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/atmospherics/components/trinary/mixer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mixer + + + +

+ + + + + +

Vars

node1_concentrationRatio between the node 1 and 2, determines the amount of gas transfered, sums up to 1
node2_concentrationRatio between the node 1 and 2, determines the amount of gas transfered, sums up to 1
target_pressureOutput pressure target

Procs

ui_interactNode 1
+

Var Details

node1_concentration + + + + +

+

Ratio between the node 1 and 2, determines the amount of gas transfered, sums up to 1

node2_concentration + + + + +

+

Ratio between the node 1 and 2, determines the amount of gas transfered, sums up to 1

target_pressure + + + + +

+

Output pressure target

Proc Details

ui_interact +

+

Node 1

+ + + diff --git a/obj/machinery/atmospherics/components/unary.html b/obj/machinery/atmospherics/components/unary.html new file mode 100644 index 000000000000..767214112052 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/atmospherics/components/unary - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

unary + + + +

+ + + +

Vars

gl_uidIncreases to prevent duplicated Ids
uidUnique id of the device
+

Var Details

gl_uid + + + + +

+

Increases to prevent duplicated Ids

uid + + + + +

+

Unique id of the device

+ + + diff --git a/obj/machinery/atmospherics/components/unary/cryo_cell.html b/obj/machinery/atmospherics/components/unary/cryo_cell.html new file mode 100644 index 000000000000..1755e05be9a3 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/cryo_cell.html @@ -0,0 +1,52 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/cryo_cell - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cryo_cell + + + +

+ +

Cryo cell

+ + +

Vars

occupant_visVisual content - Occupant
treating_woundsCryo will continue to treat people with 0 damage but existing wounds, but will sound off when damage healing is done in case doctors want to directly treat the wounds instead

Procs

contents_explosionTake the turf the cryotube is on +Take the air composition inside the cryotube
+

Var Details

occupant_vis + + + + +

+

Visual content - Occupant

treating_wounds + + + + +

+

Cryo will continue to treat people with 0 damage but existing wounds, but will sound off when damage healing is done in case doctors want to directly treat the wounds instead

Proc Details

contents_explosion +

+

Take the turf the cryotube is on +Take the air composition inside the cryotube

+ + + diff --git a/obj/machinery/atmospherics/components/unary/outlet_injector.html b/obj/machinery/atmospherics/components/unary/outlet_injector.html new file mode 100644 index 000000000000..12580c656f59 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/outlet_injector.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/outlet_injector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

outlet_injector + + + +

+ + +

Vars

volume_rateRate of operation of the device
+

Var Details

volume_rate + + + + +

+

Rate of operation of the device

+ + + diff --git a/obj/machinery/atmospherics/components/unary/outlet_injector/monitored.html b/obj/machinery/atmospherics/components/unary/outlet_injector/monitored.html new file mode 100644 index 000000000000..1bcc47e3c047 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/outlet_injector/monitored.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/outlet_injector/monitored - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

monitored + + + +

+ + +

Vars

chamber_idThe unique string that represents which atmos chamber to associate with.
+

Var Details

chamber_id + + + + +

+

The unique string that represents which atmos chamber to associate with.

+ + + diff --git a/obj/machinery/atmospherics/components/unary/portables_connector.html b/obj/machinery/atmospherics/components/unary/portables_connector.html new file mode 100644 index 000000000000..bef39c42de8b --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/portables_connector.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/portables_connector - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

portables_connector + + + +

+ + +

Vars

connected_deviceReference to the connected device
+

Var Details

connected_device + + + + +

+

Reference to the connected device

+ + + diff --git a/obj/machinery/atmospherics/components/unary/thermomachine.html b/obj/machinery/atmospherics/components/unary/thermomachine.html new file mode 100644 index 000000000000..26bd92b1613e --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/thermomachine.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/thermomachine - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

thermomachine + + + +

+ + + + +

Vars

internal_volumeHow much gussy we can store in liters, this is affected by refresh_parts()
max_power_ratingPower rating when the usage is turned up to 100
power_settingPercentage of power rating to use
+

Var Details

internal_volume + + + + +

+

How much gussy we can store in liters, this is affected by refresh_parts()

max_power_rating + + + + +

+

Power rating when the usage is turned up to 100

power_setting + + + + +

+

Percentage of power rating to use

+ + + diff --git a/obj/machinery/atmospherics/components/unary/vent_pump.html b/obj/machinery/atmospherics/components/unary/vent_pump.html new file mode 100644 index 000000000000..99185e398de8 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/vent_pump.html @@ -0,0 +1,85 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/vent_pump - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vent_pump + + + +

+ + + + + + + + + +

Vars

external_pressure_boundThe external pressure threshold (default 101 kPa)
frequencyFrequency id for connecting to the NTNet
internal_pressure_boundThe internal pressure threshold (default 0 kPa)
pressure_checksShould we check internal pressure, external pressure, both or none? (EXT_BOUND, INT_BOUND, NO_BOUND)
pump_directionDirection of pumping the gas (RELEASING or SIPHONING)
radio_connectionReference to the radio datum
radio_filter_inRadio connection from the air alarm
radio_filter_outRadio connection to the air alarm
+

Var Details

external_pressure_bound + + + + +

+

The external pressure threshold (default 101 kPa)

frequency + + + + +

+

Frequency id for connecting to the NTNet

internal_pressure_bound + + + + +

+

The internal pressure threshold (default 0 kPa)

pressure_checks + + + + +

+

Should we check internal pressure, external pressure, both or none? (EXT_BOUND, INT_BOUND, NO_BOUND)

pump_direction + + + + +

+

Direction of pumping the gas (RELEASING or SIPHONING)

radio_connection + + + + +

+

Reference to the radio datum

radio_filter_in + + + + +

+

Radio connection from the air alarm

radio_filter_out + + + + +

+

Radio connection to the air alarm

+ + + diff --git a/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored.html b/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored.html new file mode 100644 index 000000000000..57213572aa69 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

monitored + + + +

+ + +

Vars

chamber_idThe unique string that represents which atmos chamber to associate with.
+

Var Details

chamber_id + + + + +

+

The unique string that represents which atmos chamber to associate with.

+ + + diff --git a/obj/machinery/atmospherics/components/unary/vent_scrubber.html b/obj/machinery/atmospherics/components/unary/vent_scrubber.html new file mode 100644 index 000000000000..71c0d49151d2 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/vent_scrubber.html @@ -0,0 +1,106 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/vent_scrubber - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

vent_scrubber + + + +

+ + + + + + + + + + + + +

Vars

can_hibernateWhether or not this machine can fall asleep. Use a multitool to change.
filter_typesThe list of gases we are filtering
frequencyFrequency id for connecting to the NTNet
quicksuccA fast-siphon toggle, siphons at 3x speed for 3x the power cost.
radio_connectionReference to the radio datum
radio_filter_inRadio connection from the air alarm
radio_filter_outRadio connection to the air alarm
scrubbingThe mode of the scrubber (SCRUBBING or SIPHONING)
volume_rateRate of the scrubber to remove gases from the air

Procs

add_filtersadds a gas or list of gases to our filter_types. used so that the scrubber can check if its supposed to be processing after each change
remove_filtersremove a gas or list of gases from our filter_types.used so that the scrubber can check if its supposed to be processing after each change
+

Var Details

can_hibernate + + + + +

+

Whether or not this machine can fall asleep. Use a multitool to change.

filter_types + + + + +

+

The list of gases we are filtering

frequency + + + + +

+

Frequency id for connecting to the NTNet

quicksucc + + + + +

+

A fast-siphon toggle, siphons at 3x speed for 3x the power cost.

radio_connection + + + + +

+

Reference to the radio datum

radio_filter_in + + + + +

+

Radio connection from the air alarm

radio_filter_out + + + + +

+

Radio connection to the air alarm

scrubbing + + + + +

+

The mode of the scrubber (SCRUBBING or SIPHONING)

volume_rate + + + + +

+

Rate of the scrubber to remove gases from the air

Proc Details

add_filters +

+

adds a gas or list of gases to our filter_types. used so that the scrubber can check if its supposed to be processing after each change

remove_filters +

+

remove a gas or list of gases from our filter_types.used so that the scrubber can check if its supposed to be processing after each change

+ + + diff --git a/obj/machinery/atmospherics/miner.html b/obj/machinery/atmospherics/miner.html new file mode 100644 index 000000000000..c693d80d371e --- /dev/null +++ b/obj/machinery/atmospherics/miner.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/miner - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

miner + + + +

+ + +

Vars

spawn_molMoles of gas to spawn per second
+

Var Details

spawn_mol + + + + +

+

Moles of gas to spawn per second

+ + + diff --git a/obj/machinery/atmospherics/pipe.html b/obj/machinery/atmospherics/pipe.html new file mode 100644 index 000000000000..fc8a988b3aeb --- /dev/null +++ b/obj/machinery/atmospherics/pipe.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/atmospherics/pipe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

pipe + + + +

+ + +

Procs

InitializeI have no idea why there's a new and at this point I'm too afraid to ask

Proc Details

Initialize +

+

I have no idea why there's a new and at this point I'm too afraid to ask

+ + + diff --git a/obj/machinery/atmospherics/pipe/color_adapter.html b/obj/machinery/atmospherics/pipe/color_adapter.html new file mode 100644 index 000000000000..b49173e26f86 --- /dev/null +++ b/obj/machinery/atmospherics/pipe/color_adapter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/pipe/color_adapter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

color_adapter + + + +

+ + +

Vars

center_cachecache for the icons
+

Var Details

center_cache + + + + +

+

cache for the icons

+ + + diff --git a/obj/machinery/atmospherics/pipe/layer_manifold.html b/obj/machinery/atmospherics/pipe/layer_manifold.html new file mode 100644 index 000000000000..8788ede9a65b --- /dev/null +++ b/obj/machinery/atmospherics/pipe/layer_manifold.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/atmospherics/pipe/layer_manifold - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

layer_manifold + + + +

+ + + +

Vars

back_nodesReference to all the nodes in the back
front_nodesReference to all the nodes in the front
+

Var Details

back_nodes + + + + +

+

Reference to all the nodes in the back

front_nodes + + + + +

+

Reference to all the nodes in the front

+ + + diff --git a/obj/machinery/atmospherics/pipe/multiz.html b/obj/machinery/atmospherics/pipe/multiz.html new file mode 100644 index 000000000000..16d74497de0c --- /dev/null +++ b/obj/machinery/atmospherics/pipe/multiz.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/atmospherics/pipe/multiz - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

multiz + + + +

+ +

This is an atmospherics pipe which can relay air up/down a deck.

+ + + +

Vars

centerOur central icon
front_nodeReference to the node
pipeThe pipe icon

Procs

pipeline_expansionAttempts to locate a multiz pipe that's above us, if it finds one it merges us into its pipenet
+

Var Details

center + + + + +

+

Our central icon

front_node + + + + +

+

Reference to the node

pipe + + + + +

+

The pipe icon

Proc Details

pipeline_expansion +

+

Attempts to locate a multiz pipe that's above us, if it finds one it merges us into its pipenet

+ + + diff --git a/obj/machinery/atmospherics/pipe/smart.html b/obj/machinery/atmospherics/pipe/smart.html new file mode 100644 index 000000000000..cc775af33d27 --- /dev/null +++ b/obj/machinery/atmospherics/pipe/smart.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/pipe/smart - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

smart + + + +

+ + +

Vars

connectionsCurrent active connections
+

Var Details

connections + + + + +

+

Current active connections

+ + + diff --git a/obj/machinery/autolathe.html b/obj/machinery/autolathe.html new file mode 100644 index 000000000000..c4cdc0720138 --- /dev/null +++ b/obj/machinery/autolathe.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/autolathe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

autolathe + + + +

+ + +

Vars

creation_efficiencythe multiplier for how much materials the created object takes from this machines stored materials
+

Var Details

creation_efficiency + + + + +

+

the multiplier for how much materials the created object takes from this machines stored materials

+ + + diff --git a/obj/machinery/biogenerator.html b/obj/machinery/biogenerator.html new file mode 100644 index 000000000000..98b0325e7969 --- /dev/null +++ b/obj/machinery/biogenerator.html @@ -0,0 +1,47 @@ + + + + + + + /obj/machinery/biogenerator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

biogenerator + + + +

+ + + +

Vars

selected_catCurrently selected category in the UI

Procs

activateactivate: Activates biomass processing and converts all inserted grown products into biomass
+

Var Details

selected_cat + + + + +

+

Currently selected category in the UI

Proc Details

activate +

+

activate: Activates biomass processing and converts all inserted grown products into biomass

+

Arguments:

+
+ + + diff --git a/obj/machinery/bodyscanner_console.html b/obj/machinery/bodyscanner_console.html new file mode 100644 index 000000000000..0926e1255969 --- /dev/null +++ b/obj/machinery/bodyscanner_console.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/bodyscanner_console - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bodyscanner_console + + + +

+ + + +

Vars

is_mouseover_interactableThe Console
scanData! Maybe there's something to be done with data disks here.
+

Var Details

is_mouseover_interactable + + + + +

+

The Console

scan + + + + +

+

Data! Maybe there's something to be done with data disks here.

+ + + diff --git a/obj/machinery/camera.html b/obj/machinery/camera.html new file mode 100644 index 000000000000..761ab60143c7 --- /dev/null +++ b/obj/machinery/camera.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/camera - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

camera + + + +

+ + + +

Vars

alarm_managerRepresents a signel source of camera alarms about movement or camera tampering
proximity_monitorProximity monitor associated with this atom, for motion sensitive cameras.
+

Var Details

alarm_manager + + + + +

+

Represents a signel source of camera alarms about movement or camera tampering

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, for motion sensitive cameras.

+ + + diff --git a/obj/machinery/capture_the_flag.html b/obj/machinery/capture_the_flag.html new file mode 100644 index 000000000000..a045a82e46da --- /dev/null +++ b/obj/machinery/capture_the_flag.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/capture_the_flag - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

capture_the_flag + + + +

+ + + + +

Vars

ctf_gearassoc list for classes. If there's only one, it'll just equip. Otherwise, it lets you pick which outfit!
ctf_landmarkThis variable is needed because of ctf shitcode + we need to make sure we're deleting the current ctf landmark that spawned us in and not a new one.
spawned_mobsassoc list: mob = outfit datum (class)
+

Var Details

ctf_gear + + + + +

+

assoc list for classes. If there's only one, it'll just equip. Otherwise, it lets you pick which outfit!

ctf_landmark + + + + +

+

This variable is needed because of ctf shitcode + we need to make sure we're deleting the current ctf landmark that spawned us in and not a new one.

spawned_mobs + + + + +

+

assoc list: mob = outfit datum (class)

+ + + diff --git a/obj/machinery/chem_dispenser.html b/obj/machinery/chem_dispenser.html new file mode 100644 index 000000000000..8366e0112c22 --- /dev/null +++ b/obj/machinery/chem_dispenser.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/chem_dispenser - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

chem_dispenser + + + +

+ + + + +

Vars

cartridgesAssociative, label -> cartridge
maximum_cartridgesThe maximum amount of cartridges the dispenser can contain.

Procs

spawn_cartridgesSpawns the cartridges the chem dispenser should have on mapload. Kept as a seperate proc for admin convienience.
+

Var Details

cartridges + + + + +

+

Associative, label -> cartridge

maximum_cartridges + + + + +

+

The maximum amount of cartridges the dispenser can contain.

Proc Details

spawn_cartridges +

+

Spawns the cartridges the chem dispenser should have on mapload. Kept as a seperate proc for admin convienience.

+ + + diff --git a/obj/machinery/chem_heater.html b/obj/machinery/chem_heater.html new file mode 100644 index 000000000000..1f394381d146 --- /dev/null +++ b/obj/machinery/chem_heater.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/chem_heater - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

chem_heater + + + +

+ + + + + +

Vars

tutorial_activeIf the user has the tutorial enabled
tutorial_stateWhat state we're at in the tutorial

Procs

on_ui_deletionThis catches a signal and uses it to delete the ui instance from the list
remove_ui_client_listThis removes an open ui instance from the ui list and deregsiters the signal
+

Var Details

tutorial_active + + + + +

+

If the user has the tutorial enabled

tutorial_state + + + + +

+

What state we're at in the tutorial

Proc Details

on_ui_deletion +

+

This catches a signal and uses it to delete the ui instance from the list

remove_ui_client_list +

+

This removes an open ui instance from the ui list and deregsiters the signal

+ + + diff --git a/obj/machinery/chem_master.html b/obj/machinery/chem_master.html new file mode 100644 index 000000000000..f5935de9274a --- /dev/null +++ b/obj/machinery/chem_master.html @@ -0,0 +1,191 @@ + + + + + + + /obj/machinery/chem_master - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

chem_master + + + +

+ +

Machine that allows to identify and separate reagents in fitting container +as well as to create new containers with separated reagents in it.

+

Contains logic for both ChemMaster and CondiMaster, switched by "condi".

+ + + + + + + + + + + + + + + + +

Vars

analyze_varsInfo to display on 'analyze' screen
beakerInput reagents container
bottlePill bottle for newly created pills
chosen_condi_styleCurrently selected condiment bottle style
chosen_pill_styleCurrently selected pill style
condiDecides what UI to show. If TRUE shows UI of CondiMaster, if FALSE - ChemMaster
condi_stylesList of available condibottle styles for UI
modeWhether separated reagents should be moved back to container or destroyed. 1 - move, 0 - destroy
patch_styleCurrently selected patch style
patch_stylesList of available patch styles for UI
pill_stylesList of available pill styles for UI
screenCurrent UI screen. On the moment of writing this comment there were two: 'home' - main screen, and 'analyze' - info about specific reagent

Procs

apply_condi_styleApplies style to condiment bottle.
get_condi_stylesDefines and provides list of available condiment bottle styles
guess_condi_styleProvides condiment bottle style based on reagents.
replace_beakerHandles process of moving input reagents containers in/from machine
strip_condi_styles_to_iconsTranslates styles data into UI compatible format
+

Var Details

analyze_vars + + + + +

+

Info to display on 'analyze' screen

beaker + + + + +

+

Input reagents container

bottle + + + + +

+

Pill bottle for newly created pills

chosen_condi_style + + + + +

+

Currently selected condiment bottle style

chosen_pill_style + + + + +

+

Currently selected pill style

condi + + + + +

+

Decides what UI to show. If TRUE shows UI of CondiMaster, if FALSE - ChemMaster

condi_styles + + + + +

+

List of available condibottle styles for UI

mode + + + + +

+

Whether separated reagents should be moved back to container or destroyed. 1 - move, 0 - destroy

patch_style + + + + +

+

Currently selected patch style

patch_styles + + + + +

+

List of available patch styles for UI

pill_styles + + + + +

+

List of available pill styles for UI

screen + + + + +

+

Current UI screen. On the moment of writing this comment there were two: 'home' - main screen, and 'analyze' - info about specific reagent

Proc Details

apply_condi_style +

+

Applies style to condiment bottle.

+

Applies props provided in "style" assuming that "container" is freshly created with no styles applied before. +User specified name for bottle applied after this method during bottle creation, +so container.name overwritten here for consistency rather than with some purpose in mind.

+

Arguments:

+

get_condi_styles +

+

Defines and provides list of available condiment bottle styles

+

Uses typelist() for styles storage after initialization. +For fallback style must provide style with key (const) CONDIMASTER_STYLE_FALLBACK +Returns list( + = list( +"icon_state" = , +"name" = , +"desc" = , +?"generate_name" = <if truthy, autogenerates default name from reagents instead of using "name">, +?"icon_empty" = <icon_state when empty>, +?"fill_icon_thresholds" = <list of thresholds for reagentfillings, no tresholds if not provided or falsy>, +?"inhand_icon_state" = <inhand icon_state, falsy - no icon, not provided - whatever is initial (currently "beer")>, +?"lefthand_file" = <file for inhand icon for left hand, ignored if "inhand_icon_state" not provided>, +?"righthand_file" = <same as "lefthand_file" but for right hand>, +), +.. +)

guess_condi_style +

+

Provides condiment bottle style based on reagents.

+

Gets style from available by key, using last part of main reagent type (eg. "rice" for /datum/reagent/consumable/rice) as key. +If not available returns fallback style, or null if no such thing. +Returns list that is one of condibottle styles from /obj/machinery/chem_master/proc/get_condi_styles

replace_beaker +

+

Handles process of moving input reagents containers in/from machine

+

When called checks for previously inserted beaker and gives it to user. +Then, if new_beaker provided, places it into src.beaker. +Returns boolean. TRUE if user provided (ignoring whether threre was any beaker change) and FALSE if not.

+

Arguments:

+

strip_condi_styles_to_icons +

+

Translates styles data into UI compatible format

+

Expects to receive list of availables condiment styles in its complete format, and transforms them in simplified form with enough data to get UI going. +Returns list(list("id" = , "className" = , "title" = ),..).

+

Arguments:

+
+ + + diff --git a/obj/machinery/chem_master/condimaster.html b/obj/machinery/chem_master/condimaster.html new file mode 100644 index 000000000000..f587eb087dcc --- /dev/null +++ b/obj/machinery/chem_master/condimaster.html @@ -0,0 +1,30 @@ + + + + + + + /obj/machinery/chem_master/condimaster - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

condimaster + + + +

+ +

Machine that allows to identify and separate reagents in fitting container +as well as to create new containers with separated reagents in it.

+

All logic related to this is in /obj/machinery/chem_master and condimaster specific UI enabled by "condi = TRUE"

+ + + diff --git a/obj/machinery/chem_recipe_debug.html b/obj/machinery/chem_recipe_debug.html new file mode 100644 index 000000000000..8e5440efbd08 --- /dev/null +++ b/obj/machinery/chem_recipe_debug.html @@ -0,0 +1,197 @@ + + + + + + + /obj/machinery/chem_recipe_debug - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

chem_recipe_debug + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

beaker_spawnIf we spawn a beaker at the end of a reaction or not
cached_reactionsList of every reaction in the game kept locally for easy access
edit_recipeThe recipe we're editing
failedIf we failed to react this current chem so use a lower temp - all reactions only
force_tempForced values
impure_stringFinal output that highlights all of the reactions with inoptimal purity/voolume at base
indexWhat index in the cached_reactions we're in
majorImpurityThe count of reactions that resolve below 0.9 purity
min_tempIf we force min temp on reaction setup
minorImpurityThe count of reactions that resolve between 1 - 0.9 purity
problem_stringFinal output that highlights all of the reactions with inoptimal purity/voolume at base
process_allIF we're doing EVERY reaction
processingIf the machine is currently processing through the list
reactIf we're reacting
react_timeNumber of delta times taken to react
reaction_namesThe name
reaction_statedIf it's started
should_force_tempIf we're forcing optimal conditions
vol_multiplierMultiplier of product

Procs

AltClickEnable the machine
InitializeCreate reagents datum
attackbyEnable the machine
setup_reactionsResets the index, and creates the cached_reaction list from all possible reactions
ui_statusMoves a type of buffer from the heater to the beaker,
+

Var Details

beaker_spawn + + + + +

+

If we spawn a beaker at the end of a reaction or not

cached_reactions + + + + +

+

List of every reaction in the game kept locally for easy access

edit_recipe + + + + +

+

The recipe we're editing

failed + + + + +

+

If we failed to react this current chem so use a lower temp - all reactions only

force_temp + + + + +

+

Forced values

impure_string + + + + +

+

Final output that highlights all of the reactions with inoptimal purity/voolume at base

index + + + + +

+

What index in the cached_reactions we're in

majorImpurity + + + + +

+

The count of reactions that resolve below 0.9 purity

min_temp + + + + +

+

If we force min temp on reaction setup

minorImpurity + + + + +

+

The count of reactions that resolve between 1 - 0.9 purity

problem_string + + + + +

+

Final output that highlights all of the reactions with inoptimal purity/voolume at base

process_all + + + + +

+

IF we're doing EVERY reaction

processing + + + + +

+

If the machine is currently processing through the list

react + + + + +

+

If we're reacting

react_time + + + + +

+

Number of delta times taken to react

reaction_names + + + + +

+

The name

reaction_stated + + + + +

+

If it's started

should_force_temp + + + + +

+

If we're forcing optimal conditions

vol_multiplier + + + + +

+

Multiplier of product

Proc Details

AltClick +

+

Enable the machine

Initialize +

+

Create reagents datum

attackby +

+

Enable the machine

setup_reactions +

+

Resets the index, and creates the cached_reaction list from all possible reactions

ui_status +

+

Moves a type of buffer from the heater to the beaker,

+ + + diff --git a/obj/machinery/component_printer.html b/obj/machinery/component_printer.html new file mode 100644 index 000000000000..8ed404b61e2e --- /dev/null +++ b/obj/machinery/component_printer.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/component_printer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

component_printer + + + +

+ +

Component printer, creates components for integrated circuits.

+

Vars

materialsThe internal material bus
+

Var Details

materials + + + + +

+

The internal material bus

+ + + diff --git a/obj/machinery/computer/aifixer.html b/obj/machinery/computer/aifixer.html new file mode 100644 index 000000000000..b6b659f7f597 --- /dev/null +++ b/obj/machinery/computer/aifixer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/computer/aifixer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

aifixer + + + +

+ + + +

Vars

occupierVariable containing transferred AI
restoringVariable dictating if we are in the process of restoring the occupier AI
+

Var Details

occupier + + + + +

+

Variable containing transferred AI

restoring + + + + +

+

Variable dictating if we are in the process of restoring the occupier AI

+ + + diff --git a/obj/machinery/computer/arcade/battle.html b/obj/machinery/computer/arcade/battle.html new file mode 100644 index 000000000000..d8831f565382 --- /dev/null +++ b/obj/machinery/computer/arcade/battle.html @@ -0,0 +1,169 @@ + + + + + + + /obj/machinery/computer/arcade/battle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

battle + + + +

+ + + + + + + + + + + + + + + + + + + + + +

Vars

blockedthe player cannot make any move while this is set to TRUE. should only TRUE during enemy turns.
bomb_cooldownunique to the emag mode, acts as a time limit where the player dies when it reaches 0.
chosen_weaponweapon wielded by the enemy, the shotgun doesn't count.
enemy_hpEnemy health/attack points
enemy_passivethe list of passive skill the enemy currently has. the actual passives are added in the enemy_setup() proc
finishing_moveif all the enemy's weakpoints have been triggered becomes TRUE
gameoverif the enemy or player died. restart the game when TRUE
last_three_moveused to remember the last three move of the player before this turn.
max_passivethe number of passives the enemy will start with
pissed_offlinked to passives, when it's equal or above the max_passive finishing move will become TRUE
player_hpPlayer health
player_mpplayer magic points
tempTemporary message, for attack messages, etc
timer_idused to clear the enemy_action proc timer when the game is restarted
weaponsweapon used by the enemy, pure fluff.for certain actions

Procs

arcade_actionhappens after a player action and before the enemy turn. the enemy turn will be cancelled if there's a gameover.
enemy_actionthe enemy turn, the enemy's action entirely depend on their current passive and a teensy tiny bit of randomness
enemy_setupcreates the enemy base stats for a new round along with the enemy passives
screen_setupsets up the main screen for the user
weakpoint_checkused to check if the last three move of the player are the one we want in the right order and if the passive's weakpoint has been triggered yet
+

Var Details

blocked + + + + +

+

the player cannot make any move while this is set to TRUE. should only TRUE during enemy turns.

bomb_cooldown + + + + +

+

unique to the emag mode, acts as a time limit where the player dies when it reaches 0.

chosen_weapon + + + + +

+

weapon wielded by the enemy, the shotgun doesn't count.

enemy_hp + + + + +

+

Enemy health/attack points

enemy_passive + + + + +

+

the list of passive skill the enemy currently has. the actual passives are added in the enemy_setup() proc

finishing_move + + + + +

+

if all the enemy's weakpoints have been triggered becomes TRUE

gameover + + + + +

+

if the enemy or player died. restart the game when TRUE

last_three_move + + + + +

+

used to remember the last three move of the player before this turn.

max_passive + + + + +

+

the number of passives the enemy will start with

pissed_off + + + + +

+

linked to passives, when it's equal or above the max_passive finishing move will become TRUE

player_hp + + + + +

+

Player health

player_mp + + + + +

+

player magic points

temp + + + + +

+

Temporary message, for attack messages, etc

timer_id + + + + +

+

used to clear the enemy_action proc timer when the game is restarted

weapons + + + + +

+

weapon used by the enemy, pure fluff.for certain actions

Proc Details

arcade_action +

+

happens after a player action and before the enemy turn. the enemy turn will be cancelled if there's a gameover.

enemy_action +

+

the enemy turn, the enemy's action entirely depend on their current passive and a teensy tiny bit of randomness

enemy_setup +

+

creates the enemy base stats for a new round along with the enemy passives

screen_setup +

+

sets up the main screen for the user

weakpoint_check +

+

used to check if the last three move of the player are the one we want in the right order and if the passive's weakpoint has been triggered yet

+ + + diff --git a/obj/machinery/computer/arcade/orion_trail.html b/obj/machinery/computer/arcade/orion_trail.html new file mode 100644 index 000000000000..b728ab8f450b --- /dev/null +++ b/obj/machinery/computer/arcade/orion_trail.html @@ -0,0 +1,73 @@ + + + + + + + /obj/machinery/computer/arcade/orion_trail - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

orion_trail + + + +

+ + + + +

Procs

encounter_eventpickweights a new event, sets event var as it. it then preps the event if it needs it
execute_crewmemberCrewmember executed code, targeted when there are no lings and untargeted when there are some +If there was no suspected lings (aka random shots) this is just murder and counts towards killed crew
new_settler_moodCreates a new mood icon for each settler

Proc Details

encounter_event +

+

pickweights a new event, sets event var as it. it then preps the event if it needs it

+

giving a path argument will instead find that instanced datum instead of pickweighting. Used in events that follow from events. +Arguments:

+

execute_crewmember +

+

Crewmember executed code, targeted when there are no lings and untargeted when there are some +If there was no suspected lings (aka random shots) this is just murder and counts towards killed crew

+

Arguments:

+

new_settler_mood +

+

Creates a new mood icon for each settler

+

Things that effect mood:

+
+ + + diff --git a/obj/machinery/computer/arena.html b/obj/machinery/computer/arena.html new file mode 100644 index 000000000000..797d3ef5ac28 --- /dev/null +++ b/obj/machinery/computer/arena.html @@ -0,0 +1,115 @@ + + + + + + + /obj/machinery/computer/arena - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

arena + + + +

+ +

Controller for admin event arenas

+ + + + + + + + + + + +

Vars

arena_idArena ID
arena_templatesAssoc list of map templates indexed by user friendly names
current_arena_templateName of currently loaded template
default_arenas_loadedWere the config directory arenas loaded
default_outfitDefault team outfit if outfits[team] is empty
loadingIs the arena template loading in
outfitsList of outfit datums/types indexed by team id, can be empty
ready_to_spawnEnables/disables spawning
team_colorsList of hud colors indexed by team id
team_hudsList of hud instances indedxed by team id
team_keysList of ckeys indexed by team id

Procs

LoadDefaultArenasLoads the arenas from config directory. +THESE ARE FULLY CACHED FOR QUICK SWITCHING SO KEEP TRACK OF THE AMOUNT
+

Var Details

arena_id + + + + +

+

Arena ID

arena_templates + + + + +

+

Assoc list of map templates indexed by user friendly names

current_arena_template + + + + +

+

Name of currently loaded template

default_arenas_loaded + + + + +

+

Were the config directory arenas loaded

default_outfit + + + + +

+

Default team outfit if outfits[team] is empty

loading + + + + +

+

Is the arena template loading in

outfits + + + + +

+

List of outfit datums/types indexed by team id, can be empty

ready_to_spawn + + + + +

+

Enables/disables spawning

team_colors + + + + +

+

List of hud colors indexed by team id

team_huds + + + + +

+

List of hud instances indedxed by team id

team_keys + + + + +

+

List of ckeys indexed by team id

Proc Details

LoadDefaultArenas +

+

Loads the arenas from config directory. +THESE ARE FULLY CACHED FOR QUICK SWITCHING SO KEEP TRACK OF THE AMOUNT

+ + + diff --git a/obj/machinery/computer/atmos_control.html b/obj/machinery/computer/atmos_control.html new file mode 100644 index 000000000000..717c03833514 --- /dev/null +++ b/obj/machinery/computer/atmos_control.html @@ -0,0 +1,68 @@ + + + + + + + /obj/machinery/computer/atmos_control - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

atmos_control + + + +

+ + + + + + +

Vars

atmos_chambersWhich sensors/input/outlets do we want to listen to. +Assoc of list[chamber_id] = readable_chamber_name
controlWhether we can actually adjust the chambers or not.
reconnectingWhether we are allowed to reconnect.

Procs

reconnectReconnect only works for station based chambers.
set_frequencyThe tag of the signal data should be the id_tag var of the atmos object. Format is chamber_role. +Where chamber is the chamber name and role is one of "sensor", "in", and "out".
+

Var Details

atmos_chambers + + + + +

+

Which sensors/input/outlets do we want to listen to. +Assoc of list[chamber_id] = readable_chamber_name

control + + + + +

+

Whether we can actually adjust the chambers or not.

reconnecting + + + + +

+

Whether we are allowed to reconnect.

Proc Details

reconnect +

+

Reconnect only works for station based chambers.

set_frequency +

+

The tag of the signal data should be the id_tag var of the atmos object. Format is chamber_role. +Where chamber is the chamber name and role is one of "sensor", "in", and "out".

+ + + diff --git a/obj/machinery/computer/camera_advanced.html b/obj/machinery/computer/camera_advanced.html new file mode 100644 index 000000000000..ac36ba45fc6b --- /dev/null +++ b/obj/machinery/computer/camera_advanced.html @@ -0,0 +1,73 @@ + + + + + + + /obj/machinery/computer/camera_advanced - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

camera_advanced + + + +

+ + + + + + + +

Vars

actionsList of all actions to give to a user when they're well, granted actions
jump_actionTypepath for jumping
move_down_actionTypepath of the move down action
move_up_actionTypepath of the move up action
off_actionTypepath of the action button we use as "off" +It's a typepath so subtypes can give it fun new names
should_supress_view_changesShould we supress any view changes?
+

Var Details

actions + + + + +

+

List of all actions to give to a user when they're well, granted actions

jump_action + + + + +

+

Typepath for jumping

move_down_action + + + + +

+

Typepath of the move down action

move_up_action + + + + +

+

Typepath of the move up action

off_action + + + + +

+

Typepath of the action button we use as "off" +It's a typepath so subtypes can give it fun new names

should_supress_view_changes + + + + +

+

Should we supress any view changes?

+ + + diff --git a/obj/machinery/computer/camera_advanced/abductor.html b/obj/machinery/computer/camera_advanced/abductor.html new file mode 100644 index 000000000000..c6a73a6d76a1 --- /dev/null +++ b/obj/machinery/computer/camera_advanced/abductor.html @@ -0,0 +1,38 @@ + + + + + + + /obj/machinery/computer/camera_advanced/abductor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

abductor + + + +

+ + +

Vars

abduct_createdWe can't create our actions until after LateInitialize +So we instead do it on the first call to GrantActions
+

Var Details

abduct_created + + + + +

+

We can't create our actions until after LateInitialize +So we instead do it on the first call to GrantActions

+ + + diff --git a/obj/machinery/computer/camera_advanced/base_construction.html b/obj/machinery/computer/camera_advanced/base_construction.html new file mode 100644 index 000000000000..04820a8956a4 --- /dev/null +++ b/obj/machinery/computer/camera_advanced/base_construction.html @@ -0,0 +1,87 @@ + + + + + + + /obj/machinery/computer/camera_advanced/base_construction - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

base_construction + + + +

+ +

Camera console used to control a base building drone

+

Using this console will put the user in control of a base building drone. +The drone will appear somewhere within the allowed_area var, or if no area is specified, at the location of the console.area +Upon interacting, the user will be granted a set of base building actions that will generally be carried out at the drone's location. +To create a new base builder system, this class should be the only thing that needs to be subtyped.

+ + + + + + +

Vars

allowed_areaArea that the eyeobj will be constrained to. If null, eyeobj will be able to build and move anywhere.
internal_rcdInternal RCD. Some construction actions rely on having this.
structuresAssoc. list ("structure_name" : count) that keeps track of the number of special structures that can't be built with an RCD, for example, tiny fans or turrets.

Procs

GrantActionsGo through every action object in the construction_action list (which should be fully initialized by now) and grant it to the user.
find_spawn_spotFind a spawn location for the eyeobj. If no allowed_area is defined, spawn ontop of the console.
populate_actions_listFill the construction_actios list with actions
restock_materialsReload materials used by the console
+

Var Details

allowed_area + + + + +

+

Area that the eyeobj will be constrained to. If null, eyeobj will be able to build and move anywhere.

internal_rcd + + + + +

+

Internal RCD. Some construction actions rely on having this.

structures + + + + +

+

Assoc. list ("structure_name" : count) that keeps track of the number of special structures that can't be built with an RCD, for example, tiny fans or turrets.

Proc Details

GrantActions +

+

Go through every action object in the construction_action list (which should be fully initialized by now) and grant it to the user.

find_spawn_spot +

+

Find a spawn location for the eyeobj. If no allowed_area is defined, spawn ontop of the console.

populate_actions_list +

+

Fill the construction_actios list with actions

+

Instantiate each action object that we'll be giving to users of +this console, and put it in the actions list

restock_materials +

+

Reload materials used by the console

+

Restocks any materials used by the base construction console. +This might mean refilling the internal RCD (should it be initialized), or +giving the structures list default values.

+ + + diff --git a/obj/machinery/computer/camera_advanced/shuttle_docker.html b/obj/machinery/computer/camera_advanced/shuttle_docker.html new file mode 100644 index 000000000000..d00fe6d3a42a --- /dev/null +++ b/obj/machinery/computer/camera_advanced/shuttle_docker.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/computer/camera_advanced/shuttle_docker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

shuttle_docker + + + +

+ + + + + + +

Vars

jump_to_portsHashset of ports to jump to and ignore for collision purposes
my_portThe custom docking port placed by this console
shuttle_portThe mobile docking port of the connected shuttle

Procs

canDesignateTargetMake one use port that deleted after fly off, to don't lose info that need on to properly fly off.
set_init_ports"Initializes" any default port ids we have, done so add_jumpable_port can be a proper setter
+

Var Details

jump_to_ports + + + + +

+

Hashset of ports to jump to and ignore for collision purposes

my_port + + + + +

+

The custom docking port placed by this console

shuttle_port + + + + +

+

The mobile docking port of the connected shuttle

Proc Details

canDesignateTarget +

+

Make one use port that deleted after fly off, to don't lose info that need on to properly fly off.

set_init_ports +

+

"Initializes" any default port ids we have, done so add_jumpable_port can be a proper setter

+ + + diff --git a/obj/machinery/computer/cargo.html b/obj/machinery/computer/cargo.html new file mode 100644 index 000000000000..0edf68d18e6a --- /dev/null +++ b/obj/machinery/computer/cargo.html @@ -0,0 +1,127 @@ + + + + + + + /obj/machinery/computer/cargo - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cargo + + + +

+ + + + + + + + + + + + + + + +

Vars

can_approve_requestsCan you approve requests placed for cargo? Works differently between the app and the computer.
can_sendCan the supply console send the shuttle back and forth? Used in the UI backend.
cargo_accountThe account this console processes and displays. Independent from the account the shuttle processes.
cargo_shuttleThe name of the shuttle template being used as the cargo shuttle. 'supply' is default and contains critical code. Don't change this unless you know what you're doing.
docking_awayThe docking port called when leaving the station.
docking_homeThe docking port called when returning to the station.
interface_typeInterface name for the ui_interact call for different subtypes.
is_expressvar that makes express console use rockets
message_cooldownvar that tracks message cooldown
radioradio used by the console to send messages on supply channel
requestonlyCan this console only send requests?
stationcargoIf this console can loan the cargo shuttle. Set to false to disable.
supply_flagsMatches supply pack flags

Procs

can_purchase_packReturns TRUE if the pack can be purchased.
+

Var Details

can_approve_requests + + + + +

+

Can you approve requests placed for cargo? Works differently between the app and the computer.

can_send + + + + +

+

Can the supply console send the shuttle back and forth? Used in the UI backend.

cargo_account + + + + +

+

The account this console processes and displays. Independent from the account the shuttle processes.

cargo_shuttle + + + + +

+

The name of the shuttle template being used as the cargo shuttle. 'supply' is default and contains critical code. Don't change this unless you know what you're doing.

docking_away + + + + +

+

The docking port called when leaving the station.

docking_home + + + + +

+

The docking port called when returning to the station.

interface_type + + + + +

+

Interface name for the ui_interact call for different subtypes.

is_express + + + + +

+

var that makes express console use rockets

message_cooldown + + + + +

+

var that tracks message cooldown

radio + + + + +

+

radio used by the console to send messages on supply channel

requestonly + + + + +

+

Can this console only send requests?

stationcargo + + + + +

+

If this console can loan the cargo shuttle. Set to false to disable.

supply_flags + + + + +

+

Matches supply pack flags

Proc Details

can_purchase_pack +

+

Returns TRUE if the pack can be purchased.

+ + + diff --git a/obj/machinery/computer/cargo/express.html b/obj/machinery/computer/cargo/express.html new file mode 100644 index 000000000000..981076c288b6 --- /dev/null +++ b/obj/machinery/computer/cargo/express.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/computer/cargo/express - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

express + + + +

+ + + + +

Vars

travel_time_in_minutesAn optional extended travel time for supply pods.
ui_currencyThe currency displayed
ui_titleThe name of the UI
+

Var Details

travel_time_in_minutes + + + + +

+

An optional extended travel time for supply pods.

ui_currency + + + + +

+

The currency displayed

ui_title + + + + +

+

The name of the UI

+ + + diff --git a/obj/machinery/computer/communications.html b/obj/machinery/computer/communications.html new file mode 100644 index 000000000000..62afce41b867 --- /dev/null +++ b/obj/machinery/computer/communications.html @@ -0,0 +1,206 @@ + + + + + + + /obj/machinery/computer/communications - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

communications + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

alert_level_tickHow many times the alert level has been changed +Used to clear the modal to change alert level
authorize_accessThe access that the card had on login
authorize_jobThe name of the job of the user who logged in
authorize_nameThe name of the user who logged in
battlecruiser_calledIf the battlecruiser has been called
cyborg_stateThe current state of the UI for AIs
important_action_cooldownCooldown for important actions, such as messaging CentCom or other sectors
last_status_displayThe last lines used for changing the status display
last_toggledwhen was emergency access last toggled
messagesThe messages this console has been sent
send_cross_comms_message_timerThe timer ID for sending the next cross-comms message
stateThe current state of the UI
syndicateWhether syndicate mode is enabled or not.
toggle_max_useshow many uses can you toggle emergency access with before cooldowns start occuring BOTH ENABLE/DISABLE
toggle_useshow many uses the console has done of toggling the emergency access

Procs

authenticatedAre we a silicon, OR logged in?
authenticated_as_non_silicon_captainAre we NOT a silicon, AND we're logged in as the captain?
authenticated_as_silicon_or_captainAre we a silicon, OR we're logged in as the captain?
can_buy_shuttlesReturns TRUE if the user can buy shuttles. +If they cannot, returns FALSE or a string detailing why.
can_purchase_this_shuttleReturns whether we are authorized to buy this specific shuttle. +Does not handle prerequisite checks, as those should still show.
emergency_meetingCall an emergency meeting
has_communicationReturns whether or not the communications console can communicate with the station
override_cooldownOverride the cooldown for special actions +Used in places such as CentCom messaging back so that the crew can answer right away
+

Var Details

alert_level_tick + + + + +

+

How many times the alert level has been changed +Used to clear the modal to change alert level

authorize_access + + + + +

+

The access that the card had on login

authorize_job + + + + +

+

The name of the job of the user who logged in

authorize_name + + + + +

+

The name of the user who logged in

battlecruiser_called + + + + +

+

If the battlecruiser has been called

cyborg_state + + + + +

+

The current state of the UI for AIs

important_action_cooldown + + + + +

+

Cooldown for important actions, such as messaging CentCom or other sectors

last_status_display + + + + +

+

The last lines used for changing the status display

last_toggled + + + + +

+

when was emergency access last toggled

messages + + + + +

+

The messages this console has been sent

send_cross_comms_message_timer + + + + +

+

The timer ID for sending the next cross-comms message

state + + + + +

+

The current state of the UI

syndicate + + + + +

+

Whether syndicate mode is enabled or not.

toggle_max_uses + + + + +

+

how many uses can you toggle emergency access with before cooldowns start occuring BOTH ENABLE/DISABLE

toggle_uses + + + + +

+

how many uses the console has done of toggling the emergency access

Proc Details

authenticated +

+

Are we a silicon, OR logged in?

authenticated_as_non_silicon_captain +

+

Are we NOT a silicon, AND we're logged in as the captain?

authenticated_as_silicon_or_captain +

+

Are we a silicon, OR we're logged in as the captain?

can_buy_shuttles +

+

Returns TRUE if the user can buy shuttles. +If they cannot, returns FALSE or a string detailing why.

can_purchase_this_shuttle +

+

Returns whether we are authorized to buy this specific shuttle. +Does not handle prerequisite checks, as those should still show.

emergency_meeting +

+

Call an emergency meeting

+

Comm Console wrapper for the Communications subsystem wrapper for the call_emergency_meeting world proc. +Checks to make sure the proc can be called, and handles relevant feedback, logging and timing. +See the SScommunications proc definition for more detail, in short, teleports the entire crew to +the bridge for a meetup. Should only really happen during april fools. +Arguments:

+

has_communication +

+

Returns whether or not the communications console can communicate with the station

override_cooldown +

+

Override the cooldown for special actions +Used in places such as CentCom messaging back so that the crew can answer right away

+ + + diff --git a/obj/machinery/computer/cryopod.html b/obj/machinery/computer/cryopod.html new file mode 100644 index 000000000000..b1a32f7e93f1 --- /dev/null +++ b/obj/machinery/computer/cryopod.html @@ -0,0 +1,52 @@ + + + + + + + /obj/machinery/computer/cryopod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cryopod + + + +

+ + + + +

Vars

frozen_crewUsed for logging people entering cryosleep and important items they are carrying.
frozen_itemThe items currently stored in the cryopod control panel.

Procs

ui_actThe list of references to the stored items. +The associative list of the reference to an item and its name.
+

Var Details

frozen_crew + + + + +

+

Used for logging people entering cryosleep and important items they are carrying.

frozen_item + + + + +

+

The items currently stored in the cryopod control panel.

Proc Details

ui_act +

+

The list of references to the stored items. +The associative list of the reference to an item and its name.

+ + + diff --git a/obj/machinery/computer/department_orders.html b/obj/machinery/computer/department_orders.html new file mode 100644 index 000000000000..7c39b0036edb --- /dev/null +++ b/obj/machinery/computer/department_orders.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/computer/department_orders - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

department_orders + + + +

+ + + + + + +

Vars

dep_groupswhich groups this computer can order from
department_delivery_areaswhere this computer expects deliveries to need to go, passed onto orders. it will see if the FIRST one exists, then try a fallback. if no fallbacks it throws an error
department_orderreference to the order we've made UNTIL it gets sent on the supply shuttle. this is so heads can cancel it
override_accessaccess required to override an order - this should be a head of staff for the department

Procs

finalize_department_ordersignal when the supply shuttle begins to spawn orders. we forget the current order preventing it from being overridden (since it's already past the point of no return on undoing the order)
+

Var Details

dep_groups + + + + +

+

which groups this computer can order from

department_delivery_areas + + + + +

+

where this computer expects deliveries to need to go, passed onto orders. it will see if the FIRST one exists, then try a fallback. if no fallbacks it throws an error

department_order + + + + +

+

reference to the order we've made UNTIL it gets sent on the supply shuttle. this is so heads can cancel it

override_access + + + + +

+

access required to override an order - this should be a head of staff for the department

Proc Details

finalize_department_order +

+

signal when the supply shuttle begins to spawn orders. we forget the current order preventing it from being overridden (since it's already past the point of no return on undoing the order)

+ + + diff --git a/obj/machinery/computer/exodrone_control_console.html b/obj/machinery/computer/exodrone_control_console.html new file mode 100644 index 000000000000..306ba00e5881 --- /dev/null +++ b/obj/machinery/computer/exodrone_control_console.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/computer/exodrone_control_console - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

exodrone_control_console + + + +

+ + + + +

Vars

signal_lostHave we lost contact with the drone without disconnecting. Unset on user confirmation.

Procs

on_exodrone_status_changedEnd control if we had previous drone
ui_actShow alert screen if the drone is in a mode that requires decisionmaking
+

Var Details

signal_lost + + + + +

+

Have we lost contact with the drone without disconnecting. Unset on user confirmation.

Proc Details

on_exodrone_status_changed +

+

End control if we had previous drone

ui_act +

+

Show alert screen if the drone is in a mode that requires decisionmaking

+ + + diff --git a/obj/machinery/computer/exoscanner_control.html b/obj/machinery/computer/exoscanner_control.html new file mode 100644 index 000000000000..95a4739f779f --- /dev/null +++ b/obj/machinery/computer/exoscanner_control.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/computer/exoscanner_control - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

exoscanner_control + + + +

+ + + +

Vars

failed_popupIf scan was interrupted show a popup until dismissed.
selected_siteSite we're configuring targeted scans for.
+

Var Details

failed_popup + + + + +

+

If scan was interrupted show a popup until dismissed.

selected_site + + + + +

+

Site we're configuring targeted scans for.

+ + + diff --git a/obj/machinery/computer/holodeck.html b/obj/machinery/computer/holodeck.html new file mode 100644 index 000000000000..9374958a49ca --- /dev/null +++ b/obj/machinery/computer/holodeck.html @@ -0,0 +1,183 @@ + + + + + + + /obj/machinery/computer/holodeck - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

holodeck + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

activeTRUE if the holodeck is using extra power because of a program, FALSE otherwise
bottom_leftbottom left corner of the loading room, used for placing
damagedincreases the holodeck cooldown if TRUE, causing the holodeck to take longer to allow loading new programs
emag_programsstores all of the restricted holodeck map templates that this computer has access to
linkedthe area that this holodeck loads templates into, used for power and deleting holo objects that leave it
mapped_start_areawhat area type this holodeck loads into. linked turns into the nearest instance of this area
offline_programthe default program loaded by this holodeck when spawned and when deactivated
programwhat program is loaded right now or is about to be loaded
program_cachestores all of the unrestricted holodeck map templates that this computer has access to
program_typesubtypes of this (but not this itself) are loadable programs
spawnedevery holo object created by the holodeck goes in here to track it
spawning_simulationif TRUE the holodeck is busy spawning another simulation and should immediately stop loading the newest one
special_locsspecial locs that can mess with derez'ing holo spawned objects
templatethe currently used map template

Procs

derezthis qdels holoitems that should no longer exist for whatever reason
emergency_shutdownshuts down the holodeck and force loads the offline_program
finish_spawnfinalizes objects in the spawned list
floorcheckreturns TRUE if all floors of the holodeck are present, returns FALSE if any are broken or removed
generate_program_listadds all programs that this holodeck has access to, and separates the restricted and unrestricted ones
load_programloads the template whose id string it was given ("offline_program" loads datum/map_template/holodeck/offline)
nerfchanges all weapons in the holodeck to do stamina damage if set
reset_to_defaultTo be used on destroy, mainly to prevent sleeping inside well, destroy. Missing a lot of the things contained in load_program
+

Var Details

active + + + + +

+

TRUE if the holodeck is using extra power because of a program, FALSE otherwise

bottom_left + + + + +

+

bottom left corner of the loading room, used for placing

damaged + + + + +

+

increases the holodeck cooldown if TRUE, causing the holodeck to take longer to allow loading new programs

emag_programs + + + + +

+

stores all of the restricted holodeck map templates that this computer has access to

linked + + + + +

+

the area that this holodeck loads templates into, used for power and deleting holo objects that leave it

mapped_start_area + + + + +

+

what area type this holodeck loads into. linked turns into the nearest instance of this area

offline_program + + + + +

+

the default program loaded by this holodeck when spawned and when deactivated

program + + + + +

+

what program is loaded right now or is about to be loaded

program_cache + + + + +

+

stores all of the unrestricted holodeck map templates that this computer has access to

program_type + + + + +

+

subtypes of this (but not this itself) are loadable programs

spawned + + + + +

+

every holo object created by the holodeck goes in here to track it

spawning_simulation + + + + +

+

if TRUE the holodeck is busy spawning another simulation and should immediately stop loading the newest one

special_locs + + + + +

+

special locs that can mess with derez'ing holo spawned objects

template + + + + +

+

the currently used map template

Proc Details

derez +

+

this qdels holoitems that should no longer exist for whatever reason

emergency_shutdown +

+

shuts down the holodeck and force loads the offline_program

finish_spawn +

+

finalizes objects in the spawned list

floorcheck +

+

returns TRUE if all floors of the holodeck are present, returns FALSE if any are broken or removed

generate_program_list +

+

adds all programs that this holodeck has access to, and separates the restricted and unrestricted ones

load_program +

+

loads the template whose id string it was given ("offline_program" loads datum/map_template/holodeck/offline)

nerf +

+

changes all weapons in the holodeck to do stamina damage if set

reset_to_default +

+

To be used on destroy, mainly to prevent sleeping inside well, destroy. Missing a lot of the things contained in load_program

+ + + diff --git a/obj/machinery/computer/launchpad.html b/obj/machinery/computer/launchpad.html new file mode 100644 index 000000000000..c5807247c588 --- /dev/null +++ b/obj/machinery/computer/launchpad.html @@ -0,0 +1,37 @@ + + + + + + + /obj/machinery/computer/launchpad - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

launchpad + + + +

+ + +

Procs

teleport_checksPerforms checks on whether or not the launch pad can be used. +Returns null if there are no errors, otherwise will return the error string.

Proc Details

teleport_checks +

+

Performs checks on whether or not the launch pad can be used. +Returns null if there are no errors, otherwise will return the error string.

+ + + diff --git a/obj/machinery/computer/libraryconsole.html b/obj/machinery/computer/libraryconsole.html new file mode 100644 index 000000000000..159f3d2a9a34 --- /dev/null +++ b/obj/machinery/computer/libraryconsole.html @@ -0,0 +1,134 @@ + + + + + + + /obj/machinery/computer/libraryconsole - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

libraryconsole + + + +

+ + + + + + + + + + + + + + + + +

Vars

authorThe author we're searching for
can_connectCan we connect to the db?
categoryThe category we're searching for
db_request_cooldownPrevents spamming requests, acts as a second layer of protection against spam
interface_typeInterface name for the ui_interact call for different subtypes.
last_search_hashA hash of the last search we did, prevents spam in a different way then the cooldown
page_contentThe results of our last query
page_countThe the total pages last we checked
params_changedHave the search params changed at all since the last search?
search_pageThe page of our current query
sending_requestAre we currently sending a db request for books?
titleThe current title we're searching for

Procs

convert_ambiguous_inputTakes input that could either be a number, or a string that represents a number and returns a number
prevent_db_spamChecks if the machine is alloweed to make another db request yet. TRUE if so, FALSE otherwise
sanitize_page_inputReturns a santized page input, so converted from num/text to num, and properly maxed
+

Var Details

author + + + + +

+

The author we're searching for

can_connect + + + + +

+

Can we connect to the db?

category + + + + +

+

The category we're searching for

db_request_cooldown + + + + +

+

Prevents spamming requests, acts as a second layer of protection against spam

interface_type + + + + +

+

Interface name for the ui_interact call for different subtypes.

last_search_hash + + + + +

+

A hash of the last search we did, prevents spam in a different way then the cooldown

page_content + + + + +

+

The results of our last query

page_count + + + + +

+

The the total pages last we checked

params_changed + + + + +

+

Have the search params changed at all since the last search?

search_page + + + + +

+

The page of our current query

sending_request + + + + +

+

Are we currently sending a db request for books?

title + + + + +

+

The current title we're searching for

Proc Details

convert_ambiguous_input +

+

Takes input that could either be a number, or a string that represents a number and returns a number

prevent_db_spam +

+

Checks if the machine is alloweed to make another db request yet. TRUE if so, FALSE otherwise

sanitize_page_input +

+

Returns a santized page input, so converted from num/text to num, and properly maxed

+ + + diff --git a/obj/machinery/computer/libraryconsole/bookmanagement.html b/obj/machinery/computer/libraryconsole/bookmanagement.html new file mode 100644 index 000000000000..5ff6b847f760 --- /dev/null +++ b/obj/machinery/computer/libraryconsole/bookmanagement.html @@ -0,0 +1,136 @@ + + + + + + + /obj/machinery/computer/libraryconsole/bookmanagement - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

bookmanagement + + + +

+ + + + + + + + + + + + + + + + +

Vars

buffer_bookThe name of the book being checked out
can_spawn_loreCan spawn secret lore item
checkout_pageThe current page we're on in the checkout listing
checkout_page_countThe current max amount of checkout pages allowed
checkoutsList of checked out books, /datum/borrowbook
dynamic_inv_loadShould we load our inventory from the bookselves in our area?
ignore_hashToggled if some bit of code wants to override hashing and allow for page updates
inventoryList of book info datums to display to the user as our "inventory"
inventory_pageThe current page we're on in the inventory
inventory_page_countThe current max amount of inventory pages allowed
printer_cooldownOur cooldown on using the printer
scannerBook scanner that will be used when uploading books to the Archive
screen_stateThe screen we're currently on, sent to the ui
show_dropdownShould we show the buttons required for changing screens?

Procs

attempt_printCall this proc to attempt a print. It will return false if the print failed, true otherwise, longside some ux +Accepts a callback to call when the print "finishes"
+

Var Details

buffer_book + + + + +

+

The name of the book being checked out

can_spawn_lore + + + + +

+

Can spawn secret lore item

checkout_page + + + + +

+

The current page we're on in the checkout listing

checkout_page_count + + + + +

+

The current max amount of checkout pages allowed

checkouts + + + + +

+

List of checked out books, /datum/borrowbook

dynamic_inv_load + + + + +

+

Should we load our inventory from the bookselves in our area?

ignore_hash + + + + +

+

Toggled if some bit of code wants to override hashing and allow for page updates

inventory + + + + +

+

List of book info datums to display to the user as our "inventory"

inventory_page + + + + +

+

The current page we're on in the inventory

inventory_page_count + + + + +

+

The current max amount of inventory pages allowed

printer_cooldown + + + + +

+

Our cooldown on using the printer

scanner + + + + +

+

Book scanner that will be used when uploading books to the Archive

screen_state + + + + +

+

The screen we're currently on, sent to the ui

show_dropdown + + + + +

+

Should we show the buttons required for changing screens?

Proc Details

attempt_print +

+

Call this proc to attempt a print. It will return false if the print failed, true otherwise, longside some ux +Accepts a callback to call when the print "finishes"

+ + + diff --git a/obj/machinery/computer/mech_bay_power_console.html b/obj/machinery/computer/mech_bay_power_console.html new file mode 100644 index 000000000000..1dc3a71bc44e --- /dev/null +++ b/obj/machinery/computer/mech_bay_power_console.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/computer/mech_bay_power_console - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mech_bay_power_console + + + +

+ + + +

Vars

recharge_portRef to charge port fwe are viewing data for, cyclical reference

Procs

reconnectChecks for nearby recharge ports to link to
+

Var Details

recharge_port + + + + +

+

Ref to charge port fwe are viewing data for, cyclical reference

Proc Details

reconnect +

+

Checks for nearby recharge ports to link to

+ + + diff --git a/obj/machinery/computer/mechpad.html b/obj/machinery/computer/mechpad.html new file mode 100644 index 000000000000..0aec18069583 --- /dev/null +++ b/obj/machinery/computer/mechpad.html @@ -0,0 +1,98 @@ + + + + + + + /obj/machinery/computer/mechpad - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mechpad + + + +

+ + + + + + + + + + +

Vars

connected_mechpadMechpads that it can send mechs through to other mechpads
idID of the mechpad, used for linking up
maximum_padsMaximum amount of pads connected at once
mechpadsList of mechpads connected
selected_idSelected mechpad in the console

Procs

connect_to_padTries to locate a pad in the cardinal directions, if it finds one it returns it
get_padReturns the pad of the value specified
pad_existsChecks if the pad of a certain number has been QDELETED, if yes returns FALSE, otherwise returns TRUE
try_launchTries to call the launch proc on the connected mechpad, returns if there is no connected mechpad or there is no mecha on the pad +Arguments:
+

Var Details

connected_mechpad + + + + +

+

Mechpads that it can send mechs through to other mechpads

id + + + + +

+

ID of the mechpad, used for linking up

maximum_pads + + + + +

+

Maximum amount of pads connected at once

mechpads + + + + +

+

List of mechpads connected

selected_id + + + + +

+

Selected mechpad in the console

Proc Details

connect_to_pad +

+

Tries to locate a pad in the cardinal directions, if it finds one it returns it

get_pad +

+

Returns the pad of the value specified

pad_exists +

+

Checks if the pad of a certain number has been QDELETED, if yes returns FALSE, otherwise returns TRUE

try_launch +

+

Tries to call the launch proc on the connected mechpad, returns if there is no connected mechpad or there is no mecha on the pad +Arguments:

+
+ + + diff --git a/obj/machinery/computer/pod.html b/obj/machinery/computer/pod.html new file mode 100644 index 000000000000..3ad6afa61160 --- /dev/null +++ b/obj/machinery/computer/pod.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/computer/pod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pod + + + +

+ + + + + + + + +

Vars

connectedConnected mass driver
idID of the launch control
massdriver_countdownCountdown timer for the mass driver's delayed launch functionality.
rangeRange in which we search for a mass drivers and poddoors nearby
timeTime before auto launch
timingIf the launch timer counts down

Procs

alarmInitiates launching sequence by checking if all components are functional, opening poddoors, firing mass drivers and then closing poddoors
+

Var Details

connected + + + + +

+

Connected mass driver

id + + + + +

+

ID of the launch control

massdriver_countdown + + + + +

+

Countdown timer for the mass driver's delayed launch functionality.

range + + + + +

+

Range in which we search for a mass drivers and poddoors nearby

time + + + + +

+

Time before auto launch

timing + + + + +

+

If the launch timer counts down

Proc Details

alarm +

+

Initiates launching sequence by checking if all components are functional, opening poddoors, firing mass drivers and then closing poddoors

+ + + diff --git a/obj/machinery/computer/scan_consolenew.html b/obj/machinery/computer/scan_consolenew.html new file mode 100644 index 000000000000..eea34d327533 --- /dev/null +++ b/obj/machinery/computer/scan_consolenew.html @@ -0,0 +1,618 @@ + + + + + + + /obj/machinery/computer/scan_consolenew - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

scan_consolenew + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

can_use_scannerUsed for setting tgui data - Whether the connected DNA Scanner is usable
connected_scannerCurrently connected DNA Scanner
crispr_chargesCounter for CRISPR charges
delayed_actionCurrent delayed action, used for delayed enzyme transfer on scanner door close
enzyme_copy_timerCooldown for the genetic makeup transfer actions.
genetic_damage_pulse_indexIndex of the enzyme being modified during delayed enzyme pulse operations
genetic_damage_pulse_timerWorld time when the enzyme pulse should complete
genetic_damage_pulse_typeWhich dna string to edit with the pulse
genetic_makeup_bufferMaximum number of enzymes we can store
injector_selectionAssoc list of all advanced injectors. Keys are injector names. Values are lists of mutations.
injectorreadyWorld time when injectors are ready to be printed
is_crispr_readyUsed for setting tgui data - Is CRISPR ready?
is_injector_readyUsed for setting tgui data - Whether injectors are ready to be printed
is_joker_readyUsed for setting tgui data - Whether JOKER algorithm is ready
is_pulsingUsed for setting tgui data - Wheher an enzyme pulse operation is ongoing
is_scramble_readyUsed for setting tgui data - Whether Scramble DNA is ready
is_viable_occupantUsed for setting tgui data - Whether the current DNA Scanner occupant is viable for genetic modification
jokerreadyWorld time when JOKER algorithm can be used in DNA Consoles
max_injector_instabilityMaximum total instability of all combined mutations allowed on an advanced injector
max_injector_mutationsMaximum number of mutation that an advanced injector can store
max_injector_selectionsMaximum number of advanced injectors that DNA Consoles store
pulse_durationDuration for enzyme genetic damage pulses
pulse_strengthStrength for enzyme genetic damage pulses
scanner_occupantCurrent DNA Scanner occupant
scramblereadyWorld time when Scramble can be used in DNA Consoles
stored_chromosomesList of all chromosomes stored in the DNA Console
stored_mutationsList of all mutations stored on the DNA Console
tgui_advinjector_mutationsUsed for setting tgui data - List of occupant mutations
tgui_console_chromosomesUsed for setting tgui data - List of DNA Console chromosomes
tgui_console_mutationsUsed for setting tgui data - List of DNA Console stored mutations
tgui_genetic_makeupUsed for setting tgui data - List of occupant mutations
tgui_inserted_disk_mutationsUsed for setting tgui data - List of inserted_disk stored mutations
tgui_occupant_mutationsUsed for setting tgui data - List of occupant mutations
tgui_view_stateState of tgui view, i.e. which tab is currently active, or which genome we're currently looking at.
time_to_injectorUsed for setting tgui data - Time until injectors are ready
time_to_jokerUsed for setting tgui data - Time until joker is ready
time_to_pulseUsed for setting tgui data - Time until the enzyme pulse is complete
time_to_scrambleUsed for setting tgui data - Time until scramble is ready

Procs

apply_genetic_makeup
build_chrom_list
build_genetic_makeup_listBuilds the genetic makeup list which will be sent to tgui interface.
build_mutation_list
can_modify_occupant
check_discovery
connect_to_scanner
eject_disk
genetic_damage_pulse
get_mut_by_ref
on_scanner_close
on_scanner_open
randomize_GENETIC_DAMAGE_accuracy
scanner_operationalChecks if there is a connected DNA Scanner that is operational
scramble
set_default_stateSets the default state for the tgui interface.
+

Var Details

can_use_scanner + + + + +

+

Used for setting tgui data - Whether the connected DNA Scanner is usable

connected_scanner + + + + +

+

Currently connected DNA Scanner

crispr_charges + + + + +

+

Counter for CRISPR charges

delayed_action + + + + +

+

Current delayed action, used for delayed enzyme transfer on scanner door close

enzyme_copy_timer + + + + +

+

Cooldown for the genetic makeup transfer actions.

genetic_damage_pulse_index + + + + +

+

Index of the enzyme being modified during delayed enzyme pulse operations

genetic_damage_pulse_timer + + + + +

+

World time when the enzyme pulse should complete

genetic_damage_pulse_type + + + + +

+

Which dna string to edit with the pulse

genetic_makeup_buffer + + + + +

+

Maximum number of enzymes we can store

injector_selection + + + + +

+

Assoc list of all advanced injectors. Keys are injector names. Values are lists of mutations.

injectorready + + + + +

+

World time when injectors are ready to be printed

is_crispr_ready + + + + +

+

Used for setting tgui data - Is CRISPR ready?

is_injector_ready + + + + +

+

Used for setting tgui data - Whether injectors are ready to be printed

is_joker_ready + + + + +

+

Used for setting tgui data - Whether JOKER algorithm is ready

is_pulsing + + + + +

+

Used for setting tgui data - Wheher an enzyme pulse operation is ongoing

is_scramble_ready + + + + +

+

Used for setting tgui data - Whether Scramble DNA is ready

is_viable_occupant + + + + +

+

Used for setting tgui data - Whether the current DNA Scanner occupant is viable for genetic modification

jokerready + + + + +

+

World time when JOKER algorithm can be used in DNA Consoles

max_injector_instability + + + + +

+

Maximum total instability of all combined mutations allowed on an advanced injector

max_injector_mutations + + + + +

+

Maximum number of mutation that an advanced injector can store

max_injector_selections + + + + +

+

Maximum number of advanced injectors that DNA Consoles store

pulse_duration + + + + +

+

Duration for enzyme genetic damage pulses

pulse_strength + + + + +

+

Strength for enzyme genetic damage pulses

scanner_occupant + + + + +

+

Current DNA Scanner occupant

scrambleready + + + + +

+

World time when Scramble can be used in DNA Consoles

stored_chromosomes + + + + +

+

List of all chromosomes stored in the DNA Console

stored_mutations + + + + +

+

List of all mutations stored on the DNA Console

tgui_advinjector_mutations + + + + +

+

Used for setting tgui data - List of occupant mutations

tgui_console_chromosomes + + + + +

+

Used for setting tgui data - List of DNA Console chromosomes

tgui_console_mutations + + + + +

+

Used for setting tgui data - List of DNA Console stored mutations

tgui_genetic_makeup + + + + +

+

Used for setting tgui data - List of occupant mutations

tgui_inserted_disk_mutations + + + + +

+

Used for setting tgui data - List of inserted_disk stored mutations

tgui_occupant_mutations + + + + +

+

Used for setting tgui data - List of occupant mutations

tgui_view_state + + + + +

+

State of tgui view, i.e. which tab is currently active, or which genome we're currently looking at.

time_to_injector + + + + +

+

Used for setting tgui data - Time until injectors are ready

time_to_joker + + + + +

+

Used for setting tgui data - Time until joker is ready

time_to_pulse + + + + +

+

Used for setting tgui data - Time until the enzyme pulse is complete

time_to_scramble + + + + +

+

Used for setting tgui data - Time until scramble is ready

Proc Details

apply_genetic_makeup +

+

build_chrom_list +

+

build_genetic_makeup_list +

+

Builds the genetic makeup list which will be sent to tgui interface.

build_mutation_list +

+

can_modify_occupant +

+

check_discovery +

+

connect_to_scanner +

+

eject_disk +

+

genetic_damage_pulse +

+

get_mut_by_ref +

+

on_scanner_close +

+

on_scanner_open +

+

randomize_GENETIC_DAMAGE_accuracy +

+

scanner_operational +

+

Checks if there is a connected DNA Scanner that is operational

scramble +

+

set_default_state +

+

Sets the default state for the tgui interface.

+ + + diff --git a/obj/machinery/computer/security.html b/obj/machinery/computer/security.html new file mode 100644 index 000000000000..72196d01349b --- /dev/null +++ b/obj/machinery/computer/security.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/computer/security - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

security + + + +

+ + + +

Vars

cam_plane_mastersAll the plane masters that need to be applied.
last_camera_turfThe turf where the camera was last updated.
+

Var Details

cam_plane_masters + + + + +

+

All the plane masters that need to be applied.

last_camera_turf + + + + +

+

The turf where the camera was last updated.

+ + + diff --git a/obj/machinery/computer/shuttle.html b/obj/machinery/computer/shuttle.html new file mode 100644 index 000000000000..e5f2f91b61fe --- /dev/null +++ b/obj/machinery/computer/shuttle.html @@ -0,0 +1,89 @@ + + + + + + + /obj/machinery/computer/shuttle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

shuttle + + + +

+ + + + + + + + + +

Vars

admin_controlledVariable dictating if the attached shuttle requires authorization from the admin staff to move
destinationID of the currently selected destination of the attached shuttle
lockedIf the console controls are locked
no_destination_swapVariable dictating if the attached shuttle is forbidden to change destinations mid-flight
possible_destinationsPossible destinations of the attached shuttle
request_cooldownAuthorization request cooldown to prevent request spam to admin staff
shuttleIdID of the attached shuttle

Procs

launch_checkChecks if we are allowed to launch the shuttle, for special cases
+

Var Details

admin_controlled + + + + +

+

Variable dictating if the attached shuttle requires authorization from the admin staff to move

destination + + + + +

+

ID of the currently selected destination of the attached shuttle

locked + + + + +

+

If the console controls are locked

no_destination_swap + + + + +

+

Variable dictating if the attached shuttle is forbidden to change destinations mid-flight

possible_destinations + + + + +

+

Possible destinations of the attached shuttle

request_cooldown + + + + +

+

Authorization request cooldown to prevent request spam to admin staff

shuttleId + + + + +

+

ID of the attached shuttle

Proc Details

launch_check +

+

Checks if we are allowed to launch the shuttle, for special cases

+

Arguments:

+
+ + + diff --git a/obj/machinery/computer/shuttle/pod.html b/obj/machinery/computer/shuttle/pod.html new file mode 100644 index 000000000000..78e934b19391 --- /dev/null +++ b/obj/machinery/computer/shuttle/pod.html @@ -0,0 +1,40 @@ + + + + + + + /obj/machinery/computer/shuttle/pod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

pod + + + +

+ + +

Procs

check_lockSignal handler for checking if we should lock or unlock escape pods accordingly to a newly set security level

Proc Details

check_lock +

+

Signal handler for checking if we should lock or unlock escape pods accordingly to a newly set security level

+

Arguments:

+
+ + + diff --git a/obj/machinery/computer/station_alert.html b/obj/machinery/computer/station_alert.html new file mode 100644 index 000000000000..8503bf86ad17 --- /dev/null +++ b/obj/machinery/computer/station_alert.html @@ -0,0 +1,47 @@ + + + + + + + /obj/machinery/computer/station_alert - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

station_alert + + + +

+ + + +

Vars

alert_controlStation alert datum for showing alerts UI

Procs

update_alarm_displaySignal handler for calling an icon update in case an alarm is added or cleared
+

Var Details

alert_control + + + + +

+

Station alert datum for showing alerts UI

Proc Details

update_alarm_display +

+

Signal handler for calling an icon update in case an alarm is added or cleared

+

Arguments:

+
+ + + diff --git a/obj/machinery/computer/telecomms/server.html b/obj/machinery/computer/telecomms/server.html new file mode 100644 index 000000000000..39e76bb4928d --- /dev/null +++ b/obj/machinery/computer/telecomms/server.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/computer/telecomms/server - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

server + + + +

+ + + + + + + + +

Vars

SelectedServerthe currently selected server
error_messageError message to show
networkNetwork name to probe
req_accessAccess required to delete messages
screenCurrent screen the user is viewing
serversthe servers located by the computer to be in-network
universal_translateCan the monitor translate languages?
+

Var Details

SelectedServer + + + + +

+

the currently selected server

error_message + + + + +

+

Error message to show

network + + + + +

+

Network name to probe

req_access + + + + +

+

Access required to delete messages

screen + + + + +

+

Current screen the user is viewing

servers + + + + +

+

the servers located by the computer to be in-network

universal_translate + + + + +

+

Can the monitor translate languages?

+ + + diff --git a/obj/machinery/computer/teleporter.html b/obj/machinery/computer/teleporter.html new file mode 100644 index 000000000000..3de03d649e6a --- /dev/null +++ b/obj/machinery/computer/teleporter.html @@ -0,0 +1,52 @@ + + + + + + + /obj/machinery/computer/teleporter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

teleporter + + + +

+ + + + +

Vars

target_refWeakref to the target atom we're pointed at currently

Procs

get_targetsGets a list of targets to teleport to. +List is an assoc list of descriptors to locations.
lock_in_stationGiven a target station, will power and link it.
+

Var Details

target_ref + + + + +

+

Weakref to the target atom we're pointed at currently

Proc Details

get_targets +

+

Gets a list of targets to teleport to. +List is an assoc list of descriptors to locations.

lock_in_station +

+

Given a target station, will power and link it.

+ + + diff --git a/obj/machinery/computer/tram_controls.html b/obj/machinery/computer/tram_controls.html new file mode 100644 index 000000000000..561a5d1e7654 --- /dev/null +++ b/obj/machinery/computer/tram_controls.html @@ -0,0 +1,61 @@ + + + + + + + /obj/machinery/computer/tram_controls - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tram_controls + + + +

+ + + + + +

Vars

tram_refWeakref to the tram piece we control

Procs

find_tramFinds the tram from the console
get_destinationsFinds the destinations for the tram console gui
try_send_tramAttempts to sends the tram to the given destination
+

Var Details

tram_ref + + + + +

+

Weakref to the tram piece we control

Proc Details

find_tram +

+

Finds the tram from the console

+

Locates tram parts in the lift global list after everything is done.

get_destinations +

+

Finds the destinations for the tram console gui

+

Pulls tram landmarks from the landmark gobal list +and uses those to show the proper icons and destination +names for the tram console gui.

try_send_tram +

+

Attempts to sends the tram to the given destination

+ + + diff --git a/obj/machinery/computer/vaultcontroller.html b/obj/machinery/computer/vaultcontroller.html new file mode 100644 index 000000000000..d5c862e12ee8 --- /dev/null +++ b/obj/machinery/computer/vaultcontroller.html @@ -0,0 +1,84 @@ + + + + + + + /obj/machinery/computer/vaultcontroller - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

vaultcontroller + + + +

+ +

Vault controller for use on the derelict/KS13.

+ + + + + + + +

Procs

activate_lockAttempts to lock/unlock vault doors, if machine is charged.
attempt_siphonTries to charge from powernet excess, no upper limit except max charge.
cycle_closeHandles the doors closing
cycle_openHandles the doors opening
find_airlocksInitializes airlock links.
lock_vaultAttempts to lock the vault doors
unlock_vaultAttempts to unlock the vault doors
update_cableLooks for a cable connection beneath the machine.

Proc Details

activate_lock +

+

Attempts to lock/unlock vault doors, if machine is charged.

attempt_siphon +

+

Tries to charge from powernet excess, no upper limit except max charge.

cycle_close +

+

Handles the doors closing

cycle_open +

+

Handles the doors opening

find_airlocks +

+

Initializes airlock links.

lock_vault +

+

Attempts to lock the vault doors

unlock_vault +

+

Attempts to unlock the vault doors

update_cable +

+

Looks for a cable connection beneath the machine.

+ + + diff --git a/obj/machinery/control_point.html b/obj/machinery/control_point.html new file mode 100644 index 000000000000..98837c029ab1 --- /dev/null +++ b/obj/machinery/control_point.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/control_point - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

control_point + + + +

+ + +

Vars

point_rateThis is how many points are gained a second while controlling this point
+

Var Details

point_rate + + + + +

+

This is how many points are gained a second while controlling this point

+ + + diff --git a/obj/machinery/conveyor.html b/obj/machinery/conveyor.html new file mode 100644 index 000000000000..e598bf20789f --- /dev/null +++ b/obj/machinery/conveyor.html @@ -0,0 +1,108 @@ + + + + + + + /obj/machinery/conveyor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

conveyor + + + +

+ + + + + + + + + + + + +

Vars

backwardsThe opposite of forwards. It's set in a special var for corner belts, which aren't using the opposite direction when in reverse.
conveyingAre we currently conveying items?
flippedIs the conveyor's belt flipped? Useful mostly for conveyor belt corners. It makes the belt point in the other direction, rather than just going in reverse.
forwardsThis is the default (forward) direction, set by the map dir.
idThe control ID - must match at least one conveyor switch's ID to be useful.
invertedInverts the direction the conveyor belt moves when true.
movedirThe actual direction to move stuff in.
operatingThe current state of the switch.
speedThe time between movements of the conveyor belts, base 0.2 seconds

Procs

LateInitializeLeaving onto conveyor detection won't work at this point, but that's alright since it's an optimization anyway +Should be fine without it
update_move_directionProc to handle updating the directions in which the conveyor belt is moving items.
+

Var Details

backwards + + + + +

+

The opposite of forwards. It's set in a special var for corner belts, which aren't using the opposite direction when in reverse.

conveying + + + + +

+

Are we currently conveying items?

flipped + + + + +

+

Is the conveyor's belt flipped? Useful mostly for conveyor belt corners. It makes the belt point in the other direction, rather than just going in reverse.

forwards + + + + +

+

This is the default (forward) direction, set by the map dir.

id + + + + +

+

The control ID - must match at least one conveyor switch's ID to be useful.

inverted + + + + +

+

Inverts the direction the conveyor belt moves when true.

movedir + + + + +

+

The actual direction to move stuff in.

operating + + + + +

+

The current state of the switch.

speed + + + + +

+

The time between movements of the conveyor belts, base 0.2 seconds

Proc Details

LateInitialize +

+

Leaving onto conveyor detection won't work at this point, but that's alright since it's an optimization anyway +Should be fine without it

update_move_direction +

+

Proc to handle updating the directions in which the conveyor belt is moving items.

+ + + diff --git a/obj/machinery/conveyor_switch.html b/obj/machinery/conveyor_switch.html new file mode 100644 index 000000000000..0010fdabbe16 --- /dev/null +++ b/obj/machinery/conveyor_switch.html @@ -0,0 +1,99 @@ + + + + + + + /obj/machinery/conveyor_switch - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

conveyor_switch + + + +

+ + + + + + + + + + + +

Vars

conveyor_speedThe set time between movements of the conveyor belts
idThe ID of the switch, must match conveyor IDs to control them.
invert_iconIf the level points the opposite direction when it's turned on.
last_posLast direction setting.
onewayIf the switch only operates the conveyor belts in a single direction.
positionThe current state of the switch.

Procs

interactCalled when a user clicks on this switch with an open hand.
update_linked_conveyorsUpdates all conveyor belts that are linked to this switch, and tells them to start processing.
update_linked_switchesFinds any switches with same id as this one, and set their position and icon to match us.
update_positionUpdates the switch's position and last_pos variable. Useful so that the switch can properly cycle between the forwards, backwards and neutral positions.
+

Var Details

conveyor_speed + + + + +

+

The set time between movements of the conveyor belts

id + + + + +

+

The ID of the switch, must match conveyor IDs to control them.

invert_icon + + + + +

+

If the level points the opposite direction when it's turned on.

last_pos + + + + +

+

Last direction setting.

oneway + + + + +

+

If the switch only operates the conveyor belts in a single direction.

position + + + + +

+

The current state of the switch.

Proc Details

interact +

+

Called when a user clicks on this switch with an open hand.

update_linked_conveyors +

+

Updates all conveyor belts that are linked to this switch, and tells them to start processing.

update_linked_switches +

+

Finds any switches with same id as this one, and set their position and icon to match us.

update_position +

+

Updates the switch's position and last_pos variable. Useful so that the switch can properly cycle between the forwards, backwards and neutral positions.

+ + + diff --git a/obj/machinery/crossing_signal.html b/obj/machinery/crossing_signal.html new file mode 100644 index 000000000000..f9a1da6f1c4e --- /dev/null +++ b/obj/machinery/crossing_signal.html @@ -0,0 +1,97 @@ + + + + + + + /obj/machinery/crossing_signal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

crossing_signal + + + +

+ +

Pedestrian crossing signal for tram

+ + + + + + + + +

Vars

amber_distance_thresholdProximity threshold for amber warning (slow people may be in danger)
red_distance_thresholdProximity threshold for red warning (running people will likely not be able to cross)
signal_stategreen, amber, or red.
tram_idThe ID of the tram we control
tram_refWeakref to the tram piece we control

Procs

find_tramFinds the tram, just like the tram computer
on_tram_travellingOnly process if the tram is actually moving
set_signal_stateSet the signal state and update appearance.
update_operatingUpdate processing state.
+

Var Details

amber_distance_threshold + + + + +

+

Proximity threshold for amber warning (slow people may be in danger)

red_distance_threshold + + + + +

+

Proximity threshold for red warning (running people will likely not be able to cross)

signal_state + + + + +

+

green, amber, or red.

tram_id + + + + +

+

The ID of the tram we control

tram_ref + + + + +

+

Weakref to the tram piece we control

Proc Details

find_tram +

+

Finds the tram, just like the tram computer

+

Locates tram parts in the lift global list after everything is done.

on_tram_travelling +

+

Only process if the tram is actually moving

set_signal_state +

+

Set the signal state and update appearance.

+

Arguments: +new_state - the new state (XING_STATE_RED, etc) +force_update - force appearance to update even if state didn't change.

update_operating +

+

Update processing state.

+

Returns whether we are still processing.

+ + + diff --git a/obj/machinery/cryopod.html b/obj/machinery/cryopod.html new file mode 100644 index 000000000000..42b916eb9ae9 --- /dev/null +++ b/obj/machinery/cryopod.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/cryopod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cryopod + + + +

+ + + + +

Vars

control_computer_weakrefWeakref to our controller
despawn_world_timeCooldown for when it's now safe to try an despawn the player.
time_till_despawnTime until despawn when a mob enters a cryopod. You cannot other people in pods unless they're catatonic.
+

Var Details

control_computer_weakref + + + + +

+

Weakref to our controller

despawn_world_time + + + + +

+

Cooldown for when it's now safe to try an despawn the player.

time_till_despawn + + + + +

+

Time until despawn when a mob enters a cryopod. You cannot other people in pods unless they're catatonic.

+ + + diff --git a/obj/machinery/debug_component_printer.html b/obj/machinery/debug_component_printer.html new file mode 100644 index 000000000000..2a8868eab6af --- /dev/null +++ b/obj/machinery/debug_component_printer.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/debug_component_printer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

debug_component_printer + + + +

+ + +

Vars

all_circuit_designsAll of the possible circuit designs stored by this debug printer
+

Var Details

all_circuit_designs + + + + +

+

All of the possible circuit designs stored by this debug printer

+ + + diff --git a/obj/machinery/defibrillator_mount.html b/obj/machinery/defibrillator_mount.html new file mode 100644 index 000000000000..c1c7568d1184 --- /dev/null +++ b/obj/machinery/defibrillator_mount.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/defibrillator_mount - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

defibrillator_mount + + + +

+ + + + +

Vars

clamps_lockedif true, and a defib is loaded, it can't be removed without unlocking the clamps
defibThe mount's defib
wallframe_typethe type of wallframe it 'disassembles' into
+

Var Details

clamps_locked + + + + +

+

if true, and a defib is loaded, it can't be removed without unlocking the clamps

defib + + + + +

+

The mount's defib

wallframe_type + + + + +

+

the type of wallframe it 'disassembles' into

+ + + diff --git a/obj/machinery/deployable_turret.html b/obj/machinery/deployable_turret.html new file mode 100644 index 000000000000..58146a5f3f5a --- /dev/null +++ b/obj/machinery/deployable_turret.html @@ -0,0 +1,99 @@ + + + + + + + /obj/machinery/deployable_turret - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

deployable_turret + + + +

+ +

DEPLOYABLE TURRET (FORMERLY MANNED TURRET)

+ + + + + + + + + +

Vars

can_be_undeployedIf using a wrench on the turret will start undeploying it
cooldown_durationHow long it takes for the gun to allow firing after a burst
firesoundSound to play when firing
number_of_shotsNumber of shots fired from one click
overheatsoundSound to play at the end of a burst
projectile_typeThe projectile that the turret fires
rate_of_fireDelay between shots in a burst
spawned_on_undeployWhat gets spawned if the object is undeployed
undeploy_timeHow long it takes for a wrench user to undeploy the object

Procs

wrench_actUndeploying, for when you want to move your big dakka around
+

Var Details

can_be_undeployed + + + + +

+

If using a wrench on the turret will start undeploying it

cooldown_duration + + + + +

+

How long it takes for the gun to allow firing after a burst

firesound + + + + +

+

Sound to play when firing

number_of_shots + + + + +

+

Number of shots fired from one click

overheatsound + + + + +

+

Sound to play at the end of a burst

projectile_type + + + + +

+

The projectile that the turret fires

rate_of_fire + + + + +

+

Delay between shots in a burst

spawned_on_undeploy + + + + +

+

What gets spawned if the object is undeployed

undeploy_time + + + + +

+

How long it takes for a wrench user to undeploy the object

Proc Details

wrench_act +

+

Undeploying, for when you want to move your big dakka around

+ + + diff --git a/obj/machinery/door.html b/obj/machinery/door.html new file mode 100644 index 000000000000..a3e9a3a4ffdf --- /dev/null +++ b/obj/machinery/door.html @@ -0,0 +1,98 @@ + + + + + + + /obj/machinery/door - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

door + + + +

+ + + + + + + + + +

Vars

block_air_zonesWhether or not the door can be opened by hand (used for blast doors and shutters) +If set, air zones cannot merge across the door even when it is opened.
can_open_with_handsWhether or not the door can crush mobs.
door_align_typeWhat door types do we want to align with if any
knock_soundSound to play when knocked on

Procs

check_security_levelSignal handler for checking if we notify our surrounding that access requirements are lifted accordingly to a newly set security level
try_remove_sealCalled when attempting to remove the seal from an airlock
try_to_crowbar_secondaryCalled when the user right-clicks on the door with a crowbar.
try_to_weld_secondaryCalled when the user right-clicks on the door with a welding tool.
+

Var Details

block_air_zones + + + + +

+

Whether or not the door can be opened by hand (used for blast doors and shutters) +If set, air zones cannot merge across the door even when it is opened.

can_open_with_hands + + + + +

+

Whether or not the door can crush mobs.

door_align_type + + + + +

+

What door types do we want to align with if any

knock_sound + + + + +

+

Sound to play when knocked on

Proc Details

check_security_level +

+

Signal handler for checking if we notify our surrounding that access requirements are lifted accordingly to a newly set security level

+

Arguments:

+

try_remove_seal +

+

Called when attempting to remove the seal from an airlock

+

Here because we need to call it and return if there was a seal so we don't try to open the door +or try its safety lock while it's sealed +Arguments:

+

try_to_crowbar_secondary +

+

Called when the user right-clicks on the door with a crowbar.

try_to_weld_secondary +

+

Called when the user right-clicks on the door with a welding tool.

+ + + diff --git a/obj/machinery/door/airlock.html b/obj/machinery/door/airlock.html new file mode 100644 index 000000000000..f4bc15f3565b --- /dev/null +++ b/obj/machinery/door/airlock.html @@ -0,0 +1,93 @@ + + + + + + + /obj/machinery/door/airlock - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

airlock + + + +

+ + + + + + + + +

Vars

airlock_stateThe current state of the airlock, used to construct the airlock overlays
sealThe seal on the airlock

Procs

beforeShuttleMoveTurf move procs
get_note_stateReturns a string representing the type of note pinned to this airlock +Arguments:
set_wiresGenerates the airlock's wire layout based on the current area the airlock resides in.
should_try_removing_electronicsReturns if a crowbar would remove the airlock electronics
try_remove_sealUsed when attempting to remove a seal from an airlock
+

Var Details

airlock_state + + + + +

+

The current state of the airlock, used to construct the airlock overlays

seal + + + + +

+

The seal on the airlock

Proc Details

beforeShuttleMove +

+

Turf move procs

+

Area move procs

+

Machinery move procs

get_note_state +

+

Returns a string representing the type of note pinned to this airlock +Arguments:

+

set_wires +

+

Generates the airlock's wire layout based on the current area the airlock resides in.

+

Returns a new /datum/wires/ with the appropriate wire layout based on the airlock_wires +of the area the airlock is in.

should_try_removing_electronics +

+

Returns if a crowbar would remove the airlock electronics

try_remove_seal +

+

Used when attempting to remove a seal from an airlock

+

Called when attacking an airlock with an empty hand, returns TRUE (there was a seal and we removed it, or failed to remove it) +or FALSE (there was no seal) +Arguments:

+
+ + + diff --git a/obj/machinery/door/airlock/external.html b/obj/machinery/door/airlock/external.html new file mode 100644 index 000000000000..15db781ce495 --- /dev/null +++ b/obj/machinery/door/airlock/external.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/door/airlock/external - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

external + + + +

+ + +

Vars

space_dirWhether or not the airlock can be opened without access from a certain direction while powered, or with bare hands from any direction while unpowered OR pressurized.
+

Var Details

space_dir + + + + +

+

Whether or not the airlock can be opened without access from a certain direction while powered, or with bare hands from any direction while unpowered OR pressurized.

+ + + diff --git a/obj/machinery/door/airlock/vault/derelict.html b/obj/machinery/door/airlock/vault/derelict.html new file mode 100644 index 000000000000..c3464d9b6acc --- /dev/null +++ b/obj/machinery/door/airlock/vault/derelict.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/door/airlock/vault/derelict - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

derelict + + + +

+ +

Airlock that can't be deconstructed, broken or hacked.

+

Procs

attackbyOverrides screwdriver attack to prevent all deconstruction and hacking.

Proc Details

attackby +

+

Overrides screwdriver attack to prevent all deconstruction and hacking.

+ + + diff --git a/obj/machinery/door/firedoor.html b/obj/machinery/door/firedoor.html new file mode 100644 index 000000000000..3c413a55f809 --- /dev/null +++ b/obj/machinery/door/firedoor.html @@ -0,0 +1,86 @@ + + + + + + + /obj/machinery/door/firedoor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

firedoor + + + +

+ + + + + + + + + +

Vars

alert_typeType of alarm when active. See code/defines/firealarm.dm for the list. This var being null means there is no alarm.
joined_areasEvery area a firedoor is listening to.
light_xoffsetX offset for the overlay lights, so that they line up with the thin border firelocks
light_yoffsetY offset for the overlay lights, so that they line up with the thin border firelocks
luminosityTrick to get the glowing overlay visible from a distance
my_areaThe firedoor's area loc

Procs

adjust_lights_starting_offsetSets the offset for the warning lights.
try_to_crowbarWe check for adjacency when using the primary attack.
+

Var Details

alert_type + + + + +

+

Type of alarm when active. See code/defines/firealarm.dm for the list. This var being null means there is no alarm.

joined_areas + + + + +

+

Every area a firedoor is listening to.

light_xoffset + + + + +

+

X offset for the overlay lights, so that they line up with the thin border firelocks

light_yoffset + + + + +

+

Y offset for the overlay lights, so that they line up with the thin border firelocks

luminosity + + + + +

+

Trick to get the glowing overlay visible from a distance

my_area + + + + +

+

The firedoor's area loc

Proc Details

adjust_lights_starting_offset +

+

Sets the offset for the warning lights.

+

Used for special firelocks with light overlays that don't line up to their sprite.

try_to_crowbar +

+

We check for adjacency when using the primary attack.

+ + + diff --git a/obj/machinery/door/puzzle.html b/obj/machinery/door/puzzle.html new file mode 100644 index 000000000000..1144958942a9 --- /dev/null +++ b/obj/machinery/door/puzzle.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/door/puzzle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

puzzle + + + +

+ + + +

Vars

open_messageMessage that occurs when the door is opened
puzzle_idMake sure that the puzzle has the same puzzle_id as the keycard door!
+

Var Details

open_message + + + + +

+

Message that occurs when the door is opened

puzzle_id + + + + +

+

Make sure that the puzzle has the same puzzle_id as the keycard door!

+ + + diff --git a/obj/machinery/door_timer.html b/obj/machinery/door_timer.html new file mode 100644 index 000000000000..2b7ba2af371d --- /dev/null +++ b/obj/machinery/door_timer.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/door_timer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

door_timer + + + +

+ + + + +

Vars

closetsList of weakrefs to nearby closets
doorsList of weakrefs to nearby doors
flashersList of weakrefs to nearby flashers
+

Var Details

closets + + + + +

+

List of weakrefs to nearby closets

doors + + + + +

+

List of weakrefs to nearby doors

flashers + + + + +

+

List of weakrefs to nearby flashers

+ + + diff --git a/obj/machinery/doppler_array.html b/obj/machinery/doppler_array.html new file mode 100644 index 000000000000..8da9cf047399 --- /dev/null +++ b/obj/machinery/doppler_array.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/doppler_array - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

doppler_array + + + +

+ + + + + + + +

Vars

inserted_driveReference to a drive we are going to print to.
record_numberNumber which will be part of the name of the next record, increased by one for each already created record
recordsList of all explosion records in the form of /datum/data/tachyon_record

Procs

ExitedWe rely on exited to clear references.
printPrinting of a record into a disk.
sense_explosionSensing, recording, and broadcasting of explosion
+

Var Details

inserted_drive + + + + +

+

Reference to a drive we are going to print to.

record_number + + + + +

+

Number which will be part of the name of the next record, increased by one for each already created record

records + + + + +

+

List of all explosion records in the form of /datum/data/tachyon_record

Proc Details

Exited +

+

We rely on exited to clear references.

print +

+

Printing of a record into a disk.

sense_explosion +

+

Sensing, recording, and broadcasting of explosion

+ + + diff --git a/obj/machinery/ecto_sniffer.html b/obj/machinery/ecto_sniffer.html new file mode 100644 index 000000000000..48607c1eb71c --- /dev/null +++ b/obj/machinery/ecto_sniffer.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/ecto_sniffer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ecto_sniffer + + + +

+ + + + + +

Vars

ectoplasmic_residuesList of ckeys containing players who have recently activated the device, players on this list are prohibited from activating the device untill their residue decays.
ondetermines if the device if the power switch is turned on or off. Useful if the ghosts are too annoying.
sensor_enabledIf this var set to false the ghosts will not be able interact with the machine, say if the machine is silently disabled by cutting the internal wire.

Procs

clear_residueRemoves the ghost from the ectoplasmic_residues list and lets them know they are free to activate the sniffer again.
+

Var Details

ectoplasmic_residues + + + + +

+

List of ckeys containing players who have recently activated the device, players on this list are prohibited from activating the device untill their residue decays.

on + + + + +

+

determines if the device if the power switch is turned on or off. Useful if the ghosts are too annoying.

sensor_enabled + + + + +

+

If this var set to false the ghosts will not be able interact with the machine, say if the machine is silently disabled by cutting the internal wire.

Proc Details

clear_residue +

+

Removes the ghost from the ectoplasmic_residues list and lets them know they are free to activate the sniffer again.

+ + + diff --git a/obj/machinery/exodrone_launcher.html b/obj/machinery/exodrone_launcher.html new file mode 100644 index 000000000000..56cb6ad67183 --- /dev/null +++ b/obj/machinery/exodrone_launcher.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/exodrone_launcher - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

exodrone_launcher + + + +

+ +

Exploration drone launcher

+

Vars

fuel_canisterLoaded fuel pellet.
+

Var Details

fuel_canister + + + + +

+

Loaded fuel pellet.

+ + + diff --git a/obj/machinery/fax_machine.html b/obj/machinery/fax_machine.html new file mode 100644 index 000000000000..6b1dbca6aab2 --- /dev/null +++ b/obj/machinery/fax_machine.html @@ -0,0 +1,113 @@ + + + + + + + /obj/machinery/fax_machine - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

fax_machine + + + +

+ +

Fax machine. Sends messages, receives messages, sends paperwork, receives paperwork.

+ + + + + + + + + + + +

Vars

can_receive_paperworkWhether this fax machine can receive paperwork to process on SSeconomy ticks.
fax_cooldownCooldown between sending faxes
lockedWhether this fax machine is locked.
max_paperworkMax amount of paperwork we can hold. Any more and the UI gets less readable.
received_paperThe paper received that was sent FROM admins. Reference to something in our contents.
received_paperworkList of all paperwork we have in this fax machine. List of references to things in our contents.
receiving_enabledWhether this machine can receive faxes
room_tagThe area string this fax machine is set to.
sending_enabledWhether this machine can send faxes
stored_paperThe paper stored that we can send to admins. Reference to something in our contents.
unread_messageWhether we have an unread message

Procs

emag_actSends messages to the syndicate when emagged.
+

Var Details

can_receive_paperwork + + + + +

+

Whether this fax machine can receive paperwork to process on SSeconomy ticks.

fax_cooldown + + + + +

+

Cooldown between sending faxes

locked + + + + +

+

Whether this fax machine is locked.

max_paperwork + + + + +

+

Max amount of paperwork we can hold. Any more and the UI gets less readable.

received_paper + + + + +

+

The paper received that was sent FROM admins. Reference to something in our contents.

received_paperwork + + + + +

+

List of all paperwork we have in this fax machine. List of references to things in our contents.

receiving_enabled + + + + +

+

Whether this machine can receive faxes

room_tag + + + + +

+

The area string this fax machine is set to.

sending_enabled + + + + +

+

Whether this machine can send faxes

stored_paper + + + + +

+

The paper stored that we can send to admins. Reference to something in our contents.

unread_message + + + + +

+

Whether we have an unread message

Proc Details

emag_act +

+

Sends messages to the syndicate when emagged.

+ + + diff --git a/obj/machinery/field.html b/obj/machinery/field.html new file mode 100644 index 000000000000..21a203148527 --- /dev/null +++ b/obj/machinery/field.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/field - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

field + + + +

+ + +

Vars

has_shockedUsed to add a delay between shocks. In some cases this used to crash servers by spawning hundreds of sparks every second.
+

Var Details

has_shocked + + + + +

+

Used to add a delay between shocks. In some cases this used to crash servers by spawning hundreds of sparks every second.

+ + + diff --git a/obj/machinery/field/containment.html b/obj/machinery/field/containment.html new file mode 100644 index 000000000000..f882b6c0b321 --- /dev/null +++ b/obj/machinery/field/containment.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/field/containment - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

containment + + + +

+ + + +

Vars

field_gen_1First of the generators producing the containment field
field_gen_2Second of the generators producing the containment field
+

Var Details

field_gen_1 + + + + +

+

First of the generators producing the containment field

field_gen_2 + + + + +

+

Second of the generators producing the containment field

+ + + diff --git a/obj/machinery/field/generator.html b/obj/machinery/field/generator.html new file mode 100644 index 000000000000..e60e2dfd4ada --- /dev/null +++ b/obj/machinery/field/generator.html @@ -0,0 +1,96 @@ + + + + + + + /obj/machinery/field/generator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

generator + + + +

+ + + + + + + + + + +

Vars

activeCurrent power mode of the machine, between FG_OFFLINE, FG_CHARGING, FG_ONLINE
clean_upCheck for asynk cleanups for this and the connected gens
connected_gensList of every field generators connected to this one
fieldsList of every containment fields connected to this generator
powerCurrent amount of power
power_levelAmount of energy stored, used for visual overlays (over 9000?)
stateCurrent state of the machine, between FG_UNSECURED, FG_SECURED, FG_WELDED
warming_upTimer between 0 and 3 before the field gets made

Procs

check_power_levelThe power level is displayed using overlays. The current displayed power level is stored in 'powerlevel'. +The overlay in use and the powerlevel variable must be kept in sync. A powerlevel equal to 0 means that +no power level overlay is currently in the overlays list.
+

Var Details

active + + + + +

+

Current power mode of the machine, between FG_OFFLINE, FG_CHARGING, FG_ONLINE

clean_up + + + + +

+

Check for asynk cleanups for this and the connected gens

connected_gens + + + + +

+

List of every field generators connected to this one

fields + + + + +

+

List of every containment fields connected to this generator

power + + + + +

+

Current amount of power

power_level + + + + +

+

Amount of energy stored, used for visual overlays (over 9000?)

state + + + + +

+

Current state of the machine, between FG_UNSECURED, FG_SECURED, FG_WELDED

warming_up + + + + +

+

Timer between 0 and 3 before the field gets made

Proc Details

check_power_level +

+

The power level is displayed using overlays. The current displayed power level is stored in 'powerlevel'. +The overlay in use and the powerlevel variable must be kept in sync. A powerlevel equal to 0 means that +no power level overlay is currently in the overlays list.

+ + + diff --git a/obj/machinery/firealarm.html b/obj/machinery/firealarm.html new file mode 100644 index 000000000000..661c36b29187 --- /dev/null +++ b/obj/machinery/firealarm.html @@ -0,0 +1,91 @@ + + + + + + + /obj/machinery/firealarm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

firealarm + + + +

+ + + + + + + + +

Vars

alert_typeThe current alarm state
buildstageBuildstate for contruction steps. 2 = complete, 1 = no wires, 0 = circuit gone
my_areaOur home area, set in Init. Due to loading step order, this seems to be null very early in the server setup process, which is why some procs use my_area? for var or list checks.
radial_choicesRadial menu choice cache

Procs

alarmSounds the fire alarm and closes all firelocks in the area. Also tells the area to color the lights red.
check_security_levelSignal handler for checking if we should update fire alarm appearance accordingly to a newly set security level
resetResets all firelocks in the area. Also tells the area to disable alarm lighting, if it was enabled.
+

Var Details

alert_type + + + + +

+

The current alarm state

buildstage + + + + +

+

Buildstate for contruction steps. 2 = complete, 1 = no wires, 0 = circuit gone

my_area + + + + +

+

Our home area, set in Init. Due to loading step order, this seems to be null very early in the server setup process, which is why some procs use my_area? for var or list checks.

radial_choices + + + + +

+

Radial menu choice cache

Proc Details

alarm +

+

Sounds the fire alarm and closes all firelocks in the area. Also tells the area to color the lights red.

+

Arguments:

+

check_security_level +

+

Signal handler for checking if we should update fire alarm appearance accordingly to a newly set security level

+

Arguments:

+

reset +

+

Resets all firelocks in the area. Also tells the area to disable alarm lighting, if it was enabled.

+

Arguments:

+
+ + + diff --git a/obj/machinery/flasher/portable.html b/obj/machinery/flasher/portable.html new file mode 100644 index 000000000000..9dedb1c961a9 --- /dev/null +++ b/obj/machinery/flasher/portable.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/flasher/portable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

portable + + + +

+ + +

Vars

proximity_monitorProximity monitor associated with this atom, needed for proximity checks.
+

Var Details

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, needed for proximity checks.

+ + + diff --git a/obj/machinery/gateway.html b/obj/machinery/gateway.html new file mode 100644 index 000000000000..08a296f1323b --- /dev/null +++ b/obj/machinery/gateway.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/gateway - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

gateway + + + +

+ + + + + + + + +

Vars

destinationThis is our own destination, pointing at this gateway
destination_nameName of the generated destination
destination_typeType of instanced gateway destination, needs to be subtype of /datum/gateway_destination/gateway
light_overlayOverlay of the lights. They light up fully when it charges fully.
portalbumper object, the thing that starts actual teleport
portal_visualsVisual object for handling the viscontents
targetThis is current active destination
+

Var Details

destination + + + + +

+

This is our own destination, pointing at this gateway

destination_name + + + + +

+

Name of the generated destination

destination_type + + + + +

+

Type of instanced gateway destination, needs to be subtype of /datum/gateway_destination/gateway

light_overlay + + + + +

+

Overlay of the lights. They light up fully when it charges fully.

portal + + + + +

+

bumper object, the thing that starts actual teleport

portal_visuals + + + + +

+

Visual object for handling the viscontents

target + + + + +

+

This is current active destination

+ + + diff --git a/obj/machinery/gravity_generator/main.html b/obj/machinery/gravity_generator/main.html new file mode 100644 index 000000000000..9dfdba06da73 --- /dev/null +++ b/obj/machinery/gravity_generator/main.html @@ -0,0 +1,114 @@ + + + + + + + /obj/machinery/gravity_generator/main - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

main + + + +

+ +

Main gravity generator

+

The actual gravity generator, that actually holds the UI, contains the grav gen parts, ect.

+ + + + + + + + + + + +

Vars

breakerIf the main breaker is on/off, to enable/disable gravity.
broken_stateWhen broken, what stage it is at (GRAV_NEEDS_SCREWDRIVER:0) (GRAV_NEEDS_WELDING:1) (GRAV_NEEDS_PLASTEEL:2) (GRAV_NEEDS_WRENCH:3)
center_partThe gravity generator part in the very center, the fifth one, where we place the overlays.
charge_countHow much charge the gravity generator has, goes down when breaker is shut, and shuts down at 0.
charging_stateIf the generatir os idle, charging, or down.
current_overlayThe gravity overlay currently used.
generator_partsList of all gravity generator parts
gravity_fieldThe gravity field created by the generator.
onWhether the gravity generator is currently active.
settingGravity value when on, honestly I don't know why it does it like this, but it does.
soundloopAudio for when the gravgen is on

Procs

shake_everyoneShake everyone on the z level to let them know that gravity was enagaged/disengaged.
+

Var Details

breaker + + + + +

+

If the main breaker is on/off, to enable/disable gravity.

broken_state + + + + +

+

When broken, what stage it is at (GRAV_NEEDS_SCREWDRIVER:0) (GRAV_NEEDS_WELDING:1) (GRAV_NEEDS_PLASTEEL:2) (GRAV_NEEDS_WRENCH:3)

center_part + + + + +

+

The gravity generator part in the very center, the fifth one, where we place the overlays.

charge_count + + + + +

+

How much charge the gravity generator has, goes down when breaker is shut, and shuts down at 0.

charging_state + + + + +

+

If the generatir os idle, charging, or down.

current_overlay + + + + +

+

The gravity overlay currently used.

generator_parts + + + + +

+

List of all gravity generator parts

gravity_field + + + + +

+

The gravity field created by the generator.

on + + + + +

+

Whether the gravity generator is currently active.

setting + + + + +

+

Gravity value when on, honestly I don't know why it does it like this, but it does.

soundloop + + + + +

+

Audio for when the gravgen is on

Proc Details

shake_everyone +

+

Shake everyone on the z level to let them know that gravity was enagaged/disengaged.

+ + + diff --git a/obj/machinery/gravity_generator/part.html b/obj/machinery/gravity_generator/part.html new file mode 100644 index 000000000000..10cff2da4c49 --- /dev/null +++ b/obj/machinery/gravity_generator/part.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/gravity_generator/part - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

part + + + +

+ +

Generator part

+

Parts of the gravity generator used to have a proper sprite.

+

Procs

on_update_iconUsed to eat args

Proc Details

on_update_icon +

+

Used to eat args

+ + + diff --git a/obj/machinery/griddle.html b/obj/machinery/griddle.html new file mode 100644 index 000000000000..9fc354ef52b2 --- /dev/null +++ b/obj/machinery/griddle.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/griddle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

griddle + + + +

+ + + + + + +

Vars

griddled_objectsThings that are being griddled right now
grill_loopLooping sound for the grill
max_itemsHow many shit fits on the griddle?
onWhether or not the machine is turned on right now
variantWhat variant of griddle is this?
+

Var Details

griddled_objects + + + + +

+

Things that are being griddled right now

grill_loop + + + + +

+

Looping sound for the grill

max_items + + + + +

+

How many shit fits on the griddle?

on + + + + +

+

Whether or not the machine is turned on right now

variant + + + + +

+

What variant of griddle is this?

+ + + diff --git a/obj/machinery/grill.html b/obj/machinery/grill.html new file mode 100644 index 000000000000..12f8908012e0 --- /dev/null +++ b/obj/machinery/grill.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/grill - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

grill + + + +

+ + +

Procs

GrillCompletedCalled when a food is transformed by the grillable component

Proc Details

GrillCompleted +

+

Called when a food is transformed by the grillable component

+ + + diff --git a/obj/machinery/holomap.html b/obj/machinery/holomap.html new file mode 100644 index 000000000000..766961ec8b9c --- /dev/null +++ b/obj/machinery/holomap.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/holomap - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

holomap + + + +

+ + + + +

Vars

bogusIs TRUE if this was built on a z level that doesn't have a map.
initial_zThe original Z of this map. Aka, what map were going to display.

Procs

setup_holomapSets up the actual holomap datum.
+

Var Details

bogus + + + + +

+

Is TRUE if this was built on a z level that doesn't have a map.

initial_z + + + + +

+

The original Z of this map. Aka, what map were going to display.

Proc Details

setup_holomap +

+

Sets up the actual holomap datum.

+ + + diff --git a/obj/machinery/holopad.html b/obj/machinery/holopad.html new file mode 100644 index 000000000000..e3431c1cac7d --- /dev/null +++ b/obj/machinery/holopad.html @@ -0,0 +1,198 @@ + + + + + + + /obj/machinery/holopad - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

holopad + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

callingIf we are currently calling another holopad
can_hear_flagsbitfield. used to turn on and off hearing sensitivity depending on if we can act on Hear() at all - meant for lowering the number of unessesary hearable atoms
diskRecord disk
force_answer_callCalls will be automatically answered after a couple rings, here for debugging
holo_callsArray of /datum/holocalls that are calling US. this is only filled for holopads answering calls from another holopad
holo_rangeChange to change how far the AI can move away from the holopad before deactivating
holoraysHoloray-mob link
last_requestTo prevent request spam. ~Carn
loop_modeCurrently looping a recording
mastersassociative lazylist of the form: list(mob calling us = hologram representing that mob). +this is only populated for holopads answering calls from another holopad
outgoing_callCurrently outgoing holocall, cannot call any other holopads unless this is null. +creating a new holocall from us to another holopad sets this var to that holocall datum
record_modeCurrently recording
record_startRecording start time
record_userUser that inititiated the recording
replay_holoReplay hologram
replay_modeCurrently replaying a recording
secureFor pads in secure areas; do not allow forced connecting

Procs

callee_hung_upCalled by holocall to inform outgoing_call that the call is terminated.
callee_picked_upCalled by holocall to inform outgoing_call that the receiver picked up.
hangup_all_callshangup_all_calls: Disconnects all current holocalls from the holopad
set_can_hear_flagssetter for can_hear_flags. handles adding or removing the given flag on can_hear_flags and then adding hearing sensitivity or removing it depending on the final state +this is necessary because holopads are a significant fraction of the hearable atoms on station which increases the cost of procs that iterate through hearables +so we need holopads to not be hearable until it is needed
set_holocallsetter for adding/removing holocalls to this holopad. used to update the holo_calls list and can_hear_flags +adds the given holocall if add_holocall is TRUE, removes if FALSE
+

Var Details

calling + + + + +

+

If we are currently calling another holopad

can_hear_flags + + + + +

+

bitfield. used to turn on and off hearing sensitivity depending on if we can act on Hear() at all - meant for lowering the number of unessesary hearable atoms

disk + + + + +

+

Record disk

force_answer_call + + + + +

+

Calls will be automatically answered after a couple rings, here for debugging

holo_calls + + + + +

+

Array of /datum/holocalls that are calling US. this is only filled for holopads answering calls from another holopad

holo_range + + + + +

+

Change to change how far the AI can move away from the holopad before deactivating

holorays + + + + +

+

Holoray-mob link

last_request + + + + +

+

To prevent request spam. ~Carn

loop_mode + + + + +

+

Currently looping a recording

masters + + + + +

+

associative lazylist of the form: list(mob calling us = hologram representing that mob). +this is only populated for holopads answering calls from another holopad

outgoing_call + + + + +

+

Currently outgoing holocall, cannot call any other holopads unless this is null. +creating a new holocall from us to another holopad sets this var to that holocall datum

record_mode + + + + +

+

Currently recording

record_start + + + + +

+

Recording start time

record_user + + + + +

+

User that inititiated the recording

replay_holo + + + + +

+

Replay hologram

replay_mode + + + + +

+

Currently replaying a recording

secure + + + + +

+

For pads in secure areas; do not allow forced connecting

Proc Details

callee_hung_up +

+

Called by holocall to inform outgoing_call that the call is terminated.

callee_picked_up +

+

Called by holocall to inform outgoing_call that the receiver picked up.

hangup_all_calls +

+

hangup_all_calls: Disconnects all current holocalls from the holopad

set_can_hear_flags +

+

setter for can_hear_flags. handles adding or removing the given flag on can_hear_flags and then adding hearing sensitivity or removing it depending on the final state +this is necessary because holopads are a significant fraction of the hearable atoms on station which increases the cost of procs that iterate through hearables +so we need holopads to not be hearable until it is needed

+

set_holocall +

+

setter for adding/removing holocalls to this holopad. used to update the holo_calls list and can_hear_flags +adds the given holocall if add_holocall is TRUE, removes if FALSE

+ + + diff --git a/obj/machinery/holopad/tutorial.html b/obj/machinery/holopad/tutorial.html new file mode 100644 index 000000000000..051fafe75de3 --- /dev/null +++ b/obj/machinery/holopad/tutorial.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/holopad/tutorial - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tutorial + + + +

+ + +

Vars

proximity_monitorProximity monitor associated with this atom, needed for proximity checks.
+

Var Details

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, needed for proximity checks.

+ + + diff --git a/obj/machinery/hydroponics.html b/obj/machinery/hydroponics.html new file mode 100644 index 000000000000..595880e7a224 --- /dev/null +++ b/obj/machinery/hydroponics.html @@ -0,0 +1,330 @@ + + + + + + + /obj/machinery/hydroponics - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

hydroponics + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

ageCurrent age
cycledelayAbout 10 seconds / cycle
lastcycleUsed for timing of cycles.
lastproduceLast time it was harvested
lastuserThe last user to add a reagent to the tray, mostly for logging purposes.
maxnutriThe maximum nutrient reagent container size of the tray.
maxwaterThe maximum amount of water in the tray
mutmodNutriment's effect on mutations
myseedThe currently planted seed
nutridrainHow many units of nutrients will be drained in the tray.
pestlevelThe amount of pests in the tray (max 10)
plant_healthIts health
plant_statusThe status of the plant in the tray. Whether it's harvestable, alive, missing or dead.
ratingObtained from the quality of the parts used in the tray, determines nutrient drain rate.
recent_bee_visitHave we been visited by a bee recently, so bees dont overpollinate one plant
self_sustainingIf the tray generates nutrients and water on its own
self_sustaining_overlay_icon_stateThe icon state for the overlay used to represent that this tray is self-sustaining.
toxicToxicity in the tray?
unwrenchableCan it be unwrenched to move?
waterlevelThe amount of water in the tray (max 100)
weedlevelThe amount of weeds in the tray (max 10)
yieldmodNutriment's effect on yield

Procs

adjust_pestlevelAdjust Pests. +Raises the tray's pest level stat by a given amount.
adjust_plant_healthAdjust Health. +Raises the tray's plant_health stat by a given amount, with total health determined by the seed's endurance.
adjust_toxicAdjust toxicity. +Raises the plant's toxic stat by a given amount.
adjust_waterlevelAdjust water. +Raises or lowers tray water values by a set value. Adding water will dillute toxicity from the tray.
adjust_weedlevelAdjust Weeds. +Raises the plant's weed level stat by a given amount.
after_mutationCalled after plant mutation, update the appearance of the tray content and send a visible_message()
apply_chemicalsThis is NOW the gradual affects that each chemical applies on every process() proc. Nutrients now use a more robust reagent holder in order to apply less insane +stat changes as opposed to 271 lines of individual statline effects. Shoutout to the original comments on chems, I just cleaned a few up.
mutation_rollContains the reagents within the tray.
plantdiesPlant Death Proc. +Cleans up various stats for the plant upon death, including pests, harvestability, and plant health.
pollinatePlant Cross-Pollination. +Checks all plants in the tray's oview range, then averages out the seed's potency, instability, and yield values. +If the seed's instability is >= 20, the seed donates one of it's reagents to that nearby plant.
set_seedSets a new value for the myseed variable, which is the seed of the plant that's growing inside the tray.
spawnplantSpawn Plant. +Upon using strange reagent on a tray, it will spawn a killer tomato or killer tree at random.
update_trayUpdate Tray Proc +Handles plant harvesting on the tray side, by clearing the sead, names, description, and dead stat. +Shuts off autogrow if enabled. +Sends messages to the cleaer about plants harvested, or if nothing was harvested at all.
weedinvasionWhat happens when a tray's weeds grow too large. +Plants a new weed in an empty tray, then resets the tray.
+

Var Details

age + + + + +

+

Current age

cycledelay + + + + +

+

About 10 seconds / cycle

lastcycle + + + + +

+

Used for timing of cycles.

lastproduce + + + + +

+

Last time it was harvested

lastuser + + + + +

+

The last user to add a reagent to the tray, mostly for logging purposes.

maxnutri + + + + +

+

The maximum nutrient reagent container size of the tray.

maxwater + + + + +

+

The maximum amount of water in the tray

mutmod + + + + +

+

Nutriment's effect on mutations

myseed + + + + +

+

The currently planted seed

nutridrain + + + + +

+

How many units of nutrients will be drained in the tray.

pestlevel + + + + +

+

The amount of pests in the tray (max 10)

plant_health + + + + +

+

Its health

plant_status + + + + +

+

The status of the plant in the tray. Whether it's harvestable, alive, missing or dead.

rating + + + + +

+

Obtained from the quality of the parts used in the tray, determines nutrient drain rate.

recent_bee_visit + + + + +

+

Have we been visited by a bee recently, so bees dont overpollinate one plant

self_sustaining + + + + +

+

If the tray generates nutrients and water on its own

self_sustaining_overlay_icon_state + + + + +

+

The icon state for the overlay used to represent that this tray is self-sustaining.

toxic + + + + +

+

Toxicity in the tray?

unwrenchable + + + + +

+

Can it be unwrenched to move?

waterlevel + + + + +

+

The amount of water in the tray (max 100)

weedlevel + + + + +

+

The amount of weeds in the tray (max 10)

yieldmod + + + + +

+

Nutriment's effect on yield

Proc Details

adjust_pestlevel +

+

Adjust Pests. +Raises the tray's pest level stat by a given amount.

+

adjust_plant_health +

+

Adjust Health. +Raises the tray's plant_health stat by a given amount, with total health determined by the seed's endurance.

+

adjust_toxic +

+

Adjust toxicity. +Raises the plant's toxic stat by a given amount.

+

adjust_waterlevel +

+

Adjust water. +Raises or lowers tray water values by a set value. Adding water will dillute toxicity from the tray.

+

adjust_weedlevel +

+

Adjust Weeds. +Raises the plant's weed level stat by a given amount.

+

after_mutation +

+

Called after plant mutation, update the appearance of the tray content and send a visible_message()

apply_chemicals +

+

This is NOW the gradual affects that each chemical applies on every process() proc. Nutrients now use a more robust reagent holder in order to apply less insane +stat changes as opposed to 271 lines of individual statline effects. Shoutout to the original comments on chems, I just cleaned a few up.

mutation_roll +

+

Contains the reagents within the tray.

plantdies +

+

Plant Death Proc. +Cleans up various stats for the plant upon death, including pests, harvestability, and plant health.

pollinate +

+

Plant Cross-Pollination. +Checks all plants in the tray's oview range, then averages out the seed's potency, instability, and yield values. +If the seed's instability is >= 20, the seed donates one of it's reagents to that nearby plant.

+

set_seed +

+

Sets a new value for the myseed variable, which is the seed of the plant that's growing inside the tray.

spawnplant +

+

Spawn Plant. +Upon using strange reagent on a tray, it will spawn a killer tomato or killer tree at random.

update_tray +

+

Update Tray Proc +Handles plant harvesting on the tray side, by clearing the sead, names, description, and dead stat. +Shuts off autogrow if enabled. +Sends messages to the cleaer about plants harvested, or if nothing was harvested at all.

+

weedinvasion +

+

What happens when a tray's weeds grow too large. +Plants a new weed in an empty tray, then resets the tray.

+ + + diff --git a/obj/machinery/hypnochair.html b/obj/machinery/hypnochair.html new file mode 100644 index 000000000000..992691c7026c --- /dev/null +++ b/obj/machinery/hypnochair.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/hypnochair - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

hypnochair + + + +

+ + + + + + + +

Vars

interrogatingKeeps track of the victim to apply effects if it teleports away
message_cooldownTimer ID for interrogations
start_timeIs the device currently interrogating someone?
timeridTrigger phrase to implant
trigger_phraseTime when the interrogation was started, to calculate effect in case of interruption

Procs

InitializeCooldown for breakout message
+

Var Details

interrogating + + + + +

+

Keeps track of the victim to apply effects if it teleports away

message_cooldown + + + + +

+

Timer ID for interrogations

start_time + + + + +

+

Is the device currently interrogating someone?

timerid + + + + +

+

Trigger phrase to implant

trigger_phrase + + + + +

+

Time when the interrogation was started, to calculate effect in case of interruption

Proc Details

Initialize +

+

Cooldown for breakout message

+ + + diff --git a/obj/machinery/icecream_vat.html b/obj/machinery/icecream_vat.html new file mode 100644 index 000000000000..8e11f5fc1c3a --- /dev/null +++ b/obj/machinery/icecream_vat.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/icecream_vat - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

icecream_vat + + + +

+ + +

Vars

cone_prototypesList of prototypes of dispensable ice cream cones. path as key, instance as assoc.
+

Var Details

cone_prototypes + + + + +

+

List of prototypes of dispensable ice cream cones. path as key, instance as assoc.

+ + + diff --git a/obj/machinery/iv_drip.html b/obj/machinery/iv_drip.html new file mode 100644 index 000000000000..53bcae7b9e3e --- /dev/null +++ b/obj/machinery/iv_drip.html @@ -0,0 +1,92 @@ + + + + + + + /obj/machinery/iv_drip - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

iv_drip + + + +

+ +

Universal IV that can drain blood or feed reagents over a period of time from or to a replaceable container

+ + + + + + + + +

Vars

attachedWho are we sticking our needle in?
drip_containersTypecache of containers we accept
internal_storage_volumeIf use_internal_storage is true, this is the created volume of the container
modeAre we donating or injecting?
reagent_containerInternal beaker
transfer_ratewhether we feed slower
use_internal_storageSet false to block beaker use and instead use an internal reagent holder

Procs

attach_ivcalled when an IV is attached
detach_ivCalled when an iv is detached. doesnt include chat stuff because there's multiple options and its better handled by the caller
+

Var Details

attached + + + + +

+

Who are we sticking our needle in?

drip_containers + + + + +

+

Typecache of containers we accept

internal_storage_volume + + + + +

+

If use_internal_storage is true, this is the created volume of the container

mode + + + + +

+

Are we donating or injecting?

reagent_container + + + + +

+

Internal beaker

transfer_rate + + + + +

+

whether we feed slower

use_internal_storage + + + + +

+

Set false to block beaker use and instead use an internal reagent holder

Proc Details

attach_iv +

+

called when an IV is attached

detach_iv +

+

Called when an iv is detached. doesnt include chat stuff because there's multiple options and its better handled by the caller

+ + + diff --git a/obj/machinery/jukebox.html b/obj/machinery/jukebox.html new file mode 100644 index 000000000000..b40d0eec7da1 --- /dev/null +++ b/obj/machinery/jukebox.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/jukebox - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

jukebox + + + +

+ + + + +

Vars

hearersA k:v list of weakref:status, either LISTENER_HEARING or LISTENER_MUTED
updating_volumePrevents huge network overhead from the TGUI dial
volumeVolume of the songs played
+

Var Details

hearers + + + + +

+

A k:v list of weakref:status, either LISTENER_HEARING or LISTENER_MUTED

updating_volume + + + + +

+

Prevents huge network overhead from the TGUI dial

volume + + + + +

+

Volume of the songs played

+ + + diff --git a/obj/machinery/launchpad.html b/obj/machinery/launchpad.html new file mode 100644 index 000000000000..f240209703af --- /dev/null +++ b/obj/machinery/launchpad.html @@ -0,0 +1,54 @@ + + + + + + + /obj/machinery/launchpad - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

launchpad + + + +

+ + + + +

Vars

hiddenDetermines if the bluespace launchpad is blatantly obvious on teleportation.
teleport_beamThe beam on teleportation

Procs

doteleportPerforms the teleport. +sending - TRUE/FALSE depending on if the launch pad is teleporting to or from the target. +alternate_log_name - An alternative name to use in logs, if user is not present..
+

Var Details

hidden + + + + +

+

Determines if the bluespace launchpad is blatantly obvious on teleportation.

teleport_beam + + + + +

+

The beam on teleportation

Proc Details

doteleport +

+

Performs the teleport. +sending - TRUE/FALSE depending on if the launch pad is teleporting to or from the target. +alternate_log_name - An alternative name to use in logs, if user is not present..

+ + + diff --git a/obj/machinery/libraryscanner.html b/obj/machinery/libraryscanner.html new file mode 100644 index 000000000000..a9bb16aa676c --- /dev/null +++ b/obj/machinery/libraryscanner.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/libraryscanner - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

libraryscanner + + + +

+ + +

Vars

cacheOur scanned-in book
+

Var Details

cache + + + + +

+

Our scanned-in book

+ + + diff --git a/obj/machinery/light.html b/obj/machinery/light.html new file mode 100644 index 000000000000..f9e8cd0cae46 --- /dev/null +++ b/obj/machinery/light.html @@ -0,0 +1,246 @@ + + + + + + + /obj/machinery/light - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

light + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

base_statebase description and icon_state
bulb_colourDefault colour of the light.
bulb_emergency_brightness_mulMultiplier for this light's base brightness in emergency power mode
bulb_emergency_colourDetermines the colour of the light while it's in emergency mode
bulb_emergency_pow_minThe minimum value for the light's power in emergency mode
bulb_emergency_pow_mulThe multiplier for determining the light's power in emergency mode
bulb_falloffThe falloff of the emitted light. Adjust until it looks good.
bulb_inner_rangeThe inner radius of the bulb's light, where it is at maximum brightness
bulb_outer_rangeThe outer radius of the light's... light.
bulb_powerBasically the alpha of the emitted light source
cellCell reference
emergency_modeIf true, the light is in emergency mode
fittingString of the light type, used in descriptions and in examine
flickeringShould we flicker?
light_typeThe type of light item
my_areaThe area this thing is in.
nightshift_allowedSet to FALSE to never let this light get switched to night mode.
nightshift_enabledCurrently in night shift mode?
nightshift_inner_rangeInner, brightest radius of the nightshift light
nightshift_light_colorBasecolor of the nightshift light
nightshift_light_powerAlpha of the nightshift light
nightshift_outer_rangeOuter radius of the nightshift light
no_emergencyIf true, this light cannot ever have an emergency mode
onIs the light on?
on_gscompared to the var/on for static calculations
overlay_iconWhat overlay the light should use
riggedTrue if rigged to explode
start_with_cellIf true, this fixture generates a very weak cell at roundstart
static_power_usedAmount of power used
statusLIGHT_OK, _EMPTY, _BURNED or _BROKEN
switchcountCount of number of times switched on/off, this is used to calculate the probability the light burns out
+

Var Details

base_state + + + + +

+

base description and icon_state

bulb_colour + + + + +

+

Default colour of the light.

bulb_emergency_brightness_mul + + + + +

+

Multiplier for this light's base brightness in emergency power mode

bulb_emergency_colour + + + + +

+

Determines the colour of the light while it's in emergency mode

bulb_emergency_pow_min + + + + +

+

The minimum value for the light's power in emergency mode

bulb_emergency_pow_mul + + + + +

+

The multiplier for determining the light's power in emergency mode

bulb_falloff + + + + +

+

The falloff of the emitted light. Adjust until it looks good.

bulb_inner_range + + + + +

+

The inner radius of the bulb's light, where it is at maximum brightness

bulb_outer_range + + + + +

+

The outer radius of the light's... light.

bulb_power + + + + +

+

Basically the alpha of the emitted light source

cell + + + + +

+

Cell reference

emergency_mode + + + + +

+

If true, the light is in emergency mode

fitting + + + + +

+

String of the light type, used in descriptions and in examine

flickering + + + + +

+

Should we flicker?

light_type + + + + +

+

The type of light item

my_area + + + + +

+

The area this thing is in.

nightshift_allowed + + + + +

+

Set to FALSE to never let this light get switched to night mode.

nightshift_enabled + + + + +

+

Currently in night shift mode?

nightshift_inner_range + + + + +

+

Inner, brightest radius of the nightshift light

nightshift_light_color + + + + +

+

Basecolor of the nightshift light

nightshift_light_power + + + + +

+

Alpha of the nightshift light

nightshift_outer_range + + + + +

+

Outer radius of the nightshift light

no_emergency + + + + +

+

If true, this light cannot ever have an emergency mode

on + + + + +

+

Is the light on?

on_gs + + + + +

+

compared to the var/on for static calculations

overlay_icon + + + + +

+

What overlay the light should use

rigged + + + + +

+

True if rigged to explode

start_with_cell + + + + +

+

If true, this fixture generates a very weak cell at roundstart

static_power_used + + + + +

+

Amount of power used

status + + + + +

+

LIGHT_OK, _EMPTY, _BURNED or _BROKEN

switchcount + + + + +

+

Count of number of times switched on/off, this is used to calculate the probability the light burns out

+ + + diff --git a/obj/machinery/light_switch.html b/obj/machinery/light_switch.html new file mode 100644 index 000000000000..62ab3d4dac3b --- /dev/null +++ b/obj/machinery/light_switch.html @@ -0,0 +1,38 @@ + + + + + + + /obj/machinery/light_switch - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

light_switch + + + +

+ + +

Vars

areaSet this to a string, path, or area instance to control that area +instead of the switch's location.
+

Var Details

area + + + + +

+

Set this to a string, path, or area instance to control that area +instead of the switch's location.

+ + + diff --git a/obj/machinery/limbgrower.html b/obj/machinery/limbgrower.html new file mode 100644 index 000000000000..8b9070349a82 --- /dev/null +++ b/obj/machinery/limbgrower.html @@ -0,0 +1,97 @@ + + + + + + + /obj/machinery/limbgrower - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

limbgrower + + + +

+ +

The limbgrower. Makes organd and limbs with synthflesh and chems. +See [limbgrower_designs.dm] for everything we can make.

+ + + + + + + + +

Vars

being_builtThe design we're printing currently.
busyIf we're currently printing something.
categoriesAll the categories of organs we can print.
production_coefficientHow efficient our machine is. Better parts = less chemicals used and less power used. Range of 1 to 0.25.
production_speedHow long it takes for us to print a limb. Affected by production_coefficient.
selected_categoryThe category of limbs we're browing in our UI.

Procs

build_itemAll the reagents we're using to make our organ. +The amount of power we're going to use, based on how much reagent we use.
create_buildpathThe limb we're making with our buildpath, so we can edit it. +Returns a valid limb typepath based on the selected option
emag_actEmagging a limbgrower allows you to build synthetic armblades.
+

Var Details

being_built + + + + +

+

The design we're printing currently.

busy + + + + +

+

If we're currently printing something.

categories + + + + +

+

All the categories of organs we can print.

production_coefficient + + + + +

+

How efficient our machine is. Better parts = less chemicals used and less power used. Range of 1 to 0.25.

production_speed + + + + +

+

How long it takes for us to print a limb. Affected by production_coefficient.

selected_category + + + + +

+

The category of limbs we're browing in our UI.

Proc Details

build_item +

+

All the reagents we're using to make our organ. +The amount of power we're going to use, based on how much reagent we use.

create_buildpath +

+

The limb we're making with our buildpath, so we can edit it. +Returns a valid limb typepath based on the selected option

emag_act +

+

Emagging a limbgrower allows you to build synthetic armblades.

+ + + diff --git a/obj/machinery/ltsrbt.html b/obj/machinery/ltsrbt.html new file mode 100644 index 000000000000..3f4919f1a36e --- /dev/null +++ b/obj/machinery/ltsrbt.html @@ -0,0 +1,92 @@ + + + + + + + /obj/machinery/ltsrbt - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ltsrbt + + + +

+ + + + + + + + + + +

Vars

base_recharge_timeBase recharge time in seconds which is used to get recharge_time.
power_efficiencyDivider for power_usage_per_teleport.
power_usage_per_teleportPower used per teleported which gets divided by power_efficiency.
queueQueue for purchases that the machine should receive and send.
receivingCurrent /datum/market_purchase being received.
recharge_cooldownCurrent recharge progress.
recharge_timeThe time it takes for the machine to recharge before being able to send or receive items.
transmittingCurrent /datum/market_purchase being sent to the target uplink.

Procs

add_to_queueAdds /datum/market_purchase to queue unless the machine is free, then it sets the purchase to be instantly received
+

Var Details

base_recharge_time + + + + +

+

Base recharge time in seconds which is used to get recharge_time.

power_efficiency + + + + +

+

Divider for power_usage_per_teleport.

power_usage_per_teleport + + + + +

+

Power used per teleported which gets divided by power_efficiency.

queue + + + + +

+

Queue for purchases that the machine should receive and send.

receiving + + + + +

+

Current /datum/market_purchase being received.

recharge_cooldown + + + + +

+

Current recharge progress.

recharge_time + + + + +

+

The time it takes for the machine to recharge before being able to send or receive items.

transmitting + + + + +

+

Current /datum/market_purchase being sent to the target uplink.

Proc Details

add_to_queue +

+

Adds /datum/market_purchase to queue unless the machine is free, then it sets the purchase to be instantly received

+ + + diff --git a/obj/machinery/mech_bay_recharge_port.html b/obj/machinery/mech_bay_recharge_port.html new file mode 100644 index 000000000000..88489367ad46 --- /dev/null +++ b/obj/machinery/mech_bay_recharge_port.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/mech_bay_recharge_port - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mech_bay_recharge_port + + + +

+ + + + + +

Vars

recharge_consoleRef to charge console for seeing charge for this port, cyclical reference
recharge_powerPower unit per second to charge by
recharging_mech_refWeakref to currently recharging mech on our recharging_turf
recharging_turfturf that will be checked when a mech wants to charge. directly one turf in the direction it is facing
+

Var Details

recharge_console + + + + +

+

Ref to charge console for seeing charge for this port, cyclical reference

recharge_power + + + + +

+

Power unit per second to charge by

recharging_mech_ref + + + + +

+

Weakref to currently recharging mech on our recharging_turf

recharging_turf + + + + +

+

turf that will be checked when a mech wants to charge. directly one turf in the direction it is facing

+ + + diff --git a/obj/machinery/mechpad.html b/obj/machinery/mechpad.html new file mode 100644 index 000000000000..24f852721504 --- /dev/null +++ b/obj/machinery/mechpad.html @@ -0,0 +1,69 @@ + + + + + + + /obj/machinery/mechpad - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mechpad + + + +

+ + + + + + +

Vars

connected_consoleThe console the pad is linked to
consolesList of consoles that can access the pad
display_nameName of the mechpad in a mechpad console
idID of the console, used for linking up

Procs

launchSpawns a special supply pod whitelisted to only accept mechs and have its drop off location be another mechpad +Arguments:
+

Var Details

connected_console + + + + +

+

The console the pad is linked to

consoles + + + + +

+

List of consoles that can access the pad

display_name + + + + +

+

Name of the mechpad in a mechpad console

id + + + + +

+

ID of the console, used for linking up

Proc Details

launch +

+

Spawns a special supply pod whitelisted to only accept mechs and have its drop off location be another mechpad +Arguments:

+
+ + + diff --git a/obj/machinery/medipen_refiller.html b/obj/machinery/medipen_refiller.html new file mode 100644 index 000000000000..6670b2d6e0d9 --- /dev/null +++ b/obj/machinery/medipen_refiller.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/medipen_refiller - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

medipen_refiller + + + +

+ + + + + +

Vars

allowedlist of medipen subtypes it can refill
busyvar to prevent glitches in the animation

Procs

attackbyhandles the messages and animation, calls refill to end the animation
refillrefills the medipen
+

Var Details

allowed + + + + +

+

list of medipen subtypes it can refill

busy + + + + +

+

var to prevent glitches in the animation

Proc Details

attackby +

+

handles the messages and animation, calls refill to end the animation

refill +

+

refills the medipen

+ + + diff --git a/obj/machinery/meter.html b/obj/machinery/meter.html new file mode 100644 index 000000000000..cf2db1fb47fb --- /dev/null +++ b/obj/machinery/meter.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/meter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

meter + + + +

+ + + +

Vars

targetThe pipe we are attaching to
target_layerThe piping layer of the target
+

Var Details

target + + + + +

+

The pipe we are attaching to

target_layer + + + + +

+

The piping layer of the target

+ + + diff --git a/obj/machinery/meter/monitored.html b/obj/machinery/meter/monitored.html new file mode 100644 index 000000000000..42b94c5cd8e4 --- /dev/null +++ b/obj/machinery/meter/monitored.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/meter/monitored - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

monitored + + + +

+ + +

Vars

chamber_idThe unique string that represents which atmos chamber to associate with.
+

Var Details

chamber_id + + + + +

+

The unique string that represents which atmos chamber to associate with.

+ + + diff --git a/obj/machinery/mineral.html b/obj/machinery/mineral.html new file mode 100644 index 000000000000..78da67cda26d --- /dev/null +++ b/obj/machinery/mineral.html @@ -0,0 +1,92 @@ + + + + + + + /obj/machinery/mineral - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mineral + + + +

+ +

Mineral processing unit console

+ + + + + + + +

Vars

input_dirThe current direction of input_turf, in relation to the machine.
input_turfThe turf the machines listens to for items to pick up. Calls the pickup_item() proc.
needs_item_inputDetermines if this machine needs to pick up items. Used to avoid registering signals to /mineral machines that don't pickup items.
output_dirThe current direction, in relation to the machine, that items will be output to.

Procs

pickup_itemBase proc for all /mineral subtype machines to use. Place your item pickup behavior in this proc when you override it for your specific machine.
register_input_turfGets the turf in the input_dir direction adjacent to the machine, and registers signals for ATOM_ENTERED and ATOM_CREATED. Calls the pickup_item() proc when it receives these signals.
unload_mineralGeneric unloading proc. Takes an atom as an argument and forceMove's it to the turf adjacent to this machine in the output_dir direction.
unregister_input_turfUnregisters signals that are registered the machine's input turf, if it has one.
+

Var Details

input_dir + + + + +

+

The current direction of input_turf, in relation to the machine.

input_turf + + + + +

+

The turf the machines listens to for items to pick up. Calls the pickup_item() proc.

needs_item_input + + + + +

+

Determines if this machine needs to pick up items. Used to avoid registering signals to /mineral machines that don't pickup items.

output_dir + + + + +

+

The current direction, in relation to the machine, that items will be output to.

Proc Details

pickup_item +

+

Base proc for all /mineral subtype machines to use. Place your item pickup behavior in this proc when you override it for your specific machine.

+

Called when the COMSIG_ATOM_ENTERED signal is sent.

+

Arguments:

+

register_input_turf +

+

Gets the turf in the input_dir direction adjacent to the machine, and registers signals for ATOM_ENTERED and ATOM_CREATED. Calls the pickup_item() proc when it receives these signals.

unload_mineral +

+

Generic unloading proc. Takes an atom as an argument and forceMove's it to the turf adjacent to this machine in the output_dir direction.

unregister_input_turf +

+

Unregisters signals that are registered the machine's input turf, if it has one.

+ + + diff --git a/obj/machinery/mineral/labor_claim_console.html b/obj/machinery/mineral/labor_claim_console.html new file mode 100644 index 000000000000..c5324584e0fc --- /dev/null +++ b/obj/machinery/mineral/labor_claim_console.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/mineral/labor_claim_console - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

labor_claim_console + + + +

+ +

Prisoners' Console

+ + +

Vars

RadioNeeded to send messages to sec radio
machinedirDirection of the stacking machine
stacking_machineConnected stacking machine
+

Var Details

Radio + + + + +

+

Needed to send messages to sec radio

machinedir + + + + +

+

Direction of the stacking machine

stacking_machine + + + + +

+

Connected stacking machine

+ + + diff --git a/obj/machinery/mineral/ore_redemption.html b/obj/machinery/mineral/ore_redemption.html new file mode 100644 index 000000000000..0e1db73e2196 --- /dev/null +++ b/obj/machinery/mineral/ore_redemption.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/mineral/ore_redemption - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ore_redemption + + + +

+ +

Ore Redemption Unit

+

Vars

console_notify_timerVariable that holds a timer which is used for callbacks to send_console_message(). Used for preventing multiple calls to this proc while the ORM is eating a stack of ores.
+

Var Details

console_notify_timer + + + + +

+

Variable that holds a timer which is used for callbacks to send_console_message(). Used for preventing multiple calls to this proc while the ORM is eating a stack of ores.

+ + + diff --git a/obj/machinery/mineral/processing_unit.html b/obj/machinery/mineral/processing_unit.html new file mode 100644 index 000000000000..a75d4be25ba9 --- /dev/null +++ b/obj/machinery/mineral/processing_unit.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/mineral/processing_unit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

processing_unit + + + +

+ +

Mineral processing unit

+

Vars

proximity_monitorProximity monitor associated with this atom, needed for proximity checks.
+

Var Details

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, needed for proximity checks.

+ + + diff --git a/obj/machinery/mineral/stacking_machine.html b/obj/machinery/mineral/stacking_machine.html new file mode 100644 index 000000000000..a0189086e39a --- /dev/null +++ b/obj/machinery/mineral/stacking_machine.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/mineral/stacking_machine - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

stacking_machine + + + +

+ +

Mineral stacking unit

+

Vars

proximity_monitorProximity monitor associated with this atom, needed for proximity checks.
+

Var Details

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, needed for proximity checks.

+ + + diff --git a/obj/machinery/mineral/stacking_unit_console.html b/obj/machinery/mineral/stacking_unit_console.html new file mode 100644 index 000000000000..c1104e6f5f48 --- /dev/null +++ b/obj/machinery/mineral/stacking_unit_console.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/mineral/stacking_unit_console - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

stacking_unit_console + + + +

+ +

Mineral stacking unit console

+ +

Vars

machineConnected stacking machine
machinedirDirection for which console looks for stacking machine to connect to
+

Var Details

machine + + + + +

+

Connected stacking machine

machinedir + + + + +

+

Direction for which console looks for stacking machine to connect to

+ + + diff --git a/obj/machinery/modular_computer.html b/obj/machinery/modular_computer.html new file mode 100644 index 000000000000..0135f6d6e1c9 --- /dev/null +++ b/obj/machinery/modular_computer.html @@ -0,0 +1,127 @@ + + + + + + + /obj/machinery/modular_computer - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

modular_computer + + + +

+ + + + + + + + + + + + + + + +

Vars

base_active_power_usagePower usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too.
base_idle_power_usagePower usage when the computer is idle and screen is off (currently only applies to laptops)
cpuCPU that handles most logic while this type only handles power and other specific things.
hardware_flagA flag that describes this device type
icon_state_poweredIcon state when the computer is turned on.
icon_state_unpoweredIcon state when the computer is turned off.
last_power_usagePower usage during last tick
light_strengthLight luminosity when turned on
max_hardware_sizeMaximal hardware size. Currently, tablets have 1, laptops 2 and consoles 3. Limits what hardware types can be installed.
max_idle_programsAmount of programs that can be ran at once
screen_icon_screensaverIcon state overlay when the computer is powered, but not 'switched on'.
screen_icon_state_menuIcon state overlay when the computer is turned on, but no program is loaded that would override the screen.
steel_sheet_costAmount of steel sheets refunded when disassembling an empty frame of this computer.

Procs

relay_icon_updateEats the "source" arg because update_icon actually expects args now.
+

Var Details

base_active_power_usage + + + + +

+

Power usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too.

base_idle_power_usage + + + + +

+

Power usage when the computer is idle and screen is off (currently only applies to laptops)

cpu + + + + +

+

CPU that handles most logic while this type only handles power and other specific things.

hardware_flag + + + + +

+

A flag that describes this device type

icon_state_powered + + + + +

+

Icon state when the computer is turned on.

icon_state_unpowered + + + + +

+

Icon state when the computer is turned off.

last_power_usage + + + + +

+

Power usage during last tick

light_strength + + + + +

+

Light luminosity when turned on

max_hardware_size + + + + +

+

Maximal hardware size. Currently, tablets have 1, laptops 2 and consoles 3. Limits what hardware types can be installed.

max_idle_programs + + + + +

+

Amount of programs that can be ran at once

screen_icon_screensaver + + + + +

+

Icon state overlay when the computer is powered, but not 'switched on'.

screen_icon_state_menu + + + + +

+

Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.

steel_sheet_cost + + + + +

+

Amount of steel sheets refunded when disassembling an empty frame of this computer.

Proc Details

relay_icon_update +

+

Eats the "source" arg because update_icon actually expects args now.

+ + + diff --git a/obj/machinery/modular_computer/console.html b/obj/machinery/modular_computer/console.html new file mode 100644 index 000000000000..d6ae5dd52412 --- /dev/null +++ b/obj/machinery/modular_computer/console.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/modular_computer/console - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

console + + + +

+ + +

Vars

console_departmentUsed in New() to set network tag according to our area.
+

Var Details

console_department + + + + +

+

Used in New() to set network tag according to our area.

+ + + diff --git a/obj/machinery/modular_computer/console/preset/cargochat.html b/obj/machinery/modular_computer/console/preset/cargochat.html new file mode 100644 index 000000000000..07da76ccf617 --- /dev/null +++ b/obj/machinery/modular_computer/console/preset/cargochat.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/modular_computer/console/preset/cargochat - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cargochat + + + +

+ + +

Vars

chatprogramchat client installed on this computer, just helpful for linking all the computers
+

Var Details

chatprogram + + + + +

+

chat client installed on this computer, just helpful for linking all the computers

+ + + diff --git a/obj/machinery/module_duplicator.html b/obj/machinery/module_duplicator.html new file mode 100644 index 000000000000..3e12dc23d091 --- /dev/null +++ b/obj/machinery/module_duplicator.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/module_duplicator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

module_duplicator + + + +

+ +

Module duplicator, allows you to save and recreate module components.

+

Vars

materialsThe internal material bus
+

Var Details

materials + + + + +

+

The internal material bus

+ + + diff --git a/obj/machinery/newscaster.html b/obj/machinery/newscaster.html new file mode 100644 index 000000000000..0abdf5900da8 --- /dev/null +++ b/obj/machinery/newscaster.html @@ -0,0 +1,273 @@ + + + + + + + /obj/machinery/newscaster - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

newscaster + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_requestThe station request datum being affected by UI actions.
alertIs there currently an alert on this newscaster that hasn't been seen yet?
bounty_textText of the currently written bounty
bounty_valueValue of the currently bounty input
channel_descWhat is the current, in-creation channel's description going to be?
channel_nameWhat is the current, in-creation channel's name going to be?
comment_textWhat is the current, in-creation comment's body going to be?
creating_channelIs the current user creating a new channel at the moment?
creating_commentIs the current user creating a new comment at the moment?
crime_descriptionWhat is the user submitted, crime description for the new wanted issue?
criminal_nameWhat is the user submitted, criminal name for the new wanted issue?
current_channelWhat newscaster channel is currently being viewed by the player?
current_imageThe current image that will be submitted with the newscaster story.
current_messageWhat newscaster feed_message is currently having a comment written for it?
current_userReference to the currently logged in user.
feed_channel_messageThe message that's currently being written for a feed story.
paper_remainingHow much paper is contained within the newscaster?
viewing_wantedIs the current user editing or viewing a new wanted issue at the moment?

Procs

apply_to_bountyThis sorts through the current list of bounties, and confirms that the intended request found is correct. +Then, adds the current user to the list of applicants to that bounty.
attach_photoThis takes a held photograph, and updates the current_image variable with that of the held photograph's image. +*user: The mob who is being checked for a held photo object.
create_bountyThis creates a new bounty to the global list of bounty requests, alongisde the provided value of the request, and the owner of the request. +For more info, see datum/station_request.
create_channelPerforms a series of sanity checks before giving the user confirmation to create a new feed_channel using channel_name, and channel_desc. +*channel_locked: This variable determines if other users than the author can make comments and new feed_stories on this channel.
create_commentConstructs a comment to attach to the currently selected feed_message of choice, assuming that a user can be found and that a message body has been written.
create_storyCreates a new feed story to the global newscaster network. +Verifies that the message is being written to a real feed_channel, then provides a text input for the feed story to be written into. +Finally, it submits the message to the network, is logged globally, and clears all message-specific variables from the machine.
delete_bounty_requestThis proc removes a station_request from the global list of requests, after checking that the owner of that request is the one who is trying to remove it.
news_alertWhen a new feed message is made that will alert all newscasters, this causes the newscasters to sent out a spoken message as well as create a sound.
pay_applicantThis pays out the current request_target the amount held by the active request's assigned value, and then clears the active request from the global list.
print_paperThis takes all current feed stories and messages, and prints them onto a newspaper, after checking that the newscaster has been loaded with paper. +The newscaster then prints the paper to the floor.
remove_alertThis clears alerts on the newscaster from a new message being published and updates the newscaster's appearance.
send_photo_dataSends photo data to build the newscaster article.
start_create_channelThis proc performs checks before enabling the creating_channel var on the newscaster, such as preventing a user from having multiple channels, +preventing an un-ID'd user from making a channel, and preventing censored authors from making a channel. +Otherwise, sets creating_channel to TRUE.
toggle_photoSelects a currently held photo from the user's hand and makes it the current_image held by the newscaster. +If a photo is still held in the newscaster, it will otherwise clear it from the machine.
+

Var Details

active_request + + + + +

+

The station request datum being affected by UI actions.

alert + + + + +

+

Is there currently an alert on this newscaster that hasn't been seen yet?

bounty_text + + + + +

+

Text of the currently written bounty

bounty_value + + + + +

+

Value of the currently bounty input

channel_desc + + + + +

+

What is the current, in-creation channel's description going to be?

channel_name + + + + +

+

What is the current, in-creation channel's name going to be?

comment_text + + + + +

+

What is the current, in-creation comment's body going to be?

creating_channel + + + + +

+

Is the current user creating a new channel at the moment?

creating_comment + + + + +

+

Is the current user creating a new comment at the moment?

crime_description + + + + +

+

What is the user submitted, crime description for the new wanted issue?

criminal_name + + + + +

+

What is the user submitted, criminal name for the new wanted issue?

current_channel + + + + +

+

What newscaster channel is currently being viewed by the player?

current_image + + + + +

+

The current image that will be submitted with the newscaster story.

current_message + + + + +

+

What newscaster feed_message is currently having a comment written for it?

current_user + + + + +

+

Reference to the currently logged in user.

feed_channel_message + + + + +

+

The message that's currently being written for a feed story.

paper_remaining + + + + +

+

How much paper is contained within the newscaster?

viewing_wanted + + + + +

+

Is the current user editing or viewing a new wanted issue at the moment?

Proc Details

apply_to_bounty +

+

This sorts through the current list of bounties, and confirms that the intended request found is correct. +Then, adds the current user to the list of applicants to that bounty.

attach_photo +

+

This takes a held photograph, and updates the current_image variable with that of the held photograph's image. +*user: The mob who is being checked for a held photo object.

create_bounty +

+

This creates a new bounty to the global list of bounty requests, alongisde the provided value of the request, and the owner of the request. +For more info, see datum/station_request.

create_channel +

+

Performs a series of sanity checks before giving the user confirmation to create a new feed_channel using channel_name, and channel_desc. +*channel_locked: This variable determines if other users than the author can make comments and new feed_stories on this channel.

create_comment +

+

Constructs a comment to attach to the currently selected feed_message of choice, assuming that a user can be found and that a message body has been written.

create_story +

+

Creates a new feed story to the global newscaster network. +Verifies that the message is being written to a real feed_channel, then provides a text input for the feed story to be written into. +Finally, it submits the message to the network, is logged globally, and clears all message-specific variables from the machine.

delete_bounty_request +

+

This proc removes a station_request from the global list of requests, after checking that the owner of that request is the one who is trying to remove it.

news_alert +

+

When a new feed message is made that will alert all newscasters, this causes the newscasters to sent out a spoken message as well as create a sound.

pay_applicant +

+

This pays out the current request_target the amount held by the active request's assigned value, and then clears the active request from the global list.

print_paper +

+

This takes all current feed stories and messages, and prints them onto a newspaper, after checking that the newscaster has been loaded with paper. +The newscaster then prints the paper to the floor.

remove_alert +

+

This clears alerts on the newscaster from a new message being published and updates the newscaster's appearance.

send_photo_data +

+

Sends photo data to build the newscaster article.

start_create_channel +

+

This proc performs checks before enabling the creating_channel var on the newscaster, such as preventing a user from having multiple channels, +preventing an un-ID'd user from making a channel, and preventing censored authors from making a channel. +Otherwise, sets creating_channel to TRUE.

toggle_photo +

+

Selects a currently held photo from the user's hand and makes it the current_image held by the newscaster. +If a photo is still held in the newscaster, it will otherwise clear it from the machine.

+ + + diff --git a/obj/machinery/ntnet_relay.html b/obj/machinery/ntnet_relay.html new file mode 100644 index 000000000000..6c8b373eb3ea --- /dev/null +++ b/obj/machinery/ntnet_relay.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/ntnet_relay - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ntnet_relay + + + +

+ + + + + +

Vars

dos_failure(D)DoS-attack-related failure causing it not to be operational any longer.
relay_enabledOn / off status for the relay machine, toggleable by the user.

Procs

set_dos_failureProc called to change the value of the dos_failure variable and append behavior related to its change.
set_relay_enabledProc called to change the value of the relay_enabled variable and append behavior related to its change.
+

Var Details

dos_failure + + + + +

+

(D)DoS-attack-related failure causing it not to be operational any longer.

relay_enabled + + + + +

+

On / off status for the relay machine, toggleable by the user.

Proc Details

set_dos_failure +

+

Proc called to change the value of the dos_failure variable and append behavior related to its change.

set_relay_enabled +

+

Proc called to change the value of the relay_enabled variable and append behavior related to its change.

+ + + diff --git a/obj/machinery/oven.html b/obj/machinery/oven.html new file mode 100644 index 000000000000..122349a136a9 --- /dev/null +++ b/obj/machinery/oven.html @@ -0,0 +1,85 @@ + + + + + + + /obj/machinery/oven - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

oven + + + +

+ + + + + + + + + +

Vars

openWhether or not the oven is open.
oven_loopLooping sound for the oven
smoke_stateCurrent state of smoke coming from the oven
used_trayThe tray inside of this oven, if there is one.

Procs

ItemMovedCalled when the tray is moved out of the oven in some way
add_tray_to_ovenAdds a tray to the oven, making sure the shit can get baked.
attackbyWe take the worst smoke state, so if something is burning we always know.
set_smoke_stateUpdates the smoke state to something else, setting particles if relevant
+

Var Details

open + + + + +

+

Whether or not the oven is open.

oven_loop + + + + +

+

Looping sound for the oven

smoke_state + + + + +

+

Current state of smoke coming from the oven

used_tray + + + + +

+

The tray inside of this oven, if there is one.

Proc Details

ItemMoved +

+

Called when the tray is moved out of the oven in some way

add_tray_to_oven +

+

Adds a tray to the oven, making sure the shit can get baked.

attackby +

+

We take the worst smoke state, so if something is burning we always know.

set_smoke_state +

+

Updates the smoke state to something else, setting particles if relevant

+ + + diff --git a/obj/machinery/pdapainter.html b/obj/machinery/pdapainter.html new file mode 100644 index 000000000000..4c6d5d0980ef --- /dev/null +++ b/obj/machinery/pdapainter.html @@ -0,0 +1,121 @@ + + + + + + + /obj/machinery/pdapainter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pdapainter + + + +

+ +

Basic machine used to paint PDAs and re-trim ID cards.

+ + + + + + + + + +

Vars

card_trimsA list of the card trims that this machine can currently imprint onto a card.
pda_type_blacklistA blacklist of PDA types that we should not be able to paint.
pda_typesA list of the PDA types that this machine can currently paint.
stored_id_cardCurrent ID card inserted into the machine.
stored_pdaCurrent PDA inserted into the machine.
target_deptSet to a region define (REGION_SECURITY for example) to create a departmental variant, limited to departmental options. If null, this is unrestricted.

Procs

eject_id_cardEject the stored ID card into the user's hands if possible, otherwise on the floor.
eject_pdaEject the stored PDA into the user's hands if possible, otherwise on the floor.
insert_id_cardInsert an ID card into the machine.
insert_pdaInsert a PDA into the machine.
+

Var Details

card_trims + + + + +

+

A list of the card trims that this machine can currently imprint onto a card.

pda_type_blacklist + + + + +

+

A blacklist of PDA types that we should not be able to paint.

pda_types + + + + +

+

A list of the PDA types that this machine can currently paint.

stored_id_card + + + + +

+

Current ID card inserted into the machine.

stored_pda + + + + +

+

Current PDA inserted into the machine.

target_dept + + + + +

+

Set to a region define (REGION_SECURITY for example) to create a departmental variant, limited to departmental options. If null, this is unrestricted.

Proc Details

eject_id_card +

+

Eject the stored ID card into the user's hands if possible, otherwise on the floor.

+

Arguments:

+

eject_pda +

+

Eject the stored PDA into the user's hands if possible, otherwise on the floor.

+

Arguments:

+

insert_id_card +

+

Insert an ID card into the machine.

+

Will swap ID cards if one is already inside. Attempts to put the card into the user's hands if possible. +Returns TRUE on success, FALSE otherwise. +Arguments:

+

insert_pda +

+

Insert a PDA into the machine.

+

Will swap PDAs if one is already inside. Attempts to put the PDA into the user's hands if possible. +Returns TRUE on success, FALSE otherwise. +Arguments:

+
+ + + diff --git a/obj/machinery/photocopier.html b/obj/machinery/photocopier.html new file mode 100644 index 000000000000..d184b46cd20d --- /dev/null +++ b/obj/machinery/photocopier.html @@ -0,0 +1,219 @@ + + + + + + + /obj/machinery/photocopier - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

photocopier + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

assA reference to a mob on top of the photocopier trying to copy their ass. Null if there is no mob.
busyIndicates whether the printer is currently busy copying or not.
categoryVariable needed to determine the selected category of forms on Photocopier.js
color_modeUsed with photos. Determines if the copied photo will be in greyscale or color.
document_copyA reference to an /obj/item/documents inside the copier, if one is inserted. Otherwise null.
num_copiesHow many copies will be printed with one click of the "copy" button.
paper_copyA reference to an /obj/item/paper inside the copier, if one is inserted. Otherwise null.
photo_copyA reference to an /obj/item/photo inside the copier, if one is inserted. Otherwise null.
toner_cartridgeA reference to the toner cartridge that's inserted into the copier. Null if there is no cartridge.

Procs

check_assChecks the living mob ass exists and its location is the same as the photocopier.
copier_blockedChecks if the copier is deleted, or has something dense at its location. Called in MouseDroppedOn()
copier_emptyChecks if there is an item inserted into the copier or a mob sitting on top of it.
do_copy_loopWill invoke the passed in copy_cb callback in 1 second intervals, and charge the user 5 credits for each copy made.
do_insertionInserts the item into the copier. Called in attackby() after a human mob clicked on the copier with a paper, photo, or document.
give_pixel_offsetGives items a random x and y pixel offset, between -10 and 10 for each.
has_enough_tonerDetermines if the photocopier has enough toner to create num_copies amount of copies of the currently inserted item.
make_ass_copyHandles the copying of an ass photo.
make_blank_printThe procedure is called when printing a blank to write off toner consumption.
make_document_copyHandles the copying of documents.
make_paper_copyHandles the copying of paper. Transfers all the text, stamps and so on from the old paper, to the copy.
make_photo_copyHandles the copying of photos, which can be printed in either color or greyscale.
remove_photocopyCalled when someone hits the "remove item" button on the copier UI.
reset_busySets busy to FALSE. Created as a proc so it can be used in callbacks.
+

Var Details

ass + + + + +

+

A reference to a mob on top of the photocopier trying to copy their ass. Null if there is no mob.

busy + + + + +

+

Indicates whether the printer is currently busy copying or not.

category + + + + +

+

Variable needed to determine the selected category of forms on Photocopier.js

color_mode + + + + +

+

Used with photos. Determines if the copied photo will be in greyscale or color.

document_copy + + + + +

+

A reference to an /obj/item/documents inside the copier, if one is inserted. Otherwise null.

num_copies + + + + +

+

How many copies will be printed with one click of the "copy" button.

paper_copy + + + + +

+

A reference to an /obj/item/paper inside the copier, if one is inserted. Otherwise null.

photo_copy + + + + +

+

A reference to an /obj/item/photo inside the copier, if one is inserted. Otherwise null.

toner_cartridge + + + + +

+

A reference to the toner cartridge that's inserted into the copier. Null if there is no cartridge.

Proc Details

check_ass +

+

Checks the living mob ass exists and its location is the same as the photocopier.

+

Returns FALSE if ass doesn't exist or is not at the copier's location. Returns TRUE otherwise.

copier_blocked +

+

Checks if the copier is deleted, or has something dense at its location. Called in MouseDroppedOn()

copier_empty +

+

Checks if there is an item inserted into the copier or a mob sitting on top of it.

+

Return FALSE is the copier has something inside of it. Returns TRUE if it doesn't.

do_copy_loop +

+

Will invoke the passed in copy_cb callback in 1 second intervals, and charge the user 5 credits for each copy made.

+

Arguments:

+

do_insertion +

+

Inserts the item into the copier. Called in attackby() after a human mob clicked on the copier with a paper, photo, or document.

+

Arugments:

+

give_pixel_offset +

+

Gives items a random x and y pixel offset, between -10 and 10 for each.

+

This is done that when someone prints multiple papers, we dont have them all appear to be stacked in the same exact location.

+

Arguments:

+

has_enough_toner +

+

Determines if the photocopier has enough toner to create num_copies amount of copies of the currently inserted item.

make_ass_copy +

+

Handles the copying of an ass photo.

+

Calls check_ass() first to make sure that ass exists, among other conditions. Since this proc is called from a timer, it's possible that it was removed. +Additionally checks that the mob has their clothes off.

make_blank_print +

+

The procedure is called when printing a blank to write off toner consumption.

make_document_copy +

+

Handles the copying of documents.

+

Checks first if document_copy exists. Since this proc is called from a timer, it's possible that it was removed.

make_paper_copy +

+

Handles the copying of paper. Transfers all the text, stamps and so on from the old paper, to the copy.

+

Checks first if paper_copy exists. Since this proc is called from a timer, it's possible that it was removed.

make_photo_copy +

+

Handles the copying of photos, which can be printed in either color or greyscale.

+

Checks first if photo_copy exists. Since this proc is called from a timer, it's possible that it was removed.

remove_photocopy +

+

Called when someone hits the "remove item" button on the copier UI.

+

If the user is a silicon, it drops the object at the location of the copier. If the user is not a silicon, it tries to put the object in their hands first. +Sets busy to FALSE because if the inserted item is removed, the copier should halt copying.

+

Arguments:

+

reset_busy +

+

Sets busy to FALSE. Created as a proc so it can be used in callbacks.

+ + + diff --git a/obj/machinery/pipedispenser.html b/obj/machinery/pipedispenser.html new file mode 100644 index 000000000000..2c7f8fb6085c --- /dev/null +++ b/obj/machinery/pipedispenser.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/pipedispenser - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pipedispenser + + + +

+ + + + +

Vars

categorytype of dispenser
p_init_dirsmart pipe directions
paint_colorcolor of pipe
+

Var Details

category + + + + +

+

type of dispenser

p_init_dir + + + + +

+

smart pipe directions

paint_color + + + + +

+

color of pipe

+ + + diff --git a/obj/machinery/plate_press.html b/obj/machinery/plate_press.html new file mode 100644 index 000000000000..78989f2e97ff --- /dev/null +++ b/obj/machinery/plate_press.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/plate_press - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

plate_press + + + +

+ + +

Procs

work_pressThis proc attempts to create a plate. User cannot move during this process.

Proc Details

work_press +

+

This proc attempts to create a plate. User cannot move during this process.

+ + + diff --git a/obj/machinery/porta_turret.html b/obj/machinery/porta_turret.html new file mode 100644 index 000000000000..8827a248cfa9 --- /dev/null +++ b/obj/machinery/porta_turret.html @@ -0,0 +1,260 @@ + + + + + + + /obj/machinery/porta_turret - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

porta_turret + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

always_upWill stay active
baseFor turrets inside other objects
controllockIf the turret responds to control panels
coverThe cover that is covering this turret
factionSame faction mobs will never be shot at, no matter the other settings
gun_chargeThe charge of the gun when retrieved from wreckage
has_coverHides the cover
ignore_factionDetermines if our projectiles hit our faction
installationThe type of weapon installed by default
last_firedWorld.time the turret last fired
lethal_projectileLethal mode projectile type
lethal_projectile_soundSound of lethal projectile
lockedIf the turret's behaviour control access is locked
manual_controlIf the turret is manually controlled
modeIn which mode is turret in, stun or lethal
onDetermines if the turret is on
power_channelOnly people with Security access
quit_actionAction button holder for quitting manual control
raisedIf the turret cover is "open" and the turret is raised
raisingIf the turret is currently opening or closing its cover
remote_controllerMob that is remotely controlling the turret
reqpowerPower needed per shot
scan_rangeScan range of the turret for locating targets
shot_delayTicks until next shot (1.5 ?)
spark_systemThe spark system, used for generating... sparks?
stored_gunWhat stored gun is in the turret
stun_projectileStun mode projectile type
stun_projectile_soundSound of stun projectile
toggle_actionAction button holder for switching between turret modes when manually controlling
turret_flagsTurret flags about who is turret allowed to shoot
uses_storedif TRUE this will cause the turret to stop working if the stored_gun var is null in process()
wall_turret_directionThe turret will try to shoot from a turf in that direction when in a wall

Procs

null_gundestroys reference to stored_gun to prevent hard deletions
+

Var Details

always_up + + + + +

+

Will stay active

base + + + + +

+

For turrets inside other objects

controllock + + + + +

+

If the turret responds to control panels

cover + + + + +

+

The cover that is covering this turret

faction + + + + +

+

Same faction mobs will never be shot at, no matter the other settings

gun_charge + + + + +

+

The charge of the gun when retrieved from wreckage

has_cover + + + + +

+

Hides the cover

ignore_faction + + + + +

+

Determines if our projectiles hit our faction

installation + + + + +

+

The type of weapon installed by default

last_fired + + + + +

+

World.time the turret last fired

lethal_projectile + + + + +

+

Lethal mode projectile type

lethal_projectile_sound + + + + +

+

Sound of lethal projectile

locked + + + + +

+

If the turret's behaviour control access is locked

manual_control + + + + +

+

If the turret is manually controlled

mode + + + + +

+

In which mode is turret in, stun or lethal

on + + + + +

+

Determines if the turret is on

power_channel + + + + +

+

Only people with Security access

quit_action + + + + +

+

Action button holder for quitting manual control

raised + + + + +

+

If the turret cover is "open" and the turret is raised

raising + + + + +

+

If the turret is currently opening or closing its cover

remote_controller + + + + +

+

Mob that is remotely controlling the turret

reqpower + + + + +

+

Power needed per shot

scan_range + + + + +

+

Scan range of the turret for locating targets

shot_delay + + + + +

+

Ticks until next shot (1.5 ?)

spark_system + + + + +

+

The spark system, used for generating... sparks?

stored_gun + + + + +

+

What stored gun is in the turret

stun_projectile + + + + +

+

Stun mode projectile type

stun_projectile_sound + + + + +

+

Sound of stun projectile

toggle_action + + + + +

+

Action button holder for switching between turret modes when manually controlling

turret_flags + + + + +

+

Turret flags about who is turret allowed to shoot

uses_stored + + + + +

+

if TRUE this will cause the turret to stop working if the stored_gun var is null in process()

wall_turret_direction + + + + +

+

The turret will try to shoot from a turf in that direction when in a wall

Proc Details

null_gun +

+

destroys reference to stored_gun to prevent hard deletions

+ + + diff --git a/obj/machinery/porta_turret/syndicate/toolbox.html b/obj/machinery/porta_turret/syndicate/toolbox.html new file mode 100644 index 000000000000..b8cb66a80474 --- /dev/null +++ b/obj/machinery/porta_turret/syndicate/toolbox.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/porta_turret/syndicate/toolbox - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

toolbox + + + +

+ + +

Vars

toolboxThe toolbox we store.
+

Var Details

toolbox + + + + +

+

The toolbox we store.

+ + + diff --git a/obj/machinery/portable_atmospherics.html b/obj/machinery/portable_atmospherics.html new file mode 100644 index 000000000000..b73400858ee3 --- /dev/null +++ b/obj/machinery/portable_atmospherics.html @@ -0,0 +1,106 @@ + + + + + + + /obj/machinery/portable_atmospherics - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

portable_atmospherics + + + +

+ + + + + + + + + + +

Vars

air_contentsStores the gas mixture of the portable component. Don't access this directly, use return_air() so you support the temporary processing it provides
connected_portStores the reference of the connecting port
excitedUsed to track if anything of note has happen while running process_atmos()
holdingStores the reference of the tank the machine is holding
volumeVolume (in L) of the inside of the machine

Procs

connectAllow the portable machine to be connected to a connector +Arguments:
disconnectAllow the portable machine to be disconnected from the connector
replace_tankAllow the player to place a tank inside the machine. +Arguments:
unregister_holdingHolding tanks can get to zero integrity and be destroyed without other warnings due to pressure change. +This checks for that case and removes our reference to it.
+

Var Details

air_contents + + + + +

+

Stores the gas mixture of the portable component. Don't access this directly, use return_air() so you support the temporary processing it provides

connected_port + + + + +

+

Stores the reference of the connecting port

excited + + + + +

+

Used to track if anything of note has happen while running process_atmos()

holding + + + + +

+

Stores the reference of the tank the machine is holding

volume + + + + +

+

Volume (in L) of the inside of the machine

Proc Details

connect +

+

Allow the portable machine to be connected to a connector +Arguments:

+

disconnect +

+

Allow the portable machine to be disconnected from the connector

replace_tank +

+

Allow the player to place a tank inside the machine. +Arguments:

+

unregister_holding +

+

Holding tanks can get to zero integrity and be destroyed without other warnings due to pressure change. +This checks for that case and removes our reference to it.

+ + + diff --git a/obj/machinery/portable_atmospherics/canister.html b/obj/machinery/portable_atmospherics/canister.html new file mode 100644 index 000000000000..62e83d44adda --- /dev/null +++ b/obj/machinery/portable_atmospherics/canister.html @@ -0,0 +1,192 @@ + + + + + + + /obj/machinery/portable_atmospherics/canister - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

canister + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

can_max_release_pressureMaximum pressure allowed for release_pressure var
can_min_release_pressureMinimum pressure allower for release_pressure var
filledHow much the canister should be filled (recommended from 0 to 1)
gas_typeStores the id of the gas for mapped canisters
heat_limitMax amount of heat allowed inside of the canister before it starts to melt (different tiers have different limits)
maximum_pressureMaximum pressure allowed on initialize inside the canister, multiplied by the filled var
pressure_limitMax amount of pressure allowed inside of the canister before it starts to break (different tiers have different limits)
prototypeIs the canister a prototype one?
release_logUsed to log opening and closing of the valve, available on VV
release_pressurePlayer controlled var that set the release pressure of the canister
restrictedIf true, the prototype canister requires engi access to be used
starter_tempInitial temperature gas mixture
temperature_resistanceMaximum amount of heat that the canister can handle before taking damage
valve_openIs the valve open?
valve_timerTimer variables
windowWindow overlay showing the gas inside the canister

Procs

canister_breakHandle canisters disassemble, releases the gas content in the turf
create_gasCalled on Initialize(), fill the canister with the gas_type specified up to the filled level (half if 0.5, full if 1) +Used for canisters spawned in maps and by admins
get_time_leftGetter for the amount of time left in the timer of prototype canisters
process_atmosfunction used to check the limit of the canisters and also set the amount of damage that the canister can receive, if the heat and pressure are way higher than the limit the more damage will be done
set_activeStarts the timer of prototype canisters
ui_statefunction used to check the limit of the canisters and also set the amount of damage that the canister can receive, if the heat and pressure are way higher than the limit the more damage will be done
update_greyscaleFunction is used to actually set the overlays
+

Var Details

can_max_release_pressure + + + + +

+

Maximum pressure allowed for release_pressure var

can_min_release_pressure + + + + +

+

Minimum pressure allower for release_pressure var

filled + + + + +

+

How much the canister should be filled (recommended from 0 to 1)

gas_type + + + + +

+

Stores the id of the gas for mapped canisters

heat_limit + + + + +

+

Max amount of heat allowed inside of the canister before it starts to melt (different tiers have different limits)

maximum_pressure + + + + +

+

Maximum pressure allowed on initialize inside the canister, multiplied by the filled var

pressure_limit + + + + +

+

Max amount of pressure allowed inside of the canister before it starts to break (different tiers have different limits)

prototype + + + + +

+

Is the canister a prototype one?

release_log + + + + +

+

Used to log opening and closing of the valve, available on VV

release_pressure + + + + +

+

Player controlled var that set the release pressure of the canister

restricted + + + + +

+

If true, the prototype canister requires engi access to be used

starter_temp + + + + +

+

Initial temperature gas mixture

temperature_resistance + + + + +

+

Maximum amount of heat that the canister can handle before taking damage

valve_open + + + + +

+

Is the valve open?

valve_timer + + + + +

+

Timer variables

window + + + + +

+

Window overlay showing the gas inside the canister

Proc Details

canister_break +

+

Handle canisters disassemble, releases the gas content in the turf

create_gas +

+

Called on Initialize(), fill the canister with the gas_type specified up to the filled level (half if 0.5, full if 1) +Used for canisters spawned in maps and by admins

get_time_left +

+

Getter for the amount of time left in the timer of prototype canisters

process_atmos +

+

function used to check the limit of the canisters and also set the amount of damage that the canister can receive, if the heat and pressure are way higher than the limit the more damage will be done

set_active +

+

Starts the timer of prototype canisters

ui_state +

+

function used to check the limit of the canisters and also set the amount of damage that the canister can receive, if the heat and pressure are way higher than the limit the more damage will be done

update_greyscale +

+

Function is used to actually set the overlays

+ + + diff --git a/obj/machinery/portable_atmospherics/pump.html b/obj/machinery/portable_atmospherics/pump.html new file mode 100644 index 000000000000..4ec8a21fdfb1 --- /dev/null +++ b/obj/machinery/portable_atmospherics/pump.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/portable_atmospherics/pump - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

pump + + + +

+ + + + + + + +

Vars

directionWhat direction is the machine pumping (in or out)?
heat_limitMax amount of heat allowed inside of the canister before it starts to melt (different tiers have different limits)
onIs the machine on?
pressure_limitMax amount of pressure allowed inside of the canister before it starts to break (different tiers have different limits)
target_pressurePlayer configurable, sets what's the release pressure

Procs

emp_actfunction used to check the limit of the pumps and also set the amount of damage that the pump can receive, if the heat and pressure are way higher than the limit the more damage will be done
+

Var Details

direction + + + + +

+

What direction is the machine pumping (in or out)?

heat_limit + + + + +

+

Max amount of heat allowed inside of the canister before it starts to melt (different tiers have different limits)

on + + + + +

+

Is the machine on?

pressure_limit + + + + +

+

Max amount of pressure allowed inside of the canister before it starts to break (different tiers have different limits)

target_pressure + + + + +

+

Player configurable, sets what's the release pressure

Proc Details

emp_act +

+

function used to check the limit of the pumps and also set the amount of damage that the pump can receive, if the heat and pressure are way higher than the limit the more damage will be done

+ + + diff --git a/obj/machinery/portable_atmospherics/scrubber.html b/obj/machinery/portable_atmospherics/scrubber.html new file mode 100644 index 000000000000..4f48d5e73a00 --- /dev/null +++ b/obj/machinery/portable_atmospherics/scrubber.html @@ -0,0 +1,92 @@ + + + + + + + /obj/machinery/portable_atmospherics/scrubber - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

scrubber + + + +

+ + + + + + + + + +

Vars

heat_limitMax amount of heat allowed inside of the canister before it starts to melt (different tiers have different limits)
onIs the machine on?
overpressure_mMultiplier with ONE_ATMOSPHERE, if the enviroment pressure is higher than that, the scrubber won't work
pressure_limitMax amount of pressure allowed inside of the canister before it starts to break (different tiers have different limits)
scrubbingList of gases that are being scrubbed.
use_overlaysShould the machine use overlay in update_overlays() when open/close?
volume_ratethe rate the machine will scrub air

Procs

scrubfunction used to check the limit of the scrubbers and also set the amount of damage that the scrubber can receive, if the heat and pressure are way higher than the limit the more damage will be done +Called in process_atmos(), handles the scrubbing of the given gas_mixture +Arguments:
+

Var Details

heat_limit + + + + +

+

Max amount of heat allowed inside of the canister before it starts to melt (different tiers have different limits)

on + + + + +

+

Is the machine on?

overpressure_m + + + + +

+

Multiplier with ONE_ATMOSPHERE, if the enviroment pressure is higher than that, the scrubber won't work

pressure_limit + + + + +

+

Max amount of pressure allowed inside of the canister before it starts to break (different tiers have different limits)

scrubbing + + + + +

+

List of gases that are being scrubbed.

use_overlays + + + + +

+

Should the machine use overlay in update_overlays() when open/close?

volume_rate + + + + +

+

the rate the machine will scrub air

Proc Details

scrub +

+

function used to check the limit of the scrubbers and also set the amount of damage that the scrubber can receive, if the heat and pressure are way higher than the limit the more damage will be done +Called in process_atmos(), handles the scrubbing of the given gas_mixture +Arguments:

+
+ + + diff --git a/obj/machinery/power/apc.html b/obj/machinery/power/apc.html new file mode 100644 index 000000000000..6852ac3eeb71 --- /dev/null +++ b/obj/machinery/power/apc.html @@ -0,0 +1,396 @@ + + + + + + + /obj/machinery/power/apc - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

apc + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

aidisabledIs the AI locked from using the APC
alarm_managerRepresents a signel source of power alarms for this apc
areaReference to our area
areastringMapper helper to tie an apc to another area
auto_nameAutomatically name the APC after the area is in
beenhitused for counting how many times it has been hit, used for Aliens at the moment
cellReference to our internal cell
cell_typeType of cell we start with
chargecountNumber of ticks where the apc is trying to recharge
chargemodeCan the APC charge?
chargingState of the apc charging (not charging, charging, fully charged)
coverlockedIs the apc cover locked?
emergency_lightsShould the emergency lights be on?
environState of the environmental channel (off, auto off, on, auto on)
equipmentState of the equipment channel (off, auto off, on, auto on)
failure_timerTime to allow the APC to regain some power and to turn the channels back online
force_updateForces an update on the power use to ensure that the apc has enough power
has_electronicsState of the electronics inside (missing, installed, secured)
icon_update_neededUsed to stop process from updating the icons too much
last_nightshift_switchTime when the nightshift where turned on last, to prevent spamming
lastused_environAmount of power used by the environmental channel
lastused_equipAmount of power used by the equipment channel
lastused_lightAmount of power used by the lighting channel
lastused_totalTotal amount of power used by the three channels
light_on_inner_rangeRange of the light emitted when on
lightingState of the lighting channel (off, auto off, on, auto on)
lockedIs the apc interface locked?
long_term_powerbuffer state that makes apcs not shut off channels immediately as long as theres some power left, effect visible in apcs only slowly losing power
main_statusState of the apc external power (no power, low power, has power)
malfaiReference to our ai hacker
malfhackIs the apc hacked by a malf ai?
nightshift_lightsShould the nighshift lights be on?
occupierReference to the shunted ai inside
offset_oldOffsets the object by APC_PIXEL_OFFSET (defined in apc_defines.dm) pixels in the direction we want it placed in. This allows the APC to be embedded in a wall, yet still inside an area (like mapping).
openedState of the cover (closed, opened, removed)
operatingIs the apc working
overloadused for the Blackout malf module
remote_controlReference to our remote control
shortedIs the APC shorted and not working?
start_chargeInitial cell charge %
terminalReference to our cable terminal
transfer_in_progressIs there an AI being transferred out of us?
update_overlayStores the flag for the overlays
update_stateStores the flags for the icon state

Procs

DestroyThis is how we test to ensure that mappers use the directional subtypes of APCs, rather than use the parent and pixel-shift it themselves.
autosetReturns the new status value for an APC channel.
check_updatesChecks for what icon updates we will need to handle
setsubsystemUsed by external forces to set the APCs channel status's.
+

Var Details

aidisabled + + + + +

+

Is the AI locked from using the APC

alarm_manager + + + + +

+

Represents a signel source of power alarms for this apc

area + + + + +

+

Reference to our area

areastring + + + + +

+

Mapper helper to tie an apc to another area

auto_name + + + + +

+

Automatically name the APC after the area is in

beenhit + + + + +

+

used for counting how many times it has been hit, used for Aliens at the moment

cell + + + + +

+

Reference to our internal cell

cell_type + + + + +

+

Type of cell we start with

chargecount + + + + +

+

Number of ticks where the apc is trying to recharge

chargemode + + + + +

+

Can the APC charge?

charging + + + + +

+

State of the apc charging (not charging, charging, fully charged)

coverlocked + + + + +

+

Is the apc cover locked?

emergency_lights + + + + +

+

Should the emergency lights be on?

environ + + + + +

+

State of the environmental channel (off, auto off, on, auto on)

equipment + + + + +

+

State of the equipment channel (off, auto off, on, auto on)

failure_timer + + + + +

+

Time to allow the APC to regain some power and to turn the channels back online

force_update + + + + +

+

Forces an update on the power use to ensure that the apc has enough power

has_electronics + + + + +

+

State of the electronics inside (missing, installed, secured)

icon_update_needed + + + + +

+

Used to stop process from updating the icons too much

last_nightshift_switch + + + + +

+

Time when the nightshift where turned on last, to prevent spamming

lastused_environ + + + + +

+

Amount of power used by the environmental channel

lastused_equip + + + + +

+

Amount of power used by the equipment channel

lastused_light + + + + +

+

Amount of power used by the lighting channel

lastused_total + + + + +

+

Total amount of power used by the three channels

light_on_inner_range + + + + +

+

Range of the light emitted when on

lighting + + + + +

+

State of the lighting channel (off, auto off, on, auto on)

locked + + + + +

+

Is the apc interface locked?

long_term_power + + + + +

+

buffer state that makes apcs not shut off channels immediately as long as theres some power left, effect visible in apcs only slowly losing power

main_status + + + + +

+

State of the apc external power (no power, low power, has power)

malfai + + + + +

+

Reference to our ai hacker

malfhack + + + + +

+

Is the apc hacked by a malf ai?

nightshift_lights + + + + +

+

Should the nighshift lights be on?

occupier + + + + +

+

Reference to the shunted ai inside

offset_old + + + + +

+

Offsets the object by APC_PIXEL_OFFSET (defined in apc_defines.dm) pixels in the direction we want it placed in. This allows the APC to be embedded in a wall, yet still inside an area (like mapping).

opened + + + + +

+

State of the cover (closed, opened, removed)

operating + + + + +

+

Is the apc working

overload + + + + +

+

used for the Blackout malf module

remote_control + + + + +

+

Reference to our remote control

shorted + + + + +

+

Is the APC shorted and not working?

start_charge + + + + +

+

Initial cell charge %

terminal + + + + +

+

Reference to our cable terminal

transfer_in_progress + + + + +

+

Is there an AI being transferred out of us?

update_overlay + + + + +

+

Stores the flag for the overlays

update_state + + + + +

+

Stores the flags for the icon state

Proc Details

Destroy +

+

This is how we test to ensure that mappers use the directional subtypes of APCs, rather than use the parent and pixel-shift it themselves.

autoset +

+

Returns the new status value for an APC channel.

+

// val 0=off, 1=off(auto) 2=on 3=on(auto) +// on 0=off, 1=on, 2=autooff +TODO: Make this use bitflags instead. It should take at most three lines, but it's out of scope for now.

+

Arguments:

+

check_updates +

+

Checks for what icon updates we will need to handle

setsubsystem +

+

Used by external forces to set the APCs channel status's.

+

Arguments:

+
+ + + diff --git a/obj/machinery/power/data_terminal.html b/obj/machinery/power/data_terminal.html new file mode 100644 index 000000000000..ec23974cec16 --- /dev/null +++ b/obj/machinery/power/data_terminal.html @@ -0,0 +1,60 @@ + + + + + + + /obj/machinery/power/data_terminal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

data_terminal + + + +

+ + + + + +

Procs

connect_machineRequest to connect this data terminal to a machine +see _DEFINES/packetnet.dm for return values +Machines connected to terminals should never move.
disconnect_machineAttempt to disconnect from a data terminal.
receive_signalOop, we have a connected machine, make sure they're sure.
tear_outOur connected machine moved. Disconnect and complain at them!

Proc Details

connect_machine +

+

Request to connect this data terminal to a machine +see _DEFINES/packetnet.dm for return values +Machines connected to terminals should never move.

disconnect_machine +

+

Attempt to disconnect from a data terminal.

receive_signal +

+

Oop, we have a connected machine, make sure they're sure.

tear_out +

+

Our connected machine moved. Disconnect and complain at them!

+ + + diff --git a/obj/machinery/power/emitter.html b/obj/machinery/power/emitter.html new file mode 100644 index 000000000000..6e54edb9cfaf --- /dev/null +++ b/obj/machinery/power/emitter.html @@ -0,0 +1,176 @@ + + + + + + + /obj/machinery/power/emitter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

emitter + + + +

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

activeIs the machine active?
allow_switch_interactUsed to stop interactions with the object (mainly in the wabbajack statue)
chargeAmount of power inside
fire_delaySeconds before the next shot
gunStores the type of gun we are using inside the emitter
gun_propertiesList of all the properties of the inserted gun
icon_state_onThe icon state used by the emitter when it's on.
icon_state_underpoweredThe icon state used by the emitter when it's on and low on power.
last_projectile_paramsstores the direction and orientation of the last projectile
last_shotWhen was the last shot
lockedIs the emitter id locked?
manualmanual shooting? (basically you hop onto the emitter and choose the shooting direction, is very janky since you can only shoot at the 8 directions and i don't think is ever used since you can't build those)
maximum_fire_delayMax delay before firing
minimum_fire_delayMin delay before firing
poweredDoes the machine have power?
projectile_soundWhat's the projectile sound?
projectile_typeWhat projectile type are we shooting?
shot_numberNumber of shots made (gets reset every few shots)
sparksSparks emitted with every shot
weldedif it's welded down to the ground or not. the emitter will not fire while unwelded. if set to true, the emitter will start anchored as well.

Procs

togglelockAttempt to toggle the controls lock of the emitter
+

Var Details

active + + + + +

+

Is the machine active?

allow_switch_interact + + + + +

+

Used to stop interactions with the object (mainly in the wabbajack statue)

charge + + + + +

+

Amount of power inside

fire_delay + + + + +

+

Seconds before the next shot

gun + + + + +

+

Stores the type of gun we are using inside the emitter

gun_properties + + + + +

+

List of all the properties of the inserted gun

icon_state_on + + + + +

+

The icon state used by the emitter when it's on.

icon_state_underpowered + + + + +

+

The icon state used by the emitter when it's on and low on power.

last_projectile_params + + + + +

+

stores the direction and orientation of the last projectile

last_shot + + + + +

+

When was the last shot

locked + + + + +

+

Is the emitter id locked?

manual + + + + +

+

manual shooting? (basically you hop onto the emitter and choose the shooting direction, is very janky since you can only shoot at the 8 directions and i don't think is ever used since you can't build those)

maximum_fire_delay + + + + +

+

Max delay before firing

minimum_fire_delay + + + + +

+

Min delay before firing

powered + + + + +

+

Does the machine have power?

projectile_sound + + + + +

+

What's the projectile sound?

projectile_type + + + + +

+

What projectile type are we shooting?

shot_number + + + + +

+

Number of shots made (gets reset every few shots)

sparks + + + + +

+

Sparks emitted with every shot

welded + + + + +

+

if it's welded down to the ground or not. the emitter will not fire while unwelded. if set to true, the emitter will start anchored as well.

Proc Details

togglelock +

+

Attempt to toggle the controls lock of the emitter

+ + + diff --git a/obj/machinery/power/emitter/prototype.html b/obj/machinery/power/emitter/prototype.html new file mode 100644 index 000000000000..92536a059bb9 --- /dev/null +++ b/obj/machinery/power/emitter/prototype.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/power/emitter/prototype - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

prototype + + + +

+ + + +

Vars

autoGrants the buckled mob the action button
view_rangeSets the view size for the user
+

Var Details

auto + + + + +

+

Grants the buckled mob the action button

view_range + + + + +

+

Sets the view size for the user

+ + + diff --git a/obj/machinery/power/energy_accumulator.html b/obj/machinery/power/energy_accumulator.html new file mode 100644 index 000000000000..4f21d83400c0 --- /dev/null +++ b/obj/machinery/power/energy_accumulator.html @@ -0,0 +1,44 @@ + + + + + + + /obj/machinery/power/energy_accumulator - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

energy_accumulator + + + +

+ +

Abstract type for generators that accumulate energy over time and slowly release it +eg. radiation collectors, tesla coils

+ +

Vars

stored_energyThe amount of energy that is currently inside the machine before being converted to electricity
wants_powernetWhether this accumulator should connect to and power a powernet
+

Var Details

stored_energy + + + + +

+

The amount of energy that is currently inside the machine before being converted to electricity

wants_powernet + + + + +

+

Whether this accumulator should connect to and power a powernet

+ + + diff --git a/obj/machinery/power/energy_accumulator/tesla_coil.html b/obj/machinery/power/energy_accumulator/tesla_coil.html new file mode 100644 index 000000000000..c9ed542724f8 --- /dev/null +++ b/obj/machinery/power/energy_accumulator/tesla_coil.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/power/energy_accumulator/tesla_coil - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tesla_coil + + + +

+ + + + + + + +

Vars

input_power_multiplierMultiplier for power conversion
last_zapReference to the last zap done
zap_cooldownCooldown between pulsed zaps
zap_flagsFlags of the zap that the coil releases when the wire is pulsed
zap_sound_rangeCalculated range of zap sounds based on power
zap_sound_volumeCalculated volume of zap sounds based on power
+

Var Details

input_power_multiplier + + + + +

+

Multiplier for power conversion

last_zap + + + + +

+

Reference to the last zap done

zap_cooldown + + + + +

+

Cooldown between pulsed zaps

zap_flags + + + + +

+

Flags of the zap that the coil releases when the wire is pulsed

zap_sound_range + + + + +

+

Calculated range of zap sounds based on power

zap_sound_volume + + + + +

+

Calculated volume of zap sounds based on power

+ + + diff --git a/obj/machinery/power/shieldwallgen.html b/obj/machinery/power/shieldwallgen.html new file mode 100644 index 000000000000..c5f0545a28d9 --- /dev/null +++ b/obj/machinery/power/shieldwallgen.html @@ -0,0 +1,42 @@ + + + + + + + /obj/machinery/power/shieldwallgen - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

shieldwallgen + + + +

+ + + +

Procs

cleanup_fieldcleans up fields in the specified direction if they belong to this generator
setup_fieldConstructs the actual field walls in the specified direction, cleans up old/stuck shields before doing so

Proc Details

cleanup_field +

+

cleans up fields in the specified direction if they belong to this generator

setup_field +

+

Constructs the actual field walls in the specified direction, cleans up old/stuck shields before doing so

+ + + diff --git a/obj/machinery/power/solar.html b/obj/machinery/power/solar.html new file mode 100644 index 000000000000..76c721067ac2 --- /dev/null +++ b/obj/machinery/power/solar.html @@ -0,0 +1,83 @@ + + + + + + + /obj/machinery/power/solar - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

solar + + + +

+ + + + + + + + +

Vars

azimuth_current[0-360) degrees, which direction are we facing?
needs_to_turndo we need to turn next tick?
needs_to_update_solar_exposuredo we need to call update_solar_exposure() next tick?
sunfrac[0-1] measure of obscuration -- multipllier against power generation

Procs

get_panel_transformGet the 2.5D transform for the panel, given an angle +Arguments:
occlusion_setuptrace towards sun to see if we're in shadow
update_solar_exposurecalculates the fraction of the sunlight that the panel receives
+

Var Details

azimuth_current + + + + +

+

[0-360) degrees, which direction are we facing?

needs_to_turn + + + + +

+

do we need to turn next tick?

needs_to_update_solar_exposure + + + + +

+

do we need to call update_solar_exposure() next tick?

sunfrac + + + + +

+

[0-1] measure of obscuration -- multipllier against power generation

Proc Details

get_panel_transform +

+

Get the 2.5D transform for the panel, given an angle +Arguments:

+

occlusion_setup +

+

trace towards sun to see if we're in shadow

update_solar_exposure +

+

calculates the fraction of the sunlight that the panel receives

+ + + diff --git a/obj/machinery/power/solar_control.html b/obj/machinery/power/solar_control.html new file mode 100644 index 000000000000..6c433a8c1efd --- /dev/null +++ b/obj/machinery/power/solar_control.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/power/solar_control - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

solar_control + + + +

+ + + + + +

Vars

connected_trackerSOLAR_TRACK_OFF, SOLAR_TRACK_TIMED, SOLAR_TRACK_AUTO
trackdegree change per minute

Procs

set_panelsRotates the panel to the passed angles
timed_trackRan every time the sun updates.
+

Var Details

connected_tracker + + + + +

+

SOLAR_TRACK_OFF, SOLAR_TRACK_TIMED, SOLAR_TRACK_AUTO

track + + + + +

+

degree change per minute

Proc Details

set_panels +

+

Rotates the panel to the passed angles

timed_track +

+

Ran every time the sun updates.

+ + + diff --git a/obj/machinery/power/supermatter.html b/obj/machinery/power/supermatter.html new file mode 100644 index 000000000000..81db715e9b3c --- /dev/null +++ b/obj/machinery/power/supermatter.html @@ -0,0 +1,162 @@ + + + + + + + /obj/machinery/power/supermatter - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

supermatter + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

common_channelThe common channel
damage_rate_limitdamage rate cap at power = 300, scales linearly with power
decay_factorAffects how fast the supermatter power decays
engineering_channelThe engineering channel
gl_uidThe amount of supermatters that have been created this round
has_been_poweredUsed to track when the SM is first turned on for admin logging.
include_in_cimsCan include in CIMs
movableIdk why this exists actually, i think its for unwrenching behavior
nitrogen_retardation_factorHigher == N2 slows reaction more
oxygen_release_modifierHigher == less oxygen released at high temperature/power
phoron_release_modifierHigher == less phoron released by reaction
power_factorControls how much power is produced by each collector in range - this is the main parameter for tweaking SM balance, as it basically controls how the power variable relates to the rest of the game.
radiation_release_modifierHigher == more radiation released with more power.
radioOur internal radio
radio_keyThe key our internal radio uses
reaction_power_modifierHigher == more overall power
thermal_release_modifierHigher == more heat released during reaction
uidThis supermatter's number

Procs

tram_contents_consumeConsume things that run into the supermatter from the tram. The tram calls forceMove (doesn't call Bump/ed) and not Move, and I'm afraid changing it will do something chaotic
+

Var Details

common_channel + + + + +

+

The common channel

damage_rate_limit + + + + +

+

damage rate cap at power = 300, scales linearly with power

decay_factor + + + + +

+

Affects how fast the supermatter power decays

engineering_channel + + + + +

+

The engineering channel

gl_uid + + + + +

+

The amount of supermatters that have been created this round

has_been_powered + + + + +

+

Used to track when the SM is first turned on for admin logging.

include_in_cims + + + + +

+

Can include in CIMs

movable + + + + +

+

Idk why this exists actually, i think its for unwrenching behavior

nitrogen_retardation_factor + + + + +

+

Higher == N2 slows reaction more

oxygen_release_modifier + + + + +

+

Higher == less oxygen released at high temperature/power

phoron_release_modifier + + + + +

+

Higher == less phoron released by reaction

power_factor + + + + +

+

Controls how much power is produced by each collector in range - this is the main parameter for tweaking SM balance, as it basically controls how the power variable relates to the rest of the game.

radiation_release_modifier + + + + +

+

Higher == more radiation released with more power.

radio + + + + +

+

Our internal radio

radio_key + + + + +

+

The key our internal radio uses

reaction_power_modifier + + + + +

+

Higher == more overall power

thermal_release_modifier + + + + +

+

Higher == more heat released during reaction

uid + + + + +

+

This supermatter's number

Proc Details

tram_contents_consume +

+

Consume things that run into the supermatter from the tram. The tram calls forceMove (doesn't call Bump/ed) and not Move, and I'm afraid changing it will do something chaotic

+ + + diff --git a/obj/machinery/power/tracker.html b/obj/machinery/power/tracker.html new file mode 100644 index 000000000000..b64212117005 --- /dev/null +++ b/obj/machinery/power/tracker.html @@ -0,0 +1,47 @@ + + + + + + + /obj/machinery/power/tracker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

tracker + + + +

+ + + +

Procs

get_tracker_transformGet the 2.5D transform for the tracker, given an angle +Arguments:
sun_updateTell the controller to turn the solar panels

Proc Details

get_tracker_transform +

+

Get the 2.5D transform for the tracker, given an angle +Arguments:

+

sun_update +

+

Tell the controller to turn the solar panels

+ + + diff --git a/obj/machinery/prisongate.html b/obj/machinery/prisongate.html new file mode 100644 index 000000000000..6f06b3589dc6 --- /dev/null +++ b/obj/machinery/prisongate.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/prisongate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

prisongate + + + +

+ + + +

Vars

gate_activedictates whether the gate barrier is up or not
max_integrityroughly the same health/armor as an airlock
+

Var Details

gate_active + + + + +

+

dictates whether the gate barrier is up or not

max_integrity + + + + +

+

roughly the same health/armor as an airlock

+ + + diff --git a/obj/machinery/reagentgrinder.html b/obj/machinery/reagentgrinder.html new file mode 100644 index 000000000000..f89da86aa6fe --- /dev/null +++ b/obj/machinery/reagentgrinder.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/reagentgrinder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

reagentgrinder + + + +

+ + +

Procs

warn_of_dustAdd a description to the current beaker warning of blended dust, if it doesn't already have that warning.

Proc Details

warn_of_dust +

+

Add a description to the current beaker warning of blended dust, if it doesn't already have that warning.

+ + + diff --git a/obj/machinery/recharger.html b/obj/machinery/recharger.html new file mode 100644 index 000000000000..3b2450654b65 --- /dev/null +++ b/obj/machinery/recharger.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/recharger - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

recharger + + + +

+ + +

Vars

finished_rechargingDid we finish recharging the currently inserted item?
+

Var Details

finished_recharging + + + + +

+

Did we finish recharging the currently inserted item?

+ + + diff --git a/obj/machinery/research/anomaly_refinery.html b/obj/machinery/research/anomaly_refinery.html new file mode 100644 index 000000000000..596fc2d67abc --- /dev/null +++ b/obj/machinery/research/anomaly_refinery.html @@ -0,0 +1,160 @@ + + + + + + + /obj/machinery/research/anomaly_refinery - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Explosive compressor machines + + + +

+ +

The explosive compressor machine used in anomaly core production.

+

Uses the standard ordnance/tank explosion scaling to compress raw anomaly cores into completed ones. The required explosion radius increases as more cores of that type are created.

+ + + + + + + + + + + + + + + + +

Vars

activeWhether we are currently active a bomb and core.
combined_gasmixCombined result of the first two tanks. Exists only in our machine.
inserted_bombThe TTV inserted in the machine.
inserted_coreThe raw core inserted in the machine.
reaction_incrementHere for the UI, tracks the amounts of reaction that has occured. 1 means valve opened but not reacted.
tank_to_targetDetermines which tank will be the merge_gases target (destroyed upon testing).
test_statusThe message produced by the explosive compressor at the end of the compression test.
timeout_timerThe timer that lets us timeout the test.

Procs

ExitedWe rely on exited to clear references.
check_testChecks whether an internal explosion was sufficient to compress the core.
eject_bombWe dont allow incomplete valves to go in but do code in checks for incomplete valves. Just in case.
end_testEnds a compression test.
error_testEjects a live TTV. +Triggered by attempting to operate an emagged anomaly refinery.
get_required_radiusDetermines how much explosive power (last value, so light impact theoretical radius) is required to make a certain anomaly type.
simulate_valveThis is not the real valve opening process. This is the simulated one used for displaying reactions.
start_testStarts a compression test.
timeout_testHandles timing out the test after a while.
+

Var Details

active + + + + +

+

Whether we are currently active a bomb and core.

combined_gasmix + + + + +

+

Combined result of the first two tanks. Exists only in our machine.

inserted_bomb + + + + +

+

The TTV inserted in the machine.

inserted_core + + + + +

+

The raw core inserted in the machine.

reaction_increment + + + + +

+

Here for the UI, tracks the amounts of reaction that has occured. 1 means valve opened but not reacted.

tank_to_target + + + + +

+

Determines which tank will be the merge_gases target (destroyed upon testing).

test_status + + + + +

+

The message produced by the explosive compressor at the end of the compression test.

timeout_timer + + + + +

+

The timer that lets us timeout the test.

Proc Details

Exited +

+

We rely on exited to clear references.

check_test +

+

Checks whether an internal explosion was sufficient to compress the core.

eject_bomb +

+

We dont allow incomplete valves to go in but do code in checks for incomplete valves. Just in case.

end_test +

+

Ends a compression test.

+

Arguments:

+

error_test +

+

Ejects a live TTV. +Triggered by attempting to operate an emagged anomaly refinery.

get_required_radius +

+

Determines how much explosive power (last value, so light impact theoretical radius) is required to make a certain anomaly type.

+

Returns null if the max amount has already been reached.

+

Arguments:

+

simulate_valve +

+

This is not the real valve opening process. This is the simulated one used for displaying reactions.

start_test +

+

Starts a compression test.

timeout_test +

+

Handles timing out the test after a while.

+ + + diff --git a/obj/machinery/restaurant_portal.html b/obj/machinery/restaurant_portal.html new file mode 100644 index 000000000000..770d695c6e49 --- /dev/null +++ b/obj/machinery/restaurant_portal.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/restaurant_portal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

restaurant_portal + + + +

+ + + +

Vars

linked_venueWhat venue is this portal for? Uses a typepath which is turned into an instance on Initialize
turned_on_portalA weak reference to the mob who turned on the portal
+

Var Details

linked_venue + + + + +

+

What venue is this portal for? Uses a typepath which is turned into an instance on Initialize

turned_on_portal + + + + +

+

A weak reference to the mob who turned on the portal

+ + + diff --git a/obj/machinery/rnd/production.html b/obj/machinery/rnd/production.html new file mode 100644 index 000000000000..859ec93eedfe --- /dev/null +++ b/obj/machinery/rnd/production.html @@ -0,0 +1,102 @@ + + + + + + + /obj/machinery/rnd/production - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

production + + + +

+ + + + + + + + + + +

Vars

categoriesCache so we don't rebuild this every Topic(), see compile_categories().
department_tagUsed for material distribution among other things.
efficiency_coeffMaterials needed / coeff = actual.
matching_designsUsed by the search in the UI.
processing_packetA queue packet we are processing
queueThe queue of things to produce. It's a list of lists.
stripe_colorWhat color is this machine's stripe? Leave null to not have a stripe.

Procs

check_material_reqReturns how many times over the given material requirement for the given design is satisfied.
check_reagent_reqReturns how many times over the given reagent requirement for the given design is satisfied.
+

Var Details

categories + + + + +

+

Cache so we don't rebuild this every Topic(), see compile_categories().

department_tag + + + + +

+

Used for material distribution among other things.

efficiency_coeff + + + + +

+

Materials needed / coeff = actual.

matching_designs + + + + +

+

Used by the search in the UI.

processing_packet + + + + +

+

A queue packet we are processing

queue + + + + +

+

The queue of things to produce. It's a list of lists.

stripe_color + + + + +

+

What color is this machine's stripe? Leave null to not have a stripe.

Proc Details

check_material_req +

+

Returns how many times over the given material requirement for the given design is satisfied.

+

Arguments:

+

check_reagent_req +

+

Returns how many times over the given reagent requirement for the given design is satisfied.

+

Arguments:

+
+ + + diff --git a/obj/machinery/rotating_alarm.html b/obj/machinery/rotating_alarm.html new file mode 100644 index 000000000000..68345b31cd7b --- /dev/null +++ b/obj/machinery/rotating_alarm.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/rotating_alarm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

rotating_alarm + + + +

+ + +

Vars

angleThis is an angle to rotate the colour of alarm and its light. Default is orange, so, a 45 degree angle clockwise will make it green
+

Var Details

angle + + + + +

+

This is an angle to rotate the colour of alarm and its light. Default is orange, so, a 45 degree angle clockwise will make it green

+ + + diff --git a/obj/machinery/roulette.html b/obj/machinery/roulette.html new file mode 100644 index 000000000000..897782bf0063 --- /dev/null +++ b/obj/machinery/roulette.html @@ -0,0 +1,91 @@ + + + + + + + /obj/machinery/roulette - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

roulette + + + +

+ +

Machine that lets you play roulette. Odds are pre-defined to be the same as European Roulette without the "En Prison" rule

+ + + + + + + + +

Procs

attackbyHandles setting ownership and the betting itself.
check_bartender_fundsReturns TRUE if the owner has enough funds to payout
check_winReturns TRUE if the player bet correctly.
dispense_prizeFills a list of coins that should be dropped.
drop_coinRecursive function that runs until it runs out of coins to drop.
finish_playRan after a while to check if the player won or not.
on_my_card_deleteddeletes the my_card ref to prevent harddels
playProc called when player is going to try and play
prize_theftFills a list of coins that should be dropped.

Proc Details

attackby +

+

Handles setting ownership and the betting itself.

check_bartender_funds +

+

Returns TRUE if the owner has enough funds to payout

check_win +

+

Returns TRUE if the player bet correctly.

dispense_prize +

+

Fills a list of coins that should be dropped.

drop_coin +

+

Recursive function that runs until it runs out of coins to drop.

finish_play +

+

Ran after a while to check if the player won or not.

on_my_card_deleted +

+

deletes the my_card ref to prevent harddels

play +

+

Proc called when player is going to try and play

prize_theft +

+

Fills a list of coins that should be dropped.

+ + + diff --git a/obj/machinery/scanner_gate.html b/obj/machinery/scanner_gate.html new file mode 100644 index 000000000000..49ce2d7fe8ce --- /dev/null +++ b/obj/machinery/scanner_gate.html @@ -0,0 +1,99 @@ + + + + + + + /obj/machinery/scanner_gate - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

scanner_gate + + + +

+ + + + + + + + + + + +

Vars

detect_nutritionIf scanning for nutrition, what level of nutrition will trigger the scanner?
detect_speciesIf scanning for a specific species, what species is it looking for?
disease_thresholdIs searching for a disease, what severity is enough to trigger the gate?
ignore_signalsDoes the scanner ignore light_pass and light_fail for sending signals?
light_failWill the assembly on the pass wire activate if the scanner resolves red (fail) on crossing?
light_passWill the assembly on the pass wire activate if the scanner resolves green (Pass) on crossing?
lockedBool to check if the scanner's controls are locked by an ID.
next_beepInternal timer to prevent audio spam.
reverseFlips all scan results for inverse scanning. Signals if scan returns false.
scangate_modeWhich setting is the scanner checking for? See defines in scan_gate.dm for the list.
+

Var Details

detect_nutrition + + + + +

+

If scanning for nutrition, what level of nutrition will trigger the scanner?

detect_species + + + + +

+

If scanning for a specific species, what species is it looking for?

disease_threshold + + + + +

+

Is searching for a disease, what severity is enough to trigger the gate?

ignore_signals + + + + +

+

Does the scanner ignore light_pass and light_fail for sending signals?

light_fail + + + + +

+

Will the assembly on the pass wire activate if the scanner resolves red (fail) on crossing?

light_pass + + + + +

+

Will the assembly on the pass wire activate if the scanner resolves green (Pass) on crossing?

locked + + + + +

+

Bool to check if the scanner's controls are locked by an ID.

next_beep + + + + +

+

Internal timer to prevent audio spam.

reverse + + + + +

+

Flips all scan results for inverse scanning. Signals if scan returns false.

scangate_mode + + + + +

+

Which setting is the scanner checking for? See defines in scan_gate.dm for the list.

+ + + diff --git a/obj/machinery/seed_extractor.html b/obj/machinery/seed_extractor.html new file mode 100644 index 000000000000..591e9b258cdc --- /dev/null +++ b/obj/machinery/seed_extractor.html @@ -0,0 +1,76 @@ + + + + + + + /obj/machinery/seed_extractor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

seed_extractor + + + +

+ + + + +

Vars

pilesAssociated list of seeds, they are all weak refs. We check the len to see how many refs we have for each

Procs

add_seed
generate_seed_stringGenerate seed string
+

Var Details

piles + + + + +

+

Associated list of seeds, they are all weak refs. We check the len to see how many refs we have for each

Proc Details

add_seed +

+

generate_seed_string +

+

Generate seed string

+

Creates a string based of the traits of a seed. We use this string as a bucket for all +seeds that match as well as the key the ui uses to get the seed. We also use the key +for the data shown in the ui. Javascript parses this string to display

+

Arguments:

+
+ + + diff --git a/obj/machinery/shieldwall.html b/obj/machinery/shieldwall.html new file mode 100644 index 000000000000..cb2087f947aa --- /dev/null +++ b/obj/machinery/shieldwall.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/shieldwall - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

shieldwall + + + +

+ +

Containment Field START

+

Procs

drain_powersuccs power from the connected shield wall generator

Proc Details

drain_power +

+

succs power from the connected shield wall generator

+ + + diff --git a/obj/machinery/shower.html b/obj/machinery/shower.html new file mode 100644 index 000000000000..f1b937de25b7 --- /dev/null +++ b/obj/machinery/shower.html @@ -0,0 +1,85 @@ + + + + + + + /obj/machinery/shower - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

shower + + + +

+ + + + + + + + + +

Vars

can_refillWhether or not the shower's water reclaimer is operating.
can_toggle_refillWhether to allow players to toggle the water reclaimer.
current_temperatureWhat temperature the shower reagents are set to.
onIs the shower on or off?
reagent_capacityHow much reagent capacity should the shower begin with when built.
reagent_idWhat reagent should the shower be filled with when initially built.
refill_rateHow many units the shower refills every second.
soundloopWhat sound will be played on loop when the shower is on and pouring water.
+

Var Details

can_refill + + + + +

+

Whether or not the shower's water reclaimer is operating.

can_toggle_refill + + + + +

+

Whether to allow players to toggle the water reclaimer.

current_temperature + + + + +

+

What temperature the shower reagents are set to.

on + + + + +

+

Is the shower on or off?

reagent_capacity + + + + +

+

How much reagent capacity should the shower begin with when built.

reagent_id + + + + +

+

What reagent should the shower be filled with when initially built.

refill_rate + + + + +

+

How many units the shower refills every second.

soundloop + + + + +

+

What sound will be played on loop when the shower is on and pouring water.

+ + + diff --git a/obj/machinery/skill_station.html b/obj/machinery/skill_station.html new file mode 100644 index 000000000000..9cc36e7844ce --- /dev/null +++ b/obj/machinery/skill_station.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/skill_station - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

skill_station + + + +

+ + + + + + + + +

Vars

inserted_skillchipWhat we're implanting
work_timerTimer until implanting/removing finishes.
workingCurrently implanting/removing

Procs

implantFinish implanting.
remove_skillchipFinish removal.
start_implantingStart implanting.
start_removalStart removal.
+

Var Details

inserted_skillchip + + + + +

+

What we're implanting

work_timer + + + + +

+

Timer until implanting/removing finishes.

working + + + + +

+

Currently implanting/removing

Proc Details

implant +

+

Finish implanting.

remove_skillchip +

+

Finish removal.

start_implanting +

+

Start implanting.

start_removal +

+

Start removal.

+ + + diff --git a/obj/machinery/smartfridge.html b/obj/machinery/smartfridge.html new file mode 100644 index 000000000000..59569e16111a --- /dev/null +++ b/obj/machinery/smartfridge.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/smartfridge - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

smartfridge + + + +

+ + + + + + + + +

Vars

allow_ai_retrieveIf the AI is allowed to retrieve items within the machine
base_build_pathWhat path boards used to construct it should build into when dropped. Needed so we don't accidentally have them build variants with items preloaded in them.
initial_contentsList of items that the machine starts with upon spawn
max_n_of_itemsMaximum number of items that can be loaded into the machine
visible_contentsIf the machine shows an approximate number of its contents on its sprite

Procs

attackbyItem Adding
dispenseReally simple proc, just moves the object "O" into the hands of mob "M" if able, done so I could modify the proc a little for the organ fridge
+

Var Details

allow_ai_retrieve + + + + +

+

If the AI is allowed to retrieve items within the machine

base_build_path + + + + +

+

What path boards used to construct it should build into when dropped. Needed so we don't accidentally have them build variants with items preloaded in them.

initial_contents + + + + +

+

List of items that the machine starts with upon spawn

max_n_of_items + + + + +

+

Maximum number of items that can be loaded into the machine

visible_contents + + + + +

+

If the machine shows an approximate number of its contents on its sprite

Proc Details

attackby +

+

Item Adding

dispense +

+

Really simple proc, just moves the object "O" into the hands of mob "M" if able, done so I could modify the proc a little for the organ fridge

+ + + diff --git a/obj/machinery/space_heater.html b/obj/machinery/space_heater.html new file mode 100644 index 000000000000..bf02aba802b8 --- /dev/null +++ b/obj/machinery/space_heater.html @@ -0,0 +1,106 @@ + + + + + + + /obj/machinery/space_heater - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

space_heater + + + +

+ + + + + + + + + + + + +

Vars

cellThe cell we spawn with
display_panelShould we add an overlay for open spaceheaters
efficiencyHow efficiently we can deliver that heat/cold (higher indicates less cell consumption)
heating_powerHow much heat/cold we can deliver
modeWhat is the mode we are in now?
onIs the machine on?
set_modeAnything other than "heat" or "cool" is considered auto.
settable_temperature_medianWhat's the middle point of our settable temperature (30 °C)
settable_temperature_rangeRange of temperatures above and below the median that we can set our target temperature (increase by upgrading the capacitors)
target_temperatureThe temperature we trying to get to
temperature_toleranceThe amount of degrees above and below the target temperature for us to change mode to heater or cooler
+

Var Details

cell + + + + +

+

The cell we spawn with

display_panel + + + + +

+

Should we add an overlay for open spaceheaters

efficiency + + + + +

+

How efficiently we can deliver that heat/cold (higher indicates less cell consumption)

heating_power + + + + +

+

How much heat/cold we can deliver

mode + + + + +

+

What is the mode we are in now?

on + + + + +

+

Is the machine on?

set_mode + + + + +

+

Anything other than "heat" or "cool" is considered auto.

settable_temperature_median + + + + +

+

What's the middle point of our settable temperature (30 °C)

settable_temperature_range + + + + +

+

Range of temperatures above and below the median that we can set our target temperature (increase by upgrading the capacitors)

target_temperature + + + + +

+

The temperature we trying to get to

temperature_tolerance + + + + +

+

The amount of degrees above and below the target temperature for us to change mode to heater or cooler

+ + + diff --git a/obj/machinery/space_heater/improvised_chem_heater.html b/obj/machinery/space_heater/improvised_chem_heater.html new file mode 100644 index 000000000000..f2689eebcbc1 --- /dev/null +++ b/obj/machinery/space_heater/improvised_chem_heater.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/space_heater/improvised_chem_heater - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

improvised_chem_heater + + + +

+ +

For use with heating reagents in a ghetto way

+ + +

Vars

beakerThe beaker within the heater
chem_heating_powerHow powerful the heating is, upgrades with parts. (ala chem_heater.dm's method, basically the same level of heating, but this is restricted)

Procs

attackbySlightly modified to ignore the open_hatch - it's always open, we hacked it.
+

Var Details

beaker + + + + +

+

The beaker within the heater

chem_heating_power + + + + +

+

How powerful the heating is, upgrades with parts. (ala chem_heater.dm's method, basically the same level of heating, but this is restricted)

Proc Details

attackby +

+

Slightly modified to ignore the open_hatch - it's always open, we hacked it.

+ + + diff --git a/obj/machinery/status_display.html b/obj/machinery/status_display.html new file mode 100644 index 000000000000..0f1f0cda7e22 --- /dev/null +++ b/obj/machinery/status_display.html @@ -0,0 +1,77 @@ + + + + + + + /obj/machinery/status_display - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

status_display + + + +

+ +

Status display which can show images and scrolling text.

+ + + + +

Procs

remove_messagesRemove both message objs and null the fields. +Don't call this in subclasses.
set_messagesImmediately change the display to the given two lines.
set_pictureImmediately change the display to the given picture.
updateUpdate the display and, if necessary, re-enable processing.
update_messageCreate/update message overlay. +They must be handled as real objects for the animation to run. +Don't call this in subclasses. +Arguments:

Proc Details

remove_messages +

+

Remove both message objs and null the fields. +Don't call this in subclasses.

set_messages +

+

Immediately change the display to the given two lines.

set_picture +

+

Immediately change the display to the given picture.

update +

+

Update the display and, if necessary, re-enable processing.

update_message +

+

Create/update message overlay. +They must be handled as real objects for the animation to run. +Don't call this in subclasses. +Arguments:

+
+ + + diff --git a/obj/machinery/status_display/ai.html b/obj/machinery/status_display/ai.html new file mode 100644 index 000000000000..2ae4300d483e --- /dev/null +++ b/obj/machinery/status_display/ai.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/status_display/ai - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ai + + + +

+ +

Pictograph display which the AI can use to emote.

+

Vars

emotion_mapA mapping between AI_EMOTION_* string constants, which also double as user readable descriptions, and the name of the iconfile.
+

Var Details

emotion_map + + + + +

+

A mapping between AI_EMOTION_* string constants, which also double as user readable descriptions, and the name of the iconfile.

+ + + diff --git a/obj/machinery/suit_storage_unit.html b/obj/machinery/suit_storage_unit.html new file mode 100644 index 000000000000..9124c2839800 --- /dev/null +++ b/obj/machinery/suit_storage_unit.html @@ -0,0 +1,142 @@ + + + + + + + /obj/machinery/suit_storage_unit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

suit_storage_unit + + + +

+ + + + + + + + + + + + + + + +

Vars

breakout_timeHow long it takes to break out of the SSU.
charge_rateHow fast it charges cells in a suit
helmet_typeWhat type of space helmet the unit starts with when spawned.
lockedIf the SSU's doors are locked closed. Can be toggled manually via the UI, but is also locked automatically when the UV decontamination sequence is running.
mask_typeWhat type of breathmask the unit starts with when spawned.
message_cooldownCooldown for occupant breakout messages via relaymove()
mod_typeWhat type of MOD the unit starts with when spawned.
safetiesIf the safety wire is cut/pulsed, the SSU can run the decontamination sequence while occupied by a mob. The mob will be burned during every cycle of cook().
storage_typeWhat type of additional item the unit starts with when spawned.
suit_typeWhat type of spacesuit the unit starts with when spawned.
uvIf UV decontamination sequence is running. See cook()
uv_cyclesHow many cycles remain for the decontamination sequence.
uv_superIf the hack wire is cut/pulsed. +Modifies effects of cook()

Procs

cookUV decontamination sequence. +Duration is determined by the uv_cycles var. +Effects determined by the uv_super var.
+

Var Details

breakout_time + + + + +

+

How long it takes to break out of the SSU.

charge_rate + + + + +

+

How fast it charges cells in a suit

helmet_type + + + + +

+

What type of space helmet the unit starts with when spawned.

locked + + + + +

+

If the SSU's doors are locked closed. Can be toggled manually via the UI, but is also locked automatically when the UV decontamination sequence is running.

mask_type + + + + +

+

What type of breathmask the unit starts with when spawned.

message_cooldown + + + + +

+

Cooldown for occupant breakout messages via relaymove()

mod_type + + + + +

+

What type of MOD the unit starts with when spawned.

safeties + + + + +

+

If the safety wire is cut/pulsed, the SSU can run the decontamination sequence while occupied by a mob. The mob will be burned during every cycle of cook().

storage_type + + + + +

+

What type of additional item the unit starts with when spawned.

suit_type + + + + +

+

What type of spacesuit the unit starts with when spawned.

uv + + + + +

+

If UV decontamination sequence is running. See cook()

uv_cycles + + + + +

+

How many cycles remain for the decontamination sequence.

uv_super + + + + +

+

If the hack wire is cut/pulsed. +Modifies effects of cook()

+

Proc Details

cook +

+

UV decontamination sequence. +Duration is determined by the uv_cycles var. +Effects determined by the uv_super var.

+
+ + + diff --git a/obj/machinery/teambuilder.html b/obj/machinery/teambuilder.html new file mode 100644 index 000000000000..39c9ad79ff4e --- /dev/null +++ b/obj/machinery/teambuilder.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/teambuilder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

teambuilder + + + +

+ +

Simple admin tool that enables players to be assigned to a VERY SHITTY, very visually distinct team, quickly and affordably.

+ + +

Vars

humans_onlyAre non-humans allowed to use this?
team_colorWhat color is your mob set to when crossed?
team_radioWhat radio station is your radio set to when crossed (And human)?
+

Var Details

humans_only + + + + +

+

Are non-humans allowed to use this?

team_color + + + + +

+

What color is your mob set to when crossed?

team_radio + + + + +

+

What radio station is your radio set to when crossed (And human)?

+ + + diff --git a/obj/machinery/telecomms.html b/obj/machinery/telecomms.html new file mode 100644 index 000000000000..15c540aed328 --- /dev/null +++ b/obj/machinery/telecomms.html @@ -0,0 +1,157 @@ + + + + + + + /obj/machinery/telecomms - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

telecomms + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

autolinkerslist of text/number values to link with
banned_frequenciesIllegal frequencies that can't be listened to by telecommunication servers.
hideIs it a hidden machine?
ididentification string
linkslist of machines this machine is linked to
links_by_telecomms_typeassociative lazylist list of the telecomms_type of linked telecomms machines and a list of said machines. +eg list(telecomms_type1 = list(everything linked to us with that type), telecomms_type2 = list(everything linked to us with THAT type)...)
long_range_linkCan you link it across Z levels or on the otherside of the map? (Relay & Hub)
netspeedhow much traffic to lose per second (50 gigabytes/second * netspeed)
networkthe network of the machinery
soundloopLooping sounds for any servers
telecomms_typethe relevant type path of this telecomms machine eg /obj/machinery/telecomms/server but not server/preset. used for links_by_telecomms_type
toggledIs it toggled on
trafficvalue increases as traffic increases

Procs

add_automatic_linkUsed in auto linking
add_new_linkadds new_connection to src's links list AND vice versa. also updates links_by_telecomms_type
receive_informationreceive information from linked machinery
relay_informationrelay signal to all linked machinery that are of type [filter]. If signal has been sent [amount] times, stop sending
remove_linkremoves old_connection from src's links list AND vice versa. also updates links_by_telecomms_type
+

Var Details

autolinkers + + + + +

+

list of text/number values to link with

banned_frequencies + + + + +

+

Illegal frequencies that can't be listened to by telecommunication servers.

hide + + + + +

+

Is it a hidden machine?

id + + + + +

+

identification string

+

list of machines this machine is linked to

+

associative lazylist list of the telecomms_type of linked telecomms machines and a list of said machines. +eg list(telecomms_type1 = list(everything linked to us with that type), telecomms_type2 = list(everything linked to us with THAT type)...)

+

Can you link it across Z levels or on the otherside of the map? (Relay & Hub)

netspeed + + + + +

+

how much traffic to lose per second (50 gigabytes/second * netspeed)

network + + + + +

+

the network of the machinery

soundloop + + + + +

+

Looping sounds for any servers

telecomms_type + + + + +

+

the relevant type path of this telecomms machine eg /obj/machinery/telecomms/server but not server/preset. used for links_by_telecomms_type

toggled + + + + +

+

Is it toggled on

traffic + + + + +

+

value increases as traffic increases

Proc Details

+

Used in auto linking

+

adds new_connection to src's links list AND vice versa. also updates links_by_telecomms_type

receive_information +

+

receive information from linked machinery

relay_information +

+

relay signal to all linked machinery that are of type [filter]. If signal has been sent [amount] times, stop sending

+

removes old_connection from src's links list AND vice versa. also updates links_by_telecomms_type

+ + + diff --git a/obj/machinery/telecomms/relay.html b/obj/machinery/telecomms/relay.html new file mode 100644 index 000000000000..94c4c3f5ecb8 --- /dev/null +++ b/obj/machinery/telecomms/relay.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/telecomms/relay - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

relay + + + +

+ + +

Procs

canChecks to see if it can send/receive.

Proc Details

can +

+

Checks to see if it can send/receive.

+ + + diff --git a/obj/machinery/telephone.html b/obj/machinery/telephone.html new file mode 100644 index 000000000000..e511bf2a4931 --- /dev/null +++ b/obj/machinery/telephone.html @@ -0,0 +1,164 @@ + + + + + + + /obj/machinery/telephone - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

telephone + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

active_callerlist(netaddr,friendly_name) of active call
discovered_phonesfriendly_name:netid
friendly_nameThe 'common name' of the station. Used in the UI.
placard_nameName 'placard', such as 'Special Hotline', gets appended to the end.
show_netidsDo we show netaddrs in the phone UI, or just the names?

Procs

accept_callAccept the incoming call, Inform Originator. +STATE_ANSWER -> STATE_CONNECTED
call_connectedAcknowledge accepted call +STATE_ORIGINATE -> STATE_CONNECTED
call_droppedFar side dropped us, Perform hangup stuff and wait until the handset is returned to fully reset and be ready to accept another call +STATE_CONNECTED -> STATE_HANGUP
cleanup_residual_callWe are listening to the buzzer telling us to hang up. +STATE_FARBUSY/STATE_HANGUP -> STATE_WAITING
drop_callEnd call immediately +STATE_CONNECTED(handset onhook)/STATE_ORIGINATE(handset onhook)/STATE_ANSWER(packet) -> STATE_WAITING
fuck_off_im_busyRemote phone can't answer due to busy, do the sound and wait until the handset is returned to reset. +STATE_ORIGINATE -> STATE_FARBUSY
get_state_renderUI
handset_statechangeProcess the fact that the handset has changed states.
place_callRegister a new call +STATE_WAITING -> STATE_ORIGINATE
recalculate_nameRecalculate our name.
receive_callReceive the incoming call +STATE_WAITING -> STATE_ANSWER
toggle_handsetToggle the state of the handset.
+

Var Details

active_caller + + + + +

+

list(netaddr,friendly_name) of active call

discovered_phones + + + + +

+

friendly_name:netid

friendly_name + + + + +

+

The 'common name' of the station. Used in the UI.

placard_name + + + + +

+

Name 'placard', such as 'Special Hotline', gets appended to the end.

show_netids + + + + +

+

Do we show netaddrs in the phone UI, or just the names?

Proc Details

accept_call +

+

Accept the incoming call, Inform Originator. +STATE_ANSWER -> STATE_CONNECTED

call_connected +

+

Acknowledge accepted call +STATE_ORIGINATE -> STATE_CONNECTED

call_dropped +

+

Far side dropped us, Perform hangup stuff and wait until the handset is returned to fully reset and be ready to accept another call +STATE_CONNECTED -> STATE_HANGUP

cleanup_residual_call +

+

We are listening to the buzzer telling us to hang up. +STATE_FARBUSY/STATE_HANGUP -> STATE_WAITING

drop_call +

+

End call immediately +STATE_CONNECTED(handset onhook)/STATE_ORIGINATE(handset onhook)/STATE_ANSWER(packet) -> STATE_WAITING

fuck_off_im_busy +

+

Remote phone can't answer due to busy, do the sound and wait until the handset is returned to reset. +STATE_ORIGINATE -> STATE_FARBUSY

get_state_render +

+

UI

handset_statechange +

+

Process the fact that the handset has changed states.

place_call +

+

Register a new call +STATE_WAITING -> STATE_ORIGINATE

recalculate_name +

+

Recalculate our name.

receive_call +

+

Receive the incoming call +STATE_WAITING -> STATE_ANSWER

toggle_handset +

+

Toggle the state of the handset.

+ + + diff --git a/obj/machinery/turretid.html b/obj/machinery/turretid.html new file mode 100644 index 000000000000..bfb7d8178f96 --- /dev/null +++ b/obj/machinery/turretid.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/turretid - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

turretid + + + +

+ + + + + + + + +

Vars

ailockAI is unable to use this machine if set to TRUE
control_areaAn area in which linked turrets are located, it can be an area name, path or nothing
enabledVariable dictating if linked turrets are active and will shoot targets
lethalVariable dictating if linked turrets will shoot lethal projectiles
lockedVariable dictating if the panel is locked, preventing changes to turret settings
shoot_cyborgsVariable dictating if linked turrets will shoot cyborgs
turretsList of weakrefs to all turrets
+

Var Details

ailock + + + + +

+

AI is unable to use this machine if set to TRUE

control_area + + + + +

+

An area in which linked turrets are located, it can be an area name, path or nothing

enabled + + + + +

+

Variable dictating if linked turrets are active and will shoot targets

lethal + + + + +

+

Variable dictating if linked turrets will shoot lethal projectiles

locked + + + + +

+

Variable dictating if the panel is locked, preventing changes to turret settings

shoot_cyborgs + + + + +

+

Variable dictating if linked turrets will shoot cyborgs

turrets + + + + +

+

List of weakrefs to all turrets

+ + + diff --git a/obj/machinery/vending.html b/obj/machinery/vending.html new file mode 100644 index 000000000000..9d5f585d6ae3 --- /dev/null +++ b/obj/machinery/vending.html @@ -0,0 +1,443 @@ + + + + + + + /obj/machinery/vending - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

vending machines + + + +

+ +

Captalism in the year 2525, everything in a vending machine, even love

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

Radioused for narcing on underages
activeIs the machine active (No sales pitches if off)!
age_restrictionsWhether our age check is currently functional
billBills we accept?
canload_access_listID's that can load this vending machine wtih refills
coinCoins that we accept?
contrabandList of products this machine sells when you hack it
default_priceDefault price of items if not overridden
discount_accessAccess that gets the non-premium content for free
extended_inventorycan we access the hidden inventory?
extra_priceDefault price ADDED to the default price of premium items if they don't have one set.
icon_denyIcon to flash when user is denied a vend
icon_vendIcon when vending an item to the user
input_display_headerDisplay header on the input view
last_replyLast world tick we sent a vent reply
last_shopperThe ref of the last mob to shop with us
last_sloganLast world tick we sent a slogan message out
light_maskName of lighting mask for the vending machine
loaded_itemshow many items have been inserted in a vendor
onstationIs this item on station or not
onstation_overrideA variable to change on a per instance basis on the map that allows the instance to force cost and ID requirements
panel_typeIcon for the maintenance panel overlay
premiumList of premium products this machine sells
product_adsString of small ad messages in the vending screen - random chance
product_slogansString of slogans separated by semicolons, optional
productsList of products this machine sells
purchase_message_cooldownNext world time to send a purchase message
scan_idAre we checking the users ID
seconds_electrifiedWorld ticks the machine is electified for
shoot_inventoryWhen this is TRUE, we fire items at customers! We're broken!
shoot_inventory_chanceHow likely this is to happen (prob 100) per second
slogan_delayHow many ticks until we can send another
small_adsSmall ad messages in the vending screen - random chance of popping up whenever you open it
vend_readyAre we ready to vend?? Is it time??
vend_replyMessage sent post vend (Thank you for shopping!)

Procs

InitializeInitialize the vending machine
build_inventoryBuild the inventory of the vending machine from it's product and record lists
canLoadItemAre we able to load the item passed in
compartmentLoadAccessCheckIs the passed in user allowed to load this vending machines compartments
pre_throwA callback called before an item is tossed out
refill_inventoryRefill our inventory from the passed in product list into the record list
reset_pricesPrices of vending machines are all increased uniformly. +Reassign the prices of the vending machine using the multiplier argument
restockRefill a vending machine from a refill canister
shockShock the passed in user
speakSpeak the given message verbally
throw_impactCrush the mob that the vending machine got thrown at
throw_itemThrow an item from our internal inventory out in front of us
tiltTilts ontop of the atom supplied, if crit is true some extra shit can happen. Returns TRUE if it dealt damage to something.
unbuild_inventoryGiven a record list, go through and and return a list of type -> amount
update_canisterSet up a refill canister that matches this machines products
+

Var Details

Radio + + + + +

+

used for narcing on underages

active + + + + +

+

Is the machine active (No sales pitches if off)!

age_restrictions + + + + +

+

Whether our age check is currently functional

bill + + + + +

+

Bills we accept?

canload_access_list + + + + +

+

ID's that can load this vending machine wtih refills

coin + + + + +

+

Coins that we accept?

contraband + + + + +

+

List of products this machine sells when you hack it

+

form should be list(/type/path = amount, /type/path2 = amount2)

default_price + + + + +

+

Default price of items if not overridden

discount_access + + + + +

+

Access that gets the non-premium content for free

extended_inventory + + + + +

+

can we access the hidden inventory?

extra_price + + + + +

+

Default price ADDED to the default price of premium items if they don't have one set.

icon_deny + + + + +

+

Icon to flash when user is denied a vend

icon_vend + + + + +

+

Icon when vending an item to the user

input_display_header + + + + +

+

Display header on the input view

last_reply + + + + +

+

Last world tick we sent a vent reply

last_shopper + + + + +

+

The ref of the last mob to shop with us

last_slogan + + + + +

+

Last world tick we sent a slogan message out

light_mask + + + + +

+

Name of lighting mask for the vending machine

loaded_items + + + + +

+

how many items have been inserted in a vendor

onstation + + + + +

+

Is this item on station or not

+

if it doesn't originate from off-station during mapload, everything is free

onstation_override + + + + +

+

A variable to change on a per instance basis on the map that allows the instance to force cost and ID requirements

panel_type + + + + +

+

Icon for the maintenance panel overlay

premium + + + + +

+

List of premium products this machine sells

+

form should be list(/type/path, /type/path2) as there is only ever one in stock

product_ads + + + + +

+

String of small ad messages in the vending screen - random chance

product_slogans + + + + +

+

String of slogans separated by semicolons, optional

products + + + + +

+

List of products this machine sells

+

form should be list(/type/path = amount, /type/path2 = amount2)

purchase_message_cooldown + + + + +

+

Next world time to send a purchase message

scan_id + + + + +

+

Are we checking the users ID

seconds_electrified + + + + +

+

World ticks the machine is electified for

shoot_inventory + + + + +

+

When this is TRUE, we fire items at customers! We're broken!

shoot_inventory_chance + + + + +

+

How likely this is to happen (prob 100) per second

slogan_delay + + + + +

+

How many ticks until we can send another

small_ads + + + + +

+

Small ad messages in the vending screen - random chance of popping up whenever you open it

vend_ready + + + + +

+

Are we ready to vend?? Is it time??

vend_reply + + + + +

+

Message sent post vend (Thank you for shopping!)

Proc Details

Initialize +

+

Initialize the vending machine

+

Builds the vending machine inventory, sets up slogans and other such misc work

+

This also sets the onstation var to:

+

build_inventory +

+

Build the inventory of the vending machine from it's product and record lists

+

This builds up a full set of /datum/data/vending_products from the product list of the vending machine type +Arguments:

+

canLoadItem +

+

Are we able to load the item passed in

+

Arguments:

+

compartmentLoadAccessCheck +

+

Is the passed in user allowed to load this vending machines compartments

+

Arguments:

+

pre_throw +

+

A callback called before an item is tossed out

+

Override this if you need to do any special case handling

+

Arguments:

+

refill_inventory +

+

Refill our inventory from the passed in product list into the record list

+

Arguments:

+

reset_prices +

+

Prices of vending machines are all increased uniformly. +Reassign the prices of the vending machine using the multiplier argument

+

This rebuilds both /datum/data/vending_products lists for premium and standard products based on their most relevant pricing values. +Arguments:

+

restock +

+

Refill a vending machine from a refill canister

+

This takes the products from the refill canister and then fills the products,contraband and premium product categories

+

Arguments:

+

shock +

+

Shock the passed in user

+

This checks we have power and that the passed in prob is passed, then generates some sparks +and calls electrocute_mob on the user

+

Arguments:

+

speak +

+

Speak the given message verbally

+

Checks if the machine is powered and the message exists

+

Arguments:

+

throw_impact +

+

Crush the mob that the vending machine got thrown at

throw_item +

+

Throw an item from our internal inventory out in front of us

+

This is called when we are hacked, it selects a random product from the records that has an amount > 0 +This item is then created and tossed out in front of us with a visible message

tilt +

+

Tilts ontop of the atom supplied, if crit is true some extra shit can happen. Returns TRUE if it dealt damage to something.

unbuild_inventory +

+

Given a record list, go through and and return a list of type -> amount

update_canister +

+

Set up a refill canister that matches this machines products

+

This is used when the machine is deconstructed, so the items aren't "lost"

+ + + diff --git a/obj/machinery/vending/access.html b/obj/machinery/vending/access.html new file mode 100644 index 000000000000..410470770305 --- /dev/null +++ b/obj/machinery/vending/access.html @@ -0,0 +1,61 @@ + + + + + + + /obj/machinery/vending/access - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

access + + + +

+ +

This vending machine supports a list of items that changes based on the user/card's access.

+ + + +

Vars

access_listsInternal variable to store our access list
auto_build_productsShould we auto build our product list? 0 means no

Procs

allow_purchaseCheck if the list of given access is allowed to purchase the given product
build_access_listThis is where you generate the list to store what items each access grants. +Should be an assosciative list where the key is the access as a string and the value is the items typepath. +You can also set it to TRUE instead of a list to allow them to purchase anything.
+

Var Details

access_lists + + + + +

+

Internal variable to store our access list

auto_build_products + + + + +

+

Should we auto build our product list? 0 means no

Proc Details

allow_purchase +

+

Check if the list of given access is allowed to purchase the given product

build_access_list +

+

This is where you generate the list to store what items each access grants. +Should be an assosciative list where the key is the access as a string and the value is the items typepath. +You can also set it to TRUE instead of a list to allow them to purchase anything.

+ + + diff --git a/obj/machinery/vending/custom.html b/obj/machinery/vending/custom.html new file mode 100644 index 000000000000..96a935dd787c --- /dev/null +++ b/obj/machinery/vending/custom.html @@ -0,0 +1,61 @@ + + + + + + + /obj/machinery/vending/custom - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

custom + + + +

+ + + + + +

Vars

base64_cacheBase64 cache of custom icons.
linked_accountwhere the money is sent
max_loaded_itemsmax number of items that the custom vendor can hold

Procs

vend_actVends an item to the user. Handles all the logic: +Updating stock, account transactions, alerting users. +@return -- TRUE if a valid condition was met, FALSE otherwise.
+

Var Details

base64_cache + + + + +

+

Base64 cache of custom icons.

linked_account + + + + +

+

where the money is sent

max_loaded_items + + + + +

+

max number of items that the custom vendor can hold

Proc Details

vend_act +

+

Vends an item to the user. Handles all the logic: +Updating stock, account transactions, alerting users. +@return -- TRUE if a valid condition was met, FALSE otherwise.

+ + + diff --git a/obj/merge_conflict_marker.html b/obj/merge_conflict_marker.html new file mode 100644 index 000000000000..5f5df93e58ec --- /dev/null +++ b/obj/merge_conflict_marker.html @@ -0,0 +1,35 @@ + + + + + + + /obj/merge_conflict_marker - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

merge_conflict_marker + + + +

+ + +

Procs

InitializeWe REALLY do not want un-addressed merge conflicts in maps for an inexhaustible list of reasons. This should help ensure that this will not be missed in case linters fail to catch it for any reason what-so-ever.

Proc Details

Initialize +

+

We REALLY do not want un-addressed merge conflicts in maps for an inexhaustible list of reasons. This should help ensure that this will not be missed in case linters fail to catch it for any reason what-so-ever.

+ + + diff --git a/obj/modular_map_root.html b/obj/modular_map_root.html new file mode 100644 index 000000000000..c0be91238ce9 --- /dev/null +++ b/obj/modular_map_root.html @@ -0,0 +1,50 @@ + + + + + + + /obj/modular_map_root - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

modular_map_root + + + +

+ + + + +

Vars

config_filePoints to a .toml file storing configuration data about the modules associated with this root
keyKey used to look up the appropriate map paths in the associated .toml file

Procs

load_mapRandonly selects a map file from the TOML config specified in config_file, loads it, then deletes itself.
+

Var Details

config_file + + + + +

+

Points to a .toml file storing configuration data about the modules associated with this root

key + + + + +

+

Key used to look up the appropriate map paths in the associated .toml file

Proc Details

load_map +

+

Randonly selects a map file from the TOML config specified in config_file, loads it, then deletes itself.

+ + + diff --git a/obj/mystery_box_item.html b/obj/mystery_box_item.html new file mode 100644 index 000000000000..5055cefd3e0b --- /dev/null +++ b/obj/mystery_box_item.html @@ -0,0 +1,78 @@ + + + + + + + /obj/mystery_box_item - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mystery_box_item + + + +

+ +

This represents the item that comes out of the box and is constantly changing before the box finishes deciding. Can probably be just an /atom or /movable.

+ + + + + + +

Vars

claimableWhether this prize is currently claimable
parent_boxThe box that spawned this
selected_pathThe currently selected item. Constantly changes while choosing, determines what is spawned if the prize is claimed, and its current icon

Procs

expire_animationSink back into the box
loop_icon_changesKeep changing the icon and selected path
start_animationStart pushing the prize up
update_random_iconanimate() isn't up to the task for queueing up icon changes, so this is the proc we call with timers to update our icon
+

Var Details

claimable + + + + +

+

Whether this prize is currently claimable

parent_box + + + + +

+

The box that spawned this

selected_path + + + + +

+

The currently selected item. Constantly changes while choosing, determines what is spawned if the prize is claimed, and its current icon

Proc Details

expire_animation +

+

Sink back into the box

loop_icon_changes +

+

Keep changing the icon and selected path

start_animation +

+

Start pushing the prize up

update_random_icon +

+

animate() isn't up to the task for queueing up icon changes, so this is the proc we call with timers to update our icon

+ + + diff --git a/obj/narsie.html b/obj/narsie.html new file mode 100644 index 000000000000..495c11a7fc7c --- /dev/null +++ b/obj/narsie.html @@ -0,0 +1,66 @@ + + + + + + + /obj/narsie - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

narsie + + + +

+ +

Nar'Sie, the God of the blood cultists

+ + + + +

Vars

singularityThe singularity component to move around Nar'Sie. +A weak ref in case an admin removes the component to preserve the functionality.

Procs

acquireNar'Sie gets a taste of something, and will start to gravitate towards it
consumeCalled to make Nar'Sie convert objects to cult stuff, or to eat
mesmerizeStun people around Nar'Sie that aren't cultists
pickcultistNarsie rewards her cultists with being devoured first, then picks a ghost to follow.
+

Var Details

singularity + + + + +

+

The singularity component to move around Nar'Sie. +A weak ref in case an admin removes the component to preserve the functionality.

Proc Details

acquire +

+

Nar'Sie gets a taste of something, and will start to gravitate towards it

consume +

+

Called to make Nar'Sie convert objects to cult stuff, or to eat

mesmerize +

+

Stun people around Nar'Sie that aren't cultists

pickcultist +

+

Narsie rewards her cultists with being devoured first, then picks a ghost to follow.

+ + + diff --git a/obj/projectile.html b/obj/projectile.html new file mode 100644 index 000000000000..7dede68b7a31 --- /dev/null +++ b/obj/projectile.html @@ -0,0 +1,568 @@ + + + + + + + /obj/projectile - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

projectile + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

aimed_def_zoneThe body_zone the firer aimed at. May be overriden by some casings using zone_override
armor_flagDefines what armor to use when it hits things. Must be set to bullet, laser, energy, or bomb
armor_penetrationHow much armor this projectile pierces.
can_hit_turfsIf true directly targeted turfs can be hit
can_miss_zoneCan this projectile miss it's def_zone?
decayedRangeArchive of original range value.
def_zoneThe body_zone the projectile is about to hit, taking into account randomness. Don't set directly, will not do anything.
disorient_damageStamina damage applied
disorient_lengthDuration of disorient status effect
disorient_status_lengthParalyze duration if target is exhausted
distance_traveledTotal distance traveled.
drowsyDrowsiness applied on projectile hit
embed_adjustment_tileHow much we want to adjust the embed_chance value, if we can embed, per tile, for falloff purposes
embed_min_distanceHow many tiles must the projectile travel until embedding odds start being adjusted
embeddingIf we have a shrapnel_type defined, these embedding stats will be passed to the spawned shrapnel type, which will roll for embedding on the target
force_hitIf the object being hit can pass ths damage on to something else, it should not do it for this bullet
hit_prone_targetsIf TRUE, hit mobs even if they're on the floor and not our target
hit_threshholdIf objects are below this layer, we pass through them
ignore_source_checkIf TRUE, we can hit our firer.
ignored_factionsWe ignore mobs with these factions.
impactedWe already impacted these things, do not impact them again. Used to make sure we can pierce things we want to pierce. Lazylist, typecache style (object = TRUE) for performance.
jitterJittering applied on projectile hit
last_angle_set_hitscan_storeLast turf an angle was changed in for hitscan projectiles.
pass_flags
phasing_ignore_direct_targetIf FALSE, allow us to hit something directly targeted/clicked/whatnot even if we're able to phase through it
piercesnumber of times we've pierced something. Incremented BEFORE bullet_act and on_hit proc!
pixel_speed_multiplierThis var is multiplied by SSprojectiles.global_pixel_speed to get how many pixels +the projectile moves during each iteration of the movement loop
projectile_phasingBitflag for things the projectile should just phase through entirely - No hitting unless direct target and [phasing_ignore_direct_target] is FALSE. Uses pass_flags flags.
projectile_piercingBitflag for things the projectile should hit, but pierce through without deleting itself. Defers to projectile_phasing. Uses pass_flags flags.
rangeSets the max range of the projectile, This will de-increment every step. When 0, it will deletze the object.
ricochet_auto_aim_angleOn ricochet, if ricochet_auto_aim_range is nonzero, we'll consider any mobs within this range of the normal angle of incidence to home in on, higher = more auto aim
ricochet_auto_aim_rangeOn ricochet, if nonzero, we consider all mobs within this range of our projectile at the time of ricochet to home in on like Revolver Ocelot, as governed by ricochet_auto_aim_angle
ricochet_chance0-100 (or more, I guess), the base chance of ricocheting, before being modified by the atom we shoot and our chance decay
ricochet_decay_chance0-1 (or more, I guess) multiplier, the ricochet_chance is modified by multiplying this after each ricochet
ricochet_decay_damage0-1 (or more, I guess) multiplier, the projectile's damage is modified by multiplying this after each ricochet
ricochet_incidence_leewaythe angle of impact must be within this many degrees of the struck surface, set to 0 to allow any angle
ricochet_shoots_firerCan our ricochet autoaim hit our firer?
ricochetshow many times we've ricochet'd so far (instance variable, not a stat)
ricochets_maxhow many times we can ricochet max
sharpnessFor what kind of brute wounds we're rolling for, if we're doing such a thing. Lasers obviously don't care since they do burn instead.
shrapnel_typeIf defined, on hit we create an item of this type then call hitby() on the hit target with this, mainly used for embedding items (bullets) in targets
slurSlurring applied on projectile hit
speedDuring each fire of SSprojectiles, the number of deciseconds since the last fire of SSprojectiles +is divided by this var, and the result truncated to the next lowest integer is +the number of times the projectile's pixel_move proc will be called.
staminaExtra stamina damage applied on projectile hit (in addition to the main damage)
stutterStuttering applied on projectile hit
temporary_unstoppable_movementWe are flagged PHASING temporarily to not stop moving when we Bump something but want to keep going anyways.
weak_against_armorA multiplier applied to the defender's armor, making it more effective against this projectile.
wound_falloff_tileHow much we want to drop both wound_bonus and bare_wound_bonus (to a minimum of 0 for the latter) per tile, for falloff purposes

Procs

CanPassThroughProjectile can pass through +Used to not even attempt to Bump() or fail to Cross() anything we already hit.
ImpactCalled when the projectile hits something +This can either be from it bumping something, +or it passing over a turf/being crossed and scanning that there is infact +a valid target it needs to hit. +This target isn't however necessarily WHAT it hits +that is determined by process_hit and select_target.
MovedProjectile moved:
on_enteredProjectile crossed: When something enters a projectile's tile, make sure the projectile hits it if it should be hitting it.
on_hitCalled when the projectile hits something
prehit_pierceChecks if we should pierce something.
preparePixelProjectileAims the projectile at a target.
process_hitThe primary workhorse proc of projectile impacts. +This is a RECURSIVE call - process_hit is called on the first selected target, and then repeatedly called if the projectile still hasn't been deleted.
scan_crossed_hitScan if we should hit something and hit it if we need to +The difference between this and handling in Impact is +In this we strictly check if we need to Impact() something in specific +If we do, we do +We don't even check if it got hit already - Impact() does that +In impact there's more code for selecting WHAT to hit +So this proc is more of checking if we should hit something at all BY having an atom cross us.
scan_moved_turfScans if we should hit something on the turf we just moved to if we haven't already
select_targetSelects a target to hit from a turf
set_angle_centeredSame as set_angle, but the reflection continues from the center of the object that reflects it instead of the side
updateEmbeddingLike /obj/item/proc/updateEmbedding but for projectiles instead, call this when you want to add embedding or update the stats on the embedding element
+

Var Details

aimed_def_zone + + + + +

+

The body_zone the firer aimed at. May be overriden by some casings using zone_override

armor_flag + + + + +

+

Defines what armor to use when it hits things. Must be set to bullet, laser, energy, or bomb

armor_penetration + + + + +

+

How much armor this projectile pierces.

can_hit_turfs + + + + +

+

If true directly targeted turfs can be hit

can_miss_zone + + + + +

+

Can this projectile miss it's def_zone?

decayedRange + + + + +

+

Archive of original range value.

def_zone + + + + +

+

The body_zone the projectile is about to hit, taking into account randomness. Don't set directly, will not do anything.

disorient_damage + + + + +

+

Stamina damage applied

disorient_length + + + + +

+

Duration of disorient status effect

disorient_status_length + + + + +

+

Paralyze duration if target is exhausted

distance_traveled + + + + +

+

Total distance traveled.

drowsy + + + + +

+

Drowsiness applied on projectile hit

embed_adjustment_tile + + + + +

+

How much we want to adjust the embed_chance value, if we can embed, per tile, for falloff purposes

embed_min_distance + + + + +

+

How many tiles must the projectile travel until embedding odds start being adjusted

embedding + + + + +

+

If we have a shrapnel_type defined, these embedding stats will be passed to the spawned shrapnel type, which will roll for embedding on the target

force_hit + + + + +

+

If the object being hit can pass ths damage on to something else, it should not do it for this bullet

hit_prone_targets + + + + +

+

If TRUE, hit mobs even if they're on the floor and not our target

hit_threshhold + + + + +

+

If objects are below this layer, we pass through them

ignore_source_check + + + + +

+

If TRUE, we can hit our firer.

ignored_factions + + + + +

+

We ignore mobs with these factions.

impacted + + + + +

+

We already impacted these things, do not impact them again. Used to make sure we can pierce things we want to pierce. Lazylist, typecache style (object = TRUE) for performance.

jitter + + + + +

+

Jittering applied on projectile hit

last_angle_set_hitscan_store + + + + +

+

Last turf an angle was changed in for hitscan projectiles.

pass_flags + + + + +

+ +

The "usual" flags of pass_flags is used in that can_hit_target ignores these unless they're specifically targeted/clicked on. This behavior entirely bypasses process_hit if triggered, rather than phasing which uses prehit_pierce() to check.

phasing_ignore_direct_target + + + + +

+

If FALSE, allow us to hit something directly targeted/clicked/whatnot even if we're able to phase through it

pierces + + + + +

+

number of times we've pierced something. Incremented BEFORE bullet_act and on_hit proc!

pixel_speed_multiplier + + + + +

+

This var is multiplied by SSprojectiles.global_pixel_speed to get how many pixels +the projectile moves during each iteration of the movement loop

+

If you want to make a fast-moving projectile, you should keep this equal to 1 and +reduce the value of speed. If you want to make a slow-moving projectile, make +speed a modest value like 1 and set this to a low value like 0.2.

projectile_phasing + + + + +

+

Bitflag for things the projectile should just phase through entirely - No hitting unless direct target and [phasing_ignore_direct_target] is FALSE. Uses pass_flags flags.

projectile_piercing + + + + +

+

Bitflag for things the projectile should hit, but pierce through without deleting itself. Defers to projectile_phasing. Uses pass_flags flags.

range + + + + +

+

Sets the max range of the projectile, This will de-increment every step. When 0, it will deletze the object.

ricochet_auto_aim_angle + + + + +

+

On ricochet, if ricochet_auto_aim_range is nonzero, we'll consider any mobs within this range of the normal angle of incidence to home in on, higher = more auto aim

ricochet_auto_aim_range + + + + +

+

On ricochet, if nonzero, we consider all mobs within this range of our projectile at the time of ricochet to home in on like Revolver Ocelot, as governed by ricochet_auto_aim_angle

ricochet_chance + + + + +

+

0-100 (or more, I guess), the base chance of ricocheting, before being modified by the atom we shoot and our chance decay

ricochet_decay_chance + + + + +

+

0-1 (or more, I guess) multiplier, the ricochet_chance is modified by multiplying this after each ricochet

ricochet_decay_damage + + + + +

+

0-1 (or more, I guess) multiplier, the projectile's damage is modified by multiplying this after each ricochet

ricochet_incidence_leeway + + + + +

+

the angle of impact must be within this many degrees of the struck surface, set to 0 to allow any angle

ricochet_shoots_firer + + + + +

+

Can our ricochet autoaim hit our firer?

ricochets + + + + +

+

how many times we've ricochet'd so far (instance variable, not a stat)

ricochets_max + + + + +

+

how many times we can ricochet max

sharpness + + + + +

+

For what kind of brute wounds we're rolling for, if we're doing such a thing. Lasers obviously don't care since they do burn instead.

shrapnel_type + + + + +

+

If defined, on hit we create an item of this type then call hitby() on the hit target with this, mainly used for embedding items (bullets) in targets

slur + + + + +

+

Slurring applied on projectile hit

speed + + + + +

+

During each fire of SSprojectiles, the number of deciseconds since the last fire of SSprojectiles +is divided by this var, and the result truncated to the next lowest integer is +the number of times the projectile's pixel_move proc will be called.

stamina + + + + +

+

Extra stamina damage applied on projectile hit (in addition to the main damage)

stutter + + + + +

+

Stuttering applied on projectile hit

temporary_unstoppable_movement + + + + +

+

We are flagged PHASING temporarily to not stop moving when we Bump something but want to keep going anyways.

weak_against_armor + + + + +

+

A multiplier applied to the defender's armor, making it more effective against this projectile.

wound_falloff_tile + + + + +

+

How much we want to drop both wound_bonus and bare_wound_bonus (to a minimum of 0 for the latter) per tile, for falloff purposes

Proc Details

CanPassThrough +

+

Projectile can pass through +Used to not even attempt to Bump() or fail to Cross() anything we already hit.

Impact +

+

Called when the projectile hits something +This can either be from it bumping something, +or it passing over a turf/being crossed and scanning that there is infact +a valid target it needs to hit. +This target isn't however necessarily WHAT it hits +that is determined by process_hit and select_target.

+

Furthermore, this proc shouldn't check can_hit_target - this should only be called if can hit target is already checked. +Also, we select_target to find what to process_hit first.

Moved +

+

Projectile moved:

+

If not fired yet, do not do anything. Else,

+

If temporary unstoppable movement used for piercing through things we already hit (impacted list) is set, unset it. +Scan turf we're now in for anything we can/should hit. This is useful for hitting non dense objects the user +directly clicks on, as well as for PHASING projectiles to be able to hit things at all as they don't ever Bump().

on_entered +

+

Projectile crossed: When something enters a projectile's tile, make sure the projectile hits it if it should be hitting it.

on_hit +

+

Called when the projectile hits something

+

@params +target - thing hit +blocked - percentage of hit blocked +pierce_hit - are we piercing through or regular hitting

prehit_pierce +

+

Checks if we should pierce something.

+

NOT meant to be a pure proc, since this replaces prehit() which was used to do things. +Return PROJECTILE_DELETE_WITHOUT_HITTING to delete projectile without hitting at all!

preparePixelProjectile +

+

Aims the projectile at a target.

+

Must be passed at least one of a target or a list of click parameters. +If only passed the click modifiers the source atom must be a mob with a client.

+

Arguments:

+

process_hit +

+

The primary workhorse proc of projectile impacts. +This is a RECURSIVE call - process_hit is called on the first selected target, and then repeatedly called if the projectile still hasn't been deleted.

+

Order of operations:

+
    +
  1. Checks if we are deleted, or if we're somehow trying to hit a null, in which case, bail out
  2. +
  3. Adds the thing we're hitting to impacted so we can make sure we don't doublehit
  4. +
  5. Checks piercing - stores this. +Afterwards: +Hit and delete, hit without deleting and pass through, pass through without hitting, or delete without hitting depending on result +If we're going through without hitting, find something else to hit if possible and recurse, set unstoppable movement to true +If we're deleting without hitting, delete and return +Otherwise, send signal of COMSIG_PROJECTILE_PREHIT to target +Then, hit, deleting ourselves if necessary. +@params +T - Turf we're on/supposedly hitting +target - target we're hitting +bumped - target we originally bumped. it's here to ensure that if something blocks our projectile by means of Cross() failure, we hit it +even if it is not dense. +hit_something - only should be set by recursive calling by this proc - tracks if we hit something already
  6. +
+

Returns if we hit something.

scan_crossed_hit +

+

Scan if we should hit something and hit it if we need to +The difference between this and handling in Impact is +In this we strictly check if we need to Impact() something in specific +If we do, we do +We don't even check if it got hit already - Impact() does that +In impact there's more code for selecting WHAT to hit +So this proc is more of checking if we should hit something at all BY having an atom cross us.

scan_moved_turf +

+

Scans if we should hit something on the turf we just moved to if we haven't already

+

This proc is a little high in overhead but allows us to not snowflake CanPass in living and other things.

select_target +

+

Selects a target to hit from a turf

+

@params +T - The turf +target - The "preferred" atom to hit, usually what we BumpedBy() first. +bumped - used to track if something is the reason we impacted in the first place. +If set, this atom is always treated as dense by can_hit_target.

+

Priority: +0. Anything that is already in impacted is ignored no matter what. Furthermore, in any bracket, if the target atom parameter is in it, that's hit first. +Furthermore, can_hit_target is always checked. This (entire proc) is PERFORMANCE OVERHEAD!! But, it shouldn't be ""too"" bad and I frankly don't have a better generic non snowflakey way that I can think of right now at 3 AM. +FURTHERMORE, mobs/objs have a density check from can_hit_target - to hit non dense objects over a turf, you must click on them, same for mobs that usually wouldn't get hit.

+
    +
  1. Special check on what we bumped to see if it's a border object that intercepts hitting anything behind it
  2. +
  3. The thing originally aimed at/clicked on
  4. +
  5. Mobs - picks lowest buckled mob to prevent scarp piggybacking memes
  6. +
  7. Objs
  8. +
  9. Turf
  10. +
  11. Nothing
  12. +

set_angle_centered +

+

Same as set_angle, but the reflection continues from the center of the object that reflects it instead of the side

updateEmbedding +

+

Like /obj/item/proc/updateEmbedding but for projectiles instead, call this when you want to add embedding or update the stats on the embedding element

+ + + diff --git a/obj/projectile/beam/ctf.html b/obj/projectile/beam/ctf.html new file mode 100644 index 000000000000..eee3bd00d75e --- /dev/null +++ b/obj/projectile/beam/ctf.html @@ -0,0 +1,35 @@ + + + + + + + /obj/projectile/beam/ctf - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

ctf + + + +

+ + +

Procs

on_hithey uhhh don't hit anyone behind them

Proc Details

on_hit +

+

hey uhhh don't hit anyone behind them

+ + + diff --git a/obj/projectile/blastwave.html b/obj/projectile/blastwave.html new file mode 100644 index 000000000000..97b06679701e --- /dev/null +++ b/obj/projectile/blastwave.html @@ -0,0 +1,57 @@ + + + + + + + /obj/projectile/blastwave - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

blastwave + + + +

+ +

The projectile used by the blastcannon

+ + + +

Vars

heavy_ex_rangeThe maximum distance this will inflict EXPLODE_DEVASTATE
light_ex_rangeThe maximum distance this will inflict EXPLODE_LIGHT
medium_ex_rangeThe maximum distance this will inflict EXPLODE_HEAVY
reactionaryWhether or not to care about the explosion block of the things we are passing through.
+

Var Details

heavy_ex_range + + + + +

+

The maximum distance this will inflict EXPLODE_DEVASTATE

light_ex_range + + + + +

+

The maximum distance this will inflict EXPLODE_LIGHT

medium_ex_range + + + + +

+

The maximum distance this will inflict EXPLODE_HEAVY

reactionary + + + + +

+

Whether or not to care about the explosion block of the things we are passing through.

+ + + diff --git a/obj/projectile/bullet/a84mm.html b/obj/projectile/bullet/a84mm.html new file mode 100644 index 000000000000..47c5a583fa86 --- /dev/null +++ b/obj/projectile/bullet/a84mm.html @@ -0,0 +1,43 @@ + + + + + + + /obj/projectile/bullet/a84mm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

a84mm + + + +

+ +

PM9 HEDP rocket

+ +

Vars

anti_armour_damageWhether we do extra damage when hitting a mech or silicon

Procs

do_boomSince some rockets have different booms depending if they hit a living target or not, this is easier than having explosive radius vars
+

Var Details

anti_armour_damage + + + + +

+

Whether we do extra damage when hitting a mech or silicon

Proc Details

do_boom +

+

Since some rockets have different booms depending if they hit a living target or not, this is easier than having explosive radius vars

+ + + diff --git a/obj/projectile/bullet/incendiary/backblast.html b/obj/projectile/bullet/incendiary/backblast.html new file mode 100644 index 000000000000..5879ea38b9d0 --- /dev/null +++ b/obj/projectile/bullet/incendiary/backblast.html @@ -0,0 +1,43 @@ + + + + + + + /obj/projectile/bullet/incendiary/backblast - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

backblast + + + +

+ +

Used in the backblast element

+ +

Vars

knockback_rangeLazy attempt at knockback, any items this plume hits will be knocked back this far. Decrements with each tile passed.
launched_itemsA lazylist of all the items we've already knocked back, so we don't do it again
+

Var Details

knockback_range + + + + +

+

Lazy attempt at knockback, any items this plume hits will be knocked back this far. Decrements with each tile passed.

launched_items + + + + +

+

A lazylist of all the items we've already knocked back, so we don't do it again

+ + + diff --git a/obj/projectile/bullet/pellet/shotgun_rubbershot.html b/obj/projectile/bullet/pellet/shotgun_rubbershot.html new file mode 100644 index 000000000000..df104dfd391e --- /dev/null +++ b/obj/projectile/bullet/pellet/shotgun_rubbershot.html @@ -0,0 +1,36 @@ + + + + + + + /obj/projectile/bullet/pellet/shotgun_rubbershot - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

shotgun_rubbershot + + + +

+ + +

Vars

tile_dropoff_ricochetSubtracted from the ricochet chance for each tile traveled
+

Var Details

tile_dropoff_ricochet + + + + +

+

Subtracted from the ricochet chance for each tile traveled

+ + + diff --git a/obj/projectile/curse_hand.html b/obj/projectile/curse_hand.html new file mode 100644 index 000000000000..f1f1c08406a1 --- /dev/null +++ b/obj/projectile/curse_hand.html @@ -0,0 +1,35 @@ + + + + + + + /obj/projectile/curse_hand - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

curse_hand + + + +

+ + +

Procs

finaleThe visual effect for the hand disappearing

Proc Details

finale +

+

The visual effect for the hand disappearing

+ + + diff --git a/obj/projectile/energy/chrono_beam.html b/obj/projectile/energy/chrono_beam.html new file mode 100644 index 000000000000..1683c4cebbd5 --- /dev/null +++ b/obj/projectile/energy/chrono_beam.html @@ -0,0 +1,36 @@ + + + + + + + /obj/projectile/energy/chrono_beam - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chrono_beam + + + +

+ + +

Vars

tem_weakrefReference to the tem... given by the tem! weakref because back in the day we didn't know about harddels- or maybe we didn't care.
+

Var Details

tem_weakref + + + + +

+

Reference to the tem... given by the tem! weakref because back in the day we didn't know about harddels- or maybe we didn't care.

+ + + diff --git a/obj/projectile/energy/declone.html b/obj/projectile/energy/declone.html new file mode 100644 index 000000000000..df9736076351 --- /dev/null +++ b/obj/projectile/energy/declone.html @@ -0,0 +1,36 @@ + + + + + + + /obj/projectile/energy/declone - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

declone + + + +

+ + +

Vars

radiation_chanceThe chance to be irradiated on hit
+

Var Details

radiation_chance + + + + +

+

The chance to be irradiated on hit

+ + + diff --git a/obj/projectile/kiss.html b/obj/projectile/kiss.html new file mode 100644 index 000000000000..9c94574588f9 --- /dev/null +++ b/obj/projectile/kiss.html @@ -0,0 +1,39 @@ + + + + + + + /obj/projectile/kiss - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

kiss + + + +

+ + +

Procs

harmless_on_hitTo get around shielded modsuits & such being set off by kisses when they shouldn't, we take a page from hallucination projectiles +and simply fake our on hit effects. This lets kisses remain incorporeal without having to make some new trait for this one niche situation. +This fake hit only happens if we can deal damage and if we hit a living thing. Otherwise, we just do normal on hit effects.

Proc Details

harmless_on_hit +

+

To get around shielded modsuits & such being set off by kisses when they shouldn't, we take a page from hallucination projectiles +and simply fake our on hit effects. This lets kisses remain incorporeal without having to make some new trait for this one niche situation. +This fake hit only happens if we can deal damage and if we hit a living thing. Otherwise, we just do normal on hit effects.

+ + + diff --git a/obj/projectile/magic.html b/obj/projectile/magic.html new file mode 100644 index 000000000000..a5dd130b2125 --- /dev/null +++ b/obj/projectile/magic.html @@ -0,0 +1,43 @@ + + + + + + + /obj/projectile/magic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

magic + + + +

+ + + +

Vars

antimagic_charge_costdetermines the drain cost on the antimagic item
antimagic_flagsdetermines what type of antimagic can block the spell projectile
+

Var Details

antimagic_charge_cost + + + + +

+

determines the drain cost on the antimagic item

antimagic_flags + + + + +

+

determines what type of antimagic can block the spell projectile

+ + + diff --git a/obj/projectile/magic/aoe.html b/obj/projectile/magic/aoe.html new file mode 100644 index 000000000000..b66f83bf4661 --- /dev/null +++ b/obj/projectile/magic/aoe.html @@ -0,0 +1,78 @@ + + + + + + + /obj/projectile/magic/aoe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

aoe + + + +

+ +

Gives magic projectiles an area of effect radius that will bump into any nearby mobs

+ + + + + + +

Vars

can_only_hit_targetWhether our projectile will only be able to hit the original target / clicked on atom
trailWhether our projectile leaves a trail behind it as it moves.
trail_iconThe icon the trail uses.
trail_icon_stateThe icon state the trail uses.
trail_lifespanThe duration of the trail before deleting.
trigger_rangeThe AOE radius that the projectile will trigger on people.

Procs

create_trailCreates and handles the trail that follows the projectile.
+

Var Details

can_only_hit_target + + + + +

+

Whether our projectile will only be able to hit the original target / clicked on atom

trail + + + + +

+

Whether our projectile leaves a trail behind it as it moves.

trail_icon + + + + +

+

The icon the trail uses.

trail_icon_state + + + + +

+

The icon state the trail uses.

trail_lifespan + + + + +

+

The duration of the trail before deleting.

trigger_range + + + + +

+

The AOE radius that the projectile will trigger on people.

Proc Details

create_trail +

+

Creates and handles the trail that follows the projectile.

+ + + diff --git a/obj/projectile/magic/aoe/lightning.html b/obj/projectile/magic/aoe/lightning.html new file mode 100644 index 000000000000..e371ed1da8b6 --- /dev/null +++ b/obj/projectile/magic/aoe/lightning.html @@ -0,0 +1,57 @@ + + + + + + + /obj/projectile/magic/aoe/lightning - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

lightning + + + +

+ + + + + +

Vars

chainA reference to the chain beam between the caster and the projectile
zap_flagsThe flags of the zap itself when it electrocutes someone
zap_powerThe power of the zap itself when it electrocutes someone
zap_rangeThe range of the zap itself when it electrocutes someone
+

Var Details

chain + + + + +

+

A reference to the chain beam between the caster and the projectile

zap_flags + + + + +

+

The flags of the zap itself when it electrocutes someone

zap_power + + + + +

+

The power of the zap itself when it electrocutes someone

zap_range + + + + +

+

The range of the zap itself when it electrocutes someone

+ + + diff --git a/obj/projectile/magic/fireball.html b/obj/projectile/magic/fireball.html new file mode 100644 index 000000000000..d87c96bc8b31 --- /dev/null +++ b/obj/projectile/magic/fireball.html @@ -0,0 +1,57 @@ + + + + + + + /obj/projectile/magic/fireball - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

fireball + + + +

+ + + + + +

Vars

exp_fireFire radius of the fireball
exp_flashFlash radius of the fireball
exp_heavyHeavy explosion range of the fireball
exp_lightLight explosion range of the fireball
+

Var Details

exp_fire + + + + +

+

Fire radius of the fireball

exp_flash + + + + +

+

Flash radius of the fireball

exp_heavy + + + + +

+

Heavy explosion range of the fireball

exp_light + + + + +

+

Light explosion range of the fireball

+ + + diff --git a/obj/projectile/tentacle.html b/obj/projectile/tentacle.html new file mode 100644 index 000000000000..3ab287b87825 --- /dev/null +++ b/obj/projectile/tentacle.html @@ -0,0 +1,36 @@ + + + + + + + /obj/projectile/tentacle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

tentacle + + + +

+ + +

Vars

fire_modifiersClick params that were used to fire the tentacle shot
+

Var Details

fire_modifiers + + + + +

+

Click params that were used to fire the tentacle shot

+ + + diff --git a/obj/singularity.html b/obj/singularity.html new file mode 100644 index 000000000000..e08b817b0d22 --- /dev/null +++ b/obj/singularity.html @@ -0,0 +1,115 @@ + + + + + + + /obj/singularity - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

singularity + + + +

+ +

The gravitational singularity

+ + + + + + + + + + + +

Vars

allowed_sizeCurrent allowed size for the singulo
consumed_supermatterIf the singularity has eaten a supermatter shard and can go to stage six
current_sizeCurrent singularity size, from 1 to 6
dissipateDo we lose energy over time?
dissipate_delayHow long should it take for us to dissipate in seconds?
dissipate_strengthHow much energy do we lose every dissipate_delay?
energyHow strong are we?
event_chanceProb for event each tick
move_selfCan i move by myself?
singularity_componentThe singularity component itself. +A weak ref in case an admin removes the component to preserve the functionality.
time_since_actHow long it's been since the singulo last acted, in seconds
time_since_last_dissipiationHow long its been (in seconds) since the last dissipation
+

Var Details

allowed_size + + + + +

+

Current allowed size for the singulo

consumed_supermatter + + + + +

+

If the singularity has eaten a supermatter shard and can go to stage six

current_size + + + + +

+

Current singularity size, from 1 to 6

dissipate + + + + +

+

Do we lose energy over time?

dissipate_delay + + + + +

+

How long should it take for us to dissipate in seconds?

dissipate_strength + + + + +

+

How much energy do we lose every dissipate_delay?

energy + + + + +

+

How strong are we?

event_chance + + + + +

+

Prob for event each tick

move_self + + + + +

+

Can i move by myself?

singularity_component + + + + +

+

The singularity component itself. +A weak ref in case an admin removes the component to preserve the functionality.

time_since_act + + + + +

+

How long it's been since the singulo last acted, in seconds

time_since_last_dissipiation + + + + +

+

How long its been (in seconds) since the last dissipation

+ + + diff --git a/obj/structure/alien/egg.html b/obj/structure/alien/egg.html new file mode 100644 index 000000000000..f1e1cdec1211 --- /dev/null +++ b/obj/structure/alien/egg.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/alien/egg - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

egg + + + +

+ + +

Vars

proximity_monitorProximity monitor associated with this atom, needed for proximity checks.
+

Var Details

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, needed for proximity checks.

+ + + diff --git a/obj/structure/alien/resin/flower_bud.html b/obj/structure/alien/resin/flower_bud.html new file mode 100644 index 000000000000..3bacec60e802 --- /dev/null +++ b/obj/structure/alien/resin/flower_bud.html @@ -0,0 +1,62 @@ + + + + + + + /obj/structure/alien/resin/flower_bud - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

flower_bud + + + +

+ +

Kudzu Flower Bud

+

A flower created by flowering kudzu which spawns a venus human trap after a certain amount of time has passed.

+

A flower created by kudzu with the flowering mutation. Spawns a venus human trap after 2 minutes under normal circumstances. +Also spawns 4 vines going out in diagonal directions from the bud. Any living creature not aligned with plants is damaged by these vines. +Once it grows a venus human trap, the bud itself will destroy itself.

+ + + +

Vars

countdownThe countdown ghosts see to when the plant will hatch
finish_timeUsed by countdown to check time, this is when the timer will complete and the venus trap will spawn.
growth_timeThe amount of time it takes to create a venus human trap.

Procs

bear_fruitSpawns a venus human trap, then qdels itself.
+

Var Details

countdown + + + + +

+

The countdown ghosts see to when the plant will hatch

finish_time + + + + +

+

Used by countdown to check time, this is when the timer will complete and the venus trap will spawn.

growth_time + + + + +

+

The amount of time it takes to create a venus human trap.

Proc Details

bear_fruit +

+

Spawns a venus human trap, then qdels itself.

+

Displays a message, spawns a human venus trap, then qdels itself.

+ + + diff --git a/obj/structure/alien/weeds.html b/obj/structure/alien/weeds.html new file mode 100644 index 000000000000..ba6fb4f1c108 --- /dev/null +++ b/obj/structure/alien/weeds.html @@ -0,0 +1,89 @@ + + + + + + + /obj/structure/alien/weeds - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

weeds + + + +

+ + + + + + + + + +

Vars

blacklisted_turfsthe list of turfs that the weeds will not be able to grow over
node_rangethe range of the weeds going to be affected by the node
parent_nodethe parent node that will determine if we grow or die

Procs

after_parent_destroyedCalled when the parent node is destroyed
do_qdelCalled to delete the weed
find_new_parentCalled when trying to find a new parent after our previous parent died +Will return false if it can't find a new_parent +Will return the new parent if it can find one
set_base_iconRandomizes the weeds' starting icon, gets redefined by children for them not to share the behavior.
try_expandCalled when the node is trying to grow/expand
+

Var Details

blacklisted_turfs + + + + +

+

the list of turfs that the weeds will not be able to grow over

node_range + + + + +

+

the range of the weeds going to be affected by the node

parent_node + + + + +

+

the parent node that will determine if we grow or die

Proc Details

after_parent_destroyed +

+

Called when the parent node is destroyed

do_qdel +

+

Called to delete the weed

find_new_parent +

+

Called when trying to find a new parent after our previous parent died +Will return false if it can't find a new_parent +Will return the new parent if it can find one

set_base_icon +

+

Randomizes the weeds' starting icon, gets redefined by children for them not to share the behavior.

try_expand +

+

Called when the node is trying to grow/expand

+ + + diff --git a/obj/structure/alien/weeds/node.html b/obj/structure/alien/weeds/node.html new file mode 100644 index 000000000000..6bc8c7e5a12d --- /dev/null +++ b/obj/structure/alien/weeds/node.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/alien/weeds/node - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

node + + + +

+ + + + +

Vars

lon_rangethe range of the light for the node
maximum_growtimethe maximum time it takes for another weed to spread from this one
minimum_growtimethe minimum time it takes for another weed to spread from this one
+

Var Details

lon_range + + + + +

+

the range of the light for the node

maximum_growtime + + + + +

+

the maximum time it takes for another weed to spread from this one

minimum_growtime + + + + +

+

the minimum time it takes for another weed to spread from this one

+ + + diff --git a/obj/structure/altar_of_gods.html b/obj/structure/altar_of_gods.html new file mode 100644 index 000000000000..141f8d1b0a98 --- /dev/null +++ b/obj/structure/altar_of_gods.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/altar_of_gods - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

altar_of_gods + + + +

+ + +

Vars

sect_to_altarAvoids having to check global everytime by referencing it locally.
+

Var Details

sect_to_altar + + + + +

+

Avoids having to check global everytime by referencing it locally.

+ + + diff --git a/obj/structure/aquarium.html b/obj/structure/aquarium.html new file mode 100644 index 000000000000..c1f7fdef9aa3 --- /dev/null +++ b/obj/structure/aquarium.html @@ -0,0 +1,76 @@ + + + + + + + /obj/structure/aquarium - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

aquarium + + + +

+ + + + + + +

Vars

allow_breedingCan fish reproduce in this quarium.
tracked_fishobj/item/fish in the aquarium - does not include things with aquarium visuals that are not fish
used_layersCurrent layers in use by aquarium contents

Procs

free_layerbase aq layer +min_offset = this value is returned on bottom layer mode +min_offset + 0.1 fish1 +min_offset + 0.2 fish2 +... these layers are returned for auto layer mode and tracked by used_layers +min_offset + max_offset = this value is returned for top layer mode +min_offset + max_offset + 1 = this is used for glass overlay
try_to_put_mob_inTries to put mob pulled by the user in the aquarium after a delay
+

Var Details

allow_breeding + + + + +

+

Can fish reproduce in this quarium.

tracked_fish + + + + +

+

obj/item/fish in the aquarium - does not include things with aquarium visuals that are not fish

used_layers + + + + +

+

Current layers in use by aquarium contents

Proc Details

free_layer +

+

base aq layer +min_offset = this value is returned on bottom layer mode +min_offset + 0.1 fish1 +min_offset + 0.2 fish2 +... these layers are returned for auto layer mode and tracked by used_layers +min_offset + max_offset = this value is returned for top layer mode +min_offset + max_offset + 1 = this is used for glass overlay

try_to_put_mob_in +

+

Tries to put mob pulled by the user in the aquarium after a delay

+ + + diff --git a/obj/structure/bed/dogbed.html b/obj/structure/bed/dogbed.html new file mode 100644 index 000000000000..152b73975c47 --- /dev/null +++ b/obj/structure/bed/dogbed.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/bed/dogbed - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

dogbed + + + +

+ + +

Procs

update_ownerUsed to set the owner of a dogbed, returns FALSE if called on an owned bed or an invalid one, TRUE if the possesion succeeds

Proc Details

update_owner +

+

Used to set the owner of a dogbed, returns FALSE if called on an owned bed or an invalid one, TRUE if the possesion succeeds

+ + + diff --git a/obj/structure/bed/double.html b/obj/structure/bed/double.html new file mode 100644 index 000000000000..77943dc55040 --- /dev/null +++ b/obj/structure/bed/double.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/bed/double - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

double + + + +

+ + +

Vars

goldilocksThe mob who buckled to this bed second, to avoid other mobs getting pixel-shifted before he unbuckles.
+

Var Details

goldilocks + + + + +

+

The mob who buckled to this bed second, to avoid other mobs getting pixel-shifted before he unbuckles.

+ + + diff --git a/obj/structure/blob.html b/obj/structure/blob.html new file mode 100644 index 000000000000..dccdbd0b38e5 --- /dev/null +++ b/obj/structure/blob.html @@ -0,0 +1,85 @@ + + + + + + + /obj/structure/blob - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

blob + + + +

+ + + + + + + + + +

Vars

atmosblockIf the blob blocks atmos and heat spread
brute_resistMultiplies brute damage by this
fire_resistMultiplies burn damage by this
heal_timestampwe got healed when?
health_regenhow much health this blob regens when pulsed
ignore_syncmesh_shareOnly used by the synchronous mesh strain. If set to true, these blobs won't share or receive damage taken with others.
point_returnHow many points the blob gets back when it removes a blob of that type. If less than 0, blob cannot be removed.
pulse_timestampWe got pulsed when?
+

Var Details

atmosblock + + + + +

+

If the blob blocks atmos and heat spread

brute_resist + + + + +

+

Multiplies brute damage by this

fire_resist + + + + +

+

Multiplies burn damage by this

heal_timestamp + + + + +

+

we got healed when?

health_regen + + + + +

+

how much health this blob regens when pulsed

ignore_syncmesh_share + + + + +

+

Only used by the synchronous mesh strain. If set to true, these blobs won't share or receive damage taken with others.

point_return + + + + +

+

How many points the blob gets back when it removes a blob of that type. If less than 0, blob cannot be removed.

pulse_timestamp + + + + +

+

We got pulsed when?

+ + + diff --git a/obj/structure/blob/special.html b/obj/structure/blob/special.html new file mode 100644 index 000000000000..b09c27ce5be4 --- /dev/null +++ b/obj/structure/blob/special.html @@ -0,0 +1,66 @@ + + + + + + + /obj/structure/blob/special - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

special + + + +

+ + + + + + +

Vars

claim_rangeThe radius inside which (previously dead) blob tiles are 'claimed' again by the pulsing overmind. Very rarely used.
expand_rangeThe radius up to which this special structure naturally grows normal blobs.
pulse_rangeThe radius inside which blobs are pulsed by this overmind. Does stuff like expanding, making blob spores from factories, make resources from nodes etc.
reflector_reinforce_rangeRange this blob free upgrades to reflector blobs at: for the core, and for strains
strong_reinforce_rangeRange this blob free upgrades to strong blobs at: for the core, and for strains
+

Var Details

claim_range + + + + +

+

The radius inside which (previously dead) blob tiles are 'claimed' again by the pulsing overmind. Very rarely used.

expand_range + + + + +

+

The radius up to which this special structure naturally grows normal blobs.

pulse_range + + + + +

+

The radius inside which blobs are pulsed by this overmind. Does stuff like expanding, making blob spores from factories, make resources from nodes etc.

reflector_reinforce_range + + + + +

+

Range this blob free upgrades to reflector blobs at: for the core, and for strains

strong_reinforce_range + + + + +

+

Range this blob free upgrades to strong blobs at: for the core, and for strains

+ + + diff --git a/obj/structure/bodycontainer/morgue.html b/obj/structure/bodycontainer/morgue.html new file mode 100644 index 000000000000..9fb0f403b2a4 --- /dev/null +++ b/obj/structure/bodycontainer/morgue.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/bodycontainer/morgue - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

morgue + + + +

+ + + + +

Vars

beep_cooldownThe minimum time between beeps.
beeperWhether or not this morgue beeps to alert parameds of revivable corpses.
next_beepThe cooldown to prevent this from spamming beeps.
+

Var Details

beep_cooldown + + + + +

+

The minimum time between beeps.

beeper + + + + +

+

Whether or not this morgue beeps to alert parameds of revivable corpses.

next_beep + + + + +

+

The cooldown to prevent this from spamming beeps.

+ + + diff --git a/obj/structure/bonfire.html b/obj/structure/bonfire.html new file mode 100644 index 000000000000..0621912d5cdc --- /dev/null +++ b/obj/structure/bonfire.html @@ -0,0 +1,52 @@ + + + + + + + /obj/structure/bonfire - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

bonfire + + + +

+ +BONFIRES +

Structure that makes a big old fire. You can add rods to construct a grill for grilling meat, or a stake for buckling people to the fire, +salem style. Keeping the fire on requires oxygen. You can dismantle the bonfire back into logs when it is unignited.

+ + +

Vars

burn_iconicon for the bonfire while on. for a softer more burning embers icon, use "bonfire_warm"
burningis the bonfire lit?
grillif the bonfire has a grill attached
+

Var Details

burn_icon + + + + +

+

icon for the bonfire while on. for a softer more burning embers icon, use "bonfire_warm"

burning + + + + +

+

is the bonfire lit?

grill + + + + +

+

if the bonfire has a grill attached

+ + + diff --git a/obj/structure/bookcase.html b/obj/structure/bookcase.html new file mode 100644 index 000000000000..c1ac3e98a923 --- /dev/null +++ b/obj/structure/bookcase.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/bookcase - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

bookcase + + + +

+ + + + + +

Vars

books_to_loadHow many random books to generate.
load_random_booksWhen enabled, books_to_load number of random books will be generated for this bookcase
random_categoryThe category of books to pick from when populating random books.

Procs

load_shelfLoads the shelf, both by allowing it to generate random items, and by adding its contents to a list used by library machines
+

Var Details

books_to_load + + + + +

+

How many random books to generate.

load_random_books + + + + +

+

When enabled, books_to_load number of random books will be generated for this bookcase

random_category + + + + +

+

The category of books to pick from when populating random books.

Proc Details

load_shelf +

+

Loads the shelf, both by allowing it to generate random items, and by adding its contents to a list used by library machines

+ + + diff --git a/obj/structure/cable.html b/obj/structure/cable.html new file mode 100644 index 000000000000..06798bd7cf19 --- /dev/null +++ b/obj/structure/cable.html @@ -0,0 +1,99 @@ + + + + + + + /obj/structure/cable - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

cable + + + +

+ + + + + + + + + + + +

Vars

awaiting_rebuildIf TRUE, auto_propogate_cut_cable() is sleeping
linked_dirsWhat cable directions does this cable connect to. Uses a 0-255 bitmasking defined in 'globalvars\lists\cables.dm', with translation lists there aswell
powernetThe powernet the cable is connected to

Procs

add_availAdds power to the power net next tick.
add_delayedloadAdd delayed load to the power net. This should be used outside of machine/process()
add_loadAdds load to the power net this tick.
availHow much power is available this tick.
delayed_surplusHow much surpless is in the network next tick.
newavailHow much power the network will contain next tick.
surplusHow much extra power is in the power net this tick
+

Var Details

awaiting_rebuild + + + + +

+

If TRUE, auto_propogate_cut_cable() is sleeping

linked_dirs + + + + +

+

What cable directions does this cable connect to. Uses a 0-255 bitmasking defined in 'globalvars\lists\cables.dm', with translation lists there aswell

powernet + + + + +

+

The powernet the cable is connected to

Proc Details

add_avail +

+

Adds power to the power net next tick.

add_delayedload +

+

Add delayed load to the power net. This should be used outside of machine/process()

add_load +

+

Adds load to the power net this tick.

avail +

+

How much power is available this tick.

delayed_surplus +

+

How much surpless is in the network next tick.

newavail +

+

How much power the network will contain next tick.

surplus +

+

How much extra power is in the power net this tick

+ + + diff --git a/obj/structure/canister_frame/machine.html b/obj/structure/canister_frame/machine.html new file mode 100644 index 000000000000..b4df0bdb5df0 --- /dev/null +++ b/obj/structure/canister_frame/machine.html @@ -0,0 +1,64 @@ + + + + + + + /obj/structure/canister_frame/machine - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

machine + + + +

+ + + + + + +

Vars

finished_objThe finished usable canister path
next_tierThe next canister frame tier path
next_tier_reqitemThe required item for going to next tier. Must be set if next_tier is set.
next_tier_reqitem_amThe amount of items required in the stack of the required item. Must be set if next_tier is set.
prev_tierThe previous canister frame tier path
+

Var Details

finished_obj + + + + +

+

The finished usable canister path

next_tier + + + + +

+

The next canister frame tier path

next_tier_reqitem + + + + +

+

The required item for going to next tier. Must be set if next_tier is set.

next_tier_reqitem_am + + + + +

+

The amount of items required in the stack of the required item. Must be set if next_tier is set.

prev_tier + + + + +

+

The previous canister frame tier path

+ + + diff --git a/obj/structure/cannon.html b/obj/structure/cannon.html new file mode 100644 index 000000000000..ca925a0bc1d6 --- /dev/null +++ b/obj/structure/cannon.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/cannon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

cannon + + + +

+ + +

Vars

anchorable_cannonwhether the cannon can be unwrenched from the ground.
+

Var Details

anchorable_cannon + + + + +

+

whether the cannon can be unwrenched from the ground.

+ + + diff --git a/obj/structure/carp_rift.html b/obj/structure/carp_rift.html new file mode 100644 index 000000000000..64870ca420f3 --- /dev/null +++ b/obj/structure/carp_rift.html @@ -0,0 +1,113 @@ + + + + + + + /obj/structure/carp_rift - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Carp Rift + + + +

+ +

The portals Space Dragon summons to bring carp onto the station.

+

The portals Space Dragon summons to bring carp onto the station. His main objective is to summon 3 of them and protect them from being destroyed. +The portals can summon sentient space carp in limited amounts. The portal also changes color based on whether or not a carp spawn is available. +Once it is fully charged, it becomes indestructible, and intermitently spawns non-sentient carp. It is still destroyed if Space Dragon dies.

+ + + + + + + + + +

Vars

carp_intervalThe interval for adding additional space carp spawns to the rift.
carp_storedHow many carp spawns it has available.
charge_stateCurrent charge state of the rift.
ckey_listA list of all the ckeys which have used this carp rift to spawn in as carps.
dragonA reference to the Space Dragon that created it.
last_carp_incThe time since an extra carp was added to the ghost role spawning pool.
max_chargeThe maximum charge the rift can have.
time_chargedThe amount of time the rift has charged for.

Procs

summon_carpUsed to create carp controlled by ghosts when the option is available.
update_checkDoes a series of checks based on the portal's status.
+

Var Details

carp_interval + + + + +

+

The interval for adding additional space carp spawns to the rift.

carp_stored + + + + +

+

How many carp spawns it has available.

charge_state + + + + +

+

Current charge state of the rift.

ckey_list + + + + +

+

A list of all the ckeys which have used this carp rift to spawn in as carps.

dragon + + + + +

+

A reference to the Space Dragon that created it.

last_carp_inc + + + + +

+

The time since an extra carp was added to the ghost role spawning pool.

max_charge + + + + +

+

The maximum charge the rift can have.

time_charged + + + + +

+

The amount of time the rift has charged for.

Proc Details

summon_carp +

+

Used to create carp controlled by ghosts when the option is available.

+

Creates a carp for the ghost to control if we have a carp spawn available. +Gives them prompt to control a carp, and if our circumstances still allow if when they hit yes, spawn them in as a carp. +Also add them to the list of carps in Space Dragon's antgonist datum, so they'll be displayed as having assisted him on round end. +Arguments:

+

update_check +

+

Does a series of checks based on the portal's status.

+

Performs a number of checks based on the current charge of the portal, and triggers various effects accordingly. +If the current charge is a multiple of carp_interval, add an extra carp spawn. +If we're halfway charged, announce to the crew our location in a CENTCOM announcement. +If we're fully charged, tell the crew we are, change our color to yellow, become invulnerable, and give Space Dragon the ability to make another rift, if he hasn't summoned 3 total.

+ + + diff --git a/obj/structure/carving_block.html b/obj/structure/carving_block.html new file mode 100644 index 000000000000..9aefbebd5491 --- /dev/null +++ b/obj/structure/carving_block.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/carving_block - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

carving_block + + + +

+ + + + + + + +

Vars

completionstatue completion from 0 to 1.0
current_preset_typeCurrently chosen preset statue type
current_targetThe thing it will look like - Unmodified resulting statue appearance
greyscale_with_value_bumpHSV color filters parameters
target_appearance_with_filtersGreyscaled target with cutout filter

Procs

get_possible_statuesReturns a list of preset statues carvable from this block depending on the custom materials
+

Var Details

completion + + + + +

+

statue completion from 0 to 1.0

current_preset_type + + + + +

+

Currently chosen preset statue type

current_target + + + + +

+

The thing it will look like - Unmodified resulting statue appearance

greyscale_with_value_bump + + + + +

+

HSV color filters parameters

target_appearance_with_filters + + + + +

+

Greyscaled target with cutout filter

Proc Details

get_possible_statues +

+

Returns a list of preset statues carvable from this block depending on the custom materials

+ + + diff --git a/obj/structure/chair.html b/obj/structure/chair.html new file mode 100644 index 000000000000..844b202576d3 --- /dev/null +++ b/obj/structure/chair.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/chair - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

chair + + + +

+ + + +

Procs

MakeRotateThis proc adds the rotate component, overwrite this if you for some reason want to change some specific args.
electrify_selfallows each chair to request the electrified_buckle component with overlays that dont look ridiculous

Proc Details

MakeRotate +

+

This proc adds the rotate component, overwrite this if you for some reason want to change some specific args.

electrify_self +

+

allows each chair to request the electrified_buckle component with overlays that dont look ridiculous

+ + + diff --git a/obj/structure/chair/pew.html b/obj/structure/chair/pew.html new file mode 100644 index 000000000000..5bf34d61cf85 --- /dev/null +++ b/obj/structure/chair/pew.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/chair/pew - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

pew + + + +

+ + +

Procs

MakeRotateThis proc adds the rotate component, overwrite this if you for some reason want to change some specific args.

Proc Details

MakeRotate +

+

This proc adds the rotate component, overwrite this if you for some reason want to change some specific args.

+ + + diff --git a/obj/structure/chrono_field.html b/obj/structure/chrono_field.html new file mode 100644 index 000000000000..aa11cd1e5b96 --- /dev/null +++ b/obj/structure/chrono_field.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/chrono_field - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

chrono_field + + + +

+ + + + + + + +

Vars

RPposthe actual frame the animation is at in eradication, only changing when the progress towards eradication progresses enough to move to the next frame.
attachedif a tem to link to isn't provided initially, this chrono field will progress towards eradication by itself without one.
capturedmob being eradicated by this field
mob_underlaythe eradication appearance
temlinked module. while this exists, the field will progress towards eradication. while it isn't, the field progresses away until it disappears. see attached for a special case
timetokilltime in seconds before someone is eradicated, assuming progress isn't interrupted
+

Var Details

RPpos + + + + +

+

the actual frame the animation is at in eradication, only changing when the progress towards eradication progresses enough to move to the next frame.

attached + + + + +

+

if a tem to link to isn't provided initially, this chrono field will progress towards eradication by itself without one.

captured + + + + +

+

mob being eradicated by this field

mob_underlay + + + + +

+

the eradication appearance

tem + + + + +

+

linked module. while this exists, the field will progress towards eradication. while it isn't, the field progresses away until it disappears. see attached for a special case

timetokill + + + + +

+

time in seconds before someone is eradicated, assuming progress isn't interrupted

+ + + diff --git a/obj/structure/closet.html b/obj/structure/closet.html new file mode 100644 index 000000000000..461fa7ed24ee --- /dev/null +++ b/obj/structure/closet.html @@ -0,0 +1,155 @@ + + + + + + + /obj/structure/closet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

closet + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

contents_pressure_protectionHow close being inside of the thing provides complete pressure safety. Must be between 0 and 1!
contents_thermal_insulationHow insulated the thing is, for the purposes of calculating body temperature. Must be between 0 and 1!
divableWhether a skittish person can dive inside this closet. Disable if opening the closet causes "bad things" to happen or that it leads to a logical inconsistency.
door_anim_angleThe maximum angle the door will be drawn at
door_anim_squishVertical squish of the door
door_anim_timeAmount of time it takes for the door animation to play
door_hinge_xX position of the closet door hinge
door_objThe overlay for the closet's door
electronicselectronics for access
enable_door_overlayControls whether a door overlay should be applied using the icon_door value as the icon state
is_animating_doorWhether or not this door is being animated
strong_grabtrue whenever someone with the strong pull component (or magnet modsuit module) is dragging this, preventing opening

Procs

after_closeProc to override for effects after closing a door
after_openProc to override for effects after opening a door
animate_doorAnimates the closet door opening and closing
end_door_animationEnds the door animation and removes the animated overlay
get_door_transformCalculates the matrix to be applied to the animated door overlay
toggleToggles a closet open or closed, to the opposite state. Does not respect locked or welded states, however.
+

Var Details

contents_pressure_protection + + + + +

+

How close being inside of the thing provides complete pressure safety. Must be between 0 and 1!

contents_thermal_insulation + + + + +

+

How insulated the thing is, for the purposes of calculating body temperature. Must be between 0 and 1!

divable + + + + +

+

Whether a skittish person can dive inside this closet. Disable if opening the closet causes "bad things" to happen or that it leads to a logical inconsistency.

door_anim_angle + + + + +

+

The maximum angle the door will be drawn at

door_anim_squish + + + + +

+

Vertical squish of the door

door_anim_time + + + + +

+

Amount of time it takes for the door animation to play

door_hinge_x + + + + +

+

X position of the closet door hinge

door_obj + + + + +

+

The overlay for the closet's door

electronics + + + + +

+

electronics for access

enable_door_overlay + + + + +

+

Controls whether a door overlay should be applied using the icon_door value as the icon state

is_animating_door + + + + +

+

Whether or not this door is being animated

strong_grab + + + + +

+

true whenever someone with the strong pull component (or magnet modsuit module) is dragging this, preventing opening

Proc Details

after_close +

+

Proc to override for effects after closing a door

after_open +

+

Proc to override for effects after opening a door

animate_door +

+

Animates the closet door opening and closing

end_door_animation +

+

Ends the door animation and removes the animated overlay

get_door_transform +

+

Calculates the matrix to be applied to the animated door overlay

toggle +

+

Toggles a closet open or closed, to the opposite state. Does not respect locked or welded states, however.

+ + + diff --git a/obj/structure/closet/body_bag.html b/obj/structure/closet/body_bag.html new file mode 100644 index 000000000000..330a61dcd7d1 --- /dev/null +++ b/obj/structure/closet/body_bag.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/closet/body_bag - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

body_bag + + + +

+ + + +

Procs

attempt_foldChecks to see if we can fold. Return TRUE to actually perform the fold and delete.
perform_foldPerforms the actual folding. Deleting is automatic, please do not include.

Proc Details

attempt_fold +

+

Checks to see if we can fold. Return TRUE to actually perform the fold and delete.

+

Arguments:

+

perform_fold +

+

Performs the actual folding. Deleting is automatic, please do not include.

+

Arguments:

+
+ + + diff --git a/obj/structure/closet/body_bag/environmental/prisoner.html b/obj/structure/closet/body_bag/environmental/prisoner.html new file mode 100644 index 000000000000..5b3cc250c4b5 --- /dev/null +++ b/obj/structure/closet/body_bag/environmental/prisoner.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/closet/body_bag/environmental/prisoner - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

prisoner + + + +

+ +

Securable enviro. bags

+ + + +

Vars

sinch_soundThe sound that plays when the bag is done sinching.
sinch_timeHow long it takes to sinch the bag.
sinchedWhether or not the bag is sinched. Starts unsinched.

Procs

bust_opencopy-pasted with changes because flavor text as well as some other misc stuff
+

Var Details

sinch_sound + + + + +

+

The sound that plays when the bag is done sinching.

sinch_time + + + + +

+

How long it takes to sinch the bag.

sinched + + + + +

+

Whether or not the bag is sinched. Starts unsinched.

Proc Details

bust_open +

+

copy-pasted with changes because flavor text as well as some other misc stuff

+ + + diff --git a/obj/structure/closet/crate/mail.html b/obj/structure/closet/crate/mail.html new file mode 100644 index 000000000000..5fbc2ee10ab2 --- /dev/null +++ b/obj/structure/closet/crate/mail.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/closet/crate/mail - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

mail + + + +

+ +

Crate for mail from CentCom.

+

Procs

populateFills this mail crate with N pieces of mail, where N is the lower of the amount var passed, and the maximum capacity of this crate. If N is larger than the number of alive human players, the excess will be junkmail.

Proc Details

populate +

+

Fills this mail crate with N pieces of mail, where N is the lower of the amount var passed, and the maximum capacity of this crate. If N is larger than the number of alive human players, the excess will be junkmail.

+ + + diff --git a/obj/structure/closet/crate/mail/economy.html b/obj/structure/closet/crate/mail/economy.html new file mode 100644 index 000000000000..d5ad9f04a905 --- /dev/null +++ b/obj/structure/closet/crate/mail/economy.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/closet/crate/mail/economy - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

economy + + + +

+ + +

Procs

InitializeCrate for mail that automatically depletes the economy subsystem's pending mail counter.

Proc Details

Initialize +

+

Crate for mail that automatically depletes the economy subsystem's pending mail counter.

+ + + diff --git a/obj/structure/closet/crate/secure/owned.html b/obj/structure/closet/crate/secure/owned.html new file mode 100644 index 000000000000..170d74b7b13a --- /dev/null +++ b/obj/structure/closet/crate/secure/owned.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/closet/crate/secure/owned - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

owned + + + +

+ + + + + +

Vars

buyer_accountAccount of the person buying the crate if private purchasing.
department_accountDepartment of the person buying the crate if buying via the NIRN app.
department_purchaseIs the crate being bought by a person, or a budget card?
privacy_lockIs the secure crate opened or closed?
+

Var Details

buyer_account + + + + +

+

Account of the person buying the crate if private purchasing.

department_account + + + + +

+

Department of the person buying the crate if buying via the NIRN app.

department_purchase + + + + +

+

Is the crate being bought by a person, or a budget card?

privacy_lock + + + + +

+

Is the secure crate opened or closed?

+ + + diff --git a/obj/structure/closet/decay.html b/obj/structure/closet/decay.html new file mode 100644 index 000000000000..af3cb07908fa --- /dev/null +++ b/obj/structure/closet/decay.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/closet/decay - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

decay + + + +

+ + + +

Procs

decayFade away into nothing
unmagifyGive it the lesser magic icon and tell it to delete itself

Proc Details

decay +

+

Fade away into nothing

unmagify +

+

Give it the lesser magic icon and tell it to delete itself

+ + + diff --git a/obj/structure/closet/secure_closet/brig/genpop.html b/obj/structure/closet/secure_closet/brig/genpop.html new file mode 100644 index 000000000000..1ae4e0ea7c61 --- /dev/null +++ b/obj/structure/closet/secure_closet/brig/genpop.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/closet/secure_closet/brig/genpop - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

genpop + + + +

+ + +

Vars

assigned_id_refReference to the ID linked to the locker, done by swiping a prisoner ID on it
+

Var Details

assigned_id_ref + + + + +

+

Reference to the ID linked to the locker, done by swiping a prisoner ID on it

+ + + diff --git a/obj/structure/closet/supplypod.html b/obj/structure/closet/supplypod.html new file mode 100644 index 000000000000..08dacb0b2ad4 --- /dev/null +++ b/obj/structure/closet/supplypod.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/closet/supplypod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

supplypod + + + +

+ + +

Vars

pod_flagsList of bitflags for supply pods, see: code__DEFINES\obj_flags.dm
+

Var Details

pod_flags + + + + +

+

List of bitflags for supply pods, see: code__DEFINES\obj_flags.dm

+ + + diff --git a/obj/structure/closet/supplypod/extractionpod.html b/obj/structure/closet/supplypod/extractionpod.html new file mode 100644 index 000000000000..4eb9e0ef733c --- /dev/null +++ b/obj/structure/closet/supplypod/extractionpod.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/closet/supplypod/extractionpod - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

extractionpod + + + +

+ + + + +

Vars

contract_hubTied contractor's contract hub
recievingIf this pod is currently able to recieve a person
tied_contractThe associated contract should this have been contractor-made
+

Var Details

contract_hub + + + + +

+

Tied contractor's contract hub

recieving + + + + +

+

If this pod is currently able to recieve a person

tied_contract + + + + +

+

The associated contract should this have been contractor-made

+ + + diff --git a/obj/structure/curtain.html b/obj/structure/curtain.html new file mode 100644 index 000000000000..df1c3fed81c6 --- /dev/null +++ b/obj/structure/curtain.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/curtain - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

curtain + + + +

+ + +

Vars

opaque_closedif it can be seen through when closed
+

Var Details

opaque_closed + + + + +

+

if it can be seen through when closed

+ + + diff --git a/obj/structure/destructible/cult/item_dispenser.html b/obj/structure/destructible/cult/item_dispenser.html new file mode 100644 index 000000000000..f15641a7e6cb --- /dev/null +++ b/obj/structure/destructible/cult/item_dispenser.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/destructible/cult/item_dispenser - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

item_dispenser + + + +

+ + + + + +

Vars

cult_examine_tipIf provided, a bonus tip displayed to cultists on examined.
optionsAn associated list of options this structure can make. See setup_options() for format.
use_cooldownThe cooldown for when items can be dispensed.
use_cooldown_durationLength of the cooldown between item dispenses.
+

Var Details

cult_examine_tip + + + + +

+

If provided, a bonus tip displayed to cultists on examined.

options + + + + +

+

An associated list of options this structure can make. See setup_options() for format.

use_cooldown + + + + +

+

The cooldown for when items can be dispensed.

use_cooldown_duration + + + + +

+

Length of the cooldown between item dispenses.

+ + + diff --git a/obj/structure/destructible/cult/pylon.html b/obj/structure/destructible/cult/pylon.html new file mode 100644 index 000000000000..8c4801a50748 --- /dev/null +++ b/obj/structure/destructible/cult/pylon.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/destructible/cult/pylon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

pylon + + + +

+ + + +

Vars

corruption_cooldownThe cooldown for corruptions.
corruption_cooldown_durationLength of the cooldown in between tile corruptions. Doubled if no turfs are found.
+

Var Details

corruption_cooldown + + + + +

+

The cooldown for corruptions.

corruption_cooldown_duration + + + + +

+

Length of the cooldown in between tile corruptions. Doubled if no turfs are found.

+ + + diff --git a/obj/structure/destructible/eldritch_crucible.html b/obj/structure/destructible/eldritch_crucible.html new file mode 100644 index 000000000000..c2c784dd0f7c --- /dev/null +++ b/obj/structure/destructible/eldritch_crucible.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/destructible/eldritch_crucible - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

eldritch_crucible + + + +

+ + + + +

Vars

current_massHow much mass this currently holds
in_useCheck to see if it is currently being used.
max_massMaximum amount of mass
+

Var Details

current_mass + + + + +

+

How much mass this currently holds

in_use + + + + +

+

Check to see if it is currently being used.

max_mass + + + + +

+

Maximum amount of mass

+ + + diff --git a/obj/structure/displaycase.html b/obj/structure/displaycase.html new file mode 100644 index 000000000000..cf6bbfe3f439 --- /dev/null +++ b/obj/structure/displaycase.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/displaycase - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

displaycase + + + +

+ + + + +

Vars

alarm_managerRepresents a signel source of screaming when broken
electronicsIf we have a custom glass overlay to use.

Procs

trigger_alarmAnti-theft alarm triggered when broken.
+

Var Details

alarm_manager + + + + +

+

Represents a signel source of screaming when broken

electronics + + + + +

+

If we have a custom glass overlay to use.

Proc Details

trigger_alarm +

+

Anti-theft alarm triggered when broken.

+ + + diff --git a/obj/structure/displaycase/forsale.html b/obj/structure/displaycase/forsale.html new file mode 100644 index 000000000000..e7f67413ad32 --- /dev/null +++ b/obj/structure/displaycase/forsale.html @@ -0,0 +1,45 @@ + + + + + + + /obj/structure/displaycase/forsale - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

forsale + + + +

+ + + +

Vars

payments_accThe Account which will receive payment for purchases. Set by the first ID to swipe the tray.
sale_priceCan be placed and moved onto a table. +The price of the item being sold. Altered by grab intent ID use.
+

Var Details

payments_acc + + + + +

+

The Account which will receive payment for purchases. Set by the first ID to swipe the tray.

sale_price + + + + +

+

Can be placed and moved onto a table. +The price of the item being sold. Altered by grab intent ID use.

+ + + diff --git a/obj/structure/disposalholder.html b/obj/structure/disposalholder.html new file mode 100644 index 000000000000..8f88cfcb5f63 --- /dev/null +++ b/obj/structure/disposalholder.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/disposalholder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

disposalholder + + + +

+ + + +

Procs

start_movingStarts the movement process, persists while the holder is moving through pipes
try_expelHandles the postprocess check signal, tries to leave the pipe

Proc Details

start_moving +

+

Starts the movement process, persists while the holder is moving through pipes

try_expel +

+

Handles the postprocess check signal, tries to leave the pipe

+ + + diff --git a/obj/structure/disposaloutlet.html b/obj/structure/disposaloutlet.html new file mode 100644 index 000000000000..76d426ab6046 --- /dev/null +++ b/obj/structure/disposaloutlet.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/disposaloutlet - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

disposaloutlet + + + +

+ + +

Vars

eject_speedhow fast we're spitting fir- atoms
+

Var Details

eject_speed + + + + +

+

how fast we're spitting fir- atoms

+ + + diff --git a/obj/structure/disposalpipe.html b/obj/structure/disposalpipe.html new file mode 100644 index 000000000000..8a9c65100554 --- /dev/null +++ b/obj/structure/disposalpipe.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/disposalpipe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

disposalpipe + + + +

+ + +

Procs

shuttleRotateStructure rotate procs

Proc Details

shuttleRotate +

+

Structure rotate procs

+ + + diff --git a/obj/structure/door_assembly.html b/obj/structure/door_assembly.html new file mode 100644 index 000000000000..449f2854f187 --- /dev/null +++ b/obj/structure/door_assembly.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/door_assembly - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

door_assembly + + + +

+ + + +

Procs

examineSet overlay and color values from the airlock this assembly is supposed to build
shimmy_throughMove a mob into our loc.

Proc Details

examine +

+

Set overlay and color values from the airlock this assembly is supposed to build

shimmy_through +

+

Move a mob into our loc.

+ + + diff --git a/obj/structure/emergency_shield/cult/barrier.html b/obj/structure/emergency_shield/cult/barrier.html new file mode 100644 index 000000000000..25ae3d8ba469 --- /dev/null +++ b/obj/structure/emergency_shield/cult/barrier.html @@ -0,0 +1,46 @@ + + + + + + + /obj/structure/emergency_shield/cult/barrier - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

barrier + + + +

+ + + +

Vars

parent_runeThe rune that created the shield itself. Used to delete the rune when the shield is destroyed.

Procs

ToggleTurns the shield on and off.
+

Var Details

parent_rune + + + + +

+

The rune that created the shield itself. Used to delete the rune when the shield is destroyed.

Proc Details

Toggle +

+

Turns the shield on and off.

+

The shield has 2 states: on and off. When on, it will block movement,projectiles, items, etc. and be clearly visible, and block atmospheric gases. +When off, the rune no longer blocks anything and turns invisible. +The barrier itself is not intended to interact with the conceal runes cult spell for balance purposes.

+ + + diff --git a/obj/structure/energy_net.html b/obj/structure/energy_net.html new file mode 100644 index 000000000000..3aa1190da2db --- /dev/null +++ b/obj/structure/energy_net.html @@ -0,0 +1,39 @@ + + + + + + + /obj/structure/energy_net - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Energy Net + + + +

+ +

Energy net which ensnares prey until it is destroyed. Used by space ninjas.

+

Energy net which keeps its target from moving until it is destroyed. Used to send +players to a holding area in which they could never leave, but such feature has since +been removed.

+

Vars

affected_mobThe creature currently caught in the net
+

Var Details

affected_mob + + + + +

+

The creature currently caught in the net

+ + + diff --git a/obj/structure/ethereal_crystal.html b/obj/structure/ethereal_crystal.html new file mode 100644 index 000000000000..04b9cd300525 --- /dev/null +++ b/obj/structure/ethereal_crystal.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/ethereal_crystal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ethereal_crystal + + + +

+ + + + +

Vars

being_builtIs the crystal still being built? True by default, gets changed after a timer.
crystal_heal_timerTimer for the healing process. Stops if destroyed.
ethereal_heartThe organ this crystal belongs to
+

Var Details

being_built + + + + +

+

Is the crystal still being built? True by default, gets changed after a timer.

crystal_heal_timer + + + + +

+

Timer for the healing process. Stops if destroyed.

ethereal_heart + + + + +

+

The organ this crystal belongs to

+ + + diff --git a/obj/structure/falsewall.html b/obj/structure/falsewall.html new file mode 100644 index 000000000000..f640f7fbe437 --- /dev/null +++ b/obj/structure/falsewall.html @@ -0,0 +1,106 @@ + + + + + + + /obj/structure/falsewall - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

falsewall + + + +

+ + + + + + + + + + + + +

Vars

matset_nameMaterial Set Name
neighbor_typecacheTypecache of the neighboring objects that we want to neighbor stripe overlay with
plating_materialMaterial type of the plating
reinf_materialMaterial type of the reinforcement
stripe_paintStripe paint of the wall
wall_paintPaint of the wall

Procs

paint_stripePainfully copypasted from /turf/closed/wall
paint_wallPainfully copypasted from /turf/closed/wall
set_materialsPainfully copypasted from /turf/closed/wall (Twice!)
set_wall_informationPainfully copypasted from /turf/closed/wall
update_overlaysPartially copypasted from /turf/closed/wall
+

Var Details

matset_name + + + + +

+

Material Set Name

neighbor_typecache + + + + +

+

Typecache of the neighboring objects that we want to neighbor stripe overlay with

plating_material + + + + +

+

Material type of the plating

reinf_material + + + + +

+

Material type of the reinforcement

stripe_paint + + + + +

+

Stripe paint of the wall

wall_paint + + + + +

+

Paint of the wall

Proc Details

paint_stripe +

+

Painfully copypasted from /turf/closed/wall

paint_wall +

+

Painfully copypasted from /turf/closed/wall

set_materials +

+

Painfully copypasted from /turf/closed/wall (Twice!)

set_wall_information +

+

Painfully copypasted from /turf/closed/wall

update_overlays +

+

Partially copypasted from /turf/closed/wall

+ + + diff --git a/obj/structure/filingcabinet/employment.html b/obj/structure/filingcabinet/employment.html new file mode 100644 index 000000000000..99c483acc5ef --- /dev/null +++ b/obj/structure/filingcabinet/employment.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/filingcabinet/employment - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

employment + + + +

+ + +

Vars

virginThis var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact
+

Var Details

virgin + + + + +

+

This var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact

+ + + diff --git a/obj/structure/filingcabinet/medical.html b/obj/structure/filingcabinet/medical.html new file mode 100644 index 000000000000..7b56c8b2c209 --- /dev/null +++ b/obj/structure/filingcabinet/medical.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/filingcabinet/medical - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

medical + + + +

+ + +

Vars

virginThis var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact
+

Var Details

virgin + + + + +

+

This var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact

+ + + diff --git a/obj/structure/flora.html b/obj/structure/flora.html new file mode 100644 index 000000000000..b6533bbefd84 --- /dev/null +++ b/obj/structure/flora.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/flora - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

flora + + + +

+ + + + +

Vars

herbagePlay a foliage rustling sound when attacking it?
rockPlay a rock tap sound when attacking it?
woodPlay a wooden chop sound when attacking it?
+

Var Details

herbage + + + + +

+

Play a foliage rustling sound when attacking it?

rock + + + + +

+

Play a rock tap sound when attacking it?

wood + + + + +

+

Play a wooden chop sound when attacking it?

+ + + diff --git a/obj/structure/flora/rock.html b/obj/structure/flora/rock.html new file mode 100644 index 000000000000..8bb79b9a08fc --- /dev/null +++ b/obj/structure/flora/rock.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/flora/rock - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

rock + + + +

+ + + +

Vars

mineAmountAmount of the itemstack to drop
mineResultItemstack that is dropped when a rock is mined with a pickaxe
+

Var Details

mineAmount + + + + +

+

Amount of the itemstack to drop

mineResult + + + + +

+

Itemstack that is dropped when a rock is mined with a pickaxe

+ + + diff --git a/obj/structure/flora/tree.html b/obj/structure/flora/tree.html new file mode 100644 index 000000000000..e60fb87a9e10 --- /dev/null +++ b/obj/structure/flora/tree.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/flora/tree - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

tree + + + +

+ + +

Procs

get_seethrough_mapReturn a see_through_map, examples in seethrough.dm

Proc Details

get_seethrough_map +

+

Return a see_through_map, examples in seethrough.dm

+ + + diff --git a/obj/structure/fluff.html b/obj/structure/fluff.html new file mode 100644 index 000000000000..799fc545372d --- /dev/null +++ b/obj/structure/fluff.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/fluff - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

Fluff structure + + + +

+ +

Fluff structures serve no purpose and exist only for enriching the environment. By default, they can be deconstructed with a wrench.

+

Vars

deconstructibleIf true, the structure can be deconstructed into a metal sheet with a wrench.
+

Var Details

deconstructible + + + + +

+

If true, the structure can be deconstructed into a metal sheet with a wrench.

+ + + diff --git a/obj/structure/fluff/iced_abductor.html b/obj/structure/fluff/iced_abductor.html new file mode 100644 index 000000000000..e4bdd0362623 --- /dev/null +++ b/obj/structure/fluff/iced_abductor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/fluff/iced_abductor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

iced_abductor + + + +

+ + +

Vars

nameUnless more non-machine ayy structures made, it will stay in fluff.
+

Var Details

name + + + + +

+

Unless more non-machine ayy structures made, it will stay in fluff.

+ + + diff --git a/obj/structure/foamedmetal.html b/obj/structure/foamedmetal.html new file mode 100644 index 000000000000..1915cf56b370 --- /dev/null +++ b/obj/structure/foamedmetal.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/foamedmetal - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

foamedmetal + + + +

+ +

FOAM STRUCTURE. Formed by metal foams. Dense and opaque, but easy to break

+

Vars

next_beepVar used to prevent spamming of the construction sound
+

Var Details

next_beep + + + + +

+

Var used to prevent spamming of the construction sound

+ + + diff --git a/obj/structure/gel_cocoon.html b/obj/structure/gel_cocoon.html new file mode 100644 index 000000000000..cff8583cb601 --- /dev/null +++ b/obj/structure/gel_cocoon.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/gel_cocoon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

gel_cocoon + + + +

+ + + +

Procs

dump_inhabitantThis proc dumps the mob and handles associated audiovisual feedback
insert_targetThis proc handles the insertion of a person into the cocoon

Proc Details

dump_inhabitant +

+

This proc dumps the mob and handles associated audiovisual feedback

insert_target +

+

This proc handles the insertion of a person into the cocoon

+ + + diff --git a/obj/structure/girder.html b/obj/structure/girder.html new file mode 100644 index 000000000000..37ec88adf076 --- /dev/null +++ b/obj/structure/girder.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/girder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

girder + + + +

+ + + + +

Vars

reinforced_materialWhat material is this girder reinforced by
stripe_paintStripe paint to apply to the wall built. Matters for deconstructed and reconstructed walls
wall_paintPaint to apply to the wall built. Matters for deconstructed and reconstructed walls
+

Var Details

reinforced_material + + + + +

+

What material is this girder reinforced by

stripe_paint + + + + +

+

Stripe paint to apply to the wall built. Matters for deconstructed and reconstructed walls

wall_paint + + + + +

+

Paint to apply to the wall built. Matters for deconstructed and reconstructed walls

+ + + diff --git a/obj/structure/glowshroom.html b/obj/structure/glowshroom.html new file mode 100644 index 000000000000..c6988117dd4d --- /dev/null +++ b/obj/structure/glowshroom.html @@ -0,0 +1,135 @@ + + + + + + + /obj/structure/glowshroom - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

glowshroom + + + +

+ + + + + + + + + + + + + + + +

Vars

blacklisted_glowshroom_turfsTurfs where the glowshroom cannot spread to
endurance_decay_rateAmount of percentage decay affects endurance.max_integrity =
floorBoolean to indicate if the shroom is on the floor/wall
generationMushroom generation number
idle_decay_maxAmount of decay when decay happens on process
idle_decay_minAmount of decay when decay happens on process.
max_delay_spreadMax time interval between glowshroom "spreads"
min_delay_spreadMin time interval between glowshroom "spreads"
myseedInternal seed of the glowshroom, stats are stored here
spread_cooldownCooldown for when next to try to spread.
spread_into_adjacent_chanceChance to spread into adjacent tiles (0-100)

Procs

DecayCauses the glowshroom to decay by decreasing its endurance, destroying it when it gets too low.
InitializeCreates a new glowshroom structure.
processCauses glowshroom spreading across the floor/walls.
+

Var Details

blacklisted_glowshroom_turfs + + + + +

+

Turfs where the glowshroom cannot spread to

endurance_decay_rate + + + + +

+

Amount of percentage decay affects endurance.max_integrity =

floor + + + + +

+

Boolean to indicate if the shroom is on the floor/wall

generation + + + + +

+

Mushroom generation number

idle_decay_max + + + + +

+

Amount of decay when decay happens on process

idle_decay_min + + + + +

+

Amount of decay when decay happens on process.

max_delay_spread + + + + +

+

Max time interval between glowshroom "spreads"

min_delay_spread + + + + +

+

Min time interval between glowshroom "spreads"

myseed + + + + +

+

Internal seed of the glowshroom, stats are stored here

spread_cooldown + + + + +

+

Cooldown for when next to try to spread.

spread_into_adjacent_chance + + + + +

+

Chance to spread into adjacent tiles (0-100)

Proc Details

Decay +

+

Causes the glowshroom to decay by decreasing its endurance, destroying it when it gets too low.

+

Arguments:

+

Initialize +

+

Creates a new glowshroom structure.

+

Arguments:

+

process +

+

Causes glowshroom spreading across the floor/walls.

+ + + diff --git a/obj/structure/grille.html b/obj/structure/grille.html new file mode 100644 index 000000000000..b2b9e0c26d05 --- /dev/null +++ b/obj/structure/grille.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/grille - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

grille + + + +

+ + +

Procs

beforeShuttleMoveStructure move procs

Proc Details

beforeShuttleMove +

+

Structure move procs

+ + + diff --git a/obj/structure/grille/tram.html b/obj/structure/grille/tram.html new file mode 100644 index 000000000000..6841edf6185c --- /dev/null +++ b/obj/structure/grille/tram.html @@ -0,0 +1,44 @@ + + + + + + + /obj/structure/grille/tram - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

tram + + + +

+ + +

Procs

Initializethe tram has a few objects mapped onto it at roundstart, by default many of those objects have unwanted properties +for example grilles and windows have the atmos_sensitive element applied to them, which makes them register to +themselves moving to re register signals onto the turf via connect_loc. this is bad and dumb since it makes the tram +more expensive to move.

Proc Details

Initialize +

+

the tram has a few objects mapped onto it at roundstart, by default many of those objects have unwanted properties +for example grilles and windows have the atmos_sensitive element applied to them, which makes them register to +themselves moving to re register signals onto the turf via connect_loc. this is bad and dumb since it makes the tram +more expensive to move.

+

if you map something on to the tram, make SURE if possible that it doesnt have anythign reacting to its own movement +it will make the tram more expensive to move and we dont want that because we dont want to return to the days where +the tram took a third of the tick per movement when its just carrying its default mapped in objects

+ + + diff --git a/obj/structure/guncase.html b/obj/structure/guncase.html new file mode 100644 index 000000000000..50fcfe27330a --- /dev/null +++ b/obj/structure/guncase.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/guncase - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

guncase + + + +

+ + + +

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu
show_menushow_menu: Shows a radial menu to a user consisting of an available weaponry for taking

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+

show_menu +

+

show_menu: Shows a radial menu to a user consisting of an available weaponry for taking

+

Arguments:

+
+ + + diff --git a/obj/structure/industrial_lift.html b/obj/structure/industrial_lift.html new file mode 100644 index 000000000000..8ad1b44fc13c --- /dev/null +++ b/obj/structure/industrial_lift.html @@ -0,0 +1,251 @@ + + + + + + + /obj/structure/industrial_lift - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

industrial_lift + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

changed_gliderslazy list of movables inside lift_load who had their glide_size changed since our last movement. +used so that we dont have to change the glide_size of every object every movement, which scales to cost more than you'd think
create_multitile_platformif TRUE, this platform will late initialize and then expand to become a multitile object across all other linked platforms on this z level
glide_size_overridewhat glide_size we set our moving contents to.
heighthow many tiles this platform extends on the y axis (north-south not up-down, that would be the z axis)
initial_contentslazylist of weakrefs to the contents we have when we're first created. stored so that admins can clear the tram to its initial state +if someone put a bunch of stuff onto it.
lift_idID used to determine what lift types we can merge with
lift_loadwhat movables on our platform that we are moving
lift_master_datummaster datum that controls our movement. in general /industrial_lift subtypes control moving themselves, and +/datum/lift_master instances control moving the entire tram and any behavior associated with that.
lift_master_typewhat subtype of /datum/lift_master to create for itself if no other platform on this tram has created one yet. +very important for some behaviors since
pass_through_floorsif true, the elevator works through floors
widthhow many tiles this platform extends on the x axis

Procs

add_initial_contentsadds everything on our tile that can be added to our lift_load and initial_contents lists when we're created
check_menuProc to ensure that the radial menu closes when it should. +Arguments:
create_multitile_platformmake this tram platform multitile, expanding to cover all the tram platforms adjacent to us and deleting them. makes movement more efficient. +the platform becoming multitile should be in the bottom left corner since thats assumed to be the loc of multitile objects
group_movehandles any special interactions objects could have with the lift/tram, handled on the item itself +potentially finds a spot to throw the victim at for daring to be hit by a tram. is null if we havent found anything to throw +handles any special interactions objects could have with the lift/tram, handled on the item itself +move the movers list of movables on our tile to destination if we successfully move there first. +this is like calling forceMove() on everything in movers and ourselves, except nothing in movers +has destination.Entered() and origin.Exited() called on them, as only our movement can be perceived. +none of the movers are able to react to the movement of any other mover, saving a lot of needless processing cost +and is more sensible. without this, if you and a banana are on the same platform, when that platform moves you will slip +on the banana even if youre not moving relative to it.
lift_platform_expansionlist of turfs we dont go over. if for whatever reason we encounter an already multitile lift platform +we add all of its locs to this list so we dont add that lift platform multiple times as we iterate through its locs +returns an unordered list of all lift platforms adjacent to us. used so our lift_master_datum can control all connected platforms. +includes platforms directly above or below us as well. only includes platforms with an identical lift_id to our own.
on_changed_glide_sizesignal handler for COMSIG_MOVABLE_UPDATE_GLIDE_SIZE: when a movable in lift_load changes its glide_size independently. +adds that movable to a lazy list, movables in that list have their glide_size updated when the tram next moves
reset_contentsreset the contents of this lift platform to its original state in case someone put too much shit on it. +used by an admin via calling reset_lift_contents() on our lift_master_datum.
set_movement_registrationsset the movement registrations to our current turf(s) so contents moving out of our tile(s) are removed from our movement lists
show_fluff_messageShows a message indicating that the lift has moved up or down. +Arguments:
travelmain proc for moving the lift in the direction [going]. handles horizontal and/or vertical movement for multi platformed lifts and multitile lifts.
unset_movement_registrationsunset our movement registrations from turfs that no longer contain us (or every loc if turfs_to_unset is unspecified)
uselist of resolve()'d initial_contents that are still in lift_load +list of objects we consider foreign according to the given arguments
+

Var Details

changed_gliders + + + + +

+

lazy list of movables inside lift_load who had their glide_size changed since our last movement. +used so that we dont have to change the glide_size of every object every movement, which scales to cost more than you'd think

create_multitile_platform + + + + +

+

if TRUE, this platform will late initialize and then expand to become a multitile object across all other linked platforms on this z level

glide_size_override + + + + +

+

what glide_size we set our moving contents to.

height + + + + +

+

how many tiles this platform extends on the y axis (north-south not up-down, that would be the z axis)

initial_contents + + + + +

+

lazylist of weakrefs to the contents we have when we're first created. stored so that admins can clear the tram to its initial state +if someone put a bunch of stuff onto it.

lift_id + + + + +

+

ID used to determine what lift types we can merge with

lift_load + + + + +

+

what movables on our platform that we are moving

lift_master_datum + + + + +

+

master datum that controls our movement. in general /industrial_lift subtypes control moving themselves, and +/datum/lift_master instances control moving the entire tram and any behavior associated with that.

lift_master_type + + + + +

+

what subtype of /datum/lift_master to create for itself if no other platform on this tram has created one yet. +very important for some behaviors since

pass_through_floors + + + + +

+

if true, the elevator works through floors

width + + + + +

+

how many tiles this platform extends on the x axis

Proc Details

add_initial_contents +

+

adds everything on our tile that can be added to our lift_load and initial_contents lists when we're created

check_menu +

+

Proc to ensure that the radial menu closes when it should. +Arguments:

+ +

Returns:

+

create_multitile_platform +

+

make this tram platform multitile, expanding to cover all the tram platforms adjacent to us and deleting them. makes movement more efficient. +the platform becoming multitile should be in the bottom left corner since thats assumed to be the loc of multitile objects

group_move +

+

handles any special interactions objects could have with the lift/tram, handled on the item itself +potentially finds a spot to throw the victim at for daring to be hit by a tram. is null if we havent found anything to throw +handles any special interactions objects could have with the lift/tram, handled on the item itself +move the movers list of movables on our tile to destination if we successfully move there first. +this is like calling forceMove() on everything in movers and ourselves, except nothing in movers +has destination.Entered() and origin.Exited() called on them, as only our movement can be perceived. +none of the movers are able to react to the movement of any other mover, saving a lot of needless processing cost +and is more sensible. without this, if you and a banana are on the same platform, when that platform moves you will slip +on the banana even if youre not moving relative to it.

lift_platform_expansion +

+

list of turfs we dont go over. if for whatever reason we encounter an already multitile lift platform +we add all of its locs to this list so we dont add that lift platform multiple times as we iterate through its locs +returns an unordered list of all lift platforms adjacent to us. used so our lift_master_datum can control all connected platforms. +includes platforms directly above or below us as well. only includes platforms with an identical lift_id to our own.

on_changed_glide_size +

+

signal handler for COMSIG_MOVABLE_UPDATE_GLIDE_SIZE: when a movable in lift_load changes its glide_size independently. +adds that movable to a lazy list, movables in that list have their glide_size updated when the tram next moves

reset_contents +

+

reset the contents of this lift platform to its original state in case someone put too much shit on it. +used by an admin via calling reset_lift_contents() on our lift_master_datum.

+

Arguments:

+

set_movement_registrations +

+

set the movement registrations to our current turf(s) so contents moving out of our tile(s) are removed from our movement lists

show_fluff_message +

+

Shows a message indicating that the lift has moved up or down. +Arguments:

+

travel +

+

main proc for moving the lift in the direction [going]. handles horizontal and/or vertical movement for multi platformed lifts and multitile lifts.

unset_movement_registrations +

+

unset our movement registrations from turfs that no longer contain us (or every loc if turfs_to_unset is unspecified)

use +

+

list of resolve()'d initial_contents that are still in lift_load +list of objects we consider foreign according to the given arguments

+ + + diff --git a/obj/structure/industrial_lift/tram.html b/obj/structure/industrial_lift/tram.html new file mode 100644 index 000000000000..00fde22a34c4 --- /dev/null +++ b/obj/structure/industrial_lift/tram.html @@ -0,0 +1,60 @@ + + + + + + + /obj/structure/industrial_lift/tram - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tram + + + +

+ + + + + +

Vars

horizontal_speeddecisecond delay between horizontal movements. cannot make the tram move faster than 1 movement per world.tick_lag. only used to give to the lift_master
travellingSet by the tram control console in late initialize

Procs

find_dimensionsdebug proc to highlight the locs of the tram platform
unlock_controlsHandles unlocking the tram controls for use after moving
+

Var Details

horizontal_speed + + + + +

+

decisecond delay between horizontal movements. cannot make the tram move faster than 1 movement per world.tick_lag. only used to give to the lift_master

travelling + + + + +

+

Set by the tram control console in late initialize

Proc Details

find_dimensions +

+

debug proc to highlight the locs of the tram platform

unlock_controls +

+

Handles unlocking the tram controls for use after moving

+

More safety checks to make sure the tram has actually docked properly +at a location before users are allowed to interact with the tram console again. +Tram finds its location at this point before fully unlocking controls to the user.

+ + + diff --git a/obj/structure/janitorialcart.html b/obj/structure/janitorialcart.html new file mode 100644 index 000000000000..1c016dfd9e49 --- /dev/null +++ b/obj/structure/janitorialcart.html @@ -0,0 +1,39 @@ + + + + + + + /obj/structure/janitorialcart - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

janitorialcart + + + +

+ + +

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
+ + + diff --git a/obj/structure/ladder.html b/obj/structure/ladder.html new file mode 100644 index 000000000000..e735aed82121 --- /dev/null +++ b/obj/structure/ladder.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/ladder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

ladder + + + +

+ + +

Vars

travel_timeOptional travel time for ladder in deciseconds
+

Var Details

travel_time + + + + +

+

Optional travel time for ladder in deciseconds

+ + + diff --git a/obj/structure/light_construct.html b/obj/structure/light_construct.html new file mode 100644 index 000000000000..383f2f81648a --- /dev/null +++ b/obj/structure/light_construct.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/light_construct - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

light_construct + + + +

+ + + + + + + +

Vars

cellReference for the internal cell
cell_connectorsCan we support a cell?
fixture_typeType of fixture for icon state
new_lightReference for light object
sheets_refundedAmount of sheets gained on deconstruction
stageLight construction stage (LIGHT_CONSTRUCT_EMPTY, LIGHT_CONSTRUCT_WIRED, LIGHT_CONSTRUCT_CLOSED)
+

Var Details

cell + + + + +

+

Reference for the internal cell

cell_connectors + + + + +

+

Can we support a cell?

fixture_type + + + + +

+

Type of fixture for icon state

new_light + + + + +

+

Reference for light object

sheets_refunded + + + + +

+

Amount of sheets gained on deconstruction

stage + + + + +

+

Light construction stage (LIGHT_CONSTRUCT_EMPTY, LIGHT_CONSTRUCT_WIRED, LIGHT_CONSTRUCT_CLOSED)

+ + + diff --git a/obj/structure/light_puzzle.html b/obj/structure/light_puzzle.html new file mode 100644 index 000000000000..30c415bd8245 --- /dev/null +++ b/obj/structure/light_puzzle.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/light_puzzle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

light_puzzle + + + +

+ + +

Vars

banned_combinationsBanned combinations of the list in decimal
+

Var Details

banned_combinations + + + + +

+

Banned combinations of the list in decimal

+ + + diff --git a/obj/structure/loom.html b/obj/structure/loom.html new file mode 100644 index 000000000000..292a92f305ee --- /dev/null +++ b/obj/structure/loom.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/loom - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

loom + + + +

+ +

This is a loom. It's usually made out of wood and used to weave fabric like durathread or cotton into their respective cloth types.

+

Procs

weaveHandles the weaving.

Proc Details

weave +

+

Handles the weaving.

+ + + diff --git a/obj/structure/low_wall.html b/obj/structure/low_wall.html new file mode 100644 index 000000000000..1ff1b6b4b08d --- /dev/null +++ b/obj/structure/low_wall.html @@ -0,0 +1,78 @@ + + + + + + + /obj/structure/low_wall - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

low_wall + + + +

+ + + + + + + + +

Vars

airlock_typecacheTypecache of airlocks to apply a neighboring stripe overlay to
plating_materialMaterial used in construction
stripe_paintPaint colour of our stripe
wall_paintPaint color of our wall

Procs

is_top_obstructedWhether the top of the low wall is obstructed by an installed grille or a window
paint_wallSlight copypasta from grilles
rcd_actSlight copypasta from grilles
+

Var Details

airlock_typecache + + + + +

+

Typecache of airlocks to apply a neighboring stripe overlay to

plating_material + + + + +

+

Material used in construction

stripe_paint + + + + +

+

Paint colour of our stripe

wall_paint + + + + +

+

Paint color of our wall

Proc Details

is_top_obstructed +

+

Whether the top of the low wall is obstructed by an installed grille or a window

paint_wall +

+

Slight copypasta from grilles

rcd_act +

+

Slight copypasta from grilles

+ + + diff --git a/obj/structure/mineral_door.html b/obj/structure/mineral_door.html new file mode 100644 index 000000000000..75385d46cc89 --- /dev/null +++ b/obj/structure/mineral_door.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/mineral_door - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

mineral_door + + + +

+ + + +

Procs

deconstructEND TOOL OVERRIDES
pickaxe_doorTOOL OVERRIDES

Proc Details

deconstruct +

+

END TOOL OVERRIDES

pickaxe_door +

+

TOOL OVERRIDES

+ + + diff --git a/obj/structure/mining_bomb.html b/obj/structure/mining_bomb.html new file mode 100644 index 000000000000..ad1f9e103f3d --- /dev/null +++ b/obj/structure/mining_bomb.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/mining_bomb - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

mining_bomb + + + +

+ + + + + + + +

Vars

damageDamage done on explosion.
explosion_imageImage overlaid on explosion.
explosion_timeTime to explode from the priming
fauna_boostDamage multiplier on hostile fauna.
object_boostDamage multiplier on objects
prime_timeTime to prime the explosion
+

Var Details

damage + + + + +

+

Damage done on explosion.

explosion_image + + + + +

+

Image overlaid on explosion.

explosion_time + + + + +

+

Time to explode from the priming

fauna_boost + + + + +

+

Damage multiplier on hostile fauna.

object_boost + + + + +

+

Damage multiplier on objects

prime_time + + + + +

+

Time to prime the explosion

+ + + diff --git a/obj/structure/mirror/magic.html b/obj/structure/mirror/magic.html new file mode 100644 index 000000000000..2e5a77814ed9 --- /dev/null +++ b/obj/structure/mirror/magic.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/mirror/magic - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

magic + + + +

+ + + +

Vars

race_flagsFlags this race must have to be selectable with this type of mirror.
selectable_racesList of all Races that can be chosen, decided by its Initialize.
+

Var Details

race_flags + + + + +

+

Flags this race must have to be selectable with this type of mirror.

selectable_races + + + + +

+

List of all Races that can be chosen, decided by its Initialize.

+ + + diff --git a/obj/structure/moisture_trap.html b/obj/structure/moisture_trap.html new file mode 100644 index 000000000000..b3b45542f383 --- /dev/null +++ b/obj/structure/moisture_trap.html @@ -0,0 +1,63 @@ + + + + + + + /obj/structure/moisture_trap - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

moisture_trap + + + +

+ + + + + +

Vars

critter_infestedThis var determines if there is a chance to recieve a bite when sticking your hand into the water.
hidden_itemThis var stores the hidden item that might be able to be retrieved from the trap
loot_tableweighted loot table for what loot you can find inside the moisture trap. +the actual loot isn't that great and should probably be improved and expanded later.

Procs

CanReachInsideThis proc checks if we are able to reach inside the trap to interact with it.
+

Var Details

critter_infested + + + + +

+

This var determines if there is a chance to recieve a bite when sticking your hand into the water.

hidden_item + + + + +

+

This var stores the hidden item that might be able to be retrieved from the trap

loot_table + + + + +

+

weighted loot table for what loot you can find inside the moisture trap. +the actual loot isn't that great and should probably be improved and expanded later.

Proc Details

CanReachInside +

+

This proc checks if we are able to reach inside the trap to interact with it.

+ + + diff --git a/obj/structure/mystery_box.html b/obj/structure/mystery_box.html new file mode 100644 index 000000000000..72c107cf3af0 --- /dev/null +++ b/obj/structure/mystery_box.html @@ -0,0 +1,134 @@ + + + + + + + /obj/structure/mystery_box - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mystery_box + + + +

+ + + + + + + + + + + + + + + + +

Vars

box_close_timerA timer for how long it takes for the box to close itself
box_expire_timerA timer for how long it takes for the box to start its expire animation
box_stateThe box's current state, and whether it can be interacted with in different ways
current_sound_channelStores the current sound channel we're using so we can cut off our own sounds as needed. Randomized after each roll
grant_extra_magIf the prize is a ballistic gun with an external magazine, should we grant the user a spare mag?
presented_itemThe object that represents the rapidly changing item that will be granted upon being claimed. Is not, itself, an item.
selectable_base_typeEvery type that's a child of this that has an icon, icon_state, and isn't ABSTRACT is fair game. More granularity to come
valid_typesThe instantiated list that contains all of the valid items that can be chosen from. Generated in /obj/structure/mystery_box/proc/generate_valid_types

Procs

activateThe box has been activated, play the sound and spawn the prop item
close_boxThe box is closed, whether because the prize fully expired, or it was claimed. Start resetting all of the state stuff
generate_valid_typesThis proc is used to define what item types valid_types is filled with
grant_weaponSomeone attacked the box with an empty hand, spawn the shown prize and give it to them, then close the box
present_weaponThe box has finished choosing, mark it as available for grabbing
ready_againThe cooldown between activations has finished, shake to show that
start_expire_offerThe prize is still claimable, but the animation will show it start to recede back into the box
+

Var Details

box_close_timer + + + + +

+

A timer for how long it takes for the box to close itself

box_expire_timer + + + + +

+

A timer for how long it takes for the box to start its expire animation

box_state + + + + +

+

The box's current state, and whether it can be interacted with in different ways

current_sound_channel + + + + +

+

Stores the current sound channel we're using so we can cut off our own sounds as needed. Randomized after each roll

grant_extra_mag + + + + +

+

If the prize is a ballistic gun with an external magazine, should we grant the user a spare mag?

presented_item + + + + +

+

The object that represents the rapidly changing item that will be granted upon being claimed. Is not, itself, an item.

selectable_base_type + + + + +

+

Every type that's a child of this that has an icon, icon_state, and isn't ABSTRACT is fair game. More granularity to come

valid_types + + + + +

+

The instantiated list that contains all of the valid items that can be chosen from. Generated in /obj/structure/mystery_box/proc/generate_valid_types

Proc Details

activate +

+

The box has been activated, play the sound and spawn the prop item

close_box +

+

The box is closed, whether because the prize fully expired, or it was claimed. Start resetting all of the state stuff

generate_valid_types +

+

This proc is used to define what item types valid_types is filled with

grant_weapon +

+

Someone attacked the box with an empty hand, spawn the shown prize and give it to them, then close the box

present_weapon +

+

The box has finished choosing, mark it as available for grabbing

ready_again +

+

The cooldown between activations has finished, shake to show that

start_expire_offer +

+

The prize is still claimable, but the animation will show it start to recede back into the box

+ + + diff --git a/obj/structure/no_effect_signpost/void.html b/obj/structure/no_effect_signpost/void.html new file mode 100644 index 000000000000..3a309454f232 --- /dev/null +++ b/obj/structure/no_effect_signpost/void.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/no_effect_signpost/void - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

void + + + +

+ + + +

Vars

powerLight power of the signpost.
rangeBrightness of the signpost.
+

Var Details

power + + + + +

+

Light power of the signpost.

range + + + + +

+

Brightness of the signpost.

+ + + diff --git a/obj/structure/noticeboard.html b/obj/structure/noticeboard.html new file mode 100644 index 000000000000..e3e1a0e3a3c2 --- /dev/null +++ b/obj/structure/noticeboard.html @@ -0,0 +1,48 @@ + + + + + + + /obj/structure/noticeboard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

noticeboard + + + +

+ + + +

Vars

noticesCurrent number of a pinned notices

Procs

remove_itemRemoves an item from the notice board
+

Var Details

notices + + + + +

+

Current number of a pinned notices

Proc Details

remove_item +

+

Removes an item from the notice board

+

Arguments:

+
+ + + diff --git a/obj/structure/ore_box.html b/obj/structure/ore_box.html new file mode 100644 index 000000000000..5ca37a73e864 --- /dev/null +++ b/obj/structure/ore_box.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/ore_box - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

ore_box + + + +

+ +

Ore box

+

Procs

on_changed_z_levelSpecial override for notify_contents = FALSE.

Proc Details

on_changed_z_level +

+

Special override for notify_contents = FALSE.

+ + + diff --git a/obj/structure/overfloor_catwalk.html b/obj/structure/overfloor_catwalk.html new file mode 100644 index 000000000000..b0af47734b05 --- /dev/null +++ b/obj/structure/overfloor_catwalk.html @@ -0,0 +1,31 @@ + + + + + + + /obj/structure/overfloor_catwalk - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

overfloor_catwalk + + + +

+ +catwalk flooring +

They show what's underneath their catwalk flooring (pipes and the like) +you can screwdriver it to interact with the underneath stuff without destroying the tile... +unless you want to!

+ + + diff --git a/obj/structure/plaque.html b/obj/structure/plaque.html new file mode 100644 index 000000000000..0df5d380bb5a --- /dev/null +++ b/obj/structure/plaque.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/plaque - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

plaque + + + +

+ + +

Vars

engravedCustom plaque structures and items both start "unengraved", once engraved with a fountain pen their text can't be altered again. Static plaques are already engraved.
+

Var Details

engraved + + + + +

+

Custom plaque structures and items both start "unengraved", once engraved with a fountain pen their text can't be altered again. Static plaques are already engraved.

+ + + diff --git a/obj/structure/plasticflaps.html b/obj/structure/plasticflaps.html new file mode 100644 index 000000000000..2a58014dd0d7 --- /dev/null +++ b/obj/structure/plasticflaps.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/plasticflaps - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

plasticflaps + + + +

+ + +

Procs

update_atmos_behaviourUpdate the flaps behaviour to gases, if not anchored will let air pass through

Proc Details

update_atmos_behaviour +

+

Update the flaps behaviour to gases, if not anchored will let air pass through

+ + + diff --git a/obj/structure/punji_sticks.html b/obj/structure/punji_sticks.html new file mode 100644 index 000000000000..29f4642993b0 --- /dev/null +++ b/obj/structure/punji_sticks.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/punji_sticks - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

punji_sticks + + + +

+ + +

Vars

stab_overlayOverlay we apply when impaling a mob.
+

Var Details

stab_overlay + + + + +

+

Overlay we apply when impaling a mob.

+ + + diff --git a/obj/structure/railing.html b/obj/structure/railing.html new file mode 100644 index 000000000000..b7fd9dd6a798 --- /dev/null +++ b/obj/structure/railing.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/railing - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

railing + + + +

+ + + + +

Vars

armorarmor more or less consistent with grille. max_integrity about one time and a half that of a grille.
ini_dirInitial direction of the railing.

Procs

wrench_actImplements behaviour that makes it possible to unanchor the railing.
+

Var Details

armor + + + + +

+

armor more or less consistent with grille. max_integrity about one time and a half that of a grille.

ini_dir + + + + +

+

Initial direction of the railing.

Proc Details

wrench_act +

+

Implements behaviour that makes it possible to unanchor the railing.

+ + + diff --git a/obj/structure/reagent_dispensers.html b/obj/structure/reagent_dispensers.html new file mode 100644 index 000000000000..360343ab8446 --- /dev/null +++ b/obj/structure/reagent_dispensers.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/reagent_dispensers - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

reagent_dispensers + + + +

+ + + +

Vars

reagent_idThe ID of the reagent that the dispenser uses
tank_volumeIn units, how much the dispenser can hold
+

Var Details

reagent_id + + + + +

+

The ID of the reagent that the dispenser uses

tank_volume + + + + +

+

In units, how much the dispenser can hold

+ + + diff --git a/obj/structure/safe.html b/obj/structure/safe.html new file mode 100644 index 000000000000..20ff4acea575 --- /dev/null +++ b/obj/structure/safe.html @@ -0,0 +1,113 @@ + + + + + + + /obj/structure/safe - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

safe + + + +

+ + + + + + + + + + + + + +

Vars

current_tumbler_indexThe index in the tumblers list of the tumbler dial position that needs to be hit
dialThe position the dial is pointing to
explosion_countTough, but breakable if explosion counts reaches set value
lockedWhether the safe is locked or not
maxspaceThe maximum combined w_class of stuff in the safe
number_of_tumblersThe amount of tumblers that will be generated
openWhether the safe is open or not
spaceThe combined w_class of everything in the safe
tumblersThe list of tumbler dial positions that need to be hit

Procs

check_brokenChecks if safe is considered in a broken state for force-opening the safe
check_unlockedCalled every dial turn to determine whether the safe should unlock or not.
notify_userCalled every dial turn to provide feedback if possible.
+

Var Details

current_tumbler_index + + + + +

+

The index in the tumblers list of the tumbler dial position that needs to be hit

dial + + + + +

+

The position the dial is pointing to

explosion_count + + + + +

+

Tough, but breakable if explosion counts reaches set value

locked + + + + +

+

Whether the safe is locked or not

maxspace + + + + +

+

The maximum combined w_class of stuff in the safe

number_of_tumblers + + + + +

+

The amount of tumblers that will be generated

open + + + + +

+

Whether the safe is open or not

space + + + + +

+

The combined w_class of everything in the safe

tumblers + + + + +

+

The list of tumbler dial positions that need to be hit

Proc Details

check_broken +

+

Checks if safe is considered in a broken state for force-opening the safe

check_unlocked +

+

Called every dial turn to determine whether the safe should unlock or not.

notify_user +

+

Called every dial turn to provide feedback if possible.

+ + + diff --git a/obj/structure/sign.html b/obj/structure/sign.html new file mode 100644 index 000000000000..a45740201587 --- /dev/null +++ b/obj/structure/sign.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/sign - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sign + + + +

+ + + + +

Vars

buildable_signDetermines if a sign is unwrenchable.
is_editableThis determines if you can select this sign type when using a pen on a sign backing. False by default, set to true per sign type to override.
sign_change_namesign_change_name is used to make nice looking, alphebetized and categorized names when you use a pen on any sign item or structure which is_editable.
+

Var Details

buildable_sign + + + + +

+

Determines if a sign is unwrenchable.

is_editable + + + + +

+

This determines if you can select this sign type when using a pen on a sign backing. False by default, set to true per sign type to override.

sign_change_name + + + + +

+

sign_change_name is used to make nice looking, alphebetized and categorized names when you use a pen on any sign item or structure which is_editable.

+ + + diff --git a/obj/structure/sign/painting.html b/obj/structure/sign/painting.html new file mode 100644 index 000000000000..21407705b693 --- /dev/null +++ b/obj/structure/sign/painting.html @@ -0,0 +1,58 @@ + + + + + + + /obj/structure/sign/painting - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

painting + + + +

+ + + + + +

Vars

accepted_canvas_typesThe list of canvas types accepted by this frame
current_canvasCanvas we're currently displaying.
desc_with_canvasDescription set when canvas is added.

Procs

load_persistentLoads a painting from SSpersistence. Called globally by said subsystem when it inits
+

Var Details

accepted_canvas_types + + + + +

+

The list of canvas types accepted by this frame

current_canvas + + + + +

+

Canvas we're currently displaying.

desc_with_canvas + + + + +

+

Description set when canvas is added.

Proc Details

load_persistent +

+

Loads a painting from SSpersistence. Called globally by said subsystem when it inits

+

Deleting paintings leaves their json, so this proc will remove the json and try again if it finds one of those.

+ + + diff --git a/obj/structure/sign/painting/large.html b/obj/structure/sign/painting/large.html new file mode 100644 index 000000000000..e080e4d22444 --- /dev/null +++ b/obj/structure/sign/painting/large.html @@ -0,0 +1,41 @@ + + + + + + + /obj/structure/sign/painting/large - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

large + + + +

+ + +

Procs

finalize_sizeThis frame is visually put between two wall turfs and it has an icon that's bigger than 32px, and because +of the way it's designed, the pixel_shift variable from the wallframe item won't do. +Also we want higher bounds so it actually covers an extra wall turf, so that it can count toward check_wall_item calls for +that wall turf.

Proc Details

finalize_size +

+

This frame is visually put between two wall turfs and it has an icon that's bigger than 32px, and because +of the way it's designed, the pixel_shift variable from the wallframe item won't do. +Also we want higher bounds so it actually covers an extra wall turf, so that it can count toward check_wall_item calls for +that wall turf.

+ + + diff --git a/obj/structure/sign/picture_frame.html b/obj/structure/sign/picture_frame.html new file mode 100644 index 000000000000..20a009c8b789 --- /dev/null +++ b/obj/structure/sign/picture_frame.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/sign/picture_frame - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

picture_frame + + + +

+ + +

Procs

try_deconstructInternal proc

Proc Details

try_deconstruct +

+

Internal proc

+ + + diff --git a/obj/structure/sign/picture_frame/portrait/bar.html b/obj/structure/sign/picture_frame/portrait/bar.html new file mode 100644 index 000000000000..66fb8c66c4e4 --- /dev/null +++ b/obj/structure/sign/picture_frame/portrait/bar.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/sign/picture_frame/portrait/bar - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

bar + + + +

+ + +

Procs

InitializeGenerates a persistence id unique to the current map. Every bar should feel a little bit different after all.

Proc Details

Initialize +

+

Generates a persistence id unique to the current map. Every bar should feel a little bit different after all.

+ + + diff --git a/obj/structure/sink.html b/obj/structure/sink.html new file mode 100644 index 000000000000..6723fc870e1b --- /dev/null +++ b/obj/structure/sink.html @@ -0,0 +1,78 @@ + + + + + + + /obj/structure/sink - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

sink + + + +

+ + + + + + + + +

Vars

buildstackamountNumber of sheets of material to drop when broken or deconstructed.
buildstacktypeMaterial to drop when broken or deconstructed.
busySomething's being washed at the moment
dispensedreagentWhat kind of reagent is produced by this sink by default?
has_water_reclaimerDoes the sink have a water recycler to recollect it's water supply?
reclaim_rateUnits of water to reclaim per second
reclaimingHas the water reclamation begun?
+

Var Details

buildstackamount + + + + +

+

Number of sheets of material to drop when broken or deconstructed.

buildstacktype + + + + +

+

Material to drop when broken or deconstructed.

busy + + + + +

+

Something's being washed at the moment

dispensedreagent + + + + +

+

What kind of reagent is produced by this sink by default?

has_water_reclaimer + + + + +

+

Does the sink have a water recycler to recollect it's water supply?

reclaim_rate + + + + +

+

Units of water to reclaim per second

reclaiming + + + + +

+

Has the water reclamation begun?

+ + + diff --git a/obj/structure/spacevine.html b/obj/structure/spacevine.html new file mode 100644 index 000000000000..58226153d0eb --- /dev/null +++ b/obj/structure/spacevine.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/spacevine - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

spacevine + + + +

+ + + + + + + +

Vars

mutationsList of mutations for a specific vine

Procs

DestroyTransparent has no hue
entangle_mobBuckles mobs trying to pass through it
ex_actDestroying an explosive vine sets off a chain reaction
growUpdates the icon as the space vine grows
spreadFinds a target tile to spread to. If checks pass it will spread to it and also proc on_spread on target.
+

Var Details

mutations + + + + +

+

List of mutations for a specific vine

Proc Details

Destroy +

+

Transparent has no hue

entangle_mob +

+

Buckles mobs trying to pass through it

ex_act +

+

Destroying an explosive vine sets off a chain reaction

grow +

+

Updates the icon as the space vine grows

spread +

+

Finds a target tile to spread to. If checks pass it will spread to it and also proc on_spread on target.

+ + + diff --git a/obj/structure/spider/stickyweb.html b/obj/structure/spider/stickyweb.html new file mode 100644 index 000000000000..9669cd771b81 --- /dev/null +++ b/obj/structure/spider/stickyweb.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/spider/stickyweb - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

stickyweb + + + +

+ + + +

Vars

geneticWhether or not the web is from the genetics power
sealedWhether or not the web is a sealed web
+

Var Details

genetic + + + + +

+

Whether or not the web is from the genetics power

sealed + + + + +

+

Whether or not the web is a sealed web

+ + + diff --git a/obj/structure/stairs.html b/obj/structure/stairs.html new file mode 100644 index 000000000000..4f8ccd03aa1f --- /dev/null +++ b/obj/structure/stairs.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/stairs - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

stairs + + + +

+ + +

Procs

intercept_zImpactMoves anything that's being dragged by src or anything buckled to it to the stairs turf.

Proc Details

intercept_zImpact +

+

Moves anything that's being dragged by src or anything buckled to it to the stairs turf.

+ + + diff --git a/obj/structure/statue.html b/obj/structure/statue.html new file mode 100644 index 000000000000..8e63df72edc4 --- /dev/null +++ b/obj/structure/statue.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/statue - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

statue + + + +

+ + + + +

Vars

art_typeArt component subtype added to this statue
can_be_carvedCan this statue be created by hand?
impressivenessBeauty component mood modifier
+

Var Details

art_type + + + + +

+

Art component subtype added to this statue

can_be_carved + + + + +

+

Can this statue be created by hand?

impressiveness + + + + +

+

Beauty component mood modifier

+ + + diff --git a/obj/structure/statue/custom.html b/obj/structure/statue/custom.html new file mode 100644 index 000000000000..21fd6b3b94f9 --- /dev/null +++ b/obj/structure/statue/custom.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/statue/custom - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

custom + + + +

+ + + +

Vars

content_maprimary statue overlay

Procs

update_overlaysIdeally we'd have knowledge what we're removing but i'd have to be done on target appearance retrieval
+

Var Details

content_ma + + + + +

+

primary statue overlay

Proc Details

update_overlays +

+

Ideally we'd have knowledge what we're removing but i'd have to be done on target appearance retrieval

+ + + diff --git a/obj/structure/table.html b/obj/structure/table.html new file mode 100644 index 000000000000..b7e8e7a45739 --- /dev/null +++ b/obj/structure/table.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/table - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

table + + + +

+ + + + +

Vars

flippedAre we flipped over? -1 is unflippable
placable_boundsA url-encoded list defining the bounds that objects can be placed on. Just a visual enhancement

Procs

get_placable_boundsReturns a list of placable bounds, see placable_bounds
+

Var Details

flipped + + + + +

+

Are we flipped over? -1 is unflippable

placable_bounds + + + + +

+

A url-encoded list defining the bounds that objects can be placed on. Just a visual enhancement

Proc Details

get_placable_bounds +

+

Returns a list of placable bounds, see placable_bounds

+ + + diff --git a/obj/structure/table/optable/abductor.html b/obj/structure/table/optable/abductor.html new file mode 100644 index 000000000000..8b94f356743d --- /dev/null +++ b/obj/structure/table/optable/abductor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/table/optable/abductor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

abductor + + + +

+ + +

Vars

inject_amAmount to inject per second
+

Var Details

inject_am + + + + +

+

Amount to inject per second

+ + + diff --git a/obj/structure/tank_holder.html b/obj/structure/tank_holder.html new file mode 100644 index 000000000000..b852884f4a90 --- /dev/null +++ b/obj/structure/tank_holder.html @@ -0,0 +1,45 @@ + + + + + + + /obj/structure/tank_holder - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

tank_holder + + + +

+ +

?

+ +

Vars

tankThe stored tank. If this is a path, it gets created into contents at Initialize.

Procs

after_detach_tankCall this after taking the tank from contents in order to update references, icon +and density.
+

Var Details

tank + + + + +

+

The stored tank. If this is a path, it gets created into contents at Initialize.

Proc Details

after_detach_tank +

+

Call this after taking the tank from contents in order to update references, icon +and density.

+ + + diff --git a/obj/structure/training_machine.html b/obj/structure/training_machine.html new file mode 100644 index 000000000000..dac9a1094472 --- /dev/null +++ b/obj/structure/training_machine.html @@ -0,0 +1,229 @@ + + + + + + + /obj/structure/training_machine - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

training_machine + + + +

+ +

Machine that runs around wildly so people can practice clickin on things

+

Can have a mob buckled on or a obj/item/target attached. Movement controlled by SSFastProcess, +movespeed controlled by cooldown macros. Can attach obj/item/target, obj/item/training_toolbox, and can buckle mobs to this.

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

attached_itemReference to a potentially attached object, either a target, trainer toolbox, or syndicate toolbox
attack_cooldownHelper for timing attacks when emagged
move_cooldownCooldown macro to control how fast this will move. Used in process()
move_speedDelay between process() calls. Cannot be higher than MAX_SPEED. Smaller value represents faster movement.
movingIs the machine moving? Setting this to FALSE will automatically call stop_moving()
rangeThe distance the machine is allowed to roam from its starting point
starting_turfThe turf the machine was on when it was activated
target_positionA random spot within range that the trainer is trying to reach

Procs

DestroyCalled on qdel(), so we don't want a cool explosion to happen
atom_destructionCalled on a normal destruction, so we have a cool explosion and toss whatever's attached
attach_itemAttach an item to the machine
attackbyCalled when the machien is attacked by something
emag_actEmagging causes a deadly, unremovable syndicate toolbox to be attached to the machine
find_target_positionFind a suitable turf to move towards
handle_densityMake sure the machine can't be walked through if something is attached
on_attached_deleteCalled when the attached item is deleted.
processMain movement method for the machine
remove_attached_itemRemove the attached item from the machine
start_movingStart the machine's movement
stop_movingStop the machine's movement
toggleToggle the machine's movement
try_attackTry to attack a nearby mob
ui_actControl the attached variables.
ui_dataSend data to the UI
+

Var Details

attached_item + + + + +

+

Reference to a potentially attached object, either a target, trainer toolbox, or syndicate toolbox

attack_cooldown + + + + +

+

Helper for timing attacks when emagged

move_cooldown + + + + +

+

Cooldown macro to control how fast this will move. Used in process()

move_speed + + + + +

+

Delay between process() calls. Cannot be higher than MAX_SPEED. Smaller value represents faster movement.

moving + + + + +

+

Is the machine moving? Setting this to FALSE will automatically call stop_moving()

range + + + + +

+

The distance the machine is allowed to roam from its starting point

starting_turf + + + + +

+

The turf the machine was on when it was activated

target_position + + + + +

+

A random spot within range that the trainer is trying to reach

Proc Details

Destroy +

+

Called on qdel(), so we don't want a cool explosion to happen

atom_destruction +

+

Called on a normal destruction, so we have a cool explosion and toss whatever's attached

attach_item +

+

Attach an item to the machine

+

This proc technically works with any obj. Currently is only used for objects of type item/target and item/training_toolbox +Will make the attached item appear visually on the machine +Arguments

+

attackby +

+

Called when the machien is attacked by something

+

Meant for attaching an item to the machine, should only be a training toolbox or target. If emagged, the +machine will gain an auto-attached syndicate toolbox, so in that case we shouldn't be able to swap it out

emag_act +

+

Emagging causes a deadly, unremovable syndicate toolbox to be attached to the machine

find_target_position +

+

Find a suitable turf to move towards

handle_density +

+

Make sure the machine can't be walked through if something is attached

on_attached_delete +

+

Called when the attached item is deleted.

+

Cleans up behavior for when the attached item is deleted or removed.

process +

+

Main movement method for the machine

+

Handles movement using SSFastProcess. Moves randomly, point-to-point, in an area centered around wherever it started. +Will only move if the move_cooldown cooldown macro is finished. +If it can't find a place to go, it will stop moving.

remove_attached_item +

+

Remove the attached item from the machine

+

Called when a user removes the item by hand or by swapping it out with another, when the machine breaks, or +when the machine is emagged. +Arguments

+

start_moving +

+

Start the machine's movement

+

Says a message, plays a sound, then starts processing

stop_moving +

+

Stop the machine's movement

+

Will call STOP_PROCESSING, play a sound, and say an appropriate message +Arguments

+

toggle +

+

Toggle the machine's movement

try_attack +

+

Try to attack a nearby mob

+

Called whenever the machine moves, this will look for mobs adjacent to the machine to attack. +Will attack with either a training toolbox (if attached), or a much more deadly syndicate toolbox (if emagged). +A cooldown macro (attack_cooldown) ensures it doesn't attack too quickly

ui_act +

+

Control the attached variables.

+

Will not respond if moving and emagged, so once you set it to go it can't be stopped!

ui_data +

+

Send data to the UI

+

Include's the machine's movement range, speed, and whether or not it's active

+ + + diff --git a/obj/structure/trap/eldritch.html b/obj/structure/trap/eldritch.html new file mode 100644 index 000000000000..409797a0d985 --- /dev/null +++ b/obj/structure/trap/eldritch.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/trap/eldritch - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

eldritch + + + +

+ + + +

Vars

carver_tipA tip displayed to heretics who examine the rune carver. Explains what the rune does.
ownerReference to trap owner mob
+

Var Details

carver_tip + + + + +

+

A tip displayed to heretics who examine the rune carver. Explains what the rune does.

owner + + + + +

+

Reference to trap owner mob

+ + + diff --git a/obj/structure/window.html b/obj/structure/window.html new file mode 100644 index 000000000000..349d559ba992 --- /dev/null +++ b/obj/structure/window.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/window - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

window + + + +

+ + + + +

Vars

bloodiedIf some inconsiderate jerk has had their blood spilled on this window, thus making it cleanable
damage_per_fire_tickSnowflake for fire act damage
melting_pointThe amount of heat needed to start damaging the window
+

Var Details

bloodied + + + + +

+

If some inconsiderate jerk has had their blood spilled on this window, thus making it cleanable

damage_per_fire_tick + + + + +

+

Snowflake for fire act damage

melting_point + + + + +

+

The amount of heat needed to start damaging the window

+ + + diff --git a/obj/vehicle.html b/obj/vehicle.html new file mode 100644 index 000000000000..03fe22837dce --- /dev/null +++ b/obj/vehicle.html @@ -0,0 +1,180 @@ + + + + + + + /obj/vehicle - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

vehicle + + + +

+ + + + + + + + + + + + + + + +

Vars

canmoveWhether the vehicle is currently able to move
inserted_keyThe inserted key, needed on some vehicles to start the engine
key_typeIf the driver needs a certain item in hand (or inserted, for vehicles) to drive this. For vehicles, this must be duplicated on their riding component subtype +/datum/component/riding/var/keytype variable because only a few specific checks are handled here with this var, and the majority of it is on the riding component +Eventually the remaining checks should be moved to the component and this var removed.
max_driversMaximum amount of drivers
max_occupantsMaximum amount of passengers plus drivers
trailerThis vehicle will follow us when we move (like atrailer duh)

Procs

generate_action_type
generate_actions
grant_action_type_to_mob
grant_passenger_actions
initialize_controller_action_type
initialize_passenger_action_type
remove_action_type_from_mob
remove_passenger_actions
+

Var Details

canmove + + + + +

+

Whether the vehicle is currently able to move

inserted_key + + + + +

+

The inserted key, needed on some vehicles to start the engine

key_type + + + + +

+

If the driver needs a certain item in hand (or inserted, for vehicles) to drive this. For vehicles, this must be duplicated on their riding component subtype +/datum/component/riding/var/keytype variable because only a few specific checks are handled here with this var, and the majority of it is on the riding component +Eventually the remaining checks should be moved to the component and this var removed.

max_drivers + + + + +

+

Maximum amount of drivers

max_occupants + + + + +

+

Maximum amount of passengers plus drivers

trailer + + + + +

+

This vehicle will follow us when we move (like atrailer duh)

Proc Details

generate_action_type +

+ generate_action_type +

A small proc to properly set up each action path. +args:

+

generate_actions +

+ generate_actions +

You override this with initialize_passenger_action_type and initialize_controller_action_type calls +To give passengers actions when they enter the vehicle. +Read the documentation on the aforementioned procs to learn the difference

grant_action_type_to_mob +

+ grant_action_type_to_mob +

As on the tin, it does all the annoying small stuff and sanity needed +to GRANT an action to a mob. +args:

+

grant_passenger_actions +

+ grant_passenger_actions +

Called on every passenger that enters the vehicle, goes through the list of actions it needs to give... +and does that. +args:

+

initialize_controller_action_type +

+ initialize_controller_action_type +

Gives any passenger that enters the mech this action... IF they have the correct vehicle control flag. +This is used so passengers cannot press buttons only drivers should have, for example. +args:

+

initialize_passenger_action_type +

+ initialize_passenger_action_type +

Gives any passenger that enters the mech this action. +They will lose it when they disembark. +args:

+

remove_action_type_from_mob +

+ remove_action_type_from_mob +

As on the tin, it does all the annoying small stuff and sanity needed +to REMOVE an action to a mob. +args:

+

remove_passenger_actions +

+ remove_passenger_actions +

Called on every passenger that exits the vehicle, goes through the list of actions it needs to remove... +and does that. +args:

+
+ + + diff --git a/obj/vehicle/ridden/janicart.html b/obj/vehicle/ridden/janicart.html new file mode 100644 index 000000000000..af9d9a080b93 --- /dev/null +++ b/obj/vehicle/ridden/janicart.html @@ -0,0 +1,61 @@ + + + + + + + /obj/vehicle/ridden/janicart - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

Janicart + + + +

+ + + + + +

Vars

installed_upgradeThe installed upgrade, if present
trash_bagThe attached garbage bag, if present

Procs

bag_deletedCalled if the attached bag is being qdeleted, ensures appearance is maintained properly
try_remove_bagAttempts to remove the attached trash bag, returns true if bag was removed
+

Var Details

installed_upgrade + + + + +

+

The installed upgrade, if present

trash_bag + + + + +

+

The attached garbage bag, if present

Proc Details

bag_deleted +

+

Called if the attached bag is being qdeleted, ensures appearance is maintained properly

try_remove_bag +

+

Attempts to remove the attached trash bag, returns true if bag was removed

+

Arguments:

+
+ + + diff --git a/obj/vehicle/ridden/scooter/skateboard.html b/obj/vehicle/ridden/scooter/skateboard.html new file mode 100644 index 000000000000..87874b33f2ee --- /dev/null +++ b/obj/vehicle/ridden/scooter/skateboard.html @@ -0,0 +1,71 @@ + + + + + + + /obj/vehicle/ridden/scooter/skateboard - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

skateboard + + + +

+ + + + + + + +

Vars

board_item_typeThe handheld item counterpart for the board
grindingWhether the board is currently grinding
instabilityStamina drain multiplier
next_crashStores the time of the last crash plus a short cooldown, affects availability and outcome of certain actions
sparksSparks datum for when we grind on tables

Procs

grindMoves the vehicle forward and if it lands on a table, repeats
+

Var Details

board_item_type + + + + +

+

The handheld item counterpart for the board

grinding + + + + +

+

Whether the board is currently grinding

instability + + + + +

+

Stamina drain multiplier

next_crash + + + + +

+

Stores the time of the last crash plus a short cooldown, affects availability and outcome of certain actions

sparks + + + + +

+

Sparks datum for when we grind on tables

Proc Details

grind +

+

Moves the vehicle forward and if it lands on a table, repeats

+ + + diff --git a/obj/vehicle/ridden/scooter/skateboard/wheelys.html b/obj/vehicle/ridden/scooter/skateboard/wheelys.html new file mode 100644 index 000000000000..cecd357828dd --- /dev/null +++ b/obj/vehicle/ridden/scooter/skateboard/wheelys.html @@ -0,0 +1,57 @@ + + + + + + + /obj/vehicle/ridden/scooter/skateboard/wheelys - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

wheelys + + + +

+ + + + + +

Vars

component_typeComponent typepath to attach in [/obj/vehicle/ridden/scooter/skateboard/wheelys/proc/make_ridable()]
shoesStores the shoes associated with the vehicle
wheel_nameName of the wheels, for visible messages

Procs

link_shoesSets the shoes that the vehicle is associated with, called when the shoes are initialized
+

Var Details

component_type + + + + +

+

Component typepath to attach in [/obj/vehicle/ridden/scooter/skateboard/wheelys/proc/make_ridable()]

shoes + + + + +

+

Stores the shoes associated with the vehicle

wheel_name + + + + +

+

Name of the wheels, for visible messages

Proc Details

+

Sets the shoes that the vehicle is associated with, called when the shoes are initialized

+ + + diff --git a/obj/vehicle/ridden/secway.html b/obj/vehicle/ridden/secway.html new file mode 100644 index 000000000000..01926c52e029 --- /dev/null +++ b/obj/vehicle/ridden/secway.html @@ -0,0 +1,36 @@ + + + + + + + /obj/vehicle/ridden/secway - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

secway + + + +

+ + +

Vars

eddie_murphyThis stores a banana that, when used on the secway, prevents the vehicle from moving until it is removed.
+

Var Details

eddie_murphy + + + + +

+

This stores a banana that, when used on the secway, prevents the vehicle from moving until it is removed.

+ + + diff --git a/obj/vehicle/ridden/speedwagon.html b/obj/vehicle/ridden/speedwagon.html new file mode 100644 index 000000000000..2b6ce6c0b212 --- /dev/null +++ b/obj/vehicle/ridden/speedwagon.html @@ -0,0 +1,36 @@ + + + + + + + /obj/vehicle/ridden/speedwagon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

speedwagon + + + +

+ + +

Vars

crash_allDetermines whether we throw all things away when ramming them or just mobs, varedit only
+

Var Details

crash_all + + + + +

+

Determines whether we throw all things away when ramming them or just mobs, varedit only

+ + + diff --git a/obj/vehicle/ridden/wheelchair.html b/obj/vehicle/ridden/wheelchair.html new file mode 100644 index 000000000000..0a20483be51e --- /dev/null +++ b/obj/vehicle/ridden/wheelchair.html @@ -0,0 +1,57 @@ + + + + + + + /obj/vehicle/ridden/wheelchair - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

wheelchair + + + +

+ + + + + +

Vars

delay_multiplierRun speed delay is multiplied with this for vehicle move delay.
foldabletypeDetermines the typepath of what the object folds into
overlay_iconThis variable is used to specify which overlay icon is used for the wheelchair, ensures wheelchair can cover your legs

Procs

make_ridableI assign the ridable element in this so i don't have to fuss with hand wheelchairs and motor wheelchairs having different subtypes
+

Var Details

delay_multiplier + + + + +

+

Run speed delay is multiplied with this for vehicle move delay.

foldabletype + + + + +

+

Determines the typepath of what the object folds into

overlay_icon + + + + +

+

This variable is used to specify which overlay icon is used for the wheelchair, ensures wheelchair can cover your legs

Proc Details

make_ridable +

+

I assign the ridable element in this so i don't have to fuss with hand wheelchairs and motor wheelchairs having different subtypes

+ + + diff --git a/obj/vehicle/ridden/wheelchair/motorized.html b/obj/vehicle/ridden/wheelchair/motorized.html new file mode 100644 index 000000000000..375daf228324 --- /dev/null +++ b/obj/vehicle/ridden/wheelchair/motorized.html @@ -0,0 +1,71 @@ + + + + + + + /obj/vehicle/ridden/wheelchair/motorized - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

motorized + + + +

+ + + + + + + +

Vars

panel_openwhether the panel is open so a user can take out the cell
power_cellpower cell we draw power from
power_efficiencySelf explanatory, ratio of how much power we use
power_usageHow much power we use
required_partsParts used in building the wheelchair
speedHow "fast" the wheelchair goes only affects ramming
+

Var Details

panel_open + + + + +

+

whether the panel is open so a user can take out the cell

power_cell + + + + +

+

power cell we draw power from

power_efficiency + + + + +

+

Self explanatory, ratio of how much power we use

power_usage + + + + +

+

How much power we use

required_parts + + + + +

+

Parts used in building the wheelchair

speed + + + + +

+

How "fast" the wheelchair goes only affects ramming

+ + + diff --git a/obj/vehicle/sealed.html b/obj/vehicle/sealed.html new file mode 100644 index 000000000000..58ef96386aa6 --- /dev/null +++ b/obj/vehicle/sealed.html @@ -0,0 +1,49 @@ + + + + + + + /obj/vehicle/sealed - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

sealed + + + +

+ + + + +

Procs

enter_checksExtra checks to perform during the do_after to enter the vehicle
get_enter_delayreturns enter do_after delay for the given mob in ticks
vehicle_moveSinced sealed vehicles (cars and mechs) don't have riding components, the actual movement is handled here from [/obj/vehicle/sealed/proc/relaymove]

Proc Details

enter_checks +

+

Extra checks to perform during the do_after to enter the vehicle

get_enter_delay +

+

returns enter do_after delay for the given mob in ticks

vehicle_move +

+

Sinced sealed vehicles (cars and mechs) don't have riding components, the actual movement is handled here from [/obj/vehicle/sealed/proc/relaymove]

+ + + diff --git a/obj/vehicle/sealed/car.html b/obj/vehicle/sealed/car.html new file mode 100644 index 000000000000..cf506d9652e6 --- /dev/null +++ b/obj/vehicle/sealed/car.html @@ -0,0 +1,92 @@ + + + + + + + /obj/vehicle/sealed/car - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

car + + + +

+ + + + + + + + + + +

Vars

car_traitsBitflags for special behavior such as kidnapping
engine_soundSound file(s) to play when we drive around
engine_sound_lengthSet this to the length of the engine sound.
enginesound_cooldownHow long it takes to rev (vrrm vrrm!)
escape_timeTime it takes to break out of the car.
vehicle_move_delayHow long it takes to move, cars don't use the riding component similar to mechs so we handle it ourselves

Procs

is_car_stationaryCallback proc to check for
mob_forced_enterProc called when someone is forcefully stuffedd into a car
mob_try_forced_enterattempts to force a mob into the car
+

Var Details

car_traits + + + + +

+

Bitflags for special behavior such as kidnapping

engine_sound + + + + +

+

Sound file(s) to play when we drive around

engine_sound_length + + + + +

+

Set this to the length of the engine sound.

enginesound_cooldown + + + + +

+

How long it takes to rev (vrrm vrrm!)

escape_time + + + + +

+

Time it takes to break out of the car.

vehicle_move_delay + + + + +

+

How long it takes to move, cars don't use the riding component similar to mechs so we handle it ourselves

Proc Details

is_car_stationary +

+

Callback proc to check for

mob_forced_enter +

+

Proc called when someone is forcefully stuffedd into a car

mob_try_forced_enter +

+

attempts to force a mob into the car

+ + + diff --git a/obj/vehicle/sealed/car/clowncar.html b/obj/vehicle/sealed/car/clowncar.html new file mode 100644 index 000000000000..e83ff04bade6 --- /dev/null +++ b/obj/vehicle/sealed/car/clowncar.html @@ -0,0 +1,118 @@ + + + + + + + /obj/vehicle/sealed/car/clowncar - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

clowncar + + + +

+ + + + + + + + + + + + +

Vars

cannonmodeCurrent status of the cannon, alternates between CLOWN_CANNON_INACTIVE, CLOWN_CANNON_BUSY and CLOWN_CANNON_READY
dice_cooldown_timeCooldown time inbetween [/obj/vehicle/sealed/car/clowncar/proc/roll_the_dice()] usages
headlight_colorslist of headlight colors we use to pick through when we have party mode due to emag

Procs

activate_cannonFinalizes canon activation
cover_in_oilDeploys oil when the clowncar moves in oil deploy mode
deactivate_cannonFinalizes canon deactivation
fire_cannon_atFires the cannon where the user clicks
reset_iconresets the icon and iconstate of the clowncar after it was set to singulo states
roll_the_dicePlays a random funky effect +Only available while car is emagged +Possible effects:
stop_dropping_oilStops dropping oil after the time has run up
toggle_cannonToggles the on and off state of the clown cannon that shoots random kidnapped people
+

Var Details

cannonmode + + + + +

+

Current status of the cannon, alternates between CLOWN_CANNON_INACTIVE, CLOWN_CANNON_BUSY and CLOWN_CANNON_READY

dice_cooldown_time + + + + +

+

Cooldown time inbetween [/obj/vehicle/sealed/car/clowncar/proc/roll_the_dice()] usages

headlight_colors + + + + +

+

list of headlight colors we use to pick through when we have party mode due to emag

Proc Details

activate_cannon +

+

Finalizes canon activation

cover_in_oil +

+

Deploys oil when the clowncar moves in oil deploy mode

deactivate_cannon +

+

Finalizes canon deactivation

fire_cannon_at +

+

Fires the cannon where the user clicks

reset_icon +

+

resets the icon and iconstate of the clowncar after it was set to singulo states

roll_the_dice +

+

Plays a random funky effect +Only available while car is emagged +Possible effects:

+

stop_dropping_oil +

+

Stops dropping oil after the time has run up

toggle_cannon +

+

Toggles the on and off state of the clown cannon that shoots random kidnapped people

+ + + diff --git a/obj/vehicle/sealed/car/vim.html b/obj/vehicle/sealed/car/vim.html new file mode 100644 index 000000000000..5c23f78425ff --- /dev/null +++ b/obj/vehicle/sealed/car/vim.html @@ -0,0 +1,45 @@ + + + + + + + /obj/vehicle/sealed/car/vim - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

vim + + + +

+ +VIM!!!!!!! +

It's a teenie minature mecha... for critters! +For the critters that cannot be understood, there is a sound creator in the mecha. It also has headlights.

+ +

Vars

being_repairedTRUE while the vim is being welded
maximum_mob_sizeMaximum size of a mob trying to enter the mech
+

Var Details

being_repaired + + + + +

+

TRUE while the vim is being welded

maximum_mob_size + + + + +

+

Maximum size of a mob trying to enter the mech

+ + + diff --git a/obj/vehicle/sealed/mecha.html b/obj/vehicle/sealed/mecha.html new file mode 100644 index 000000000000..e8e46947fb25 --- /dev/null +++ b/obj/vehicle/sealed/mecha.html @@ -0,0 +1,652 @@ + + + + + + + /obj/vehicle/sealed/mecha - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mecha + + + +

+ +

WELCOME TO MECHA.DM, ENJOY YOUR STAY

+

Mechs are now (finally) vehicles, this means you can make them multicrew +They can also grant select ability buttons based on occupant bitflags

+

Movement is handled through vehicle_move() which is called by relaymove +Clicking is done by way of signals registering to the entering mob +NOTE: MMIS are NOT mobs but instead contain a brain that is, so you need special checks +AI also has special checks becaus it gets in and out of the mech differently +Always call remove_occupant(mob) when leaving the mech so the mob is removed properly

+

For multi-crew, you need to set how the occupants recieve ability bitflags corresponding to their status on the vehicle(i.e: driver, gunner etc) +Abilities can then be set to only apply for certain bitflags and are assigned as such automatically

+

Clicks are wither translated into mech_melee_attack (see mech_melee_attack.dm) +Or are used to call action() on equipped gear +Cooldown for gear is on the mech because exploits

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_thrusters/Action vars +Ref to any active thrusters we might have
allow_diagonal_movementWhether this mech is allowed to move diagonally
bumpsmashWhether or not the mech destroys walls by running into it.
cabin_airInternal air mix datum
capacitorKeeps track of the mech's capacitor
cellKeeps track of the mech's cell
completely_disabledJust stop the mech from doing anything
component_damage_thresholddamage threshold above which we take component damage
connected_portThe connected air port, if we have one
construction_stateWhether the mechs maintenance protocols are on or off
defense_modeBool for energy shield on/off
destruction_sleep_durationTime you get slept for if you get forcible ejected by the mech exploding
dir_inWhat direction will the mech face when entered/powered on? Defaults to South.
dna_lockStores the DNA enzymes of a carbon so tht only they can access the mech
enclosedWhether outside viewers can see the pilot inside
equip_by_categoryassoc list: key-typepathlist before init, key-equipmentlist after
equipment_disabledif we cant use our equipment(such as due to EMP)
exit_delayTIme taken to leave the mech
facing_modifiersModifiers for directional damage reduction
flat_equipmentflat equipment for iteration
internal_damageBitflags for internal damage
internal_damage_probability% chance for internal damage to occur
internal_damage_thresholddamage amount above which we can take internal damages
internal_tankThe internal air tank obj of the mech
internal_tank_valveThe setting of the valve on the internal tank
internals_req_accessrequired access to change internal components
is_currently_ejectingCurrently ejecting, and unable to do things
leg_overload_coeffEnergy use modifier for leg overload
leg_overload_modeBool for leg overload on/off
lights_powerHow powerful our lights are
max_equip_by_categoryassoc list: max equips for non-arm modules key-count
mecha_flagsContains flags for the mecha
melee_cooldownCooldown duration between melee punches
melee_energy_drainHow much energy we drain each time we mechpunch someone
normal_step_energy_drainHow much energy the mech will consume each time it moves. This variable is a backup for when leg actuators affect the energy drain.
operation_req_accessrequired access level for mecha operation
overload_step_energy_drain_minThe minimum amount of energy charge consumed by leg overload
phase_stateicon_state for flick() when phazing
phasingcheck for phasing, if it is set to text (to describe how it is phasing: "flying", "phasing") it will let the mech walk through walls.
phasing_energy_drainPower we use every time we phaze through something
possible_int_damagelist of possibly dealt internal damage for this mech type
radioSpecial version of the radio, which is unsellable
scanmodKeeps track of the mech's scanning module
silbutton_icon_stateIn case theres a different iconstate for AI/MMI pilot(currently only used for ripley)
smashcooldownCooldown length between bumpsmashes
smoke_chargesRemaining smoke charges
smoke_cooldownCooldown between using smoke
spark_systemSpark effects are handled by this datum
step_energy_drainHow much energy the mech will consume each time it moves. this is the current active energy consumed
step_silentWhether our steps are silent due to no gravity
stepsoundSound played when the mech moves
strafeWether we are strafing
turnsoundSound played when the mech walks
ui_viewref to screen object that displays in the middle of the UI
ui_xUi size, so you can make the UI bigger if you let it load a lot of stuff
ui_yUi size, so you can make the UI bigger if you let it load a lot of stuff
use_internal_tank////////ATMOS +Whether we are currrently drawing from the internal tank
wreckageTypepath for the wreckage it spawns when destroyed

Procs

add_capacitorAdds a capacitor, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.
add_cellUpdates the values given by scanning module and capacitor tier, called when a part is removed or inserted.
add_scanmodAdds a scanning module, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.
ai_enter_mechHack and From Card interactions share some code, so leave that here for both to use.
aimob_enter_mechHandles an actual AI (simple_animal mecha pilot) entering the mech
aimob_exit_mechHandles an actual AI (simple_animal mecha pilot) exiting the mech
ammo_resupplyAmmo stuff
attack_aiAI piloting
diag_hud_set_mechtrackingShows tracking beacons on the mech
disconnect_airDisconnects air tank- air port connection on mecha move
display_speech_bubbleDisplays a special speech bubble when someone inside the mecha speaks
generate_action_typeMECHA ACTIONS
get_armour_facingreturns a number for the damage multiplier for this relative angle/dir
get_int_repair_fluff_endgets the successful finish balloon alert flufftext
get_int_repair_fluff_failgets the on-fail balloon alert flufftext
get_int_repair_fluff_startgets the starting balloon alert flufftext
has_chargePower stuff
on_light_eaterSpecial light eater handling
on_mouseclick// Action processing ////
operation_allowedAccess stuff
play_stepsound///// Movement procs ////////
remove_airAtmospheric stuff
returnPressurefetches pressure of the gas mixture we are using
return_temperaturefetches temp of the gas mixture we are using
setDirSets the direction of the mecha and all of its occcupents, required for FOV. Alternatively one could make a recursive contents registration and register topmost direction changes in the fov component
try_damage_componenttries to damage mech equipment depending on damage and where is being targetted
try_deal_internal_damagetries to deal internal damaget depending on the damage amount
try_repair_int_damage///// Internal damage ////////
+

Var Details

active_thrusters + + + + +

+

/Action vars +Ref to any active thrusters we might have

allow_diagonal_movement + + + + +

+

Whether this mech is allowed to move diagonally

bumpsmash + + + + +

+

Whether or not the mech destroys walls by running into it.

cabin_air + + + + +

+

Internal air mix datum

capacitor + + + + +

+

Keeps track of the mech's capacitor

cell + + + + +

+

Keeps track of the mech's cell

completely_disabled + + + + +

+

Just stop the mech from doing anything

component_damage_threshold + + + + +

+

damage threshold above which we take component damage

connected_port + + + + +

+

The connected air port, if we have one

construction_state + + + + +

+

Whether the mechs maintenance protocols are on or off

defense_mode + + + + +

+

Bool for energy shield on/off

destruction_sleep_duration + + + + +

+

Time you get slept for if you get forcible ejected by the mech exploding

dir_in + + + + +

+

What direction will the mech face when entered/powered on? Defaults to South.

dna_lock + + + + +

+

Stores the DNA enzymes of a carbon so tht only they can access the mech

enclosed + + + + +

+

Whether outside viewers can see the pilot inside

equip_by_category + + + + +

+

assoc list: key-typepathlist before init, key-equipmentlist after

equipment_disabled + + + + +

+

if we cant use our equipment(such as due to EMP)

exit_delay + + + + +

+

TIme taken to leave the mech

facing_modifiers + + + + +

+

Modifiers for directional damage reduction

flat_equipment + + + + +

+

flat equipment for iteration

internal_damage + + + + +

+

Bitflags for internal damage

internal_damage_probability + + + + +

+

% chance for internal damage to occur

internal_damage_threshold + + + + +

+

damage amount above which we can take internal damages

internal_tank + + + + +

+

The internal air tank obj of the mech

internal_tank_valve + + + + +

+

The setting of the valve on the internal tank

internals_req_access + + + + +

+

required access to change internal components

is_currently_ejecting + + + + +

+

Currently ejecting, and unable to do things

leg_overload_coeff + + + + +

+

Energy use modifier for leg overload

leg_overload_mode + + + + +

+

Bool for leg overload on/off

lights_power + + + + +

+

How powerful our lights are

max_equip_by_category + + + + +

+

assoc list: max equips for non-arm modules key-count

mecha_flags + + + + +

+

Contains flags for the mecha

melee_cooldown + + + + +

+

Cooldown duration between melee punches

melee_energy_drain + + + + +

+

How much energy we drain each time we mechpunch someone

normal_step_energy_drain + + + + +

+

How much energy the mech will consume each time it moves. This variable is a backup for when leg actuators affect the energy drain.

operation_req_access + + + + +

+

required access level for mecha operation

overload_step_energy_drain_min + + + + +

+

The minimum amount of energy charge consumed by leg overload

phase_state + + + + +

+

icon_state for flick() when phazing

phasing + + + + +

+

check for phasing, if it is set to text (to describe how it is phasing: "flying", "phasing") it will let the mech walk through walls.

phasing_energy_drain + + + + +

+

Power we use every time we phaze through something

possible_int_damage + + + + +

+

list of possibly dealt internal damage for this mech type

radio + + + + +

+

Special version of the radio, which is unsellable

scanmod + + + + +

+

Keeps track of the mech's scanning module

silbutton_icon_state + + + + +

+

In case theres a different iconstate for AI/MMI pilot(currently only used for ripley)

smashcooldown + + + + +

+

Cooldown length between bumpsmashes

smoke_charges + + + + +

+

Remaining smoke charges

smoke_cooldown + + + + +

+

Cooldown between using smoke

spark_system + + + + +

+

Spark effects are handled by this datum

step_energy_drain + + + + +

+

How much energy the mech will consume each time it moves. this is the current active energy consumed

step_silent + + + + +

+

Whether our steps are silent due to no gravity

stepsound + + + + +

+

Sound played when the mech moves

strafe + + + + +

+

Wether we are strafing

turnsound + + + + +

+

Sound played when the mech walks

ui_view + + + + +

+

ref to screen object that displays in the middle of the UI

ui_x + + + + +

+

Ui size, so you can make the UI bigger if you let it load a lot of stuff

ui_y + + + + +

+

Ui size, so you can make the UI bigger if you let it load a lot of stuff

use_internal_tank + + + + +

+

////////ATMOS +Whether we are currrently drawing from the internal tank

wreckage + + + + +

+

Typepath for the wreckage it spawns when destroyed

Proc Details

add_capacitor +

+

Adds a capacitor, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.

add_cell +

+

Updates the values given by scanning module and capacitor tier, called when a part is removed or inserted.

+

/// Helpers /////////

+

Adds a cell, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.

add_scanmod +

+

Adds a scanning module, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.

ai_enter_mech +

+

Hack and From Card interactions share some code, so leave that here for both to use.

aimob_enter_mech +

+

Handles an actual AI (simple_animal mecha pilot) entering the mech

aimob_exit_mech +

+

Handles an actual AI (simple_animal mecha pilot) exiting the mech

ammo_resupply +

+

Ammo stuff

attack_ai +

+

AI piloting

diag_hud_set_mechtracking +

+

Shows tracking beacons on the mech

disconnect_air +

+

Disconnects air tank- air port connection on mecha move

display_speech_bubble +

+

Displays a special speech bubble when someone inside the mecha speaks

generate_action_type +

+

MECHA ACTIONS

get_armour_facing +

+

returns a number for the damage multiplier for this relative angle/dir

get_int_repair_fluff_end +

+

gets the successful finish balloon alert flufftext

get_int_repair_fluff_fail +

+

gets the on-fail balloon alert flufftext

get_int_repair_fluff_start +

+

gets the starting balloon alert flufftext

has_charge +

+

Power stuff

on_light_eater +

+

Special light eater handling

on_mouseclick +

+

// Action processing ////

+

Called when a driver clicks somewhere. Handles everything like equipment, punches, etc.

operation_allowed +

+

Access stuff

play_stepsound +

+

///// Movement procs ////////

+

Plays the mech step sound effect. Split from movement procs so that other mechs (HONK) can override this one specific part.

remove_air +

+

Atmospheric stuff

returnPressure +

+

fetches pressure of the gas mixture we are using

return_temperature +

+

fetches temp of the gas mixture we are using

setDir +

+

Sets the direction of the mecha and all of its occcupents, required for FOV. Alternatively one could make a recursive contents registration and register topmost direction changes in the fov component

try_damage_component +

+

tries to damage mech equipment depending on damage and where is being targetted

try_deal_internal_damage +

+

tries to deal internal damaget depending on the damage amount

try_repair_int_damage +

+

///// Internal damage ////////

+

tries to repair any internal damage and plays fluff for it

+ + + diff --git a/obj/vehicle/sealed/mecha/combat/durand.html b/obj/vehicle/sealed/mecha/combat/durand.html new file mode 100644 index 000000000000..51d1ace7f5c6 --- /dev/null +++ b/obj/vehicle/sealed/mecha/combat/durand.html @@ -0,0 +1,44 @@ + + + + + + + /obj/vehicle/sealed/mecha/combat/durand - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

durand + + + +

+ + + +

Procs

defense_check*Checks if defense mode is enabled, and if the attacker is standing in an area covered by the shield. +Expects a turf. Returns true if the attack should be blocked, false if not.
relayRelays the signal from the action button to the shield, and creates a new shield if the old one is MIA.

Proc Details

defense_check +

+

*Checks if defense mode is enabled, and if the attacker is standing in an area covered by the shield. +Expects a turf. Returns true if the attack should be blocked, false if not.

relay +

+

Relays the signal from the action button to the shield, and creates a new shield if the old one is MIA.

+ + + diff --git a/obj/vehicle/sealed/mecha/combat/savannah_ivanov.html b/obj/vehicle/sealed/mecha/combat/savannah_ivanov.html new file mode 100644 index 000000000000..fca5d2f5b261 --- /dev/null +++ b/obj/vehicle/sealed/mecha/combat/savannah_ivanov.html @@ -0,0 +1,30 @@ + + + + + + + /obj/vehicle/sealed/mecha/combat/savannah_ivanov - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types +
+
+

savannah_ivanov + + + +

+ +Savannah-Ivanov! +

A two person mecha that delegates moving to the driver and shooting to the pilot. +...Hilarious, right?

+ + + diff --git a/obj/vehicle/sealed/mecha/working.html b/obj/vehicle/sealed/mecha/working.html new file mode 100644 index 000000000000..fc9616d0d5cd --- /dev/null +++ b/obj/vehicle/sealed/mecha/working.html @@ -0,0 +1,44 @@ + + + + + + + /obj/vehicle/sealed/mecha/working - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

working + + + +

+ + + +

Vars

boxHandles an internal ore box for working mechs

Procs

collect_oreHandles collecting ore.
+

Var Details

box + + + + +

+

Handles an internal ore box for working mechs

Proc Details

collect_ore +

+

Handles collecting ore.

+

Checks for a hydraulic clamp or ore box manager and if it finds an ore box inside them puts ore in the ore box.

+ + + diff --git a/obj/vehicle/sealed/mecha/working/ripley.html b/obj/vehicle/sealed/mecha/working/ripley.html new file mode 100644 index 000000000000..4e2f0ba29547 --- /dev/null +++ b/obj/vehicle/sealed/mecha/working/ripley.html @@ -0,0 +1,78 @@ + + + + + + + /obj/vehicle/sealed/mecha/working/ripley - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

ripley + + + +

+ + + + + + + + +

Vars

cargoList of all things in Ripley's Cargo Compartment
cargo_capacityHow much things Ripley can carry in their Cargo Compartment
fast_pressure_step_inHow fast the mech is in low pressure
hidesAmount of Goliath hides attached to the mech
slow_pressure_step_inHow fast the mech is in normal pressure
stepsoundCustom Ripley step and turning sounds (from TGMC)

Procs

update_pressureIncreases movement and drill speed in lower pressure environments because of less air resistance or something
+

Var Details

cargo + + + + +

+

List of all things in Ripley's Cargo Compartment

cargo_capacity + + + + +

+

How much things Ripley can carry in their Cargo Compartment

fast_pressure_step_in + + + + +

+

How fast the mech is in low pressure

hides + + + + +

+

Amount of Goliath hides attached to the mech

slow_pressure_step_in + + + + +

+

How fast the mech is in normal pressure

stepsound + + + + +

+

Custom Ripley step and turning sounds (from TGMC)

Proc Details

update_pressure +

+

Increases movement and drill speed in lower pressure environments because of less air resistance or something

+ + + diff --git a/particles.html b/particles.html new file mode 100644 index 000000000000..e808feb15cd1 --- /dev/null +++ b/particles.html @@ -0,0 +1,35 @@ + + + + + + + /particles - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

particles + + + +

+ + +

Procs

return_ui_representationreturns ui_data values for the particle editor

Proc Details

return_ui_representation +

+

returns ui_data values for the particle editor

+ + + diff --git a/procpath.html b/procpath.html new file mode 100644 index 000000000000..03a4430b4f8d --- /dev/null +++ b/procpath.html @@ -0,0 +1,73 @@ + + + + + + + /procpath - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

procpath + + + +

+ +

Represents a proc or verb path.

+

Despite having no DM-defined static type, proc paths have some variables, +listed below. These are not modifiable, but for a given procpath P, +new P(null, "Name", "Desc") can be used to create a new procpath with the +same code but new name and desc values. The other variables cannot be +changed in this way.

+

This type exists only to act as an annotation, providing reasonable static +typing for procpaths. Previously, types like /atom/verb were used, with +the name and desc vars of /atom thus being accessible. Proc and verb +paths will fail istype and ispath checks against /procpath.

+ + + + +

Vars

categoryThe category or tab the verb will appear in.
descThe verb's help text or description.
hiddenWhether or not the verb appears in statpanel and commandbar when you press space
invisibilityOnly clients/mobs with see_invisibility higher can use the verb.
nameA text string of the verb's name.
+

Var Details

category + + + + +

+

The category or tab the verb will appear in.

desc + + + + +

+

The verb's help text or description.

hidden + + + + +

+

Whether or not the verb appears in statpanel and commandbar when you press space

invisibility + + + + +

+

Only clients/mobs with see_invisibility higher can use the verb.

name + + + + +

+

A text string of the verb's name.

+ + + diff --git a/regex/format_component.html b/regex/format_component.html new file mode 100644 index 000000000000..27f03bea59f1 --- /dev/null +++ b/regex/format_component.html @@ -0,0 +1,41 @@ + + + + + + + /regex/format_component - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

Subtype of regex that holds context to /obj/item/circuit_component/format + + + +

+ + +

Procs

process_format_component_paramReplace %n with the actual param, as a string. +Arguments:

Proc Details

process_format_component_param +

+

Replace %n with the actual param, as a string. +Arguments:

+
+ + + diff --git a/turf.html b/turf.html new file mode 100644 index 000000000000..bdec3cdc3400 --- /dev/null +++ b/turf.html @@ -0,0 +1,653 @@ + + + + + + + /turf - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

turf + + + +

+ +

Any floor or wall. What makes up the station and the rest of the map. +If present, a turf above that is copying this turf. Implies a Z-connection and that the turf above is a z-mimic enabled turf. +If present, the turf below that we are copying. Implies a Z-connection and that this is a z-mimic enabled turf. +If we're a non-overwrite z-turf, this holds the appearance of the bottom-most Z-turf in the z-stack. +Object used to multiply color of all OO overlays at once. +If this is a delegate (non-overwrite) Z-turf with a z-turf above, this is the delegate copy that's copying us. +If we're at the bottom of the stack, a proxy used to fake a below space turf. +Cached computed depth, used in analyzer.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

airThe local gas mixture of this turf. Use return_air(). This will always exist even if not in use, because GCing air contents would be too expensive.
always_litBool, whether this turf will always be illuminated no matter what area it is in
ao_junctionWhat directions this is currently smoothing with. +This starts as null for us to know when it's first set, but after that it will hold a 8-bit mask ranging from 0 to 255.
ao_junction_mimicThe same as ao_junction, but for the mimic turf.
ao_overlayCurrent ambient occlusion overlays. +Tracked here so that they can be reapplied during update_overlays()
ao_overlay_mimicThe same as ao_overlay, but for the mimic turf.
ao_queuedWhether this turf is currently queued for ambient occlusion.
assigned_oranges_earwhat /mob/oranges_ear instance is already assigned to us as there should only ever be one. +used for guaranteeing there is only one oranges_ear per turf when assigned, speeds up view() iteration
atmos_sensitive_contentsAtmos sensitive atoms in our contents. lazylist.
blocks_airDetermines how air interacts with this turf.
blueprint_dataFor the station blueprints, images of objects eg: pipes
changing_turfIs this turf in the process of running ChangeTurf()?
directional_opacityWhich directions does this turf block the vision of, taking into account both the turf's opacity and the movable opacity_sources.
dynamic_lumcountLumcount added by sources other than lighting datum objects, such as the overlay lighting component.
explosion_throw_detailsContains the throw range for explosions. You won't need this, stop looking at it.
force_no_gravitywhether or not this turf forces movables on it to have no gravity (unless they themselves have forced gravity)
holodeck_compatiblethe holodeck can load onto this turf if TRUE
in_contents_ofFor the area_contents list unit test +Allows us to know our area without needing to preassign it +Sorry for the mess
initial_gasA gas_mixture gas list to be used as the initial value. Ex: list(GAS_OXYGEN = 50)
lighting_corner_NELighting Corner datums.
lighting_objectOur lighting object.
lighting_uses_jenSet to TRUE for pseudo 3/4ths walls, otherwise, leave alone.
max_fire_temperature_sustainedThe max temperature of the fire which it was subjected to
needs_air_updateDoes this turf need to be ran through SSzas? (SSzas.mark_for_update(turf) OR turf.zas_update_loc())
opacity_sourcesLazylist of movable atoms providing opacity sources.
open_directionsAll directions in which a turf that can contain air is present.
overfloor_placedIf there's a tile over a basic floor that can be ripped out
pathing_pass_methodHow pathing algorithm will check if this turf is passable by itself (not including content checks). By default it's just density check. +WARNING: Currently to use a density shortcircuiting this does not support dense turfs with special allow through function
permit_aoWhether this turf is allowed to have ambient occlusion. +If FALSE, this turf will not be considered for ambient occlusion.
rcd_memoryIf this turf contained an RCD'able object (or IS one, for walls) +but is now destroyed, this will preserve the value. +See _DEFINES/construction.dm for RCD_MEMORY*.
to_be_destroyedUsed for fire, if a melting temperature was reached, it will be destroyed
turf_flagsTurf bitflags, see code/__DEFINES/flags.dm
underfloor_accessibilityHow accessible underfloor pieces such as wires, pipes, etc are on this turf. Can be HIDDEN, VISIBLE, or INTERACTABLE.
z_eventually_spaceIf this Z-turf leads to space, uninterrupted.
z_flagsCan atmos pass down through this turf?
z_queuedHow many times this turf is currently queued - multiple queue occurrences are allowed to ensure update consistency.
zoneThe turf's current zone parent.

Procs

AdjacentQuickQuick adjacency (to turf): +If you are in the same turf, always true +If you are not adjacent, then false
EnterTest if a movable can enter this turf. Send no_side_effects = TRUE to prevent bumping.
InitializeTurf Initialize
LinkBlockedWithAccessFor seeing if we can actually move between 2 given turfs while accounting for our access and the caller's pass_flags
PlaceOnBottomPlaces the given turf on the bottom of the turf stack.
ScrapeAwayTake off the top layer turf and replace it with the next baseturf down
TryGetNonDenseNeighbourI literally don't know where this proc came from.
TryScrapeToLatticeRun ScrapeAway(amount), then attempt to place lattice.
add_opacity_sourceProc to add movable sources of opacity on the turf and let it handle lighting code.
assume_airMerges a given gas mixture with the turf's current air source.
assume_gasBasically adjustGasWithTemp() but a turf proc.
atmos_spawn_airCreates a gas_mixture datum with the given parameters and merges it into the turf's air source.
can_safely_remove_from_zoneEXPERIMENTAL +Simple heuristic for determining if removing the turf from it's zone will not partition the zone (A very bad thing).
change_areaCall to move a turf from its current area to a new one
cleanup_zmimicCleans up Z-mimic objects for this turf. You shouldn't call this directly 99% of the time.
clear_signal_refsZAS THINGS +NO MORE ZAS THINGS +WARNING WARNING +Turfs DO NOT lose their signals when they get replaced, REMEMBER THIS +It's possible because turfs are fucked, and if you have one in a list and it's replaced with another one, the list ref points to the new turf +We do it because moving signals over was needlessly expensive, and bloated a very commonly used bit of code
contains_dense_objectsChecks a turf to see if any of it's contents are dense. Is NOT recursive. See also is_blocked_turf()
create_fireCreates a fire with firelevel (fl). If create_own_fuel is given, it will create that many units of welding fuel on the turf.
disable_zmimicDisables Z-mimic for a turf.
enable_zmimicEnables Z-mimic for a turf that didn't already have it enabled.
expose_reagentsHandles exposing a turf to reagents.
fromShuttleMoveBase procs
get_atmos_adjacent_turfsReturns a list of adjacent turfs that can contain air. Returns null if none.
is_blocked_turfCheck whether the specified turf is blocked by something dense inside it with respect to a specific atom.
is_blocked_turf_ignore_climbableChecks whether the specified turf is blocked by something dense inside it, but ignores anything with the climbable trait
make_airInitializes the turf's "air" datum to it's initial values.
on_change_areaAllows for reactions to an area change without inherently requiring change_area() be called (I hate maploading)
post_update_air_propertiesThe air mobility of src >> target +The air mobility of target >> src
reachableAdjacentTurfsReturns adjacent turfs to this turf that are reachable, in all cardinal directions
recalculate_directional_opacityCalculate on which directions this turfs block view.
remove_airWrapper for [/datum/gas_mixture/proc/remove()]
remove_opacity_sourceProc to remove movable sources of opacity on the turf and let it handle lighting code.
return_airReturn the currently used gas_mixture datum.
setup_zmimicSets up Z-mimic for this turf. You shouldn't call this directly 99% of the time.
take_zone_air_shareCopies this turf's group share from the zone. Usually used before removing it from the zone.
transfer_area_lightingTransfer the lighting of one area to another
unsafe_return_airReturn the currently used gas_mixture datum. DOES NOT MARK ZONE FOR UPDATE.
update_air_propertiesUpdates the turf's air source properties, breaking or creating zone connections as necessary.
update_underfloor_accessibilitySets underfloor accessibility
washCalled when this turf is being washed. Washing a turf will also wash any mopable floor decals
zImpactCalled each time the target falls down a z level possibly making their trajectory come to a halt. see __DEFINES/movement.dm.
+

Var Details

air + + + + +

+

The local gas mixture of this turf. Use return_air(). This will always exist even if not in use, because GCing air contents would be too expensive.

always_lit + + + + +

+

Bool, whether this turf will always be illuminated no matter what area it is in

ao_junction + + + + +

+

What directions this is currently smoothing with. +This starts as null for us to know when it's first set, but after that it will hold a 8-bit mask ranging from 0 to 255.

+

IMPORTANT: This uses the smoothing direction flags as defined in icon_smoothing.dm, instead of the BYOND flags.

ao_junction_mimic + + + + +

+

The same as ao_junction, but for the mimic turf.

ao_overlay + + + + +

+

Current ambient occlusion overlays. +Tracked here so that they can be reapplied during update_overlays()

ao_overlay_mimic + + + + +

+

The same as ao_overlay, but for the mimic turf.

ao_queued + + + + +

+

Whether this turf is currently queued for ambient occlusion.

assigned_oranges_ear + + + + +

+

what /mob/oranges_ear instance is already assigned to us as there should only ever be one. +used for guaranteeing there is only one oranges_ear per turf when assigned, speeds up view() iteration

atmos_sensitive_contents + + + + +

+

Atmos sensitive atoms in our contents. lazylist.

blocks_air + + + + +

+

Determines how air interacts with this turf.

blueprint_data + + + + +

+

For the station blueprints, images of objects eg: pipes

changing_turf + + + + +

+

Is this turf in the process of running ChangeTurf()?

directional_opacity + + + + +

+

Which directions does this turf block the vision of, taking into account both the turf's opacity and the movable opacity_sources.

dynamic_lumcount + + + + +

+

Lumcount added by sources other than lighting datum objects, such as the overlay lighting component.

explosion_throw_details + + + + +

+

Contains the throw range for explosions. You won't need this, stop looking at it.

force_no_gravity + + + + +

+

whether or not this turf forces movables on it to have no gravity (unless they themselves have forced gravity)

holodeck_compatible + + + + +

+

the holodeck can load onto this turf if TRUE

in_contents_of + + + + +

+

For the area_contents list unit test +Allows us to know our area without needing to preassign it +Sorry for the mess

initial_gas + + + + +

+

A gas_mixture gas list to be used as the initial value. Ex: list(GAS_OXYGEN = 50)

lighting_corner_NE + + + + +

+

Lighting Corner datums.

lighting_object + + + + +

+

Our lighting object.

lighting_uses_jen + + + + +

+

Set to TRUE for pseudo 3/4ths walls, otherwise, leave alone.

max_fire_temperature_sustained + + + + +

+

The max temperature of the fire which it was subjected to

needs_air_update + + + + +

+

Does this turf need to be ran through SSzas? (SSzas.mark_for_update(turf) OR turf.zas_update_loc())

opacity_sources + + + + +

+

Lazylist of movable atoms providing opacity sources.

open_directions + + + + +

+

All directions in which a turf that can contain air is present.

overfloor_placed + + + + +

+

If there's a tile over a basic floor that can be ripped out

pathing_pass_method + + + + +

+

How pathing algorithm will check if this turf is passable by itself (not including content checks). By default it's just density check. +WARNING: Currently to use a density shortcircuiting this does not support dense turfs with special allow through function

permit_ao + + + + +

+

Whether this turf is allowed to have ambient occlusion. +If FALSE, this turf will not be considered for ambient occlusion.

rcd_memory + + + + +

+

If this turf contained an RCD'able object (or IS one, for walls) +but is now destroyed, this will preserve the value. +See _DEFINES/construction.dm for RCD_MEMORY*.

to_be_destroyed + + + + +

+

Used for fire, if a melting temperature was reached, it will be destroyed

turf_flags + + + + +

+

Turf bitflags, see code/__DEFINES/flags.dm

underfloor_accessibility + + + + +

+

How accessible underfloor pieces such as wires, pipes, etc are on this turf. Can be HIDDEN, VISIBLE, or INTERACTABLE.

z_eventually_space + + + + +

+

If this Z-turf leads to space, uninterrupted.

z_flags + + + + +

+

Can atmos pass down through this turf?

z_queued + + + + +

+

How many times this turf is currently queued - multiple queue occurrences are allowed to ensure update consistency.

zone + + + + +

+

The turf's current zone parent.

Proc Details

AdjacentQuick +

+

Quick adjacency (to turf): +If you are in the same turf, always true +If you are not adjacent, then false

Enter +

+

Test if a movable can enter this turf. Send no_side_effects = TRUE to prevent bumping.

Initialize +

+

Turf Initialize

+

Doesn't call parent, see /atom/proc/Initialize +Please note, space tiles do not run this code. +This is done because it's called so often that any extra code just slows things down too much +If you add something relevant here add it there too +/turf/open/space/Initialize +/turf/closed/mineral/Initialize

LinkBlockedWithAccess +

+

For seeing if we can actually move between 2 given turfs while accounting for our access and the caller's pass_flags

+

Assumes destinantion turf is non-dense - check and shortcircuit in code invoking this proc to avoid overhead. +Makes some other assumptions, such as assuming that unless declared, non dense objects will not block movement. +It's fragile, but this is VERY much the most expensive part of JPS, so it'd better be fast

+

Arguments:

+

PlaceOnBottom +

+

Places the given turf on the bottom of the turf stack.

ScrapeAway +

+

Take off the top layer turf and replace it with the next baseturf down

TryGetNonDenseNeighbour +

+

I literally don't know where this proc came from.

TryScrapeToLattice +

+

Run ScrapeAway(amount), then attempt to place lattice.

add_opacity_source +

+

Proc to add movable sources of opacity on the turf and let it handle lighting code.

assume_air +

+

Merges a given gas mixture with the turf's current air source.

assume_gas +

+

Basically adjustGasWithTemp() but a turf proc.

atmos_spawn_air +

+

Creates a gas_mixture datum with the given parameters and merges it into the turf's air source.

can_safely_remove_from_zone +

+

EXPERIMENTAL +Simple heuristic for determining if removing the turf from it's zone will not partition the zone (A very bad thing).

change_area +

+

Call to move a turf from its current area to a new one

cleanup_zmimic +

+

Cleans up Z-mimic objects for this turf. You shouldn't call this directly 99% of the time.

clear_signal_refs +

+

ZAS THINGS +NO MORE ZAS THINGS +WARNING WARNING +Turfs DO NOT lose their signals when they get replaced, REMEMBER THIS +It's possible because turfs are fucked, and if you have one in a list and it's replaced with another one, the list ref points to the new turf +We do it because moving signals over was needlessly expensive, and bloated a very commonly used bit of code

contains_dense_objects +

+

Checks a turf to see if any of it's contents are dense. Is NOT recursive. See also is_blocked_turf()

create_fire +

+

Creates a fire with firelevel (fl). If create_own_fuel is given, it will create that many units of welding fuel on the turf.

disable_zmimic +

+

Disables Z-mimic for a turf.

enable_zmimic +

+

Enables Z-mimic for a turf that didn't already have it enabled.

expose_reagents +

+

Handles exposing a turf to reagents.

fromShuttleMove +

+

Base procs

get_atmos_adjacent_turfs +

+

Returns a list of adjacent turfs that can contain air. Returns null if none.

is_blocked_turf +

+

Check whether the specified turf is blocked by something dense inside it with respect to a specific atom.

+

Returns truthy value TURF_BLOCKED_TURF_DENSE if the turf is blocked because the turf itself is dense. +Returns truthy value TURF_BLOCKED_CONTENT_DENSE if one of the turf's contents is dense and would block +a source atom's movement. +Returns falsey value TURF_NOT_BLOCKED if the turf is not blocked.

+

Arguments:

+

is_blocked_turf_ignore_climbable +

+

Checks whether the specified turf is blocked by something dense inside it, but ignores anything with the climbable trait

+

Works similar to is_blocked_turf(), but ignores climbables and has less options. Primarily added for jaunting checks

make_air +

+

Initializes the turf's "air" datum to it's initial values.

on_change_area +

+

Allows for reactions to an area change without inherently requiring change_area() be called (I hate maploading)

post_update_air_properties +

+

The air mobility of src >> target +The air mobility of target >> src

reachableAdjacentTurfs +

+

Returns adjacent turfs to this turf that are reachable, in all cardinal directions

+

Arguments:

+

recalculate_directional_opacity +

+

Calculate on which directions this turfs block view.

remove_air +

+

Wrapper for [/datum/gas_mixture/proc/remove()]

remove_opacity_source +

+

Proc to remove movable sources of opacity on the turf and let it handle lighting code.

return_air +

+

Return the currently used gas_mixture datum.

setup_zmimic +

+

Sets up Z-mimic for this turf. You shouldn't call this directly 99% of the time.

take_zone_air_share +

+

Copies this turf's group share from the zone. Usually used before removing it from the zone.

transfer_area_lighting +

+

Transfer the lighting of one area to another

unsafe_return_air +

+

Return the currently used gas_mixture datum. DOES NOT MARK ZONE FOR UPDATE.

update_air_properties +

+

Updates the turf's air source properties, breaking or creating zone connections as necessary.

update_underfloor_accessibility +

+

Sets underfloor accessibility

wash +

+

Called when this turf is being washed. Washing a turf will also wash any mopable floor decals

zImpact +

+

Called each time the target falls down a z level possibly making their trajectory come to a halt. see __DEFINES/movement.dm.

+ + + diff --git a/turf/closed/indestructible/splashscreen.html b/turf/closed/indestructible/splashscreen.html new file mode 100644 index 000000000000..d9da5e30f3ce --- /dev/null +++ b/turf/closed/indestructible/splashscreen.html @@ -0,0 +1,35 @@ + + + + + + + /turf/closed/indestructible/splashscreen - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

splashscreen + + + +

+ + +

Procs

handle_generic_titlescreen_sizeshelper proc that will center the screen if the icon is changed to a generic width, to make admins have to fudge around with pixel_x less. returns null

Proc Details

handle_generic_titlescreen_sizes +

+

helper proc that will center the screen if the icon is changed to a generic width, to make admins have to fudge around with pixel_x less. returns null

+ + + diff --git a/turf/closed/mineral.html b/turf/closed/mineral.html new file mode 100644 index 000000000000..4b46f50e846c --- /dev/null +++ b/turf/closed/mineral.html @@ -0,0 +1,57 @@ + + + + + + + /turf/closed/mineral - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

mineral + + + +

+ +

Mineral deposits

+ + + +

Vars

hand_mine_speedHow long it takes to mine this turf without tools, if it's weak.
mining_healthHealth decreased by mining.
weak_turfIf a turf is "weak" it can be broken with no tools

Procs

shuttleRotateTurf rotate procs
+

Var Details

hand_mine_speed + + + + +

+

How long it takes to mine this turf without tools, if it's weak.

mining_health + + + + +

+

Health decreased by mining.

weak_turf + + + + +

+

If a turf is "weak" it can be broken with no tools

Proc Details

shuttleRotate +

+

Turf rotate procs

+ + + diff --git a/turf/closed/wall.html b/turf/closed/wall.html new file mode 100644 index 000000000000..2b5e3357fda5 --- /dev/null +++ b/turf/closed/wall.html @@ -0,0 +1,148 @@ + + + + + + + /turf/closed/wall - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

wall + + + +

+ + + + + + + + + + + + + + + + + +

Vars

cache_keyAppearance cache key. This is very touchy.
d_stateDeconstruction state, matters if the wall is hard to deconstruct (hard_decon)
hard_deconWhether this wall is hard to deconstruct, like a reinforced plasteel wall. Dictated by material
hardnesslower numbers are harder. Used to determine the probability of a hulk smashing through.
matset_nameMaterial Set Name
plating_materialMaterial type of the plating
reinf_materialMaterial type of the reinforcement
rustedWhether this wall is rusted or not, to apply the rusted overlay
stripe_paintPaint color of which the stripe has been painted with. Will not overlay a stripe if no paint is applied
wall_paintPaint color of which the wall has been painted with.

Procs

hulk_recoilDeals damage back to the hulk's arm.
paint_stripeMost of this code is pasted within /obj/structure/falsewall. Be mindful of this
paint_wallMost of this code is pasted within /obj/structure/falsewall. Be mindful of this
set_materialsMost of this code is pasted within /obj/structure/falsewall. Be mindful of this
set_wall_informationMost of this code is pasted within /obj/structure/falsewall. Be mindful of this
update_overlaysMost of this code is pasted within /obj/structure/falsewall. Be mindful of this
+

Var Details

cache_key + + + + +

+

Appearance cache key. This is very touchy.

d_state + + + + +

+

Deconstruction state, matters if the wall is hard to deconstruct (hard_decon)

hard_decon + + + + +

+

Whether this wall is hard to deconstruct, like a reinforced plasteel wall. Dictated by material

hardness + + + + +

+

lower numbers are harder. Used to determine the probability of a hulk smashing through.

matset_name + + + + +

+

Material Set Name

plating_material + + + + +

+

Material type of the plating

reinf_material + + + + +

+

Material type of the reinforcement

rusted + + + + +

+

Whether this wall is rusted or not, to apply the rusted overlay

stripe_paint + + + + +

+

Paint color of which the stripe has been painted with. Will not overlay a stripe if no paint is applied

wall_paint + + + + +

+

Paint color of which the wall has been painted with.

Proc Details

hulk_recoil +

+

Deals damage back to the hulk's arm.

+

When a hulk manages to break a wall using their hulk smash, this deals back damage to the arm used. +This is in its own proc just to be easily overridden by other wall types. Default allows for three +smashed walls per arm. Also, we use CANT_WOUND here because wounds are random. Wounds are applied +by hulk code based on arm damage and checked when we call break_an_arm(). +Arguments: +*arg1 is the arm to deal damage to. +*arg2 is the hulk

paint_stripe +

+

Most of this code is pasted within /obj/structure/falsewall. Be mindful of this

paint_wall +

+

Most of this code is pasted within /obj/structure/falsewall. Be mindful of this

set_materials +

+

Most of this code is pasted within /obj/structure/falsewall. Be mindful of this

set_wall_information +

+

Most of this code is pasted within /obj/structure/falsewall. Be mindful of this

update_overlays +

+

Most of this code is pasted within /obj/structure/falsewall. Be mindful of this

+ + + diff --git a/turf/open.html b/turf/open.html new file mode 100644 index 000000000000..ab4f8c271ba1 --- /dev/null +++ b/turf/open.html @@ -0,0 +1,56 @@ + + + + + + + /turf/open - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

open + + + +

+ + + + +

Vars

slowdownnegative for faster, positive for slower

Procs

build_with_floor_tilesVery similar to build_with_rods, this exists to allow consistent behavior between different types in terms of how +Building floors works
build_with_rodsBuilds with rods. This doesn't exist to be overriden, just to remove duplicate logic for turfs that want +To support floor tile creation +I'd make it a component, but one of these things is space. So no.
+

Var Details

slowdown + + + + +

+

negative for faster, positive for slower

Proc Details

build_with_floor_tiles +

+

Very similar to build_with_rods, this exists to allow consistent behavior between different types in terms of how +Building floors works

build_with_rods +

+

Builds with rods. This doesn't exist to be overriden, just to remove duplicate logic for turfs that want +To support floor tile creation +I'd make it a component, but one of these things is space. So no.

+ + + diff --git a/turf/open/chasm.html b/turf/open/chasm.html new file mode 100644 index 000000000000..938189221970 --- /dev/null +++ b/turf/open/chasm.html @@ -0,0 +1,35 @@ + + + + + + + /turf/open/chasm - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

chasm + + + +

+ + +

Procs

CanAllowThroughLets people walk into chasms.

Proc Details

CanAllowThrough +

+

Lets people walk into chasms.

+ + + diff --git a/turf/open/floor.html b/turf/open/floor.html new file mode 100644 index 000000000000..fb17ad5d352b --- /dev/null +++ b/turf/open/floor.html @@ -0,0 +1,78 @@ + + + + + + + /turf/open/floor - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

floor + + + +

+ +

Anything above a lattice should go here.

+ + + + + + +

Vars

broken_blendblend_mode for broken overlays
burned_blendblend_mode for burned overlays
damaged_iconIcon path for the damaged states
floor_tilePath of the tile that this floor drops
rcd_proofDetermines if you can deconstruct this with a RCD

Procs

crushFor when the floor is placed under heavy load. Calls break_tile(), but exists to be overridden by floor types that should resist crushing force.
make_platingThings seem to rely on this actually returning plating. Override it if you have other baseturfs.
+

Var Details

broken_blend + + + + +

+

blend_mode for broken overlays

burned_blend + + + + +

+

blend_mode for burned overlays

damaged_icon + + + + +

+

Icon path for the damaged states

floor_tile + + + + +

+

Path of the tile that this floor drops

rcd_proof + + + + +

+

Determines if you can deconstruct this with a RCD

Proc Details

crush +

+

For when the floor is placed under heavy load. Calls break_tile(), but exists to be overridden by floor types that should resist crushing force.

make_plating +

+

Things seem to rely on this actually returning plating. Override it if you have other baseturfs.

+ + + diff --git a/turf/open/floor/carpet/neon.html b/turf/open/floor/carpet/neon.html new file mode 100644 index 000000000000..d30e3be8565c --- /dev/null +++ b/turf/open/floor/carpet/neon.html @@ -0,0 +1,57 @@ + + + + + + + /turf/open/floor/carpet/neon - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

neon + + + +

+ + + + + +

Vars

emissive_alphaThe alpha used for the emissive decal.
neon_colorThe color used for the neon decal
neon_iconThe icon used for the neon decal.
neon_icon_stateThe icon state used for the neon decal.
+

Var Details

emissive_alpha + + + + +

+

The alpha used for the emissive decal.

neon_color + + + + +

+

The color used for the neon decal

neon_icon + + + + +

+

The icon used for the neon decal.

neon_icon_state + + + + +

+

The icon state used for the neon decal.

+ + + diff --git a/turf/open/floor/circuit.html b/turf/open/floor/circuit.html new file mode 100644 index 000000000000..98431c9e8406 --- /dev/null +++ b/turf/open/floor/circuit.html @@ -0,0 +1,54 @@ + + + + + + + /turf/open/floor/circuit - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

circuit + + + +

+ + + + +

Vars

always_offIf we want to ignore our area's power status and just be always off +Mostly for mappers doing asthetic things, or cases where the floor should be broken
onIf this floor is powered or not +We don't consume any power, but we do require it

Procs

handle_powerchangeEnables/disables our lighting based off our source area
+

Var Details

always_off + + + + +

+

If we want to ignore our area's power status and just be always off +Mostly for mappers doing asthetic things, or cases where the floor should be broken

on + + + + +

+

If this floor is powered or not +We don't consume any power, but we do require it

Proc Details

handle_powerchange +

+

Enables/disables our lighting based off our source area

+ + + diff --git a/turf/open/floor/light.html b/turf/open/floor/light.html new file mode 100644 index 000000000000..08a6d339b76d --- /dev/null +++ b/turf/open/floor/light.html @@ -0,0 +1,113 @@ + + + + + + + /turf/open/floor/light - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

light + + + +

+ + + + + + + + + + + + +

Vars

can_modify_colourvar to prevent changing color on certain admin spawn only tiles
coloredlightslist of colours to choose
currentcolorcurrent light color
cycleused for light floors that cycle colours
lighttile_designsicons for radial menu
onvar to see if its on or off
statedefines on top

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu
emp_actcheck if broken
populate_lighttile_designscheck if broken +create radial menu
update_appearancepick a broken state
+

Var Details

can_modify_colour + + + + +

+

var to prevent changing color on certain admin spawn only tiles

coloredlights + + + + +

+

list of colours to choose

currentcolor + + + + +

+

current light color

cycle + + + + +

+

used for light floors that cycle colours

lighttile_designs + + + + +

+

icons for radial menu

on + + + + +

+

var to see if its on or off

state + + + + +

+

defines on top

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+

emp_act +

+

check if broken

populate_lighttile_designs +

+

check if broken +create radial menu

update_appearance +

+

pick a broken state

+ + + diff --git a/turf/open/floor/plating.html b/turf/open/floor/plating.html new file mode 100644 index 000000000000..1256f19c79ca --- /dev/null +++ b/turf/open/floor/plating.html @@ -0,0 +1,41 @@ + + + + + + + /turf/open/floor/plating - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details
+
+

plating + + + +

+ +

PLATINGS

+

Handle interaction with tiles and lets you put stuff on top of it.

+

Vars

allow_replacementIf true, will allow tiles to replace us if the tile [wants to] /obj/item/stack/tile/var/replace_plating. +And if our baseturfs are compatible. +See /obj/item/stack/tile/proc/place_tile.
+

Var Details

allow_replacement + + + + +

+

If true, will allow tiles to replace us if the tile [wants to] /obj/item/stack/tile/var/replace_plating. +And if our baseturfs are compatible. +See /obj/item/stack/tile/proc/place_tile.

+ + + diff --git a/turf/open/lava.html b/turf/open/lava.html new file mode 100644 index 000000000000..f9e12ab010dd --- /dev/null +++ b/turf/open/lava.html @@ -0,0 +1,71 @@ + + + + + + + /turf/open/lava - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

lava + + + +

+ +

LAVA

+ + + + + +

Vars

immunity_resistance_flagsobjects with these flags won't burn.
immunity_traitmobs with this trait won't burn.
lava_damageHow much fire damage we deal to living mobs stepping on us
lava_firestacksHow many firestacks we add to living mobs stepping on us
temperature_damageHow much temperature we expose objects with

Procs

burn_stuffProc that sets on fire something or everything on the turf that's not immune to lava. Returns TRUE to make the turf start processing.
+

Var Details

immunity_resistance_flags + + + + +

+

objects with these flags won't burn.

immunity_trait + + + + +

+

mobs with this trait won't burn.

lava_damage + + + + +

+

How much fire damage we deal to living mobs stepping on us

lava_firestacks + + + + +

+

How many firestacks we add to living mobs stepping on us

temperature_damage + + + + +

+

How much temperature we expose objects with

Proc Details

burn_stuff +

+

Proc that sets on fire something or everything on the turf that's not immune to lava. Returns TRUE to make the turf start processing.

+ + + diff --git a/turf/open/misc/asteroid.html b/turf/open/misc/asteroid.html new file mode 100644 index 000000000000..2e19639fa6a9 --- /dev/null +++ b/turf/open/misc/asteroid.html @@ -0,0 +1,85 @@ + + + + + + + /turf/open/misc/asteroid - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

asteroid + + + +

+ +

Asteroid

+ + + + + + + +

Vars

broken_stateIcon state to use when broken
digResultItemstack to drop when dug by a shovel
dugWhether the turf has been dug or not
explodableSet to TRUE to call ex_act parent
floor_varianceProbability floor has a different icon state
turf_typeBase turf type to be created by the tunnel

Procs

can_digIf the user can dig the turf
getDugDrops itemstack when dug and changes icon
+

Var Details

broken_state + + + + +

+

Icon state to use when broken

digResult + + + + +

+

Itemstack to drop when dug by a shovel

dug + + + + +

+

Whether the turf has been dug or not

explodable + + + + +

+

Set to TRUE to call ex_act parent

floor_variance + + + + +

+

Probability floor has a different icon state

turf_type + + + + +

+

Base turf type to be created by the tunnel

Proc Details

can_dig +

+

If the user can dig the turf

getDug +

+

Drops itemstack when dug and changes icon

+ + + diff --git a/turf/open/openspace.html b/turf/open/openspace.html new file mode 100644 index 000000000000..9c5d910d22d6 --- /dev/null +++ b/turf/open/openspace.html @@ -0,0 +1,35 @@ + + + + + + + /turf/open/openspace - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

openspace + + + +

+ + +

Procs

EnteredMakes movables fall when forceMove()'d to this turf.

Proc Details

Entered +

+

Makes movables fall when forceMove()'d to this turf.

+ + + diff --git a/turf/open/space.html b/turf/open/space.html new file mode 100644 index 000000000000..e567737ff002 --- /dev/null +++ b/turf/open/space.html @@ -0,0 +1,42 @@ + + + + + + + /turf/open/space - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

space + + + +

+ + +

Procs

InitializeSpace Initialize

Proc Details

Initialize +

+

Space Initialize

+

Doesn't call parent, see /atom/proc/Initialize. +When adding new stuff to /atom/Initialize, /turf/Initialize, etc +don't just add it here unless space actually needs it.

+

There is a lot of work that is intentionally not done because it is not currently used. +This includes stuff like smoothing, blocking camera visibility, etc. +If you are facing some odd bug with specifically space, check if it's something that was +intentionally ommitted from this implementation.

+ + + diff --git a/world.html b/world.html new file mode 100644 index 000000000000..c498b72cabd2 --- /dev/null +++ b/world.html @@ -0,0 +1,135 @@ + + + + + + + /world - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Proc Details
+
+

World + + + +

+ +

Two possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke

+

The byond world object stores some basic byond level config, and has a few hub specific procs for managing hub visiblity

+

The world /New() is the root of where a round itself begins

+ + + + + + + + +

Procs

ImmediateInvokeAsyncImmediately Invoke proctocall on thingtocall, with waitfor set to false
NewWorld creation
increase_max_xHandles incresing the world's maxx var and intializing the new turfs and assigning them to the global area. +If map_load_z_cutoff is passed in, it will only load turfs up to that z level, inclusive. +This is because maploading will handle the turfs it loads itself.
jatum_deserializeAttempt to create a value from a JATUM JSON.
jatum_serializeAttempt to serialize a given value to the JATUM format.
push_usrMakes a call in the context of a different usr. Use sparingly
send_cross_commsSends a message to a given cross comms server by name (by name for security).
shelleoXXX +AOO +XXX +AXX
update_hub_visibilityThe usage of "[" without also using "]" makes the bracket pair colorizer break, so this is here to make the rest of the file easier to read.

Proc Details

ImmediateInvokeAsync +

+

Immediately Invoke proctocall on thingtocall, with waitfor set to false

+

Arguments:

+

New +

+

World creation

+

Here is where a round itself is actually begun and setup.

+ +

Nothing happens until something moves. ~Albert Einstein

+

For clarity, this proc gets triggered later in the initialization pipeline, it is not the first thing to happen, as it might seem.

+

Initialization Pipeline: +Global vars are new()'ed, (including config, glob, and the master controller will also new and preinit all subsystems when it gets new()ed) +Compiled in maps are loaded (mainly centcom). all areas/turfs/objs/mobs(ATOMs) in these maps will be new()ed +world/New() (You are here) +Once world/New() returns, client's can connect. +1 second sleep +Master Controller initialization. +Subsystem initialization. +Non-compiled-in maps are maploaded, all atoms are new()ed +All atoms in both compiled and uncompiled maps are initialized()

increase_max_x +

+

Handles incresing the world's maxx var and intializing the new turfs and assigning them to the global area. +If map_load_z_cutoff is passed in, it will only load turfs up to that z level, inclusive. +This is because maploading will handle the turfs it loads itself.

jatum_deserialize +

+

Attempt to create a value from a JATUM JSON.

+

jatum_serialize +

+

Attempt to serialize a given value to the JATUM format.

+

push_usr +

+

Makes a call in the context of a different usr. Use sparingly

send_cross_comms +

+

Sends a message to a given cross comms server by name (by name for security).

shelleo +

+

XXX +AOO +XXX +AXX

update_hub_visibility +

+

The usage of "[" without also using "]" makes the bracket pair colorizer break, so this is here to make the rest of the file easier to read.

+ + + diff --git a/zone.html b/zone.html new file mode 100644 index 000000000000..6d366797d1f8 --- /dev/null +++ b/zone.html @@ -0,0 +1,148 @@ + + + + + + + /zone - Daedalus Dock + + +
+ Daedalus Dock - + Modules - + Types + — Var Details - Proc Details
+
+

zone + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

airThe zone's gas contents
atmos_sensitive_contentsLazylist of atmos sensitive contents
edgesAn associative list of edge_source = edge. Will contain instantiated turfs and zones.
invalidIf a zone is "invalid" it will not process
last_air_temperatureThe air temperature of the last tick()
last_gas_listThe air list of last tick()
nameA simple numerical value
needs_updateDoes SSzas need to update this zone? (SSzas.mark_zone_update(zone))
processing_graphic_cycleAn incrementing counter that keeps track of which air graphic cycle any sleeping procs may be in.

Procs

add_tile_airAssumes a given gas mixture, dividing it amongst the zone.
add_turfAdds the given turf to the zone
dbg_dataPrints debug information to the given mob. Used by the "Zone Info" verb. Does not require ZASDBG compile define.
invalidateMarks the zone as invalid, removing it from the SSzas zone list.
merge_intoMerges src into the given zone
rebuildInvalidates the zone and marks all of it's contents for update.
remove_turfRemoves the given turf from the zone. Will invalidate the zone if it was the last turf.
tickZone's process proc.
+

Var Details

air + + + + +

+

The zone's gas contents

atmos_sensitive_contents + + + + +

+

Lazylist of atmos sensitive contents

edges + + + + +

+

An associative list of edge_source = edge. Will contain instantiated turfs and zones.

invalid + + + + +

+

If a zone is "invalid" it will not process

last_air_temperature + + + + +

+

The air temperature of the last tick()

last_gas_list + + + + +

+

The air list of last tick()

name + + + + +

+

A simple numerical value

needs_update + + + + +

+

Does SSzas need to update this zone? (SSzas.mark_zone_update(zone))

processing_graphic_cycle + + + + +

+

An incrementing counter that keeps track of which air graphic cycle any sleeping procs may be in.

Proc Details

add_tile_air +

+

Assumes a given gas mixture, dividing it amongst the zone.

add_turf +

+

Adds the given turf to the zone

dbg_data +

+

Prints debug information to the given mob. Used by the "Zone Info" verb. Does not require ZASDBG compile define.

invalidate +

+

Marks the zone as invalid, removing it from the SSzas zone list.

merge_into +

+

Merges src into the given zone

rebuild +

+

Invalidates the zone and marks all of it's contents for update.

remove_turf +

+

Removes the given turf from the zone. Will invalidate the zone if it was the last turf.

tick +

+

Zone's process proc.

+ + +