Merge pull request #4392 from Aurorablade/BookClub

Book Club Refactor/butchering
This commit is contained in:
Crazy Lemon
2017-01-06 05:55:01 -08:00
committed by GitHub
83 changed files with 4663 additions and 4120 deletions
@@ -24,6 +24,14 @@ var/global/list/image/splatter_cache=list()
/obj/effect/decal/cleanable/blood/New()
..()
update_icon()
if(ticker && ticker.mode && istype(ticker.mode.name, "cult"))
var/datum/game_mode/cult/mode_ticker = ticker.mode
var/turf/T = get_turf(src)
if(T && (is_station_level(T.z)))//F I V E T I L E S
if(!(T in mode_ticker.bloody_floors))
mode_ticker.bloody_floors += T
mode_ticker.bloody_floors[T] = T
mode_ticker.blood_check()
if(istype(src, /obj/effect/decal/cleanable/blood/gibs))
return
if(src.type == /obj/effect/decal/cleanable/blood)
@@ -36,6 +44,15 @@ var/global/list/image/splatter_cache=list()
spawn(DRYING_TIME * (amount+1))
dry()
/obj/effect/decal/cleanable/blood/Destroy()
if(ticker.mode && istype(ticker.mode.name, "cult"))
var/datum/game_mode/cult/mode_ticker = ticker.mode
var/turf/T = get_turf(src)
if(T && (is_station_level(T.z)))
mode_ticker.bloody_floors -= T
mode_ticker.blood_check()
.=..()
/obj/effect/decal/cleanable/blood/update_icon()
if(basecolor == "rainbow") basecolor = "#[pick(list("FF0000","FF7F00","FFFF00","00FF00","0000FF","4B0082","8F00FF"))]"
color = basecolor
+59 -1
View File
@@ -110,4 +110,62 @@
/obj/effect/overlay/wall_rot/New()
..()
pixel_x += rand(-10, 10)
pixel_y += rand(-10, 10)
pixel_y += rand(-10, 10)
/obj/effect/overlay/temp/cult
randomdir = 0
duration = 10
icon = 'icons/effects/effects.dmi'
/obj/effect/overlay/temp/cult/sparks
randomdir = 1
name = "blood sparks"
icon_state = "bloodsparkles"
/obj/effect/overlay/temp/cult/phase
name = "phase glow"
duration = 7
icon_state = "cultin"
/obj/effect/overlay/temp/cult/phase/New(loc, set_dir)
..()
if(set_dir)
dir = set_dir
/obj/effect/overlay/temp/cult/phase/out
icon_state = "cultout"
/obj/effect/overlay/temp/heal //color is white by default, set to whatever is needed
name = "healing glow"
icon = 'icons/effects/effects.dmi'
icon_state = "heal"
duration = 15
/obj/effect/overlay/temp/heal/New(loc, colour)
..()
pixel_x = rand(-12, 12)
pixel_y = rand(-9, 0)
if(colour)
color = colour
/obj/effect/overlay/temp/cult/sac
name = "maw of Nar-Sie"
icon_state = "sacconsume"
/obj/effect/overlay/temp/cult/door
name = "unholy glow"
icon_state = "doorglow"
layer = 3.17 //above closed doors
/obj/effect/overlay/temp/cult/door/unruned
icon_state = "unruneddoorglow"
/obj/effect/overlay/temp/cult/turf
name = "unholy glow"
icon_state = "wallglow"
layer = TURF_LAYER + 0.07
/obj/effect/overlay/temp/cult/turf/open/floor
icon_state = "floorglow"
duration = 5
@@ -98,6 +98,11 @@ var/global/list/datum/stack_recipe/metal_recipes = list(
flags = CONDUCT
origin_tech = "materials=1"
/obj/item/stack/sheet/metal/narsie_act()
if(prob(20))
new /obj/item/stack/sheet/runed_metal(loc, amount)
qdel(src)
/obj/item/stack/sheet/metal/cyborg
materials = list()
@@ -201,3 +206,37 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list (
/obj/item/stack/sheet/cardboard/New(var/loc, var/amt = null)
recipes = cardboard_recipes
return ..()
/*
* Runed Metal
*/
var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \
new/datum/stack_recipe("runed door", /obj/machinery/door/airlock/cult, 1, time = 50, one_per_turf = 1, on_floor = 1),
new/datum/stack_recipe("runed girder", /obj/structure/cultgirder, 1, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("pylon", /obj/structure/cult/functional/pylon, 3, time = 40, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("forge", /obj/structure/cult/functional/forge, 5, time = 40, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("archives", /obj/structure/cult/functional/tome, 2, time = 40, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("altar", /obj/structure/cult/functional/talisman, 5, time = 40, one_per_turf = 1, on_floor = 1), \
)
/obj/item/stack/sheet/runed_metal
name = "runed metal"
desc = "Sheets of cold metal with shifting inscriptions writ upon them."
singular_name = "runed metal"
icon_state = "sheet-runed"
icon = 'icons/obj/items.dmi'
sheettype = "runed"
/obj/item/stack/sheet/runed_metal/attack_self(mob/living/user)
if(!iscultist(user))
to_chat(user, "<span class='warning'>Only one with forbidden knowledge could hope to work this metal...</span>")
return
return ..()
/obj/item/stack/sheet/runed_metal/fifty
amount = 50
/obj/item/stack/sheet/runed_metal/New(var/loc, var/amount=null)
recipes = runed_metal_recipes
return ..()
+1 -1
View File
@@ -103,7 +103,7 @@
/obj/item/weapon/restraints/legcuffs/beartrap/Crossed(AM as mob|obj)
if(armed && isturf(src.loc))
if( (iscarbon(AM) || isanimal(AM)) && !istype(AM, /mob/living/simple_animal/parrot) && !istype(AM, /mob/living/simple_animal/construct) && !istype(AM, /mob/living/simple_animal/shade) && !istype(AM, /mob/living/simple_animal/hostile/viscerator))
if( (iscarbon(AM) || isanimal(AM)) && !istype(AM, /mob/living/simple_animal/parrot) && !istype(AM, /mob/living/simple_animal/hostile/construct) && !istype(AM, /mob/living/simple_animal/shade) && !istype(AM, /mob/living/simple_animal/hostile/viscerator))
var/mob/living/L = AM
armed = 0
icon_state = "[initial(icon_state)][armed]"
@@ -100,7 +100,7 @@
if(istype(A, /turf/simulated/floor))
to_chat(user, "<span class='notice'>You hit the floor with the bible.</span>")
if(user.mind && (user.mind.assigned_role == "Chaplain"))
call(/obj/effect/rune/proc/revealrunes)(src)
call(/obj/effect/rune/proc/talismanreveal)(src)
if(user.mind && (user.mind.assigned_role == "Chaplain"))
if(A.reagents && A.reagents.has_reagent("water")) //blesses all the water in the holder
to_chat(user, "<span class='notice'>You bless [A].</span>")
@@ -144,6 +144,20 @@ obj/structure/door_assembly/multi_tile/Move()
bound_width = world.icon_size
bound_height = width * world.icon_size
/obj/structure/door_assembly/door_assembly_cult
icon = 'icons/obj/doors/Doorcult.dmi'
base_icon_state = "construction"
base_name = "engraved airlock"
airlock_type = "/cult"
glass = -1
/obj/structure/door_assembly/door_assembly_cultruned
icon = 'icons/obj/doors/Doorcultruned.dmi'
base_icon_state = "construction"
base_name = "runed airlock"
airlock_type = "/cult/runed"
glass = -1
/obj/structure/door_assembly/attackby(obj/item/W as obj, mob/user as mob, params)
+5
View File
@@ -188,6 +188,11 @@
if(prob(40))
qdel(src)
/obj/structure/girder/narsie_act()
if(prob(25))
new /obj/structure/cultgirder(loc)
qdel(src)
/obj/structure/girder/bullet_act(var/obj/item/projectile/Proj)
if(istype(Proj ,/obj/item/projectile/beam/pulse))
src.ex_act(2)
@@ -13,6 +13,12 @@
handle_rotation()
return
/obj/structure/stool/bed/chair/narsie_act()
if(prob(20))
var/obj/structure/stool/bed/chair/wood/W = new/obj/structure/stool/bed/chair/wood(get_turf(src))
W.dir = dir
qdel(src)
/obj/structure/stool/bed/chair/Move(atom/newloc, direct)
..()
handle_rotation()
@@ -81,6 +87,9 @@
burntime = 20
// TODO: Special ash subtype that looks like charred chair legs
/obj/structure/stool/bed/chair/wood/narsie_act()
return
/obj/structure/stool/bed/chair/wood/normal
icon_state = "wooden_chair"
name = "wooden chair"
@@ -41,6 +41,10 @@
density = 0
qdel(src)
/obj/structure/table/narsie_act()
if(prob(20))
new /obj/structure/table/woodentable(loc)
/obj/structure/table/update_icon()
if(smooth && !flipped)
icon_state = ""
@@ -386,6 +390,10 @@
return 1
/obj/structure/table/woodentable/narsie_act()
return
/obj/structure/table/woodentable/poker //No specialties, Just a mapping object.
name = "gambling table"
desc = "A seedy table for seedy dealings in seedy places."
@@ -398,6 +406,9 @@
new /obj/item/stack/tile/grass(loc)
..()
/obj/structure/table/woodentable/poker/narsie_act()
return
/obj/structure/glasstable_frame
name = "glass table frame"
desc = "A metal frame for a glass table."
+3
View File
@@ -76,6 +76,9 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
/obj/structure/window/blob_act()
destroy()
/obj/structure/window/narsie_act()
color = "#7D1919"
/obj/structure/window/singularity_pull(S, current_size)
if(current_size >= STAGE_FIVE)
destroy()