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:
+ + + + + + + "} 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("", background, src, R, R.fields["name"], R.fields["id"]) + dat += text("", R.fields["rank"]) + dat += text("", R.fields["fingerprint"]) + dat += text("", crimstat) + dat += text("
Name (ID#)RankFingerprintsCriminal Status
[] (ID:[])[][][]


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