mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-21 12:02:31 +01:00
DMdocs (#21103)
Progress on DMDocs. PRing progress so far so there's not one mega PR later with 1500 affected files. I want my goddamn highlight text on what all these goddamn procs goddamn do goddamnit. >:( No actual code change anywhere in this PR, only comments. --------- Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
return
|
||||
|
||||
/*
|
||||
* Radio Cartridge, essentially a signaler.
|
||||
* Radio Cartridge, essentially a signaler.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/* Glass stack types
|
||||
* Contains:
|
||||
* Glass sheets
|
||||
* Reinforced glass sheets
|
||||
* Wired glass sheets
|
||||
* Phoron Glass Sheets
|
||||
* Reinforced Phoron Glass Sheets (AKA Holy fuck strong windows)
|
||||
* Glass shards - TODO: Move this into code/game/object/item/weapons
|
||||
* * Glass sheets
|
||||
* * Reinforced glass sheets
|
||||
* * Wired glass sheets
|
||||
* * Phoron Glass Sheets
|
||||
* * Reinforced Phoron Glass Sheets (AKA Holy fuck strong windows)
|
||||
* * Glass shards - TODO: Move this into code/game/object/item/weapons
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/* Diffrent misc types of tiles
|
||||
* Contains:
|
||||
* Prototype
|
||||
* Grass
|
||||
* Wood
|
||||
* Carpet
|
||||
* * Prototype
|
||||
* * Grass
|
||||
* * Wood
|
||||
* * Carpet
|
||||
*/
|
||||
|
||||
#define TILE_MATERIAL_AMOUNT 468
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
/* Toys!
|
||||
* Contains:
|
||||
* Balloons
|
||||
* Fake telebeacon
|
||||
* Fake singularity
|
||||
* Toy gun
|
||||
* Toy crossbow
|
||||
* Toy swords
|
||||
* Toy bosun's whistle
|
||||
* Toy mechs
|
||||
* Snap pops
|
||||
* Water flower
|
||||
* Therapy dolls
|
||||
* Toddler doll
|
||||
* Inflatable duck
|
||||
* Action figures
|
||||
* Plushies
|
||||
* Toy cult sword
|
||||
* Ring bell
|
||||
* Chess Pieces
|
||||
* Stress ball
|
||||
* * Balloons
|
||||
* * Fake telebeacon
|
||||
* * Fake singularity
|
||||
* * Toy gun
|
||||
* * Toy crossbow
|
||||
* * Toy swords
|
||||
* * Toy bosun's whistle
|
||||
* * Toy mechs
|
||||
* * Snap pops
|
||||
* * Water flower
|
||||
* * Therapy dolls
|
||||
* * Toddler doll
|
||||
* * Inflatable duck
|
||||
* * Action figures
|
||||
* * Plushies
|
||||
* * Toy cult sword
|
||||
* * Ring bell
|
||||
* * Chess Pieces
|
||||
* * Stress ball
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@@ -42,10 +42,11 @@ ABSTRACT_TYPE(/obj/item/rfd)
|
||||
*/
|
||||
var/list/radial_modes = list()
|
||||
|
||||
var/stored_matter = 30 // Starts of full.
|
||||
/// Starts off full.
|
||||
var/stored_matter = 30
|
||||
var/working = FALSE
|
||||
|
||||
///The mode the RFD is currently operating in
|
||||
/// The mode the RFD is currently operating in
|
||||
var/mode = RFD_FLOORS_AND_WALL
|
||||
|
||||
var/number_of_modes = 1
|
||||
@@ -77,13 +78,19 @@ ABSTRACT_TYPE(/obj/item/rfd)
|
||||
/obj/item/rfd/proc/can_use(var/mob/user,var/turf/T)
|
||||
return (user.Adjacent(T) && user.get_active_hand() == src && !user.stat && !user.restrained())
|
||||
|
||||
/**
|
||||
* Changes RFD mode.
|
||||
*/
|
||||
/obj/item/rfd/attack_self(mob/user)
|
||||
//Change the mode
|
||||
// Change the mode
|
||||
if(++mode > number_of_modes)
|
||||
mode = RFD_FLOORS_AND_WALL
|
||||
to_chat(user, SPAN_NOTICE("The mode selection dial is now at [modes[mode]]."))
|
||||
playsound(get_turf(src), 'sound/weapons/laser_safetyon.ogg', 50, FALSE)
|
||||
|
||||
/**
|
||||
* If attacked with a Compressed Matter Cartridge, refill the RFD by 10.
|
||||
*/
|
||||
/obj/item/rfd/attackby(obj/item/attacking_item, mob/user)
|
||||
if(istype(attacking_item, /obj/item/rfd_ammo))
|
||||
if((stored_matter + 10) > 30)
|
||||
@@ -97,7 +104,8 @@ ABSTRACT_TYPE(/obj/item/rfd)
|
||||
update_icon()
|
||||
return TRUE
|
||||
|
||||
if(attacking_item.isscrewdriver()) // Turning it into a crossbow
|
||||
// Turning it into a crossbow, as you do.
|
||||
if(attacking_item.isscrewdriver())
|
||||
crafting = !crafting
|
||||
if(!crafting)
|
||||
to_chat(user, SPAN_NOTICE("You reassemble the RFD."))
|
||||
@@ -107,7 +115,8 @@ ABSTRACT_TYPE(/obj/item/rfd)
|
||||
return TRUE
|
||||
|
||||
if(crafting)
|
||||
var/obj/item/crossbow // the thing we're gonna add, check what it is below
|
||||
// The thing we're gonna add, check what it is below
|
||||
var/obj/item/crossbow
|
||||
if(istype(attacking_item, /obj/item/crossbowframe))
|
||||
var/obj/item/crossbowframe/F = attacking_item
|
||||
if(F.buildstate != 5)
|
||||
@@ -126,7 +135,8 @@ ABSTRACT_TYPE(/obj/item/rfd)
|
||||
|
||||
if(crossbow)
|
||||
qdel(crossbow)
|
||||
var/obj/item/gun/launcher/crossbow/RFD/CB = new(get_turf(user)) // Can be found in "crossbow.dm".
|
||||
// Can be found in "crossbow.dm".
|
||||
var/obj/item/gun/launcher/crossbow/RFD/CB = new(get_turf(user))
|
||||
forceMove(CB)
|
||||
CB.stored_matter = src.stored_matter
|
||||
user.drop_from_inventory(src)
|
||||
@@ -143,11 +153,16 @@ ABSTRACT_TYPE(/obj/item/rfd)
|
||||
update_icon()
|
||||
return TRUE
|
||||
|
||||
/obj/item/rfd/update_icon() // For the fancy "ammo" counter.
|
||||
// For the fancy "ammo" counter.
|
||||
/**
|
||||
* Adds a fancy ammo counter.
|
||||
*/
|
||||
/obj/item/rfd/update_icon()
|
||||
CutOverlays()
|
||||
|
||||
var/ratio = 0
|
||||
ratio = stored_matter / 30 //30 is the hardcoded max capacity of the RFD
|
||||
/// 30 is the hardcoded max capacity of the RFD
|
||||
ratio = stored_matter / 30
|
||||
ratio = max(round(ratio, 0.10) * 100, 10)
|
||||
|
||||
AddOverlays("[icon_state]-[ratio]")
|
||||
@@ -184,7 +199,7 @@ ABSTRACT_TYPE(/obj/item/rfd)
|
||||
var/can_rwall = FALSE
|
||||
var/disabled = FALSE
|
||||
|
||||
///A list of types that will be sent to the alter_atom proc if we click on them, rather than their turf.
|
||||
/// A list of types that will be sent to the alter_atom proc if we click on them, rather than their turf.
|
||||
var/list/valid_atoms = list(
|
||||
/obj/machinery/door/airlock,
|
||||
/obj/structure/window_frame,
|
||||
@@ -239,7 +254,8 @@ ABSTRACT_TYPE(/obj/item/rfd)
|
||||
if(working)
|
||||
return FALSE
|
||||
|
||||
var/turf/T = isturf(A) ? A : null // the lower istypes will return false if T is null, which means we don't have to check whether it's an atom or a turf
|
||||
// The lower istypes will return false if T is null, which means we don't have to check whether it's an atom or a turf
|
||||
var/turf/T = isturf(A) ? A : null
|
||||
if(mode == RFD_FLOORS_AND_WALL)
|
||||
if(istype(T, /turf/space) || istype(T, T.baseturf))
|
||||
build_cost = 1
|
||||
@@ -354,7 +370,8 @@ ABSTRACT_TYPE(/obj/item/rfd)
|
||||
build_cost = null
|
||||
build_delay = null
|
||||
build_type = null
|
||||
build_atom = null // So that it resets and any unintended functionality is avoided.
|
||||
/// So that it resets and any unintended functionality is avoided.
|
||||
build_atom = null
|
||||
return TRUE
|
||||
|
||||
/obj/item/rfd/construction/borg
|
||||
@@ -380,7 +397,8 @@ ABSTRACT_TYPE(/obj/item/rfd)
|
||||
return (user.Adjacent(T) && !user.stat)
|
||||
|
||||
/obj/item/rfd/construction/mounted/useResource(var/amount, var/mob/user)
|
||||
var/cost = (amount * 130) // So that a rig with default powercell can build ~2.5x the stuff a fully-loaded RFD-C can.
|
||||
/// So that a rig with default powercell can build ~2.5x the stuff a fully-loaded RFD-C can.
|
||||
var/cost = (amount * 130)
|
||||
if(istype(loc, /obj/item/rig_module))
|
||||
var/obj/item/rig_module/module = loc
|
||||
if(module.holder && module.holder.cell)
|
||||
@@ -692,9 +710,12 @@ ABSTRACT_TYPE(/obj/item/rfd)
|
||||
item_state = "rfd-p"
|
||||
modes = list(STANDARD_PIPE, SUPPLY_PIPE, SCRUBBER_PIPE, FUEL_PIPE, AUX_PIPE, DEVICES)
|
||||
var/selected_mode = STANDARD_PIPE
|
||||
var/pipe_examine = "Pipe" // used in the examine proc to see what you're putting down at a glance
|
||||
var/selected_pipe = 0 // default is standard pipe, used for the new pipe creation
|
||||
build_cost = 1 // this RFD only uses 1 unit of power per pipe, but can be modified if need be in future
|
||||
/// Used in the examine proc to see what you're putting down at a glance
|
||||
var/pipe_examine = "Pipe"
|
||||
/// Default is standard pipe, used for the new pipe creation
|
||||
var/selected_pipe = 0
|
||||
/// This RFD only uses 1 unit of power per pipe, but can be modified if need be in future.
|
||||
build_cost = 1
|
||||
build_delay = 10
|
||||
|
||||
// The numbers below refer to the numberized designator for each pipe, which is used in obj/item/pipe's new
|
||||
|
||||
@@ -18,8 +18,10 @@
|
||||
var/timeofdeath = null
|
||||
|
||||
/datum/autopsy_data_scanner
|
||||
var/weapon = null // this is the DEFINITE weapon type that was used
|
||||
var/list/organs_scanned = list() // this maps a number of scanned organs to the wounds to those organs with this data's weapon type
|
||||
/// The DEFINITE weapon type that was used.
|
||||
var/weapon = null
|
||||
/// This maps a number of scanned organs to the wounds to those organs with this data's weapon type.
|
||||
var/list/organs_scanned = list()
|
||||
var/organ_names = ""
|
||||
|
||||
/datum/autopsy_data
|
||||
@@ -84,7 +86,8 @@
|
||||
var/datum/autopsy_data_scanner/D = wdata[wdata_idx]
|
||||
var/total_hits = 0
|
||||
var/total_score = 0
|
||||
var/list/weapon_chances = list() // maps weapon names to a score
|
||||
// Maps weapon names to a score
|
||||
var/list/weapon_chances = list()
|
||||
var/age = 0
|
||||
|
||||
for(var/wound_idx in D.organs_scanned)
|
||||
@@ -105,7 +108,7 @@
|
||||
|
||||
var/damaging_weapon = (total_score != 0)
|
||||
|
||||
// total score happens to be the total damage
|
||||
// Total score happens to be the total damage
|
||||
switch(total_score)
|
||||
if(0)
|
||||
damage_desc = "Unknown"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/* Cards
|
||||
* Contains:
|
||||
* DATA CARD
|
||||
* ID CARD
|
||||
* FINGERPRINT CARD HOLDER
|
||||
* FINGERPRINT CARD
|
||||
* * DATA CARD
|
||||
* * ID CARD
|
||||
* * FINGERPRINT CARD HOLDER
|
||||
* * FINGERPRINT CARD
|
||||
*/
|
||||
|
||||
|
||||
@@ -22,7 +22,8 @@
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/associated_account_number = 0
|
||||
var/list/files = list( )
|
||||
var/last_flash = 0 //Spam limiter.
|
||||
/// Spam limiter.
|
||||
var/last_flash = 0
|
||||
drop_sound = 'sound/items/drop/card.ogg'
|
||||
pickup_sound = 'sound/items/pickup/card.ogg'
|
||||
|
||||
@@ -119,7 +120,8 @@
|
||||
overlay_state = "id"
|
||||
|
||||
var/list/access = list()
|
||||
var/registered_name = ID_CARD_UNSET // The name registered_name on the card
|
||||
/// The name registered_name on the card.
|
||||
var/registered_name = ID_CARD_UNSET
|
||||
var/datum/weakref/mob_id
|
||||
slot_flags = SLOT_ID
|
||||
|
||||
@@ -131,7 +133,8 @@
|
||||
var/sex = ID_CARD_UNSET
|
||||
var/icon/front
|
||||
var/icon/side
|
||||
var/mining_points //miners gotta eat
|
||||
/// Miners gotta eat.
|
||||
var/mining_points
|
||||
|
||||
var/can_copy_access = FALSE
|
||||
var/access_copy_msg
|
||||
@@ -139,9 +142,13 @@
|
||||
var/flipped = 0
|
||||
var/wear_over_suit = 0
|
||||
|
||||
//alt titles are handled a bit weirdly in order to unobtrusively integrate into existing ID system
|
||||
var/assignment = null //can be alt title or the actual job
|
||||
var/rank = null //actual job
|
||||
/**
|
||||
* Alt titles are handled a bit weirdly in order to unobtrusively integrate into existing ID system
|
||||
* Can be alt title or the actual job.
|
||||
*/
|
||||
var/assignment = null
|
||||
/// Actual job.
|
||||
var/rank = null
|
||||
var/employer_faction = null
|
||||
var/datum/ntnet_user/chat_user
|
||||
|
||||
@@ -159,7 +166,8 @@
|
||||
|
||||
/obj/item/card/id/on_slotmove(var/mob/living/user, slot)
|
||||
. = ..(user, slot)
|
||||
BITSET(user.hud_updateflag, ID_HUD) //Update ID HUD if an ID is ever moved
|
||||
// Update ID HUD if an ID is ever moved
|
||||
BITSET(user.hud_updateflag, ID_HUD)
|
||||
|
||||
/obj/item/card/id/proc/prevent_tracking()
|
||||
return 0
|
||||
@@ -248,7 +256,8 @@
|
||||
return
|
||||
|
||||
/obj/item/card/id/proc/id_flash(var/mob/user, var/add_text = "", var/blind_add_text = "")
|
||||
var/list/id_viewers = viewers(3, user) // or some other distance - this distance could be defined as a var on the ID
|
||||
/// Or some other distance - could be defined as a var on the ID.
|
||||
var/list/id_viewers = viewers(3, user)
|
||||
var/message = "<b>[user]</b> flashes [user.get_pronoun("his")] [icon2html(src, id_viewers)] [src.name]."
|
||||
var/blind_message = "You flash your [icon2html(src, id_viewers)] [src.name]."
|
||||
if(add_text != "")
|
||||
@@ -258,16 +267,13 @@
|
||||
user.visible_message(message, blind_message)
|
||||
|
||||
/obj/item/card/id/attack(mob/living/target_mob, mob/living/user, target_zone)
|
||||
|
||||
if(user.zone_sel.selecting == BP_R_HAND || user.zone_sel.selecting == BP_L_HAND)
|
||||
|
||||
if(!ishuman(target_mob))
|
||||
return ..()
|
||||
|
||||
if (dna_hash == ID_CARD_UNSET && ishuman(user))
|
||||
var/response = alert(user, "This ID card has not been imprinted with biometric data. Would you like to imprint [target_mob]'s now?", "Biometric Imprinting", "Yes", "No")
|
||||
if (response == "Yes")
|
||||
|
||||
if (!user.Adjacent(target_mob) || user.restrained() || user.lying || user.stat)
|
||||
to_chat(user, SPAN_WARNING("You must remain adjacent to [target_mob] to scan their biometric data."))
|
||||
return
|
||||
@@ -594,7 +600,6 @@
|
||||
..()
|
||||
|
||||
// Contractor cards
|
||||
|
||||
/obj/item/card/id/idris
|
||||
name = "\improper Idris Incorporated identification card"
|
||||
desc = "A high-tech holocard, designed to project information about a sub-contractor from Idris Incorporated."
|
||||
|
||||
@@ -16,9 +16,12 @@
|
||||
throw_range = 4
|
||||
throwforce = 10
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/can_change_form = TRUE // For holodeck check.
|
||||
var/cooldown = 0 // Floor tap cooldown.
|
||||
var/list/null_choices = list( //Generic nullrods only here, religion-specific ones should be on the religion datum
|
||||
/// For holodeck check.
|
||||
var/can_change_form = TRUE
|
||||
/// Floor tap cooldown.
|
||||
var/cooldown = 0
|
||||
/// Generic nullrods only here, religion-specific ones should be on the religion datum
|
||||
var/list/null_choices = list(
|
||||
"Null Rod" = /obj/item/nullrod,
|
||||
"Null Staff" = /obj/item/nullrod/staff,
|
||||
"Null Orb" = /obj/item/nullrod/orb,
|
||||
@@ -41,7 +44,7 @@
|
||||
icon_state = "tribunalrod"
|
||||
item_state = "tribunalrod"
|
||||
|
||||
// Unreassembleable Variant for the Holodeck
|
||||
/// Unreassembleable Variant for the Holodeck
|
||||
/obj/item/nullrod/dominia/holodeck
|
||||
can_change_form = FALSE
|
||||
|
||||
|
||||
@@ -156,7 +156,8 @@ ABSTRACT_TYPE(/obj/item/clothing/mask/smokable)
|
||||
var/icon_on
|
||||
var/icon_off
|
||||
var/type_butt = null
|
||||
var/chem_volume = 15 //Size of a syringe
|
||||
/// Size of a syringe
|
||||
var/chem_volume = 15
|
||||
var/genericmes = "USER lights NAME with FLAME"
|
||||
var/matchmes = "USER lights NAME with FLAME"
|
||||
var/lightermes = "USER lights NAME with FLAME"
|
||||
@@ -165,14 +166,17 @@ ABSTRACT_TYPE(/obj/item/clothing/mask/smokable)
|
||||
var/ignitermes = "USER lights NAME with FLAME"
|
||||
var/initial_volume = 0
|
||||
var/burn_rate = 0
|
||||
var/last_drag = 0 //Spam limiter for audio/message when taking a drag of cigarette.
|
||||
/// Spam limiter for audio/message when taking a drag of cigarette.
|
||||
var/last_drag = 0
|
||||
drop_sound = 'sound/items/drop/food.ogg'
|
||||
pickup_sound = 'sound/items/pickup/food.ogg'
|
||||
|
||||
/obj/item/clothing/mask/smokable/Initialize()
|
||||
. = ..()
|
||||
atom_flags |= ATOM_FLAG_NO_REACT // so it doesn't react until you light it
|
||||
create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 15
|
||||
// So it doesn't react until you light it
|
||||
atom_flags |= ATOM_FLAG_NO_REACT
|
||||
// Making the cigarette a chemical holder with a maximum volume of 15
|
||||
create_reagents(chem_volume)
|
||||
|
||||
/obj/item/clothing/mask/smokable/process()
|
||||
if(reagents && reagents.total_volume && burn_rate && !istype(loc, /obj/item/storage))
|
||||
@@ -712,7 +716,8 @@ ABSTRACT_TYPE(/obj/item/clothing/mask/smokable)
|
||||
drop_sound = 'sound/items/drop/card.ogg'
|
||||
pickup_sound = 'sound/items/pickup/card.ogg'
|
||||
surgerysound = 'sound/items/surgery/cautery.ogg'
|
||||
var/last_open = 0 //prevent message spamming.
|
||||
/// Spam limiter.
|
||||
var/last_open = 0
|
||||
var/last_close = 0
|
||||
var/flame_light_range = 1
|
||||
var/flame_light_power = 2
|
||||
|
||||
@@ -8,10 +8,13 @@
|
||||
max_amount = 6
|
||||
|
||||
base_icon = "d6"
|
||||
var/side_mult = 1 // Used for d100s.
|
||||
/// Used for d100s.
|
||||
var/side_mult = 1
|
||||
var/sides = 6
|
||||
var/weight_roll = 0 // chance of the dice falling on its favored number
|
||||
var/favored_number = 1 //related to the var above
|
||||
/// Chance of the dice falling on its favored number
|
||||
var/weight_roll = 0
|
||||
/// Related to the var above.
|
||||
var/favored_number = 1
|
||||
|
||||
/obj/item/stack/dice/Initialize()
|
||||
. = ..()
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
icon_state = "landmine"
|
||||
throwforce = 0
|
||||
var/deployed = FALSE
|
||||
var/deactivated = FALSE // add wire to re-activate
|
||||
/// Add wire to re-activate
|
||||
var/deactivated = FALSE
|
||||
|
||||
/obj/item/landmine/Initialize()
|
||||
. = ..()
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* Two-handed Weapons
|
||||
* Contains:
|
||||
* Twohanded
|
||||
* Fireaxe
|
||||
* Double-Bladed Energy Swords
|
||||
* * Twohanded
|
||||
* * Fireaxe
|
||||
* * Double-Bladed Energy Swords
|
||||
*/
|
||||
|
||||
/*##################################################################
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
var/mopping = 0
|
||||
var/mopcount = 0
|
||||
var/cleantime = 25
|
||||
/// Spam limiter.
|
||||
var/last_clean
|
||||
var/clean_msg = FALSE
|
||||
|
||||
@@ -49,7 +50,8 @@
|
||||
if(clean_msg)
|
||||
to_chat(user, SPAN_NOTICE("Your mop is dry!"))
|
||||
return
|
||||
if(!(last_clean && world.time < last_clean + 120)) //spam is bad
|
||||
// Spam is bad
|
||||
if(!(last_clean && world.time < last_clean + 120))
|
||||
user.visible_message(SPAN_WARNING("[user] begins to mop \the [get_turf(A)]."))
|
||||
clean_msg = TRUE
|
||||
last_clean = world.time
|
||||
@@ -86,9 +88,12 @@
|
||||
throwforce = 14
|
||||
throw_range = 8
|
||||
cleantime = 15
|
||||
var/refill_enabled = TRUE //Self-refill toggle for when a janitor decides to mop with something other than water.
|
||||
var/refill_rate = 0.5 //Rate per process() tick mop refills itself
|
||||
var/refill_reagent = /singleton/reagent/water //Determins what reagent to use for refilling, just in case someone wanted to make a HOLY MOP OF PURGING
|
||||
// Self-refill toggle for when a janitor decides to mop with something other than water.
|
||||
var/refill_enabled = TRUE
|
||||
/// Rate per process() tick mop refills itself. W/ max volume 30, fully replenish in 120s (at 2s ticks)
|
||||
var/refill_rate = 0.5
|
||||
// Determins what reagent to use for refilling, just in case someone wanted to make a HOLY MOP OF PURGING
|
||||
var/refill_reagent = /singleton/reagent/water
|
||||
|
||||
/obj/item/mop/advanced/feedback_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
|
||||
@@ -15,8 +15,10 @@
|
||||
unacidable = 0
|
||||
atom_flags = ATOM_FLAG_OPEN_CONTAINER
|
||||
fragile = 0
|
||||
var/paint_reagent = null //name of the reagent responsible for colouring the paint
|
||||
var/paint_type = null //used for colouring detective technicolor coat and hat
|
||||
/// Name of the reagent responsible for colouring the paint.
|
||||
var/paint_reagent = null
|
||||
/// Used for colouring detective technicolor coat and hat.
|
||||
var/paint_type = null
|
||||
reagents_to_add = list(/singleton/reagent/paint = 4/5)
|
||||
|
||||
/obj/item/reagent_containers/glass/paint/Initialize()
|
||||
|
||||
@@ -11,10 +11,13 @@
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
var/charge = 0 // note %age conveted to actual charge in New
|
||||
/// Note %age converted to actual charge in New()
|
||||
var/charge = 0
|
||||
var/maxcharge = 1000
|
||||
var/rigged = 0 // true if rigged to explode
|
||||
var/minor_fault = 0 //If not 100% reliable, it will build up faults.
|
||||
/// True if rigged to explode
|
||||
var/rigged = FALSE
|
||||
/// If not 100% reliable, it will build up faults.
|
||||
var/minor_fault = 0
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 700, MATERIAL_GLASS = 50)
|
||||
recyclable = TRUE
|
||||
|
||||
@@ -148,7 +151,7 @@
|
||||
maxcharge = 15000
|
||||
matter = null
|
||||
|
||||
// slime cores recharges 10% every one minute
|
||||
/// Slime cores recharges 10% every one minute.
|
||||
self_charge_percentage = 10
|
||||
|
||||
/obj/item/cell/slime/mechanics_hints(mob/user, distance, is_adjacent)
|
||||
@@ -157,7 +160,7 @@
|
||||
|
||||
/obj/item/cell/slime/antagonist_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
. += "Maybe be fucking careful if you try rigging this one."
|
||||
. += "Auto-charges, so maybe be fucking careful if you try rigging this one."
|
||||
|
||||
/obj/item/cell/nuclear
|
||||
name = "miniaturized nuclear power cell"
|
||||
@@ -167,13 +170,14 @@
|
||||
maxcharge = 50000
|
||||
matter = null
|
||||
|
||||
// nuclear cores recharges 20% every one minute
|
||||
/// Nuclear cells recharge 20% every one minute.
|
||||
self_charge_percentage = 10
|
||||
|
||||
/obj/item/cell/device/emergency_light
|
||||
name = "miniature power cell"
|
||||
desc = "A small power cell intended for use with emergency lighting."
|
||||
maxcharge = 120 //Emergency lights use 0.2 W per tick, meaning ~10 minutes of emergency power from a cell
|
||||
/// Emergency lights use 0.2 W per tick, meaning ~10 minutes of emergency power from a cell
|
||||
maxcharge = 120
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
matter = list(MATERIAL_GLASS = 20)
|
||||
|
||||
@@ -198,7 +202,8 @@
|
||||
name = "hydrogen blaster canister"
|
||||
desc = "An industrial-grade hydrogen power cell, used in various blaster weapons- or blaster-adjacent power tools- in place of expensive phoron."
|
||||
icon_state = "hycell"
|
||||
maxcharge = 10000 // hydrogen is actually used today in electric cars
|
||||
/// Hydrogen is actually used today in electric cars
|
||||
maxcharge = 10000
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 700, MATERIAL_GLASS = 70)
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
drop_sound = 'sound/items/drop/gascan.ogg'
|
||||
@@ -220,7 +225,7 @@
|
||||
maxcharge = 30000
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_GLASS = 10000, MATERIAL_URANIUM = 10000)
|
||||
|
||||
// nuclear mecha cores recharges 5% every one minute
|
||||
/// Nuclear mecha cores recharges 5% every one minute
|
||||
self_charge_percentage = 5
|
||||
|
||||
/obj/item/cell/mecha/phoron
|
||||
@@ -230,5 +235,5 @@
|
||||
maxcharge = 50000
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_GLASS = 10000, MATERIAL_PHORON = 5000)
|
||||
|
||||
// nuclear mecha cores recharges 10% every one minute
|
||||
/// Phoron mecha cores recharges 10% every one minute
|
||||
self_charge_percentage = 10
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
/*
|
||||
* These absorb the functionality of the plant bag, ore satchel, etc.
|
||||
* They use the use_to_pickup, quick_gather, and quick_empty functions
|
||||
* that were already defined in weapon/storage, but which had been
|
||||
* re-implemented in other classes.
|
||||
* These absorb the functionality of the plant bag, ore satchel, etc.
|
||||
* They use the use_to_pickup, quick_gather, and quick_empty functions
|
||||
* that were already defined in weapon/storage, but which had been
|
||||
* re-implemented in other classes.
|
||||
*
|
||||
* Contains:
|
||||
* Trash Bag
|
||||
* Mining Satchel
|
||||
* Plant Bag
|
||||
* Sheet Snatcher
|
||||
* Cash Bag
|
||||
* Book Bag (New thing)
|
||||
* Slime Bag (New thing) ~Chaoko99
|
||||
*
|
||||
* -Sayu
|
||||
* Contains:
|
||||
* * Trash Bag
|
||||
* * Mining Satchel
|
||||
* * Plant Bag
|
||||
* * Sheet Snatcher
|
||||
* * Cash Bag
|
||||
* * Book Bag
|
||||
* * Slime Bag
|
||||
*/
|
||||
|
||||
// Generic non-item
|
||||
|
||||
@@ -1,24 +1,25 @@
|
||||
/*
|
||||
* Everything derived from the common cardboard box.
|
||||
* Basically everything except the original is a kit (starts full).
|
||||
* Everything derived from the common cardboard box.
|
||||
* Basically everything except the original is a kit (starts full).
|
||||
*
|
||||
* Contains:
|
||||
* Empty box, starter boxes (survival/engineer),
|
||||
* Latex glove and sterile mask boxes,
|
||||
* Syringe, beaker, dna injector boxes,
|
||||
* Blanks, flashbangs, and EMP grenade boxes,
|
||||
* Tracking and chemical implant boxes,
|
||||
* Prescription glasses and drinking glass boxes,
|
||||
* Condiment bottle and silly cup boxes,
|
||||
* Donkpocket and monkeycube boxes,
|
||||
* ID boxes,
|
||||
* Handcuff, mousetrap, and pillbottle boxes,
|
||||
* Snap-pops,
|
||||
* Replacement light boxes.
|
||||
* Kitchen utensil box
|
||||
* Random preserved snack box
|
||||
* For syndicate call-ins see uplink_kits.dm
|
||||
* Firing pin boxes - Testing and Normal. one for sec, one for science.
|
||||
* Contains:
|
||||
* * Empty box, starter boxes (survival/engineer)
|
||||
* * Latex glove and sterile mask boxes
|
||||
* * Syringe, beaker, dna injector boxes
|
||||
* * Blanks, flashbangs, and EMP grenade boxes
|
||||
* * Tracking and chemical implant boxes
|
||||
* * Prescription glasses and drinking glass boxes
|
||||
* * Condiment bottle and silly cup boxes
|
||||
* * Donkpocket and monkeycube boxes
|
||||
* * ID boxes
|
||||
* * Handcuff, mousetrap, and pillbottle boxes
|
||||
* * Snap-pops
|
||||
* * Replacement light boxes.
|
||||
* * Kitchen utensil box
|
||||
* * Random preserved snack box
|
||||
* * For syndicate call-ins see uplink_kits.dm
|
||||
* * Firing pin boxes - Testing and Normal. one for sec, one for science.
|
||||
* * Flag boxes (various national/corporate flag collections)
|
||||
*/
|
||||
|
||||
/obj/item/storage/box
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
*
|
||||
*
|
||||
* Contains:
|
||||
* Donut Box
|
||||
* Egg Carton
|
||||
* Candle Box
|
||||
* Crayon Box
|
||||
* Cigarette Box
|
||||
* Match Box
|
||||
* * Donut Box
|
||||
* * Egg Carton
|
||||
* * Candle Box
|
||||
* * Crayon Box
|
||||
* * Cigarette Box
|
||||
* * Match Box
|
||||
*/
|
||||
|
||||
/obj/item/storage/box/fancy
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/*
|
||||
* Absorbs /obj/item/secstorage.
|
||||
* Reimplements it only slightly to use existing storage functionality.
|
||||
* Absorbs /obj/item/secstorage.
|
||||
* Reimplements it only slightly to use existing storage functionality.
|
||||
*
|
||||
* Contains:
|
||||
* Secure Briefcase
|
||||
* Wall Safe
|
||||
* Contains:
|
||||
* * Secure Briefcase
|
||||
* * Wall Safe
|
||||
*/
|
||||
|
||||
// -----------------------------
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
//replaces our stun baton code with /tg/station's code
|
||||
/obj/item/melee/baton
|
||||
name = "stunbaton"
|
||||
desc = "A stun baton for incapacitating people with."
|
||||
@@ -16,11 +15,13 @@
|
||||
attack_verb = list("beaten")
|
||||
var/stunforce = 0
|
||||
var/agonyforce = 60
|
||||
var/status = 0 //whether the thing is on or not
|
||||
/// Whether the thing is on or not
|
||||
var/status = 0
|
||||
var/obj/item/cell/bcell
|
||||
var/hitcost = 1000
|
||||
var/baton_color = "#FF6A00"
|
||||
var/sheathed = 1 //electrocutes only on harm intent
|
||||
/// Electrocutes only on harm intent
|
||||
var/sheathed = 1
|
||||
|
||||
/obj/item/melee/baton/mechanics_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
@@ -42,7 +43,10 @@
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/melee/baton/loaded/Initialize() //this one starts with a cell pre-installed.
|
||||
/**
|
||||
* This one starts with a cell pre-installed.
|
||||
*/
|
||||
/obj/item/melee/baton/loaded/Initialize()
|
||||
bcell = new/obj/item/cell/high(src)
|
||||
. = ..()
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/* Surgery Tools
|
||||
* Contains:
|
||||
* Retractor
|
||||
* Hemostat
|
||||
* Cautery
|
||||
* Surgical Drill
|
||||
* Scalpel
|
||||
* Circular Saw
|
||||
* Tray
|
||||
* * Retractor
|
||||
* * Hemostat
|
||||
* * Cautery
|
||||
* * Surgical Drill
|
||||
* * Scalpel
|
||||
* * Circular Saw
|
||||
* * Tray
|
||||
*/
|
||||
/obj/item/surgery
|
||||
name = "surgery tool parent item"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* Weapons
|
||||
* Contains:
|
||||
* Sword
|
||||
* Classic Baton
|
||||
* * Sword
|
||||
* * Classic Baton
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/* Types of tanks!
|
||||
* Contains:
|
||||
* Oxygen
|
||||
* Anesthetic
|
||||
* Air
|
||||
* Phoron
|
||||
* Hydrogen
|
||||
* Emergency Oxygen
|
||||
* * Oxygen
|
||||
* * Anesthetic
|
||||
* * Air
|
||||
* * Phoron
|
||||
* * Hydrogen
|
||||
* * Emergency Oxygen
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/* Teleportation devices.
|
||||
* Contains:
|
||||
* Locator
|
||||
* Hand-tele
|
||||
* Closet Teleporter
|
||||
* Inhibitor handling proc for above
|
||||
* * Locator
|
||||
* * Hand-tele
|
||||
* * Closet Teleporter
|
||||
* * Inhibitor handling proc for above
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -146,7 +146,8 @@
|
||||
surgerysound = 'sound/items/surgery/hemostat.ogg'
|
||||
drop_sound = 'sound/items/drop/wirecutter.ogg'
|
||||
pickup_sound = 'sound/items/pickup/wirecutter.ogg'
|
||||
var/bomb_defusal_chance = 30 // 30% chance to safely defuse a bomb
|
||||
/// 30% chance to safely defuse a bomb
|
||||
var/bomb_defusal_chance = 30
|
||||
build_from_parts = TRUE
|
||||
worn_overlay = "head"
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* Closets for specific jobs
|
||||
* Contains:
|
||||
* Bartender
|
||||
* Chef
|
||||
* Lawyer
|
||||
* * Bartender
|
||||
* * Chef
|
||||
* * Lawyer
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/* Utility Closets
|
||||
* Contains:
|
||||
* Emergency Closet
|
||||
* Fire Closet
|
||||
* Tool Closet
|
||||
* Radiation Closet
|
||||
* Bombsuit Closet
|
||||
* Hydrant
|
||||
* First Aid
|
||||
* * Emergency Closet
|
||||
* * Fire Closet
|
||||
* * Tool Closet
|
||||
* * Radiation Closet
|
||||
* * Bombsuit Closet
|
||||
* * Hydrant
|
||||
* * First Aid
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/* Morgue stuff
|
||||
* Contains:
|
||||
* Morgue
|
||||
* Morgue trays
|
||||
* Crematorium
|
||||
* Crematorium trays
|
||||
* * Morgue
|
||||
* * Morgue trays
|
||||
* * Crematorium
|
||||
* * Crematorium trays
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* Beds... get your mind out of the gutter, they're for sleeping!
|
||||
* Contains:
|
||||
* Beds
|
||||
* Roller beds
|
||||
* * Beds
|
||||
* * Roller beds
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user