mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-12 16:37:19 +01:00
Merge branch 'master' into pumpkin_head
This commit is contained in:
+14
-1
@@ -2273,7 +2273,6 @@
|
||||
#include "code\modules\research\stockparts.dm"
|
||||
#include "code\modules\research\designs\AI_modules_designs.dm"
|
||||
#include "code\modules\research\designs\circuit_designs.dm"
|
||||
#include "code\modules\research\designs\mechfab_designs.dm"
|
||||
#include "code\modules\research\designs\medical_designs.dm"
|
||||
#include "code\modules\research\designs\mining_designs.dm"
|
||||
#include "code\modules\research\designs\modular_computer_designs.dm"
|
||||
@@ -2281,6 +2280,20 @@
|
||||
#include "code\modules\research\designs\stock_parts_designs.dm"
|
||||
#include "code\modules\research\designs\tcom_designs.dm"
|
||||
#include "code\modules\research\designs\weapon_designs.dm"
|
||||
#include "code\modules\research\designs\mechfab\hardsuit\modules.dm"
|
||||
#include "code\modules\research\designs\mechfab\hardsuit\rigs.dm"
|
||||
#include "code\modules\research\designs\mechfab\mechs\durand.dm"
|
||||
#include "code\modules\research\designs\mechfab\mechs\gygax.dm"
|
||||
#include "code\modules\research\designs\mechfab\mechs\hermes.dm"
|
||||
#include "code\modules\research\designs\mechfab\mechs\odysseus.dm"
|
||||
#include "code\modules\research\designs\mechfab\mechs\ripley.dm"
|
||||
#include "code\modules\research\designs\mechfab\mechs\mech_equipment\_equipment.dm"
|
||||
#include "code\modules\research\designs\mechfab\mechs\mech_equipment\tools.dm"
|
||||
#include "code\modules\research\designs\mechfab\mechs\mech_equipment\weaponry.dm"
|
||||
#include "code\modules\research\designs\mechfab\prosthetics\external.dm"
|
||||
#include "code\modules\research\designs\mechfab\prosthetics\internal.dm"
|
||||
#include "code\modules\research\designs\mechfab\robot\robot.dm"
|
||||
#include "code\modules\research\designs\mechfab\robot\robot_upgrades.dm"
|
||||
#include "code\modules\research\xenoarchaeology\chemistry.dm"
|
||||
#include "code\modules\research\xenoarchaeology\geosample.dm"
|
||||
#include "code\modules\research\xenoarchaeology\manuals.dm"
|
||||
|
||||
@@ -4,6 +4,13 @@ var/list/datum/power/vampire/vampirepowers = list()
|
||||
/datum/power/vampire
|
||||
var/blood_cost = 0
|
||||
|
||||
/datum/power/vampire/alertness
|
||||
name = "Alertness"
|
||||
desc = "Toggle whether you wish for your victims to get paralyzed and forget your deeds."
|
||||
helptext = "If active, victims will become paralyzed and forget that you fed on them, instead remembering only a pleasant encounter."
|
||||
blood_cost = 0
|
||||
verbpath = /mob/living/carbon/human/proc/vampire_alertness
|
||||
|
||||
/datum/power/vampire/drain_blood
|
||||
name = "Drain Blood"
|
||||
desc = "Feed on the blood of a humanoid creature in order to gain further power."
|
||||
@@ -37,6 +44,12 @@ var/list/datum/power/vampire/vampirepowers = list()
|
||||
blood_cost = 50
|
||||
verbpath = /mob/living/carbon/human/proc/vampire_presence
|
||||
|
||||
/datum/power/vampire/touch_of_life
|
||||
name = "Touch of Life"
|
||||
desc = "You touch the target, transferring healing chemicals to them."
|
||||
blood_cost = 50
|
||||
verbpath = /mob/living/carbon/human/proc/vampire_touch_of_life
|
||||
|
||||
/datum/power/vampire/veil_step
|
||||
name = "Veil Step"
|
||||
desc = "Enter the Veil for a moment, and skip to a shadow of your choosing."
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
var/frenzy = 0 // A vampire's frenzy meter.
|
||||
var/last_frenzy_message = 0 // Keeps track of when the last frenzy alert was sent.
|
||||
var/status = 0 // Bitfield including different statuses.
|
||||
var/stealth = TRUE // Do you want your victims to know of your sucking?
|
||||
var/list/datum/power/vampire/purchased_powers = list() // List of power datums available for use.
|
||||
var/obj/effect/dummy/veil_walk/holder = null // The veil_walk dummy.
|
||||
var/mob/living/carbon/human/master = null // The vampire/thrall's master.
|
||||
@@ -18,7 +19,6 @@
|
||||
/datum/vampire/proc/add_power(var/datum/mind/vampire, var/datum/power/vampire/power, var/announce = 0)
|
||||
if (!vampire || !power)
|
||||
return
|
||||
|
||||
if (power in purchased_powers)
|
||||
return
|
||||
|
||||
@@ -26,11 +26,9 @@
|
||||
|
||||
if (power.isVerb && power.verbpath)
|
||||
vampire.current.verbs += power.verbpath
|
||||
|
||||
if (announce)
|
||||
to_chat(vampire.current, "<span class='notice'><b>You have unlocked a new power:</b> [power.name].</span>")
|
||||
to_chat(vampire.current, "<span class='notice'>[power.desc]</span>")
|
||||
|
||||
if (power.helptext)
|
||||
to_chat(vampire.current, "<font color='green'>[power.helptext]</font>")
|
||||
|
||||
|
||||
@@ -2,10 +2,8 @@
|
||||
/mob/proc/make_vampire()
|
||||
if (!mind)
|
||||
return
|
||||
|
||||
if (!mind.vampire)
|
||||
mind.vampire = new /datum/vampire()
|
||||
|
||||
// No powers to thralls. Ew.
|
||||
if (mind.vampire.status & VAMP_ISTHRALL)
|
||||
return
|
||||
@@ -21,7 +19,7 @@
|
||||
else if(P.isVerb && P.verbpath)
|
||||
verbs += P.verbpath
|
||||
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
// Checks the vampire's bloodlevel and unlocks new powers based on that.
|
||||
/mob/proc/check_vampire_upgrade()
|
||||
@@ -43,7 +41,6 @@
|
||||
/mob/proc/vampire_power(var/required_blood = 0, var/max_stat = 0, var/ignore_holder = 0, var/disrupt_healing = 1, var/required_vampire_blood = 0)
|
||||
if (!mind)
|
||||
return
|
||||
|
||||
if (!ishuman(src))
|
||||
return
|
||||
|
||||
@@ -51,15 +48,12 @@
|
||||
if (!vampire)
|
||||
log_debug("[src] has a vampire power but is not a vampire.")
|
||||
return
|
||||
|
||||
if (vampire.holder && !ignore_holder)
|
||||
to_chat(src, "<span class='warning'>You cannot use this power while walking through the Veil.</span>")
|
||||
return
|
||||
|
||||
if (stat > max_stat)
|
||||
to_chat(src, "<span class='warning'>You are incapacitated.</span>")
|
||||
return
|
||||
|
||||
if (required_blood > vampire.blood_usable)
|
||||
to_chat(src, "<span class='warning'>You do not have enough usable blood. [required_blood] needed.</span>")
|
||||
return
|
||||
@@ -72,66 +66,57 @@
|
||||
// Checks whether or not the target can be affected by a vampire's abilities.
|
||||
/mob/proc/vampire_can_affect_target(var/mob/living/carbon/human/T, var/notify = 1, var/account_loyalty_implant = 0, var/ignore_thrall = FALSE)
|
||||
if (!T || !istype(T))
|
||||
return 0
|
||||
|
||||
return FALSE
|
||||
// How did you even get here?
|
||||
if (!mind.vampire)
|
||||
return 0
|
||||
|
||||
return FALSE
|
||||
if ((mind.vampire.status & VAMP_FULLPOWER) && !(T.mind && T.mind.vampire && (T.mind.vampire.status & VAMP_FULLPOWER)))
|
||||
return 1
|
||||
|
||||
return TRUE
|
||||
if (T.mind)
|
||||
if (T.mind.assigned_role == "Chaplain")
|
||||
if (notify)
|
||||
to_chat(src, "<span class='warning'>Your connection with the Veil is not strong enough to affect a man as devout as them.</span>")
|
||||
return 0
|
||||
return FALSE
|
||||
else if (T.mind.vampire && (!(T.mind.vampire.status & VAMP_ISTHRALL) || ((T.mind.vampire.status & VAMP_ISTHRALL) && !ignore_thrall)))
|
||||
if (notify)
|
||||
to_chat(src, "<span class='warning'>You lack the power required to affect another creature of the Veil.</span>")
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if (isipc(T))
|
||||
if (notify)
|
||||
to_chat(src, "<span class='warning'>You lack the power interact with mechanical constructs.</span>")
|
||||
return 0
|
||||
|
||||
return FALSE
|
||||
if(is_special_character(T) && (!(T.mind.vampire.status & VAMP_ISTHRALL)))
|
||||
if (notify)
|
||||
to_chat(src, "<span class='warning'>\The [T]'s mind is too strong to be affected by our powers!</span>")
|
||||
return 0
|
||||
|
||||
return FALSE
|
||||
if (account_loyalty_implant)
|
||||
for (var/obj/item/weapon/implant/loyalty/I in T)
|
||||
if (I.implanted)
|
||||
if (notify)
|
||||
to_chat(src, "<span class='warning'>You feel that [T]'s mind is unreachable due to forced loyalty.</span>")
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
// Plays the vampire phase in animation.
|
||||
/mob/proc/vampire_phase_in(var/turf/T = null)
|
||||
if (!T)
|
||||
return
|
||||
|
||||
anim(T, src, 'icons/mob/mob.dmi', , "bloodify_in", , dir)
|
||||
|
||||
// Plays the vampire phase out animation.
|
||||
/mob/proc/vampire_phase_out(var/turf/T = null)
|
||||
if (!T)
|
||||
return
|
||||
|
||||
anim(T, src, 'icons/mob/mob.dmi', , "bloodify_out", , dir)
|
||||
|
||||
// Make a vampire thrall
|
||||
/mob/proc/vampire_make_thrall()
|
||||
|
||||
if (!mind)
|
||||
return
|
||||
|
||||
var/datum/vampire/thrall/thrall = new()
|
||||
|
||||
mind.vampire = thrall
|
||||
|
||||
/mob/proc/vampire_check_frenzy(var/force_frenzy = 0)
|
||||
@@ -139,7 +124,6 @@
|
||||
return
|
||||
|
||||
var/datum/vampire/vampire = mind.vampire
|
||||
|
||||
// Thralls don't frenzy.
|
||||
if (vampire.status & VAMP_ISTHRALL)
|
||||
return
|
||||
@@ -218,7 +202,7 @@
|
||||
|
||||
sight &= ~SEE_MOBS
|
||||
|
||||
visible_message("<span class='danger'>[src.name]'s eyes no longer glow with violent rage, their form reverting to resemble that of a normal human's.</span>", "<span class='danger'>The beast within you retreats. You gain control over your body once more.</span>")
|
||||
visible_message("<span class='danger'>[src.name]'s eyes no longer glow with violent rage, their form reverting to resemble that of a normal person's.</span>", "<span class='danger'>The beast within you retreats. You gain control over your body once more.</span>")
|
||||
|
||||
verbs -= /mob/living/carbon/human/proc/grapple
|
||||
regenerate_icons()
|
||||
@@ -254,8 +238,6 @@
|
||||
/mob/living/carbon/human/proc/finish_vamp_timeout(vamp_flags = 0)
|
||||
if (!mind || !mind.vampire)
|
||||
return FALSE
|
||||
|
||||
if (vamp_flags && !(mind.vampire.status & vamp_flags))
|
||||
return FALSE
|
||||
|
||||
return TRUE
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
// Contains all /mob/procs that relate to vampire.
|
||||
|
||||
// Makes vampire's victim not get paralyzed, and remember the suckings
|
||||
/mob/living/carbon/human/proc/vampire_alertness()
|
||||
set category = "Vampire"
|
||||
set name = "Victim Alertness"
|
||||
set desc = "Toggle whether you wish for your victims to get paralyzed and forget your deeds."
|
||||
|
||||
var/datum/vampire/vampire = vampire_power(0, 0)
|
||||
vampire.stealth = !vampire.stealth
|
||||
if(vampire.stealth)
|
||||
to_chat(src, span("notice", "Your victims will now forget your interactions, and get paralyzed when you do them."))
|
||||
else
|
||||
to_chat(src, span("notice", "Your victims will now remember your interactions, and stay completely mobile during them."))
|
||||
|
||||
// Drains the target's blood.
|
||||
/mob/living/carbon/human/proc/vampire_drain_blood()
|
||||
set category = "Vampire"
|
||||
@@ -12,11 +25,10 @@
|
||||
|
||||
var/obj/item/weapon/grab/G = get_active_hand()
|
||||
if (!istype(G))
|
||||
to_chat(src, "<span class='warning'>You must be grabbing a victim in your active hand to drain their blood.</span>")
|
||||
to_chat(src, span("warning", "You must be grabbing a victim in your active hand to drain their blood."))
|
||||
return
|
||||
|
||||
if (G.state == GRAB_PASSIVE || G.state == GRAB_UPGRADING)
|
||||
to_chat(src, "<span class='warning'>You must have the victim pinned to the ground to drain their blood.</span>")
|
||||
to_chat(src, span("warning", "You must have the victim pinned to the ground to drain their blood."))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/T = G.affecting
|
||||
@@ -24,15 +36,13 @@
|
||||
//Added this to prevent vampires draining diona and IPCs
|
||||
//Diona have 'blood' but its really green sap and shouldn't help vampires
|
||||
//IPCs leak oil
|
||||
to_chat(src, "<span class='warning'>[T] is not a creature you can drain useful blood from.</span>")
|
||||
to_chat(src, span("warning", "[T] is not a creature you can drain useful blood from."))
|
||||
return
|
||||
|
||||
if(T.head && (T.head.item_flags & AIRTIGHT))
|
||||
to_chat(src, "<span class='warning'>[T]'s headgear is blocking the way to the neck.</span>")
|
||||
to_chat(src, span("warning", "[T]'s headgear is blocking the way to the neck."))
|
||||
return
|
||||
|
||||
if (vampire.status & VAMP_DRAINING)
|
||||
to_chat(src, "<span class='warning'>Your fangs are already sunk into a victim's neck!</span>")
|
||||
to_chat(src, span("warning", "Your fangs are already sunk into a victim's neck!"))
|
||||
return
|
||||
|
||||
var/datum/vampire/draining_vamp = null
|
||||
@@ -46,24 +56,33 @@
|
||||
vampire.status |= VAMP_DRAINING
|
||||
|
||||
visible_message("<span class='danger'>[src.name] bites [T.name]'s neck!</span>", "<span class='danger'>You bite [T.name]'s neck and begin to drain their blood.</span>", "<span class='notice'>You hear a soft puncture and a wet sucking noise</span>")
|
||||
admin_attack_log(src, T, "drained blood from [key_name(T)]", "was drained blood from by [key_name(src)]", "is draining blood from")
|
||||
var/remembrance
|
||||
if(vampire.stealth)
|
||||
remembrance = "forgot"
|
||||
else
|
||||
remembrance = "remembered"
|
||||
admin_attack_log(src, T, "drained blood from [key_name(T)], who [remembrance] the encounter.", "had their blood drained by [key_name(src)] and [remembrance] the encounter.", "is draining blood from")
|
||||
|
||||
to_chat(T, "<span class='warning'>You are unable to resist or even move. Your mind blanks as you're being fed upon.</span>")
|
||||
if(vampire.stealth)
|
||||
to_chat(T, span("warning", "You are unable to resist or even move. Your mind blanks as you're being fed upon."))
|
||||
T.paralysis = 3400
|
||||
else
|
||||
to_chat(T, span("warning", "You are unable to resist or even move. Your mind is acutely aware of what's occuring."))
|
||||
T.paralysis = 3400
|
||||
|
||||
playsound(src.loc, 'sound/effects/drain_blood_new.ogg', 50, 1)
|
||||
|
||||
T.paralysis = 3400
|
||||
|
||||
while (do_mob(src, T, 50))
|
||||
if (!mind.vampire)
|
||||
to_chat(src, "<span class='danger'>Your fangs have disappeared!</span>")
|
||||
to_chat(src, span("danger", "Your fangs have disappeared!"))
|
||||
return
|
||||
|
||||
blood_total = vampire.blood_total
|
||||
blood_usable = vampire.blood_usable
|
||||
|
||||
if (!T.vessel.get_reagent_amount("blood"))
|
||||
to_chat(src, "<span class='danger'>[T] has no more blood left to give.</span>")
|
||||
to_chat(src, span("danger", "[T] has no more blood left to give."))
|
||||
break
|
||||
|
||||
if (!T.stunned)
|
||||
@@ -100,18 +119,27 @@
|
||||
vampire.frenzy--
|
||||
|
||||
if (blood_total != vampire.blood_total)
|
||||
var/update_msg = "<span class='notice'>You have accumulated [vampire.blood_total] [vampire.blood_total > 1 ? "units" : "unit"] of blood.</span>"
|
||||
var/update_msg = "<span class='notice'>You have accumulated [vampire.blood_total] [vampire.blood_total > 1 ? "units" : "unit"] of blood</span>"
|
||||
if (blood_usable != vampire.blood_usable)
|
||||
update_msg += "<span class='notice'> And have [vampire.blood_usable] left to use.</span>"
|
||||
update_msg += "<span class='notice'> and have [vampire.blood_usable] left to use.</span>"
|
||||
else
|
||||
update_msg += "<span class='notice'>.</span>"
|
||||
|
||||
to_chat(src, update_msg)
|
||||
check_vampire_upgrade()
|
||||
T.vessel.remove_reagent("blood", 25)
|
||||
|
||||
vampire.status &= ~VAMP_DRAINING
|
||||
visible_message("<span class='danger'>[src.name] stops biting [T.name]'s neck!</span>", "<span class='notice'>You extract your fangs from [T.name]'s neck and stop draining them of blood. They will remember nothing of this occurance. Provided they survived.</span>")
|
||||
if (T.stat != 2)
|
||||
to_chat(T, "<span class='warning'>You remember nothing about being fed upon. Instead, you simply remember having a pleasant encounter with [src.name].</span>")
|
||||
|
||||
var/endsuckmsg = "You extract your fangs from [T.name]'s neck and stop draining them of blood."
|
||||
if(vampire.stealth)
|
||||
endsuckmsg += "They will remember nothing of this occurance, provided they survived."
|
||||
visible_message("<span class='danger'>[src.name] stops biting [T.name]'s neck!</span>", "<span class='notice'>[endsuckmsg]</span>")
|
||||
if(T.stat != 2 && vampire.stealth)
|
||||
to_chat(T, span("warning", "You remember nothing about being fed upon. Instead, you simply remember having a pleasant encounter with [src.name]."))
|
||||
T.paralysis = 0
|
||||
else if(T.stat != 2)
|
||||
to_chat(T, span("warning", "You remember everything about being fed upon. How you react to [src.name]'s actions is up to you."))
|
||||
T.paralysis = 0
|
||||
|
||||
// Small area of effect stun.
|
||||
@@ -122,11 +150,9 @@
|
||||
|
||||
if (!vampire_power(0, 1))
|
||||
return
|
||||
|
||||
if (!has_eyes())
|
||||
to_chat(src, "<span class='warning'>You don't have eyes!</span>")
|
||||
return
|
||||
|
||||
if (istype(glasses, /obj/item/clothing/glasses/sunglasses/blindfold))
|
||||
to_chat(src, "<span class='warning'>You're blindfolded!</span>")
|
||||
return
|
||||
@@ -136,7 +162,6 @@
|
||||
for (var/mob/living/carbon/human/H in view(2))
|
||||
if (H == src)
|
||||
continue
|
||||
|
||||
if (!vampire_can_affect_target(H, 0))
|
||||
continue
|
||||
|
||||
@@ -160,7 +185,6 @@
|
||||
var/datum/vampire/vampire = vampire_power(10, 1)
|
||||
if (!vampire)
|
||||
return
|
||||
|
||||
if (!has_eyes())
|
||||
to_chat(src, "<span class='warning'>You don't have eyes!</span>")
|
||||
return
|
||||
@@ -170,7 +194,6 @@
|
||||
if (H == src)
|
||||
continue
|
||||
victims += H
|
||||
|
||||
if (!victims.len)
|
||||
to_chat(src, "<span class='warning'>No suitable targets.</span>")
|
||||
return
|
||||
@@ -210,15 +233,12 @@
|
||||
var/datum/vampire/vampire = vampire_power(20, 1)
|
||||
if (!vampire)
|
||||
return
|
||||
|
||||
if (!istype(loc, /turf))
|
||||
to_chat(src, "<span class='warning'>You cannot teleport out of your current location.</span>")
|
||||
return
|
||||
|
||||
if (T.z != src.z || get_dist(T, get_turf(src)) > world.view)
|
||||
to_chat(src, "<span class='warning'>Your powers are not capable of taking you that far.</span>")
|
||||
return
|
||||
|
||||
if (T.get_lumcount() > 0.1)
|
||||
// Too bright, cannot jump into.
|
||||
to_chat(src, "<span class='warning'>The destination is too bright.</span>")
|
||||
@@ -307,10 +327,8 @@
|
||||
for (var/mob/living/carbon/human/T in hearers(4, src))
|
||||
if (T == src)
|
||||
continue
|
||||
|
||||
if (istype(T) && (T:l_ear || T:r_ear) && istype((T:l_ear || T:r_ear), /obj/item/clothing/ears/earmuffs))
|
||||
if (istype(T) && (T.l_ear || T.r_ear) && istype((T.l_ear || T.r_ear), /obj/item/clothing/ears/earmuffs))
|
||||
continue
|
||||
|
||||
if (!vampire_can_affect_target(T, 0))
|
||||
continue
|
||||
|
||||
@@ -369,10 +387,10 @@
|
||||
desc = "A red, shimmering presence."
|
||||
icon = 'icons/mob/mob.dmi'
|
||||
icon_state = "blank"
|
||||
density = 0
|
||||
density = FALSE
|
||||
|
||||
var/last_valid_turf = null
|
||||
var/can_move = 1
|
||||
var/can_move = TRUE
|
||||
var/mob/owner_mob = null
|
||||
var/datum/vampire/owner_vampire = null
|
||||
var/warning_level = 0
|
||||
@@ -673,7 +691,6 @@
|
||||
if (!istype(G))
|
||||
to_chat(src, "<span class='warning'>You must be grabbing a victim in your active hand to enthrall them.</span>")
|
||||
return
|
||||
|
||||
if (G.state == GRAB_PASSIVE || G.state == GRAB_UPGRADING)
|
||||
to_chat(src, "<span class='warning'>You must have the victim pinned to the ground to enthrall them.</span>")
|
||||
return
|
||||
@@ -682,18 +699,14 @@
|
||||
if(isipc(T))
|
||||
to_chat(src, "<span class='warning'>[T] is not a creature you can enthrall.</span>")
|
||||
return
|
||||
|
||||
if (!istype(T))
|
||||
to_chat(src, "<span class='warning'>[T] is not a creature you can enthrall.</span>")
|
||||
return
|
||||
|
||||
if (!vampire_can_affect_target(T, 1, 1))
|
||||
return
|
||||
|
||||
if (!T.client || !T.mind)
|
||||
to_chat(src, "<span class='warning'>[T]'s mind is empty and useless. They cannot be forced into a blood bond.</span>")
|
||||
return
|
||||
|
||||
if (vampire.status & VAMP_DRAINING)
|
||||
to_chat(src, "<span class='warning'>Your fangs are already sunk into a victim's neck!</span>")
|
||||
return
|
||||
@@ -733,7 +746,6 @@
|
||||
if (H == src)
|
||||
continue
|
||||
victims += H
|
||||
|
||||
if (!victims.len)
|
||||
to_chat(src, "<span class='warning'>No suitable targets.</span>")
|
||||
return
|
||||
@@ -805,10 +817,8 @@
|
||||
for (var/mob/living/carbon/human/T in view(5))
|
||||
if (T == src)
|
||||
continue
|
||||
|
||||
if (!vampire_can_affect_target(T, 0, 1))
|
||||
continue
|
||||
|
||||
if (!T.client)
|
||||
continue
|
||||
|
||||
@@ -827,6 +837,32 @@
|
||||
to_chat(src, "<span class='warning'>You are no longer influencing those weak of mind.</span>")
|
||||
break
|
||||
|
||||
/mob/living/carbon/human/proc/vampire_touch_of_life()
|
||||
set category = "Vampire"
|
||||
set name = "Touch of Life (50)"
|
||||
set desc = "You lay your hands on the target, transferring healing chemicals to them."
|
||||
|
||||
var/datum/vampire/vampire = vampire_power(50, 0)
|
||||
if (!vampire)
|
||||
return
|
||||
|
||||
var/obj/item/weapon/grab/G = get_active_hand()
|
||||
if (!istype(G))
|
||||
to_chat(src, "<span class='warning'>You must be grabbing a victim in your active hand to touch them.</span>")
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/T = G.affecting
|
||||
if (T.species.flags & NO_BLOOD)
|
||||
to_chat(src, "<span class='warning'>[T] has no blood and can not be affected by your powers!</span>")
|
||||
return
|
||||
|
||||
visible_message("<b>[src]</b> gently touches [T].")
|
||||
to_chat(T, span("notice", "You feel pure bliss as [src] touches you."))
|
||||
vampire.use_blood(50)
|
||||
|
||||
T.reagents.add_reagent("rezadone", 3)
|
||||
T.reagents.add_reagent("oxycodone", 0.15) //enough to get back onto their feet
|
||||
|
||||
// Convert a human into a vampire.
|
||||
/mob/living/carbon/human/proc/vampire_embrace()
|
||||
set category = "Vampire"
|
||||
@@ -842,7 +878,6 @@
|
||||
if (!istype(G))
|
||||
to_chat(src, "<span class='warning'>You must be grabbing a victim in your active hand to drain their blood.</span>")
|
||||
return
|
||||
|
||||
if (G.state == GRAB_PASSIVE || G.state == GRAB_UPGRADING)
|
||||
to_chat(src, "<span class='warning'>You must have the victim pinned to the ground to drain their blood.</span>")
|
||||
return
|
||||
@@ -850,19 +885,15 @@
|
||||
var/mob/living/carbon/human/T = G.affecting
|
||||
if (!vampire_can_affect_target(T, ignore_thrall = TRUE))
|
||||
return
|
||||
|
||||
if (!T.client)
|
||||
to_chat(src, "<span class='warning'>[T] is a mindless husk. The Veil has no purpose for them.</span>")
|
||||
return
|
||||
|
||||
if (T.stat == 2)
|
||||
to_chat(src, "<span class='warning'>[T]'s body is broken and damaged beyond salvation. You have no use for them.</span>")
|
||||
return
|
||||
|
||||
if (T.species.flags & NO_BLOOD)
|
||||
to_chat(src, "<span class='warning'>[T] has no blood and can not be affected by your powers!</span>")
|
||||
return
|
||||
|
||||
if (vampire.status & VAMP_DRAINING)
|
||||
to_chat(src, "<span class='warning'>Your fangs are already sunk into a victim's neck!</span>")
|
||||
return
|
||||
@@ -901,7 +932,6 @@
|
||||
if (!mind.vampire)
|
||||
to_chat(src, "<span class='alert'>Your fangs have disappeared!</span>")
|
||||
return
|
||||
|
||||
if (!T.vessel.get_reagent_amount("blood"))
|
||||
to_chat(src, "<span class='alert'>[T] is now drained of blood. You begin forcing your own blood into their body, spreading the corruption of the Veil to their body.</span>")
|
||||
break
|
||||
@@ -941,7 +971,6 @@
|
||||
|
||||
if (status_flags & LEAPING)
|
||||
return
|
||||
|
||||
if (stat || paralysis || stunned || weakened || lying || restrained() || buckled)
|
||||
to_chat(src, "<span class='warning'>You cannot lean in your current state.</span>")
|
||||
return
|
||||
@@ -967,7 +996,6 @@
|
||||
|
||||
if (status_flags & LEAPING)
|
||||
status_flags &= ~LEAPING
|
||||
|
||||
if (!src.Adjacent(T))
|
||||
to_chat(src, "<span class='warning'>You miss!</span>")
|
||||
return
|
||||
|
||||
@@ -815,7 +815,7 @@
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/generator
|
||||
name = "phoron generator"
|
||||
desc = "Generates power using solid phoron as fuel. Pollutes the environment."
|
||||
desc = "Generates power using solid phoron as fuel."
|
||||
icon_state = "tesla"
|
||||
origin_tech = list(TECH_PHORON = 2, TECH_POWER = 2, TECH_ENGINEERING = 1)
|
||||
equip_cooldown = 10
|
||||
@@ -892,29 +892,13 @@
|
||||
/obj/item/mecha_parts/mecha_equipment/generator/attackby(weapon,mob/user)
|
||||
var/result = load_fuel(weapon)
|
||||
if(isnull(result))
|
||||
user.visible_message("[user] tries to shove [weapon] into [src]. What a dumb-ass.","<span class='warning'>[fuel] traces minimal. [weapon] cannot be used as fuel.</span>")
|
||||
user.visible_message("[user] tries to shove [weapon] into [src].","<span class='warning'>[fuel] traces minimal. [weapon] cannot be used as fuel.</span>")
|
||||
else if(!result)
|
||||
to_chat(user, "Unit is full.")
|
||||
else
|
||||
user.visible_message("[user] loads [src] with [fuel].","[result] unit\s of [fuel] successfully loaded.")
|
||||
return
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/generator/critfail()
|
||||
..()
|
||||
var/turf/simulated/T = get_turf(src)
|
||||
if(!T)
|
||||
return
|
||||
var/datum/gas_mixture/GM = new
|
||||
if(prob(10))
|
||||
T.assume_gas("phoron", 100, 1500+T0C)
|
||||
T.visible_message("The [src] suddenly disgorges a cloud of heated phoron.")
|
||||
destroy()
|
||||
else
|
||||
T.assume_gas("phoron", 5, istype(T) ? T.air.temperature : T20C)
|
||||
T.visible_message("The [src] suddenly disgorges a cloud of phoron.")
|
||||
T.assume_air(GM)
|
||||
return
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/generator/process()
|
||||
// Process every 10 ds.
|
||||
if ((last_tick + 10) > world.time)
|
||||
@@ -957,9 +941,6 @@
|
||||
fuel_type = /obj/item/stack/material/uranium
|
||||
var/rad_per_cycle = 0.3
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/generator/nuclear/critfail()
|
||||
return
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/generator/nuclear/process()
|
||||
. = ..()
|
||||
if(. != PROCESS_KILL)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/obj/machinery/mecha_part_fabricator
|
||||
icon = 'icons/obj/robotics.dmi'
|
||||
icon_state = "fab-idle"
|
||||
name = "Exosuit Fabricator"
|
||||
desc = "A machine used for construction of robotcs and mechas."
|
||||
name = "Mechatronic Fabricator"
|
||||
desc = "A general purpose fabricator that can be used to fabricate robotic equipment."
|
||||
density = 1
|
||||
anchored = 1
|
||||
use_power = 1
|
||||
|
||||
@@ -213,7 +213,7 @@ BREATH ANALYZER
|
||||
user.show_message(text("<span class='warning'>Internal bleeding detected. Advanced scanner required for location.</span>"), 1)
|
||||
if(M:vessel)
|
||||
var/blood_volume = round(M:vessel.get_reagent_amount("blood"))
|
||||
var/blood_percent = blood_volume / 560
|
||||
var/blood_percent = blood_volume / 560
|
||||
var/blood_type = M.dna.b_type
|
||||
blood_percent *= 100
|
||||
if(blood_volume <= 500 && blood_volume > 336)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
var/mob_name_pick_message = "Pick a name."
|
||||
var/mob_name_prefix = null //The prefix that should be applied to the mob (i.e. CCIAA, Tpr., Cmdr.)
|
||||
var/mob_name_suffix = null //The suffix that should be applied to the mob name
|
||||
|
||||
|
||||
/datum/ghostspawner/New()
|
||||
. = ..()
|
||||
if(!jobban_job)
|
||||
@@ -45,13 +45,13 @@
|
||||
|
||||
if(req_head_whitelist && !check_whitelist(user))
|
||||
return "Missing Head of Staff Whitelist"
|
||||
|
||||
|
||||
if(req_species_whitelist && !is_alien_whitelisted(user, req_species_whitelist))
|
||||
return "Missing Species Whitelist"
|
||||
|
||||
if(jobban_job && jobban_isbanned(user,jobban_job))
|
||||
return "Job Banned"
|
||||
|
||||
|
||||
if(!enabled && !can_edit(user)) //If its not enabled and the user cant edit it, dont show it
|
||||
return "Currently Disabled"
|
||||
|
||||
@@ -83,10 +83,10 @@
|
||||
return FALSE
|
||||
|
||||
//Proc executed before someone is spawned in
|
||||
/datum/ghostspawner/proc/pre_spawn(mob/user)
|
||||
/datum/ghostspawner/proc/pre_spawn(mob/user)
|
||||
count++ //Increment the spawned in mob count
|
||||
if(max_count && count >= max_count)
|
||||
disable()
|
||||
enabled = FALSE
|
||||
return TRUE
|
||||
|
||||
//This proc selects the spawnpoint to use.
|
||||
@@ -114,6 +114,8 @@
|
||||
|
||||
//Proc executed after someone is spawned in
|
||||
/datum/ghostspawner/proc/post_spawn(mob/user)
|
||||
if(max_count && count >= max_count)
|
||||
disable()
|
||||
if(welcome_message)
|
||||
to_chat(user, span("notice", welcome_message))
|
||||
return TRUE
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
var/picked_species = input(user,"Select your species") as null|anything in species_selection
|
||||
if(!picked_species)
|
||||
picked_species = "Human"
|
||||
picked_species = possible_species[1]
|
||||
|
||||
//Get the name / age from them first
|
||||
var/mname = get_mob_name(user, picked_species)
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
/datum/design/hardsuitmodules
|
||||
build_type = MECHFAB
|
||||
category = "Hardsuit (Modules)"
|
||||
time = 10
|
||||
|
||||
/datum/design/hardsuitmodules/iss_module
|
||||
name = "IIS module"
|
||||
desc = "An integrated intelligence system module suitable for most hardsuits."
|
||||
id = "iis_module"
|
||||
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 3)
|
||||
materials = list("glass" = 7500, DEFAULT_WALL_MATERIAL = 5000)
|
||||
build_path = /obj/item/rig_module/ai_container
|
||||
|
||||
/datum/design/hardsuitmodules/sink_module
|
||||
name = "hardsuit power sink"
|
||||
desc = "An heavy-duty power sink suitable for hardsuits."
|
||||
id = "power_sink_module"
|
||||
req_tech = list(TECH_POWER = 4, TECH_MATERIAL = 3, TECH_ENGINEERING = 4, TECH_ILLEGAL = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "gold"= 2000, "silver"= 3000, "glass"= 2000)
|
||||
build_path = /obj/item/rig_module/power_sink
|
||||
|
||||
/datum/design/hardsuitmodules/meson_module
|
||||
name = "hardsuit meson scanner"
|
||||
desc = "A layered, translucent visor system for a hardsuit."
|
||||
id = "meson_module"
|
||||
req_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 2, TECH_ENGINEERING = 3)
|
||||
materials = list("glass"= 5000, DEFAULT_WALL_MATERIAL= 1500)
|
||||
build_path = /obj/item/rig_module/vision/meson
|
||||
|
||||
/datum/design/hardsuitmodules/sechud_module
|
||||
name = "hardsuit security hud"
|
||||
desc = "A simple tactical information system for a hardsuit."
|
||||
id = "sechud_module"
|
||||
req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 2, TECH_MAGNET = 3)
|
||||
materials = list("glass" = 5000, DEFAULT_WALL_MATERIAL =1500)
|
||||
build_path = /obj/item/rig_module/vision/sechud
|
||||
|
||||
/datum/design/hardsuitmodules/medhud_module
|
||||
name = "hardsuit medical hud"
|
||||
desc = "A simple medical status indicator for a hardsuit."
|
||||
id = "medhu_module"
|
||||
req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 2, TECH_MAGNET = 3)
|
||||
materials = list("glass"= 5000, DEFAULT_WALL_MATERIAL =1500)
|
||||
build_path = /obj/item/rig_module/vision/medhud
|
||||
|
||||
/datum/design/hardsuitmodules/nvg_module
|
||||
name = "hardsuit night vision interface"
|
||||
desc = "A multi input night vision system for a hardsuit."
|
||||
id = "nvg_module"
|
||||
req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 3, TECH_MAGNET = 4)
|
||||
materials = list("glass" = 5000, DEFAULT_WALL_MATERIAL = 1500, "uranium" = 5000)
|
||||
build_path = /obj/item/rig_module/vision/nvg
|
||||
|
||||
/datum/design/hardsuitmodules/healthscanner_module
|
||||
name = "hardsuit health scanner"
|
||||
desc = "A hardsuit-mounted health scanner."
|
||||
id = "healthscanner_module"
|
||||
req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 3, TECH_MAGNET = 2)
|
||||
materials = list("glass" = 5250, DEFAULT_WALL_MATERIAL = 2500)
|
||||
build_path = /obj/item/rig_module/device/healthscanner
|
||||
|
||||
/datum/design/hardsuitmodules/chem_module
|
||||
name = "mounted chemical injector"
|
||||
desc = "A complex web of tubing and a large needle suitable for hardsuit use."
|
||||
id = "chem_module"
|
||||
req_tech = list(TECH_BIO = 5, TECH_MATERIAL = 4, TECH_DATA = 3, TECH_PHORON = 2)
|
||||
materials = list("glass" = 9250, DEFAULT_WALL_MATERIAL = 10000, "gold" = 2500, "silver" = 4250, "phoron" = 5500)
|
||||
build_path = /obj/item/rig_module/chem_dispenser/injector
|
||||
|
||||
/datum/design/hardsuitmodules/plasmacutter_module
|
||||
name = "hardsuit plasma cutter"
|
||||
desc = "A self-sustaining plasma arc capable of cutting through walls."
|
||||
id = "plasmacutter_module"
|
||||
req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 3, TECH_PHORON = 4)
|
||||
materials = list("glass" = 5250, DEFAULT_WALL_MATERIAL = 30000, "silver" = 5250, "phoron" = 7250)
|
||||
build_path = /obj/item/rig_module/mounted/plasmacutter
|
||||
|
||||
/datum/design/hardsuitmodules/jet_module
|
||||
name = "hardsuit maneuvering jets"
|
||||
desc = "A compact gas thruster system for a hardsuit."
|
||||
id = "jet_module"
|
||||
req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 3, TECH_POWER = 2)
|
||||
materials = list("glass" = 4250, DEFAULT_WALL_MATERIAL = 15000, "silver" = 4250,"uranium" = 5250)
|
||||
build_path = /obj/item/rig_module/maneuvering_jets
|
||||
|
||||
/datum/design/hardsuitmodules/drill_module
|
||||
name = "hardsuit drill mount"
|
||||
desc = "A very heavy diamond-tipped drill."
|
||||
id = "drill_module"
|
||||
req_tech = list(TECH_ENGINEERING = 5, TECH_MATERIAL = 5, TECH_POWER = 4, TECH_MAGNET = 4)
|
||||
materials = list("glass" = 2250, DEFAULT_WALL_MATERIAL = 55000, "silver" = 5250, "diamond" = 3750)
|
||||
build_path = /obj/item/rig_module/device/drill
|
||||
|
||||
/datum/design/hardsuitmodules/rfd_c_module
|
||||
name = "RFD-C mount"
|
||||
desc = "A cell-powered Rapid-Fabrication-Device C-Class for a hardsuit."
|
||||
id = "rcd_module"
|
||||
req_tech = list(TECH_ENGINEERING = 6, TECH_MATERIAL = 5, TECH_POWER = 5, TECH_BLUESPACE = 4)
|
||||
materials = list(DEFAULT_WALL_MATERIAL= 30000, "phoron" = 12500, "silver" = 10000, "gold" = 10000)
|
||||
build_path = /obj/item/rig_module/device/rfd_c
|
||||
|
||||
/datum/design/hardsuitmodules/actuators_module
|
||||
name = "leg actuators"
|
||||
desc = "A set of electromechanical actuators, for safe traversal of multilevelled areas."
|
||||
id = "actuators_module"
|
||||
req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 4, TECH_POWER = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 85000, "glass" = 1250, "silver" = 5250, "gold" = 2750)
|
||||
build_path = /obj/item/rig_module/actuators
|
||||
|
||||
/datum/design/hardsuitmodules/taser_module
|
||||
name = "mounted taser"
|
||||
desc = "A palm-mounted nonlethal energy projector."
|
||||
id = "taser_module"
|
||||
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_COMBAT = 3, TECH_MAGNET = 2)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 5250)
|
||||
build_path = /obj/item/rig_module/mounted/taser
|
||||
|
||||
/datum/design/hardsuitmodules/egun_module
|
||||
name = "mounted energy gun"
|
||||
desc = "A forearm-mounted energy projector."
|
||||
id = "egun_module"
|
||||
req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 4, TECH_COMBAT = 4, TECH_MAGNET = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL= 7000, "glass"= 2250, "uranium"= 3250, "gold"= 2500)
|
||||
build_path = /obj/item/rig_module/mounted/egun
|
||||
|
||||
/datum/design/hardsuitmodules/cooling_module
|
||||
name = "mounted cooling unit"
|
||||
desc = "A heat sink with liquid cooled radiator."
|
||||
id = "cooling_module"
|
||||
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_ENGINEERING = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL= 7000, "glass"= 5500)
|
||||
build_path = /obj/item/rig_module/cooling_unit
|
||||
@@ -0,0 +1,64 @@
|
||||
/datum/design/rig
|
||||
build_type = MECHFAB
|
||||
category = "Hardsuit (Assemblies)"
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000, "glass" = 12500)
|
||||
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 2, TECH_MAGNET = 3, TECH_POWER = 3)
|
||||
time = 20
|
||||
|
||||
/datum/design/rig/ce
|
||||
name = "advanced voidsuit control module assembly"
|
||||
desc = "An assembly frame for an advanced voidsuit that protects against hazardous, low pressure environments."
|
||||
id = "rig_ce"
|
||||
build_path = /obj/item/rig_assembly/ce
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_POWER = 4)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 12500, "silver" = 5500, "gold" = 5500, "phoron" = 7550)
|
||||
|
||||
/datum/design/rig/eva
|
||||
name = "EVA suit control module assembly"
|
||||
desc = "An assembly for light rig that is desiged for repairs and maintenance to the outside of habitats and vessels."
|
||||
id = "rig_eva"
|
||||
build_path = /obj/item/rig_assembly/eva
|
||||
|
||||
/datum/design/rig/industrial
|
||||
name = "industrial suit control module assembly"
|
||||
desc = "An assembly for a heavy, powerful rig used by construction crews and mining corporations."
|
||||
id = "rig_industrial"
|
||||
build_path = /obj/item/rig_assembly/industrial
|
||||
|
||||
/datum/design/rig/hazmat
|
||||
name = "AMI control module assembly"
|
||||
desc = "An assembly for Anomalous Material Interaction hardsuit that protects against the strangest energies the universe can throw at it."
|
||||
id = "rig_hazmat"
|
||||
build_path = /obj/item/rig_assembly/hazmat
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 25000, "silver" = 5500, "gold" = 5500, "phoron" = 7550)
|
||||
|
||||
/datum/design/rig/medical
|
||||
name = "rescue suit control module assembly"
|
||||
desc = "An assembly for a durable suit designed for medical rescue in high risk areas."
|
||||
id = "rig_medical"
|
||||
build_path = /obj/item/rig_assembly/medical
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 12500, "silver" = 5500, "gold" = 3500, "phoron" = 7550)
|
||||
|
||||
/datum/design/rig/hazard
|
||||
name = "hazard hardsuit control module"
|
||||
desc = "An assembly for a security hardsuit designed for prolonged EVA in dangerous environments."
|
||||
id = "rig_hazard"
|
||||
build_path = /obj/item/rig_assembly/combat/hazard
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_POWER = 3, TECH_COMBAT = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000, "glass" = 12500, "silver" = 3500, "gold" = 5500)
|
||||
|
||||
/datum/design/rig/combat
|
||||
name = "combat hardsuit control module assembly"
|
||||
desc = "An assembly frame for a sleek and dangerous hardsuit for active combat."
|
||||
id = "rig_combat"
|
||||
build_path = /obj/item/rig_assembly/combat/combat
|
||||
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_MAGNET = 3, TECH_POWER = 3, TECH_COMBAT = 5)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000, "glass" = 12500, "silver" = 3500, "gold" = 3500, "uranium" = 5550, "diamond" = 7500)
|
||||
|
||||
/datum/design/rig/hacker
|
||||
name = "cybersuit control module assembly"
|
||||
desc = "An assembly for an advanced powered armour suit with many cyberwarfare enhancements. Comes with built-in insulated gloves for safely tampering with electronics."
|
||||
id = "rig_hacker"
|
||||
build_path = /obj/item/rig_assembly/combat/illegal/hacker
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 2, TECH_POWER = 3, TECH_COMBAT = 3, TECH_ILLEGAL = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 12500, "gold" = 2500, "silver" = 3500, "uranium" = 5550)
|
||||
@@ -0,0 +1,58 @@
|
||||
/datum/design/item/mechfab/durand
|
||||
category = "Durand"
|
||||
|
||||
/datum/design/item/mechfab/durand/chassis
|
||||
name = "Durand chassis"
|
||||
id = "durand_chassis"
|
||||
build_path = /obj/item/mecha_parts/chassis/durand
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000)
|
||||
|
||||
/datum/design/item/mechfab/durand/torso
|
||||
name = "Durand torso"
|
||||
id = "durand_torso"
|
||||
build_path = /obj/item/mecha_parts/part/durand_torso
|
||||
time = 30
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 55000, "glass" = 20000, "silver" = 10000)
|
||||
|
||||
/datum/design/item/mechfab/durand/head
|
||||
name = "Durand head"
|
||||
id = "durand_head"
|
||||
build_path = /obj/item/mecha_parts/part/durand_head
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 10000, "silver" = 3000)
|
||||
|
||||
/datum/design/item/mechfab/durand/left_arm
|
||||
name = "Durand left arm"
|
||||
id = "durand_left_arm"
|
||||
build_path = /obj/item/mecha_parts/part/durand_left_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 35000, "silver" = 3000)
|
||||
|
||||
/datum/design/item/mechfab/durand/right_arm
|
||||
name = "Durand right arm"
|
||||
id = "durand_right_arm"
|
||||
build_path = /obj/item/mecha_parts/part/durand_right_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 35000, "silver" = 3000)
|
||||
|
||||
/datum/design/item/mechfab/durand/left_leg
|
||||
name = "Durand left leg"
|
||||
id = "durand_left_leg"
|
||||
build_path = /obj/item/mecha_parts/part/durand_left_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 40000, "silver" = 3000)
|
||||
|
||||
/datum/design/item/mechfab/durand/right_leg
|
||||
name = "Durand right leg"
|
||||
id = "durand_right_leg"
|
||||
build_path = /obj/item/mecha_parts/part/durand_right_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 40000, "silver" = 3000)
|
||||
|
||||
/datum/design/item/mechfab/durand/armour
|
||||
name = "Durand armour plates"
|
||||
id = "durand_armour"
|
||||
build_path = /obj/item/mecha_parts/part/durand_armour
|
||||
time = 60
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 50000, "uranium" = 10000)
|
||||
@@ -0,0 +1,58 @@
|
||||
/datum/design/item/mechfab/gygax
|
||||
category = "Gygax"
|
||||
|
||||
/datum/design/item/mechfab/gygax/chassis
|
||||
name = "Gygax chassis"
|
||||
id = "gygax_chassis"
|
||||
build_path = /obj/item/mecha_parts/chassis/gygax
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/torso
|
||||
name = "Gygax torso"
|
||||
id = "gygax_torso"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_torso
|
||||
time = 30
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 50000, "glass" = 20000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/head
|
||||
name = "Gygax head"
|
||||
id = "gygax_head"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_head
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "glass" = 10000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/left_arm
|
||||
name = "Gygax left arm"
|
||||
id = "gygax_left_arm"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_left_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/right_arm
|
||||
name = "Gygax right arm"
|
||||
id = "gygax_right_arm"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_right_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/left_leg
|
||||
name = "Gygax left leg"
|
||||
id = "gygax_left_leg"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_left_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 35000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/right_leg
|
||||
name = "Gygax right leg"
|
||||
id = "gygax_right_leg"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_right_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 35000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/armour
|
||||
name = "Gygax armour plates"
|
||||
id = "gygax_armour"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_armour
|
||||
time = 60
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 50000, "diamond" = 10000)
|
||||
@@ -0,0 +1,51 @@
|
||||
/datum/design/item/mechfab/hermes
|
||||
category = "Hermes"
|
||||
|
||||
/datum/design/item/mechfab/hermes/chassis
|
||||
name = "Hermes chassis"
|
||||
id = "hermes_chassis"
|
||||
build_path = /obj/item/mecha_parts/chassis/hermes
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000)
|
||||
|
||||
/datum/design/item/mechfab/hermes/torso
|
||||
name = "Hermes torso"
|
||||
id = "hermes_torso"
|
||||
build_path = /obj/item/mecha_parts/part/hermes_torso
|
||||
time = 18
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 21000)
|
||||
|
||||
/datum/design/item/mechfab/hermes/head
|
||||
name = "Hermes head"
|
||||
id = "hermes_head"
|
||||
build_path = /obj/item/mecha_parts/part/hermes_head
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 1000)
|
||||
|
||||
/datum/design/item/mechfab/hermes/left_arm
|
||||
name = "Hermes left arm"
|
||||
id = "hermes_left_arm"
|
||||
build_path = /obj/item/mecha_parts/part/hermes_left_arm
|
||||
time = 12
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mechfab/hermes/right_arm
|
||||
name = "Hermes right arm"
|
||||
id = "hermes_right_arm"
|
||||
build_path = /obj/item/mecha_parts/part/hermes_right_arm
|
||||
time = 12
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mechfab/hermes/left_leg
|
||||
name = "Hermes left leg"
|
||||
id = "hermes_left_leg"
|
||||
build_path = /obj/item/mecha_parts/part/hermes_left_leg
|
||||
time = 13
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mechfab/hermes/right_leg
|
||||
name = "Hermes right leg"
|
||||
id = "hermes_right_leg"
|
||||
build_path = /obj/item/mecha_parts/part/hermes_right_leg
|
||||
time = 13
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
@@ -0,0 +1,24 @@
|
||||
/datum/design/item/mecha
|
||||
build_type = MECHFAB
|
||||
category = "Exosuit Equipment"
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mecha/AssembleDesignDesc()
|
||||
if(!desc)
|
||||
desc = "Allows for the construction of \a '[item_name]' exosuit module."
|
||||
|
||||
/datum/design/item/mecha/tracking
|
||||
name = "Exosuit tracking beacon"
|
||||
id = "exotrack"
|
||||
build_type = MECHFAB
|
||||
time = 5
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 500)
|
||||
build_path = /obj/item/mecha_parts/mecha_tracking
|
||||
|
||||
/datum/design/item/mecha/tracking/control
|
||||
name = "Exosuit control beacon"
|
||||
id = "exocontrol"
|
||||
time = 30
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 3000)
|
||||
build_path = /obj/item/mecha_parts/mecha_tracking/control
|
||||
@@ -0,0 +1,144 @@
|
||||
/datum/design/item/mecha/tool
|
||||
build_type = MECHFAB
|
||||
category = "Exosuit Equipment (Tools)"
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mecha/tool/hydraulic_clamp
|
||||
name = "Hydraulic clamp"
|
||||
id = "hydraulic_clamp"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp
|
||||
|
||||
/datum/design/item/mecha/tool/drill
|
||||
name = "Drill"
|
||||
id = "drill"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/drill
|
||||
|
||||
/datum/design/item/mecha/tool/kinetic_accelerator
|
||||
name = "Burst kinetic accelerator"
|
||||
id = "kinetic_accelerator"
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_PHORON = 3)
|
||||
materials = list("glass" = 2250, DEFAULT_WALL_MATERIAL = 55000, "silver" = 5250)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/kin_accelerator
|
||||
|
||||
/datum/design/item/mecha/tool/kinetic_accelerator/burst
|
||||
name = "Kinetic accelerator"
|
||||
id = "kinetic_accelerator_burst"
|
||||
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_MAGNET = 4, TECH_PHORON = 4)
|
||||
materials = list("glass" = 5250, DEFAULT_WALL_MATERIAL = 60000, "silver" = 7250)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/kin_accelerator/burst
|
||||
|
||||
/datum/design/item/mecha/tool/extinguisher
|
||||
name = "Extinguisher"
|
||||
id = "extinguisher"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/extinguisher
|
||||
|
||||
/datum/design/item/mecha/tool/cable_layer
|
||||
name = "Cable layer"
|
||||
id = "mech_cable_layer"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/cable_layer
|
||||
|
||||
/datum/design/item/mecha/tool/sleeper
|
||||
name = "Sleeper"
|
||||
id = "mech_sleeper"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/sleeper
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 10000)
|
||||
|
||||
/datum/design/item/mecha/tool/syringe_gun
|
||||
name = "Syringe gun"
|
||||
id = "mech_syringe_gun"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/syringe_gun
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 2000)
|
||||
|
||||
/datum/design/item/mecha/tool/passenger
|
||||
name = "Passenger compartment"
|
||||
id = "mech_passenger"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/passenger
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000)
|
||||
|
||||
/datum/design/item/mecha/tool/wormhole_gen
|
||||
name = "Wormhole generator"
|
||||
desc = "An exosuit module that can generate small quasi-stable wormholes."
|
||||
id = "mech_wormhole_gen"
|
||||
req_tech = list(TECH_BLUESPACE = 3, TECH_MAGNET = 2)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/wormhole_generator
|
||||
|
||||
/datum/design/item/mecha/tool/teleporter
|
||||
name = "Teleporter"
|
||||
desc = "An exosuit module that allows teleportation to any position in view."
|
||||
id = "mech_teleporter"
|
||||
req_tech = list(TECH_BLUESPACE = 6, TECH_MAGNET = 5)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/teleporter
|
||||
|
||||
/datum/design/item/mecha/tool/rfd_c
|
||||
name = "RFD-C"
|
||||
desc = "An exosuit-mounted Rapid-Fabrication-Device C-Class."
|
||||
id = "mech_rfd_c"
|
||||
time = 120
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000, "phoron" = 25000, "silver" = 20000, "gold" = 20000)
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 3, TECH_MAGNET = 4, TECH_POWER = 4, TECH_ENGINEERING = 4)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/rfd_c
|
||||
|
||||
/datum/design/item/mecha/tool/gravcatapult
|
||||
name = "Gravitational catapult"
|
||||
desc = "An exosuit-mounted gravitational catapult."
|
||||
id = "mech_gravcatapult"
|
||||
req_tech = list(TECH_BLUESPACE = 2, TECH_MAGNET = 3, TECH_ENGINEERING = 3)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/gravcatapult
|
||||
|
||||
/datum/design/item/mecha/tool/repair_droid
|
||||
name = "Repair droid"
|
||||
desc = "Automated repair droid, exosuits' best companion. BEEP BOOP"
|
||||
id = "mech_repair_droid"
|
||||
req_tech = list(TECH_MAGNET = 3, TECH_DATA = 3, TECH_ENGINEERING = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "gold" = 1000, "silver" = 2000, "glass" = 5000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/repair_droid
|
||||
|
||||
/datum/design/item/mecha/tool/phoron_generator
|
||||
name = "Phoron generator"
|
||||
desc = "Converts sheets of phoron into energy."
|
||||
id = "mech_phoron_generator"
|
||||
req_tech = list(TECH_PHORON = 2, TECH_POWER= 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/generator
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "silver" = 500, "glass" = 1000)
|
||||
|
||||
/datum/design/item/mecha/tool/energy_relay
|
||||
name = "Energy relay"
|
||||
desc = "Saps power from APCs in range to power on-board energy cell."
|
||||
id = "mech_energy_relay"
|
||||
req_tech = list(TECH_MAGNET = 4, TECH_POWER = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "gold" = 2000, "silver" = 3000, "glass" = 2000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay
|
||||
|
||||
/datum/design/item/mecha/tool/ccw_armor
|
||||
name = "CQC armor booster"
|
||||
desc = "Exosuit close-combat armor booster. Anti-melee."
|
||||
id = "mech_cqc_armor"
|
||||
req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 4)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "silver" = 5000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/armor_booster/anticcw_armor_booster
|
||||
|
||||
/datum/design/item/mecha/tool/proj_armor
|
||||
name = "Ranged-combat armor booster"
|
||||
desc = "Exosuit projectile armor booster. Anti-firearm."
|
||||
id = "mech_proj_armor"
|
||||
req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 5, TECH_ENGINEERING = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "gold" = 5000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/armor_booster/antiproj_armor_booster
|
||||
|
||||
/datum/design/item/mecha/tool/diamond_drill
|
||||
name = "Diamond drill"
|
||||
desc = "A diamond version of the exosuit drill. It's harder, better, faster, stronger."
|
||||
id = "mech_diamond_drill"
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "diamond" = 6500)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill
|
||||
|
||||
/datum/design/item/mecha/tool/generator_nuclear
|
||||
name = "Nuclear generator"
|
||||
desc = "Exosuit-held nuclear reactor. Converts uranium into energy. Leaks radiation."
|
||||
id = "mech_generator_nuclear"
|
||||
req_tech = list(TECH_POWER= 3, TECH_ENGINEERING = 3, TECH_MATERIAL = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "silver" = 500, "glass" = 1000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/generator/nuclear
|
||||
@@ -0,0 +1,112 @@
|
||||
/datum/design/item/mecha/weapon
|
||||
req_tech = list(TECH_COMBAT = 3)
|
||||
build_type = MECHFAB
|
||||
category = "Exosuit Equipment (Weapons)"
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mecha/weapon/flamethrower
|
||||
name = "Flamethrower"
|
||||
id = "flamethrower"
|
||||
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 4, TECH_COMBAT = 2, TECH_PHORON = 2)
|
||||
materials = list("glass" = 5250, DEFAULT_WALL_MATERIAL = 40000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/flamethrower
|
||||
|
||||
/datum/design/item/mecha/weapon/taser
|
||||
name = "Mounted taser carbine"
|
||||
id = "mech_taser"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser
|
||||
|
||||
/datum/design/item/mecha/weapon/lmg
|
||||
name = "Mounted machine gun"
|
||||
id = "mech_lmg"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg
|
||||
|
||||
/datum/design/item/mecha/weapon/scattershot
|
||||
name = "Mounted shotgun"
|
||||
id = "mech_scattershot"
|
||||
req_tech = list(TECH_COMBAT = 4)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot
|
||||
|
||||
/datum/design/item/mecha/weapon/laser
|
||||
name = "Mounted laser carbine"
|
||||
id = "mech_laser"
|
||||
req_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 3)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser
|
||||
|
||||
/datum/design/item/mecha/weapon/laser_rigged
|
||||
name = "Jury-rigged welder-laser"
|
||||
desc = "Allows for the construction of a welder-laser assembly package for non-combat exosuits."
|
||||
id = "mech_laser_rigged"
|
||||
req_tech = list(TECH_COMBAT = 2, TECH_MAGNET = 2)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser
|
||||
|
||||
/datum/design/item/mecha/weapon/laser_heavy
|
||||
name = "Mounted laser cannon"
|
||||
id = "mech_laser_heavy"
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy
|
||||
|
||||
/datum/design/item/mecha/weapon/ion
|
||||
name = "Heavy ion cannon"
|
||||
id = "mech_ion"
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/ion
|
||||
|
||||
/datum/design/item/mecha/weapon/laser_gatling
|
||||
name = "Mounted gatling laser"
|
||||
id = "laser_gatling"
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/gatling
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "gold" = 6000)
|
||||
|
||||
/datum/design/item/mecha/weapon/xray_gatling
|
||||
name = "Gatling xray gun"
|
||||
id = "xray_gatling"
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4, TECH_MATERIAL = 5, TECH_ILLEGAL = 3)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/xray
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "gold" = 6000, "phoron" = 6000)
|
||||
|
||||
/datum/design/item/mecha/weapon/tesla_gun
|
||||
name = "Mounted tesla cannon"
|
||||
id = "tesla_gun"
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 5, TECH_MATERIAL = 5)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/tesla
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "silver" = 6000, "phoron" = 6000)
|
||||
|
||||
/datum/design/item/mecha/weapon/gyro_gun
|
||||
name = "Mounted gyrojet autocannon"
|
||||
id = "gyro_gun"
|
||||
req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 5, TECH_MATERIAL = 6, TECH_ILLEGAL = 5)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/gyro
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "silver" = 6000, "phoron" = 6000, "diamond" = 7500)
|
||||
|
||||
/datum/design/item/mecha/weapon/grenade_launcher
|
||||
name = "Grenade launcher"
|
||||
id = "mech_grenade_launcher"
|
||||
req_tech = list(TECH_COMBAT = 3)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang
|
||||
|
||||
/datum/design/item/mecha/weapon/clusterbang_launcher
|
||||
name = "Clusterbang Grenade launcher"
|
||||
desc = "A weapon that violates the Geneva Convention at 6 rounds per minute."
|
||||
id = "clusterbang_launcher"
|
||||
req_tech = list(TECH_COMBAT= 5, TECH_MATERIAL = 5, TECH_ILLEGAL = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "gold" = 6000, "uranium" = 6000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang/limited
|
||||
|
||||
/datum/design/item/mecha/weapon/plasma_cutter
|
||||
name = "Heavy plasma cutter"
|
||||
desc = "A large mining tool capable of expelling concentrated plasma bursts, useful for crushing rocks."
|
||||
id = "mecha_plasmacutter"
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_PHORON = 4, TECH_ENGINEERING = 4)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "gold" = 1000, "phoron" = 1000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma
|
||||
|
||||
/datum/design/item/mecha/weapon/incendiary
|
||||
name = "Mounted incendiary carbine"
|
||||
desc = "A weapon for combat exosuits. Shoots incendiary shells."
|
||||
id = "mecha_incendiary"
|
||||
req_tech = list(TECH_COMBAT= 4, TECH_MATERIAL = 4, TECH_PHORON = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "phoron" = 1000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/incendiary
|
||||
@@ -0,0 +1,51 @@
|
||||
/datum/design/item/mechfab/odysseus
|
||||
category = "Odysseus"
|
||||
|
||||
/datum/design/item/mechfab/odysseus/chassis
|
||||
name = "Odysseus chassis"
|
||||
id = "odysseus_chassis"
|
||||
build_path = /obj/item/mecha_parts/chassis/odysseus
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000)
|
||||
|
||||
/datum/design/item/mechfab/odysseus/torso
|
||||
name = "Odysseus torso"
|
||||
id = "odysseus_torso"
|
||||
build_path = /obj/item/mecha_parts/part/odysseus_torso
|
||||
time = 18
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000)
|
||||
|
||||
/datum/design/item/mechfab/odysseus/head
|
||||
name = "Odysseus head"
|
||||
id = "odysseus_head"
|
||||
build_path = /obj/item/mecha_parts/part/odysseus_head
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 10000)
|
||||
|
||||
/datum/design/item/mechfab/odysseus/left_arm
|
||||
name = "Odysseus left arm"
|
||||
id = "odysseus_left_arm"
|
||||
build_path = /obj/item/mecha_parts/part/odysseus_left_arm
|
||||
time = 12
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mechfab/odysseus/right_arm
|
||||
name = "Odysseus right arm"
|
||||
id = "odysseus_right_arm"
|
||||
build_path = /obj/item/mecha_parts/part/odysseus_right_arm
|
||||
time = 12
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mechfab/odysseus/left_leg
|
||||
name = "Odysseus left leg"
|
||||
id = "odysseus_left_leg"
|
||||
build_path = /obj/item/mecha_parts/part/odysseus_left_leg
|
||||
time = 13
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 15000)
|
||||
|
||||
/datum/design/item/mechfab/odysseus/right_leg
|
||||
name = "Odysseus right leg"
|
||||
id = "odysseus_right_leg"
|
||||
build_path = /obj/item/mecha_parts/part/odysseus_right_leg
|
||||
time = 13
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 15000)
|
||||
@@ -0,0 +1,49 @@
|
||||
/datum/design/item/mechfab/ripley
|
||||
category = "Ripley"
|
||||
|
||||
/datum/design/item/mechfab/ripley/chassis
|
||||
name = "Ripley chassis"
|
||||
id = "ripley_chassis"
|
||||
build_path = /obj/item/mecha_parts/chassis/ripley
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000)
|
||||
|
||||
/datum/design/item/mechfab/ripley/chassis/firefighter
|
||||
name = "Firefigher chassis"
|
||||
id = "firefighter_chassis"
|
||||
build_path = /obj/item/mecha_parts/chassis/firefighter
|
||||
|
||||
/datum/design/item/mechfab/ripley/torso
|
||||
name = "Ripley torso"
|
||||
id = "ripley_torso"
|
||||
build_path = /obj/item/mecha_parts/part/ripley_torso
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 40000, "glass" = 15000)
|
||||
|
||||
/datum/design/item/mechfab/ripley/left_arm
|
||||
name = "Ripley left arm"
|
||||
id = "ripley_left_arm"
|
||||
build_path = /obj/item/mecha_parts/part/ripley_left_arm
|
||||
time = 15
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000)
|
||||
|
||||
/datum/design/item/mechfab/ripley/right_arm
|
||||
name = "Ripley right arm"
|
||||
id = "ripley_right_arm"
|
||||
build_path = /obj/item/mecha_parts/part/ripley_right_arm
|
||||
time = 15
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000)
|
||||
|
||||
/datum/design/item/mechfab/ripley/left_leg
|
||||
name = "Ripley left leg"
|
||||
id = "ripley_left_leg"
|
||||
build_path = /obj/item/mecha_parts/part/ripley_left_leg
|
||||
time = 15
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000)
|
||||
|
||||
/datum/design/item/mechfab/ripley/right_leg
|
||||
name = "Ripley right leg"
|
||||
id = "ripley_right_leg"
|
||||
build_path = /obj/item/mecha_parts/part/ripley_right_leg
|
||||
time = 15
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000)
|
||||
@@ -0,0 +1,38 @@
|
||||
/datum/design/item/mechfab/prosthetic
|
||||
category = "Prosthetic (External)"
|
||||
|
||||
//if the fabricator is a mech fab pass the manufacturer info over to the robot part constructor
|
||||
/datum/design/item/mechfab/prosthetic/Fabricate(var/newloc, var/fabricator)
|
||||
if(istype(fabricator, /obj/machinery/mecha_part_fabricator))
|
||||
var/obj/machinery/mecha_part_fabricator/mechfab = fabricator
|
||||
return new build_path(newloc, mechfab.manufacturer)
|
||||
return ..()
|
||||
|
||||
// Copied from robot.dm, but reflavoured to be more fitting to prosthetics.
|
||||
/datum/design/item/mechfab/prosthetic/l_arm
|
||||
name = "Prosthetic left arm"
|
||||
id = "robot_l_arm"
|
||||
build_path = /obj/item/robot_parts/l_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 18000)
|
||||
|
||||
/datum/design/item/mechfab/prosthetic/r_arm
|
||||
name = "Prosthetic right arm"
|
||||
id = "robot_r_arm"
|
||||
build_path = /obj/item/robot_parts/r_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 18000)
|
||||
|
||||
/datum/design/item/mechfab/prosthetic/l_leg
|
||||
name = "Prosthetic left leg"
|
||||
id = "robot_l_leg"
|
||||
build_path = /obj/item/robot_parts/l_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 15000)
|
||||
|
||||
/datum/design/item/mechfab/prosthetic/r_leg
|
||||
name = "Prosthetic right leg"
|
||||
id = "robot_r_leg"
|
||||
build_path = /obj/item/robot_parts/r_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 15000)
|
||||
@@ -0,0 +1,35 @@
|
||||
/datum/design/item/mechfab/prosthetic/internal
|
||||
category = "Prosthetic (Internal)"
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 9000, "glass" = 3000)
|
||||
|
||||
//make sure the printed organ is actually robotic
|
||||
/datum/design/item/mechfab/prosthetic/internal/Fabricate()
|
||||
var/obj/item/organ/O = ..()
|
||||
O.robotize()
|
||||
return O
|
||||
|
||||
/datum/design/item/mechfab/prosthetic/internal/heart
|
||||
name = "Prosthetic Heart"
|
||||
id = "robotic_heart"
|
||||
build_path = /obj/item/organ/heart
|
||||
|
||||
/datum/design/item/mechfab/prosthetic/internal/lungs
|
||||
name = "Prosthetic Lungs"
|
||||
id = "robotic_lungs"
|
||||
build_path = /obj/item/organ/lungs
|
||||
|
||||
/datum/design/item/mechfab/prosthetic/internal/kidneys
|
||||
name = "Prosthetic Kidneys"
|
||||
id = "robotic_kidneys"
|
||||
build_path = /obj/item/organ/kidneys
|
||||
|
||||
/datum/design/item/mechfab/prosthetic/internal/eyes
|
||||
name = "Prosthetic Eyes"
|
||||
id = "robotic_eyes"
|
||||
build_path = /obj/item/organ/eyes
|
||||
|
||||
/datum/design/item/mechfab/prosthetic/internal/liver
|
||||
name = "Prosthetic Liver"
|
||||
id = "robotic_liver"
|
||||
build_path = /obj/item/organ/liver
|
||||
@@ -0,0 +1,111 @@
|
||||
/datum/design/item/mechfab
|
||||
build_type = MECHFAB
|
||||
req_tech = list()
|
||||
|
||||
/datum/design/item/mechfab/robot
|
||||
category = "Robot"
|
||||
|
||||
//if the fabricator is a mech fab pass the manufacturer info over to the robot part constructor
|
||||
/datum/design/item/mechfab/robot/Fabricate(var/newloc, var/fabricator)
|
||||
if(istype(fabricator, /obj/machinery/mecha_part_fabricator))
|
||||
var/obj/machinery/mecha_part_fabricator/mechfab = fabricator
|
||||
return new build_path(newloc, mechfab.manufacturer)
|
||||
return ..()
|
||||
|
||||
/datum/design/item/mechfab/robot/exoskeleton
|
||||
name = "Robot exoskeleton"
|
||||
id = "robot_exoskeleton"
|
||||
build_path = /obj/item/robot_parts/robot_suit
|
||||
time = 50
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 50000)
|
||||
|
||||
/datum/design/item/mechfab/robot/torso
|
||||
name = "Robot torso"
|
||||
id = "robot_torso"
|
||||
build_path = /obj/item/robot_parts/chest
|
||||
time = 35
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 40000)
|
||||
|
||||
/datum/design/item/mechfab/robot/head
|
||||
name = "Robot head"
|
||||
id = "robot_head"
|
||||
build_path = /obj/item/robot_parts/head
|
||||
time = 35
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000)
|
||||
|
||||
/datum/design/item/mechfab/robot/l_arm
|
||||
name = "Robot left arm"
|
||||
id = "robot_l_arm"
|
||||
build_path = /obj/item/robot_parts/l_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 18000)
|
||||
|
||||
/datum/design/item/mechfab/robot/r_arm
|
||||
name = "Robot right arm"
|
||||
id = "robot_r_arm"
|
||||
build_path = /obj/item/robot_parts/r_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 18000)
|
||||
|
||||
/datum/design/item/mechfab/robot/l_leg
|
||||
name = "Robot left leg"
|
||||
id = "robot_l_leg"
|
||||
build_path = /obj/item/robot_parts/l_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 15000)
|
||||
|
||||
/datum/design/item/mechfab/robot/r_leg
|
||||
name = "Robot right leg"
|
||||
id = "robot_r_leg"
|
||||
build_path = /obj/item/robot_parts/r_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 15000)
|
||||
|
||||
/datum/design/item/mechfab/robot/component
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 5000)
|
||||
|
||||
/datum/design/item/mechfab/robot/component/synthetic_flash
|
||||
name = "Synthetic flash"
|
||||
id = "sflash"
|
||||
req_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 2)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 750, "glass" = 750)
|
||||
build_path = /obj/item/device/flash/synthetic
|
||||
|
||||
/datum/design/item/mechfab/robot/component/binary_communication_device
|
||||
name = "Binary communication device"
|
||||
id = "binary_communication_device"
|
||||
build_path = /obj/item/robot_parts/robot_component/binary_communication_device
|
||||
|
||||
/datum/design/item/mechfab/robot/component/radio
|
||||
name = "Radio"
|
||||
id = "radio"
|
||||
build_path = /obj/item/robot_parts/robot_component/radio
|
||||
|
||||
/datum/design/item/mechfab/robot/component/actuator
|
||||
name = "Actuator"
|
||||
id = "actuator"
|
||||
build_path = /obj/item/robot_parts/robot_component/actuator
|
||||
|
||||
/datum/design/item/mechfab/robot/component/diagnosis_unit
|
||||
name = "Diagnosis unit"
|
||||
id = "diagnosis_unit"
|
||||
build_path = /obj/item/robot_parts/robot_component/diagnosis_unit
|
||||
|
||||
/datum/design/item/mechfab/robot/component/camera
|
||||
name = "Camera"
|
||||
id = "camera"
|
||||
build_path = /obj/item/robot_parts/robot_component/camera
|
||||
|
||||
/datum/design/item/mechfab/robot/component/armour
|
||||
name = "Armour plating"
|
||||
id = "armour"
|
||||
build_path = /obj/item/robot_parts/robot_component/armour
|
||||
|
||||
/datum/design/item/mechfab/robot/component/surge
|
||||
name = "Heavy surge prevention module"
|
||||
desc = "Used to boost prevent damage from EMP. Has limited surge preventions."
|
||||
id = "borg_surge_module"
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "glass" = 6000, "gold" = 5000, "silver" = 7500) // Should be expensive
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 2, TECH_MAGNET = 5, TECH_POWER = 5, TECH_ENGINEERING = 4, TECH_COMBAT = 3)
|
||||
build_path = /obj/item/robot_parts/robot_component/surge
|
||||
@@ -0,0 +1,52 @@
|
||||
/datum/design/item/robot_upgrade
|
||||
build_type = MECHFAB
|
||||
time = 12
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
category = "Cyborg Upgrade Modules"
|
||||
|
||||
/datum/design/item/robot_upgrade/rename
|
||||
name = "Rename module"
|
||||
desc = "Used to rename a cyborg."
|
||||
id = "borg_rename_module"
|
||||
build_path = /obj/item/borg/upgrade/rename
|
||||
|
||||
/datum/design/item/robot_upgrade/reset
|
||||
name = "Reset module"
|
||||
desc = "Used to reset a cyborg's module. Destroys any other upgrades applied to the robot."
|
||||
id = "borg_reset_module"
|
||||
build_path = /obj/item/borg/upgrade/reset
|
||||
|
||||
/datum/design/item/robot_upgrade/floodlight
|
||||
name = "Floodlight module"
|
||||
desc = "Used to boost cyborg's integrated light intensity."
|
||||
id = "borg_floodlight_module"
|
||||
build_path = /obj/item/borg/upgrade/floodlight
|
||||
|
||||
/datum/design/item/robot_upgrade/restart
|
||||
name = "Emergency restart module"
|
||||
desc = "Used to force a restart of a disabled-but-repaired robot, bringing it back online."
|
||||
id = "borg_restart_module"
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 60000, "glass" = 5000)
|
||||
build_path = /obj/item/borg/upgrade/restart
|
||||
|
||||
/datum/design/item/robot_upgrade/vtec
|
||||
name = "VTEC module"
|
||||
desc = "Used to kick in a robot's VTEC systems, increasing their speed."
|
||||
id = "borg_vtec_module"
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 80000, "glass" = 6000, "gold" = 5000)
|
||||
build_path = /obj/item/borg/upgrade/vtec
|
||||
|
||||
/datum/design/item/robot_upgrade/jetpack
|
||||
name = "Jetpack module"
|
||||
desc = "A carbon dioxide jetpack suitable for low-gravity mining operations."
|
||||
id = "borg_jetpack_module"
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "phoron" = 15000, "uranium" = 20000)
|
||||
build_path = /obj/item/robot_parts/robot_component/jetpack
|
||||
|
||||
/datum/design/item/robot_upgrade/syndicate
|
||||
name = "Illegal upgrade"
|
||||
desc = "Allows for the construction of lethal upgrades for cyborgs."
|
||||
id = "borg_syndicate_module"
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_ILLEGAL = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 15000, "diamond" = 10000)
|
||||
build_path = /obj/item/borg/upgrade/syndicate
|
||||
@@ -1,934 +0,0 @@
|
||||
/datum/design/item/mechfab
|
||||
build_type = MECHFAB
|
||||
category = "Misc"
|
||||
req_tech = list(TECH_MATERIAL = 1)
|
||||
|
||||
/datum/design/item/mechfab/robot
|
||||
category = "Robot"
|
||||
|
||||
//if the fabricator is a mech fab pass the manufacturer info over to the robot part constructor
|
||||
/datum/design/item/mechfab/robot/Fabricate(var/newloc, var/fabricator)
|
||||
if(istype(fabricator, /obj/machinery/mecha_part_fabricator))
|
||||
var/obj/machinery/mecha_part_fabricator/mechfab = fabricator
|
||||
return new build_path(newloc, mechfab.manufacturer)
|
||||
return ..()
|
||||
|
||||
/datum/design/item/mechfab/robot/exoskeleton
|
||||
name = "Robot exoskeleton"
|
||||
id = "robot_exoskeleton"
|
||||
build_path = /obj/item/robot_parts/robot_suit
|
||||
time = 50
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 50000)
|
||||
|
||||
/datum/design/item/mechfab/robot/torso
|
||||
name = "Robot torso"
|
||||
id = "robot_torso"
|
||||
build_path = /obj/item/robot_parts/chest
|
||||
time = 35
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 40000)
|
||||
|
||||
/datum/design/item/mechfab/robot/head
|
||||
name = "Robot head"
|
||||
id = "robot_head"
|
||||
build_path = /obj/item/robot_parts/head
|
||||
time = 35
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000)
|
||||
|
||||
/datum/design/item/mechfab/robot/l_arm
|
||||
name = "Robot left arm"
|
||||
id = "robot_l_arm"
|
||||
build_path = /obj/item/robot_parts/l_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 18000)
|
||||
|
||||
/datum/design/item/mechfab/robot/r_arm
|
||||
name = "Robot right arm"
|
||||
id = "robot_r_arm"
|
||||
build_path = /obj/item/robot_parts/r_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 18000)
|
||||
|
||||
/datum/design/item/mechfab/robot/l_leg
|
||||
name = "Robot left leg"
|
||||
id = "robot_l_leg"
|
||||
build_path = /obj/item/robot_parts/l_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 15000)
|
||||
|
||||
/datum/design/item/mechfab/robot/r_leg
|
||||
name = "Robot right leg"
|
||||
id = "robot_r_leg"
|
||||
build_path = /obj/item/robot_parts/r_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 15000)
|
||||
|
||||
/datum/design/item/mechfab/robot/component
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 5000)
|
||||
|
||||
/datum/design/item/mechfab/robot/component/binary_communication_device
|
||||
name = "Binary communication device"
|
||||
id = "binary_communication_device"
|
||||
build_path = /obj/item/robot_parts/robot_component/binary_communication_device
|
||||
|
||||
/datum/design/item/mechfab/robot/component/radio
|
||||
name = "Radio"
|
||||
id = "radio"
|
||||
build_path = /obj/item/robot_parts/robot_component/radio
|
||||
|
||||
/datum/design/item/mechfab/robot/component/actuator
|
||||
name = "Actuator"
|
||||
id = "actuator"
|
||||
build_path = /obj/item/robot_parts/robot_component/actuator
|
||||
|
||||
/datum/design/item/mechfab/robot/component/diagnosis_unit
|
||||
name = "Diagnosis unit"
|
||||
id = "diagnosis_unit"
|
||||
build_path = /obj/item/robot_parts/robot_component/diagnosis_unit
|
||||
|
||||
/datum/design/item/mechfab/robot/component/camera
|
||||
name = "Camera"
|
||||
id = "camera"
|
||||
build_path = /obj/item/robot_parts/robot_component/camera
|
||||
|
||||
/datum/design/item/mechfab/robot/component/armour
|
||||
name = "Armour plating"
|
||||
id = "armour"
|
||||
build_path = /obj/item/robot_parts/robot_component/armour
|
||||
|
||||
/datum/design/item/mechfab/robot/component/surge
|
||||
name = "Heavy surge prevention module"
|
||||
desc = "Used to boost prevent damage from EMP. Has limited surge preventions."
|
||||
id = "borg_surge_module"
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "glass" = 6000, "gold" = 5000, "silver" = 7500) // Should be expensive
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 2, TECH_MAGNET = 5, TECH_POWER = 5, TECH_ENGINEERING = 4, TECH_COMBAT = 3)
|
||||
build_path = /obj/item/robot_parts/robot_component/surge
|
||||
|
||||
/datum/design/item/mechfab/ripley
|
||||
category = "Ripley"
|
||||
|
||||
/datum/design/item/mechfab/ripley/chassis
|
||||
name = "Ripley chassis"
|
||||
id = "ripley_chassis"
|
||||
build_path = /obj/item/mecha_parts/chassis/ripley
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000)
|
||||
|
||||
/datum/design/item/mechfab/ripley/chassis/firefighter
|
||||
name = "Firefigher chassis"
|
||||
id = "firefighter_chassis"
|
||||
build_path = /obj/item/mecha_parts/chassis/firefighter
|
||||
|
||||
/datum/design/item/mechfab/ripley/torso
|
||||
name = "Ripley torso"
|
||||
id = "ripley_torso"
|
||||
build_path = /obj/item/mecha_parts/part/ripley_torso
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 40000, "glass" = 15000)
|
||||
|
||||
/datum/design/item/mechfab/ripley/left_arm
|
||||
name = "Ripley left arm"
|
||||
id = "ripley_left_arm"
|
||||
build_path = /obj/item/mecha_parts/part/ripley_left_arm
|
||||
time = 15
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000)
|
||||
|
||||
/datum/design/item/mechfab/ripley/right_arm
|
||||
name = "Ripley right arm"
|
||||
id = "ripley_right_arm"
|
||||
build_path = /obj/item/mecha_parts/part/ripley_right_arm
|
||||
time = 15
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000)
|
||||
|
||||
/datum/design/item/mechfab/ripley/left_leg
|
||||
name = "Ripley left leg"
|
||||
id = "ripley_left_leg"
|
||||
build_path = /obj/item/mecha_parts/part/ripley_left_leg
|
||||
time = 15
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000)
|
||||
|
||||
/datum/design/item/mechfab/ripley/right_leg
|
||||
name = "Ripley right leg"
|
||||
id = "ripley_right_leg"
|
||||
build_path = /obj/item/mecha_parts/part/ripley_right_leg
|
||||
time = 15
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000)
|
||||
|
||||
/datum/design/item/mechfab/odysseus
|
||||
category = "Odysseus"
|
||||
|
||||
/datum/design/item/mechfab/odysseus/chassis
|
||||
name = "Odysseus chassis"
|
||||
id = "odysseus_chassis"
|
||||
build_path = /obj/item/mecha_parts/chassis/odysseus
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000)
|
||||
|
||||
/datum/design/item/mechfab/odysseus/torso
|
||||
name = "Odysseus torso"
|
||||
id = "odysseus_torso"
|
||||
build_path = /obj/item/mecha_parts/part/odysseus_torso
|
||||
time = 18
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000)
|
||||
|
||||
/datum/design/item/mechfab/odysseus/head
|
||||
name = "Odysseus head"
|
||||
id = "odysseus_head"
|
||||
build_path = /obj/item/mecha_parts/part/odysseus_head
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 10000)
|
||||
|
||||
/datum/design/item/mechfab/odysseus/left_arm
|
||||
name = "Odysseus left arm"
|
||||
id = "odysseus_left_arm"
|
||||
build_path = /obj/item/mecha_parts/part/odysseus_left_arm
|
||||
time = 12
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mechfab/odysseus/right_arm
|
||||
name = "Odysseus right arm"
|
||||
id = "odysseus_right_arm"
|
||||
build_path = /obj/item/mecha_parts/part/odysseus_right_arm
|
||||
time = 12
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mechfab/odysseus/left_leg
|
||||
name = "Odysseus left leg"
|
||||
id = "odysseus_left_leg"
|
||||
build_path = /obj/item/mecha_parts/part/odysseus_left_leg
|
||||
time = 13
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 15000)
|
||||
|
||||
/datum/design/item/mechfab/odysseus/right_leg
|
||||
name = "Odysseus right leg"
|
||||
id = "odysseus_right_leg"
|
||||
build_path = /obj/item/mecha_parts/part/odysseus_right_leg
|
||||
time = 13
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 15000)
|
||||
|
||||
/datum/design/item/mechfab/gygax
|
||||
category = "Gygax"
|
||||
|
||||
/datum/design/item/mechfab/gygax/chassis
|
||||
name = "Gygax chassis"
|
||||
id = "gygax_chassis"
|
||||
build_path = /obj/item/mecha_parts/chassis/gygax
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/torso
|
||||
name = "Gygax torso"
|
||||
id = "gygax_torso"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_torso
|
||||
time = 30
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 50000, "glass" = 20000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/head
|
||||
name = "Gygax head"
|
||||
id = "gygax_head"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_head
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "glass" = 10000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/left_arm
|
||||
name = "Gygax left arm"
|
||||
id = "gygax_left_arm"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_left_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/right_arm
|
||||
name = "Gygax right arm"
|
||||
id = "gygax_right_arm"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_right_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/left_leg
|
||||
name = "Gygax left leg"
|
||||
id = "gygax_left_leg"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_left_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 35000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/right_leg
|
||||
name = "Gygax right leg"
|
||||
id = "gygax_right_leg"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_right_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 35000)
|
||||
|
||||
/datum/design/item/mechfab/gygax/armour
|
||||
name = "Gygax armour plates"
|
||||
id = "gygax_armour"
|
||||
build_path = /obj/item/mecha_parts/part/gygax_armour
|
||||
time = 60
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 50000, "diamond" = 10000)
|
||||
|
||||
/datum/design/item/mechfab/durand
|
||||
category = "Durand"
|
||||
|
||||
/datum/design/item/mechfab/durand/chassis
|
||||
name = "Durand chassis"
|
||||
id = "durand_chassis"
|
||||
build_path = /obj/item/mecha_parts/chassis/durand
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000)
|
||||
|
||||
/datum/design/item/mechfab/durand/torso
|
||||
name = "Durand torso"
|
||||
id = "durand_torso"
|
||||
build_path = /obj/item/mecha_parts/part/durand_torso
|
||||
time = 30
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 55000, "glass" = 20000, "silver" = 10000)
|
||||
|
||||
/datum/design/item/mechfab/durand/head
|
||||
name = "Durand head"
|
||||
id = "durand_head"
|
||||
build_path = /obj/item/mecha_parts/part/durand_head
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 10000, "silver" = 3000)
|
||||
|
||||
/datum/design/item/mechfab/durand/left_arm
|
||||
name = "Durand left arm"
|
||||
id = "durand_left_arm"
|
||||
build_path = /obj/item/mecha_parts/part/durand_left_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 35000, "silver" = 3000)
|
||||
|
||||
/datum/design/item/mechfab/durand/right_arm
|
||||
name = "Durand right arm"
|
||||
id = "durand_right_arm"
|
||||
build_path = /obj/item/mecha_parts/part/durand_right_arm
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 35000, "silver" = 3000)
|
||||
|
||||
/datum/design/item/mechfab/durand/left_leg
|
||||
name = "Durand left leg"
|
||||
id = "durand_left_leg"
|
||||
build_path = /obj/item/mecha_parts/part/durand_left_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 40000, "silver" = 3000)
|
||||
|
||||
/datum/design/item/mechfab/durand/right_leg
|
||||
name = "Durand right leg"
|
||||
id = "durand_right_leg"
|
||||
build_path = /obj/item/mecha_parts/part/durand_right_leg
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 40000, "silver" = 3000)
|
||||
|
||||
/datum/design/item/mechfab/durand/armour
|
||||
name = "Durand armour plates"
|
||||
id = "durand_armour"
|
||||
build_path = /obj/item/mecha_parts/part/durand_armour
|
||||
time = 60
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 50000, "uranium" = 10000)
|
||||
|
||||
|
||||
/// Hermes
|
||||
|
||||
/datum/design/item/mechfab/hermes
|
||||
category = "Hermes"
|
||||
|
||||
/datum/design/item/mechfab/hermes/chassis
|
||||
name = "Hermes chassis"
|
||||
id = "hermes_chassis"
|
||||
build_path = /obj/item/mecha_parts/chassis/hermes
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000)
|
||||
|
||||
/datum/design/item/mechfab/hermes/torso
|
||||
name = "Hermes torso"
|
||||
id = "hermes_torso"
|
||||
build_path = /obj/item/mecha_parts/part/hermes_torso
|
||||
time = 18
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 21000)
|
||||
|
||||
/datum/design/item/mechfab/hermes/head
|
||||
name = "Hermes head"
|
||||
id = "hermes_head"
|
||||
build_path = /obj/item/mecha_parts/part/hermes_head
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 1000)
|
||||
|
||||
/datum/design/item/mechfab/hermes/left_arm
|
||||
name = "Hermes left arm"
|
||||
id = "hermes_left_arm"
|
||||
build_path = /obj/item/mecha_parts/part/hermes_left_arm
|
||||
time = 12
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mechfab/hermes/right_arm
|
||||
name = "Hermes right arm"
|
||||
id = "hermes_right_arm"
|
||||
build_path = /obj/item/mecha_parts/part/hermes_right_arm
|
||||
time = 12
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mechfab/hermes/left_leg
|
||||
name = "Hermes left leg"
|
||||
id = "hermes_left_leg"
|
||||
build_path = /obj/item/mecha_parts/part/hermes_left_leg
|
||||
time = 13
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mechfab/hermes/right_leg
|
||||
name = "Hermes right leg"
|
||||
id = "hermes_right_leg"
|
||||
build_path = /obj/item/mecha_parts/part/hermes_right_leg
|
||||
time = 13
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/robot_upgrade
|
||||
build_type = MECHFAB
|
||||
time = 12
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
category = "Cyborg Upgrade Modules"
|
||||
|
||||
/datum/design/item/robot_upgrade/rename
|
||||
name = "Rename module"
|
||||
desc = "Used to rename a cyborg."
|
||||
id = "borg_rename_module"
|
||||
build_path = /obj/item/borg/upgrade/rename
|
||||
|
||||
/datum/design/item/robot_upgrade/reset
|
||||
name = "Reset module"
|
||||
desc = "Used to reset a cyborg's module. Destroys any other upgrades applied to the robot."
|
||||
id = "borg_reset_module"
|
||||
build_path = /obj/item/borg/upgrade/reset
|
||||
|
||||
/datum/design/item/robot_upgrade/floodlight
|
||||
name = "Floodlight module"
|
||||
desc = "Used to boost cyborg's integrated light intensity."
|
||||
id = "borg_floodlight_module"
|
||||
build_path = /obj/item/borg/upgrade/floodlight
|
||||
|
||||
/datum/design/item/robot_upgrade/restart
|
||||
name = "Emergency restart module"
|
||||
desc = "Used to force a restart of a disabled-but-repaired robot, bringing it back online."
|
||||
id = "borg_restart_module"
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 60000, "glass" = 5000)
|
||||
build_path = /obj/item/borg/upgrade/restart
|
||||
|
||||
/datum/design/item/robot_upgrade/vtec
|
||||
name = "VTEC module"
|
||||
desc = "Used to kick in a robot's VTEC systems, increasing their speed."
|
||||
id = "borg_vtec_module"
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 80000, "glass" = 6000, "gold" = 5000)
|
||||
build_path = /obj/item/borg/upgrade/vtec
|
||||
|
||||
/datum/design/item/robot_upgrade/jetpack
|
||||
name = "Jetpack module"
|
||||
desc = "A carbon dioxide jetpack suitable for low-gravity mining operations."
|
||||
id = "borg_jetpack_module"
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "phoron" = 15000, "uranium" = 20000)
|
||||
build_path = /obj/item/robot_parts/robot_component/jetpack
|
||||
|
||||
/datum/design/item/robot_upgrade/syndicate
|
||||
name = "Illegal upgrade"
|
||||
desc = "Allows for the construction of lethal upgrades for cyborgs."
|
||||
id = "borg_syndicate_module"
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_ILLEGAL = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 15000, "diamond" = 10000)
|
||||
build_path = /obj/item/borg/upgrade/syndicate
|
||||
|
||||
/datum/design/item/mecha_tracking
|
||||
name = "Exosuit tracking beacon"
|
||||
id = "exotrack"
|
||||
build_type = MECHFAB
|
||||
time = 5
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 500)
|
||||
build_path = /obj/item/mecha_parts/mecha_tracking
|
||||
category = "Misc"
|
||||
|
||||
/datum/design/item/mecha_tracking/control
|
||||
name = "Exosuit control beacon"
|
||||
id = "exocontrol"
|
||||
time = 30
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 3000)
|
||||
build_path = /obj/item/mecha_parts/mecha_tracking/control
|
||||
|
||||
/datum/design/item/mecha
|
||||
build_type = MECHFAB
|
||||
category = "Exosuit Equipment"
|
||||
time = 10
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
|
||||
/datum/design/item/mecha/AssembleDesignDesc()
|
||||
if(!desc)
|
||||
desc = "Allows for the construction of \a '[item_name]' exosuit module."
|
||||
|
||||
/datum/design/item/mecha/hydraulic_clamp
|
||||
name = "Hydraulic clamp"
|
||||
id = "hydraulic_clamp"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp
|
||||
|
||||
/datum/design/item/mecha/drill
|
||||
name = "Drill"
|
||||
id = "drill"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/drill
|
||||
|
||||
/datum/design/item/mecha/kinetic_accelerator
|
||||
name = "Burst kinetic accelerator"
|
||||
id = "kinetic_accelerator"
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_PHORON = 3)
|
||||
materials = list("glass" = 2250, DEFAULT_WALL_MATERIAL = 55000, "silver" = 5250)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/kin_accelerator
|
||||
|
||||
/datum/design/item/mecha/kinetic_accelerator/burst
|
||||
name = "Kinetic accelerator"
|
||||
id = "kinetic_accelerator_burst"
|
||||
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_MAGNET = 4, TECH_PHORON = 4)
|
||||
materials = list("glass" = 5250, DEFAULT_WALL_MATERIAL = 60000, "silver" = 7250)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/kin_accelerator/burst
|
||||
|
||||
/datum/design/item/mecha/flamethrower
|
||||
name = "Flamethrower"
|
||||
id = "flamethrower"
|
||||
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 4, TECH_COMBAT = 2, TECH_PHORON = 2)
|
||||
materials = list("glass" = 5250, DEFAULT_WALL_MATERIAL = 40000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/flamethrower
|
||||
|
||||
/datum/design/item/mecha/extinguisher
|
||||
name = "Extinguisher"
|
||||
id = "extinguisher"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/extinguisher
|
||||
|
||||
/datum/design/item/mecha/cable_layer
|
||||
name = "Cable layer"
|
||||
id = "mech_cable_layer"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/cable_layer
|
||||
|
||||
/datum/design/item/mecha/sleeper
|
||||
name = "Sleeper"
|
||||
id = "mech_sleeper"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/sleeper
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 10000)
|
||||
|
||||
/datum/design/item/mecha/syringe_gun
|
||||
name = "Syringe gun"
|
||||
id = "mech_syringe_gun"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/syringe_gun
|
||||
time = 20
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 2000)
|
||||
|
||||
/*
|
||||
/datum/design/item/mecha/syringe_gun
|
||||
desc = "Exosuit-mounted syringe gun and chemical synthesizer."
|
||||
id = "mech_syringe_gun"
|
||||
req_tech = list(TECH_MATERIAL = 3, TECH_BIO = 4, TECH_MAGNET = 4, TECH_DATA = 3)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/syringe_gun
|
||||
*/
|
||||
|
||||
/datum/design/item/mecha/passenger
|
||||
name = "Passenger compartment"
|
||||
id = "mech_passenger"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/passenger
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000)
|
||||
|
||||
//obj/item/mecha_parts/mecha_equipment/repair_droid,
|
||||
//obj/item/mecha_parts/mecha_equipment/jetpack, //TODO MECHA JETPACK SPRITE MISSING
|
||||
|
||||
/datum/design/item/mecha/generator
|
||||
name = "Phoron generator"
|
||||
id = "mech_generator"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/generator
|
||||
|
||||
/datum/design/item/mecha/taser
|
||||
name = "Mounted taser carbine"
|
||||
id = "mech_taser"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser
|
||||
|
||||
/datum/design/item/mecha/lmg
|
||||
name = "Mounted machine gun"
|
||||
id = "mech_lmg"
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg
|
||||
|
||||
/datum/design/item/mecha/weapon
|
||||
req_tech = list(TECH_COMBAT = 3)
|
||||
|
||||
// *** Weapon modules
|
||||
/datum/design/item/mecha/weapon/scattershot
|
||||
name = "Mounted shotgun"
|
||||
id = "mech_scattershot"
|
||||
req_tech = list(TECH_COMBAT = 4)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot
|
||||
|
||||
/datum/design/item/mecha/weapon/laser
|
||||
name = "Mounted laser carbine"
|
||||
id = "mech_laser"
|
||||
req_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 3)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser
|
||||
|
||||
/datum/design/item/mecha/weapon/laser_rigged
|
||||
name = "Jury-rigged welder-laser"
|
||||
desc = "Allows for the construction of a welder-laser assembly package for non-combat exosuits."
|
||||
id = "mech_laser_rigged"
|
||||
req_tech = list(TECH_COMBAT = 2, TECH_MAGNET = 2)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser
|
||||
|
||||
/datum/design/item/mecha/weapon/laser_heavy
|
||||
name = "Mounted laser cannon"
|
||||
id = "mech_laser_heavy"
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy
|
||||
|
||||
/datum/design/item/mecha/weapon/ion
|
||||
name = "Heavy ion cannon"
|
||||
id = "mech_ion"
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/ion
|
||||
|
||||
/datum/design/item/mecha/weapon/laser_gatling
|
||||
name = "Mounted gatling laser"
|
||||
id = "laser_gatling"
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/gatling
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "gold" = 6000)
|
||||
|
||||
/datum/design/item/mecha/weapon/xray_gatling
|
||||
name = "Gatling xray gun"
|
||||
id = "xray_gatling"
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4, TECH_MATERIAL = 5, TECH_ILLEGAL = 3)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/xray
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "gold" = 6000, "phoron" = 6000)
|
||||
|
||||
/datum/design/item/mecha/weapon/tesla_gun
|
||||
name = "Mounted tesla cannon"
|
||||
id = "tesla_gun"
|
||||
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 5, TECH_MATERIAL = 5)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/tesla
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "silver" = 6000, "phoron" = 6000)
|
||||
|
||||
/datum/design/item/mecha/weapon/gyro_gun
|
||||
name = "Mounted gyrojet autocannon"
|
||||
id = "gyro_gun"
|
||||
req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 5, TECH_MATERIAL = 6, TECH_ILLEGAL = 5)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/gyro
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "silver" = 6000, "phoron" = 6000, "diamond" = 7500)
|
||||
|
||||
/datum/design/item/mecha/weapon/grenade_launcher
|
||||
name = "Grenade launcher"
|
||||
id = "mech_grenade_launcher"
|
||||
req_tech = list(TECH_COMBAT = 3)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang
|
||||
|
||||
/datum/design/item/mecha/weapon/clusterbang_launcher
|
||||
name = "Clusterbang Grenade launcher"
|
||||
desc = "A weapon that violates the Geneva Convention at 6 rounds per minute."
|
||||
id = "clusterbang_launcher"
|
||||
req_tech = list(TECH_COMBAT= 5, TECH_MATERIAL = 5, TECH_ILLEGAL = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "gold" = 6000, "uranium" = 6000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang/limited
|
||||
|
||||
/datum/design/item/mecha/weapon/plasma_cutter
|
||||
name = "Heavy plasma cutter"
|
||||
desc = "A large mining tool capable of expelling concentrated plasma bursts, useful for crushing rocks."
|
||||
id = "mecha_plasmacutter"
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_PHORON = 4, TECH_ENGINEERING = 4)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "gold" = 1000, "phoron" = 1000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma
|
||||
|
||||
/datum/design/item/mecha/weapon/incendiary
|
||||
name = "Mounted incendiary carbine"
|
||||
desc = "A weapon for combat exosuits. Shoots incendiary shells."
|
||||
id = "mecha_incendiary"
|
||||
req_tech = list(TECH_COMBAT= 4, TECH_MATERIAL = 4, TECH_PHORON = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "phoron" = 1000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/incendiary
|
||||
|
||||
// *** Nonweapon modules
|
||||
/datum/design/item/mecha/wormhole_gen
|
||||
name = "Wormhole generator"
|
||||
desc = "An exosuit module that can generate small quasi-stable wormholes."
|
||||
id = "mech_wormhole_gen"
|
||||
req_tech = list(TECH_BLUESPACE = 3, TECH_MAGNET = 2)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/wormhole_generator
|
||||
|
||||
/datum/design/item/mecha/teleporter
|
||||
name = "Teleporter"
|
||||
desc = "An exosuit module that allows teleportation to any position in view."
|
||||
id = "mech_teleporter"
|
||||
req_tech = list(TECH_BLUESPACE = 6, TECH_MAGNET = 5)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/teleporter
|
||||
|
||||
/datum/design/item/mecha/rfd_c
|
||||
name = "RFD-C"
|
||||
desc = "An exosuit-mounted Rapid-Fabrication-Device C-Class."
|
||||
id = "mech_rfd_c"
|
||||
time = 120
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000, "phoron" = 25000, "silver" = 20000, "gold" = 20000)
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 3, TECH_MAGNET = 4, TECH_POWER = 4, TECH_ENGINEERING = 4)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/rfd_c
|
||||
|
||||
/datum/design/item/mecha/gravcatapult
|
||||
name = "Gravitational catapult"
|
||||
desc = "An exosuit-mounted gravitational catapult."
|
||||
id = "mech_gravcatapult"
|
||||
req_tech = list(TECH_BLUESPACE = 2, TECH_MAGNET = 3, TECH_ENGINEERING = 3)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/gravcatapult
|
||||
|
||||
/datum/design/item/mecha/repair_droid
|
||||
name = "Repair droid"
|
||||
desc = "Automated repair droid, exosuits' best companion. BEEP BOOP"
|
||||
id = "mech_repair_droid"
|
||||
req_tech = list(TECH_MAGNET = 3, TECH_DATA = 3, TECH_ENGINEERING = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "gold" = 1000, "silver" = 2000, "glass" = 5000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/repair_droid
|
||||
|
||||
/datum/design/item/mecha/phoron_generator
|
||||
desc = "Phoron reactor."
|
||||
id = "mech_phoron_generator"
|
||||
req_tech = list(TECH_PHORON = 2, TECH_POWER= 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/generator
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "silver" = 500, "glass" = 1000)
|
||||
|
||||
/datum/design/item/mecha/energy_relay
|
||||
name = "Energy relay"
|
||||
id = "mech_energy_relay"
|
||||
req_tech = list(TECH_MAGNET = 4, TECH_POWER = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "gold" = 2000, "silver" = 3000, "glass" = 2000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay
|
||||
|
||||
/datum/design/item/mecha/ccw_armor
|
||||
name = "CCW armor booster"
|
||||
desc = "Exosuit close-combat armor booster."
|
||||
id = "mech_ccw_armor"
|
||||
req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 4)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "silver" = 5000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/armor_booster/anticcw_armor_booster
|
||||
|
||||
/datum/design/item/mecha/proj_armor
|
||||
desc = "Exosuit projectile armor booster."
|
||||
id = "mech_proj_armor"
|
||||
req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 5, TECH_ENGINEERING = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 20000, "gold" = 5000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/armor_booster/antiproj_armor_booster
|
||||
|
||||
/datum/design/item/mecha/diamond_drill
|
||||
name = "Diamond drill"
|
||||
desc = "A diamond version of the exosuit drill. It's harder, better, faster, stronger."
|
||||
id = "mech_diamond_drill"
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "diamond" = 6500)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill
|
||||
|
||||
/datum/design/item/mecha/generator_nuclear
|
||||
name = "Nuclear reactor"
|
||||
desc = "Exosuit-held nuclear reactor. Converts uranium and everyone's health to energy."
|
||||
id = "mech_generator_nuclear"
|
||||
req_tech = list(TECH_POWER= 3, TECH_ENGINEERING = 3, TECH_MATERIAL = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "silver" = 500, "glass" = 1000)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/generator/nuclear
|
||||
|
||||
/datum/design/item/synthetic_flash
|
||||
name = "Synthetic flash"
|
||||
id = "sflash"
|
||||
req_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 2)
|
||||
build_type = MECHFAB
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 750, "glass" = 750)
|
||||
build_path = /obj/item/device/flash/synthetic
|
||||
category = "Misc"
|
||||
|
||||
//hardsuits modules
|
||||
|
||||
/datum/design/hardsuitmodules
|
||||
build_type = MECHFAB
|
||||
category = "Hardsuit Modules"
|
||||
time = 10
|
||||
|
||||
/datum/design/hardsuitmodules/iss_module
|
||||
name = "IIS module"
|
||||
desc = "An integrated intelligence system module suitable for most hardsuits."
|
||||
id = "iis_module"
|
||||
req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 3)
|
||||
materials = list("glass" = 7500, DEFAULT_WALL_MATERIAL = 5000)
|
||||
build_path = /obj/item/rig_module/ai_container
|
||||
|
||||
/datum/design/hardsuitmodules/sink_module
|
||||
name = "hardsuit power sink"
|
||||
desc = "An heavy-duty power sink suitable for hardsuits."
|
||||
id = "power_sink_module"
|
||||
req_tech = list(TECH_POWER = 4, TECH_MATERIAL = 3, TECH_ENGINEERING = 4, TECH_ILLEGAL = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 10000, "gold"= 2000, "silver"= 3000, "glass"= 2000)
|
||||
build_path = /obj/item/rig_module/power_sink
|
||||
|
||||
/datum/design/hardsuitmodules/meson_module
|
||||
name = "hardsuit meson scanner"
|
||||
desc = "A layered, translucent visor system for a hardsuit."
|
||||
id = "meson_module"
|
||||
req_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 2, TECH_ENGINEERING = 3)
|
||||
materials = list("glass"= 5000, DEFAULT_WALL_MATERIAL= 1500)
|
||||
build_path = /obj/item/rig_module/vision/meson
|
||||
|
||||
/datum/design/hardsuitmodules/sechud_module
|
||||
name = "hardsuit security hud"
|
||||
desc = "A simple tactical information system for a hardsuit."
|
||||
id = "sechud_module"
|
||||
req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 2, TECH_MAGNET = 3)
|
||||
materials = list("glass" = 5000, DEFAULT_WALL_MATERIAL =1500)
|
||||
build_path = /obj/item/rig_module/vision/sechud
|
||||
|
||||
/datum/design/hardsuitmodules/medhud_module
|
||||
name = "hardsuit medical hud"
|
||||
desc = "A simple medical status indicator for a hardsuit."
|
||||
id = "medhu_module"
|
||||
req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 2, TECH_MAGNET = 3)
|
||||
materials = list("glass"= 5000, DEFAULT_WALL_MATERIAL =1500)
|
||||
build_path = /obj/item/rig_module/vision/medhud
|
||||
|
||||
/datum/design/hardsuitmodules/nvg_module
|
||||
name = "hardsuit night vision interface"
|
||||
desc = "A multi input night vision system for a hardsuit."
|
||||
id = "nvg_module"
|
||||
req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 3, TECH_MAGNET = 4)
|
||||
materials = list("glass" = 5000, DEFAULT_WALL_MATERIAL = 1500, "uranium" = 5000)
|
||||
build_path = /obj/item/rig_module/vision/nvg
|
||||
|
||||
/datum/design/hardsuitmodules/healthscanner_module
|
||||
name = "hardsuit health scanner"
|
||||
desc = "A hardsuit-mounted health scanner."
|
||||
id = "healthscanner_module"
|
||||
req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 3, TECH_MAGNET = 2)
|
||||
materials = list("glass" = 5250, DEFAULT_WALL_MATERIAL = 2500)
|
||||
build_path = /obj/item/rig_module/device/healthscanner
|
||||
|
||||
/datum/design/hardsuitmodules/chem_module
|
||||
name = "mounted chemical injector"
|
||||
desc = "A complex web of tubing and a large needle suitable for hardsuit use."
|
||||
id = "chem_module"
|
||||
req_tech = list(TECH_BIO = 5, TECH_MATERIAL = 4, TECH_DATA = 3, TECH_PHORON = 2)
|
||||
materials = list("glass" = 9250, DEFAULT_WALL_MATERIAL = 10000, "gold" = 2500, "silver" = 4250, "phoron" = 5500)
|
||||
build_path = /obj/item/rig_module/chem_dispenser/injector
|
||||
|
||||
/datum/design/hardsuitmodules/plasmacutter_module
|
||||
name = "hardsuit plasma cutter"
|
||||
desc = "A self-sustaining plasma arc capable of cutting through walls."
|
||||
id = "plasmacutter_module"
|
||||
req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 3, TECH_PHORON = 4)
|
||||
materials = list("glass" = 5250, DEFAULT_WALL_MATERIAL = 30000, "silver" = 5250, "phoron" = 7250)
|
||||
build_path = /obj/item/rig_module/mounted/plasmacutter
|
||||
|
||||
/datum/design/hardsuitmodules/jet_module
|
||||
name = "hardsuit maneuvering jets"
|
||||
desc = "A compact gas thruster system for a hardsuit."
|
||||
id = "jet_module"
|
||||
req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 3, TECH_POWER = 2)
|
||||
materials = list("glass" = 4250, DEFAULT_WALL_MATERIAL = 15000, "silver" = 4250,"uranium" = 5250)
|
||||
build_path = /obj/item/rig_module/maneuvering_jets
|
||||
|
||||
/datum/design/hardsuitmodules/drill_module
|
||||
name = "hardsuit drill mount"
|
||||
desc = "A very heavy diamond-tipped drill."
|
||||
id = "drill_module"
|
||||
req_tech = list(TECH_ENGINEERING = 5, TECH_MATERIAL = 5, TECH_POWER = 4, TECH_MAGNET = 4)
|
||||
materials = list("glass" = 2250, DEFAULT_WALL_MATERIAL = 55000, "silver" = 5250, "diamond" = 3750)
|
||||
build_path = /obj/item/rig_module/device/drill
|
||||
|
||||
/datum/design/hardsuitmodules/rfd_c_module
|
||||
name = "RFD-C mount"
|
||||
desc = "A cell-powered Rapid-Fabrication-Device C-Class for a hardsuit."
|
||||
id = "rcd_module"
|
||||
req_tech = list(TECH_ENGINEERING = 6, TECH_MATERIAL = 5, TECH_POWER = 5, TECH_BLUESPACE = 4)
|
||||
materials = list(DEFAULT_WALL_MATERIAL= 30000, "phoron" = 12500, "silver" = 10000, "gold" = 10000)
|
||||
build_path = /obj/item/rig_module/device/rfd_c
|
||||
|
||||
/datum/design/hardsuitmodules/actuators_module
|
||||
name = "leg actuators"
|
||||
desc = "A set of electromechanical actuators, for safe traversal of multilevelled areas."
|
||||
id = "actuators_module"
|
||||
req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 4, TECH_POWER = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 85000, "glass" = 1250, "silver" = 5250, "gold" = 2750)
|
||||
build_path = /obj/item/rig_module/actuators
|
||||
|
||||
/datum/design/hardsuitmodules/taser_module
|
||||
name = "mounted taser"
|
||||
desc = "A palm-mounted nonlethal energy projector."
|
||||
id = "taser_module"
|
||||
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_COMBAT = 3, TECH_MAGNET = 2)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 5250)
|
||||
build_path = /obj/item/rig_module/mounted/taser
|
||||
|
||||
/datum/design/hardsuitmodules/egun_module
|
||||
name = "mounted energy gun"
|
||||
desc = "A forearm-mounted energy projector."
|
||||
id = "egun_module"
|
||||
req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 4, TECH_COMBAT = 4, TECH_MAGNET = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL= 7000, "glass"= 2250, "uranium"= 3250, "gold"= 2500)
|
||||
build_path = /obj/item/rig_module/mounted/egun
|
||||
|
||||
/datum/design/hardsuitmodules/cooling_module
|
||||
name = "mounted cooling unit"
|
||||
desc = "A heat sink with liquid cooled radiator."
|
||||
id = "cooling_module"
|
||||
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_ENGINEERING = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL= 7000, "glass"= 5500)
|
||||
build_path = /obj/item/rig_module/cooling_unit
|
||||
|
||||
|
||||
/// RIGS
|
||||
|
||||
/datum/design/rig
|
||||
build_type = MECHFAB
|
||||
category = "RIG Assemblies"
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000, "glass" = 12500)
|
||||
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 2, TECH_MAGNET = 3, TECH_POWER = 3)
|
||||
time = 20
|
||||
|
||||
/datum/design/rig/ce
|
||||
name = "advanced voidsuit control module assembly"
|
||||
desc = "An assembly frame for an advanced voidsuit that protects against hazardous, low pressure environments."
|
||||
id = "rig_ce"
|
||||
build_path = /obj/item/rig_assembly/ce
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_POWER = 4)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 12500, "silver" = 5500, "gold" = 5500, "phoron" = 7550)
|
||||
|
||||
/datum/design/rig/eva
|
||||
name = "EVA suit control module assembly"
|
||||
desc = "An assembly for light rig that is desiged for repairs and maintenance to the outside of habitats and vessels."
|
||||
id = "rig_eva"
|
||||
build_path = /obj/item/rig_assembly/eva
|
||||
|
||||
/datum/design/rig/industrial
|
||||
name = "industrial suit control module assembly"
|
||||
desc = "An assembly for a heavy, powerful rig used by construction crews and mining corporations."
|
||||
id = "rig_industrial"
|
||||
build_path = /obj/item/rig_assembly/industrial
|
||||
|
||||
/datum/design/rig/hazmat
|
||||
name = "AMI control module assembly"
|
||||
desc = "An assembly for Anomalous Material Interaction hardsuit that protects against the strangest energies the universe can throw at it."
|
||||
id = "rig_hazmat"
|
||||
build_path = /obj/item/rig_assembly/hazmat
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 25000, "silver" = 5500, "gold" = 5500, "phoron" = 7550)
|
||||
|
||||
/datum/design/rig/medical
|
||||
name = "rescue suit control module assembly"
|
||||
desc = "An assembly for a durable suit designed for medical rescue in high risk areas."
|
||||
id = "rig_medical"
|
||||
build_path = /obj/item/rig_assembly/medical
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 12500, "silver" = 5500, "gold" = 3500, "phoron" = 7550)
|
||||
|
||||
/datum/design/rig/hazard
|
||||
name = "hazard hardsuit control module"
|
||||
desc = "An assembly for a security hardsuit designed for prolonged EVA in dangerous environments."
|
||||
id = "rig_hazard"
|
||||
build_path = /obj/item/rig_assembly/combat/hazard
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_POWER = 3, TECH_COMBAT = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000, "glass" = 12500, "silver" = 3500, "gold" = 5500)
|
||||
|
||||
/datum/design/rig/combat
|
||||
name = "combat hardsuit control module assembly"
|
||||
desc = "An assembly frame for a sleek and dangerous hardsuit for active combat."
|
||||
id = "rig_combat"
|
||||
build_path = /obj/item/rig_assembly/combat/combat
|
||||
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_MAGNET = 3, TECH_POWER = 3, TECH_COMBAT = 5)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 30000, "glass" = 12500, "silver" = 3500, "gold" = 3500, "uranium" = 5550, "diamond" = 7500)
|
||||
|
||||
/datum/design/rig/hacker
|
||||
name = "cybersuit control module assembly"
|
||||
desc = "An assembly for an advanced powered armour suit with many cyberwarfare enhancements. Comes with built-in insulated gloves for safely tampering with electronics."
|
||||
id = "rig_hacker"
|
||||
build_path = /obj/item/rig_assembly/combat/illegal/hacker
|
||||
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 2, TECH_POWER = 3, TECH_COMBAT = 3, TECH_ILLEGAL = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 12500, "gold" = 2500, "silver" = 3500, "uranium" = 5550)
|
||||
@@ -48,10 +48,18 @@
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Tweaked the range and heightened the dropoff of some sounds, particularly gunfire. Emitters are also audible through walls again.</li>
|
||||
<li class="bugfix">Xenobotanists will now spawn with the correct uniform.</li>
|
||||
<li class="bugfix">Fixed an issue with single slot ghost spawners being disabled preemptively. Made the Kataphracts truly unathi exclusive.</li>
|
||||
</ul>
|
||||
<h3 class="author">Geeves updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">You can now crawl under a lot more circumstances, if you click drag yourself while laying down.</li>
|
||||
<li class="tweak">Robotics updates:</li>
|
||||
<li class="rscadd">The phoron generator is now safe to use, it does not pollute the environment.</li>
|
||||
<li class="rscadd">More mechfab things have been split into catagories that make sense. Tech level required for some things have been reduced.</li>
|
||||
<li class="rscadd">Robotics can now print robotic internal organs to replace organic organs.</li>
|
||||
<li class="rscadd">Vampires can now choose whether they want their victims to remember the sucking, or forget and be paralyzed.</li>
|
||||
<li class="rscadd">A new vampire ability has been added, "Touch of Life", which gives the target beneficial chemicals.</li>
|
||||
<li class="bugfix">Coming down from frenzy will not call xenos human anymore.</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">12 November 2019</h2>
|
||||
|
||||
@@ -9985,6 +9985,18 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
|
||||
- tweak: Tweaked the range and heightened the dropoff of some sounds, particularly
|
||||
gunfire. Emitters are also audible through walls again.
|
||||
- bugfix: Xenobotanists will now spawn with the correct uniform.
|
||||
- bugfix: Fixed an issue with single slot ghost spawners being disabled preemptively.
|
||||
Made the Kataphracts truly unathi exclusive.
|
||||
Geeves:
|
||||
- rscadd: You can now crawl under a lot more circumstances, if you click drag yourself
|
||||
while laying down.
|
||||
- tweak: 'Robotics updates:'
|
||||
- rscadd: The phoron generator is now safe to use, it does not pollute the environment.
|
||||
- rscadd: More mechfab things have been split into catagories that make sense. Tech
|
||||
level required for some things have been reduced.
|
||||
- rscadd: Robotics can now print robotic internal organs to replace organic organs.
|
||||
- rscadd: Vampires can now choose whether they want their victims to remember the
|
||||
sucking, or forget and be paralyzed.
|
||||
- rscadd: A new vampire ability has been added, "Touch of Life", which gives the
|
||||
target beneficial chemicals.
|
||||
- bugfix: Coming down from frenzy will not call xenos human anymore.
|
||||
|
||||
Reference in New Issue
Block a user