mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 21:40:55 +01:00
Merge branch 'master' into computer_tweaks
# Conflicts: # code/game/jobs/job/ship_crew.dm
This commit is contained in:
@@ -11,7 +11,10 @@
|
||||
/obj/effect/landmark/New()
|
||||
..()
|
||||
tag = text("landmark*[]", name)
|
||||
do_landmark_effect()
|
||||
return 1
|
||||
|
||||
/obj/effect/landmark/proc/do_landmark_effect()
|
||||
switch(name) //some of these are probably obsolete
|
||||
if("monkey")
|
||||
monkeystart += loc
|
||||
@@ -93,7 +96,6 @@
|
||||
return
|
||||
|
||||
landmarks_list += src
|
||||
return 1
|
||||
|
||||
/obj/effect/landmark/proc/delete()
|
||||
delete_me = 1
|
||||
@@ -257,3 +259,11 @@
|
||||
|
||||
/obj/effect/landmark/distress_team_equipment
|
||||
name = "distress equipment"
|
||||
|
||||
/obj/effect/landmark/force_spawnpoint
|
||||
name = "force spawnpoint"
|
||||
var/job_tag = "Anyone"
|
||||
|
||||
/obj/effect/landmark/force_spawnpoint/do_landmark_effect()
|
||||
LAZYINITLIST(force_spawnpoints)
|
||||
LAZYADD(force_spawnpoints[job_tag], loc)
|
||||
@@ -12,7 +12,7 @@
|
||||
. = ..()
|
||||
if(force || !istype(H) || slot != slot_wear_suit)
|
||||
return
|
||||
if(H.species.get_bodytype() in list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI, SPECIES_SKRELL, SPECIES_UNATHI)) //gtfo stinky bugs
|
||||
if(H.species.get_bodytype() in list(BODYTYPE_HUMAN, BODYTYPE_TAJARA, BODYTYPE_SKRELL, BODYTYPE_UNATHI)) //gtfo stinky bugs
|
||||
return
|
||||
else
|
||||
return FALSE
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
var/list/decals = list(
|
||||
"quarter-turf" = list("path" = /obj/effect/floor_decal/corner, "precise" = 1, "coloured" = 1),
|
||||
"full quarter-turf" = list("path" = /obj/effect/floor_decal/corner_full, "precise" = 1, "coloured" = 1),
|
||||
"hazard stripes" = list("path" = /obj/effect/floor_decal/industrial/warning),
|
||||
"corner, hazard" = list("path" = /obj/effect/floor_decal/industrial/warning/corner),
|
||||
"hatched marking" = list("path" = /obj/effect/floor_decal/industrial/hatch, "coloured" = 1),
|
||||
|
||||
@@ -67,12 +67,12 @@
|
||||
<br><small><i>This document serves as a notice and permits the sanctioned arrest of
|
||||
the denoted employee of the NanoTrasen Civilian Branch of Operation by the
|
||||
Security Department of the denoted facility. </br>
|
||||
In accordance with Corporate Regulation, the denoted employee must be presented with signed and stamped or
|
||||
digitally autorized warrant before the actions entailed can be conducted legally. </br>
|
||||
The Suspect/Department staff is expected to offer full co-operation.</br>
|
||||
In accordance with Corporate Regulations, the denoted employee must be presented with a signed and stamped or
|
||||
digitally authorized warrant before the actions entailed can be conducted legally. </br>
|
||||
The Suspect/Department staff are expected to offer full co-operation.</br>
|
||||
In the event of the Suspect attempting to resist or flee, resisting arrest charges need to be applied !</br>
|
||||
In the event of staff attempting to interfere with a lawful arrest, they are to be detained as an accomplice !</br>
|
||||
In the event of no warrant being displayed <b>prior</b> to the arrest, security personell performing the arrest are subject to illegal detention charges !
|
||||
In the event of no warrant being displayed <b>prior</b> to the arrest, security personnel performing the arrest are subject to illegal detention charges !
|
||||
</i></small>
|
||||
<br>
|
||||
<br><b>Suspect's name: </b>
|
||||
@@ -104,11 +104,11 @@
|
||||
the Suspect's person/belongings/premises and/or Department for any items and materials
|
||||
that could be connected to the suspected regulation violation described below,
|
||||
pending an investigation in progress. </br>
|
||||
The Security Officer(s) are obligated to remove any and all such items from the Suspects posession
|
||||
The Security Officer(s) are obligated to remove any and all such items from the Suspect's posession
|
||||
and/or Department and file it as evidence. </br>
|
||||
In accordance with Corporate Regulation, the denoted employee must be presented with signed and stamped or
|
||||
digitally autorized warrant before the actions entailed can be conducted legally. </br>
|
||||
The Suspect/Department staff is expected to offer full co-operation.</br>
|
||||
In accordance with Corporate Regulations, the denoted employee must be presented with a signed and stamped or
|
||||
digitally authorized warrant before the actions entailed can be conducted legally. </br>
|
||||
The Suspect/Department staff are expected to offer full co-operation.</br>
|
||||
In the event of the Suspect/Department staff attempting to resist/impede this search or flee, they must be taken into custody immediately! </br>
|
||||
All confiscated items must be filed and taken to Evidence!</small></i></br>
|
||||
<br><b>Suspect's/location name: </b>
|
||||
|
||||
@@ -63,3 +63,10 @@
|
||||
|
||||
/obj/item/device/flashlight/lamp/lava/yellow
|
||||
light_color = COLOR_YELLOW
|
||||
|
||||
/obj/item/device/flashlight/lamp/stage
|
||||
name = "stage lamp"
|
||||
desc = "A portable, beautiful and flashy stage light!"
|
||||
light_color = COLOR_ORANGE
|
||||
icon_state = "stage"
|
||||
item_state = "stage"
|
||||
@@ -113,3 +113,9 @@
|
||||
desc = "Something that should not exist."
|
||||
icon_state = "megaphone_clown"
|
||||
item_state = "megaphone_clown"
|
||||
|
||||
/obj/item/device/megaphone/stagemicrophone
|
||||
name = "dazzling stage microphone"
|
||||
desc = "A glamorous looking stage microphone, complete with running lights and holographic effects around it."
|
||||
icon_state = "stagemicrophone"
|
||||
item_state = "stagemicrophone"
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
name = "voidsuit kit"
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "modkit"
|
||||
desc = "A simple cardboard box containing the requisition forms, permits, and decal kits a Himean voidsuit."
|
||||
desc = "A simple cardboard box containing the requisition forms, permits, and decal kits for a Himean voidsuit."
|
||||
desc_info = "In order to convert a voidsuit simply click on voidsuit or helmet with this item\
|
||||
The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit\
|
||||
or else it will be deleted."
|
||||
@@ -119,7 +119,7 @@
|
||||
var/obj/item/P = new voidsuit_product(get_turf(W))
|
||||
|
||||
if(!reconverting)
|
||||
to_chat(user, SPAN_NOTICE("Your permit for a [P] has been processed. Enjoy!"))
|
||||
to_chat(user, SPAN_NOTICE("Your permit for [P] has been processed. Enjoy!"))
|
||||
else
|
||||
to_chat(user, SPAN_NOTICE("Your voidsuit part has been reconverted into [P]."))
|
||||
|
||||
|
||||
@@ -4,9 +4,13 @@ var/list/mob_icon_icon_states = list()
|
||||
// If we don't actually need to offset this, don't bother with any of the generation/caching.
|
||||
if(!mob_icon_icon_states[mob_icon])
|
||||
mob_icon_icon_states[mob_icon] = icon_states(mob_icon)
|
||||
if(LAZYLEN(H.species.equip_adjust) && H.species.equip_adjust[slot] && length(H.species.equip_adjust[slot]) && (mob_state in mob_icon_icon_states[mob_icon]))
|
||||
var/needs_shift = !(H.species.bodytype in sprite_sheets)
|
||||
if(!needs_shift && length(item_icons))
|
||||
needs_shift = (slot in item_icons)
|
||||
if(LAZYLEN(H.species.equip_adjust) && H.species.equip_adjust[slot] && length(H.species.equip_adjust[slot]) && (mob_state in mob_icon_icon_states[mob_icon]) && needs_shift)
|
||||
// Check the cache for previously made icons.
|
||||
var/image_key = "[mob_icon]-[mob_state]-[color]-[slot]"
|
||||
var/image_key_mod = get_image_key_mod()
|
||||
var/image_key = "[mob_icon]-[mob_state]-[color]-[slot][!isnull(image_key_mod) ? "-[image_key_mod]" : ""]"
|
||||
if(!LAZYISIN(H.species.equip_overlays, image_key))
|
||||
var/icon/final_I = new(H.species.icon_template ? H.species.icon_template : 'icons/mob/human.dmi',"blank")
|
||||
var/list/shifts = H.species.equip_adjust[slot]
|
||||
@@ -18,9 +22,7 @@ var/list/mob_icon_icon_states = list()
|
||||
var/icon/equip = new(mob_icon, icon_state = mob_state, dir = use_dir)
|
||||
var/icon/canvas = new(H.species.icon_template ? H.species.icon_template : 'icons/mob/human.dmi',"blank")
|
||||
canvas.Blend(equip, ICON_OVERLAY, facing_list["x"]+1, facing_list["y"]+1)
|
||||
if(build_from_parts)
|
||||
var/icon/parts_icon = new(mob_icon, icon_state = "[item_state][contained_sprite ? slot_str_to_contained_flag(slot) : ""]_[worn_overlay]", dir = use_dir)
|
||||
canvas.Blend(parts_icon, ICON_OVERLAY, facing_list["x"]+1, facing_list["y"]+1)
|
||||
canvas = build_shifted_additional_parts(H, mob_icon, slot, canvas, facing_list, use_dir)
|
||||
final_I.Insert(canvas, dir = use_dir)
|
||||
LAZYINITLIST(H.species.equip_overlays)
|
||||
var/image/final_image = overlay_image(final_I, color = color, flags = RESET_COLOR|RESET_ALPHA)
|
||||
@@ -29,6 +31,25 @@ var/list/mob_icon_icon_states = list()
|
||||
I.appearance = H.species.equip_overlays[image_key]
|
||||
return I
|
||||
var/image/I = overlay_image(mob_icon, mob_state, color, RESET_COLOR|RESET_ALPHA)
|
||||
if(build_from_parts)
|
||||
I.add_overlay(overlay_image(mob_icon, "[item_state][contained_sprite ? slot_str_to_contained_flag(slot) : ""]_[worn_overlay]", null, RESET_COLOR|RESET_ALPHA))
|
||||
var/image/additional_parts = build_additional_parts(H, mob_icon)
|
||||
if(additional_parts)
|
||||
I.add_overlay(additional_parts)
|
||||
|
||||
return I
|
||||
|
||||
/obj/item/proc/get_image_key_mod()
|
||||
return
|
||||
|
||||
/obj/item/proc/build_shifted_additional_parts(mob/living/carbon/human/H, mob_icon, slot, var/icon/canvas, var/list/facing_list, use_dir)
|
||||
if(!canvas)
|
||||
return
|
||||
if(build_from_parts)
|
||||
var/icon/parts_icon = new(mob_icon, icon_state = "[item_state][contained_sprite ? slot_str_to_contained_flag(slot) : ""]_[worn_overlay]", dir = use_dir)
|
||||
canvas.Blend(parts_icon, ICON_OVERLAY, facing_list["x"]+1, facing_list["y"]+1)
|
||||
return canvas
|
||||
|
||||
/obj/item/proc/build_additional_parts(mob/living/carbon/human/H, mob_icon, slot)
|
||||
var/image/I
|
||||
if(build_from_parts)
|
||||
I = overlay_image(mob_icon, "[item_state][contained_sprite ? slot_str_to_contained_flag(slot) : ""]_[worn_overlay]", null, RESET_COLOR|RESET_ALPHA)
|
||||
return I
|
||||
@@ -17,7 +17,7 @@
|
||||
throwforce = 10
|
||||
w_class = ITEMSIZE_SMALL
|
||||
var/cooldown = 0 // floor tap cooldown
|
||||
var/static/list/nullchoices = list("Null Rod" = /obj/item/nullrod/, "Null Staff" = /obj/item/nullrod/staff, "Null Orb" = /obj/item/nullrod/orb, "Null Athame" = /obj/item/nullrod/athame, "Tribunal Rod" = /obj/item/nullrod/dominia)
|
||||
var/static/list/nullchoices = list("Null Rod" = /obj/item/nullrod/, "Null Staff" = /obj/item/nullrod/staff, "Null Orb" = /obj/item/nullrod/orb, "Null Athame" = /obj/item/nullrod/athame, "Tribunal Rod" = /obj/item/nullrod/dominia, "Tajaran charm" = /obj/item/nullrod/charm)
|
||||
|
||||
/obj/item/nullrod/dominia
|
||||
name = "tribunalist purification rod"
|
||||
@@ -49,6 +49,24 @@
|
||||
icon_state = "nullathame"
|
||||
item_state = "nullathame"
|
||||
|
||||
/obj/item/nullrod/charm
|
||||
name = "obsidian charm"
|
||||
desc = "A tajaran charm created from obsidian created to ward off the supernatural and bring good fortune."
|
||||
desc_fluff = "Talismans and charms are common among religious and superstitious tajara, with many believing them to be able to bring good fortune or ward off raskara and other evils."
|
||||
icon = 'icons/obj/tajara_items.dmi'
|
||||
contained_sprite = TRUE
|
||||
item_icons = null
|
||||
icon_state = "stone_talisman"
|
||||
item_state = "stone_talisman"
|
||||
force = 4
|
||||
throw_range = 7
|
||||
throwforce = 2
|
||||
slot_flags = SLOT_MASK | SLOT_WRISTS | SLOT_EARS | SLOT_TIE
|
||||
w_class = ITEMSIZE_TINY
|
||||
|
||||
/obj/item/nullrod/charm/get_mask_examine_text(mob/user)
|
||||
return "around [user.get_pronoun("his")] neck"
|
||||
|
||||
/obj/item/nullrod/obsidianshards
|
||||
name = "obsidian shards"
|
||||
desc = "A loose pile of obsidian shards, waiting to be assembled into a religious focus."
|
||||
|
||||
@@ -224,7 +224,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
set_light(2, 0.25, "#E38F46")
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
|
||||
/obj/item/clothing/mask/smokable/proc/die(var/no_message = 0)
|
||||
/obj/item/clothing/mask/smokable/proc/die(var/no_message = FALSE, var/intentionally = FALSE)
|
||||
var/turf/T = get_turf(src)
|
||||
set_light(0)
|
||||
playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1)
|
||||
@@ -235,15 +235,19 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
var/mob/living/M = loc
|
||||
if(!no_message)
|
||||
to_chat(M, SPAN_NOTICE("Your [name] goes out."))
|
||||
if(M.wear_mask)
|
||||
if(intentionally)
|
||||
butt.loc = T
|
||||
else if(M.wear_mask == src)
|
||||
M.remove_from_mob(src) //un-equip it so the overlays can update
|
||||
M.update_inv_wear_mask(0)
|
||||
M.equip_to_slot_if_possible(butt, slot_wear_mask)
|
||||
if(!(M.equip_to_slot_if_possible(butt, slot_wear_mask, ignore_blocked = TRUE)))
|
||||
M.put_in_hands(butt) // In case the above somehow fails, ensure it is placed somewhere
|
||||
else
|
||||
M.remove_from_mob(src) // if it dies in your hand.
|
||||
M.update_inv_l_hand(0)
|
||||
M.update_inv_r_hand(1)
|
||||
M.put_in_hands(butt)
|
||||
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
qdel(src)
|
||||
else
|
||||
@@ -359,7 +363,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
if(lit)
|
||||
user.visible_message(SPAN_NOTICE("<b>[user]</b> calmly drops and treads on the lit [src], putting it out instantly."), SPAN_NOTICE("You calmly drop and tread on the lit [src], putting it out instantly."))
|
||||
playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1)
|
||||
die(TRUE)
|
||||
die(TRUE, TRUE)
|
||||
else // Cigarette packing. For compulsive smokers.
|
||||
user.visible_message(SPAN_NOTICE("<b>[user]</b> taps \the [src] against their palm."), SPAN_NOTICE("You tap \the [src] against your palm."))
|
||||
return ..()
|
||||
|
||||
@@ -18,6 +18,9 @@
|
||||
slot_l_hand_str = "backpack",
|
||||
slot_r_hand_str = "backpack"
|
||||
)
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/back.dmi'
|
||||
)
|
||||
w_class = ITEMSIZE_LARGE
|
||||
slot_flags = SLOT_BACK
|
||||
max_w_class = ITEMSIZE_NORMAL
|
||||
@@ -498,7 +501,7 @@
|
||||
|
||||
/obj/item/storage/backpack/typec
|
||||
icon = 'icons/mob/species/breeder/inventory.dmi'
|
||||
name = "type c wings"
|
||||
name = "type c zo'ra wings"
|
||||
desc = "The wings of a CB Caste Vaurca. They are far too small at this stage to permit sustained periods of flight in most situations."
|
||||
icon_state = "wings"
|
||||
item_state = "wings"
|
||||
@@ -509,6 +512,32 @@
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/back.dmi')
|
||||
|
||||
/obj/item/storage/backpack/typec_klax
|
||||
icon = 'icons/mob/species/breeder/inventory.dmi'
|
||||
name = "type c k'lax wings"
|
||||
desc = "The wings of a CB Caste Vaurca. They are far too small at this stage to permit sustained periods of flight in most situations."
|
||||
icon_state = "wings_klax"
|
||||
item_state = "wings_klax"
|
||||
w_class = ITEMSIZE_HUGE
|
||||
slot_flags = SLOT_BACK
|
||||
max_storage_space = 12
|
||||
canremove = 0
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/back.dmi')
|
||||
|
||||
/obj/item/storage/backpack/typec_cthur
|
||||
icon = 'icons/mob/species/breeder/inventory.dmi'
|
||||
name = "type c c'thur wings"
|
||||
desc = "The wings of a CB Caste Vaurca. They are far too small at this stage to permit sustained periods of flight in most situations."
|
||||
icon_state = "wings_cthur"
|
||||
item_state = "wings_cthur"
|
||||
w_class = ITEMSIZE_HUGE
|
||||
slot_flags = SLOT_BACK
|
||||
max_storage_space = 12
|
||||
canremove = 0
|
||||
species_restricted = list(BODYTYPE_VAURCA_BREEDER)
|
||||
sprite_sheets = list(BODYTYPE_VAURCA_BREEDER = 'icons/mob/species/breeder/back.dmi')
|
||||
|
||||
/obj/item/storage/backpack/service
|
||||
name = "idris service backpack"
|
||||
desc = "The infamously Idris Service Standard refers to this monstrous, self-stabilizing back-mounted utensil and service item holder, not anything professional."
|
||||
|
||||
@@ -28,8 +28,10 @@
|
||||
add_overlay(I.get_belt_overlay())
|
||||
..()
|
||||
|
||||
/obj/item/storage/belt/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot)
|
||||
/obj/item/storage/belt/build_additional_parts(H, mob_icon, slot)
|
||||
var/image/I = ..()
|
||||
if(!I)
|
||||
I = image(null)
|
||||
for(var/obj/item/i in contents)
|
||||
var/c_state
|
||||
var/c_icon
|
||||
|
||||
@@ -44,7 +44,8 @@
|
||||
var/list/glove_types = list(
|
||||
"Standard Gloves" = /obj/item/clothing/gloves/latex/nitrile,
|
||||
"Unathi Gloves" = /obj/item/clothing/gloves/latex/nitrile/unathi,
|
||||
"Tajara Gloves" = /obj/item/clothing/gloves/latex/nitrile/tajara
|
||||
"Tajara Gloves" = /obj/item/clothing/gloves/latex/nitrile/tajara,
|
||||
"Vaurca Gloves" = /obj/item/clothing/gloves/latex/nitrile/vaurca
|
||||
)
|
||||
var/chosen_type = input(user, "Which pair of gloves would you like?", capitalize_first_letters(name)) as null|anything in glove_types
|
||||
if(!chosen_type)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
desc = "A basic screw on filter attached beneath the mouthparts of the common Vaurca."
|
||||
name = "filter port"
|
||||
icon_state = "filterport"
|
||||
species_restricted = list(BODYTYPE_VAURCA, BODYTYPE_VAURCA_BREEDER)
|
||||
species_restricted = list(BODYTYPE_VAURCA, BODYTYPE_VAURCA_WARFORM, BODYTYPE_VAURCA_BREEDER, BODYTYPE_VAURCA_BULWARK)
|
||||
item_state = 0
|
||||
|
||||
/obj/item/clothing/head/shaper
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
new /obj/item/storage/backpack/satchel_cap(src)
|
||||
// Armor
|
||||
new /obj/item/clothing/head/helmet(src)
|
||||
new /obj/item/clothing/suit/armor/carrier/generic(src)
|
||||
new /obj/item/clothing/suit/armor/carrier/officer(src)
|
||||
//Tools
|
||||
new /obj/item/device/radio/headset/heads/captain(src)
|
||||
new /obj/item/device/radio/headset/heads/captain/alt(src)
|
||||
@@ -74,7 +74,7 @@
|
||||
new /obj/item/storage/box/fancy/keypouch/service(src)
|
||||
//Appearance
|
||||
new /obj/item/clothing/glasses/sunglasses(src)
|
||||
new /obj/item/clothing/suit/armor/carrier/generic(src)
|
||||
new /obj/item/clothing/suit/armor/carrier/officer(src)
|
||||
new /obj/item/clothing/head/helmet(src)
|
||||
new /obj/item/clothing/accessory/holster/waist(src)
|
||||
//Tools
|
||||
|
||||
@@ -224,6 +224,7 @@
|
||||
name = "roller bed"
|
||||
icon = 'icons/obj/rollerbed.dmi'
|
||||
icon_state = "standard_down"
|
||||
item_state = "rollerbed"
|
||||
anchored = FALSE
|
||||
var/base_state = "standard"
|
||||
var/item_bedpath = /obj/item/roller
|
||||
@@ -418,7 +419,12 @@
|
||||
name = "roller bed"
|
||||
desc = "A collapsed roller bed that can be carried around."
|
||||
icon = 'icons/obj/rollerbed.dmi'
|
||||
item_icons = list(
|
||||
slot_l_hand_str = 'icons/mob/items/lefthand_medical.dmi',
|
||||
slot_r_hand_str = 'icons/mob/items/righthand_medical.dmi'
|
||||
)
|
||||
icon_state = "standard_folded"
|
||||
item_state = "rollerbed"
|
||||
drop_sound = 'sound/items/drop/axe.ogg'
|
||||
pickup_sound = 'sound/items/pickup/axe.ogg'
|
||||
center_of_mass = list("x" = 17,"y" = 7)
|
||||
|
||||
Reference in New Issue
Block a user