Merge pull request #10055 from Zuhayr/dev-freeze

Fixes.
This commit is contained in:
PsiOmegaDelta
2015-07-09 08:35:06 +02:00
10 changed files with 102 additions and 61 deletions
+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
@@ -37,7 +37,7 @@
if(!C || !host || !(C.mob && istype(C.mob,/mob/dead))) return // We don't want to spam them repeatedly if they're already in a mob.
var/response = alert(C, "Someone is harvesting [display_name]. Would you like to play as one?", "Sentient plant harvest", "Yes", "No", "Never for this round.")
var/response = alert(C, "Someone is harvesting [display_name]. Would you like to play as one?", "Sentient plant harvest", "Yes", "No", "Never for this round")
if(!C || !host || !(C.mob && istype(C.mob,/mob/dead))) return // ...or accidentally accept an invalid argument for transfer.
+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
origin_tech = material.stack_origin_tech
@@ -39,13 +36,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))
@@ -68,10 +84,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"
@@ -129,51 +149,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"
@@ -185,6 +197,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.
@@ -233,6 +235,8 @@ var/list/name_to_material
weight = 24
hardness = 40
stack_origin_tech = "materials=4"
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
/material/gold/bronze //placeholder for ashtrays
name = "bronze"
@@ -245,6 +249,8 @@ var/list/name_to_material
weight = 22
hardness = 50
stack_origin_tech = "materials=3"
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
/material/phoron
name = "phoron"
@@ -256,6 +262,8 @@ var/list/name_to_material
hardness = 30
stack_origin_tech = "phorontech=2;materials=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.
@@ -284,6 +292,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"
@@ -291,6 +301,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
@@ -472,12 +483,16 @@ var/list/name_to_material
stack_type = /obj/item/stack/material/osmium
icon_colour = "#9999FF"
stack_origin_tech = "materials=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 = "materials=5"
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
/material/mhydrogen
name = "mhydrogen"
@@ -491,6 +506,8 @@ var/list/name_to_material
icon_colour = "#9999FF"
weight = 27
stack_origin_tech = "materials=2"
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
/material/iron
name = "iron"
@@ -498,6 +515,8 @@ var/list/name_to_material
icon_colour = "#5C5454"
weight = 22
stack_per_sheet = 3750
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"
@@ -235,7 +235,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()