mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 11:05:03 +01:00
Merge branch 'master' of github.com:ParadiseSS13/Paradise into SlimeColorChanger
This commit is contained in:
+1
-1
@@ -792,7 +792,7 @@ datum/mind
|
||||
if(src in ticker.mode.wizards)
|
||||
ticker.mode.wizards -= src
|
||||
special_role = null
|
||||
current.spellremove(current, config.feature_object_spell_system? "object":"verb")
|
||||
current.spellremove(current)
|
||||
current.faction = list("Station")
|
||||
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a wizard!</B></FONT>"
|
||||
log_admin("[key_name_admin(usr)] has de-wizard'ed [current].")
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
/obj/effect/proc_holder/spell/wizard/targeted/fake_gib
|
||||
name = "Disintegrate"
|
||||
desc = "This spell instantly kills somebody adjacent to you with the vilest of magick."
|
||||
|
||||
school = "conjuration"
|
||||
charge_max = 20
|
||||
clothes_req = 0
|
||||
invocation = "EI NATH"
|
||||
invocation_type = "shout"
|
||||
range = -1
|
||||
include_user = 1
|
||||
cooldown_min = 5 //25 deciseconds reduction per rank
|
||||
|
||||
sparks_spread = 3
|
||||
sparks_amt = 1
|
||||
|
||||
icon_power_button = "spell_disintegrate"
|
||||
@@ -67,7 +67,7 @@
|
||||
disability=EPILEPSY
|
||||
|
||||
New()
|
||||
block=HEADACHEBLOCK
|
||||
block=EPILEPSYBLOCK
|
||||
|
||||
/datum/dna/gene/disability/cough
|
||||
name="Coughing"
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
NERVOUSBLOCK = getAssignedBlock("NERVOUS", numsToAssign)
|
||||
|
||||
// Bay muts
|
||||
HEADACHEBLOCK = getAssignedBlock("HEADACHE", numsToAssign)
|
||||
NOBREATHBLOCK = getAssignedBlock("NOBREATH", numsToAssign, DNA_HARD_BOUNDS, good=1)
|
||||
REMOTEVIEWBLOCK = getAssignedBlock("REMOTEVIEW", numsToAssign, DNA_HARDER_BOUNDS, good=1)
|
||||
REGENERATEBLOCK = getAssignedBlock("REGENERATE", numsToAssign, DNA_HARDER_BOUNDS, good=1)
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
traitor.objectives += block_objective
|
||||
|
||||
else
|
||||
if(!exchange_blue && traitors.len >= 5) //Set up an exchange if there are enough traitors
|
||||
if(!exchange_blue && traitors.len >= 5 && name != "AutoTraitor") //Set up an exchange if there are enough traitors, turned off during autotraitor temporarily due to bugs.
|
||||
if(!exchange_red)
|
||||
exchange_red = traitor
|
||||
else
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
var/area/wizard_station/A = locate()
|
||||
if(usr in A.contents)
|
||||
uses = max_uses
|
||||
H.spellremove(usr)
|
||||
H.spellremove(usr,0)
|
||||
temp = "All spells have been removed. You may now memorize a new set of spells."
|
||||
feedback_add_details("wizard_spell_learned","UM") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
else
|
||||
@@ -585,3 +585,10 @@
|
||||
..()
|
||||
user <<"<span class='warning'>[src] suddenly vanishes!</span>"
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/item/weapon/spellbook/oneuse/fake_gib
|
||||
spell = /obj/effect/proc_holder/spell/wizard/targeted/fake_gib
|
||||
spellname = "disintegrate"
|
||||
icon_state ="bookfireball"
|
||||
desc = "This book feels like it will rip stuff apart."
|
||||
@@ -273,8 +273,9 @@
|
||||
//OTHER PROCS
|
||||
|
||||
//To batch-remove wizard spells. Linked to mind.dm.
|
||||
/mob/proc/spellremove(var/mob/M as mob)
|
||||
/mob/proc/spellremove(var/mob/M as mob, var/removeallspells=1)
|
||||
for(var/obj/effect/proc_holder/spell/wizard/spell_to_remove in src.spell_list)
|
||||
if (spell_to_remove.name == "Artificer" && !removeallspells) continue
|
||||
del(spell_to_remove)
|
||||
update_power_buttons()
|
||||
|
||||
|
||||
@@ -527,7 +527,6 @@
|
||||
src.printing = 1
|
||||
for(var/mob/O in viewers(usr))
|
||||
O.show_message("\blue \the [src] rattles and prints out a sheet of paper.", 1)
|
||||
sleep(20)
|
||||
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.loc )
|
||||
P.info = "<CENTER><B>Body Scan - [href_list["name"]]</B></CENTER><BR>"
|
||||
P.info += "<b>Time of scan:</b> [worldtime2text(world.time)]<br><br>"
|
||||
|
||||
@@ -9,7 +9,51 @@
|
||||
var/valve_open = 0
|
||||
var/release_pressure = ONE_ATMOSPHERE
|
||||
|
||||
var/_color = "yellow"
|
||||
var/list/_color = list("yellow", null, null, null)//variable that stores colours
|
||||
var/list/decals = list() // var that stores the decals, NOTE: Not the actual POSSIBLE decals, but the ones currently used
|
||||
var/list/oldcolor = list()//lists for check_change()
|
||||
var/list/olddecals = list()
|
||||
var/list/possibledecals = list( //var that stores all possible decals, here for adminbus I guess? NOTE: LEAVE "done" IN HERE
|
||||
"Low temperature canister" = "cold",
|
||||
"High temperature canister" = "hot",
|
||||
"Plasma containing canister" = "plasma",
|
||||
"Done" = "DONE"
|
||||
)
|
||||
var/list/possiblemaincolor = list( //these lists contain the possible colors of a canister, here for adminbus
|
||||
"\[N2O\]" = "redws",
|
||||
"\[N2\]" = "red",
|
||||
"\[O2\]" = "blue",
|
||||
"\[Toxin (Bio)\]" = "orange",
|
||||
"\[CO2\]" = "black",
|
||||
"\[Air\]" = "grey",
|
||||
"\[CAUTION\]" = "yellow",
|
||||
"\[SPECIAL\]" = "whiters"
|
||||
)
|
||||
var/list/possibleseccolor = list( // no point in having the N2O and "whiters" ones in these lists
|
||||
"\[N2\]" = "red-c",
|
||||
"\[O2\]" = "blue-c",
|
||||
"\[Toxin (Bio)\]" = "orange-c",
|
||||
"\[CO2\]" = "black-c",
|
||||
"\[Air\]" = "grey-c",
|
||||
"\[CAUTION\]" = "yellow-c"
|
||||
)
|
||||
var/list/possibletertcolor = list(
|
||||
"\[N2\]" = "red-c-1",
|
||||
"\[O2\]" = "blue-c-1",
|
||||
"\[Toxin (Bio)\]" = "orange-c-1",
|
||||
"\[CO2\]" = "black-c-1",
|
||||
"\[Air\]" = "grey-c-1",
|
||||
"\[CAUTION\]" = "yellow-c-1"
|
||||
)
|
||||
var/list/possiblequartcolor = list(
|
||||
"\[N2\]" = "red-c-2",
|
||||
"\[O2\]" = "blue-c-2",
|
||||
"\[Toxin (Bio)\]" = "orange-c-2",
|
||||
"\[CO2\]" = "black-c-2",
|
||||
"\[Air\]" = "grey-c-2",
|
||||
"\[CAUTION\]" = "yellow-c-2"
|
||||
)
|
||||
|
||||
var/can_label = 1
|
||||
var/filled = 0.5
|
||||
pressure_resistance = 7*ONE_ATMOSPHERE
|
||||
@@ -23,37 +67,38 @@
|
||||
/obj/machinery/portable_atmospherics/canister/sleeping_agent
|
||||
name = "Canister: \[N2O\]"
|
||||
icon_state = "redws"
|
||||
_color = "redws"
|
||||
_color = list("redsw", null, null, null)
|
||||
can_label = 0
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen
|
||||
name = "Canister: \[N2\]"
|
||||
icon_state = "red"
|
||||
_color = "red"
|
||||
_color = list("red", null, null, null)
|
||||
decals = list("plasma")
|
||||
can_label = 0
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen
|
||||
name = "Canister: \[O2\]"
|
||||
icon_state = "blue"
|
||||
_color = "blue"
|
||||
_color = list("blue", null, null, null)
|
||||
can_label = 0
|
||||
/obj/machinery/portable_atmospherics/canister/toxins
|
||||
name = "Canister \[Toxin (Plasma)\]"
|
||||
icon_state = "orange"
|
||||
_color = "orange"
|
||||
_color = list("orange", null, null, null)
|
||||
can_label = 0
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide
|
||||
name = "Canister \[CO2\]"
|
||||
icon_state = "black"
|
||||
_color = "black"
|
||||
_color = list("black", null, null, null)
|
||||
can_label = 0
|
||||
/obj/machinery/portable_atmospherics/canister/air
|
||||
name = "Canister \[Air\]"
|
||||
icon_state = "grey"
|
||||
_color = "grey"
|
||||
_color = list("grey", null, null, null)
|
||||
can_label = 0
|
||||
/obj/machinery/portable_atmospherics/canister/custom_mix
|
||||
name = "Canister \[Custom\]"
|
||||
icon_state = "whiters"
|
||||
_color = "whiters"
|
||||
_color = list("whiters", null, null, null)
|
||||
can_label = 0
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/proc/check_change()
|
||||
@@ -74,6 +119,11 @@
|
||||
else
|
||||
update_flag |= 32
|
||||
|
||||
if(oldcolor != _color || olddecals != decals)
|
||||
update_flag |= 64
|
||||
olddecals = decals
|
||||
oldcolor = _color
|
||||
|
||||
if(update_flag == old_flag)
|
||||
return 1
|
||||
else
|
||||
@@ -88,20 +138,33 @@ update_flag
|
||||
8 = tank_pressure < ONE_ATMOS
|
||||
16 = tank_pressure < 15*ONE_ATMOS
|
||||
32 = tank_pressure go boom.
|
||||
64 = decals/colors got changed
|
||||
*/
|
||||
|
||||
if (src.destroyed)
|
||||
src.overlays = 0
|
||||
src.icon_state = text("[]-1", src._color)
|
||||
src.icon_state = text("[]-1", src._color[1])//yes, I KNOW the colours don't reflect when the can's borked, whatever.
|
||||
|
||||
if(icon_state != "[_color]")
|
||||
icon_state = "[_color]"
|
||||
if(icon_state != src._color[1])
|
||||
icon_state = src._color[1]
|
||||
|
||||
if(check_change()) //Returns 1 if no change needed to icons.
|
||||
return
|
||||
|
||||
src.overlays = 0
|
||||
|
||||
if (_color[2])//COLORS!
|
||||
overlays.Add(_color[2])
|
||||
|
||||
if (_color[3])
|
||||
overlays.Add(_color[3])
|
||||
|
||||
if (_color[4])
|
||||
overlays.Add(_color[4])
|
||||
|
||||
for(var/D in decals)
|
||||
overlays.Add("decal-" + D)
|
||||
|
||||
if(update_flag & 1)
|
||||
overlays += "can-open"
|
||||
if(update_flag & 2)
|
||||
@@ -333,21 +396,36 @@ update_flag
|
||||
|
||||
if (href_list["relabel"])
|
||||
if (can_label)
|
||||
var/list/colors = list(\
|
||||
"\[N2O\]" = "redws", \
|
||||
"\[N2\]" = "red", \
|
||||
"\[O2\]" = "blue", \
|
||||
"\[Toxin (Plasma)\]" = "orange", \
|
||||
"\[CO2\]" = "black", \
|
||||
"\[Air\]" = "grey", \
|
||||
"\[CAUTION\]" = "yellow", \
|
||||
"\[Custom\]" = "whiters",\
|
||||
|
||||
var/label1 = input("Choose canister label", "Primary color") as null|anything in possiblemaincolor
|
||||
|
||||
var/label2 = input("Choose canister label", "Secondary color") as null|anything in possibleseccolor
|
||||
|
||||
var/label3 = input("Choose canister label", "Tertiary color") as null|anything in possibletertcolor
|
||||
|
||||
var/label4 = input("Choose canister label", "Quaternary color") as null|anything in possiblequartcolor
|
||||
|
||||
decals = list()
|
||||
|
||||
_color = list(
|
||||
(label1 ? possiblemaincolor[label1] : color[1]),//if the user didn't specify a primary colour, keep the current one.
|
||||
possibleseccolor[label2],
|
||||
possibletertcolor[label3],
|
||||
possiblequartcolor[label4]
|
||||
)
|
||||
var/label = input("Choose canister label", "Gas canister") as null|anything in colors
|
||||
if (label)
|
||||
src._color = colors[label]
|
||||
src.icon_state = colors[label]
|
||||
src.name = "Canister: [label]"
|
||||
|
||||
decals = list()
|
||||
|
||||
var/list/tempposdecals = possibledecals
|
||||
while (src && !src.gc_destroyed && usr)//allow the user to select (theoretically) INFINITE DECALS!!!
|
||||
var/newdecal = input("Choose canister label", "Decal") as anything in tempposdecals
|
||||
if (newdecal == "Done")
|
||||
break
|
||||
decals.Add(tempposdecals[newdecal])
|
||||
tempposdecals.Remove(newdecal)
|
||||
|
||||
src.name = (input("Choose canister label", "Name") as text) + " canister"
|
||||
|
||||
|
||||
src.add_fingerprint(usr)
|
||||
update_icon()
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
component_parts += new /obj/item/stack/cable_coil(src, 1)
|
||||
component_parts += new /obj/item/stack/cable_coil(src, 1)
|
||||
RefreshParts()
|
||||
|
||||
|
||||
/obj/machinery/clonepod/upgraded/New()
|
||||
..()
|
||||
component_parts = list()
|
||||
@@ -66,7 +66,7 @@
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/P in component_parts)
|
||||
speed_coeff += P.rating
|
||||
heal_level = (efficiency * 15) + 10
|
||||
|
||||
|
||||
//The return of data disks?? Just for transferring between genetics machine/cloning machine.
|
||||
//TO-DO: Make the genetics machine accept them.
|
||||
/obj/item/weapon/disk/data
|
||||
@@ -261,9 +261,10 @@
|
||||
H.dna.UpdateSE()
|
||||
H.dna.UpdateUI()
|
||||
|
||||
/* //let's not make people waste even more time after being cloned.
|
||||
H.f_style = "Shaved"
|
||||
if(R.dna.species == "Human") //no more xenos losing ears/tentacles
|
||||
H.h_style = pick("Bedhead", "Bedhead 2", "Bedhead 3")
|
||||
H.h_style = pick("Bedhead", "Bedhead 2", "Bedhead 3") */
|
||||
|
||||
H.set_species(R.dna.species)
|
||||
|
||||
@@ -336,8 +337,8 @@
|
||||
return
|
||||
|
||||
if(exchange_parts(user, W))
|
||||
return
|
||||
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/crowbar))
|
||||
if(panel_open)
|
||||
default_deconstruction_crowbar(W)
|
||||
@@ -402,7 +403,7 @@
|
||||
set name = "Eject Cloner"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
|
||||
if(!usr)
|
||||
return
|
||||
if (usr.stat != 0)
|
||||
@@ -429,7 +430,7 @@
|
||||
|
||||
if (src.locked)
|
||||
user << "<span class=\"warning\">The cloning pod is locked!</span>"
|
||||
return
|
||||
return
|
||||
/*
|
||||
for(var/obj/O in src)
|
||||
O.loc = src.loc
|
||||
|
||||
@@ -30,6 +30,14 @@
|
||||
/obj/item/toy/cards/deck = 2,
|
||||
/obj/item/toy/carpplushie = 2,
|
||||
/obj/item/toy/minimeteor = 2,
|
||||
/obj/item/toy/redbutton = 2,
|
||||
/obj/item/clothing/head/blob = 2,
|
||||
/obj/item/weapon/id_decal/gold = 2,
|
||||
/obj/item/weapon/id_decal/silver = 2,
|
||||
/obj/item/weapon/id_decal/prisoner = 2,
|
||||
/obj/item/weapon/id_decal/centcom = 2,
|
||||
/obj/item/weapon/id_decal/emag = 2,
|
||||
/obj/item/weapon/spellbook/oneuse/fake_gib = 2
|
||||
)
|
||||
|
||||
/obj/machinery/computer/arcade/power_change()
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
component_parts += new /obj/item/weapon/cell/high(src)
|
||||
RefreshParts()
|
||||
build_icon()
|
||||
|
||||
|
||||
/obj/machinery/recharge_station/upgraded/New()
|
||||
..()
|
||||
component_parts += new /obj/item/weapon/stock_parts/capacitor/super(src)
|
||||
component_parts += new /obj/item/weapon/stock_parts/capacitor/super(src)
|
||||
component_parts += new /obj/item/weapon/stock_parts/manipulator/pico(src)
|
||||
component_parts += new /obj/item/weapon/cell/hyper(src)
|
||||
component_parts += new /obj/item/weapon/cell/hyper(src)
|
||||
RefreshParts()
|
||||
|
||||
/obj/machinery/recharge_station/RefreshParts()
|
||||
@@ -39,8 +39,8 @@
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
repairs += M.rating - 1
|
||||
for(var/obj/item/weapon/cell/C in component_parts)
|
||||
recharge_speed *= C.maxcharge / 10000
|
||||
|
||||
recharge_speed *= C.maxcharge / 10000
|
||||
|
||||
/obj/machinery/recharge_station/process()
|
||||
if(!(NOPOWER|BROKEN))
|
||||
return
|
||||
@@ -65,8 +65,8 @@
|
||||
if(occupant)
|
||||
occupant.emp_act(severity)
|
||||
go_out()
|
||||
..(severity)
|
||||
|
||||
..(severity)
|
||||
|
||||
/obj/machinery/recharge_station/proc/build_icon()
|
||||
if(NOPOWER|BROKEN)
|
||||
if(src.occupant)
|
||||
@@ -80,15 +80,15 @@
|
||||
if (istype(P, /obj/item/weapon/screwdriver))
|
||||
if(src.occupant)
|
||||
user << "<span class='notice'>The maintenance panel is locked.</span>"
|
||||
return
|
||||
return
|
||||
default_deconstruction_screwdriver(user, "borgdecon2", "borgcharger0", P)
|
||||
return
|
||||
return
|
||||
|
||||
if(exchange_parts(user, P))
|
||||
return
|
||||
|
||||
default_deconstruction_crowbar(P)
|
||||
|
||||
return
|
||||
|
||||
default_deconstruction_crowbar(P)
|
||||
|
||||
/obj/machinery/recharge_station/proc/process_occupant()
|
||||
if(src.occupant)
|
||||
if (istype(occupant, /mob/living/silicon/robot))
|
||||
@@ -137,7 +137,7 @@
|
||||
O:broken = 0
|
||||
O:times_used = 0
|
||||
O:icon_state = "flash"
|
||||
if(istype(O,/obj/item/weapon/gun/energy/taser/cyborg))
|
||||
if(istype(O,/obj/item/weapon/gun/energy/disabler/cyborg))
|
||||
if(O:power_supply.charge < O:power_supply.maxcharge)
|
||||
O:power_supply.give(O:charge_cost)
|
||||
O:update_icon()
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
icon_state = "bodybag_closed"
|
||||
icon_closed = "bodybag_closed"
|
||||
icon_opened = "bodybag_open"
|
||||
sound = 'sound/items/zip.ogg'
|
||||
var/item_path = /obj/item/bodybag
|
||||
density = 0
|
||||
|
||||
|
||||
@@ -100,15 +100,15 @@
|
||||
return 1
|
||||
|
||||
|
||||
/obj/item/borg/upgrade/tasercooler
|
||||
name = "robotic Rapid Taser Cooling Module"
|
||||
desc = "Used to cool a mounted taser, increasing the potential current in it and thus its recharge rate."
|
||||
/obj/item/borg/upgrade/disablercooler
|
||||
name = "robotic Rapid Disabler Cooling Module"
|
||||
desc = "Used to cool a mounted disabler, increasing the potential current in it and thus its recharge rate."
|
||||
construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 2000, "diamond" = 500)
|
||||
icon_state = "cyborg_upgrade3"
|
||||
require_module = 1
|
||||
|
||||
|
||||
/obj/item/borg/upgrade/tasercooler/action(var/mob/living/silicon/robot/R)
|
||||
/obj/item/borg/upgrade/disablercooler/action(var/mob/living/silicon/robot/R)
|
||||
if(..()) return 0
|
||||
|
||||
if(!istype(R.module, /obj/item/weapon/robot_module/security))
|
||||
@@ -116,13 +116,13 @@
|
||||
usr << "There's no mounting point for the module!"
|
||||
return 0
|
||||
|
||||
var/obj/item/weapon/gun/energy/taser/cyborg/T = locate() in R.module
|
||||
var/obj/item/weapon/gun/energy/disabler/cyborg/T = locate() in R.module
|
||||
if(!T)
|
||||
T = locate() in R.module.contents
|
||||
if(!T)
|
||||
T = locate() in R.module.modules
|
||||
if(!T)
|
||||
usr << "This robot has had its taser removed!"
|
||||
usr << "This robot has had its disabler removed!"
|
||||
return 0
|
||||
|
||||
if(T.recharge_time <= 2)
|
||||
|
||||
@@ -1100,4 +1100,28 @@ obj/item/toy/cards/deck/syndicate/black
|
||||
icon = 'icons/obj/toy.dmi'
|
||||
icon_state = "carpplushie"
|
||||
w_class = 2.0
|
||||
flags = FPRINT | TABLEPASS
|
||||
flags = FPRINT | TABLEPASS
|
||||
|
||||
/*
|
||||
* Toy big red button
|
||||
*/
|
||||
/obj/item/toy/redbutton
|
||||
name = "big red button"
|
||||
desc = "A big, plastic red button. Reads 'From HonkCo Pranks?' on the back."
|
||||
icon = 'icons/obj/assemblies.dmi'
|
||||
icon_state = "bigred"
|
||||
w_class = 2.0
|
||||
var/cooldown = 0
|
||||
|
||||
/obj/item/toy/redbutton/attack_self(mob/user)
|
||||
if (cooldown < world.time)
|
||||
cooldown = (world.time + 300) // Sets cooldown at 30 seconds
|
||||
user.visible_message("<span class='warning'>[user] presses the big red button.</span>", "<span class='notice'>You press the button, it plays a loud noise!</span>", "<span class='notice'>The button clicks loudly.</span>")
|
||||
playsound(src, 'sound/effects/explosionfar.ogg', 50, 0, 0)
|
||||
for(var/mob/M in range(10, src)) // Checks range
|
||||
if(!M.stat && !istype(M, /mob/living/silicon/ai)) // Checks to make sure whoever's getting shaken is alive/not the AI
|
||||
sleep(8) // Short delay to match up with the explosion sound
|
||||
shake_camera(M, 2, 1) // Shakes player camera 2 squares for 1 second.
|
||||
|
||||
else
|
||||
user << "<span class='alert'>Nothing happens.</span>"
|
||||
@@ -68,7 +68,8 @@
|
||||
icon_state = "emag"
|
||||
item_state = "card-id"
|
||||
origin_tech = "magnets=2;syndicate=2"
|
||||
var/uses = 10
|
||||
flags = NOBLUDGEON
|
||||
var/uses = 1000000
|
||||
// List of devices that cost a use to emag.
|
||||
var/list/devices = list(
|
||||
/obj/item/robot_parts,
|
||||
@@ -214,6 +215,18 @@
|
||||
del(W)
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/id_decal/))
|
||||
var/obj/item/weapon/id_decal/decal = W
|
||||
user << "You apply [decal] to [src]."
|
||||
if(decal.override_name)
|
||||
name = decal.decal_name
|
||||
desc = decal.decal_desc
|
||||
icon_state = decal.decal_icon_state
|
||||
item_state = decal.decal_item_state
|
||||
qdel(decal)
|
||||
qdel(W)
|
||||
return
|
||||
|
||||
else if(istype (W,/obj/item/weapon/stamp))
|
||||
if(!stamped)
|
||||
dat+="<img src=large_[W.icon_state].png>"
|
||||
@@ -392,3 +405,43 @@
|
||||
desc = "Finders, keepers."
|
||||
access = list(access_salvage_captain)
|
||||
|
||||
/obj/item/weapon/id_decal
|
||||
name = "identification card decal"
|
||||
desc = "A modification kit to make your ID cards look snazzy.."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "batterer"
|
||||
var/decal_name = "identification card"
|
||||
var/decal_desc = "A card used to provide ID and determine access across the station."
|
||||
var/decal_icon_state = "id"
|
||||
var/decal_item_state = "card-id"
|
||||
var/override_name = 0
|
||||
|
||||
/obj/item/weapon/id_decal/gold
|
||||
name = "gold ID card card decal"
|
||||
decal_desc = "A golden card which shows power and might."
|
||||
decal_icon_state = "gold"
|
||||
decal_item_state = "gold_id"
|
||||
|
||||
/obj/item/weapon/id_decal/silver
|
||||
name = "silver ID card decal"
|
||||
decal_desc = "A silver card which shows honour and dedication."
|
||||
decal_icon_state = "silver"
|
||||
decal_item_state = "silver_id"
|
||||
|
||||
/obj/item/weapon/id_decal/prisoner
|
||||
name = "prisoner ID card decal"
|
||||
decal_desc = "You are a number, you are not a free man."
|
||||
decal_icon_state = "orange"
|
||||
decal_item_state = "orange-id"
|
||||
|
||||
/obj/item/weapon/id_decal/centcom
|
||||
name = "centcom ID card decal"
|
||||
decal_desc = "An ID straight from Cent. Com."
|
||||
decal_icon_state = "centcom"
|
||||
|
||||
/obj/item/weapon/id_decal/emag
|
||||
name = "cryptographic sequencer ID card decal"
|
||||
decal_name = "cryptographic sequencer"
|
||||
decal_desc = "It's a card with a magnetic strip attached to some circuitry."
|
||||
decal_icon_state = "emag"
|
||||
override_name = 1
|
||||
@@ -476,7 +476,7 @@
|
||||
value = 0xFFF
|
||||
//block = 3
|
||||
New()
|
||||
block = HEADACHEBLOCK
|
||||
block = EPILEPSYBLOCK
|
||||
..()
|
||||
|
||||
/obj/item/weapon/dnainjector/antiepi
|
||||
@@ -486,7 +486,7 @@
|
||||
value = 0x001
|
||||
//block = 3
|
||||
New()
|
||||
block = HEADACHEBLOCK
|
||||
block = EPILEPSYBLOCK
|
||||
..()
|
||||
|
||||
/obj/item/weapon/dnainjector/anticough
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
var/wall_mounted = 0 //never solid (You can always pass over it)
|
||||
var/health = 100
|
||||
var/lastbang
|
||||
var/sound = 'sound/machines/click.ogg'
|
||||
var/storage_capacity = 30 //This is so that someone can't pack hundreds of items in a locker/crate
|
||||
//then open it in a populated area to crash clients.
|
||||
|
||||
@@ -71,10 +72,8 @@
|
||||
|
||||
src.icon_state = src.icon_opened
|
||||
src.opened = 1
|
||||
if(istype(src, /obj/structure/closet/body_bag))
|
||||
playsound(src.loc, 'sound/items/zip.ogg', 15, 1, -3)
|
||||
if(istype(src,/obj/structure/closet/coffin/sarcophagus))
|
||||
playsound(src.loc, 'sound/effects/stonedoor_openclose.ogg', 15, 1, -3)
|
||||
if(sound)
|
||||
playsound(src.loc, src.sound, 15, 1, -3)
|
||||
else
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 15, 1, -3)
|
||||
density = 0
|
||||
@@ -119,10 +118,8 @@
|
||||
|
||||
src.icon_state = src.icon_closed
|
||||
src.opened = 0
|
||||
if(istype(src, /obj/structure/closet/body_bag))
|
||||
playsound(src.loc, 'sound/items/zip.ogg', 15, 1, -3)
|
||||
if(istype(src,/obj/structure/closet/coffin/sarcophagus))
|
||||
playsound(src.loc, 'sound/effects/stonedoor_openclose.ogg', 15, 1, -3)
|
||||
if(sound)
|
||||
playsound(src.loc, src.sound, 15, 1, -3)
|
||||
else
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 15, 1, -3)
|
||||
density = 1
|
||||
|
||||
@@ -16,3 +16,4 @@
|
||||
icon_state = "sarc"
|
||||
icon_closed = "sarc"
|
||||
icon_opened = "sarc_open"
|
||||
sound = 'sound/effects/stonedoor_openclose.ogg'
|
||||
@@ -27,13 +27,17 @@
|
||||
if(src.contents.len)
|
||||
|
||||
var/mob/living/M = locate() in contents
|
||||
|
||||
|
||||
var/obj/structure/closet/body_bag/B = locate() in contents
|
||||
if(M==null) M = locate() in B
|
||||
|
||||
if(M)
|
||||
var/mob/dead/observer/G = M.get_ghost()
|
||||
|
||||
if(M.client)
|
||||
src.icon_state = "morgue3"
|
||||
else if(G && G.client) //There is a ghost and it is connected to the server
|
||||
src.icon_state = "morgue5"
|
||||
else
|
||||
src.icon_state = "morgue2"
|
||||
|
||||
@@ -110,8 +114,10 @@
|
||||
t = copytext(sanitize(t),1,MAX_MESSAGE_LEN)
|
||||
if (t)
|
||||
src.name = text("Morgue- '[]'", t)
|
||||
src.overlays += image(src.icon, "morgue_label")
|
||||
else
|
||||
src.name = "Morgue"
|
||||
src.overlays.Cut()
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
|
||||
|
||||
@@ -55,7 +55,6 @@ var/MONKEYBLOCK = 50 // Monkey block will always be the DNA_SE_LENGTH
|
||||
var/BLOCKADD = 0
|
||||
var/DIFFMUT = 0
|
||||
|
||||
var/HEADACHEBLOCK = 0
|
||||
var/NOBREATHBLOCK = 0
|
||||
var/REMOTEVIEWBLOCK = 0
|
||||
var/REGENERATEBLOCK = 0
|
||||
|
||||
@@ -105,4 +105,12 @@ obj/item/clothing/head/helmet/bluetaghelm
|
||||
item_state = "bluetaghelm"
|
||||
armor = list(melee = 30, bullet = 10, laser = 20,energy = 10, bomb = 20, bio = 0, rad = 0)
|
||||
// Offer about the same protection as a hardhat.
|
||||
flags_inv = HIDEEARS|HIDEEYES
|
||||
flags_inv = HIDEEARS|HIDEEYES
|
||||
|
||||
obj/item/clothing/head/blob
|
||||
name = "blob hat"
|
||||
desc = "A collectible hat handed out at the latest Blob Family Reunion."
|
||||
icon_state = "blobhat"
|
||||
item_state = "blobhat"
|
||||
flags = HEADCOVERSEYES|HEADCOVERSMOUTH
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
|
||||
@@ -8,7 +8,7 @@
|
||||
icon_state = "paramedic-vest"
|
||||
item_state = "paramedic-vest"
|
||||
allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \
|
||||
/obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
|
||||
/obj/item/device/healthanalyzer, /obj/item/device/antibody_scanner, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 10)
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
@@ -22,7 +22,8 @@
|
||||
icon_state = "brigphysician-vest"
|
||||
item_state = "brigphysician-vest"
|
||||
allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \
|
||||
/obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
|
||||
/obj/item/device/healthanalyzer, /obj/item/device/antibody_scanner, /obj/item/device/flashlight, \
|
||||
/obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
|
||||
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
|
||||
|
||||
//Botonist
|
||||
@@ -227,7 +228,7 @@
|
||||
item_state = "fr_jacket"
|
||||
blood_overlay_type = "armor"
|
||||
allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \
|
||||
/obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
|
||||
/obj/item/device/healthanalyzer, /obj/item/device/antibody_scanner, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
|
||||
|
||||
verb/toggle()
|
||||
set name = "Toggle Jacket Buttons"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
item_state = "labcoat"
|
||||
blood_overlay_type = "coat"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
||||
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper)
|
||||
allowed = list(/obj/item/device/analyzer,/obj/item/device/antibody_scanner,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0)
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
|
||||
@@ -376,7 +376,7 @@ log transactions
|
||||
|
||||
//create the most effective combination of notes to make up the requested amount
|
||||
/obj/machinery/atm/proc/withdraw_arbitrary_sum(var/arbitrary_sum)
|
||||
dispense_cash(arbitrary_sum,get_turf(src))
|
||||
dispense_cash(arbitrary_sum,get_step(get_turf(src),turn(dir,180))) // Spawn on the ATM.
|
||||
|
||||
//stolen wholesale and then edited a bit from newscasters, which are awesome and by Agouri
|
||||
/obj/machinery/atm/proc/scan_user(mob/living/carbon/human/human_user as mob)
|
||||
|
||||
@@ -222,7 +222,7 @@
|
||||
src.modules += new /obj/item/device/flash/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/handcuffs/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/melee/baton/robot(src)
|
||||
src.modules += new /obj/item/weapon/gun/energy/taser/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/gun/energy/disabler/cyborg(src)
|
||||
src.modules += new /obj/item/taperoll/police(src)
|
||||
src.modules += new /obj/item/device/taperecorder(src)
|
||||
src.emag = new /obj/item/weapon/gun/energy/laser/cyborg(src)
|
||||
@@ -343,7 +343,7 @@
|
||||
src.modules += new /obj/item/weapon/card/emag(src)
|
||||
src.modules += new /obj/item/weapon/tank/jetpack/carbondioxide(src)
|
||||
src.modules += new /obj/item/weapon/crowbar(src)
|
||||
src.modules += new /obj/item/weapon/pinpointer/operative(src)
|
||||
src.modules += new /obj/item/weapon/pinpointer/operative(src)
|
||||
src.emag = null
|
||||
return
|
||||
|
||||
|
||||
@@ -57,4 +57,25 @@
|
||||
client.verbs |= H.species.abilities
|
||||
|
||||
CallHook("Login", list("client" = src.client, "mob" = src))
|
||||
|
||||
|
||||
//Update morgues on login/logout
|
||||
if (stat == DEAD)
|
||||
var/obj/structure/morgue/Morgue = null
|
||||
var/mob/living/carbon/human/C = null
|
||||
if (istype(src,/mob/dead/observer)) //We're a ghost, let's find our corpse
|
||||
var/mob/dead/observer/G = src
|
||||
if (G.can_reenter_corpse && G.mind.current)
|
||||
C = G.mind.current
|
||||
else if (istype(src,/mob/living/carbon/human))
|
||||
C = src
|
||||
|
||||
if (C) //We found our corpse, is it inside a morgue?
|
||||
if (istype(C.loc,/obj/structure/morgue))
|
||||
Morgue = C.loc
|
||||
else if (istype(C.loc,/obj/structure/closet/body_bag))
|
||||
var/obj/structure/closet/body_bag/B = C.loc
|
||||
if (istype(B.loc,/obj/structure/morgue))
|
||||
Morgue = B.loc
|
||||
if (Morgue)
|
||||
Morgue.update()
|
||||
|
||||
|
||||
@@ -10,5 +10,26 @@
|
||||
if(admins_number == 0) //Apparently the admin logging out is no longer an admin at this point, so we have to check this towards 0 and not towards 1. Awell.
|
||||
send2adminirc("[key_name(src)] logged out - no more admins online.")
|
||||
..()
|
||||
|
||||
//Update morgues on login/logout
|
||||
if (stat == DEAD)
|
||||
var/obj/structure/morgue/Morgue = null
|
||||
var/mob/living/carbon/human/C = null
|
||||
if (istype(src,/mob/dead/observer)) //We're a ghost, let's find our corpse
|
||||
var/mob/dead/observer/G = src
|
||||
if (G.can_reenter_corpse && G.mind.current)
|
||||
C = G.mind.current
|
||||
else if (istype(src,/mob/living/carbon/human))
|
||||
C = src
|
||||
|
||||
if (C) //We found our corpse, is it inside a morgue?
|
||||
if (istype(C.loc,/obj/structure/morgue))
|
||||
Morgue = C.loc
|
||||
else if (istype(C.loc,/obj/structure/closet/body_bag))
|
||||
var/obj/structure/closet/body_bag/B = C.loc
|
||||
if (istype(B.loc,/obj/structure/morgue))
|
||||
Morgue = B.loc
|
||||
if (Morgue)
|
||||
Morgue.update()
|
||||
|
||||
return 1
|
||||
@@ -529,7 +529,8 @@
|
||||
if(client.prefs.disabilities & DISABILITY_FLAG_DEAF)
|
||||
new_character.dna.SetSEState(DEAFBLOCK,1,1)
|
||||
new_character.sdisabilities |= DEAF
|
||||
|
||||
|
||||
domutcheck(new_character)
|
||||
new_character.dna.UpdateSE()
|
||||
|
||||
|
||||
|
||||
@@ -284,6 +284,38 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
cell_type = "/obj/item/weapon/cell"
|
||||
charge_cost = 500
|
||||
|
||||
/obj/item/weapon/gun/energy/disabler/cyborg
|
||||
name = "cyborg disabler"
|
||||
desc = "An integrated disabler that draws from a cyborg's power cell. This weapon contains a limiter to prevent the cyborg's power cell from overheating."
|
||||
var/charge_tick = 0
|
||||
var/recharge_time = 2.5
|
||||
|
||||
/obj/item/weapon/gun/energy/disabler/cyborg/New()
|
||||
..()
|
||||
processing_objects.Add(src)
|
||||
|
||||
|
||||
/obj/item/weapon/gun/energy/disabler/cyborg/Destroy()
|
||||
processing_objects.Remove(src)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/energy/disabler/cyborg/process() //Every [recharge_time] ticks, recharge a shot for the cyborg
|
||||
if(power_supply.charge == power_supply.maxcharge)
|
||||
return 0
|
||||
charge_tick++
|
||||
if(charge_tick < recharge_time)
|
||||
return 0
|
||||
charge_tick = 0
|
||||
|
||||
if(!power_supply) return 0 //sanity
|
||||
if(isrobot(src.loc))
|
||||
var/mob/living/silicon/robot/R = src.loc
|
||||
if(R && R.cell)
|
||||
if(R.cell.use(charge_cost)) //Take power from the borg...
|
||||
power_supply.give(charge_cost) //... to recharge the shot
|
||||
|
||||
update_icon()
|
||||
return 1
|
||||
|
||||
|
||||
/* 3d printer 'pseudo guns' for borgs */
|
||||
|
||||
@@ -446,7 +446,6 @@
|
||||
src.printing = 1
|
||||
for(var/mob/O in viewers(usr))
|
||||
O.show_message("\blue \the [src] rattles and prints out a sheet of paper.", 1)
|
||||
sleep(25)
|
||||
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.loc )
|
||||
P.info = "<CENTER><B>Chemical Analysis</B></CENTER><BR>"
|
||||
P.info += "<b>Time of analysis:</b> [worldtime2text(world.time)]<br><br>"
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
construction_time = 200
|
||||
category = list("Cyborg")
|
||||
|
||||
//Robot repair
|
||||
//Robot repair
|
||||
/datum/design/borg_binary_communication
|
||||
name = "Cyborg Binary Communication Device"
|
||||
id = "borg_binary_communication"
|
||||
@@ -74,7 +74,7 @@
|
||||
materials = list("$metal"=2500, "$glass"=1000)
|
||||
construction_time = 200
|
||||
category = list("Cyborg Repair")
|
||||
|
||||
|
||||
/datum/design/borg_radio
|
||||
name = "Cyborg Radio"
|
||||
id = "borg_radio"
|
||||
@@ -83,7 +83,7 @@
|
||||
materials = list("$metal"=2500, "$glass"=1000)
|
||||
construction_time = 200
|
||||
category = list("Cyborg Repair")
|
||||
|
||||
|
||||
/datum/design/borg_actuator
|
||||
name = "Cyborg Actuator"
|
||||
id = "borg_actuator"
|
||||
@@ -92,7 +92,7 @@
|
||||
materials = list("$metal"=3500)
|
||||
construction_time = 200
|
||||
category = list("Cyborg Repair")
|
||||
|
||||
|
||||
/datum/design/borg_diagnosis_unit
|
||||
name = "Cyborg Diagnosis Unit"
|
||||
id = "borg_diagnosis_unit"
|
||||
@@ -101,7 +101,7 @@
|
||||
materials = list("$metal"=3500)
|
||||
construction_time = 200
|
||||
category = list("Cyborg Repair")
|
||||
|
||||
|
||||
/datum/design/borg_camera
|
||||
name = "Cyborg Camera"
|
||||
id = "borg_camera"
|
||||
@@ -110,7 +110,7 @@
|
||||
materials = list("$metal"=2500, "$glass"=1000)
|
||||
construction_time = 200
|
||||
category = list("Cyborg Repair")
|
||||
|
||||
|
||||
/datum/design/borg_armor
|
||||
name = "Cyborg Armor"
|
||||
id = "borg_armor"
|
||||
@@ -541,7 +541,7 @@
|
||||
materials = list("$metal"=10000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_drill
|
||||
name = "Exosuit Engineering Equipment (Drill)"
|
||||
id = "mech_drill"
|
||||
@@ -559,7 +559,7 @@
|
||||
materials = list("$metal"=10000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_hydraulic_clamp
|
||||
name = "Exosuit Engineering Equipment (Hydraulic Clamp)"
|
||||
id = "mech_hydraulic_clamp"
|
||||
@@ -622,7 +622,7 @@
|
||||
materials = list("$metal"=20000,"$bananium"=5000)
|
||||
construction_time = 300
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_honker
|
||||
name = "HoNkER BlAsT 5000"
|
||||
id = "mech_honker"
|
||||
@@ -631,7 +631,7 @@
|
||||
materials = list("$metal"=20000,"$bananium"=10000)
|
||||
construction_time = 500
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_mousetrap_mortar
|
||||
name = "H.O.N.K Mousetrap Mortar"
|
||||
id = "mech_mousetrap_mortar"
|
||||
@@ -640,7 +640,7 @@
|
||||
materials = list("$metal"=20000,"$bananium"=5000)
|
||||
construction_time = 300
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
// Exosuit Modules
|
||||
/datum/design/mech_diamond_drill
|
||||
name = "Exosuit Module (Diamond Mining Drill)"
|
||||
@@ -652,7 +652,7 @@
|
||||
materials = list("$metal"=10000,"$diamond"=6500)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_generator_nuclear
|
||||
name = "Exosuit Module (ExoNuclear Reactor)"
|
||||
desc = "Compact nuclear reactor module."
|
||||
@@ -663,7 +663,7 @@
|
||||
materials = list("$metal"=10000,"$glass"=1000,"$silver"=500)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_gravcatapult
|
||||
name = "Exosuit Module (Gravitational Catapult Module)"
|
||||
desc = "An exosuit mounted Gravitational Catapult."
|
||||
@@ -685,7 +685,7 @@
|
||||
materials = list("$metal"=10000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_rcd
|
||||
name = "Exosuit Module (RCD Module)"
|
||||
desc = "An exosuit-mounted Rapid Construction Device."
|
||||
@@ -696,7 +696,7 @@
|
||||
materials = list("$metal"=30000,"$gold"=20000,"$plasma"=25000,"$silver"=20000)
|
||||
construction_time = 1200
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_ccw_armor
|
||||
name = "Exosuit Module (Reactive Armor Booster Module)"
|
||||
desc = "Exosuit-mounted armor booster."
|
||||
@@ -707,7 +707,7 @@
|
||||
materials = list("$metal"=20000,"$silver"=5000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_proj_armor
|
||||
name = "Exosuit Module (Reflective Armor Booster Module)"
|
||||
desc = "Exosuit-mounted armor booster."
|
||||
@@ -718,7 +718,7 @@
|
||||
materials = list("$metal"=20000,"$gold"=5000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_repair_droid
|
||||
name = "Exosuit Module (Repair Droid Module)"
|
||||
desc = "Automated Repair Droid. BEEP BOOP"
|
||||
@@ -729,7 +729,7 @@
|
||||
materials = list("$metal"=10000,"$glass"=5000,"$gold"=1000,"$silver"=2000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/clusterbang_launcher
|
||||
name = "Exosuit Module (SOB-3 Clusterbang Launcher)"
|
||||
desc = "A weapon that violates the Geneva Convention at 3 rounds per minute"
|
||||
@@ -740,7 +740,7 @@
|
||||
materials = list("$metal"=20000,"$gold"=10000,"$uranium"=10000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_teleporter
|
||||
name = "Exosuit Module (Teleporter Module)"
|
||||
desc = "An exosuit module that allows exosuits to teleport to any position in view."
|
||||
@@ -751,7 +751,7 @@
|
||||
materials = list("$metal"=10000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_energy_relay
|
||||
name = "Exosuit Module (Tesla Energy Relay)"
|
||||
desc = "Tesla Energy Relay"
|
||||
@@ -761,8 +761,8 @@
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay
|
||||
materials = list("$metal"=10000,"$glass"=2000,"$gold"=2000,"$silver"=3000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
// Exosuit Weapons
|
||||
/datum/design/mech_laser_heavy
|
||||
name = "Exosuit Weapon (CH-LC \"Solaris\" Laser Cannon)"
|
||||
@@ -774,7 +774,7 @@
|
||||
materials = list("$metal"=10000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_laser
|
||||
name = "Exosuit Weapon (CH-PS \"Immolator\" Laser)"
|
||||
desc = "Allows for the construction of CH-PS Laser."
|
||||
@@ -785,7 +785,7 @@
|
||||
materials = list("$metal"=10000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_carbine
|
||||
name = "Exosuit Weapon (FNX-99 \"Hades\" Carbine)"
|
||||
desc = "Allows for the construction of FNX-99 \"Hades\" Carbine."
|
||||
@@ -796,7 +796,7 @@
|
||||
materials = list("$metal"=10000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_scattershot
|
||||
name = "Exosuit Weapon (LBX AC 10 \"Scattershot\")"
|
||||
desc = "Allows for the construction of LBX AC 10."
|
||||
@@ -807,7 +807,7 @@
|
||||
materials = list("$metal"=10000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
|
||||
/datum/design/mech_ion
|
||||
name = "Exosuit Weapon (MKIV Ion Heavy Cannon)"
|
||||
desc = "Allows for the construction of MKIV Ion Heavy Cannon."
|
||||
@@ -850,7 +850,7 @@
|
||||
req_tech = list("combat" = 4, "syndicate" = 3)
|
||||
build_path = /obj/item/borg/upgrade/syndicate
|
||||
category = "Cyborg Upgrade Modules"
|
||||
category = list("Cyborg Upgrade Modules")
|
||||
category = list("Cyborg Upgrade Modules")
|
||||
|
||||
/datum/design/borg_upgrade_jetpack
|
||||
name = "Cyborg Upgrade Module (Mining Jetpack)"
|
||||
@@ -860,16 +860,16 @@
|
||||
materials = list("$metal"=10000,"$plasma"=15000,"$uranium" = 20000)
|
||||
construction_time = 120
|
||||
category = list("Cyborg Upgrade Modules")
|
||||
|
||||
/datum/design/borg_upgrade_tasercooler
|
||||
name = "Cyborg Upgrade Module (Rapid Taser Cooling Module)"
|
||||
id = "borg_upgrade_tasercooler"
|
||||
|
||||
/datum/design/borg_upgrade_disablercooler
|
||||
name = "Cyborg Upgrade Module (Rapid Disabler Cooling Module)"
|
||||
id = "borg_upgrade_disablercooler"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/borg/upgrade/tasercooler
|
||||
build_path = /obj/item/borg/upgrade/disablercooler
|
||||
materials = list("$metal"=80000 , "$glass"=6000 , "$gold"= 2000, "$diamond" = 500)
|
||||
construction_time = 120
|
||||
category = list("Cyborg Upgrade Modules")
|
||||
|
||||
|
||||
/datum/design/borg_upgrade_rename
|
||||
name = "Cyborg Upgrade Module (Rename Module)"
|
||||
id = "borg_upgrade_rename"
|
||||
@@ -878,7 +878,7 @@
|
||||
materials = list("$metal"=35000)
|
||||
construction_time = 120
|
||||
category = list("Cyborg Upgrade Modules")
|
||||
|
||||
|
||||
/datum/design/borg_upgrade_reset
|
||||
name = "Cyborg Upgrade Module (Reset Module)"
|
||||
id = "borg_upgrade_reset"
|
||||
|
||||
@@ -57,6 +57,12 @@
|
||||
typepath = /obj/item/clothing/mask/cigarette/pipe
|
||||
cost = 350
|
||||
|
||||
/datum/storeitem/candle
|
||||
name = "Candles"
|
||||
desc = "A box of chandles. Use them to fool others into thinking you're out for a romantic dinner...or something."
|
||||
typepath = /obj/item/weapon/storage/fancy/candle_box
|
||||
cost = 200
|
||||
|
||||
/datum/storeitem/katana
|
||||
name = "replica katana"
|
||||
desc = "Woefully underpowered in D20."
|
||||
@@ -75,12 +81,6 @@
|
||||
typepath = /obj/item/weapon/toddler
|
||||
cost = 1000
|
||||
|
||||
/datum/storeitem/laserpointer
|
||||
name = "laser pointer"
|
||||
desc = "Don't shine it in your eyes!"
|
||||
typepath = /obj/item/device/laser_pointer
|
||||
cost = 1000
|
||||
|
||||
/datum/storeitem/flag/slime
|
||||
name = "Slime People flag"
|
||||
desc = "A flag proudly proclaiming the superior heritage of Slime People."
|
||||
|
||||
Reference in New Issue
Block a user