diff --git a/code/defines/mob/living/silicon/robot.dm b/code/defines/mob/living/silicon/robot.dm index ebcf1457b69..f059433a17a 100644 --- a/code/defines/mob/living/silicon/robot.dm +++ b/code/defines/mob/living/silicon/robot.dm @@ -45,10 +45,12 @@ var/datum/effect/effect/system/ion_trail_follow/ion_trail = null var/datum/effect/effect/system/spark_spread/spark_system//So they can initialize sparks whenever/N var/jeton = 0 - var/borgwires = 15 + var/borgwires = 31 var/killswitch = 0 var/killswitch_time = 60 var/weapon_lock = 0 var/weaponlock_time = 120 var/lawupdate = 1 //Cyborgs will sync their laws with their AI by default var/lockcharge //Used when locking down a borg to preserve cell charge + var/channels = list() + var/modlock = 0 diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 6d593d5dc22..5131f6d2a5c 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -103,7 +103,7 @@ var/mob/living/carbon/monkey/target = null /obj/effect/sign/securearea - desc = "A warning sign which reads 'SECURE AREA'. This obviously applies to a nun-Clown." + desc = "A warning sign which reads 'SECURE AREA'" name = "SECURE AREA" icon = 'decals.dmi' icon_state = "securearea" @@ -150,8 +150,8 @@ pixel_y = -1 /obj/effect/sign/fire - desc = "A warning sign which reads 'HOT! HOT! AAAH! I'M BURNING!'" - name = "HOT! HOT! AAAH! I'M BURNING!" + desc = "A warning sign which reads 'EXTREME TEMPERATURES'" + name = "EXTREME TEMPERATURES" icon = 'decals.dmi' icon_state = "fire" anchored = 1.0 @@ -212,7 +212,7 @@ del(src)*/ /obj/effect/sign/maltesefalcon1 //The sign is 64x32, so it needs two tiles. ;3 - desc = "The Maltese Falcon, Space Bar and Grill. Now with added monkey." + desc = "The Maltese Falcon, Space Bar and Grill." name = "The Maltese Falcon" icon = 'decals.dmi' icon_state = "maltesefalcon1" @@ -221,7 +221,7 @@ density = 0 /obj/effect/sign/maltesefalcon2 - desc = "The Maltese Falcon, Space Bar and Grill. Now with added monkey." + desc = "The Maltese Falcon, Space Bar and Grill." name = "The Maltese Falcon" icon = 'decals.dmi' icon_state = "maltesefalcon2" @@ -289,7 +289,7 @@ /obj/item/device/multitool name = "multitool" - desc = "Used for pulsing wires to test which to cut. Not recommended by doctors." + desc = "Used for pulsing wires to test which to cut." icon_state = "multitool" flags = FPRINT | TABLEPASS| CONDUCT force = 5.0 @@ -297,7 +297,6 @@ throwforce = 5.0 throw_range = 15 throw_speed = 3 - desc = "You can use this on airlocks or APCs to try to hack them without cutting wires." m_amt = 50 g_amt = 20 origin_tech = "magnets=1;engineering=1" @@ -445,7 +444,7 @@ anchored =1 var/netnum = 0 name = "power cable" - desc = "A flexible superconducting cable for heavy-duty power transfer. Comes in clown colors now." + desc = "A flexible superconducting cable for heavy-duty power transfer." icon = 'power_cond_red.dmi' icon_state = "0-1" var/d1 = 0 @@ -473,7 +472,7 @@ /obj/structure/morgue name = "morgue" - desc = "Used to keep bodies in untill someone fetches them." + desc = "Used to keep bodies in until someone fetches them." icon = 'stationobjs.dmi' icon_state = "morgue1" density = 1 @@ -482,7 +481,7 @@ /obj/structure/crematorium name = "crematorium" - desc = "A human incinerator. Works well on barbeque nights." + desc = "An incinerator." icon = 'stationobjs.dmi' icon_state = "crema1" density = 1 @@ -494,7 +493,7 @@ /obj/effect/mine name = "Mine" - desc = "I Better stay away from that thing." + desc = "I'd better stay away from that thing." density = 1 anchored = 1 layer = 3 @@ -544,7 +543,7 @@ /obj/effect/portal name = "portal" - desc = "Looks unstable. Best to test it with the clown." + desc = "Looks unstable." icon = 'stationobjs.dmi' icon_state = "portal" density = 1 @@ -610,7 +609,7 @@ /obj/structure/stool/chair/e_chair name = "electrified chair" - desc = "Looks absolutely SHOCKING!" + desc = "Looks absolutely terrifying!" icon_state = "e_chair0" var/atom/movable/overlay/overl = null var/on = 0.0 @@ -811,7 +810,7 @@ //BEGIN BRAINS===================================================== /obj/item/brain name = "brain" - desc = "A piece of juicy meat found in a persons head." + desc = "A piece of complex biomass found in a persons head." icon = 'surgery.dmi' icon_state = "brain2" flags = TABLEPASS @@ -902,7 +901,7 @@ name = "desk clutter" icon = 'items.dmi' icon_state = "deskclutter" - desc = "Some clutter the detective has accumalated over the years..." + desc = "Some clutter the desk has accumulated over the years..." anchored = 1 /obj/item/mouse_drag_pointer = MOUSE_ACTIVE_POINTER @@ -979,7 +978,7 @@ /obj/item/stack/rods name = "metal rods" - desc = "Some rods. Can be used for building, or something." + desc = "Some rods. Can be used for building." singular_name = "metal rod" icon_state = "rods" flags = FPRINT | TABLEPASS| CONDUCT @@ -1023,7 +1022,7 @@ /obj/item/stack/sheet/glass name = "glass" - desc = "HOLY HELL! That is a lot of glass." + desc = "That is a lot of glass." singular_name = "glass sheet" icon_state = "sheet-glass" g_amt = 3750 diff --git a/code/defines/obj/closet.dm b/code/defines/obj/closet.dm index 83236ad526f..de716390ede 100644 --- a/code/defines/obj/closet.dm +++ b/code/defines/obj/closet.dm @@ -15,7 +15,7 @@ /obj/structure/closet/acloset name = "Strange closet" - desc = "It looks alien!" + desc = "It looks weird!" icon_state = "acloset" icon_closed = "acloset" icon_opened = "aclosetopen" @@ -75,7 +75,7 @@ /obj/structure/closet/fireaxecabinet name = "Fire Axe Cabinet" - desc = "There is small label that reads \"For Emergency use only\" along with details for safe use of the axe. As if." + desc = "There is small label that reads \"For Emergency use only\" along with details for safe use of the axe." var/obj/item/weapon/fireaxe/fireaxe = new/obj/item/weapon/fireaxe icon_state = "fireaxe1000" icon_closed = "fireaxe1000" diff --git a/code/defines/obj/computer.dm b/code/defines/obj/computer.dm index ae0494b855d..082c8381839 100644 --- a/code/defines/obj/computer.dm +++ b/code/defines/obj/computer.dm @@ -152,7 +152,7 @@ /obj/machinery/computer/pod name = "Pod Launch Control" - desc = "A controll for launching pods. Some people prefer firing Mechas." + desc = "A control for launching pods." icon_state = "computer_generic" var/id = 1.0 var/obj/machinery/mass_driver/connected = null diff --git a/code/defines/obj/decal.dm b/code/defines/obj/decal.dm index 73760141614..eea0a6f926d 100644 --- a/code/defines/obj/decal.dm +++ b/code/defines/obj/decal.dm @@ -28,7 +28,7 @@ /obj/effect/decal/point name = "point" - desc = "It is an arrow hanging in mid-air. There may be a wizard about." + desc = "It is an arrow hanging in mid-air." icon = 'screen1.dmi' icon_state = "arrow" layer = 16.0 @@ -41,7 +41,7 @@ /obj/effect/decal/cleanable/blood name = "Blood" - desc = "It's red. Its Gooye. It is the chefs cooking perhaps." + desc = "It's red and disgusting." density = 0 anchored = 1 layer = 2 @@ -94,7 +94,7 @@ /obj/effect/decal/cleanable/xenoblood name = "xeno blood" - desc = "It's green. Must be more of the chefs cooking." + desc = "It's green. What the hell?" density = 0 anchored = 1 layer = 2 @@ -242,7 +242,7 @@ //Vomit (sorry) /obj/effect/decal/cleanable/vomit name = "Vomit" - desc = "Gosh, how unpleasant." + desc = "Geez, unpleasant." density = 0 anchored = 1 layer = 2 diff --git a/code/defines/obj/door.dm b/code/defines/obj/door.dm index 71d2ebd57b2..4b8d10feafb 100644 --- a/code/defines/obj/door.dm +++ b/code/defines/obj/door.dm @@ -33,7 +33,7 @@ /obj/machinery/door/poddoor name = "Podlock" - desc = "Why it no open!!!" + desc = "A type of powerful blast door." icon = 'rapid_pdoor.dmi' icon_state = "pdoor1" var/id = 1.0 diff --git a/code/defines/obj/machinery.dm b/code/defines/obj/machinery.dm index c4619699d03..15dbf0a4ab4 100644 --- a/code/defines/obj/machinery.dm +++ b/code/defines/obj/machinery.dm @@ -44,7 +44,7 @@ /obj/machinery/camera name = "Security Camera" - desc = "This is used to monitor rooms. Can see through walls." + desc = "This is used to monitor rooms." icon = 'monitors.dmi' icon_state = "camera" var/network = "SS13" @@ -61,7 +61,7 @@ active_power_usage = 10 /obj/machinery/dispenser - desc = "A simple yet bulky one-way storage device for gas tanks. Holds 10 plasma and 10 oxygen tanks." + desc = "A simple yet bulky one-way storage device for gas tanks. Holds plasma and oxygen tanks." name = "Tank Storage Unit" icon = 'objects.dmi' icon_state = "dispenser" @@ -101,7 +101,7 @@ /obj/machinery/firealarm name = "Fire Alarm" - desc = "Pull this in case of emergency. Thus keep pulling this forever." + desc = "Pull this in case of emergency." icon = 'monitors.dmi' icon_state = "fire0" var/detecting = 1.0 @@ -133,7 +133,7 @@ /obj/machinery/igniter name = "igniter" - desc = "Fun for igniting plasma." + desc = "Might as well make that detonator, right?" icon = 'stationobjs.dmi' icon_state = "igniter1" var/id = null @@ -198,7 +198,7 @@ /obj/machinery/scan_console name = "DNA Scanner Access Console" - desc = "Scand DNA." + desc = "Scan DNA." icon = 'computer.dmi' icon_state = "scanner" density = 1 @@ -220,7 +220,7 @@ /obj/machinery/scan_consolenew name = "DNA Modifier Access Console" - desc = "Scand DNA." + desc = "Scan DNA." icon = 'computer.dmi' icon_state = "scanner" density = 1 @@ -258,7 +258,6 @@ /obj/machinery/door_control name = "Remote Door Control" - desc = "This controls doors." icon = 'stationobjs.dmi' icon_state = "doorctrl0" desc = "A remote control switch for a door." @@ -270,7 +269,6 @@ /obj/machinery/driver_button name = "Mass Driver Button" - desc = "FIRE AWAY!" icon = 'objects.dmi' icon_state = "launcherbtt" desc = "A remote control switch for a Mass Driver." @@ -283,7 +281,6 @@ /obj/machinery/ignition_switch name = "Ignition Switch" - desc = "Activates that igniter." icon = 'objects.dmi' icon_state = "launcherbtt" desc = "A remote control switch for a mounted igniter." @@ -312,7 +309,7 @@ /obj/machinery/teleport/station name = "station" - desc = "The station thingy of a teleport thingy." + desc = "The station's hub of a teleport system." icon_state = "controller" var/active = 0 var/engaged = 0 @@ -378,7 +375,7 @@ /obj/machinery/power/monitor name = "Power Monitoring Computer" - desc = "Used to monitor the power. Pretty useless." + desc = "Used to monitor the power." icon = 'computer.dmi' icon_state = "power" density = 1 diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm index 014e3a80667..afb9e856a60 100644 --- a/code/defines/obj/storage.dm +++ b/code/defines/obj/storage.dm @@ -14,7 +14,7 @@ /obj/item/weapon/storage/trashbag name = "trash bag" - desc = "for picking up all those pens" + desc = "For picking up all that trash..." icon_state = "trashbag" item_state = "trashbag" w_class = 4.0 @@ -31,7 +31,7 @@ */ /obj/item/weapon/storage/pill_bottle name = "pill bottle" - desc = "This is told to hold untold horrors of pulls." + desc = "A reasonable place to put your pills.." icon_state = "pill_canister" icon = 'chemical.dmi' item_state = "contsolid" @@ -69,7 +69,7 @@ item_state = "syringe_kit" /obj/item/weapon/storage/backpack/clown - name = "Giggles Von Honkerton" + name = "clown's backpack" desc = "The backpack made by Honk. Co." icon_state = "clownpack" @@ -100,7 +100,7 @@ /obj/item/weapon/storage/briefcase name = "briefcase" - desc = "Used by the lawyer to robust security in the court room." + desc = "Used by the lawyer in the court room." icon_state = "briefcase" flags = FPRINT | TABLEPASS| CONDUCT force = 8.0 @@ -136,7 +136,7 @@ /obj/item/weapon/storage/firstaid/fire name = "Fire First Aid" - desc = "A kit for when you 'accidently' set toxins on fire and burn yourself." + desc = "A kit for when you accidently burn yourself." icon_state = "ointment" item_state = "firstaid-ointment" @@ -151,13 +151,13 @@ /obj/item/weapon/storage/firstaid/toxin name = "Toxin First Aid" - desc = "Used to treat when you have a high amoutn of toxins in your body." + desc = "Used to treat when you have a high amount of toxins in your body." icon_state = "antitoxin" item_state = "firstaid-toxin" /obj/item/weapon/storage/firstaid/o2 name = "Oxygen Deprivation First Aid" - desc = "A box full of oxygen goodies." + desc = "A box full of oxygenating goodies." icon_state = "o2" item_state = "firstaid-o2" @@ -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" @@ -189,7 +189,7 @@ /obj/item/weapon/storage/id_kit name = "Spare IDs" - desc = "Has so many empty IDs." + desc = "Has so many blank IDs." icon_state = "id" item_state = "syringe_kit" @@ -201,19 +201,19 @@ /obj/item/weapon/storage/injectbox name = "DNA-Injectors" - desc = "This box contains injectors it seems." + desc = "This box contains injectors, it seems." icon_state = "box" item_state = "syringe_kit" /obj/item/weapon/storage/stma_kit name = "Sterile Masks" - desc = "This box contains masks of sterility." + desc = "This box contains masks of +2 constitution." //I made it better. --SkyMarshal icon_state = "latex" item_state = "syringe_kit" /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" @@ -225,7 +225,7 @@ /obj/item/weapon/storage/toolbox name = "toolbox" - desc = "Danger. Very robust." + desc = "Danger. Very heavy." icon = 'storage.dmi' icon_state = "red" item_state = "toolbox_red" @@ -259,6 +259,18 @@ origin_tech = "combat=1;syndicate=1" force = 7.0 +/obj/item/weapon/storage/book + name = "book" + icon = 'library.dmi' + icon_state ="book" + throw_speed = 1 + throw_range = 5 + w_class = 2.0 + max_w_class = 2 + max_combined_w_class = 3 + storage_slots = 3 + flags = FPRINT | TABLEPASS + /obj/item/weapon/storage/bible name = "bible" desc = "Apply to head repeatedly." diff --git a/code/defines/obj/toy.dm b/code/defines/obj/toy.dm index 8be79927c6c..ee4e47ab1c8 100644 --- a/code/defines/obj/toy.dm +++ b/code/defines/obj/toy.dm @@ -241,7 +241,7 @@ /obj/item/toy/crayonbox name = "box of crayons" - desc = "A box of crayons for all your rune drawing needs." + desc = "A box of crayons for all your drawing needs." icon = 'crayons.dmi' icon_state = "crayonbox" w_class = 2.0 diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index d0c014248b4..5eded119f93 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -13,7 +13,7 @@ /obj/item/weapon/shield/riot name = "riot shield" - desc = "A shield adept at blocking blunt objects from connecting with the torso of the shield wielder." + desc = "A shield adept at blocking blunt objects." icon = 'weapons.dmi' icon_state = "riot" flags = FPRINT | TABLEPASS| CONDUCT| ONBACK @@ -29,7 +29,7 @@ IsShield() return 1 -/obj/item/weapon/sord +/*/obj/item/weapon/sord name = "SORD" desc = "This thing is so unspeakably shitty you are having a hard time even holding it." icon_state = "sord" @@ -37,11 +37,11 @@ flags = FPRINT | ONBELT | TABLEPASS force = 2 throwforce = 1 - w_class = 3 + w_class = 3 */ /obj/item/weapon/claymore name = "claymore" - desc = "what are you standing around staring at this for? get to killing!" + desc = "BLOOD FOR THE BLOOD GOD." //SKULLS FOR THE SKULL THRONE. --SkyMarshal icon_state = "claymore" item_state = "claymore" flags = FPRINT | ONBELT | TABLEPASS @@ -54,7 +54,7 @@ /obj/item/weapon/bodybag name = "body bag" - desc = "Bag mixed with a bit of body." + desc = "A bag used to deal with a corpse." icon = 'closet.dmi' icon_state = "bodybag" flags = FPRINT | TABLEPASS| CONDUCT @@ -170,7 +170,7 @@ /obj/item/weapon/melee/baton name = "Stun Baton" - desc = "A stun baton for hitting people with." + desc = "The police baton of the future." icon_state = "stunbaton" item_state = "baton" flags = FPRINT | ONBELT | TABLEPASS @@ -182,7 +182,7 @@ var/status = 0 origin_tech = "combat=2" -/obj/item/weapon/melee/chainofcommand +/*/obj/item/weapon/melee/chainofcommand name = "Chain of Command" desc = "The Captain is first and all other heads are last." icon_state = "chainofcommand" @@ -194,7 +194,7 @@ var/charges = 50.0 var/maximum_charges = 50.0 var/status = 1 - origin_tech = "combat=4" + origin_tech = "combat=4" */ /obj/item/weapon/melee/energy var/active = 0 @@ -214,7 +214,7 @@ /obj/item/weapon/melee/energy/sword var/color name = "energy sword" - desc = "May the force be within you." + desc = "It cuts AND cooks at the same time!." icon_state = "sword0" force = 3.0 throwforce = 5.0 @@ -272,7 +272,7 @@ icon_state = "soapnt" /obj/item/weapon/soap/deluxe - desc = "A deluxe Waffle Co. brand bar of soap. Smells of comdoms." + desc = "A deluxe Waffle Co. brand bar of soap." //What is this I don't even. "Smells of comdoms." --SkyMarshal icon_state = "soapdeluxe" /obj/item/weapon/soap/syndie @@ -443,15 +443,15 @@ 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. Seems to have some funny chip on it, though." + name = "modified identification card" icon_state = "emag" item_state = "card-id" origin_tech = "magnets=2;syndicate=2" /obj/item/weapon/card/id name = "identification card" - desc = "An identification card. No shit." + desc = "An identification card." icon_state = "id" item_state = "card-id" var/access = list() @@ -510,6 +510,7 @@ w_class = 2.0 throw_speed = 2 throw_range = 10 + var/catch = 1 /obj/item/weapon/chemsprayer desc = "A utility used to spray large amounts of reagent in a given area." @@ -524,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" @@ -535,6 +536,24 @@ w_class = 2.0 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" @@ -600,7 +619,7 @@ /obj/item/weapon/fireaxe // DEM AXES MAN, marker -Agouri icon_state = "fireaxe0" name = "Fire axe" - desc = "Truly, the tool of a madman. Who would possibly think to fight fire with an axe?" + desc = "A tool for breaking down those obstructions that stop you from fighting that fire." //Less ROBUST. --SkyMarshal force = 5 w_class = 4.0 flags = ONBACK @@ -610,7 +629,7 @@ /obj/item/weapon/cane name = "cane" - desc = "A cane used by a true gentlemen. Or a clown." + desc = "A cane used by a true gentlemen." icon = 'weapons.dmi' icon_state = "cane" flags = FPRINT | TABLEPASS| CONDUCT @@ -643,7 +662,7 @@ /obj/item/weapon/extinguisher name = "fire extinguisher" - desc = "Contains water....dangit..." + desc = "Contains water..." icon = 'items.dmi' icon_state = "fire_extinguisher0" var/last_use = 1.0 @@ -774,7 +793,7 @@ /obj/item/weapon/mop - desc = "The world of janitalia wouldn't be complete without a mop." + desc = "The world of the janitor wouldn't be complete without a mop." name = "mop" icon = 'janitor.dmi' icon_state = "mop" @@ -907,7 +926,7 @@ throw_range = 15 /obj/item/weapon/pen/sleepypen - desc = "It's a normal black ink pen with a sharp point and a carefully engraved \"Waffle Co.\"" + desc = "It's a normal black ink pen with a sharp point." flags = FPRINT | ONBELT | TABLEPASS | OPENCONTAINER origin_tech = "materials=2;biotech=1;syndicate=7" @@ -1237,7 +1256,7 @@ /obj/item/weapon/kitchen/rollingpin name = "rolling pin" - desc = "Used to knock out the Bartender." + desc = "Used to flatten dough." icon_state = "rolling_pin" force = 8.0 throwforce = 10.0 @@ -1263,7 +1282,7 @@ name = "Butcher's Cleaver" icon = 'kitchen.dmi' icon_state = "butch" - desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." + desc = "A huge thing used for chopping and chopping up meat." flags = FPRINT | TABLEPASS | CONDUCT force = 15.0 w_class = 2.0 @@ -1491,6 +1510,13 @@ icon_state = "mousetraparmed" armed = 1 +/obj/item/weapon/dice/d4 // -- SkyMarshal + name = "d4" + desc = "A dice with four sides." + sides = 4 + icon_state = "d20" + item_state = "dice" + /obj/item/weapon/dice // -- TLE name = "d6" desc = "A dice with six sides." @@ -1498,6 +1524,20 @@ icon_state = "dice" item_state = "dice" +/obj/item/weapon/dice/d8 // -- SkyMarshal + name = "d8" + desc = "A dice with eight sides." + sides = 8 + icon_state = "d20" + item_state = "dice" + +/obj/item/weapon/dice/d12 // -- SkyMarshal + name = "d12" + desc = "A dice with twelve sides." + sides = 12 + icon_state = "d20" + item_state = "dice" + /obj/item/weapon/dice/d20 // -- TLE name = "d20" desc = "A dice with...hell that is many sides." diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm index 0bc3c4f6a12..88ebb8f34cf 100644 --- a/code/game/gamemodes/events.dm +++ b/code/game/gamemodes/events.dm @@ -13,7 +13,7 @@ /proc/event() event = 1 - var/eventNumbersToPickFrom = list(1,2,4,5,6,7,8,9,10,11,12,13) //so ninjas don't cause "empty" events. + var/eventNumbersToPickFrom = list(1,2,4,5,6,7,9,11,12,13) //so ninjas don't cause "empty" events. if((world.time/10)>=3600 && toggle_space_ninja && !sent_ninja_to_station)//If an hour has passed, relatively speaking. Also, if ninjas are allowed to spawn and if there is not already a ninja for the round. eventNumbersToPickFrom += 3 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/magic/library.dm b/code/game/magic/library.dm index ca6e10cfd9c..de2a72f3625 100644 --- a/code/game/magic/library.dm +++ b/code/game/magic/library.dm @@ -281,6 +281,28 @@ return scanner.computer.inventory.Add(src) user << "[W]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'" + else if(istype(W, /obj/item/weapon/wirecutters) || istype(W, /obj/item/weapon/scalpel)) + if(unique) + user << "These pages seem to be made of a very robust paper. Looks like you can't carve it." + return + if(istype(src.loc, /mob) && usr.l_hand != src && usr.r_hand != src) + user << "\red You either need hold the book or put it down on something first." + return + + var/obj/item/weapon/storage/book/B = new(loc) + B.icon_state = icon_state + B.name = name + B.desc = desc + + user.remove_from_mob(src) + if(user.get_inactive_hand() == null) + user.put_in_inactive_hand(B) + else + B.loc = user.loc + + user << "You carve out the inside of the book. Sneaky!" + + del(src) else ..() 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 c6e2c98eabd..ad0989bdcbc 100644 --- a/code/game/objects/items/weapons/mops_cleaners.dm +++ b/code/game/objects/items/weapons/mops_cleaners.dm @@ -13,11 +13,24 @@ MOP /obj/item/weapon/cleaner/attack(mob/living/carbon/human/M as mob, mob/user as mob) return +/obj/item/weapon/cleaner/attack_self(var/mob/user as mob) + if(catch) + 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 )) return if (istype(A, /obj/effect/proc_holder/spell )) return + else if (catch == 1) + user << "\blue The safety is on!" + return else if (src.reagents.total_volume < 1) user << "\blue [src] is empty!" return @@ -165,38 +178,66 @@ MOP return +//Pepper spray, set up to make the 2 different types + /obj/item/weapon/pepperspray/New() - var/datum/reagents/R = new/datum/reagents(45) + var/datum/reagents/R = new/datum/reagents(ReagentAmount) reagents = R R.my_atom = src - R.add_reagent("condensedcapsaicin", 45) + 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 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 )) return if (istype(A, /obj/effect/proc_holder/spell )) return else if (istype(A, /obj/structure/reagent_dispensers/peppertank) && get_dist(src,A) <= 1) - A.reagents.trans_to(src, 45) - user << "\blue Pepper spray refilled" - playsound(src.loc, 'refill.ogg', 50, 1, -6) + 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 + else + user << "\blue Pepper spray is already full!" + return + else if (catch == 1) + user << "\blue The safety is on!" return else if (src.reagents.total_volume < 1) user << "\blue [src] is empty!" 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(15) - src.reagents.trans_to(D, 15) + D.create_reagents(SprayAmt) + src.reagents.trans_to(D, SprayAmt) var/rgbcolor[3] var/finalcolor @@ -231,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)) @@ -255,9 +308,14 @@ MOP /obj/item/weapon/pepperspray/examine() set src in usr - usr << text("\icon[] [] units of cleaner 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/chemical/Chemistry-Reagents.dm b/code/modules/chemical/Chemistry-Reagents.dm index a37bee8cce1..b24a338f661 100644 --- a/code/modules/chemical/Chemistry-Reagents.dm +++ b/code/modules/chemical/Chemistry-Reagents.dm @@ -1705,19 +1705,17 @@ datum M << "\red Your mask protects you from the pepperspray!" return - if(M:head) - M << "\red Your helmet protects you from the pepperspray!" - return if(M:glasses) M << "\red Your glasses protect you from most of the pepperspray!" M:emote("scream") - M.eye_blurry = max(M.eye_blurry, 1) + M.eye_blurry = max(M.eye_blurry, 20) + M.eye_blind = max(M.eye_blind, 4) return M:emote("scream") M << "\red You're sprayed directly in the eyes with pepperspray!" - M.eye_blurry = max(M.eye_blurry, 5) - M.eye_blind = max(M.eye_blind, 2) - M:paralysis = max(M:paralysis, 1) + M.eye_blurry = max(M.eye_blurry, 60) + M.eye_blind = max(M.eye_blind, 12) + M:weakened = max(M:weakened, 20) M.drop_item() frostoil 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/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 1247c8e74b4..a4d2943737b 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -81,7 +81,7 @@ //if(icon_state == initial(icon_state)) var/icontype = "" var/list/icons = list("Blue", "HAL9000", "Monochrome", "Rainbow", "HAL9000 Mark2", "Inverted", "Firewall", "Green", "Text", "Smiley", "Angry", "Dorf", "Matrix") - if (src.name == "B.A.N.N.E.D." && src.ckey == "Spaceman96") + if (src.name == "B.A.N.N.E.D." && src.ckey == "spaceman96") icons += "B.A.N.N.E.D." icontype = input("Please, select a display!", "AI", null/*, null*/) in icons if(icontype == "Blue") diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 59fc7a2dbb0..6911ec8364f 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -60,10 +60,10 @@ ..() /mob/living/silicon/robot/proc/pick_module() - if(module) + if(module || modlock) return var/mod = input("Please, select a module!", "Robot", null, null) in list("Standard", "Engineering", "Medical", "Miner", "Janitor","Service", "Security") - if(module) + if(module || modlock) return switch(mod) if("Standard") @@ -71,7 +71,7 @@ hands.icon_state = "standard" icon_state = "robot" modtype = "Stand" - radio.borg(src, list()) + channels = list() if("Service") module = new /obj/item/weapon/robot_module/butler(src) @@ -88,14 +88,14 @@ else icon_state = "Service2" modtype = "Butler" - radio.borg(src, list()) + channels = list() if("Miner") module = new /obj/item/weapon/robot_module/miner(src) hands.icon_state = "miner" icon_state = "Miner" modtype = "Miner" - radio.borg(src, list("Mining" = 1)) + channels = list("Mining" = 1) if("Medical") var/sprite = input(src,"Chassis Style", "Chassis Style", "Cancel") in list("Humanoid","Non-Humanoid") @@ -106,7 +106,7 @@ if (sprite == "Non-Humanoid") src.icon_state = "surgeon" modtype = "Med" - radio.borg(src, list("Medical" = 1)) + channels = list("Medical" = 1) if("Security") var/sprite = input(src,"Chassis Style", "Chassis Style", "Cancel") in list("Humanoid","Non-Humanoid") @@ -117,7 +117,7 @@ if (sprite == "Non-Humanoid") src.icon_state = "bloodhound" modtype = "Sec" - radio.borg(src, list("Security" = 1)) + channels = list("Security" = 1) if("Engineering") var/sprite = input(src,"Chassis Style", "Chassis Style", "Cancel") in list("Humanoid","Non-Humanoid") @@ -128,7 +128,7 @@ if (sprite == "Non-Humanoid") src.icon_state = "landmate" modtype = "Eng" - radio.borg(src, list("Engineering" = 1)) + channels = list("Engineering" = 1) if("Janitor") var/sprite = input(src,"Chassis Style", "Chassis Style", "Cancel") in list("Humanoid","Non-Humanoid") @@ -139,9 +139,10 @@ if (sprite == "Non-Humanoid") src.icon_state = "mopgearrex" modtype = "Jan" - radio.borg(src, list()) + channels = list() overlays -= "eyes" //Takes off the eyes that it started with + radio.borg(src, channels) updateicon() /mob/living/silicon/robot/verb/cmd_robot_alerts() @@ -869,8 +870,10 @@ Frequency: [format_frequency(radio.frequency)] + +
-------- -"} +"} + for (var/ch_name in channels) + dat+=src.radio.text_sec_channel(ch_name, channels[ch_name]) + dat+={""} src << browse(dat, "window=radio") onclose(src, "radio") return @@ -947,6 +950,16 @@ Frequency: s_active.close(src) return +/mob/living/silicon/robot/proc/reset_module() + modtype = "robot" + hands.icon_state = "standard" + icon_state = "robot" + updateicon() + channels = list() + radio.borg(src, channels) + uneq_all() + del(module) + /mob/living/silicon/robot/proc/self_destruct() gib(1) diff --git a/code/modules/mob/living/silicon/robot/wires.dm b/code/modules/mob/living/silicon/robot/wires.dm index acf3c0dfcbb..8281d055116 100644 --- a/code/modules/mob/living/silicon/robot/wires.dm +++ b/code/modules/mob/living/silicon/robot/wires.dm @@ -2,18 +2,19 @@ #define BORG_WIRE_MAIN_POWER1 2 #define BORG_WIRE_MAIN_POWER2 3 #define BORG_WIRE_AI_CONTROL 4 +#define BORG_WIRE_MODULE 5 /proc/RandomBorgWires() //to make this not randomize the wires, just set index to 1 and increment it in the flag for loop (after doing everything else). - var/list/Borgwires = list(0, 0, 0, 0) - BorgIndexToFlag = list(0, 0, 0, 0) - BorgIndexToWireColor = list(0, 0, 0, 0) - BorgWireColorToIndex = list(0, 0, 0, 0) + var/list/Borgwires = list(0, 0, 0, 0, 0) + BorgIndexToFlag = list(0, 0, 0, 0, 0) + BorgIndexToWireColor = list(0, 0, 0, 0, 0) + BorgWireColorToIndex = list(0, 0, 0, 0, 0) var/flagIndex = 1 - for (var/flag=1, flag<16, flag+=flag) + for (var/flag=1, flag<32, flag+=flag) var/valid = 0 while (!valid) - var/colorIndex = rand(1, 4) + var/colorIndex = rand(1, 5) if (Borgwires[colorIndex]==0) valid = 1 Borgwires[colorIndex] = flag @@ -40,9 +41,17 @@ if (src.lawupdate == 1) src << "LawSync protocol engaged." src.show_laws() - if (BORG_WIRE_AI_CONTROL) //Cut the AI wire to reset AI control + if(BORG_WIRE_AI_CONTROL) //Cut the AI wire to reset AI control if (src.connected_ai) src.connected_ai = null + if(BORG_WIRE_MODULE) + if (src.module) + src.reset_module() + src.modlock = 1 + src << "\blue Your module has been reset, \red But you are locked into the standard module!" + else + src.modlock = 1 + src << "\red You are locked into the standard module!" src.interact(usr) /mob/living/silicon/robot/proc/mend(var/wireColor) @@ -53,6 +62,9 @@ if(BORG_WIRE_LAWCHECK) //turns law updates back on assuming the borg hasn't been emagged if (src.lawupdate == 0 && !src.emagged) src.lawupdate = 1 + if(BORG_WIRE_MODULE) + src.modlock = 0 + src << "\blue You are no longer locked into the standard module." src.interact(usr) @@ -66,6 +78,10 @@ if (BORG_WIRE_AI_CONTROL) //pule the AI wire to make the borg reselect an AI if(!src.emagged) src.connected_ai = activeais() + if(BORG_WIRE_MODULE) + if (src.module) + src.reset_module() + src << "\blue Your module has been reset." src.interact(usr) /mob/living/silicon/robot/proc/interact(mob/user) @@ -77,6 +93,7 @@ "Dark red" = 2, "White" = 3, "Yellow" = 4, + "Blue" = 5, ) for(var/wiredesc in Borgwires) var/is_uncut = src.borgwires & BorgWireColorToFlag[Borgwires[wiredesc]] @@ -87,7 +104,7 @@ t1 += "Cut " t1 += "Pulse " t1 += "
" - t1 += text("
\n[(src.lawupdate ? "The LawSync light is on." : "The LawSync light is off.")]
\n[(src.connected_ai ? "The AI link light is on." : "The AI link light is off.")]") + t1 += text("
\n[(src.lawupdate ? "The LawSync light is on." : "The LawSync light is off.")]
\n[(src.connected_ai ? "The AI link light is on." : "The AI link light is off.")]
\n[(src.modlock ? "The Module Lock light is on." : "The Module Lock light is off.")]") t1 += text("

Close

\n") user << browse(t1, "window=borgwires") onclose(user, "borgwires") diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index b0793442b5b..4a80978d786 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -8,11 +8,12 @@ special_check(var/mob/living/carbon/human/M) - if(ishuman(M)) +/* if(ishuman(M)) if(istype(M.w_uniform, /obj/item/clothing/under/det) && istype(M.head, /obj/item/clothing/head/det_hat) && istype(M.wear_suit, /obj/item/clothing/suit/det_suit)) return 1 M << "\red You just don't feel cool enough to use this gun looking like that." - return 0 + return 0 */ + return 1 verb/rename_gun() diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi index b49faa386b7..7435036350c 100644 Binary files a/icons/obj/card.dmi and b/icons/obj/card.dmi differ diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm index 6cc9a07920c..726b1420b8d 100644 --- a/maps/tgstation.2.0.8.dmm +++ b/maps/tgstation.2.0.8.dmm @@ -2344,7 +2344,7 @@ "aTd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/crew_quarters/captain) "aTe" = (/obj/item/weapon/pinpointer,/obj/item/weapon/disk/nuclear,/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain) "aTf" = (/obj/item/weapon/camera_test,/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain) -"aTg" = (/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/melee/chainofcommand,/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain) +"aTg" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain) "aTh" = (/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain) "aTi" = (/obj/machinery/requests_console{department = "Captain's Quarters"; departmentType = 5; pixel_y = 30},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain) "aTj" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)