diff --git a/code/WorkInProgress/Wrongnumber/weldbackpack.dm b/code/WorkInProgress/Wrongnumber/weldbackpack.dm new file mode 100644 index 00000000000..051c2c2741f --- /dev/null +++ b/code/WorkInProgress/Wrongnumber/weldbackpack.dm @@ -0,0 +1,49 @@ +/obj/item/weapon/weldpack + name = "Portable welding tank." + desc = "For welding on the go!" + icon_state = "backpack" + w_class = 4.0 + flags = 259.0 + var/max_fuel = 100 + +/obj/item/weapon/weldpack/New() + var/datum/reagents/R = new/datum/reagents(100) //5 refills + reagents = R + R.my_atom = src + R.add_reagent("fuel", 100) + +/obj/item/weapon/weldpack/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/weldingtool) + if(W.welding & prob(15)) + message_admins("[key_name_admin(user)] triggered a fueltank explosion.") + log_game("[key_name(user)] triggered a fueltank explosion.") + user << "\red That was stupid of you." + explosion(src.loc,-1,0,2) + if(src) + del(src) + return + else + if(W.welding) + user << "\red That was close!" + src.reagents.trans_to(W, W.max_fuel) + user << "\blue Welder refilled!" + playsound(src.loc, 'refill.ogg', 50, 1, -6) + return + user << "\blue The tank scoffs at your insolence. It only provides services to welders." + return + +/obj/item/weapon/weldpack/afterattack(obj/O as obj, mob/user as mob) + if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.reagents.total_volume < max_fuel) + O.reagents.trans_to(src, max_fuel) + user << "\blue Tank refilled!" + playsound(src.loc, 'refill.ogg', 50, 1, -6) + return + else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.reagents.total_volume == max_fuel) + user << "\blue Tank is already full!" + return + +/obj/item/weapon/weldpack/examine() + set src in usr + usr << text("\icon[] [] units of fuel left!", src, src.reagents.total_volume) + ..() + return diff --git a/code/WorkInProgress/detective_work.dm b/code/WorkInProgress/detective_work.dm index 9b2d62cb00e..8a7db0cf947 100644 --- a/code/WorkInProgress/detective_work.dm +++ b/code/WorkInProgress/detective_work.dm @@ -220,6 +220,7 @@ obj/machinery/computer/forensic_scanning var/obj/item/weapon/paper/P = new(loc) P.name = "Scan Data ([scan_name])" P.info = "[scan_data]" + P.overlays += "paper_words" else temp = "Print Failed: No Data" if("erase") diff --git a/code/defines/obj/clothing/jumpsuit.dm b/code/defines/obj/clothing/jumpsuit.dm index 78229b539b8..3ccca7d524d 100644 --- a/code/defines/obj/clothing/jumpsuit.dm +++ b/code/defines/obj/clothing/jumpsuit.dm @@ -375,7 +375,7 @@ item_state = "det" color = "detective" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - var/obj/item/weapon/gun/projectile/detective/gun + var/obj/item/weapon/gun /obj/item/clothing/under/scratch name = "White Suit" diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 3a361fd10c4..411964c2ea0 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -5,7 +5,7 @@ /datum/game_mode/traitor name = "traitor" config_tag = "traitor" - restricted_jobs = list("Cyborg", "AI")//Approved by headmins for a week test, if you see this it would be nice if you didn't spread it everywhere + restricted_jobs = list("Cyborg")//Approved by headmins for a week test, if you see this it would be nice if you didn't spread it everywhere required_players = 0 required_enemies = 1 @@ -13,7 +13,7 @@ var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds) var/traitors_possible = 4 //hard limit on traitors if scaling is turned off - var/const/traitor_scaling_coeff = 5.0 //how much does the amount of players get divided by to determine traitors + var/const/traitor_scaling_coeff = 10.0 //how much does the amount of players get divided by to determine traitors /datum/game_mode/traitor/announce() @@ -31,7 +31,7 @@ var/num_traitors = 1 if(config.traitor_scaling) - num_traitors = max(1, round((num_players())/(traitor_scaling_coeff))) + num_traitors = max(1, round((num_players())/(traitor_scaling_coeff)) + 1) else num_traitors = max(1, min(num_players(), traitors_possible)) @@ -83,18 +83,23 @@ traitor.objectives += block_objective else - switch(rand(1,100)) - if(1 to 50) - var/datum/objective/assassinate/kill_objective = new - kill_objective.owner = traitor - kill_objective.find_target() - traitor.objectives += kill_objective - else - var/datum/objective/steal/steal_objective = new - steal_objective.owner = traitor - steal_objective.find_target() - traitor.objectives += steal_objective - switch(rand(1,100)) + for(var/i = 1, i <= rand(1,3), i++) + switch(rand(1,100)) + if(1 to 40) + var/datum/objective/assassinate/kill_objective = new + kill_objective.owner = traitor + kill_objective.find_target() + traitor.objectives += kill_objective + else + var/datum/objective/steal/steal_objective = new + steal_objective.owner = traitor + steal_objective.find_target() + traitor.objectives += steal_objective + if (!(locate(/datum/objective/escape) in traitor.objectives)) + var/datum/objective/escape/escape_objective = new + escape_objective.owner = traitor + traitor.objectives += escape_objective +/* switch(rand(1,100)) if(1 to 90) if (!(locate(/datum/objective/escape) in traitor.objectives)) var/datum/objective/escape/escape_objective = new @@ -105,7 +110,7 @@ if (!(locate(/datum/objective/hijack) in traitor.objectives)) var/datum/objective/hijack/hijack_objective = new hijack_objective.owner = traitor - traitor.objectives += hijack_objective + traitor.objectives += hijack_objective*/ return diff --git a/code/game/objects/closets/secure/security.dm b/code/game/objects/closets/secure/security.dm index b84faa8d7cf..3a674a217db 100644 --- a/code/game/objects/closets/secure/security.dm +++ b/code/game/objects/closets/secure/security.dm @@ -57,7 +57,6 @@ new /obj/item/clothing/gloves/hos(src) new /obj/item/clothing/head/helmet/HoS/dermal(src) new /obj/item/device/radio/headset/heads/hos(src) - new /obj/item/weapon/shield/riot(src) new /obj/item/weapon/storage/lockbox/loyalty(src) new /obj/item/weapon/storage/flashbang_kit(src) new /obj/item/weapon/storage/belt/security(src) diff --git a/code/game/objects/devices/PDA/uplink.dm b/code/game/objects/devices/PDA/uplink.dm index 170619459cb..31e4943d1bc 100644 --- a/code/game/objects/devices/PDA/uplink.dm +++ b/code/game/objects/devices/PDA/uplink.dm @@ -44,7 +44,8 @@ menu_message += "
" menu_message += "Freedom Implant (with injector) (3)
" menu_message += "Uplink Implant (5 crystals inside) (10)
" - menu_message += "Paralysis Pen (3)
" //Note that this goes to the updated sleepypen now. +// menu_message += "Paralysis Pen (3)
" +//When given the choice, people have been P2W menu_message += "Sleepy Pen (4)
" //Terrible -Pete. menu_message += "
" menu_message += "Detomatix Cartridge (3)
" diff --git a/code/game/objects/devices/taperecorder.dm b/code/game/objects/devices/taperecorder.dm index abb413dea65..3f6572a034a 100644 --- a/code/game/objects/devices/taperecorder.dm +++ b/code/game/objects/devices/taperecorder.dm @@ -207,6 +207,7 @@ t1 += "[src.storedinfo[i]]
" P.info = t1 P.name = "paper- 'Transcript'" + P.overlays += "paper_words" /obj/item/device/taperecorder/attack_self(mob/user) diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index decdd5f4a70..133d876d65e 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -1,5 +1,5 @@ /obj/item/clothing/suit/armor - allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) + allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/policetaperoll) body_parts_covered = UPPER_TORSO|LOWER_TORSO flags = FPRINT | TABLEPASS @@ -62,7 +62,7 @@ item_state = "gearharness" body_parts_covered = UPPER_TORSO|LOWER_TORSO flags = FPRINT | TABLEPASS | ONESIZEFITSALL - allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) + allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/policetaperoll) /obj/item/clothing/suit/armor/reactive name = "Reactive Teleport Armor" @@ -81,7 +81,7 @@ item_state = "armourrigvest" body_parts_covered = UPPER_TORSO|LOWER_TORSO flags = FPRINT | TABLEPASS | ONESIZEFITSALL - allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) + allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/policetaperoll) armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) /obj/item/clothing/suit/armor/reactive/IsShield() diff --git a/code/modules/clothing/suits/detective.dm b/code/modules/clothing/suits/detective.dm index 58ec3fd0008..8ea2d259d66 100644 --- a/code/modules/clothing/suits/detective.dm +++ b/code/modules/clothing/suits/detective.dm @@ -12,7 +12,7 @@ icon_state = "detective" item_state = "det_suit" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS - allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/cigpacket,/obj/item/weapon/zippo,/obj/item/device/detective_scanner,/obj/item/device/taperecorder) + allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/cigpacket,/obj/item/weapon/zippo,/obj/item/device/detective_scanner,/obj/item/device/taperecorder,/obj/item/policetaperoll) armor = list(melee = 50, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) @@ -23,7 +23,7 @@ item_state = "armor" flags = FPRINT | TABLEPASS | ONESIZEFITSALL body_parts_covered = UPPER_TORSO|LOWER_TORSO - allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) + allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/policetaperoll) armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) /obj/item/clothing/under/det/verb/holster() @@ -32,7 +32,7 @@ set src in usr if(!gun) - if(istype(usr.get_active_hand(),/obj/item/weapon/gun/projectile/detective)) + if(istype(usr.get_active_hand(),/obj/item/weapon/gun/projectile/detective) || istype(usr.get_active_hand(),/obj/item/weapon/gun/energy/stunrevolver)) gun = usr.get_active_hand() usr.drop_item() gun.loc = src diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 260889436ee..a760f4dfea4 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -221,7 +221,7 @@ //I see no reason to restrict such way of whispering if ("whisper") - whisper(message_old) + whisper(copytext(message_old, 3)) return if ("binary")