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:
Anewbe
2017-03-22 17:29:01 -05:00
537 changed files with 17289 additions and 9499 deletions
+2 -2
View File
@@ -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.")
..()
+4
View File
@@ -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
+4
View File
@@ -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
+1 -1
View File
@@ -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>"
+28
View File
@@ -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)
+1 -1
View File
@@ -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
+14 -13
View File
@@ -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,
+1 -1
View File
@@ -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,
+18 -11
View File
@@ -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
+2 -2
View File
@@ -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
)
+13 -2
View File
@@ -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
+13 -1
View File
@@ -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