diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm
index 014e3a80667..7e60232d335 100644
--- a/code/defines/obj/storage.dm
+++ b/code/defines/obj/storage.dm
@@ -175,7 +175,7 @@
/obj/item/weapon/storage/gl_kit
name = "Prescription Glasses"
- desc = "This box contains nerd glasses."
+ desc = "This box contains vision correcting glasses."
icon_state = "glasses"
item_state = "syringe_kit"
@@ -213,7 +213,7 @@
/obj/item/weapon/storage/trackimp_kit
name = "Tracking Implant Kit"
- desc = "Box full of scum-bag tracking utensils."
+ desc = "Box full of tracking utensils."
icon_state = "implant"
item_state = "syringe_kit"
diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm
index 46357c867cf..83c3695da98 100644
--- a/code/defines/obj/weapon.dm
+++ b/code/defines/obj/weapon.dm
@@ -443,8 +443,8 @@
data = "Clown Land"
/obj/item/weapon/card/emag
- desc = "It's a card with a magnetic strip attached to some circuitry."
- name = "cryptographic sequencer"
+ desc = "An identification card. No shit. Seems to have some funny chip on it, though."
+ name = "identification card"
icon_state = "emag"
item_state = "card-id"
origin_tech = "magnets=2;syndicate=2"
@@ -525,7 +525,7 @@
throw_range = 10
origin_tech = "combat=3;materials=3;engineering=3"
-/obj/item/weapon/pepperspray
+/obj/item/weapon/pepperspray //This is riot control
desc = "Manufactred by UhangInc., used to blind and down an opponent quickly."
icon = 'weapons.dmi'
name = "pepperspray"
@@ -537,6 +537,23 @@
throw_speed = 2
throw_range = 10
var/catch = 1
+ var/BottleSize = 1
+ var/ReagentAmount = 30
+
+/obj/item/weapon/pepperspray/small //And this is for personal defense.
+ desc = "This appears to be a small, nonlethal, single use personal defense weapon. Hurts like a bitch, though."
+ icon = 'weapons.dmi'
+ name = "mace"
+ icon_state = "pepperspray"
+ item_state = "pepperspray"
+ flags = ONBELT|TABLEPASS|OPENCONTAINER|FPRINT|USEDELAY
+ throwforce = 3
+ w_class = 1.0
+ throw_speed = 2
+ throw_range = 10
+ catch = 1
+ BottleSize = 0
+ ReagentAmount = 1
/obj/item/weapon/clipboard
name = "clipboard"
diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm
index c45e01fbadf..fc2feda15b7 100644
--- a/code/game/jobs/job/security.dm
+++ b/code/game/jobs/job/security.dm
@@ -73,16 +73,18 @@
H.equip_if_possible(new /obj/item/clothing/shoes/brown(H), H.slot_shoes)
H.equip_if_possible(new /obj/item/device/pda/detective(H), H.slot_belt)
H.equip_if_possible(new /obj/item/clothing/head/det_hat(H), H.slot_head)
- var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(H)
+/* var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(H)
CIG.light("")
- H.equip_if_possible(CIG, H.slot_wear_mask)
+ H.equip_if_possible(CIG, H.slot_wear_mask) */
+ //Fuck that thing. --SkyMarshal
H.equip_if_possible(new /obj/item/clothing/gloves/black(H), H.slot_gloves)
H.equip_if_possible(new /obj/item/weapon/storage/fcard_kit(H.back), H.slot_in_backpack)
H.equip_if_possible(new /obj/item/weapon/fcardholder(H), H.slot_in_backpack)
H.equip_if_possible(new /obj/item/clothing/suit/det_suit(H), H.slot_wear_suit)
H.equip_if_possible(new /obj/item/device/detective_scanner(H), H.slot_in_backpack)
H.equip_if_possible(new /obj/item/weapon/zippo(H), H.slot_l_store)
- H.equip_if_possible(new /obj/item/weapon/reagent_containers/food/snacks/candy_corn(H), H.slot_h_store)
+// H.equip_if_possible(new /obj/item/weapon/reagent_containers/food/snacks/candy_corn(H), H.slot_h_store)
+// No... just no. --SkyMarshal
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
L.imp_in = H
L.implanted = 1
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index 7014680b9de..3d7902590d0 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -18,10 +18,36 @@
if(1.0)
dat += text("Search Records
\nList Records
\nSearch Fingerprints
\nNew General Record
\n
\nRecord Maintenance
\n{Log Out}
\n", src, src, src, src, src, src)
if(2.0)
- dat += "Record List:
"
+ dat += {"Record List:
+
+
+ | Name (ID#) |
+ Rank |
+ Fingerprints |
+ Criminal Status |
+
"}
for(var/datum/data/record/R in data_core.general)
- dat += text("[]: []
", src, R, R.fields["id"], R.fields["name"])
- dat += text("
Back", src)
+ var/crimstat = ""
+ for(var/datum/data/record/E in data_core.security)
+ if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"]))
+ crimstat = E.fields["criminal"]
+ var/background
+ switch(crimstat)
+ if("*Arrest*")
+ background = "'background-color:#DC143C;'"
+ if("Incarcerated")
+ background = "'background-color:#CD853F;'"
+ if("Parolled")
+ background = "'background-color:#CD853F;'"
+ if("Released")
+ background = "'background-color:#3BB9FF;'"
+ if("None")
+ background = "'background-color:#00FF7F;'"
+ dat += text("| [] (ID:[]) | ", background, src, R, R.fields["name"], R.fields["id"])
+ dat += text("[] | ", R.fields["rank"])
+ dat += text("[] | ", R.fields["fingerprint"])
+ dat += text("[] |
", crimstat)
+ dat += text("
Back", src)
if(3.0)
dat += text("Records Maintenance
\nDelete All Records
\n
\nBack", src, src)
if(4.0)
diff --git a/code/game/objects/closets/secure/security.dm b/code/game/objects/closets/secure/security.dm
index d6e5518fecc..fc5d24bdeff 100644
--- a/code/game/objects/closets/secure/security.dm
+++ b/code/game/objects/closets/secure/security.dm
@@ -134,6 +134,7 @@
new /obj/item/weapon/fcardholder(src)
new /obj/item/weapon/clipboard(src)
new /obj/item/device/detective_scanner(src)
+ new /obj/item/weapon/pepperspray/small(src)
return
diff --git a/code/game/objects/items/weapons/mops_cleaners.dm b/code/game/objects/items/weapons/mops_cleaners.dm
index 6fea7af4b12..ad0989bdcbc 100644
--- a/code/game/objects/items/weapons/mops_cleaners.dm
+++ b/code/game/objects/items/weapons/mops_cleaners.dm
@@ -15,13 +15,13 @@ MOP
/obj/item/weapon/cleaner/attack_self(var/mob/user as mob)
if(catch)
- user << "\blue You flip the safety on."
- catch = 1
- return
- else
user << "\blue You flip the safety off."
catch = 0
return
+ else
+ user << "\blue You flip the safety on."
+ catch = 1
+ return
/obj/item/weapon/cleaner/afterattack(atom/A as mob|obj, mob/user as mob)
if (istype(A, /obj/item/weapon/storage ))
@@ -178,26 +178,26 @@ MOP
return
-//Crowd control pepper spray, for Hawkie
+//Pepper spray, set up to make the 2 different types
/obj/item/weapon/pepperspray/New()
- var/datum/reagents/R = new/datum/reagents(30)
+ var/datum/reagents/R = new/datum/reagents(ReagentAmount)
reagents = R
R.my_atom = src
- R.add_reagent("condensedcapsaicin", 30)
+ R.add_reagent("condensedcapsaicin", ReagentAmount)
/obj/item/weapon/pepperspray/attack(mob/living/carbon/human/M as mob, mob/user as mob)
return
/obj/item/weapon/pepperspray/attack_self(var/mob/user as mob)
if(catch)
- user << "\blue You flip the safety on."
- catch = 1
- return
- else
user << "\blue You flip the safety off."
catch = 0
return
+ else
+ user << "\blue You flip the safety on."
+ catch = 1
+ return
/obj/item/weapon/pepperspray/afterattack(atom/A as mob|obj, mob/user as mob)
if (istype(A, /obj/item/weapon/storage ))
@@ -205,8 +205,8 @@ MOP
if (istype(A, /obj/effect/proc_holder/spell ))
return
else if (istype(A, /obj/structure/reagent_dispensers/peppertank) && get_dist(src,A) <= 1)
- if(src.reagents.total_volume < 30)
- A.reagents.trans_to(src, 30 - src.reagents.total_volume)
+ if(src.reagents.total_volume < ReagentAmount)
+ A.reagents.trans_to(src, ReagentAmount - src.reagents.total_volume)
user << "\blue Pepper spray refilled"
playsound(src.loc, 'refill.ogg', 50, 1, -6)
return
@@ -221,14 +221,23 @@ MOP
return
playsound(src.loc, 'spray2.ogg', 50, 1, -6)
- var/Sprays[3]
- for(var/i=1, i<=3, i++) // intialize sprays
+ var/SprayNum = 0 //Setting up the differentiation for the 2 bottles. --SkyMarshal
+ var/SprayAmt = 0
+ if(BottleSize)
+ SprayNum = 3
+ SprayAmt = 5
+ else
+ SprayNum = 1
+ SprayAmt = 1
+
+ var/Sprays[SprayNum]
+ for(var/i=1, i<=SprayNum, i++) // intialize sprays
if(src.reagents.total_volume < 1) break
var/obj/effect/decal/D = new/obj/effect/decal(get_turf(src))
D.name = "chemicals"
D.icon = 'chempuff.dmi'
- D.create_reagents(5)
- src.reagents.trans_to(D, 5)
+ D.create_reagents(SprayAmt)
+ src.reagents.trans_to(D, SprayAmt)
var/rgbcolor[3]
var/finalcolor
@@ -263,11 +272,23 @@ MOP
var/obj/effect/decal/D = Sprays[i]
if(!D) continue
+ var/turf/my_target = null
// Spreads the sprays a little bit
- var/turf/my_target = pick(the_targets)
+ if(i == 1)
+ my_target = T
+ else
+ my_target = pick(the_targets)
+
the_targets -= my_target
- for(var/j=1, j<=rand(6,8), j++)
+ var/Dist = 0
+
+ if(BottleSize)
+ Dist = rand(6,8)
+ else
+ Dist = rand(2,3)
+
+ for(var/j=1, j<=Dist, j++)
step_towards(D, my_target)
D.reagents.reaction(get_turf(D))
for(var/atom/t in get_turf(D))
@@ -287,9 +308,14 @@ MOP
/obj/item/weapon/pepperspray/examine()
set src in usr
- usr << text("\icon[] [] units of pepperspray left!", src, src.reagents.total_volume)
- ..()
- return
+ if(BottleSize)
+ usr << text("\icon[] [] units of pepperspray left!", src, src.reagents.total_volume)
+ ..()
+ return
+ else
+ usr << text("\icon[] [] use(s) remaining!", src, src.reagents.total_volume)
+ ..()
+ return
// MOP
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index b676da8ffbd..e1227e6eb45 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -727,6 +727,40 @@
alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null)
return
+ if (href_list["defense"])
+ if ((src.rank in list( "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
+ var/mob/living/M = locate(href_list["defense"])
+ if (isliving(M) && istype(M, /mob/living/carbon/human))
+ var/mob/living/carbon/human/H = M
+ switch(alert("Shall they be equipped with a flash or mace?",,"Flash","Mace", "Cancel"))
+ if("Flash")
+ if(!H.s_store)
+ H.equip_if_possible(new /obj/item/device/flash(H), H.slot_l_store)
+ else if(!H.s_store)
+ H.equip_if_possible(new /obj/item/device/flash(H), H.slot_s_store)
+ else
+ alert("The target lacked an open pocket.", null, null, null, null, null)
+ return
+ if("Mace")
+ if(!H.s_store)
+ H.equip_if_possible(new /obj/item/weapon/pepperspray/small(H), H.slot_l_store)
+ else if(!H.s_store)
+ H.equip_if_possible(new /obj/item/weapon/pepperspray/small(H), H.slot_s_store)
+ else
+ alert("The target lacked an open pocket.", null, null, null, null, null)
+ return
+ if("Cancel")
+ return
+ message_admins("\red Admin [key_name_admin(usr)] gave [key_name_admin(M)] something to defend themselves!", 1)
+ log_admin("[key_name(usr)] defensified [key_name(M)]")
+ return
+ else
+ alert("This action can only be performed on living humans.", null, null, null, null, null)
+ return
+ else
+ alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null)
+ return
+
if (href_list["makeai"]) //Yes, im fucking lazy, so what? it works ... hopefully
if (src.level>=3)
var/mob/M = locate(href_list["makeai"])
@@ -1774,6 +1808,7 @@
foo += text("Prison | ")
// foo += text("Maze | ")
foo += text("Heal/Revive | ")
+ foo += text("Defensize | ")
else
foo += text("Hasn't Entered Game | ")
foo += text("Forcesay | ")
diff --git a/code/modules/chemical/Chemistry-Reagents.dm b/code/modules/chemical/Chemistry-Reagents.dm
index bece66e2588..b24a338f661 100644
--- a/code/modules/chemical/Chemistry-Reagents.dm
+++ b/code/modules/chemical/Chemistry-Reagents.dm
@@ -1714,7 +1714,7 @@ datum
M:emote("scream")
M << "\red You're sprayed directly in the eyes with pepperspray!"
M.eye_blurry = max(M.eye_blurry, 60)
- M.eye_blind = max(M.eye_blind, 16)
+ M.eye_blind = max(M.eye_blind, 12)
M:weakened = max(M:weakened, 20)
M.drop_item()
diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm
index 2eebb272aca..8f9d55fdab3 100644
--- a/code/modules/chemical/Chemistry-Tools.dm
+++ b/code/modules/chemical/Chemistry-Tools.dm
@@ -2740,7 +2740,7 @@
icon_state = "peppertank"
anchored = 1
density = 0
- amount_per_transfer_from_this = 45
+ amount_per_transfer_from_this = 30
New()
..()
reagents.add_reagent("condensedcapsaicin",1000)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 3a9274450bd..930a836a2a1 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -528,7 +528,7 @@
if (emptyHand)
ears.DblClick()
return
- if (!( istype(W, /obj/item/clothing/ears) ) && !( istype(W, /obj/item/device/radio/headset) ))
+ if ((!istype(W, /obj/item) || W.w_class > 1 || w_uniform) && !(istype(W, /obj/item/device/radio/headset)))
return
u_equip(W)
ears = W
diff --git a/config/admins - Copy.txt b/config/admins - Copy.txt
new file mode 100644
index 00000000000..d4494bcbb47
--- /dev/null
+++ b/config/admins - Copy.txt
@@ -0,0 +1,16 @@
+abi79 - Game Master
+arcalane - Game Admin
+cacophony - Game Admin
+cajoes - Game Admin
+cib - Game Master
+compactninja - Game Master
+hawk_v3 - Game Admin
+headswe - Game Master
+iaryni - Game Master
+masterofapples - Game Admin
+megacaesar - Game Admin
+miniature - Game Master
+misterfox - Game Admin
+mloc - Game Master
+spaceman96 - Game Admin
+uristqwerty - Game Master
\ No newline at end of file
diff --git a/config/admins.txt b/config/admins.txt
index 2bc78a67b3c..c4833cb9a92 100644
--- a/config/admins.txt
+++ b/config/admins.txt
@@ -5,8 +5,7 @@ cajoes - Game Admin
cib - Game Master
compactninja - Game Master
hawk_v3 - Game Admin
-headswe - Game Master
-iaryni - Game Master
+skymarshal - Game Master
masterofapples - Game Admin
megacaesar - Game Admin
miniature - Game Master
diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi
index b49faa386b7..aa88951b244 100644
Binary files a/icons/obj/card.dmi and b/icons/obj/card.dmi differ