Merge branch 'master' into corporate-comms

This commit is contained in:
warior4356
2020-10-16 21:45:48 -07:00
158 changed files with 5811 additions and 8598 deletions
@@ -188,6 +188,9 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \
..()
recipes = GLOB.diamond_recipes
/obj/item/stack/sheet/mineral/diamond/fifty
amount = 50
/obj/item/stack/sheet/mineral/uranium
name = "uranium"
icon_state = "sheet-uranium"
@@ -216,6 +219,9 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \
..()
recipes = GLOB.plasma_recipes
/obj/item/stack/sheet/mineral/plasma/fifty
amount = 50
/obj/item/stack/sheet/mineral/plasma/welder_act(mob/user, obj/item/I)
if(I.use_tool(src, user, volume = I.tool_volume))
log_and_set_aflame(user, I)
@@ -275,6 +281,9 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \
materials = list(MAT_BANANIUM=MINERAL_MATERIAL_AMOUNT)
point_value = 50
/obj/item/stack/sheet/mineral/bananium/fifty
amount = 50
/obj/item/stack/sheet/mineral/bananium/New(loc, amount=null)
..()
recipes = GLOB.bananium_recipes
@@ -289,6 +298,9 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \
wall_allowed = FALSE //no tranquilite walls in code
point_value = 50
/obj/item/stack/sheet/mineral/tranquillite/fifty
amount = 50
/obj/item/stack/sheet/mineral/tranquillite/New(loc, amount=null)
..()
recipes = GLOB.tranquillite_recipes
@@ -367,6 +379,9 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list(
origin_tech = "materials=6;abductor=1"
sheettype = "abductor"
/obj/item/stack/sheet/mineral/abductor/fifty
amount = 50
/obj/item/stack/sheet/mineral/abductor/New(loc, amount=null)
recipes = GLOB.abductor_recipes
..()
@@ -24,27 +24,27 @@
src.on_floor = on_floor
src.window_checks = window_checks
/datum/stack_recipe/proc/post_build(var/obj/item/stack/S, var/obj/result)
/datum/stack_recipe/proc/post_build(obj/item/stack/S, obj/result)
return
/* Special Recipes */
/datum/stack_recipe/cable_restraints
/datum/stack_recipe/cable_restraints/post_build(var/obj/item/stack/S, var/obj/result)
/datum/stack_recipe/cable_restraints/post_build(obj/item/stack/S, obj/result)
if(istype(result, /obj/item/restraints/handcuffs/cable))
result.color = S.color
..()
/datum/stack_recipe/dangerous
/datum/stack_recipe/dangerous/post_build(/obj/item/stack/S, /obj/result)
/datum/stack_recipe/dangerous/post_build(obj/item/stack/S, obj/result)
var/turf/targ = get_turf(usr)
message_admins("[title] made by [key_name_admin(usr)](<A HREF='?_src_=holder;adminmoreinfo=\ref[usr]'>?</A>) in [get_area(usr)] [ADMIN_COORDJMP(targ)]!",0,1)
log_game("[title] made by [key_name_admin(usr)] at [get_area(usr)] [targ.x], [targ.y], [targ.z].")
..()
/datum/stack_recipe/rods
/datum/stack_recipe/rods/post_build(var/obj/item/stack/S, var/obj/result)
/datum/stack_recipe/rods/post_build(obj/item/stack/S, obj/result)
if(istype(result, /obj/item/stack/rods))
var/obj/item/stack/rods/R = result
R.update_icon()
@@ -72,11 +72,17 @@
turf_type = /turf/simulated/floor/carpet
resistance_flags = FLAMMABLE
/obj/item/stack/tile/carpet/twenty
amount = 20
/obj/item/stack/tile/carpet/black
name = "black carpet"
icon_state = "tile-carpet-black"
turf_type = /turf/simulated/floor/carpet/black
/obj/item/stack/tile/carpet/black/twenty
amount = 20
//Plasteel
/obj/item/stack/tile/plasteel
name = "floor tiles"
@@ -1,67 +0,0 @@
/obj/item/firework
name = "fireworks"
icon = 'icons/obj/fireworks.dmi'
icon_state = "rocket_0"
var/litzor = 0
var/datum/effect_system/sparkle_spread/S
/obj/item/firework/attackby(obj/item/W,mob/user, params)
if(litzor)
return
if(is_hot(W))
for(var/mob/M in viewers(user))
to_chat(M, "[user] lits \the [src]")
litzor = 1
icon_state = "rocket_1"
S = new()
S.set_up(5,0,src.loc)
sleep(30)
if(ismob(src.loc) || isobj(src.loc))
S.attach(src.loc)
S.start()
qdel(src)
/obj/item/sparkler
name = "sparkler"
icon = 'icons/obj/fireworks.dmi'
icon_state = "sparkler_0"
var/litzor = 0
/obj/item/sparkler/attackby(obj/item/W,mob/user, params)
if(litzor)
return
if(is_hot(W))
for(var/mob/M in viewers(user))
to_chat(M, "[user] lits \the [src]")
litzor = 1
icon_state = "sparkler_1"
var/b = rand(5,9)
for(var/xy, xy<=b, xy++)
do_sparks(1, 0, loc)
sleep(10)
qdel(src)
// TODO: Refactor this into a proper locker or something
// Or just axe the system. This code is 7 years old
/obj/crate/fireworks
name = "Fireworks!"
/obj/crate/fireworks/New()
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
@@ -17,6 +17,10 @@
do_sparks(rand(5, 9), FALSE, src)
playsound(T, 'sound/effects/bang.ogg', 100, TRUE)
new /obj/effect/dummy/lighting_obj(T, light_color, range + 2, light_power, light_time)
// Blob damage
for(var/obj/structure/blob/B in hear(range + 1, T))
var/damage = round(30 / (get_dist(B, T) + 1))
B.take_damage(damage, BURN, "melee", FALSE)
// Stunning & damaging mechanic
bang(T, src, range)
@@ -25,7 +29,6 @@
/**
* Creates a flashing effect that blinds and deafens mobs within range
*
* Also damages blobs
* Arguments:
* * T - The turf to flash
* * A - The flashing atom
@@ -34,10 +37,6 @@
* * bang - Whether to bang (deafen)
*/
/proc/bang(turf/T, atom/A, range = 7, flash = TRUE, bang = TRUE)
// Blob damage
for(var/obj/structure/blob/B in hear(range + 1, T))
var/damage = round(30 / (get_dist(B, T) + 1))
B.take_damage(damage, BURN, "melee", FALSE)
// Flashing mechanic
var/source_turf = get_turf(A)
+1
View File
@@ -1,3 +1,4 @@
// TODO: Refactor these into spawners
/obj/random
name = "Random Object"
desc = "This item type is used to spawn random objects at round-start"
+3 -3
View File
@@ -5,7 +5,7 @@
icon_state = "spirit_board"
density = 1
anchored = 0
var/virgin = 1
var/used = FALSE
var/cooldown = 0
var/planchette = "A"
var/lastuser = null
@@ -28,8 +28,8 @@
if(!spirit_board_checks(M))
return 0
if(virgin)
virgin = 0
if(!used)
used = TRUE
notify_ghosts("Someone has begun playing with a [src.name] in [get_area(src)]!", source = src)
planchette = input("Choose the letter.", "Seance!") in list("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")