diff --git a/code/WorkInProgress/Ported/Abi79/uplinks.dm b/code/WorkInProgress/Ported/Abi79/uplinks.dm
index f7af9e38cf..203cbb77bb 100644
--- a/code/WorkInProgress/Ported/Abi79/uplinks.dm
+++ b/code/WorkInProgress/Ported/Abi79/uplinks.dm
@@ -95,7 +95,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
if(uses > 6)
randomItems.Add("/obj/item/weapon/aiModule/syndicate") //Hacked AI Upload Module
- randomItems.Add("/obj/machinery/singularity_beacon/syndicate") //Singularity Beacon
+ randomItems.Add("/obj/item/device/radio/beacon/syndicate") //Singularity Beacon
if(uses > 5)
randomItems.Add("/obj/item/weapon/gun/projectile") //Revolver
@@ -108,7 +108,6 @@ A list of items and costs is stored under the datum of every game mode, alongsid
randomItems.Add("/obj/item/weapon/melee/energy/sword") //Energy Sword
randomItems.Add("/obj/item/clothing/mask/gas/voice") //Voice Changer
randomItems.Add("/obj/item/device/chameleon") //Chameleon Projector
- randomItems.Add("/obj/item/clothing/glasses/thermal") //Syndicate Space Suit
if(uses > 2)
randomItems.Add("/obj/item/weapon/storage/emp_kit") //EMP Grenades
@@ -120,15 +119,19 @@ A list of items and costs is stored under the datum of every game mode, alongsid
randomItems.Add("/obj/item/weapon/storage/syndie_kit/space") //Syndicate Space Suit
randomItems.Add("/obj/item/device/encryptionkey/binary") //Binary Translator Key
randomItems.Add("/obj/item/weapon/storage/syndie_kit/imp_freedom") //Freedom Implant
+ randomItems.Add("/obj/item/clothing/glasses/thermal") //Thermal Imaging Goggles
if(uses > 1)
- var/list/usrItems = usr.get_contents()
+/*
+ var/list/usrItems = usr.get_contents() //Checks to see if the user has a revolver before giving ammo
var/hasRevolver = 0
for(var/obj/I in usrItems) //Only add revolver ammo if the user has a gun that can shoot it
if(istype(I,/obj/item/weapon/gun/projectile))
hasRevolver = 1
if(hasRevolver) randomItems.Add("/obj/item/ammo_magazine/a357") //Revolver ammo
+*/
+ randomItems.Add("/obj/item/ammo_magazine/a357") //Revolver ammo
randomItems.Add("/obj/item/clothing/shoes/syndigaloshes") //No-Slip Syndicate Shoes
randomItems.Add("/obj/item/weapon/plastique") //C4
@@ -145,19 +148,19 @@ A list of items and costs is stored under the datum of every game mode, alongsid
switch(href_list["buy_item"]) //Ok, this gets a little messy, sorry.
if("/obj/item/weapon/circuitboard/teleporter")
uses -= 20
- if("/obj/item/toy/syndicateballoon" , "/obj/item/weapon/storage/syndie_kit/imp_uplink")
+ if("/obj/item/toy/syndicateballoon" , "/obj/item/weapon/storage/syndie_kit/imp_uplink" , "/obj/item/weapon/storage/box/syndicate")
uses -= 10
- if("/obj/item/weapon/aiModule/syndicate" , "/obj/machinery/singularity_beacon/syndicate" , "/obj/item/weapon/storage/box/syndicate")
+ if("/obj/item/weapon/aiModule/syndicate" , "/obj/item/device/radio/beacon/syndicate")
uses -= 7
if("/obj/item/weapon/gun/projectile")
uses -= 6
if("/obj/item/weapon/gun/energy/crossbow" , "/obj/item/device/powersink")
uses -= 5
- if("/obj/item/weapon/melee/energy/sword" , "/obj/item/clothing/mask/gas/voice" , "/obj/item/device/chameleon" , "/obj/item/clothing/glasses/thermal")
+ if("/obj/item/weapon/melee/energy/sword" , "/obj/item/clothing/mask/gas/voice" , "/obj/item/device/chameleon")
uses -= 4
if("/obj/item/weapon/storage/emp_kit" , "/obj/item/weapon/pen/paralysis" , "/obj/item/weapon/cartridge/syndicate" , "/obj/item/clothing/under/chameleon" , \
"/obj/item/weapon/card/id/syndicate" , "/obj/item/weapon/card/emag" , "/obj/item/weapon/storage/syndie_kit/space" , "/obj/item/device/encryptionkey/binary" , \
- "/obj/item/weapon/storage/syndie_kit/imp_freedom")
+ "/obj/item/weapon/storage/syndie_kit/imp_freedom" , "/obj/item/clothing/glasses/thermal")
uses -= 3
if("/obj/item/ammo_magazine/a357" , "/obj/item/clothing/shoes/syndigaloshes" , "/obj/item/weapon/plastique")
uses -= 2
diff --git a/code/WorkInProgress/SkyMarshal/wardrobes.dm b/code/WorkInProgress/SkyMarshal/wardrobes.dm
index b05f747e76..56b7f4d36f 100755
--- a/code/WorkInProgress/SkyMarshal/wardrobes.dm
+++ b/code/WorkInProgress/SkyMarshal/wardrobes.dm
@@ -249,7 +249,7 @@
new /obj/item/device/flashlight/pen(src)
new /obj/item/clothing/gloves/latex(src)
new /obj/item/clothing/suit/bio_suit/cmo(src)
- new /obj/item/clothing/head/bio_hood/general(src)
+ new /obj/item/clothing/head/bio_hood/cmo(src)
new /obj/item/clothing/suit/storage/labcoat/cmo(src)
new /obj/item/clothing/suit/storage/labcoat/cmoalt(src)
new /obj/item/clothing/shoes/brown(src)
@@ -539,7 +539,7 @@
new /obj/item/device/pda/quartermaster(src)
new /obj/item/device/radio/headset/headset_cargo(src)
new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/under/rank/cargo(src)
+ new /obj/item/clothing/under/rank/cargotech(src)
/obj/item/wardrobe/mining
name = "\improper Shaft Miner Wardrobe"
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index e67d702ed5..6153568bcb 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -45,7 +45,6 @@ Stealth and Camouflage Items;
/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes;
/obj/item/weapon/card/id/syndicate:3:Agent ID card;
/obj/item/clothing/mask/gas/voice:4:Voice Changer;
-/obj/item/clothing/glasses/thermal:4:Thermal Imaging Glasses;
/obj/item/device/chameleon:4:Chameleon-Projector;
/obj/item/weapon/stamperaser:1:Stamp Remover and Forger;
Whitespace:Seperator;
@@ -56,11 +55,12 @@ Devices and Tools;
/obj/item/device/encryptionkey/traitor:3:Traitor Radio Key;
/obj/item/device/encryptionkey/binary:3:Binary Translator Key;
/obj/item/weapon/storage/syndie_kit/space:3:Space Suit;
+/obj/item/clothing/glasses/thermal:3:Thermal Imaging Glasses;
/obj/item/weapon/aiModule/syndicate:7:Hacked AI Upload Module;
/obj/item/weapon/plastique:2:C-4 (Destroys walls);
/obj/item/weapon/syndie/c4explosive:4:Low Power Explosive Charge, with Detonator;
/obj/item/device/powersink:5:Powersink (DANGER!);
-/obj/machinery/singularity_beacon/syndicate:7:Singularity Beacon (DANGER!);
+/obj/item/device/radio/beacon/syndicate:7:Singularity Beacon (DANGER!);
/obj/item/weapon/circuitboard/teleporter:10:Teleporter Circuit Board;
Whitespace:Seperator;
Implants;
diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm
index 41490b1de7..1436addff0 100644
--- a/code/game/jobs/job/civilian.dm
+++ b/code/game/jobs/job/civilian.dm
@@ -122,7 +122,7 @@
equip(var/mob/living/carbon/human/H)
if(!H) return 0
H.equip_if_possible(new /obj/item/device/radio/headset/headset_cargo(H), H.slot_ears)
- H.equip_if_possible(new /obj/item/clothing/under/rank/cargo(H), H.slot_w_uniform)
+ H.equip_if_possible(new /obj/item/clothing/under/rank/cargotech(H), H.slot_w_uniform)
H.equip_if_possible(new /obj/item/clothing/shoes/black(H), H.slot_shoes)
H.equip_if_possible(new /obj/item/device/pda/quartermaster(H), H.slot_belt)
return 1
diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm
index afb73392ad..d93ff2a498 100644
--- a/code/game/machinery/airlock_control.dm
+++ b/code/game/machinery/airlock_control.dm
@@ -175,7 +175,10 @@ obj/machinery/access_button
icon_state = "access_button_off"
attack_hand(mob/user)
- if(radio_connection)
+ if(!allowed(user))
+ user << "\red Access Denied"
+
+ else if(radio_connection)
var/datum/signal/signal = new
signal.transmission_method = 1 //radio signal
signal.data["tag"] = master_tag
diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm
index 7c9e313560..3b7e784473 100644
--- a/code/game/machinery/door_control.dm
+++ b/code/game/machinery/door_control.dm
@@ -63,6 +63,7 @@
return
if(!allowed(user) && (wires & 1))
+ user << "\red Access Denied"
flick("doorctrl-denied",src)
return
@@ -81,8 +82,8 @@
if(specialfunctions & IDSCAN)
D.aiDisabledIdScanner = 1
if(specialfunctions & BOLTS)
- spawn(5)
- D.locked = 1
+ D.locked = 1
+ D.update_icon()
if(specialfunctions & SHOCK)
D.secondsElectrified = -1
@@ -95,8 +96,8 @@
if(specialfunctions & IDSCAN)
D.aiDisabledIdScanner = 0
if(specialfunctions & BOLTS)
- spawn(5)
- D.locked = 0
+ D.locked = 0
+ D.update_icon()
if(specialfunctions & SHOCK)
D.secondsElectrified = 0
diff --git a/code/game/objects/closets/secure/cargo.dm b/code/game/objects/closets/secure/cargo.dm
index 6ae193e14d..85e59b83a4 100644
--- a/code/game/objects/closets/secure/cargo.dm
+++ b/code/game/objects/closets/secure/cargo.dm
@@ -13,7 +13,7 @@
New()
..()
sleep(2)
- new /obj/item/clothing/under/rank/cargo(src)
+ new /obj/item/clothing/under/rank/cargotech(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/device/radio/headset/headset_cargo(src)
new /obj/item/clothing/gloves/black(src)
diff --git a/code/game/objects/closets/secure/medical.dm b/code/game/objects/closets/secure/medical.dm
index 1f4bacbad3..da7e6aec54 100644
--- a/code/game/objects/closets/secure/medical.dm
+++ b/code/game/objects/closets/secure/medical.dm
@@ -72,6 +72,20 @@
new /obj/item/device/pda/medical(src)
new /obj/item/weapon/storage/firstaid/regular(src)
new /obj/item/device/flashlight/pen(src)
+ switch(pick(list("blue", "green", "purple")))
+ if ("blue")
+ new /obj/item/clothing/under/rank/medical/blue(src)
+ if ("green")
+ new /obj/item/clothing/under/rank/medical/green(src)
+ if ("purple")
+ new /obj/item/clothing/under/rank/medical/purple(src)
+ switch(pick(list("blue", "green", "purple")))
+ if ("blue")
+ new /obj/item/clothing/under/rank/medical/blue(src)
+ if ("green")
+ new /obj/item/clothing/under/rank/medical/green(src)
+ if ("purple")
+ new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/weapon/cartridge/medical(src)
new /obj/item/device/radio/headset/headset_med(src)
return
diff --git a/code/game/objects/radio/beacon.dm b/code/game/objects/radio/beacon.dm
index 0aae0f9e69..2d29968457 100644
--- a/code/game/objects/radio/beacon.dm
+++ b/code/game/objects/radio/beacon.dm
@@ -6,7 +6,6 @@
var/code = "electronic"
origin_tech = "bluespace=1"
-
/obj/item/device/radio/beacon/hear_talk()
return
@@ -32,3 +31,19 @@
proc/digest_delay()
spawn(600)
del(src)
+
+
+// SINGULO BEACON SPAWNER
+
+/obj/item/device/radio/beacon/syndicate
+ name = "suspicious beacon"
+ desc = "A label on it reads: Activate to have a singularity beacon teleported to your location."
+ origin_tech = "bluespace=1;syndicate=7"
+
+/obj/item/device/radio/beacon/syndicate/attack_self(mob/user as mob)
+ if(user)
+ user << "\blue Locked In"
+ new /obj/machinery/singularity_beacon/syndicate( user.loc )
+ playsound(src, 'pop.ogg', 100, 1, 1)
+ del(src)
+ return
\ No newline at end of file
diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm
index a266e6474c..f5fb5c3858 100644
--- a/code/game/objects/storage/storage.dm
+++ b/code/game/objects/storage/storage.dm
@@ -316,7 +316,7 @@
/obj/item/weapon/storage/box/syndicate/New()
..()
- switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "freedom" = 1)))
+ switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "freedom" = 1, "hacker" = 1, "lordsingulo" = 1)))
if ("bloodyspai")
new /obj/item/clothing/under/chameleon(src)
new /obj/item/clothing/mask/gas/voice(src)
@@ -352,6 +352,19 @@
U.imp = new /obj/item/weapon/implant/uplink(U)
return
+ if ("hacker")
+ new /obj/item/weapon/aiModule/syndicate(src)
+ new /obj/item/weapon/card/emag(src)
+ new /obj/item/device/encryptionkey/binary(src)
+ return
+
+ if ("lordsingulo")
+ new /obj/item/device/radio/beacon/syndicate(src)
+ new /obj/item/clothing/suit/space/syndicate(src)
+ new /obj/item/clothing/head/helmet/space/syndicate(src)
+ new /obj/item/weapon/card/emag(src)
+ return
+
/obj/item/weapon/storage/dice/New()
new /obj/item/weapon/dice( src )
new /obj/item/weapon/dice/d20( src )
diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm
index 4625e91f42..59f7393eb7 100644
--- a/code/modules/chemical/Chemistry-Tools.dm
+++ b/code/modules/chemical/Chemistry-Tools.dm
@@ -2034,7 +2034,7 @@
icon_state = "beakerlarge"
item_state = "beaker"
m_amt = 0
- g_amt = 15000
+ g_amt = 5000
volume = 100
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,25,30,50,100)
diff --git a/code/modules/clothing/jumpsuit.dm b/code/modules/clothing/jumpsuit.dm
index 67e8cd57b5..afefffb0a4 100644
--- a/code/modules/clothing/jumpsuit.dm
+++ b/code/modules/clothing/jumpsuit.dm
@@ -273,7 +273,7 @@
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
/obj/item/clothing/under/rank/medical
- desc = "It's made of a special fiber that provides minor protection against biohazards. it has a cross on the chest denoting that the wearer is trained medical personnel."
+ desc = "It's made of a special fiber that provides minor protection against biohazards. It has a cross on the chest denoting that the wearer is trained medical personnel."
name = "medical doctor's jumpsuit"
icon_state = "medical"
item_state = "w_suit"
@@ -281,12 +281,32 @@
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+//SKRUBS
+
+/obj/item/clothing/under/rank/medical/blue
+ name = "medical scrubs"
+ desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue."
+ icon_state = "scrubsblue"
+ color = "scrubsblue"
+
+/obj/item/clothing/under/rank/medical/green
+ name = "medical scrubs"
+ desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green."
+ icon_state = "scrubsgreen"
+ color = "scrubsgreen"
+
+/obj/item/clothing/under/rank/medical/purple
+ name = "medical scrubs"
+ desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple."
+ icon_state = "scrubspurple"
+ color = "scrubspurple"
+
/obj/item/clothing/under/rank/chief_medical_officer
desc = "It's a jumpsuit worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection."
name = "chief medical officer's jumpsuit"
- icon_state = "medical"
+ icon_state = "cmo"
item_state = "w_suit"
- color = "medical"
+ color = "cmo"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 10, rad = 0)
@@ -301,17 +321,17 @@
/obj/item/clothing/under/rank/cargo
name = "quartermaster's jumpsuit"
- desc = "It's a jumpsuit worn by the quartermaster. It's specially designed to prevent back injuries caused by heavy lifting."
- icon_state = "lightbrown"
+ desc = "It's a jumpsuit worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper."
+ icon_state = "qm"
item_state = "lb_suit"
- color = "cargo"
+ color = "qm"
/obj/item/clothing/under/rank/cargotech
- name = "cargotech's jumpsuit"
- desc = "'Shooooorts! They're comfy and easy to wear!'"
+ name = "cargo technician's jumpsuit"
+ desc = "Shooooorts! They're comfy and easy to wear!"
icon_state = "cargotech"
- item_state = "cargotech"
- color = "cargotech"
+ item_state = "lb_suit"
+ color = "cargo"
/obj/item/clothing/under/rank/mailman
name = "mailman's jumpsuit"
@@ -532,6 +552,7 @@
armor = list(melee = 100, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100)
// Cheerleader outfits or something
+
/obj/item/clothing/under/cheerleader
name = "cheerleader uniform"
desc = "Looks breezy."
@@ -552,6 +573,7 @@
/obj/item/clothing/under/cheerleader/white
icon_state = "white_cheer"
color = "white_cheer"
+
//End of cheerleaders
/obj/item/clothing/under/captainmal
diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm
index 415e32c698..a4f85275d4 100644
--- a/code/modules/clothing/suits/bio.dm
+++ b/code/modules/clothing/suits/bio.dm
@@ -62,6 +62,9 @@
/obj/item/clothing/suit/bio_suit/cmo
icon_state = "bio_cmo"
+/obj/item/clothing/head/bio_hood/cmo
+ icon_state = "bio_cmo"
+
/obj/item/clothing/suit/bio_suit/plaguedoctorsuit
name = "Plague doctor suit"
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index da426bc235..efb51ab806 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi
index 6171a6b21a..82413797bc 100644
Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ
diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi
index 9b015fb0a5..8eb5ac5b6f 100644
Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ
diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi
index 8c59e64fd7..74ada6cdc5 100644
Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ
diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi
index bf10742c77..6bc0d81e93 100644
Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ
diff --git a/interface/interface.dm b/interface/interface.dm
index 3cf23dfabe..a7b8919923 100644
--- a/interface/interface.dm
+++ b/interface/interface.dm
@@ -3,7 +3,11 @@
set desc = "Visit the wiki."
set hidden = 1
if( config.wikiurl )
+ if(alert("This will open the wiki in your browser. Are you sure?",,"Yes","No")=="No")
+ return
src << link(config.wikiurl)
+ else
+ src << "\red The wiki URL is not set in the server configuration."
return
/client/verb/forum()
@@ -11,5 +15,9 @@
set desc = "Visit the forum."
set hidden = 1
if( config.forumurl )
+ if(alert("This will open the forum in your browser. Are you sure?",,"Yes","No")=="No")
+ return
src << link(config.forumurl)
+ else
+ src << "\red The forum URL is not set in the server configuration."
return
\ No newline at end of file
diff --git a/interface/skin.dmf b/interface/skin.dmf
index 1fc01b3ed1..3defcc522f 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -1342,7 +1342,7 @@ window "rpane"
lock = none
elem "forumb"
type = BUTTON
- pos = 260,0
+ pos = 304,0
size = 60x16
anchor1 = none
anchor2 = none
@@ -1370,7 +1370,7 @@ window "rpane"
button-type = pushbutton
elem "wikib"
type = BUTTON
- pos = 195,0
+ pos = 240,0
size = 60x16
anchor1 = none
anchor2 = none