Build igloos and snowmen (#4811)

* adds packed snow brick material

* makes snow walls spawnable for mapping

* adds snowmen

craft them with snow. duh.

* snow spider triggers arachnophobia

also changelog.
This commit is contained in:
BillyBangles
2018-02-15 15:25:51 -05:00
committed by Anewbe
parent 7e2df51283
commit f5dfbff1bd
10 changed files with 112 additions and 3 deletions

View File

@@ -0,0 +1,24 @@
/obj/structure/snowman
name = "snowman"
icon = 'icons/obj/snowman.dmi'
icon_state = "snowman"
desc = "A happy little snowman smiles back at you!"
anchored = 1
/obj/structure/snowman/attack_hand(mob/user as mob)
if(user.a_intent == I_HURT)
user << "<span class='notice'>In one hit, [src] easily crumples into a pile of snow. You monster.</span>"
var/turf/simulated/floor/F = get_turf(src)
if (istype(F))
new /obj/item/stack/material/snow(F)
qdel(src)
/obj/structure/snowman/borg
name = "snowborg"
icon_state = "snowborg"
desc = "A snowy little robot. It even has a monitor for a head."
/obj/structure/snowman/spider
name = "snow spider"
icon_state = "snowspider"
desc = "An impressively crafted snow spider. Not nearly as creepy as the real thing."

View File

@@ -39,6 +39,8 @@
..(newloc,"silver","gold")
/turf/simulated/wall/sandstonediamond/New(var/newloc)
..(newloc,"sandstone","diamond")
/turf/simulated/wall/snowbrick/New(var/newloc)
..(newloc,"packed snow")
// Kind of wondering if this is going to bite me in the butt.
/turf/simulated/wall/skipjack/New(var/newloc)

View File

@@ -167,4 +167,19 @@
/material/snow/generate_recipes()
recipes = list()
recipes += new/datum/stack_recipe("snowball", /obj/item/weapon/material/snow/snowball, 1, time = 10)
recipes += new/datum/stack_recipe("snowball", /obj/item/weapon/material/snow/snowball, 1, time = 10)
recipes += new/datum/stack_recipe("snow brick", /obj/item/stack/material/snowbrick, 2, time = 10)
recipes += new/datum/stack_recipe("snowman", /obj/structure/snowman, 2, time = 15)
recipes += new/datum/stack_recipe("snow robot", /obj/structure/snowman/borg, 2, time = 10)
recipes += new/datum/stack_recipe("snow spider", /obj/structure/snowman/spider, 3, time = 20)
/material/snowbrick/generate_recipes()
recipes = list()
recipes += new/datum/stack_recipe("[display_name] door", /obj/structure/simple_door, 10, one_per_turf = 1, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] barricade", /obj/structure/barricade, 5, time = 50, one_per_turf = 1, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] stool", /obj/item/weapon/stool, one_per_turf = 1, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] chair", /obj/structure/bed/chair, one_per_turf = 1, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] double bed", /obj/structure/bed/double, 4, one_per_turf = 1, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] wall girders", /obj/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1, supplied_material = "[name]")
recipes += new/datum/stack_recipe("[display_name] ashtray", /obj/item/weapon/material/ashtray, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]")

View File

@@ -269,10 +269,16 @@
/obj/item/stack/material/snow
name = "snow"
desc = "The temptation to build a snowfort rises."
desc = "The temptation to build a snowman rises."
icon_state = "sheet-snow"
default_type = "snow"
/obj/item/stack/material/snowbrick
name = "snow brick"
desc = "For all of your igloo building needs."
icon_state = "sheet-snowbrick"
default_type = "packed snow"
/obj/item/stack/material/leather
name = "leather"
desc = "The by-product of mob grinding."

View File

@@ -752,6 +752,7 @@ var/list/name_to_material
stack_origin_tech = list(TECH_MATERIAL = 1)
door_icon_base = "wood"
destruction_desc = "crumples"
radiation_resistance = 1
/material/snow
name = MAT_SNOW
@@ -769,6 +770,25 @@ var/list/name_to_material
destruction_desc = "crumples"
sheet_singular_name = "pile"
sheet_plural_name = "pile" //Just a bigger pile
radiation_resistance = 1
/material/snowbrick //only slightly stronger than snow, used to make igloos mostly
name = "packed snow"
flags = MATERIAL_BRITTLE
stack_type = /obj/item/stack/material/snowbrick
icon_base = "stone"
icon_reinf = "reinf_stone"
icon_colour = "#D8FDFF"
integrity = 50
weight = 2
hardness = 2
protectiveness = 0 // 0%
stack_origin_tech = list(TECH_MATERIAL = 1)
melting_point = T0C+1
destruction_desc = "crumbles"
sheet_singular_name = "brick"
sheet_plural_name = "bricks"
radiation_resistance = 1
/material/cloth //todo
name = "cloth"

View File

@@ -204,6 +204,9 @@
if(istype(thing, /obj/item/toy/plushie/spider)) // Plushies are spooky so people can be assholes with them.
fear_amount += 1
if(istype(thing, /obj/structure/snowman/spider)) //Snow spiders are also spooky so people can be assholes with those too.
fear_amount += 1
if(istype(thing, /mob/living/simple_animal/hostile/giant_spider)) // Actual giant spiders are the scariest of them all.
var/mob/living/simple_animal/hostile/giant_spider/S = thing
if(S.stat == DEAD) // Dead giant spiders are less scary than alive ones.
@@ -437,7 +440,7 @@
fear_amount += 1
if(istype(S.species, /datum/species/shapeshifter/promethean))
fear_amount += 4
return fear_amount
/datum/modifier/trait/phobia/trypanophobe

View File

@@ -0,0 +1,38 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
#################################
# Your name.
author: battlefieldCommander
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "Added packed snow brick material. Craft it using snow piles."
- recadd: "Added snow girders and igloo walls. Craft them using snow bricks."
- rscadd: "Added various snowmen. Craft them using snow piles. Punch 'em to destroy."

BIN
icons/obj/snowman.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File

@@ -1046,6 +1046,7 @@
#include "code\game\objects\structures\safe.dm"
#include "code\game\objects\structures\signs.dm"
#include "code\game\objects\structures\simple_doors.dm"
#include "code\game\objects\structures\snowman.dm"
#include "code\game\objects\structures\tank_dispenser.dm"
#include "code\game\objects\structures\target_stake.dm"
#include "code\game\objects\structures\transit_tubes.dm"