mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-28 11:02:41 +00:00
Gadgets & Gizmos (#7786)
* Adds various objects for explorers / antagonists. * T A G S * Mend
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
recipes += new/datum/stack_recipe("[display_name] fork", /obj/item/weapon/material/kitchen/utensil/fork/plastic, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE)
|
||||
recipes += new/datum/stack_recipe("[display_name] knife", /obj/item/weapon/material/knife/plastic, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE)
|
||||
recipes += new/datum/stack_recipe("[display_name] blade", /obj/item/weapon/material/butterflyblade, 6, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE)
|
||||
recipes += new/datum/stack_recipe("[display_name] defense wire", /obj/item/weapon/material/barbedwire, 10, time = 1 MINUTE, one_per_turf = 0, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE)
|
||||
|
||||
/datum/material/steel/generate_recipes()
|
||||
..()
|
||||
@@ -235,6 +236,7 @@
|
||||
recipes += new/datum/stack_recipe("baggy pants", /obj/item/clothing/under/pants/baggy/white, 8, time = 10 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]")
|
||||
recipes += new/datum/stack_recipe("belt pouch", /obj/item/weapon/storage/belt/fannypack/white, 25, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]")
|
||||
recipes += new/datum/stack_recipe("crude bandage", /obj/item/stack/medical/crude_pack, 1, time = 2 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]")
|
||||
recipes += new/datum/stack_recipe("empty sandbag", /obj/item/stack/emptysandbag, 2, time = 2 SECONDS, pass_stack_color = TRUE, supplied_material = "[name]")
|
||||
|
||||
/datum/material/resin/generate_recipes()
|
||||
recipes = list()
|
||||
@@ -267,4 +269,5 @@
|
||||
recipes += new/datum/stack_recipe("[display_name] ring", /obj/item/clothing/gloves/ring/material, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE)
|
||||
recipes += new/datum/stack_recipe("[display_name] bracelet", /obj/item/clothing/accessory/bracelet/material, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE)
|
||||
recipes += new/datum/stack_recipe("[display_name] armor plate", /obj/item/weapon/material/armor_plating, 1, time = 20, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE)
|
||||
recipes += new/datum/stack_recipe("empty sandbag", /obj/item/stack/emptysandbag, 2, time = 2 SECONDS, pass_stack_color = TRUE, supplied_material = "[name]")
|
||||
recipes += new/datum/stack_recipe("whip", /obj/item/weapon/material/whip, 5, time = 15 SECONDS, pass_stack_color = TRUE, supplied_material = "[name]")
|
||||
|
||||
@@ -1010,6 +1010,19 @@ var/list/name_to_material
|
||||
pass_stack_colors = TRUE
|
||||
supply_conversion_value = 2
|
||||
|
||||
/datum/material/cloth/syncloth
|
||||
name = "syncloth"
|
||||
stack_origin_tech = list(TECH_MATERIAL = 3, TECH_BIO = 2)
|
||||
door_icon_base = "wood"
|
||||
ignition_point = T0C+532
|
||||
melting_point = T0C+600
|
||||
integrity = 200
|
||||
protectiveness = 15 // 4%
|
||||
flags = MATERIAL_PADDING
|
||||
conductive = 0
|
||||
pass_stack_colors = TRUE
|
||||
supply_conversion_value = 3
|
||||
|
||||
/datum/material/cult
|
||||
name = "cult"
|
||||
display_name = "disturbing stone"
|
||||
|
||||
@@ -426,4 +426,14 @@ the artifact triggers the rage.
|
||||
|
||||
heat_protection = -0.5
|
||||
cold_protection = -0.5
|
||||
siemens_coefficient = 1.5
|
||||
siemens_coefficient = 1.5
|
||||
|
||||
/datum/modifier/entangled
|
||||
name = "entangled"
|
||||
desc = "Its hard to move."
|
||||
|
||||
on_created_text = "<span class='danger'>You're caught in something! It's hard to move.</span>"
|
||||
on_expired_text = "<span class='warning'>Your movement is freed.</span>"
|
||||
stacks = MODIFIER_STACK_EXTEND
|
||||
|
||||
slowdown = 2
|
||||
|
||||
@@ -37,6 +37,12 @@
|
||||
src.modules += new /obj/item/weapon/pinpointer/shuttle/merc(src)
|
||||
src.modules += new /obj/item/weapon/melee/energy/sword(src)
|
||||
|
||||
var/datum/matter_synth/cloth = new /datum/matter_synth/cloth(40000)
|
||||
synths += cloth
|
||||
|
||||
var/obj/item/stack/sandbags/cyborg/SB = new /obj/item/stack/sandbags/cyborg(src)
|
||||
SB.synths += list(cloth)
|
||||
|
||||
var/jetpack = new/obj/item/weapon/tank/jetpack/carbondioxide(src)
|
||||
src.modules += jetpack
|
||||
R.internals = jetpack
|
||||
|
||||
74
code/modules/power/cells/esoteric_cells.dm
Normal file
74
code/modules/power/cells/esoteric_cells.dm
Normal file
@@ -0,0 +1,74 @@
|
||||
|
||||
/obj/item/weapon/cell/spike
|
||||
name = "modified power cell"
|
||||
desc = "A modified power cell sitting in a highly conductive chassis."
|
||||
origin_tech = list(TECH_POWER = 2)
|
||||
icon_state = "spikecell"
|
||||
maxcharge = 10000
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 1000, MAT_GLASS = 80, MAT_SILVER = 100)
|
||||
self_recharge = TRUE
|
||||
charge_amount = 150
|
||||
|
||||
/obj/item/weapon/cell/spike/process()
|
||||
..()
|
||||
|
||||
var/turf/Center = get_turf(src)
|
||||
|
||||
var/shock_count = 0
|
||||
for(var/turf/T in range(Center, 1))
|
||||
|
||||
if(prob(round(charge / 250)) && charge >= (maxcharge / 4))
|
||||
|
||||
if(locate(/obj/effect/temporary_effect/pulse/staticshock) in T)
|
||||
continue
|
||||
|
||||
var/conductive = FALSE
|
||||
|
||||
if(istype(T, /turf/simulated/wall))
|
||||
var/turf/simulated/wall/WT = T
|
||||
|
||||
if(WT.material.conductive)
|
||||
conductive = TRUE
|
||||
else if(WT.girder_material.conductive)
|
||||
conductive = TRUE
|
||||
else if(WT.reinf_material && WT.reinf_material.conductive)
|
||||
conductive = TRUE
|
||||
|
||||
if(istype(T, /turf/simulated/floor))
|
||||
var/turf/simulated/floor/F = T
|
||||
if(istype(F.flooring, /decl/flooring/reinforced))
|
||||
conductive = TRUE
|
||||
|
||||
if(conductive)
|
||||
shock_count += 1
|
||||
new /obj/effect/temporary_effect/pulse/staticshock(T)
|
||||
|
||||
if(shock_count)
|
||||
while(shock_count)
|
||||
use(200)
|
||||
shock_count--
|
||||
|
||||
/obj/effect/temporary_effect/pulse/staticshock
|
||||
name = "electric field"
|
||||
desc = "Caution: Do not touch."
|
||||
pulses_remaining = 10
|
||||
pulse_delay = 2 SECONDS
|
||||
icon_state = "blue_static"
|
||||
|
||||
/obj/effect/temporary_effect/pulse/staticshock/on_pulse()
|
||||
..()
|
||||
|
||||
for(var/mob/living/L in view(1, src))
|
||||
if(!issilicon(L) && prob(L.mob_size))
|
||||
var/obj/item/projectile/beam/shock/weak/P = new (get_turf(src))
|
||||
P.launch_projectile_from_turf(L, BP_TORSO)
|
||||
|
||||
var/obj/item/weapon/plastique/C4 = locate() in get_turf(src)
|
||||
|
||||
if(C4)
|
||||
C4.visible_message("<span class='danger'>The current fries \the [C4]!</span>")
|
||||
|
||||
if(prob(10))
|
||||
C4.explode(get_turf(src))
|
||||
else
|
||||
qdel(C4)
|
||||
@@ -275,3 +275,7 @@
|
||||
agony = 15
|
||||
eyeblur = 2
|
||||
hitsound = 'sound/weapons/zapbang.ogg'
|
||||
|
||||
/obj/item/projectile/beam/shock/weak
|
||||
damage = 5
|
||||
agony = 10
|
||||
|
||||
Reference in New Issue
Block a user