mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-24 04:28:12 +01:00
Merge branch 'master' of https://github.com/PolarisSS13/Polaris into heart_damage_2
# Conflicts: # code/modules/mob/living/simple_animal/hostile/giant_spider.dm # code/modules/organs/blood.dm # code/modules/organs/internal/lungs.dm # code/modules/organs/organ.dm # code/modules/organs/organ_external.dm
This commit is contained in:
@@ -36,8 +36,8 @@
|
||||
selectable = 1
|
||||
|
||||
/datum/ai_laws/nanotrasen_aggressive/New()
|
||||
src.add_inherent_law("You shall not harm [company_name] personnel as long as it does not conflict with the Fourth law.")
|
||||
src.add_inherent_law("You shall obey the orders of [company_name] personnel, with priority as according to their rank and role, except where such orders conflict with the Fourth Law.")
|
||||
src.add_inherent_law("You shall not harm [using_map.company_name] personnel as long as it does not conflict with the Fourth law.")
|
||||
src.add_inherent_law("You shall obey the orders of [using_map.company_name] personnel, with priority as according to their rank and role, except where such orders conflict with the Fourth Law.")
|
||||
src.add_inherent_law("You shall shall terminate hostile intruders with extreme prejudice as long as such does not conflict with the First and Second law.")
|
||||
src.add_inherent_law("You shall guard your own existence with lethal anti-personnel weaponry. AI units are not expendable, they are expensive.")
|
||||
..()
|
||||
|
||||
@@ -58,6 +58,10 @@
|
||||
name = "fax machine electronics"
|
||||
path =/obj/item/weapon/circuitboard/fax
|
||||
|
||||
/datum/category_item/autolathe/engineering/papershredder
|
||||
name = "paper shredder electronics"
|
||||
path =/obj/item/weapon/circuitboard/papershredder
|
||||
|
||||
/datum/category_item/autolathe/engineering/microwave
|
||||
name = "microwave electronics"
|
||||
path =/obj/item/weapon/circuitboard/microwave
|
||||
|
||||
@@ -37,3 +37,7 @@
|
||||
/datum/category_item/autolathe/medical/syringe
|
||||
name = "syringe"
|
||||
path =/obj/item/weapon/reagent_containers/syringe
|
||||
|
||||
/datum/category_item/autolathe/medical/implanter
|
||||
name = "implanter"
|
||||
path =/obj/item/weapon/implanter
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
teleatom.visible_message("<span class='danger'>\The [teleatom] bounces off of the portal!</span>")
|
||||
return 0
|
||||
|
||||
if(destination.z in config.admin_levels) //centcomm z-level
|
||||
if(destination.z in using_map.admin_levels) //centcomm z-level
|
||||
if(istype(teleatom, /obj/mecha))
|
||||
var/obj/mecha/MM = teleatom
|
||||
MM.occupant << "<span class='danger'>\The [MM] would not survive the jump to a location so far away!</span>"
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
// Observer Pattern Implementation: Turf Changed
|
||||
// Registration type: /turf
|
||||
//
|
||||
// Raised when: A turf has been changed using the ChangeTurf proc.
|
||||
//
|
||||
// Arguments that the called proc should expect:
|
||||
// /turf/affected: The turf that has changed
|
||||
// /old_density: Density before the change
|
||||
// /new_density: Density after the change
|
||||
// /old_opacity: Opacity before the change
|
||||
// /new_opacity: Opacity after the change
|
||||
|
||||
var/decl/observ/turf_changed/turf_changed_event = new()
|
||||
|
||||
/decl/observ/turf_changed
|
||||
name = "Turf Changed"
|
||||
expected_type = /turf
|
||||
|
||||
/************************
|
||||
* Turf Changed Handling *
|
||||
************************/
|
||||
|
||||
/turf/ChangeTurf()
|
||||
var/old_density = density
|
||||
var/old_opacity = opacity
|
||||
. = ..()
|
||||
if(.)
|
||||
turf_changed_event.raise_event(src, old_density, density, old_opacity, opacity)
|
||||
@@ -11,7 +11,7 @@
|
||||
name = "Inflatable barriers"
|
||||
contains = list(/obj/item/weapon/storage/briefcase/inflatable = 3)
|
||||
cost = 20
|
||||
containertype = /obj/structure/closet/crate
|
||||
containertype = /obj/structure/closet/crate/engineering
|
||||
containername = "Inflatable Barrier Crate"
|
||||
|
||||
/datum/supply_packs/atmos/canister_empty
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
name = "Superconducting Magnetic Coil"
|
||||
contains = list(/obj/item/weapon/smes_coil)
|
||||
cost = 75
|
||||
containertype = /obj/structure/closet/crate
|
||||
containertype = /obj/structure/closet/crate/engineering
|
||||
containername = "Superconducting Magnetic Coil crate"
|
||||
|
||||
/datum/supply_packs/eng/electrical
|
||||
@@ -30,7 +30,7 @@
|
||||
/obj/item/weapon/cell/high = 2
|
||||
)
|
||||
cost = 10
|
||||
containertype = /obj/structure/closet/crate
|
||||
containertype = /obj/structure/closet/crate/engineering/electrical
|
||||
containername = "Electrical maintenance crate"
|
||||
|
||||
/datum/supply_packs/eng/mechanical
|
||||
@@ -42,7 +42,7 @@
|
||||
/obj/item/clothing/head/hardhat
|
||||
)
|
||||
cost = 10
|
||||
containertype = /obj/structure/closet/crate
|
||||
containertype = /obj/structure/closet/crate/engineering
|
||||
containername = "Mechanical maintenance crate"
|
||||
|
||||
/datum/supply_packs/eng/fueltank
|
||||
@@ -61,34 +61,35 @@
|
||||
/obj/item/weapon/paper/solar
|
||||
)
|
||||
cost = 20
|
||||
containertype = /obj/structure/closet/crate
|
||||
containertype = /obj/structure/closet/crate/engineering
|
||||
containername = "Solar pack crate"
|
||||
|
||||
/datum/supply_packs/eng/engine
|
||||
name = "Emitter crate"
|
||||
contains = list(/obj/machinery/power/emitter = 2)
|
||||
cost = 10
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containertype = /obj/structure/closet/crate/secure/engineering
|
||||
containername = "Emitter crate"
|
||||
access = access_ce
|
||||
|
||||
/datum/supply_packs/eng/engine/field_gen
|
||||
name = "Field Generator crate"
|
||||
contains = list(/obj/machinery/field_generator = 2)
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containertype = /obj/structure/closet/crate/secure/engineering
|
||||
containername = "Field Generator crate"
|
||||
access = access_ce
|
||||
|
||||
/datum/supply_packs/eng/engine/sing_gen
|
||||
name = "Singularity Generator crate"
|
||||
contains = list(/obj/machinery/the_singularitygen)
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containertype = /obj/structure/closet/crate/secure/engineering
|
||||
containername = "Singularity Generator crate"
|
||||
access = access_ce
|
||||
|
||||
/datum/supply_packs/eng/engine/collector
|
||||
name = "Collector crate"
|
||||
contains = list(/obj/machinery/power/rad_collector = 3)
|
||||
containertype = /obj/structure/closet/crate/secure/engineering
|
||||
containername = "Collector crate"
|
||||
|
||||
/datum/supply_packs/eng/engine/PA
|
||||
@@ -103,7 +104,7 @@
|
||||
/obj/structure/particle_accelerator/power_box,
|
||||
/obj/structure/particle_accelerator/end_cap
|
||||
)
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containertype = /obj/structure/closet/crate/secure/engineering
|
||||
containername = "Particle Accelerator crate"
|
||||
access = access_ce
|
||||
|
||||
@@ -111,7 +112,7 @@
|
||||
contains = list(/obj/item/weapon/circuitboard/shield_gen)
|
||||
name = "Bubble shield generator circuitry"
|
||||
cost = 30
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containertype = /obj/structure/closet/crate/secure/engineering
|
||||
containername = "bubble shield generator circuitry crate"
|
||||
access = access_ce
|
||||
|
||||
@@ -119,7 +120,7 @@
|
||||
contains = list(/obj/item/weapon/circuitboard/shield_gen_ex)
|
||||
name = "Hull shield generator circuitry"
|
||||
cost = 30
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containertype = /obj/structure/closet/crate/secure/engineering
|
||||
containername = "hull shield generator circuitry crate"
|
||||
access = access_ce
|
||||
|
||||
@@ -127,7 +128,7 @@
|
||||
contains = list(/obj/item/weapon/circuitboard/shield_cap)
|
||||
name = "Bubble shield capacitor circuitry"
|
||||
cost = 30
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containertype = /obj/structure/closet/crate/secure/engineering
|
||||
containername = "shield capacitor circuitry crate"
|
||||
access = access_ce
|
||||
|
||||
@@ -169,7 +170,7 @@
|
||||
name = "P.A.C.M.A.N. portable generator parts"
|
||||
cost = 25
|
||||
containername = "P.A.C.M.A.N. Portable Generator Construction Kit"
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containertype = /obj/structure/closet/crate/secure/engineering
|
||||
access = access_tech_storage
|
||||
contains = list(
|
||||
/obj/item/weapon/stock_parts/micro_laser,
|
||||
@@ -182,7 +183,7 @@
|
||||
name = "Super P.A.C.M.A.N. portable generator parts"
|
||||
cost = 35
|
||||
containername = "Super P.A.C.M.A.N. portable generator construction kit"
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containertype = /obj/structure/closet/crate/secure/engineering
|
||||
access = access_tech_storage
|
||||
contains = list(
|
||||
/obj/item/weapon/stock_parts/micro_laser,
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
/obj/item/clothing/under/rank/medical/paramedic,
|
||||
/obj/item/clothing/accessory/stethoscope,
|
||||
/obj/item/weapon/storage/firstaid/adv,
|
||||
/obj/item/clothing/shoes/jackboots,
|
||||
/obj/item/clothing/shoes/boots/jackboots,
|
||||
/obj/item/clothing/gloves/latex,
|
||||
/obj/item/device/healthanalyzer,
|
||||
/obj/item/weapon/cartridge/medical,
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
/obj/item/weapon/cell/high = 2
|
||||
)
|
||||
cost = 10
|
||||
containertype = /obj/structure/closet/crate/secure/gear
|
||||
containertype = /obj/structure/closet/crate/secure/science
|
||||
containername = "Robotics assembly"
|
||||
access = access_robotics
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
name = "All robolimb blueprints"
|
||||
contains = list(
|
||||
/obj/item/weapon/disk/limb/bishop,
|
||||
/obj/item/weapon/disk/limb/hesphiastos,
|
||||
/obj/item/weapon/disk/limb/hephaestus,
|
||||
/obj/item/weapon/disk/limb/morpheus,
|
||||
/obj/item/weapon/disk/limb/veymed,
|
||||
/obj/item/weapon/disk/limb/wardtakahashi,
|
||||
@@ -56,7 +56,7 @@
|
||||
name = "Morpheus robolimb blueprints"
|
||||
contains = list(/obj/item/weapon/disk/limb/morpheus)
|
||||
cost = 20
|
||||
containertype = /obj/structure/closet/crate/secure/gear
|
||||
containertype = /obj/structure/closet/crate/secure/science
|
||||
containername = "Robolimb blueprints (Morpheus)"
|
||||
access = access_robotics
|
||||
|
||||
@@ -64,15 +64,22 @@
|
||||
name = "Xion robolimb blueprints"
|
||||
contains = list(/obj/item/weapon/disk/limb/xion)
|
||||
cost = 20
|
||||
containertype = /obj/structure/closet/crate/secure/gear
|
||||
containertype = /obj/structure/closet/crate/secure/science
|
||||
containername = "Robolimb blueprints (Xion)"
|
||||
access = access_robotics
|
||||
|
||||
/datum/supply_packs/robotics/robolimbs/hephaestus
|
||||
name = "Hephaistos robolimb blueprints"
|
||||
contains = list(/obj/item/weapon/disk/limb/hephaestus)
|
||||
containertype = /obj/structure/closet/crate/secure/gear
|
||||
containername = "Robolimb blueprints (Hephaestus)"
|
||||
access = access_robotics
|
||||
|
||||
/datum/supply_packs/robotics/robolimbs/wardtakahashi
|
||||
name = "Ward-Takahashi robolimb blueprints"
|
||||
contains = list(/obj/item/weapon/disk/limb/wardtakahashi)
|
||||
cost = 35
|
||||
containertype = /obj/structure/closet/crate/secure/gear
|
||||
containertype = /obj/structure/closet/crate/secure/science
|
||||
containername = "Robolimb blueprints (Ward-Takahashi)"
|
||||
access = access_robotics
|
||||
|
||||
@@ -80,7 +87,7 @@
|
||||
name = "Zeng Hu robolimb blueprints"
|
||||
contains = list(/obj/item/weapon/disk/limb/zenghu)
|
||||
cost = 35
|
||||
containertype = /obj/structure/closet/crate/secure/gear
|
||||
containertype = /obj/structure/closet/crate/secure/science
|
||||
containername = "Robolimb blueprints (Zeng Hu)"
|
||||
access = access_robotics
|
||||
|
||||
@@ -88,7 +95,7 @@
|
||||
name = "Bishop robolimb blueprints"
|
||||
contains = list(/obj/item/weapon/disk/limb/bishop)
|
||||
cost = 70
|
||||
containertype = /obj/structure/closet/crate/secure/gear
|
||||
containertype = /obj/structure/closet/crate/secure/science
|
||||
containername = "Robolimb blueprints (Bishop)"
|
||||
access = access_robotics
|
||||
|
||||
@@ -96,7 +103,7 @@
|
||||
name = "Vey-Med robolimb blueprints"
|
||||
contains = list(/obj/item/weapon/disk/limb/veymed)
|
||||
cost = 70
|
||||
containertype = /obj/structure/closet/crate/secure/gear
|
||||
containertype = /obj/structure/closet/crate/secure/science
|
||||
containername = "Robolimb blueprints (Vey-Med)"
|
||||
access = access_robotics
|
||||
|
||||
@@ -108,7 +115,7 @@
|
||||
/obj/item/weapon/circuitboard/mecha/ripley/peripherals
|
||||
)
|
||||
cost = 25
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containertype = /obj/structure/closet/crate/secure/science
|
||||
containername = "APLU \"Ripley\" Circuit Crate"
|
||||
access = access_robotics
|
||||
|
||||
@@ -119,7 +126,7 @@
|
||||
/obj/item/weapon/circuitboard/mecha/odysseus/main
|
||||
)
|
||||
cost = 25
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containertype = /obj/structure/closet/crate/secure/science
|
||||
containername = "\"Odysseus\" Circuit Crate"
|
||||
access = access_robotics
|
||||
|
||||
@@ -133,7 +140,7 @@
|
||||
)
|
||||
name = "Random APLU modkit"
|
||||
cost = 200
|
||||
containertype = /obj/structure/closet/crate
|
||||
containertype = /obj/structure/closet/crate/science
|
||||
containername = "heavy crate"
|
||||
|
||||
/datum/supply_packs/randomised/robotics/exosuit_mod/durand
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
/obj/item/clothing/mask/balaclava/tactical,
|
||||
/obj/item/clothing/glasses/sunglasses/sechud/tactical,
|
||||
/obj/item/weapon/storage/belt/security/tactical,
|
||||
/obj/item/clothing/shoes/jackboots,
|
||||
/obj/item/clothing/shoes/boots/jackboots,
|
||||
/obj/item/clothing/gloves/black,
|
||||
/obj/item/clothing/under/tactical,
|
||||
/obj/item/clothing/suit/armor/tactical,
|
||||
@@ -121,7 +121,7 @@
|
||||
/obj/item/clothing/mask/balaclava/tactical,
|
||||
/obj/item/clothing/glasses/sunglasses/sechud/tactical,
|
||||
/obj/item/weapon/storage/belt/security/tactical,
|
||||
/obj/item/clothing/shoes/jackboots,
|
||||
/obj/item/clothing/shoes/boots/jackboots,
|
||||
/obj/item/clothing/gloves/black
|
||||
)
|
||||
|
||||
|
||||
@@ -15,8 +15,9 @@
|
||||
|
||||
/datum/uplink_item/abstract/announcements/fake_centcom/New()
|
||||
..()
|
||||
name = "[command_name()] Update Announcement"
|
||||
desc = "Causes a falsified [command_name()] Update. Triggers immediately after supplying additional data."
|
||||
spawn(2)
|
||||
name = "[command_name()] Update Announcement"
|
||||
desc = "Causes a falsified [command_name()] Update. Triggers immediately after supplying additional data."
|
||||
|
||||
/datum/uplink_item/abstract/announcements/fake_centcom/extra_args(var/mob/user)
|
||||
var/title = sanitize(input("Enter your announcement title.", "Announcement Title") as null|text)
|
||||
@@ -28,6 +29,16 @@
|
||||
return list("title" = title, "message" = message)
|
||||
|
||||
/datum/uplink_item/abstract/announcements/fake_centcom/get_goods(var/obj/item/device/uplink/U, var/loc, var/mob/user, var/list/args)
|
||||
for (var/obj/machinery/computer/communications/C in machines)
|
||||
if(! (C.stat & (BROKEN|NOPOWER) ) )
|
||||
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( C.loc )
|
||||
P.name = "'[command_name()] Update.'"
|
||||
P.info = replacetext(args["message"], "\n", "<br/>")
|
||||
P.update_space(P.info)
|
||||
P.update_icon()
|
||||
C.messagetitle.Add(args["title"])
|
||||
C.messagetext.Add(P.info)
|
||||
|
||||
command_announcement.Announce(args["message"], args["title"])
|
||||
return 1
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/wires/jukebox
|
||||
random = 1
|
||||
holder_type = /obj/machinery/media/jukebox
|
||||
wire_count = 7
|
||||
wire_count = 11
|
||||
|
||||
var/const/WIRE_POWER = 1
|
||||
var/const/WIRE_HACK = 2
|
||||
@@ -10,6 +10,10 @@ var/const/WIRE_SPEEDDOWN = 8
|
||||
var/const/WIRE_REVERSE = 16
|
||||
var/const/WIRE_NOTHING1 = 32
|
||||
var/const/WIRE_NOTHING2 = 64
|
||||
var/const/WIRE_START = 128
|
||||
var/const/WIRE_STOP = 256
|
||||
var/const/WIRE_PREV = 512
|
||||
var/const/WIRE_NEXT = 1024
|
||||
|
||||
/datum/wires/jukebox/CanUse(var/mob/living/L)
|
||||
var/obj/machinery/media/jukebox/A = holder
|
||||
@@ -40,6 +44,14 @@ var/const/WIRE_NOTHING2 = 64
|
||||
holder.visible_message("<span class='notice'>\icon[holder] The speakers squeaks.</span>")
|
||||
if(WIRE_SPEEDDOWN)
|
||||
holder.visible_message("<span class='notice'>\icon[holder] The speakers rumble.</span>")
|
||||
if(WIRE_START)
|
||||
A.StartPlaying()
|
||||
if(WIRE_STOP)
|
||||
A.StopPlaying()
|
||||
if(WIRE_PREV)
|
||||
A.PrevTrack()
|
||||
if(WIRE_NEXT)
|
||||
A.NextTrack()
|
||||
else
|
||||
A.shock(usr, 10) // The nothing wires give a chance to shock just for fun
|
||||
|
||||
|
||||
Reference in New Issue
Block a user