Merge remote-tracking branch 'upstream/dev-freeze' into dev

Conflicts:
	code/modules/hydroponics/seed_mobs.dm
	code/modules/materials/materials.dm
This commit is contained in:
PsiOmegaDelta
2015-07-09 08:45:49 +02:00
12 changed files with 115 additions and 71 deletions
+1 -1
View File
@@ -1344,7 +1344,7 @@
var/obj/item/fax = locate(href_list["AdminFaxView"])
if (istype(fax, /obj/item/weapon/paper))
var/obj/item/weapon/paper/P = fax
P.show_content(usr)
P.show_content(usr,1)
else if (istype(fax, /obj/item/weapon/photo))
var/obj/item/weapon/photo/H = fax
H.show(usr)
@@ -213,9 +213,9 @@
else if(charge.charges < chems_to_use)
chems_to_use = charge.charges
var/mob/living/target_mob
var/mob/living/carbon/target_mob
if(target)
if(istype(target,/mob/living))
if(istype(target,/mob/living/carbon))
target_mob = target
else
return 0
@@ -439,4 +439,4 @@
else if(device == deniedstamp)
device = iastamp
holder.wearer << "<span class='notice'>Switched to internal affairs stamp.</span>"
return 1
return 1
+1 -1
View File
@@ -160,7 +160,7 @@
//Splatter a turf.
/datum/seed/proc/splatter(var/turf/T,var/obj/item/thrown)
if(splat_type)
if(splat_type && !(locate(/obj/effect/plant) in T))
var/obj/effect/plant/splat = new splat_type(T, src)
if(!istype(splat)) // Plants handle their own stuff.
splat.name = "[thrown.name] [pick("smear","smudge","splatter")]"
+1 -1
View File
@@ -82,7 +82,7 @@
..()
recipes += new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = 1)
recipes += new/datum/stack_recipe("Metal crate", /obj/structure/closet/crate, 10, time = 50, one_per_turf = 1)
recipes += new/datum/stack_recipe("knife grip", /obj/item/weapon/material/butterflyhandle, 4, time = 20, one_per_turf = 0, on_floor = 1)
recipes += new/datum/stack_recipe("knife grip", /obj/item/weapon/material/butterflyhandle, 4, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]")
/material/sandstone/generate_recipes()
..()
+24 -13
View File
@@ -24,9 +24,6 @@
qdel(src)
return 0
// Update from material datum.
name = "[material.display_name] sheets"
desc = "A stack of sheets of [material.display_name]."
recipes = material.get_recipes()
stacktype = material.stack_type
if(islist(material.stack_origin_tech))
@@ -40,13 +37,32 @@
flags |= CONDUCT
matter = material.get_matter()
update_strings()
return 1
/obj/item/stack/material/proc/update_strings()
// Update from material datum.
if(amount>1)
name = "[material.use_name] [material.sheet_plural_name]"
desc = "A stack of [material.use_name] [material.sheet_plural_name]."
gender = PLURAL
else
name = "[material.use_name] [material.sheet_singular_name]"
desc = "A [material.sheet_singular_name] of [material.use_name]."
gender = NEUTER
/obj/item/stack/material/use(var/used)
. = ..()
update_strings()
return
/obj/item/stack/material/transfer_to(obj/item/stack/S, var/tamount=null, var/type_verified)
var/obj/item/stack/material/M = S
if(!istype(M) || material.name != M.material.name)
return 0
..(S,tamount,1)
if(src) update_strings()
if(M) M.update_strings()
/obj/item/stack/material/attack_self(var/mob/user)
if(!material.build_windows(user, src))
@@ -69,10 +85,14 @@
/obj/item/stack/material/sandstone
name = "sandstone brick"
singular_name = "sandstone brick"
icon_state = "sheet-sandstone"
default_type = "sandstone"
/obj/item/stack/material/marble
name = "marble brick"
icon_state = "sheet-marble"
default_type = "marble"
/obj/item/stack/material/diamond
name = "diamond"
icon_state = "sheet-diamond"
@@ -130,51 +150,43 @@
/obj/item/stack/material/steel
name = DEFAULT_WALL_MATERIAL
singular_name = "steel sheet"
icon_state = "sheet-metal"
default_type = DEFAULT_WALL_MATERIAL
/obj/item/stack/material/plasteel
name = "plasteel"
singular_name = "plasteel sheet"
icon_state = "sheet-plasteel"
item_state = "sheet-metal"
default_type = "plasteel"
/obj/item/stack/material/wood
name = "wooden plank"
singular_name = "wood plank"
icon_state = "sheet-wood"
default_type = "wood"
/obj/item/stack/material/cloth
name = "cloth"
singular_name = "cloth roll"
icon_state = "sheet-cloth"
default_type = "cloth"
/obj/item/stack/material/cardboard
name = "cardboard"
singular_name = "cardboard sheet"
icon_state = "sheet-card"
default_type = "cardboard"
/obj/item/stack/material/leather
name = "leather"
desc = "The by-product of mob grinding."
singular_name = "leather piece"
icon_state = "sheet-leather"
default_type = "leather"
/obj/item/stack/material/glass
name = "glass"
singular_name = "glass sheet"
icon_state = "sheet-glass"
default_type = "glass"
/obj/item/stack/material/glass/reinforced
name = "reinforced glass"
singular_name = "reinforced glass sheet"
icon_state = "sheet-rglass"
default_type = "reinforced glass"
@@ -186,6 +198,5 @@
/obj/item/stack/material/glass/phoronrglass
name = "reinforced phoron glass"
singular_name = "reinforced phoron glass sheet"
icon_state = "sheet-phoronrglass"
default_type = "reinforced phoron glass"
+27
View File
@@ -50,6 +50,8 @@ var/list/name_to_material
var/display_name // Prettier name for display.
var/use_name
var/flags = 0 // Various status modifiers.
var/sheet_singular_name = "sheet"
var/sheet_plural_name = "sheets"
// Shards/tables/structures
var/shard_type = SHARD_SHRAPNEL // Path of debris object.
@@ -231,6 +233,8 @@ var/list/name_to_material
weight = 24
hardness = 40
stack_origin_tech = list(TECH_MATERIAL = 4)
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
/material/gold/bronze //placeholder for ashtrays
name = "bronze"
@@ -243,6 +247,8 @@ var/list/name_to_material
weight = 22
hardness = 50
stack_origin_tech = list(TECH_MATERIAL = 3)
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
/material/phoron
name = "phoron"
@@ -254,6 +260,8 @@ var/list/name_to_material
hardness = 30
stack_origin_tech = list(TECH_MATERIAL = 2, TECH_PHORON = 2)
door_icon_base = "stone"
sheet_singular_name = "crystal"
sheet_plural_name = "crystals"
/*
// Commenting this out while fires are so spectacularly lethal, as I can't seem to get this balanced appropriately.
@@ -282,6 +290,8 @@ var/list/name_to_material
weight = 22
hardness = 55
door_icon_base = "stone"
sheet_singular_name = "brick"
sheet_plural_name = "bricks"
/material/stone/marble
name = "marble"
@@ -289,6 +299,7 @@ var/list/name_to_material
weight = 26
hardness = 100
integrity = 201 //hack to stop kitchen benches being flippable, todo: refactor into weight system
stack_type = /obj/item/stack/material/marble
/material/steel
name = DEFAULT_WALL_MATERIAL
@@ -473,12 +484,16 @@ var/list/name_to_material
stack_type = /obj/item/stack/material/osmium
icon_colour = "#9999FF"
stack_origin_tech = list(TECH_MATERIAL = 5)
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
/material/tritium
name = "tritium"
stack_type = /obj/item/stack/material/tritium
icon_colour = "#777777"
stack_origin_tech = list(TECH_MATERIAL = 5)
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
/material/mhydrogen
name = "mhydrogen"
@@ -492,12 +507,16 @@ var/list/name_to_material
icon_colour = "#9999FF"
weight = 27
stack_origin_tech = list(TECH_MATERIAL = 2)
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
/material/iron
name = "iron"
stack_type = /obj/item/stack/material/iron
icon_colour = "#5C5454"
weight = 22
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
// Adminspawn only, do not let anyone get this.
/material/voxalloy
@@ -528,6 +547,8 @@ var/list/name_to_material
dooropen_noise = 'sound/effects/doorcreaky.ogg'
door_icon_base = "wood"
destruction_desc = "splinters"
sheet_singular_name = "plank"
sheet_plural_name = "planks"
/material/wood/holographic
name = "holographic wood"
@@ -566,6 +587,8 @@ var/list/name_to_material
icon_colour = "#402821"
icon_reinf = "reinf_cult"
shard_type = SHARD_STONE_PIECE
sheet_singular_name = "brick"
sheet_plural_name = "bricks"
/material/cult/place_dismantled_girder(var/turf/target)
new /obj/structure/girder/cult(target)
@@ -586,6 +609,8 @@ var/list/name_to_material
dooropen_noise = 'sound/effects/attackblob.ogg'
door_icon_base = "resin"
melting_point = T0C+300
sheet_singular_name = "blob"
sheet_plural_name = "blobs"
/material/resin/can_open_material_door(var/mob/living/user)
var/mob/living/carbon/M = user
@@ -610,6 +635,8 @@ var/list/name_to_material
flags = MATERIAL_PADDING
ignition_point = T0C+232
melting_point = T0C+300
sheet_singular_name = "tile"
sheet_plural_name = "tiles"
/material/cotton
name = "cotton"
@@ -231,7 +231,7 @@
/mob/living/silicon/robot/drone/proc/question(var/client/C)
spawn(0)
if(!C || jobban_isbanned(C,"Cyborg")) return
var/response = alert(C, "Someone is attempting to reboot a maintenance drone. Would you like to play as one?", "Maintenance drone reboot", "Yes", "No", "Never for this round.")
var/response = alert(C, "Someone is attempting to reboot a maintenance drone. Would you like to play as one?", "Maintenance drone reboot", "Yes", "No", "Never for this round")
if(!C || ckey)
return
if(response == "Yes")
@@ -15,6 +15,12 @@
response_harm = "whacks"
harm_intent_damage = 5
var/datum/seed/seed
var/harvest_time
var/min_explode_time = 1200
/mob/living/simple_animal/mushroom/New()
..()
harvest_time = world.time
/mob/living/simple_animal/mushroom/verb/spawn_spores()
@@ -31,6 +37,10 @@
usr << "<span class='danger'>You are sterile!</span>"
return
if(world.time < harvest_time + min_explode_time)
usr << "<span class='danger'>You are not mature enough for that.</span>"
return
spore_explode()
/mob/living/simple_animal/mushroom/death()
@@ -40,15 +50,13 @@
..()
/mob/living/simple_animal/mushroom/proc/spore_explode()
if(!seed)
return
var/list/target_turfs = list()
for(var/turf/new_turf in orange(1,src))
if(prob(60) && !new_turf.density && src.Adjacent(new_turf)) target_turfs |= new_turf
for(var/turf/target_turf in target_turfs)
new /obj/machinery/portable_atmospherics/hydroponics/soil/invisible(target_turf,seed)
if(world.time < harvest_time + min_explode_time)
return
for(var/turf/simulated/target_turf in orange(1,src))
if(prob(60) && !target_turf.density && src.Adjacent(target_turf))
new /obj/machinery/portable_atmospherics/hydroponics/soil/invisible(target_turf,seed)
seed.thrown_at(src,get_turf(src),1)
if(src)
gib()
+5 -2
View File
@@ -120,8 +120,11 @@
observer.started_as_observer = 1
close_spawn_windows()
var/obj/O = locate("landmark*Observer-Start")
src << "\blue Now teleporting."
observer.loc = O.loc
if(istype(O))
src << "<span class='notice'>Now teleporting.</span>"
observer.loc = O.loc
else
src << "<span class='danger'>Could not locate an observer spawn point. Use the Teleport verb to jump to the station map.</span>"
observer.timeofdeath = world.time // Set the time of death so that the respawn timer works correctly.
announce_ghost_joinleave(src)