Merge pull request #209 from Fox-McCloud/Odds-and-Ends

Odds and ends
This commit is contained in:
Fox-McCloud
2015-01-23 22:19:57 -05:00
16 changed files with 161 additions and 71 deletions
+12 -7
View File
@@ -35,7 +35,7 @@
component_parts += new /obj/item/weapon/stock_parts/console_screen(src)
component_parts += new /obj/item/stack/cable_coil(src, 1)
RefreshParts()
/obj/machinery/atmospherics/unary/cryo_cell/New()
..()
component_parts = list()
@@ -53,7 +53,7 @@
for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts)
C += M.rating
current_heat_capacity = 50 * C
efficiency = C
efficiency = C
/obj/machinery/atmospherics/unary/cryo_cell/initialize()
if(node) return
@@ -115,6 +115,11 @@
/obj/machinery/atmospherics/unary/cryo_cell/process()
..()
if(occupant)
if(occupant.health >= 100)
on = 0
go_out()
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
if(!node)
return
if(!on)
@@ -153,7 +158,7 @@
return
ui_interact(user)
/**
* The ui_interact proc is used to open and update Nano UIs
@@ -268,15 +273,15 @@
if (istype(G, /obj/item/weapon/screwdriver))
if(occupant || on)
user << "<span class='notice'>The maintenance panel is locked.</span>"
return
return
default_deconstruction_screwdriver(user, "cell-o", "cell-off", G)
return
return
if(exchange_parts(user, G))
return
default_deconstruction_crowbar(G)
if(istype(G, /obj/item/weapon/grab))
if(panel_open)
user << "\blue <b>Close the maintenance panel first.</b>"
+3 -2
View File
@@ -1105,8 +1105,9 @@
/obj/item/clothing/under/sundress=2,/obj/item/clothing/under/stripeddress = 1, /obj/item/clothing/under/sailordress = 1, /obj/item/clothing/under/redeveninggown = 1, /obj/item/clothing/under/blacktango=1,/obj/item/clothing/suit/jacket=3,
/obj/item/clothing/glasses/regular=2,/obj/item/clothing/head/sombrero=1,/obj/item/clothing/suit/poncho=1,
/obj/item/clothing/suit/ianshirt=1,/obj/item/clothing/shoes/laceup=2,/obj/item/clothing/shoes/black=4,
/obj/item/clothing/shoes/sandal=1)
contraband = list(/obj/item/clothing/under/syndicate/tacticool=1,/obj/item/clothing/mask/balaclava=1,/obj/item/clothing/head/ushanka=1,/obj/item/clothing/under/soviet=1)
/obj/item/clothing/shoes/sandal=1,
/obj/item/weapon/storage/belt/fannypack=1, /obj/item/weapon/storage/belt/fannypack/blue=1, /obj/item/weapon/storage/belt/fannypack/red=1)
contraband = list(/obj/item/clothing/under/syndicate/tacticool=1,/obj/item/clothing/mask/balaclava=1,/obj/item/clothing/head/ushanka=1,/obj/item/clothing/under/soviet=1,/obj/item/weapon/storage/belt/fannypack/black=1)
premium = list(/obj/item/clothing/under/suit_jacket/checkered=1,/obj/item/clothing/head/mailman=1,/obj/item/clothing/under/rank/mailman=1,/obj/item/clothing/suit/jacket/leather=1,/obj/item/clothing/under/pants/mustangjeans=1)
refill_canister = /obj/item/weapon/vending_refill/clothing
@@ -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)
@@ -116,7 +117,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
@@ -308,7 +308,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
+11 -10
View File
@@ -10,11 +10,11 @@
var/max_fire_temperature_sustained = 0 //The max temperature of the fire which it was subjected to
var/dirt = 0
var/dirtoverlay = null
/turf/simulated/New()
..()
levelupdate()
/turf/simulated/proc/MakeSlippery(var/wet_setting = 1) // 1 = Water, 2 = Lube
if(wet >= wet_setting)
return
@@ -32,7 +32,7 @@
if(wet > wet_setting) return
wet = 0
if(wet_overlay)
overlays -= wet_overlay
overlays -= wet_overlay
/turf/simulated/proc/AddTracks(var/typepath,var/mob,var/bloodDNA,var/comingdir,var/goingdir)
var/obj/effect/decal/cleanable/blood/tracks/tracks = locate(typepath) in src
@@ -45,14 +45,15 @@
if (istype(A,/mob/living/carbon))
var/mob/living/carbon/M = A
if(M.lying) return
dirt++
if (dirt >= 50)
var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt, src)
if (!dirtoverlay)
if(prob(80))
dirt++
var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt, src)
if(dirt >= 100)
if(!dirtoverlay)
dirtoverlay = new/obj/effect/decal/cleanable/dirt(src)
dirtoverlay.alpha = 15
else if (dirt > 50)
dirtoverlay.alpha = min(dirtoverlay.alpha+5, 255)
dirtoverlay.alpha = 10
else if(dirt > 100)
dirtoverlay.alpha = min(dirtoverlay.alpha+10, 200)
if(istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/H = M
if(istype(H.shoes, /obj/item/clothing/shoes/clown_shoes))
+4 -3
View File
@@ -322,15 +322,16 @@
on_fire = 0
suiciding = 0
buckled = initial(src.buckled)
if(iscarbon(src))
var/mob/living/carbon/C = src
C.handcuffed = initial(C.handcuffed)
// restore all of the human's blood
// restore all of the human's blood and reset their shock stage
if(ishuman(src))
var/mob/living/carbon/human/human_mob = src
human_mob.restore_blood()
human_mob.shock_stage = 0
restore_all_organs()
if(stat == 2)
@@ -757,6 +758,6 @@
else if(!on && floating)
animate(src, pixel_y = initial(pixel_y), time = 10)
floating = 0
/mob/living/proc/can_use_vents()
return "You can't fit into that vent."
+6 -1
View File
@@ -516,7 +516,12 @@
else if(M_TK in user.mutations)
user << "You telekinetically remove the light [fitting]."
else
user << "You try to remove the light [fitting], but it's too hot and you don't want to burn your hand."
user << "You try to remove the light [fitting], but you burn your hand on it!"
var/datum/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_hand")
if(affecting.take_damage( 0, 5 )) // 5 burn damage
H.UpdateDamageIcon()
H.updatehealth()
return // if burned, don't remove the light
else
user << "You remove the light [fitting]."