Merge with upstream

This commit is contained in:
DZD
2015-01-24 19:41:24 -05:00
31 changed files with 337 additions and 152 deletions
+2 -8
View File
@@ -8,19 +8,14 @@
var/spamcheck = 0
var/emagged = 0
var/insults = 0//just in case
/obj/item/device/hailer/attack_self(mob/living/carbon/user as mob)
if (spamcheck)
return
if(emagged)
if(insults >= 1)
playsound(get_turf(src), 'sound/voice/binsult.ogg', 100, 1, vary = 0)//hueheuheuheuheuheuhe
user.visible_message("<span class='warning'>[user]'s [name] gurgles, \"FUCK YOUR CUNT YOU SHIT EATING CUNT TILL YOU ARE A MASS EATING SHIT CUNT. EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS TO FUCK UP SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FROM THE DEPTHS OF SHIT\"</span>")
insults--
else
user << "\red *BZZZZcuntZZZZT*"
playsound(get_turf(src), 'sound/voice/binsult.ogg', 100, 1, vary = 0)//hueheuheuheuheuheuhe
user.visible_message("<span class='warning'>[user]'s [name] gurgles, \"FUCK YOUR CUNT YOU SHIT EATING CUNT TILL YOU ARE A MASS EATING SHIT CUNT. EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS TO FUCK UP SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FROM THE DEPTHS OF SHIT\"</span>")
else
playsound(get_turf(src), 'sound/voice/halt.ogg', 100, 1, vary = 0)
user.visible_message("<span class='warning'>[user]'s [name] rasps, \"Halt! Security!\"</span>")
@@ -33,6 +28,5 @@
if(istype(I, /obj/item/weapon/card/emag) && !emagged)
user << "\red You overload \the [src]'s voice synthesizer."
emagged = 1
insults = rand(1, 3)//to prevent dickflooding
return
return
@@ -98,8 +98,10 @@
return uses
/obj/item/weapon/dnainjector/attack(mob/M as mob, mob/user as mob)
if (!istype(M, /mob))
return
if(ishuman(M)) // Would've done this via species instead of type, but the basic mob doesn't have a species, go figure.
var/mob/living/carbon/human/H = M
if(H.species.flags & IS_SYNTHETIC)
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
user << "\red You don't have the dexterity to do this!"
return
@@ -68,7 +68,10 @@
if (M.ear_damage >= 5)
M << "<span class='warning'>Your ears start to ring!</span>"
/obj/item/weapon/grenade/flashbang/clusterbang//Created by Polymorph, fixed by Sieve
////////////////////
//Clusterbang
////////////////////
/obj/item/weapon/grenade/flashbang/clusterbang
desc = "Use of this weapon may constiute a war crime in your area, consult your local captain."
name = "clusterbang"
icon = 'icons/obj/grenade.dmi'
@@ -78,60 +81,60 @@
update_mob()
var/numspawned = rand(4,8)
var/again = 0
for(var/more = numspawned,more > 0,more--)
if(prob(35))
again++
numspawned --
numspawned--
for(,numspawned > 0, numspawned--)
spawn(0)
new /obj/item/weapon/grenade/flashbang/cluster(src.loc)//Launches flashbangs
playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
for(var/loop = numspawned, loop > 0, loop--)
new /obj/item/weapon/grenade/flashbang/cluster(loc)//Launches flashbangs
for(var/loop = again ,loop > 0, loop--)
new /obj/item/weapon/grenade/flashbang/clusterbang/segment(loc)//Creates a 'segment' that launches a few more flashbangs
playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
for(,again > 0, again--)
spawn(0)
new /obj/item/weapon/grenade/flashbang/clusterbang/segment(src.loc)//Creates a 'segment' that launches a few more flashbangs
playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
del(src)
//////////////////////
//Clusterbang segment
//////////////////////
/obj/item/weapon/grenade/flashbang/clusterbang/segment
desc = "A smaller segment of a clusterbang. Better run."
name = "clusterbang segment"
icon = 'icons/obj/grenade.dmi'
icon_state = "clusterbang_segment"
/obj/item/weapon/grenade/flashbang/clusterbang/segment/New()//Segments should never exist except part of the clusterbang, since these immediately 'do their thing' and asplode
/obj/item/weapon/grenade/flashbang/clusterbang/segment/New()
..()
icon_state = "clusterbang_segment_active"
active = 1
var/stepdist = rand(1,4)//How far to step
var/temploc = src.loc//Saves the current location to know where to step away from
walk_away(src,temploc,stepdist)//I must go, my people need me
var/dettime = rand(15,60)
spawn(dettime)
walk_away(src,loc,rand(1,4))
spawn(rand(15,60))
prime()
..()
/obj/item/weapon/grenade/flashbang/clusterbang/segment/prime()
update_mob()
var/numspawned = rand(4,8)
for(var/more = numspawned,more > 0,more--)
if(prob(35))
numspawned --
for(,numspawned > 0, numspawned--)
spawn(0)
new /obj/item/weapon/grenade/flashbang/cluster(src.loc)
playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
for(var/loop = numspawned ,loop > 0, loop--)
new /obj/item/weapon/grenade/flashbang/cluster(loc)
playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
del(src)
/obj/item/weapon/grenade/flashbang/cluster/New()//Same concept as the segments, so that all of the parts don't become reliant on the clusterbang
////////////////////////////////
//Clusterbang spawned flashbang
////////////////////////////////
/obj/item/weapon/grenade/flashbang/cluster/New()
..()
icon_state = "flashbang_active"
active = 1
banglet = 1
var/stepdist = rand(1,3)
var/temploc = src.loc
walk_away(src,temploc,stepdist)
var/dettime = rand(15,60)
spawn(dettime)
prime()
walk_away(src,loc,rand(1,3))
spawn(rand(15,60))
prime()
@@ -217,20 +217,22 @@
icon_override = 'icons/mob/in-hand/duffelbag.dmi'
icon_state = "duffel"
item_state = "duffel"
storage_slots = 10 // Duffelbags can hold more items.
max_combined_w_class = 25
storage_slots = 9 // Duffelbags can hold more items.
slowdown = 1
/obj/item/weapon/storage/backpack/duffel/syndimed
name = "suspicious duffelbag"
desc = "A black and red duffelbag with a red and white cross sewn onto it."
icon_state = "duffel-syndimed"
item_state = "duffel-syndimed"
slowdown = 0
/obj/item/weapon/storage/backpack/duffel/syndiammo
name = "suspicious duffelbag"
desc = "A black and red duffelbag with a patch depicting shotgun shells sewn onto it."
icon_state = "duffel-syndiammo"
item_state = "duffel-syndiammo"
slowdown = 0
/obj/item/weapon/storage/backpack/duffel/captain
name = "captain's duffelbag"
@@ -47,7 +47,8 @@
"/obj/item/stack/cable_coil",
"/obj/item/device/t_scanner",
"/obj/item/device/analyzer",
"/obj/item/taperoll/engineering")
"/obj/item/taperoll/engineering",
"/obj/item/weapon/extinguisher/mini")
/obj/item/weapon/storage/belt/utility/full/New()
@@ -198,6 +199,18 @@
new /obj/item/ammo_casing/shotgun/beanbag(src)
new /obj/item/ammo_casing/shotgun/beanbag(src)
/obj/item/weapon/storage/belt/holster
name = "shoulder holster"
desc = "A holster to conceal a carried handgun. WARNING: Badasses only."
icon_state = "holster"
item_state = "holster"
storage_slots = 1
max_w_class = 3
can_hold = list(
"/obj/item/weapon/gun/projectile/automatic/pistol",
"/obj/item/weapon/gun/projectile/revolver/detective"
)
/obj/item/weapon/storage/belt/wands
name = "wand belt"
desc = "A belt designed to hold various rods of power. A veritable fanny pack of exotic magic."
@@ -220,3 +233,61 @@
for(var/obj/item/weapon/gun/magic/wand/W in contents) //All wands in this pack come in the best possible condition
W.max_charges = initial(W.max_charges)
W.charges = W.max_charges
/obj/item/weapon/storage/belt/fannypack
name = "fannypack"
desc = "A dorky fannypack for keeping small items in."
icon_state = "fannypack_leather"
item_state = "fannypack_leather"
storage_slots = 3
max_w_class = 2
/obj/item/weapon/storage/belt/fannypack/black
name = "black fannypack"
icon_state = "fannypack_black"
item_state = "fannypack_black"
/obj/item/weapon/storage/belt/fannypack/red
name = "red fannypack"
icon_state = "fannypack_red"
item_state = "fannypack_red"
/obj/item/weapon/storage/belt/fannypack/purple
name = "purple fannypack"
icon_state = "fannypack_purple"
item_state = "fannypack_purple"
/obj/item/weapon/storage/belt/fannypack/blue
name = "blue fannypack"
icon_state = "fannypack_blue"
item_state = "fannypack_blue"
/obj/item/weapon/storage/belt/fannypack/orange
name = "orange fannypack"
icon_state = "fannypack_orange"
item_state = "fannypack_orange"
/obj/item/weapon/storage/belt/fannypack/white
name = "white fannypack"
icon_state = "fannypack_white"
item_state = "fannypack_white"
/obj/item/weapon/storage/belt/fannypack/green
name = "green fannypack"
icon_state = "fannypack_green"
item_state = "fannypack_green"
/obj/item/weapon/storage/belt/fannypack/pink
name = "pink fannypack"
icon_state = "fannypack_pink"
item_state = "fannypack_pink"
/obj/item/weapon/storage/belt/fannypack/cyan
name = "cyan fannypack"
icon_state = "fannypack_cyan"
item_state = "fannypack_cyan"
/obj/item/weapon/storage/belt/fannypack/yellow
name = "yellow fannypack"
icon_state = "fannypack_yellow"
item_state = "fannypack_yellow"
@@ -16,10 +16,7 @@
new /obj/item/weapon/storage/backpack/industrial(src)
else
new /obj/item/weapon/storage/backpack/satchel_eng(src)
if (prob(70))
new /obj/item/clothing/tie/storage/brown_vest(src)
else
new /obj/item/clothing/tie/storage/webbing(src)
new /obj/item/weapon/storage/backpack/duffel/engineering(src)
new /obj/item/blueprints(src)
new /obj/item/clothing/under/rank/chief_engineer(src)
new /obj/item/clothing/head/hardhat/white(src)
@@ -109,10 +106,7 @@
new /obj/item/weapon/storage/backpack/industrial(src)
else
new /obj/item/weapon/storage/backpack/satchel_eng(src)
if (prob(70))
new /obj/item/clothing/tie/storage/brown_vest(src)
else
new /obj/item/clothing/tie/storage/webbing(src)
new /obj/item/weapon/storage/backpack/duffel/engineering(src)
new /obj/item/weapon/storage/toolbox/mechanical(src)
new /obj/item/device/radio/headset/headset_eng(src)
new /obj/item/clothing/under/rank/engineer(src)
@@ -145,10 +139,7 @@
new /obj/item/weapon/storage/backpack/industrial(src)
else
new /obj/item/weapon/storage/backpack/satchel_eng(src)
if (prob(70))
new /obj/item/clothing/tie/storage/brown_vest(src)
else
new /obj/item/clothing/tie/storage/webbing(src)
new /obj/item/weapon/storage/backpack/duffel/engineering(src)
new /obj/item/weapon/extinguisher(src)
new /obj/item/clothing/suit/storage/hazardvest(src)
new /obj/item/clothing/mask/gas(src)
@@ -69,6 +69,7 @@
new /obj/item/weapon/storage/backpack/medic(src)
else
new /obj/item/weapon/storage/backpack/satchel_med(src)
new /obj/item/weapon/storage/backpack/duffel/medical(src)
new /obj/item/clothing/under/rank/medical(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/shoes/white(src)
@@ -128,6 +129,7 @@
new /obj/item/weapon/storage/backpack/medic(src)
else
new /obj/item/weapon/storage/backpack/satchel_med(src)
new /obj/item/weapon/storage/backpack/duffel/medical(src)
new /obj/item/clothing/suit/bio_suit/cmo(src)
new /obj/item/clothing/head/bio_hood/cmo(src)
new /obj/item/clothing/shoes/white(src)
@@ -7,6 +7,8 @@
/obj/structure/closet/secure_closet/personal/New()
..()
spawn(2)
if(prob(50))
new /obj/item/weapon/storage/backpack/duffel(src)
if(prob(50))
new /obj/item/weapon/storage/backpack(src)
else
@@ -15,6 +15,7 @@
new /obj/item/weapon/storage/backpack/captain(src)
else
new /obj/item/weapon/storage/backpack/satchel_cap(src)
new /obj/item/weapon/storage/backpack/duffel/captain(src)
new /obj/item/clothing/suit/captunic(src)
new /obj/item/clothing/suit/captunic/capjacket(src)
new /obj/item/clothing/head/caphat/parade(src)
@@ -105,6 +106,7 @@
new /obj/item/clothing/under/rank/head_of_security(src)
new /obj/item/clothing/under/rank/head_of_security/formal(src)
new /obj/item/clothing/suit/armor/hos(src)
new /obj/item/clothing/suit/armor/hos/alt(src)
new /obj/item/clothing/head/HoS(src)
new /obj/item/clothing/head/HoS/beret(src)
new /obj/item/clothing/glasses/sunglasses/sechud(src)
@@ -116,7 +118,6 @@
new /obj/item/weapon/gun/energy/advtaser(src)
new /obj/item/weapon/storage/belt/security(src)
new /obj/item/taperoll/police(src)
new /obj/item/clothing/tie/holster/armpit(src)
return
@@ -190,6 +191,36 @@
new /obj/item/taperoll/police(src)
return
/obj/structure/closet/secure_closet/brigdoc
name = "Brig Physician's Locker"
req_access = list(access_security)
icon_state = "securemed1"
icon_closed = "securemed"
icon_locked = "securemed1"
icon_opened = "securemedopen"
icon_broken = "securemedbroken"
icon_off = "securemedoff"
New()
..()
sleep(2)
if(prob(50))
new /obj/item/weapon/storage/backpack/medic(src)
else
new /obj/item/weapon/storage/backpack/satchel_med(src)
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/storage/firstaid/regular(src)
new /obj/item/weapon/storage/firstaid/fire(src)
new /obj/item/weapon/storage/firstaid/adv(src)
new /obj/item/weapon/storage/firstaid/o2(src)
new /obj/item/weapon/storage/firstaid/toxin(src)
new /obj/item/clothing/suit/storage/brigdoc(src)
new /obj/item/clothing/under/rank/medical(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/device/radio/headset/headset_sec/alt(src)
return
/obj/structure/closet/secure_closet/blueshield
name = "Blueshield's Locker"
req_access = list(access_blueshield)
@@ -308,7 +339,7 @@
new /obj/item/ammo_box/c38(src)
new /obj/item/weapon/gun/projectile/revolver/detective(src)
new /obj/item/taperoll/police(src)
new /obj/item/clothing/tie/holster/armpit(src)
new /obj/item/weapon/storage/belt/holster(src)
return
/obj/structure/closet/secure_closet/detective/update_icon()
@@ -43,6 +43,8 @@
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/weapon/storage/box/teargas(src)
new /obj/item/weapon/storage/box/flashbangs(src)
new /obj/item/weapon/storage/backpack/duffel/syndimed(src)
new /obj/item/weapon/storage/backpack/duffel/syndiammo(src)
new /obj/item/weapon/gun/projectile/automatic/bulldog(src)
new /obj/item/weapon/gun/projectile/automatic/bulldog(src)
new /obj/item/weapon/gun/projectile/automatic/bulldog(src)
@@ -20,6 +20,8 @@
icon_closed = "red"
/obj/structure/closet/wardrobe/red/New()
new /obj/item/weapon/storage/backpack/duffel/security(src)
new /obj/item/weapon/storage/backpack/duffel/security(src)
new /obj/item/clothing/under/rank/security(src)
new /obj/item/clothing/under/rank/security(src)
new /obj/item/clothing/under/rank/security(src)
@@ -377,6 +379,8 @@
new /obj/item/clothing/head/soft/grey(src)
new /obj/item/clothing/head/soft/grey(src)
new /obj/item/clothing/head/soft/grey(src)
if(prob(50))
new /obj/item/weapon/storage/backpack/duffel(src)
return
+1 -1
View File
@@ -12,7 +12,7 @@
if(ishuman(user))
var/mob/living/carbon/human/H = user
var/choice = input(user, "Underwear, Undershirt, or Socks?", "Changing") as null|anything in list("Underwear","Undershirt","Socks")
var/choice = input(user, "Underwear, or Undershirt?", "Changing") as null|anything in list("Underwear","Undershirt")
if(!Adjacent(user))
return