mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 11:05:03 +01:00
Merge branch 'master' into corporate-comms
This commit is contained in:
@@ -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,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"
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user