@@ -5,6 +5,83 @@
|
||||
// END_INTERNALS
|
||||
// BEGIN_FILE_DIR
|
||||
#define FILE_DIR .
|
||||
#define FILE_DIR "code"
|
||||
#define FILE_DIR "code/TriDimension"
|
||||
#define FILE_DIR "code/unused"
|
||||
#define FILE_DIR "code/unused/goonheist"
|
||||
#define FILE_DIR "code/WorkInProgress"
|
||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn"
|
||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle"
|
||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust"
|
||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/ShieldGen"
|
||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter"
|
||||
#define FILE_DIR "code/WorkInProgress/IndexLP"
|
||||
#define FILE_DIR "code/WorkInProgress/Susan"
|
||||
#define FILE_DIR "html"
|
||||
#define FILE_DIR "icons"
|
||||
#define FILE_DIR "icons/48x48"
|
||||
#define FILE_DIR "icons/ass"
|
||||
#define FILE_DIR "icons/effects"
|
||||
#define FILE_DIR "icons/mecha"
|
||||
#define FILE_DIR "icons/misc"
|
||||
#define FILE_DIR "icons/mob"
|
||||
#define FILE_DIR "icons/mob/human_races"
|
||||
#define FILE_DIR "icons/mob/in-hand"
|
||||
#define FILE_DIR "icons/mob/in-hand/left"
|
||||
#define FILE_DIR "icons/mob/in-hand/right"
|
||||
#define FILE_DIR "icons/mob/otherHuman"
|
||||
#define FILE_DIR "icons/mob/species"
|
||||
#define FILE_DIR "icons/mob/species/armalis"
|
||||
#define FILE_DIR "icons/mob/species/skrell"
|
||||
#define FILE_DIR "icons/mob/species/tajaran"
|
||||
#define FILE_DIR "icons/mob/species/unathi"
|
||||
#define FILE_DIR "icons/mob/species/vox"
|
||||
#define FILE_DIR "icons/mob/spirits"
|
||||
#define FILE_DIR "icons/NTOS"
|
||||
#define FILE_DIR "icons/NTOS/battery_icons"
|
||||
#define FILE_DIR "icons/obj"
|
||||
#define FILE_DIR "icons/obj/assemblies"
|
||||
#define FILE_DIR "icons/obj/atmospherics"
|
||||
#define FILE_DIR "icons/obj/clothing"
|
||||
#define FILE_DIR "icons/obj/doors"
|
||||
#define FILE_DIR "icons/obj/flora"
|
||||
#define FILE_DIR "icons/obj/machines"
|
||||
#define FILE_DIR "icons/obj/pipes"
|
||||
#define FILE_DIR "icons/obj/power_cond"
|
||||
#define FILE_DIR "icons/pda_icons"
|
||||
#define FILE_DIR "icons/pods"
|
||||
#define FILE_DIR "icons/spideros_icons"
|
||||
#define FILE_DIR "icons/stamp_icons"
|
||||
#define FILE_DIR "icons/Testing"
|
||||
#define FILE_DIR "icons/turf"
|
||||
#define FILE_DIR "icons/vehicles"
|
||||
#define FILE_DIR "icons/vending_icons"
|
||||
#define FILE_DIR "maps"
|
||||
#define FILE_DIR "maps/overmap"
|
||||
#define FILE_DIR "maps/overmap/bearcat"
|
||||
#define FILE_DIR "nano"
|
||||
#define FILE_DIR "nano/images"
|
||||
#define FILE_DIR "sound"
|
||||
#define FILE_DIR "sound/AI"
|
||||
#define FILE_DIR "sound/ambience"
|
||||
#define FILE_DIR "sound/effects"
|
||||
#define FILE_DIR "sound/effects/turret"
|
||||
#define FILE_DIR "sound/effects/wind"
|
||||
#define FILE_DIR "sound/hallucinations"
|
||||
#define FILE_DIR "sound/items"
|
||||
#define FILE_DIR "sound/machines"
|
||||
#define FILE_DIR "sound/mecha"
|
||||
#define FILE_DIR "sound/misc"
|
||||
#define FILE_DIR "sound/music"
|
||||
#define FILE_DIR "sound/piano"
|
||||
#define FILE_DIR "sound/turntable"
|
||||
#define FILE_DIR "sound/violin"
|
||||
#define FILE_DIR "sound/voice"
|
||||
#define FILE_DIR "sound/voice/complionator"
|
||||
#define FILE_DIR "sound/voice/Serithi"
|
||||
#define FILE_DIR "sound/vox"
|
||||
#define FILE_DIR "sound/vox_fem"
|
||||
#define FILE_DIR "sound/weapons"
|
||||
// END_FILE_DIR
|
||||
// BEGIN_PREFERENCES
|
||||
#define DEBUG
|
||||
@@ -849,10 +926,10 @@
|
||||
#include "code\modules\customitems\item_defines.dm"
|
||||
#include "code\modules\customitems\item_spawning.dm"
|
||||
#include "code\modules\customitems\definitions\base.dm"
|
||||
#include "code\modules\detectivework\detective_work.dm"
|
||||
#include "code\modules\detectivework\evidence.dm"
|
||||
#include "code\modules\detectivework\footprints_and_rag.dm"
|
||||
#include "code\modules\detectivework\scanner.dm"
|
||||
#include "code\modules\DetectiveWork\detective_work.dm"
|
||||
#include "code\modules\DetectiveWork\evidence.dm"
|
||||
#include "code\modules\DetectiveWork\footprints_and_rag.dm"
|
||||
#include "code\modules\DetectiveWork\scanner.dm"
|
||||
#include "code\modules\economy\Accounts.dm"
|
||||
#include "code\modules\economy\Accounts_DB.dm"
|
||||
#include "code\modules\economy\ATM.dm"
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
/datum/medical_effect/headache
|
||||
name = "Headache"
|
||||
triggers = list("cryoxadone" = 10, "bicaridine" = 15, "tricordrazine" = 15)
|
||||
cures = list("alkysine", "tramadol")
|
||||
cures = list("alkysine", "tramadol", "paracetamol", "oxycodone")
|
||||
cure_message = "Your head stops throbbing..."
|
||||
|
||||
/datum/medical_effect/headache/on_life(mob/living/carbon/human/H, strength)
|
||||
|
||||
@@ -154,12 +154,13 @@ var/list/uplink_items = list()
|
||||
cost = 3
|
||||
job = list("Civilian")
|
||||
|
||||
/*
|
||||
/datum/uplink_item/jobspecific/greytide
|
||||
name = "Greytide Implant"
|
||||
desc = "A box containing an implanter filled with a greytide implant when injected into another person makes them loyal to the greytide and your cause, unless of course they're already implanted by someone else. Loyalty ends if the implant is no longer in their system."
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/greytide
|
||||
cost = 7
|
||||
job = list("Civilian")
|
||||
job = list("Civilian") */
|
||||
//Bartender
|
||||
|
||||
/datum/uplink_item/jobspecific/drunkbullets
|
||||
@@ -257,9 +258,9 @@ var/list/uplink_items = list()
|
||||
|
||||
/datum/uplink_item/stealthy_weapons/para_pen
|
||||
name = "Paralysis Pen"
|
||||
desc = "A syringe disguised as a functional pen, filled with a neuromuscular-blocking drug that renders a target immobile on injection and makes them seem dead to observers. Side effects of the drug include noticeable drooling. The pen holds one dose of paralyzing agent, and cannot be refilled."
|
||||
desc = "A syringe disguised as a functional pen, filled with a neuromuscular-blocking drug that renders a target mute on injection that will eventually cause them to pass out. The pen holds one dose of paralyzing agent,though it can be refilled."
|
||||
item = /obj/item/weapon/pen/paralysis
|
||||
cost = 3
|
||||
cost = 4
|
||||
|
||||
/datum/uplink_item/stealthy_weapons/soap
|
||||
name = "Syndicate Soap"
|
||||
@@ -317,6 +318,11 @@ var/list/uplink_items = list()
|
||||
item = /obj/item/device/chameleon
|
||||
cost = 4
|
||||
|
||||
/datum/uplink_item/stealthy_tools/mindslave
|
||||
name = "Mindslave Implant"
|
||||
desc = "A box containing an implanter filled with a mindslave implant that when injected into another person makes them loyal to you and your cause, unless of course they're already implanted by someone else. Loyalty ends if the implant is no longer in their system."
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/mindslave
|
||||
cost = 5
|
||||
|
||||
// DEVICE AND TOOLS
|
||||
|
||||
|
||||
@@ -400,12 +400,19 @@
|
||||
return
|
||||
|
||||
if((istype(M,/mob/living/carbon/human/)) && (M.m_intent == "run")).
|
||||
M.AdjustStunned(5)
|
||||
M.AdjustWeakened(5)
|
||||
//M.AdjustStunned(5)
|
||||
//M.AdjustWeakened(5)
|
||||
|
||||
if(M.stunned <= 5) M.stunned = 5
|
||||
if(M.weakened <= 5) M.weakened = 5
|
||||
|
||||
else if (istype(M,/mob/living/carbon/human/))
|
||||
M.AdjustStunned(2)
|
||||
M.AdjustWeakened(2)
|
||||
//M.AdjustStunned(2)
|
||||
//M.AdjustWeakened(2)
|
||||
|
||||
if(M.stunned <= 2) M.stunned = 2
|
||||
if(M.weakened <= 2) M.weakened = 2
|
||||
|
||||
|
||||
M << "Gravity!"
|
||||
|
||||
|
||||
@@ -67,6 +67,10 @@ var/global/list/bad_blocks[0]
|
||||
var/struc_enzymes="" // Encoded SE
|
||||
var/unique_enzymes="" // MD5 of player name
|
||||
|
||||
// Original Encoded SE, for use with Ryetalin
|
||||
var/struc_enzymes_original="" // Encoded SE
|
||||
var/list/SE_original[DNA_SE_LENGTH]
|
||||
|
||||
// Internal dirtiness checks
|
||||
var/dirtyUI=0
|
||||
var/dirtySE=0
|
||||
@@ -89,6 +93,7 @@ var/global/list/bad_blocks[0]
|
||||
/datum/dna/proc/Clone()
|
||||
var/datum/dna/new_dna = new()
|
||||
new_dna.unique_enzymes=unique_enzymes
|
||||
new_dna.struc_enzymes_original=struc_enzymes_original // will make clone's SE the same as the original, do we want this?
|
||||
new_dna.b_type=b_type
|
||||
new_dna.mutantrace=mutantrace
|
||||
new_dna.real_name=real_name
|
||||
@@ -362,10 +367,16 @@ var/global/list/bad_blocks[0]
|
||||
|
||||
// BACK-COMPAT!
|
||||
// Initial DNA setup. I'm kind of wondering why the hell this doesn't just call the above.
|
||||
// ready_dna is (hopefully) only used on mob creation, and sets the struc_enzymes_original and SE_original only once - Bone White
|
||||
|
||||
/datum/dna/proc/ready_dna(mob/living/carbon/human/character)
|
||||
|
||||
ResetUIFrom(character)
|
||||
|
||||
ResetSE()
|
||||
|
||||
struc_enzymes_original = struc_enzymes // sets the original struc_enzymes when ready_dna is called
|
||||
SE_original = SE
|
||||
|
||||
unique_enzymes = md5(character.real_name)
|
||||
reg_dna[unique_enzymes] = character.real_name
|
||||
|
||||
@@ -533,7 +533,13 @@ var/list/sacrificed = list()
|
||||
return 0
|
||||
|
||||
// record this
|
||||
cult_log("[key_name(usr,0)] says : [input]")
|
||||
//cult_log("[key_name(usr,0)] says : [input]")
|
||||
|
||||
|
||||
var/F = investigate_subject2file("cult")
|
||||
if(!F)
|
||||
return 0
|
||||
F << "<small>[time2text(world.timeofday,"hh:mm")] \ref[usr] ([usr.x],[usr.y],[usr.z])</small> || [usr] communicates: [input]<br>"
|
||||
|
||||
var/obj/cult_viewpoint/vp = getCultViewpoint(usr)
|
||||
if (!vp)
|
||||
|
||||
@@ -86,35 +86,173 @@
|
||||
if (usr.stat || usr.restrained() || !in_range(src, usr)) return
|
||||
|
||||
if (href_list["rune"])
|
||||
switch(href_list["rune"])
|
||||
if("newtome")
|
||||
var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr))
|
||||
T.imbue = "newtome"
|
||||
if("teleport")
|
||||
var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr))
|
||||
T.imbue = "[pick("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar", "karazet", "geeri", "orkan", "allaq")]"
|
||||
T.info = "[T.imbue]"
|
||||
if("emp")
|
||||
var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr))
|
||||
T.imbue = "emp"
|
||||
if("conceal")
|
||||
var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr))
|
||||
T.imbue = "conceal"
|
||||
if("communicate")
|
||||
var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr))
|
||||
T.imbue = "communicate"
|
||||
if("runestun")
|
||||
var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr))
|
||||
T.imbue = "runestun"
|
||||
if("armor")
|
||||
var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(get_turf(usr))
|
||||
T.imbue = "armor"
|
||||
if("soulstone")
|
||||
new /obj/item/device/soulstone(get_turf(usr))
|
||||
if("construct")
|
||||
new /obj/structure/constructshell(get_turf(usr))
|
||||
src.uses--
|
||||
supply()
|
||||
if (istype(usr, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/M = usr
|
||||
|
||||
switch(href_list["rune"])
|
||||
if("newtome")
|
||||
|
||||
var/obj/item/weapon/paper/talisman/T = new(M)
|
||||
T.imbue = "newtome"
|
||||
|
||||
var/list/slots = list (
|
||||
"backpack" = slot_in_backpack,
|
||||
"left pocket" = slot_l_store,
|
||||
"right pocket" = slot_r_store,
|
||||
"left hand" = slot_l_hand,
|
||||
"right hand" = slot_r_hand,
|
||||
)
|
||||
|
||||
var/where = M.equip_in_one_of_slots(T, slots)
|
||||
if (!where)
|
||||
M << "You need a space in your backpack, pocket or hand for the new paper."
|
||||
else
|
||||
M << "The [href_list["rune"]] talisman in your [where]"
|
||||
M.update_icons()
|
||||
src.uses--
|
||||
supply()
|
||||
|
||||
|
||||
if("teleport")
|
||||
var/obj/item/weapon/paper/talisman/T = new(M)
|
||||
T.imbue = "[pick("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar", "karazet", "geeri", "orkan", "allaq")]"
|
||||
T.info = "[T.imbue]"
|
||||
|
||||
var/list/slots = list (
|
||||
"backpack" = slot_in_backpack,
|
||||
"left pocket" = slot_l_store,
|
||||
"right pocket" = slot_r_store,
|
||||
"left hand" = slot_l_hand,
|
||||
"right hand" = slot_r_hand,
|
||||
)
|
||||
|
||||
var/where = M.equip_in_one_of_slots(T, slots)
|
||||
if (!where)
|
||||
M << "You need a space in your backpack, pocket or hand for the new paper."
|
||||
else
|
||||
M << "The [href_list["rune"]] talisman in your [where]"
|
||||
M.update_icons()
|
||||
src.uses--
|
||||
supply()
|
||||
|
||||
if("emp")
|
||||
var/obj/item/weapon/paper/talisman/T = new(M)
|
||||
T.imbue = "emp"
|
||||
|
||||
var/list/slots = list (
|
||||
"backpack" = slot_in_backpack,
|
||||
"left pocket" = slot_l_store,
|
||||
"right pocket" = slot_r_store,
|
||||
"left hand" = slot_l_hand,
|
||||
"right hand" = slot_r_hand,
|
||||
)
|
||||
|
||||
var/where = M.equip_in_one_of_slots(T, slots)
|
||||
if (!where)
|
||||
M << "You need a space in your backpack, pocket or hand for the new paper."
|
||||
else
|
||||
M << "The [href_list["rune"]] talisman in your [where]"
|
||||
M.update_icons()
|
||||
src.uses--
|
||||
supply()
|
||||
|
||||
if("conceal")
|
||||
var/obj/item/weapon/paper/talisman/T = new(M)
|
||||
T.imbue = "conceal"
|
||||
|
||||
var/list/slots = list (
|
||||
"backpack" = slot_in_backpack,
|
||||
"left pocket" = slot_l_store,
|
||||
"right pocket" = slot_r_store,
|
||||
"left hand" = slot_l_hand,
|
||||
"right hand" = slot_r_hand,
|
||||
)
|
||||
|
||||
var/where = M.equip_in_one_of_slots(T, slots)
|
||||
if (!where)
|
||||
M << "You need a space in your backpack, pocket or hand for the new paper."
|
||||
else
|
||||
M << "The [href_list["rune"]] talisman in your [where]"
|
||||
M.update_icons()
|
||||
src.uses--
|
||||
supply()
|
||||
|
||||
if("communicate")
|
||||
var/obj/item/weapon/paper/talisman/T = new(M)
|
||||
T.imbue = "communicate"
|
||||
|
||||
var/list/slots = list (
|
||||
"backpack" = slot_in_backpack,
|
||||
"left pocket" = slot_l_store,
|
||||
"right pocket" = slot_r_store,
|
||||
"left hand" = slot_l_hand,
|
||||
"right hand" = slot_r_hand,
|
||||
)
|
||||
|
||||
var/where = M.equip_in_one_of_slots(T, slots)
|
||||
if (!where)
|
||||
M << "You need a space in your backpack, pocket or hand for the new paper."
|
||||
else
|
||||
M << "The [href_list["rune"]] talisman in your [where]"
|
||||
M.update_icons()
|
||||
src.uses--
|
||||
supply()
|
||||
|
||||
if("runestun")
|
||||
var/obj/item/weapon/paper/talisman/T = new(M)
|
||||
T.imbue = "runestun"
|
||||
|
||||
var/list/slots = list (
|
||||
"backpack" = slot_in_backpack,
|
||||
"left pocket" = slot_l_store,
|
||||
"right pocket" = slot_r_store,
|
||||
"left hand" = slot_l_hand,
|
||||
"right hand" = slot_r_hand,
|
||||
)
|
||||
|
||||
var/where = M.equip_in_one_of_slots(T, slots)
|
||||
if (!where)
|
||||
M << "You need a space in your backpack, pocket or hand for the new paper."
|
||||
else
|
||||
M << "The [href_list["rune"]] talisman in your [where]"
|
||||
M.update_icons()
|
||||
src.uses--
|
||||
supply()
|
||||
|
||||
if("armor")
|
||||
var/obj/item/weapon/paper/talisman/T = new(M)
|
||||
T.imbue = "armor"
|
||||
|
||||
var/list/slots = list (
|
||||
"backpack" = slot_in_backpack,
|
||||
"left pocket" = slot_l_store,
|
||||
"right pocket" = slot_r_store,
|
||||
"left hand" = slot_l_hand,
|
||||
"right hand" = slot_r_hand,
|
||||
)
|
||||
|
||||
var/where = M.equip_in_one_of_slots(T, slots)
|
||||
if (!where)
|
||||
M << "You need a space in your backpack, pocket or hand for the new paper."
|
||||
else
|
||||
M << "The [href_list["rune"]] talisman in your [where]"
|
||||
M.update_icons()
|
||||
src.uses--
|
||||
supply()
|
||||
|
||||
if("soulstone")
|
||||
new /obj/item/device/soulstone(get_turf(usr))
|
||||
src.uses--
|
||||
supply()
|
||||
if("construct")
|
||||
new /obj/structure/constructshell(get_turf(usr))
|
||||
src.uses--
|
||||
supply()
|
||||
else
|
||||
return
|
||||
|
||||
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -160,8 +160,8 @@
|
||||
anchored = 1
|
||||
var/orient = "LEFT" // "RIGHT" changes the dir suffix to "-r"
|
||||
var/mob/living/carbon/human/occupant = null
|
||||
var/available_chemicals = list("inaprovaline" = "Inaprovaline", "stoxin" = "Soporific", "anti_toxin" = "Dylovene", "dexalin" = "Dexalin")
|
||||
var/amounts = list(10, 20)
|
||||
var/available_chemicals = list("inaprovaline" = "Inaprovaline", "stoxin" = "Soporific", "paracetamol" = "Paracetamol", "anti_toxin" = "Dylovene", "dexalin" = "Dexalin")
|
||||
var/amounts = list(5, 10)
|
||||
var/obj/item/weapon/reagent_containers/glass/beaker = null
|
||||
var/filtering = 0
|
||||
|
||||
|
||||
@@ -201,6 +201,7 @@
|
||||
if(H.mind in ticker.mode.syndicates)
|
||||
ticker.mode.update_all_synd_icons()
|
||||
if (H.mind in ticker.mode.cult)
|
||||
ticker.mode.add_cult_viewpoint(H)
|
||||
ticker.mode.add_cultist(src.occupant.mind)
|
||||
ticker.mode.update_all_cult_icons() //So the icon actually appears
|
||||
if(("\ref[H.mind]" in ticker.mode.implanter) || (H.mind in ticker.mode.implanted))
|
||||
|
||||
@@ -374,6 +374,10 @@
|
||||
return
|
||||
|
||||
seed.harvest(user,yield_mod)
|
||||
//Increases harvest count for round-end score
|
||||
//Currently per-plant (not per-item) harvested
|
||||
// --FalseIncarnate
|
||||
score_stuffharvested++
|
||||
|
||||
// Reset values.
|
||||
harvest = 0
|
||||
@@ -538,9 +542,79 @@
|
||||
|
||||
/obj/machinery/portable_atmospherics/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
|
||||
//--FalseIncarnate
|
||||
//Check if held item is an open container
|
||||
if (O.is_open_container())
|
||||
return 0
|
||||
//Check if container is of the "glass" subtype (includes buckets, beakers, vials)
|
||||
if(istype(O, /obj/item/weapon/reagent_containers/glass))
|
||||
var/obj/item/weapon/reagent_containers/glass/C = O
|
||||
//Check if container is empty
|
||||
if(!C.reagents.total_volume)
|
||||
user << "\red [C] is empty."
|
||||
return
|
||||
//Container not empty, transfer contents to tray
|
||||
var/trans = C.reagents.trans_to(src, C.amount_per_transfer_from_this)
|
||||
user << "\blue You transfer [trans] units of the solution to [src]."
|
||||
|
||||
check_level_sanity()
|
||||
process_reagents()
|
||||
update_icon()
|
||||
|
||||
//Check if container is one of the botany sprays (defined in hydro_tools.dm)
|
||||
else if(istype(O, /obj/item/weapon/plantspray))
|
||||
//Check if spray is pest-spray
|
||||
if(istype(O, /obj/item/weapon/plantspray/pests))
|
||||
var/obj/item/weapon/plantspray/P = O
|
||||
user.drop_item(O)
|
||||
toxins += P.toxicity
|
||||
pestlevel -= P.pest_kill_str
|
||||
weedlevel -= P.weed_kill_str
|
||||
user << "You spray [src] with [O]."
|
||||
playsound(loc, 'sound/effects/spray3.ogg', 50, 1, -6)
|
||||
del(O)
|
||||
|
||||
check_level_sanity()
|
||||
update_icon()
|
||||
|
||||
//Check if spray is weed-spray (un-obtainable, fixed for possible repurposing?)
|
||||
else if(istype(O, /obj/item/weapon/plantspray/weeds))
|
||||
var/obj/item/weapon/plantspray/W = O
|
||||
user.drop_item(O)
|
||||
toxins += W.toxicity
|
||||
pestlevel -= W.pest_kill_str
|
||||
weedlevel -= W.weed_kill_str
|
||||
user << "You spray [src] with [O]."
|
||||
playsound(loc, 'sound/effects/spray3.ogg', 50, 1, -6)
|
||||
del(O)
|
||||
|
||||
check_level_sanity()
|
||||
update_icon()
|
||||
|
||||
//Check if container is Plant-B-Gone spray (doesn't work with other sprays, may add in future)
|
||||
else if (istype(O, /obj/item/weapon/reagent_containers/spray/plantbgone))
|
||||
//Check if there is a plant in the tray
|
||||
if(seed)
|
||||
health -= rand(5,20)
|
||||
|
||||
if(pestlevel > 0)
|
||||
pestlevel -= 2
|
||||
|
||||
if(weedlevel > 0)
|
||||
weedlevel -= 3
|
||||
|
||||
toxins += 4
|
||||
|
||||
check_level_sanity()
|
||||
|
||||
visible_message("\red <B>\The [src] has been sprayed with \the [O][(user ? " by [user]." : ".")]")
|
||||
playsound(loc, 'sound/effects/spray3.ogg', 50, 1, -6)
|
||||
update_icon()
|
||||
else
|
||||
user << "There's nothing in [src] to spray!"
|
||||
|
||||
//--FalseIncarnate
|
||||
|
||||
//Held item is not an open container, check to see if it can be used (this code was already here) --FalseIncarnate
|
||||
if(istype(O, /obj/item/weapon/wirecutters) || istype(O, /obj/item/weapon/scalpel))
|
||||
|
||||
if(!seed)
|
||||
@@ -615,26 +689,6 @@
|
||||
else
|
||||
user << "\red \The [src] already has seeds in it!"
|
||||
|
||||
else if (istype(O, /obj/item/weapon/reagent_containers/spray/plantbgone))
|
||||
if(seed)
|
||||
health -= rand(5,20)
|
||||
|
||||
if(pestlevel > 0)
|
||||
pestlevel -= 2
|
||||
|
||||
if(weedlevel > 0)
|
||||
weedlevel -= 3
|
||||
|
||||
toxins += 4
|
||||
|
||||
check_level_sanity()
|
||||
|
||||
visible_message("\red <B>\The [src] has been sprayed with \the [O][(user ? " by [user]." : ".")]")
|
||||
playsound(loc, 'sound/effects/spray3.ogg', 50, 1, -6)
|
||||
update_icon()
|
||||
else
|
||||
user << "There's nothing in [src] to spray!"
|
||||
|
||||
else if (istype(O, /obj/item/weapon/minihoe)) // The minihoe
|
||||
//var/deweeding
|
||||
if(weedlevel > 0)
|
||||
@@ -654,20 +708,6 @@
|
||||
return
|
||||
S.handle_item_insertion(G, 1)
|
||||
|
||||
else if ( istype(O, /obj/item/weapon/plantspray) )
|
||||
|
||||
var/obj/item/weapon/plantspray/spray = O
|
||||
user.drop_item(O)
|
||||
toxins += spray.toxicity
|
||||
pestlevel -= spray.pest_kill_str
|
||||
weedlevel -= spray.weed_kill_str
|
||||
user << "You spray [src] with [O]."
|
||||
playsound(loc, 'sound/effects/spray3.ogg', 50, 1, -6)
|
||||
del(O)
|
||||
|
||||
check_level_sanity()
|
||||
update_icon()
|
||||
|
||||
else if(istype(O, /obj/item/weapon/wrench))
|
||||
|
||||
//If there's a connector here, the portable_atmospherics setup can handle it.
|
||||
|
||||
@@ -52,10 +52,10 @@
|
||||
fire_sound = 'sound/weapons/Laser.ogg'
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy
|
||||
equip_cooldown = 15
|
||||
equip_cooldown = 10
|
||||
name = "CH-LC \"Solaris\" Laser Cannon"
|
||||
icon_state = "mecha_laser"
|
||||
energy_drain = 50
|
||||
energy_drain = 40
|
||||
projectile = /obj/item/projectile/beam/heavylaser
|
||||
fire_sound = 'sound/weapons/lasercannonfire.ogg'
|
||||
|
||||
|
||||
@@ -151,51 +151,9 @@
|
||||
//canremove==0 means that object may not be removed. You can still wear it. This only applies to clothing. /N
|
||||
if(!src.canremove)
|
||||
return 0
|
||||
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
if(istype(src, /obj/item/clothing/suit/space/rig)) // If the item to be unequipped is a rigid suit
|
||||
if(user.delay_clothing_u_equip(src) == 0)
|
||||
return 0
|
||||
else
|
||||
user.u_equip(src)
|
||||
else
|
||||
user.u_equip(src)
|
||||
|
||||
/*
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(istype(src, /obj/item/clothing/suit/space/rig)) // If the item to unequip item is a rigid suit
|
||||
if(! istype(H.head, /obj/item/clothing/head/helmet/space/rig)) // If the person is NOT wearing a rigid suit helmet
|
||||
var/tempX = H.x
|
||||
var/tempY = H.y
|
||||
H << "\blue You unfastening the seals and clambering out of the [src]. (This will take a while)."
|
||||
var/obj/item/clothing/head/helmet/space/rig/this_rig = src
|
||||
var/equip_time = round(this_rig.equip_time/10)
|
||||
var/i
|
||||
for(i=1; i<=equip_time; i++)
|
||||
sleep (10) // Check if they've moved every 10 time units
|
||||
if ((tempX != usr.x) || (tempY != usr.y))
|
||||
H << "\red \The [src] is too fiddly to remove whilst moving."
|
||||
return 0
|
||||
H << "\blue You finish removing the [src]."
|
||||
else
|
||||
H << "\red You must remove \the [H.head] first."
|
||||
return 0
|
||||
|
||||
if(istype(src, /obj/item/clothing/head/helmet/space/rig)) // If the item to unequip is a rigid suit helmet
|
||||
var/tempX = H.x
|
||||
var/tempY = H.y
|
||||
H << "\blue You start unfastening the [src]. (This will take a while)."
|
||||
var/obj/item/clothing/suit/space/rig/this_helmet = src
|
||||
var/equip_time = round(this_helmet.equip_time/10)
|
||||
var/i
|
||||
for(i=1; i<=equip_time; i++)
|
||||
sleep (10) // Check if they've moved every 10 time units
|
||||
if ((tempX != usr.x) || (tempY != usr.y))
|
||||
H << "\red \The [src] is too fiddly to remove whilst moving."
|
||||
return 0
|
||||
H << "\blue You finish removing the [src]."
|
||||
*/
|
||||
else
|
||||
if(isliving(src.loc))
|
||||
return 0
|
||||
|
||||
@@ -424,7 +424,7 @@
|
||||
desc = "Your palm is oozing this stuff!"
|
||||
icon = 'icons/mob/slimes.dmi'
|
||||
icon_state = "red slime extract"
|
||||
throwforce = 30.0
|
||||
throwforce = 5.0
|
||||
throw_speed = 10
|
||||
throw_range = 30
|
||||
w_class = 1
|
||||
|
||||
@@ -297,7 +297,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
item_state = "pipeoff"
|
||||
icon_on = "pipeon" //Note - these are in masks.dmi
|
||||
icon_off = "pipeoff"
|
||||
smoketime = 100
|
||||
smoketime = 1000
|
||||
chem_volume = 50
|
||||
|
||||
/obj/item/clothing/mask/cigarette/pipe/light(var/flavor_text = "[usr] lights the [name].")
|
||||
if(!src.lit)
|
||||
@@ -353,7 +354,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
item_state = "cobpipeoff"
|
||||
icon_on = "cobpipeon" //Note - these are in masks.dmi
|
||||
icon_off = "cobpipeoff"
|
||||
smoketime = 400
|
||||
smoketime = 800
|
||||
chem_volume = 40
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -343,20 +343,20 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/implant/traitor
|
||||
name = "Greytide Implant"
|
||||
desc = "Greytide Station wide"
|
||||
name = "Mindslave Implant"
|
||||
desc = "Divide and Conquer"
|
||||
icon_state = "implant_evil"
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> Greytide Mind-Slave Implant<BR>
|
||||
<b>Name:</b> Mind-Slave Implant<BR>
|
||||
<b>Life:</b> ??? <BR>
|
||||
<b>Important Notes:</b> Any humanoid injected with this implant will become loyal to the injector and the greytide, unless of course the host is already loyal to someone else.<BR>
|
||||
<b>Important Notes:</b> Any humanoid injected with this implant will become loyal to the injector, unless of course the host is already loyal to someone else.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b><BR>
|
||||
<b>Function:</b> Contains a small pod of nanobots that manipulate the host's mental functions.<BR>
|
||||
<b>Special Features:</b> Glory to the Greytide!<BR>
|
||||
<b>Special Features:</b> Diplomacy was never so easy.<BR>
|
||||
<b>Integrity:</b> Implant will last so long as the nanobots are inside the bloodstream."}
|
||||
return dat
|
||||
|
||||
@@ -367,9 +367,9 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
if(!M.mind) return 0
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(M == user)
|
||||
user << "<span class='notice'>You feel quite stupid for doing that.</span>"
|
||||
user << "<span class='notice'>Making yourself loyal to yourself was a great idea! Perhaps the best idea, ever! Actually, you just feel like an idiot.</span>"
|
||||
if(isliving(user))
|
||||
user:brainloss += 10
|
||||
user:brainloss += 20
|
||||
return
|
||||
if(locate(/obj/item/weapon/implant/traitor) in H.contents || locate(/obj/item/weapon/implant/traitor) in H.contents)
|
||||
H.visible_message("[H] seems to resist the implant!", "You feel a strange sensation in your head that quickly dissipates.")
|
||||
@@ -389,7 +389,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
ticker.mode:implanter[ref] = implanters
|
||||
ticker.mode.traitors += H.mind
|
||||
H.mind.special_role = "traitor"
|
||||
H << "<B>\red You've been shown the Greytide by [user.name]!</B> You now must lay down your life to protect them and assist in their goals at any cost."
|
||||
H << "<B>\red You're now completely loyal to [user.name]!</B> You now must lay down your life to protect them and assist in their goals at any cost."
|
||||
var/datum/objective/protect/p = new
|
||||
p.owner = H.mind
|
||||
p.target = user:mind
|
||||
|
||||
@@ -54,8 +54,8 @@
|
||||
|
||||
|
||||
/obj/item/weapon/implanter/traitor
|
||||
name = "implanter-greytide"
|
||||
desc = "Greytide Stationwide."
|
||||
name = "implanter-mindslave"
|
||||
desc = "Divide and Conquer."
|
||||
|
||||
New()
|
||||
src.imp = new /obj/item/weapon/implant/traitor(src)
|
||||
|
||||
@@ -12,8 +12,10 @@
|
||||
autoignition_temperature = 522 // Kelvin
|
||||
|
||||
suicide_act(mob/user)
|
||||
viewers(user) << "\red <b>[user] is farting lightly on the [src.name]! It looks like \he's trying to commit suicide!</b>"
|
||||
return (user.death(1))
|
||||
user.emote("fart")
|
||||
viewers(user) << "\red <b>[user] farts on the [src.name]!</b>"
|
||||
viewers(user) << "\blue <b>A mysterious force smites [user]!</b>"
|
||||
return (user.gib(1))
|
||||
|
||||
|
||||
/obj/item/weapon/storage/bible/booze
|
||||
|
||||
@@ -135,8 +135,8 @@
|
||||
new /obj/item/ammo_box/a357(src)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/greytide
|
||||
name = "box (GT)"
|
||||
/obj/item/weapon/storage/box/syndie_kit/mindslave
|
||||
name = "box (MS)"
|
||||
|
||||
New()
|
||||
..()
|
||||
|
||||
@@ -68,6 +68,68 @@
|
||||
return 1
|
||||
|
||||
/obj/structure/closet/crate/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/rcs) && !src.opened)
|
||||
var/obj/item/weapon/rcs/E = W
|
||||
if(E.rcharges != 0)
|
||||
if(E.mode == 0)
|
||||
if(!E.teleporting)
|
||||
var/list/L = list()
|
||||
var/list/areaindex = list()
|
||||
for(var/obj/machinery/telepad_cargo/R in world)
|
||||
if(R.stage == 0)
|
||||
var/turf/T = get_turf(R)
|
||||
var/tmpname = T.loc.name
|
||||
if(areaindex[tmpname])
|
||||
tmpname = "[tmpname] ([++areaindex[tmpname]])"
|
||||
else
|
||||
areaindex[tmpname] = 1
|
||||
L[tmpname] = R
|
||||
var/desc = input("Please select a telepad.", "RCS") in L
|
||||
E.pad = L[desc]
|
||||
playsound(E.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
user << "\blue Teleporting [src.name]..."
|
||||
E.teleporting = 1
|
||||
sleep(50)
|
||||
E.teleporting = 0
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
s.set_up(5, 1, src)
|
||||
s.start()
|
||||
do_teleport(src, E.pad, 0)
|
||||
E.rcharges--
|
||||
if(E.rcharges != 1)
|
||||
user << "\blue Teleport successful. [E.rcharges] charges left."
|
||||
E.desc = "Use this to send crates and closets to cargo telepads. There are [E.rcharges] charges left."
|
||||
return
|
||||
else
|
||||
user << "\blue Teleport successful. [E.rcharges] charge left."
|
||||
E.desc = "Use this to send crates and closets to cargo telepads. There is [E.rcharges] charge left."
|
||||
return
|
||||
else
|
||||
E.rand_x = rand(50,200)
|
||||
E.rand_y = rand(50,200)
|
||||
var/L = locate(E.rand_x, E.rand_y, 6)
|
||||
playsound(E.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
user << "\blue Teleporting [src.name]..."
|
||||
E.teleporting = 1
|
||||
sleep(50)
|
||||
E.teleporting = 0
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
s.set_up(5, 1, src)
|
||||
s.start()
|
||||
do_teleport(src, L)
|
||||
E.rcharges--
|
||||
if(E.rcharges != 1)
|
||||
user << "\blue Teleport successful. [E.rcharges] charges left."
|
||||
E.desc = "Use this to send crates and closets to cargo telepads. There are [E.rcharges] charges left."
|
||||
return
|
||||
else
|
||||
user << "\blue Teleport successful. [E.rcharges] charge left."
|
||||
E.desc = "Use this to send crates and closets to cargo telepads. There is [E.rcharges] charge left."
|
||||
return
|
||||
else
|
||||
user << "\red Out of charges."
|
||||
return
|
||||
|
||||
if(opened)
|
||||
if(isrobot(user))
|
||||
return
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
/obj/item/clothing
|
||||
name = "clothing"
|
||||
var/list/species_restricted = null //Only these species can wear this kit.
|
||||
var/equip_time = 0
|
||||
var/equipping = 0
|
||||
var/rig_restrict_helmet = 0 // Stops the user from equipping a rig helmet without attaching it to the suit first.
|
||||
|
||||
//BS12: Species-restricted clothing check.
|
||||
/obj/item/clothing/mob_can_equip(M as mob, slot)
|
||||
|
||||
@@ -98,3 +98,7 @@
|
||||
/obj/item/clothing/head/surgery/green
|
||||
desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs. This one is dark green."
|
||||
icon_state = "surgcap_green"
|
||||
|
||||
/obj/item/clothing/head/surgery/black
|
||||
desc = "A cap morticians wear during autopsies. Keeps their hair from falling into the cadavers. It is as dark than the mortician's humor."
|
||||
icon_state = "surgcap_black"
|
||||
@@ -35,7 +35,13 @@
|
||||
if(istype(I,/obj/item/weapon/modkit/tajaran))
|
||||
user.drop_item()
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
|
||||
user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user."
|
||||
if(helmet)
|
||||
helmet.loc = get_turf(src)
|
||||
src.helmet = null
|
||||
user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user. You pop the helmet on the floor"
|
||||
else
|
||||
user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user."
|
||||
|
||||
new /obj/item/clothing/suit/space/rig/tajara(user.loc)
|
||||
del(I)
|
||||
del(src)
|
||||
@@ -43,7 +49,13 @@
|
||||
if(istype(I,/obj/item/weapon/modkit/unathi))
|
||||
user.drop_item()
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
|
||||
user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user."
|
||||
if(helmet)
|
||||
helmet.loc = get_turf(src)
|
||||
src.helmet = null
|
||||
user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user. You pop the helmet on the floor"
|
||||
else
|
||||
user << "\red You painstakingly modify [src] to make it more suitable for a Unathi user."
|
||||
|
||||
new /obj/item/clothing/suit/space/rig/unathi(user.loc)
|
||||
del(I)
|
||||
del(src)
|
||||
@@ -57,7 +69,6 @@
|
||||
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding."
|
||||
icon_state = "rig0-engineering"
|
||||
item_state = "eng_helm"
|
||||
rig_restrict_helmet = 1
|
||||
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80)
|
||||
allowed = list(/obj/item/device/flashlight)
|
||||
var/brightness_on = 4 //luminosity when on
|
||||
@@ -103,8 +114,7 @@
|
||||
desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding."
|
||||
icon_state = "rig-engineering"
|
||||
item_state = "eng_hardsuit"
|
||||
equip_time = 100 // Bone White - time to equip/unequip. see /obj/item/attack_hand (items.dm) and /obj/item/clothing/mob_can_equip (clothing.dm)
|
||||
slowdown = 4
|
||||
slowdown = 1
|
||||
armor = list(melee = 30, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd)
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
@@ -362,7 +372,6 @@
|
||||
flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | ONESIZEFITSALL
|
||||
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 80)
|
||||
sprite_sheets = null
|
||||
slowdown = 2
|
||||
|
||||
//Singuloth armor
|
||||
/obj/item/clothing/head/helmet/space/rig/singuloth
|
||||
@@ -429,7 +438,7 @@
|
||||
name = "blood-red hardsuit"
|
||||
desc = "An advanced suit that protects against injuries during special operations. Property of Gorlex Marauders."
|
||||
item_state = "syndie_hardsuit"
|
||||
slowdown = 2
|
||||
slowdown = 1
|
||||
w_class = 3
|
||||
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/device/suit_cooling_unit)
|
||||
|
||||
@@ -176,6 +176,17 @@
|
||||
"Vox" = 'icons/mob/species/vox/uniform.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/under/rank/medical/mortician
|
||||
name = "mortician's scrubs"
|
||||
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is as dark as an emo's poetry."
|
||||
icon_state = "scrubsblack"
|
||||
_color = "scrubsblack"
|
||||
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/uniform.dmi'
|
||||
)
|
||||
|
||||
//paramedic
|
||||
/obj/item/clothing/under/rank/medical/paramedic
|
||||
desc = "It's made of a special fiber that provides minor protection against biohazards and radiation. It has a cross on the chest denoting that the wearer is trained medical personnel."
|
||||
|
||||
@@ -519,10 +519,9 @@
|
||||
_color = "soldieruniform"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||
|
||||
/obj/item/clothing/under/sexyclown
|
||||
name = "sexy-clown suit"
|
||||
desc = "It makes you look HONKable!"
|
||||
/obj/item/clothing/under/pennywise
|
||||
name = "Pennywise Costume"
|
||||
desc = "It's everything you ever were afraid of."
|
||||
icon_state = "pennywise"
|
||||
item_state = "pennywise"
|
||||
_color = "pennywise"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/event/anomaly/anomaly_bluespace
|
||||
startWhen = 3
|
||||
announceWhen = 10
|
||||
endWhen = 55
|
||||
endWhen = 160
|
||||
|
||||
|
||||
/datum/event/anomaly/anomaly_bluespace/announce()
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/datum/event/anomaly/anomaly_flux
|
||||
startWhen = 3
|
||||
announceWhen = 20
|
||||
endWhen = 60
|
||||
endWhen = 180
|
||||
|
||||
|
||||
/datum/event/anomaly/anomaly_flux/announce()
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/datum/event/anomaly/anomaly_grav
|
||||
startWhen = 3
|
||||
announceWhen = 20
|
||||
endWhen = 50
|
||||
endWhen = 70
|
||||
|
||||
|
||||
/datum/event/anomaly/anomaly_grav/announce()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
|
||||
/datum/event/anomaly/anomaly_vortex
|
||||
startWhen = 10
|
||||
startWhen = 20
|
||||
announceWhen = 3
|
||||
endWhen = 80
|
||||
|
||||
|
||||
@@ -49,3 +49,7 @@
|
||||
smelts_to = /obj/item/stack/sheet/mineral/tritium
|
||||
compresses_to = /obj/item/stack/sheet/mineral/mhydrogen
|
||||
oretag = "hydrogen"
|
||||
|
||||
/datum/ore/clown
|
||||
smelts_to = /obj/item/stack/sheet/mineral/clown
|
||||
oretag = "clown"
|
||||
@@ -146,28 +146,6 @@
|
||||
update_icons()
|
||||
return
|
||||
|
||||
/mob/proc/delay_clothing_u_equip(obj/item/clothing/X as obj) // Bone White - delays unequipping by parameter. Requires W to be /obj/item/clothing/
|
||||
|
||||
if(!istype(X)) return 0
|
||||
|
||||
if(X.equipping == 1) return 0 // Item is already being (un)equipped
|
||||
|
||||
var/tempX = usr.x
|
||||
var/tempY = usr.y
|
||||
usr << "\blue You start unequipping the [X]."
|
||||
X.equipping = 1
|
||||
var/equip_time = round(X.equip_time/10)
|
||||
var/i
|
||||
for(i=1; i<=equip_time; i++)
|
||||
sleep (10) // Check if they've moved every 10 time units
|
||||
if ((tempX != usr.x) || (tempY != usr.y))
|
||||
src << "\red \The [X] is too fiddly to unequip whilst moving."
|
||||
X.equipping = 0
|
||||
return 0
|
||||
u_equip(X)
|
||||
usr << "\blue You have finished unequipping the [X]."
|
||||
X.equipping = 0
|
||||
|
||||
/mob/proc/u_equip(W as obj)
|
||||
if (W == r_hand)
|
||||
r_hand = null
|
||||
|
||||
@@ -86,24 +86,32 @@
|
||||
src.apply_damage(shock_damage, BURN, def_zone, used_weapon="Electrocution")
|
||||
|
||||
playsound(loc, "sparks", 50, 1, -1)
|
||||
if (shock_damage > 10)
|
||||
src.visible_message(
|
||||
"\red [src] was shocked by the [source]!", \
|
||||
"\red <B>You feel a powerful shock course through your body!</B>", \
|
||||
"\red You hear a heavy electrical crack." \
|
||||
)
|
||||
Stun(10)//This should work for now, more is really silly and makes you lay there forever
|
||||
Weaken(10)
|
||||
else
|
||||
if (shock_damage < 10)
|
||||
src.visible_message(
|
||||
"\red [src] was mildly shocked by the [source].", \
|
||||
"\red You feel a mild shock course through your body.", \
|
||||
"\red You hear a light zapping." \
|
||||
)
|
||||
if (shock_damage > 10)
|
||||
if (shock_damage < 200)
|
||||
src.visible_message(
|
||||
"\red [src] was shocked by the [source]!", \
|
||||
"\red <B>You feel a powerful shock course through your body!</B>", \
|
||||
"\red You hear a heavy electrical crack." \
|
||||
)
|
||||
Stun(10)//This should work for now, more is really silly and makes you lay there forever
|
||||
Weaken(10)
|
||||
if (shock_damage > 200)
|
||||
src.visible_message(
|
||||
"\red [src] was arc flashed by the [source]!", \
|
||||
"\red <B>The [source] arc flashes and electrocutes you!</B>", \
|
||||
"\red You hear a lightning-like crack!" \
|
||||
)
|
||||
playsound(loc, "sound/effects/eleczap.ogg", 50, 1, -1)
|
||||
explosion(src.loc,-1,0,2,2)
|
||||
return shock_damage
|
||||
|
||||
|
||||
|
||||
/mob/living/carbon/proc/swap_hand()
|
||||
var/obj/item/item_in_hand = src.get_active_hand()
|
||||
if(item_in_hand) //this segment checks if the item in your hand is twohanded.
|
||||
|
||||
@@ -527,18 +527,41 @@
|
||||
else
|
||||
message = "<B>[src]</B> sadly can't find anybody to give daps to, and daps \himself. Shameful."
|
||||
|
||||
if("slap")
|
||||
m_type = 1
|
||||
if (!src.restrained())
|
||||
var/M = null
|
||||
if (param)
|
||||
for (var/mob/A in view(1, null))
|
||||
if (param == A.name)
|
||||
M = A
|
||||
break
|
||||
if (M)
|
||||
message = "\red <B>[src]</B> slaps [M] across the face. Ouch!"
|
||||
playsound(src.loc, 'sound/effects/snap.ogg', 50, 1)
|
||||
else
|
||||
message = "\red <B>[src]</B> slaps \himself!"
|
||||
playsound(src.loc, 'sound/effects/snap.ogg', 50, 1)
|
||||
src.adjustFireLoss(4)
|
||||
|
||||
if ("scream")
|
||||
if (miming)
|
||||
message = "<B>[src]</B> acts out a scream!"
|
||||
m_type = 1
|
||||
else
|
||||
if (!muzzled)
|
||||
message = "<B>[src]</B> screams!"
|
||||
m_type = 2
|
||||
if (prob(5))
|
||||
playsound(src.loc, 'sound/voice/WilhelmScream.ogg', 100, 1, 10)
|
||||
if (!(species.name == "Vox" || species.name == "Vox Armalis"))
|
||||
message = "<B>[src]</B> screams!"
|
||||
m_type = 2
|
||||
if (prob(5))
|
||||
playsound(src.loc, 'sound/voice/WilhelmScream.ogg', 100, 1, 10)
|
||||
else
|
||||
playsound(src.loc, 'sound/voice/scream2.ogg', 100, 1, 10)
|
||||
else
|
||||
playsound(src.loc, 'sound/voice/scream2.ogg', 100, 1, 10)
|
||||
message = "<B>[src]</B> shrieks!"
|
||||
m_type = 2
|
||||
playsound(src.loc, 'sound/voice/shriek1.ogg', 100, 1, 10)
|
||||
|
||||
else
|
||||
message = "<B>[src]</B> makes a very loud noise."
|
||||
m_type = 2
|
||||
|
||||
@@ -1111,26 +1111,6 @@
|
||||
src.custom_pain("You feel a stabbing pain in your chest!", 1)
|
||||
L.damage = L.min_bruised_damage
|
||||
|
||||
//Gave the rupture_lung() call it's own proc to have much more control over it.
|
||||
/mob/living/carbon/human/proc/try_lung_rupture(argBreath)
|
||||
var/datum/gas_mixture/environment = loc.return_air()
|
||||
var/datum/gas_mixture/breath = argBreath
|
||||
var/pressure = environment.return_pressure()
|
||||
var/adjusted_pressure = calculate_affecting_pressure(pressure)
|
||||
|
||||
//High kPa
|
||||
if(!is_lung_ruptured() && breath.total_moles > BREATH_MOLES * 5)
|
||||
if(prob(5))
|
||||
rupture_lung()
|
||||
return
|
||||
//Low kPa
|
||||
else if(!is_lung_ruptured() && internal && adjusted_pressure <= species.hazard_low_pressure)
|
||||
if(internal.distribute_pressure >= species.warning_low_pressure)
|
||||
if(prob(33))
|
||||
rupture_lung()
|
||||
return
|
||||
else
|
||||
return
|
||||
/*
|
||||
/mob/living/carbon/human/verb/simulate()
|
||||
set name = "sim"
|
||||
|
||||
@@ -1,45 +1,20 @@
|
||||
/mob/living/carbon/human/movement_delay()
|
||||
var/tally = 0
|
||||
|
||||
if(wear_suit)
|
||||
if(wear_suit.slowdown > 0)
|
||||
var/datum/gas_mixture/environment = loc.return_air()
|
||||
var/local_pressure = environment.return_pressure()
|
||||
switch (local_pressure)
|
||||
if(20 to 40)
|
||||
tally = min(1,wear_suit.slowdown)
|
||||
if(40 to 60)
|
||||
tally = min(2,wear_suit.slowdown)
|
||||
if(60 to 80)
|
||||
tally = min(3,wear_suit.slowdown)
|
||||
if(80 to INFINITY)
|
||||
tally = min(4,wear_suit.slowdown)
|
||||
|
||||
tally = min(wear_suit.slowdown, tally) // Initial slow will never get more powerful than the slowdown on the suit.
|
||||
|
||||
if(species && species.flags & IS_SLOW) //Bone White - added additional slow for wearing a rig suit. Species who have IS_SLOW (Diona) do not gain a speed buff now
|
||||
if(species && species.flags & IS_SLOW)
|
||||
tally = 5
|
||||
|
||||
//if(wear_suit) // These two lines are now redundant due to comment above
|
||||
// tally += wear_suit.slowdown
|
||||
|
||||
if (istype(loc, /turf/space)) return -1 // It's hard to be slowed down in space by... anything
|
||||
|
||||
if(embedded_flag)
|
||||
handle_embedded_objects() //Moving with objects stuck in you can cause bad times.
|
||||
|
||||
var/hyperizine = reagents.has_reagent("hyperizine")
|
||||
if(hyperizine && dna.mutantrace == "slime")
|
||||
tally *= 2
|
||||
else if(hyperizine || M_RUN in mutations || istype(loc, /turf/space))
|
||||
return -1
|
||||
if(reagents.has_reagent("hyperzine")) return -1
|
||||
|
||||
if(reagents.has_reagent("nuka_cola")) return -1
|
||||
|
||||
if((M_RUN in mutations)) return -1
|
||||
|
||||
if (istype(loc, /turf/space)) return -1 // It's hard to be slowed down in space by... anything
|
||||
|
||||
var/health_deficiency = (100 - health)
|
||||
|
||||
if(health_deficiency >= 40) tally += (health_deficiency / 25)
|
||||
@@ -49,6 +24,8 @@
|
||||
var/hungry = (500 - nutrition)/5 // So overeat would be 100 and default level would be 80
|
||||
if (hungry >= 70) tally += hungry/50
|
||||
|
||||
if(wear_suit)
|
||||
tally += wear_suit.slowdown
|
||||
|
||||
if(!buckled || (buckled && !istype(buckled, /obj/structure/stool/bed/chair/wheelchair)))
|
||||
if(shoes)
|
||||
|
||||
@@ -10,17 +10,6 @@
|
||||
H << "<span class='notice'>You are not holding anything to equip.</span>"
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/clothing/head/helmet/space/rig)) // If the item to be equipped is a rigid suit helmet
|
||||
src << "\red You must fasten the helmet to a hardsuit first. (Target the head)" // Stop eva helms equipping.
|
||||
return 0
|
||||
|
||||
|
||||
if(istype(I, /obj/item/clothing/suit/space/rig)) // If the item to be equipped is a rigid suit
|
||||
var/obj/item/clothing/suit/space/rig/J = I
|
||||
if(J.equip_time > 0)
|
||||
delay_clothing_equip_to_slot_if_possible(J, 13) // 13 = suit slot
|
||||
return 0
|
||||
|
||||
if(H.equip_to_appropriate_slot(I))
|
||||
if(hand)
|
||||
update_inv_l_hand(0)
|
||||
|
||||
@@ -36,7 +36,6 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
var/do_deferred_species_setup=0
|
||||
var/exposedtimenow = 0
|
||||
var/firstexposed = 0
|
||||
var/last_message = 0
|
||||
|
||||
// Doing this during species init breaks shit.
|
||||
/mob/living/carbon/human/proc/DeferredSpeciesSetup()
|
||||
@@ -243,11 +242,13 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
if(3)
|
||||
emote("drool")
|
||||
|
||||
/*
|
||||
if(species.name == "Tajaran")
|
||||
if(prob(1))
|
||||
if(prob(1))
|
||||
vomit(1) // Hairball
|
||||
|
||||
*/
|
||||
|
||||
if(stat != 2)
|
||||
var/rn = rand(0, 200)
|
||||
@@ -277,35 +278,6 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
// as cloneloss
|
||||
adjustCloneLoss(0.1)
|
||||
|
||||
//Makes Space a little more evil, simulates that space is full of errent high energy particles waiting to tear you up.
|
||||
proc/cosmic_radiation()
|
||||
var/ax = x
|
||||
var/ay = y
|
||||
|
||||
if(istype(loc, /turf/space))
|
||||
if(!(getarmor("chest", "rad") > 0))
|
||||
if(prob(33))
|
||||
apply_effect((rand(3,7)),IRRADIATE,0)
|
||||
//Thank you to whoever wrote the vampire's sun code.
|
||||
if(!(wear_suit && (wear_suit.flags & STOPSPRESSUREDMAGE)) && !(species.flags & RAD_ABSORB))
|
||||
for(var/i = 1 to 20)
|
||||
ax += sun.dx
|
||||
ay += sun.dy
|
||||
|
||||
var/turf/T = locate( round(ax,0.5),round(ay,0.5),z)
|
||||
|
||||
if(T.x == 1 || T.x==world.maxx || T.y==1 || T.y==world.maxy)
|
||||
break
|
||||
|
||||
if(T.density)
|
||||
return
|
||||
|
||||
var/datum/organ/external/O = pick(organs)
|
||||
apply_damage(3, BURN, O)
|
||||
if(world.time - last_message > 5)
|
||||
src << "\red You feel the intense heat of the sun giving you a harsh sunburn."
|
||||
last_message = world.time
|
||||
|
||||
proc/handle_mutations_and_radiation()
|
||||
|
||||
if(species.flags & IS_SYNTHETIC) //Robots don't suffer from mutations or radloss.
|
||||
@@ -315,14 +287,13 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
if((M_RESIST_HEAT in mutations) || (prob(1)))
|
||||
heal_organ_damage(0,1)
|
||||
|
||||
cosmic_radiation()
|
||||
|
||||
for(var/datum/dna/gene/gene in dna_genes)
|
||||
if(!gene.block)
|
||||
continue
|
||||
if(gene.is_active(src))
|
||||
if (prob(10) && prob(gene.instability))
|
||||
adjustCloneLoss(1)
|
||||
/* if (prob(10) && prob(gene.instability))
|
||||
adjustCloneLoss(1) */
|
||||
gene.OnMobLife(src)
|
||||
|
||||
if (radiation)
|
||||
@@ -395,7 +366,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
if(damage && organs.len)
|
||||
var/datum/organ/external/O = pick(organs)
|
||||
if(istype(O)) O.add_autopsy_data("Radiation Poisoning", damage)
|
||||
|
||||
|
||||
proc/breathe()
|
||||
if(reagents.has_reagent("lexorin")) return
|
||||
if(M_NO_BREATH in mutations) return // No breath mutation means no breathing.
|
||||
@@ -419,8 +390,6 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
else
|
||||
//First, check for air from internal atmosphere (using an air tank and mask generally)
|
||||
breath = get_breath_from_internal(BREATH_VOLUME) // Super hacky -- TLE
|
||||
if(breath)
|
||||
try_lung_rupture(breath)
|
||||
//breath = get_breath_from_internal(0.5) // Manually setting to old BREATH_VOLUME amount -- TLE
|
||||
|
||||
//No breath from internal atmosphere so get breath from location
|
||||
@@ -438,9 +407,12 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
breath_moles = environment.total_moles()*BREATH_PERCENTAGE
|
||||
|
||||
breath = loc.remove_air(breath_moles)
|
||||
|
||||
try_lung_rupture(breath)
|
||||
|
||||
|
||||
if(!is_lung_ruptured())
|
||||
if(!breath || breath.total_moles < BREATH_MOLES / 5 || breath.total_moles > BREATH_MOLES * 5)
|
||||
if(prob(5))
|
||||
rupture_lung()
|
||||
|
||||
// Handle chem smoke effect -- Doohl
|
||||
var/block = 0
|
||||
if(wear_mask)
|
||||
@@ -630,8 +602,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
pressure_alert = -1
|
||||
else
|
||||
if( !(M_RESIST_COLD in mutations))
|
||||
//Low pressure really cant deal much pysical damage but would be pretty painful. -IndexLP
|
||||
apply_damage(LOW_PRESSURE_DAMAGE+1, HALLOSS)
|
||||
take_overall_damage(brute=LOW_PRESSURE_DAMAGE, used_weapon = "Low Pressure")
|
||||
pressure_alert = -2
|
||||
else
|
||||
pressure_alert = -1
|
||||
@@ -1074,16 +1045,12 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
|
||||
for(var/atom/a in hallucinations)
|
||||
del a
|
||||
|
||||
if(halloss > 100 && pressure_alert != -2)
|
||||
if(halloss > 100)
|
||||
src << "<span class='notice'>You're in too much pain to keep going...</span>"
|
||||
for(var/mob/O in oviewers(src, null))
|
||||
O.show_message("<B>[src]</B> slumps to the ground, too weak to continue fighting.", 1)
|
||||
Paralyse(10)
|
||||
setHalLoss(99)
|
||||
if(halloss > 100 && pressure_alert == -2)
|
||||
src << "<span class='notice'>You're in too much pain to keep going...</span>"
|
||||
Paralyse(10)
|
||||
setHalLoss(95)
|
||||
|
||||
if(paralysis)
|
||||
AdjustParalysis(-1)
|
||||
|
||||
@@ -5,20 +5,24 @@
|
||||
/mob/living/carbon/proc/updateshock()
|
||||
src.traumatic_shock = \
|
||||
1 * src.getOxyLoss() + \
|
||||
0.7 * src.getToxLoss() + \
|
||||
1.5 * src.getFireLoss() + \
|
||||
1.2 * src.getBruteLoss() + \
|
||||
1.7 * src.getCloneLoss() + \
|
||||
2 * src.halloss
|
||||
0.7 * src.getToxLoss() + \
|
||||
1.5 * src.getFireLoss() + \
|
||||
1.2 * src.getBruteLoss() + \
|
||||
1.7 * src.getCloneLoss() + \
|
||||
2 * src.halloss
|
||||
|
||||
if(reagents.has_reagent("alkysine"))
|
||||
src.traumatic_shock -= 10
|
||||
if(reagents.has_reagent("inaprovaline"))
|
||||
src.traumatic_shock -= 25
|
||||
if(reagents.has_reagent("synaptizine"))
|
||||
src.traumatic_shock -= 40
|
||||
if(reagents.has_reagent("paracetamol"))
|
||||
src.traumatic_shock -= 50
|
||||
if(reagents.has_reagent("tramadol"))
|
||||
src.traumatic_shock -= 20 // make synaptizine function as good painkiller
|
||||
src.traumatic_shock -= 80
|
||||
if(reagents.has_reagent("oxycodone"))
|
||||
src.traumatic_shock -= 50 // make synaptizine function as good painkiller
|
||||
src.traumatic_shock -= 200
|
||||
if(src.slurring)
|
||||
src.traumatic_shock -= 20
|
||||
if(src.analgesic)
|
||||
|
||||
@@ -363,7 +363,7 @@
|
||||
breath_type = "nitrogen"
|
||||
poison_type = "oxygen"
|
||||
|
||||
flags = NO_SCAN | IS_WHITELISTED | NO_BLOOD
|
||||
flags = NO_SCAN | IS_WHITELISTED
|
||||
|
||||
flesh_color = "#808D11"
|
||||
|
||||
@@ -522,7 +522,7 @@
|
||||
heat_level_2 = 350
|
||||
heat_level_3 = 700
|
||||
|
||||
flags = NO_BREATHE | REQUIRE_LIGHT | NO_SCAN | IS_PLANT | RAD_ABSORB | NO_BLOOD | IS_SLOW | NO_PAIN
|
||||
flags = NO_BREATHE | REQUIRE_LIGHT | IS_PLANT | RAD_ABSORB | NO_BLOOD | IS_SLOW | NO_PAIN
|
||||
|
||||
body_temperature = T0C + 15 //make the plant people have a bit lower body temperature, why not
|
||||
|
||||
@@ -536,6 +536,7 @@
|
||||
|
||||
return ..()
|
||||
|
||||
/* //overpowered and dumb as hell; they get cloning back, though.
|
||||
/datum/species/diona/handle_death(var/mob/living/carbon/human/H)
|
||||
|
||||
var/mob/living/carbon/monkey/diona/S = new(get_turf(H))
|
||||
@@ -551,7 +552,7 @@
|
||||
else
|
||||
del(D)
|
||||
|
||||
H.visible_message("\red[H] splits apart with a wet slithering noise!")
|
||||
H.visible_message("\red[H] splits apart with a wet slithering noise!") */
|
||||
|
||||
/datum/species/machine
|
||||
name = "Machine"
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
max_co2 = 0
|
||||
min_n2 = 0
|
||||
max_n2 = 0
|
||||
var/dead = 0
|
||||
unsuitable_atoms_damage = 15
|
||||
faction = list("alien")
|
||||
status_flags = CANPUSH
|
||||
@@ -92,5 +93,7 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/alien/Die()
|
||||
..()
|
||||
visible_message("[src] lets out a waning guttural screech, green blood bubbling from its maw...")
|
||||
playsound(src, 'sound/voice/hiss6.ogg', 100, 1)
|
||||
if(dead == 0)
|
||||
dead = 1
|
||||
visible_message("[src] lets out a waning guttural screech, green blood bubbling from its maw...")
|
||||
playsound(src, 'sound/voice/hiss6.ogg', 100, 1)
|
||||
|
||||
@@ -105,21 +105,8 @@
|
||||
/mob/proc/attack_ui(slot)
|
||||
var/obj/item/W = get_active_hand()
|
||||
|
||||
//if(istype(W))
|
||||
// equip_to_slot_if_possible(W, slot)
|
||||
|
||||
if(istype(W))
|
||||
if (istype(W, /obj/item/clothing))
|
||||
var/obj/item/clothing/C = W
|
||||
if(C.rig_restrict_helmet)
|
||||
src << "\red You must fasten the helmet to a hardsuit first. (Target the head)" // Stop eva helms equipping.
|
||||
else
|
||||
if(C.equip_time > 0)
|
||||
delay_clothing_equip_to_slot_if_possible(C, slot)
|
||||
else
|
||||
equip_to_slot_if_possible(C, slot)
|
||||
else
|
||||
equip_to_slot_if_possible(W, slot)
|
||||
equip_to_slot_if_possible(W, slot)
|
||||
|
||||
if(ishuman(src) && W == src:head)
|
||||
src:update_hair()
|
||||
@@ -131,30 +118,9 @@
|
||||
return 1
|
||||
return 0
|
||||
|
||||
//This is a SAFE proc. Use this instead of equip_to_splot()!
|
||||
/mob/proc/delay_clothing_equip_to_slot_if_possible(obj/item/clothing/X as obj, slot, del_on_fail = 0, disable_warning = 0, redraw_mob = 1, delay_time = 0)
|
||||
if(!istype(X)) return 0
|
||||
|
||||
if(X.equipping == 1) return 0 // Item is already being equipped
|
||||
|
||||
var/tempX = usr.x
|
||||
var/tempY = usr.y
|
||||
usr << "\blue You start equipping the [X]."
|
||||
X.equipping = 1
|
||||
var/equip_time = round(X.equip_time/10)
|
||||
var/i
|
||||
for(i=1; i<=equip_time; i++)
|
||||
sleep (10) // Check if they've moved every 10 time units
|
||||
if ((tempX != usr.x) || (tempY != usr.y))
|
||||
src << "\red \The [X] is too fiddly to fasten whilst moving."
|
||||
X.equipping = 0
|
||||
return 0
|
||||
equip_to_slot_if_possible(X, slot)
|
||||
usr << "\blue You have finished equipping the [X]."
|
||||
X.equipping = 0
|
||||
|
||||
|
||||
//This is a SAFE proc. Use this instead of equip_to_splot()!
|
||||
//This is a SAFE proc. Use this instead of equip_to_slot()!
|
||||
//set del_on_fail to have it delete W if it fails to equip
|
||||
//set disable_warning to disable the 'you are unable to equip that' warning.
|
||||
//unset redraw_mob to prevent the mob from being redrawn at the end.
|
||||
|
||||
@@ -457,10 +457,10 @@
|
||||
return 1
|
||||
|
||||
//Antag Creatures!
|
||||
if(ispath(MP, /mob/living/simple_animal/hostile/carp))
|
||||
/* if(ispath(MP, /mob/living/simple_animal/hostile/carp))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/simple_animal/hostile/giant_spider))
|
||||
return 1
|
||||
return 1 */
|
||||
if(ispath(MP, /mob/living/simple_animal/borer))
|
||||
return 1
|
||||
if(ispath(MP, /mob/living/carbon/alien))
|
||||
|
||||
@@ -106,7 +106,21 @@
|
||||
var/datum/reagents/R = new/datum/reagents(50)
|
||||
reagents = R
|
||||
R.my_atom = src
|
||||
R.add_reagent("zombiepowder", 10)
|
||||
R.add_reagent("cryptobiolin", 15)
|
||||
R.add_reagent("stoxin", 30)
|
||||
R.add_reagent("mutetoxin", 15)
|
||||
..()
|
||||
return
|
||||
|
||||
/obj/item/weapon/pen/paralysis/attackby(var/obj/item/O as obj, var/mob/user as mob) //courtesy of FalseIncarnate!
|
||||
|
||||
if (O.is_open_container())
|
||||
//Check if container is of the "glass" subtype (includes buckets, beakers, vials)
|
||||
if(istype(O, /obj/item/weapon/reagent_containers/glass))
|
||||
var/obj/item/weapon/reagent_containers/glass/C = O
|
||||
//Check if container is empty
|
||||
if(!C.reagents.total_volume)
|
||||
user << "\red [C] is empty."
|
||||
return
|
||||
//Container not empty, transfer contents to tray
|
||||
var/trans = C.reagents.trans_to(src, C.amount_per_transfer_from_this)
|
||||
user << "\blue You transfer [trans] units of the solution to [src]."
|
||||
@@ -174,7 +174,11 @@
|
||||
return min(rand(20,80),rand(20,80))
|
||||
if (100 to 250-1)
|
||||
return min(rand(20,65),rand(20,65))*/
|
||||
if (1000000 to INFINITY)
|
||||
if (5000000 to INFINITY)
|
||||
return min(rand(200,300),rand(200,300))
|
||||
if (4000000 to 5000000-1)
|
||||
return min(rand(80,180),rand(80,180))
|
||||
if (1000000 to 4000000-1)
|
||||
return min(rand(50,160),rand(50,160))
|
||||
if (200000 to 1000000-1)
|
||||
return min(rand(25,80),rand(25,80))
|
||||
|
||||
@@ -373,7 +373,9 @@
|
||||
return min(rand(20,65),rand(20,65))
|
||||
if (1000 to 10000-1)
|
||||
return min(rand(10,20),rand(10,20))*/
|
||||
if (4000000 to INFINITY)
|
||||
if (5000000 to INFINITY)
|
||||
return min(rand(200,300),rand(200,300))
|
||||
if (4000000 to 5000000)
|
||||
return min(rand(80,180),rand(80,180))
|
||||
if (1000000 to 4000000)
|
||||
return min(rand(50,160),rand(50,160))
|
||||
@@ -455,8 +457,8 @@
|
||||
//No animations will be performed by this proc.
|
||||
/proc/electrocute_mob(mob/living/carbon/M as mob, var/power_source, var/obj/source, var/siemens_coeff = 1.0)
|
||||
if(istype(M.loc,/obj/mecha)) return 0 //feckin mechs are dumb
|
||||
|
||||
//This is for performance optimization only.
|
||||
|
||||
//This is for performance optimization only.
|
||||
//DO NOT modify siemens_coeff here. That is checked in human/electrocute_act()
|
||||
if(istype(M,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
@@ -70,11 +70,11 @@ obj/item/weapon/gun/energy/laser/retro
|
||||
name = "laser cannon"
|
||||
desc = "With the L.A.S.E.R. cannon, the lasing medium is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core. This incredible technology may help YOU achieve high excitation rates with small laser volumes!"
|
||||
icon_state = "lasercannon"
|
||||
// fire_sound = 'sound/weapons/lasercannonfire.ogg'
|
||||
fire_sound = 'sound/weapons/lasercannonfire.ogg'
|
||||
origin_tech = "combat=4;materials=3;powerstorage=3"
|
||||
projectile_type = "/obj/item/projectile/beam/heavylaser"
|
||||
charge_cost = 500 // Half the cost of the regular laser, weaker projectile.
|
||||
fire_delay = 3
|
||||
charge_cost = 1250
|
||||
fire_delay = 10
|
||||
|
||||
isHandgun()
|
||||
return 0
|
||||
|
||||
@@ -304,11 +304,11 @@ var/list/beam_master = list()
|
||||
flag = "laser"
|
||||
eyeblur = 2
|
||||
|
||||
//changing heavy lasers to shoot twice as fast as regular lasers, and do a bit more DPS.
|
||||
//Heavy lasers now deal slightly more damage, but have a slower firing rate; overall DPS still identical to lasers.
|
||||
/obj/item/projectile/beam/heavylaser
|
||||
name = "heavy laser"
|
||||
icon_state = "heavylaser"
|
||||
damage = 25
|
||||
damage = 50
|
||||
|
||||
/obj/item/projectile/beam/xray
|
||||
name = "xray beam"
|
||||
|
||||
@@ -246,7 +246,7 @@
|
||||
ui_title = "Soda Dispens-o-matic"
|
||||
energy = 100
|
||||
max_energy = 100
|
||||
dispensable_reagents = list("water","ice","coffee","tea","icetea","cola","spacemountainwind","dr_gibb","space_up","tonic","sodawater","lemon_lime","sugar","orangejuice","limejuice","tomatojuice" ,"watermelonjuice","berryjuice")
|
||||
dispensable_reagents = list("water","ice", "milk", "soymilk", "coffee","tea","hot_coco", "cola","spacemountainwind","dr_gibb","space_up","tonic","sodawater","lemon_lime","sugar","orangejuice", "lemonjuice", "limejuice","tomatojuice", "banana", "watermelonjuice", "carrotjuice", "potato", "berryjuice")
|
||||
hack_message = "You change the mode from 'McNano' to 'Pizza King'."
|
||||
unhack_message = "You change the mode from 'Pizza King' to 'McNano'."
|
||||
hacked_reagents = list("thirteenloko")
|
||||
@@ -258,10 +258,10 @@
|
||||
energy = 100
|
||||
max_energy = 100
|
||||
desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one."
|
||||
dispensable_reagents = list("ice","cream","beer","kahlua","whiskey","wine","vodka","gin","rum","tequila","vermouth","cognac","ale","mead")
|
||||
dispensable_reagents = list("ice","cream","beer","kahlua","whiskey","wine","vodka","gin","rum","tequilla","vermouth","cognac","ale","mead")
|
||||
hack_message = "You disable the 'nanotrasen-are-cheap-bastards' lock, enabling hidden and very expensive boozes."
|
||||
unhack_message = "You re-enable the 'nanotrasen-are-cheap-bastards' lock, disabling hidden and very expensive boozes."
|
||||
hacked_reagents = list("goldschlager","patron", "nothing")
|
||||
hacked_reagents = list("goldschlager","patron", "absinthe", "ethanol", "nothing")
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -510,8 +510,8 @@ datum
|
||||
description = "An effective hypnotic used to treat insomnia."
|
||||
reagent_state = LIQUID
|
||||
color = "#E895CC" // rgb: 232, 149, 204
|
||||
toxod = 40
|
||||
oxyod = 40
|
||||
oxyod = 100
|
||||
toxod = 100
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!M) M = holder.my_atom
|
||||
@@ -522,7 +522,7 @@ datum
|
||||
if(15 to 25)
|
||||
M.drowsyness = max(M.drowsyness, 20)
|
||||
if(25 to INFINITY)
|
||||
M.Weaken(20)
|
||||
M.Paralyse(20)
|
||||
M.drowsyness = max(M.drowsyness, 30)
|
||||
data++
|
||||
..()
|
||||
@@ -1111,15 +1111,31 @@ datum
|
||||
reagent_state = SOLID
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
toxod = OVERDOSE/3
|
||||
scannable = 1
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!M) M = holder.my_atom
|
||||
|
||||
var/needs_update = M.mutations.len > 0
|
||||
var/needs_update = 1 //M.mutations.len > 0
|
||||
|
||||
//Ryetalyn now cures by a random chance per on_mob_life call - Bone White
|
||||
// 1 volume = ~2% chance
|
||||
// 10 volume = ~17% chance
|
||||
// 30 volume = ~38% chance
|
||||
//if (rand(0, 50+volume) > 50 && ishuman(M))
|
||||
if (volume >= 1 && ishuman(M))
|
||||
for(var/block=1;block<=DNA_SE_LENGTH;block++)
|
||||
M.dna.SetSEState(block,0)
|
||||
genemutcheck(M,block,null,MUTCHK_FORCED)
|
||||
M.update_mutations()
|
||||
|
||||
M.dna.struc_enzymes = M.dna.struc_enzymes_original
|
||||
|
||||
/* Old Code (non-functional)
|
||||
M.mutations = list()
|
||||
M.disabilities = 0
|
||||
M.sdisabilities = 0
|
||||
*/
|
||||
|
||||
// Might need to update appearance for hulk etc.
|
||||
if(needs_update && ishuman(M))
|
||||
@@ -1226,6 +1242,7 @@ datum
|
||||
toxod = OVERDOSE/4.5
|
||||
oxyod = OVERDOSE/4.5
|
||||
custom_metabolism = 0.25 // Lasts 10 minutes for 15 units
|
||||
scannable = 1
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if (volume > overdose)
|
||||
@@ -1434,14 +1451,17 @@ datum
|
||||
return
|
||||
|
||||
plantbgone
|
||||
scannable = 1
|
||||
name = "Plant-B-Gone"
|
||||
id = "plantbgone"
|
||||
description = "A harmful toxic mixture to kill plantlife. Do not ingest!"
|
||||
reagent_state = LIQUID
|
||||
color = "#49002E" // rgb: 73, 0, 46
|
||||
toxod = OVERDOSE/3
|
||||
burnod = OVERDOSE/3
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!M) M = holder.my_atom
|
||||
M.adjustToxLoss(2)
|
||||
..()
|
||||
return
|
||||
|
||||
// Clear off wallrot fungi
|
||||
reaction_turf(var/turf/T, var/volume)
|
||||
@@ -1486,7 +1506,6 @@ datum
|
||||
reagent_state = LIQUID
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
toxod = OVERDOSE
|
||||
scannable = 1
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!M) M = holder.my_atom
|
||||
@@ -1532,6 +1551,7 @@ datum
|
||||
color = "#E9D66B" // rgb: 233, 214, 107
|
||||
toxod = OVERDOSE/1.5
|
||||
burnod = OVERDOSE/1.5
|
||||
scannable = 1
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!M) M = holder.my_atom
|
||||
@@ -1585,6 +1605,7 @@ datum
|
||||
color = "#ECD540" // rgb: 236, 213, 64
|
||||
toxod = OVERDOSE
|
||||
bruteod = OVERDOSE
|
||||
scannable = 1
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat == 2.0)
|
||||
@@ -1683,7 +1704,7 @@ datum
|
||||
return
|
||||
if(!M) M = holder.my_atom
|
||||
if(!alien || alien != IS_DIONA)
|
||||
if(M.getOxyLoss()) M.adjustOxyLoss(-1*REM)
|
||||
if(M.getOxyLoss() && prob(80)) M.adjustOxyLoss(-1*REM)
|
||||
if(M.getBruteLoss() && prob(80)) M.heal_organ_damage(1*REM,0)
|
||||
if(M.getFireLoss() && prob(80)) M.heal_organ_damage(0,1*REM)
|
||||
if(M.getToxLoss() && prob(80)) M.adjustToxLoss(-1*REM)
|
||||
@@ -1778,11 +1799,11 @@ datum
|
||||
synaptizine
|
||||
name = "Synaptizine"
|
||||
id = "synaptizine"
|
||||
description = "Synaptizine is used to treat various diseases."
|
||||
description = "Synaptizine is a synaptic stimulant that can also be used to treat certain diseases."
|
||||
reagent_state = LIQUID
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
custom_metabolism = 0.01
|
||||
toxod = OVERDOSE
|
||||
custom_metabolism = 0.1
|
||||
toxod = OVERDOSE/4.5
|
||||
scannable = 1
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
@@ -1794,7 +1815,6 @@ datum
|
||||
if(holder.has_reagent("mindbreaker"))
|
||||
holder.remove_reagent("mindbreaker", 5)
|
||||
M.hallucination = max(0, M.hallucination - 10)
|
||||
if(prob(60)) M.adjustToxLoss(1)
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -1840,6 +1860,7 @@ datum
|
||||
color = "#BFFF00" // rgb: 191, 255, 0
|
||||
toxod = OVERDOSE/1.5
|
||||
burnod = OVERDOSE/1.5
|
||||
scannable = 1
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat == 2.0)
|
||||
@@ -2068,6 +2089,18 @@ datum
|
||||
M.status_flags &= ~FAKEDEATH
|
||||
..()8*/
|
||||
|
||||
mutetoxin
|
||||
name = "Mute Toxin"
|
||||
id = "mutetoxin"
|
||||
description = "A toxin that temporarily paralyzes the vocal cords."
|
||||
reagent_state = LIQUID
|
||||
color = "#F0F8FF" // rgb: 240, 248, 255
|
||||
|
||||
on_mob_life(var/mob/living/M)
|
||||
if(!M) M = holder.my_atom
|
||||
M.silent += REM + 1
|
||||
..()
|
||||
|
||||
mindbreaker
|
||||
name = "Mindbreaker Toxin"
|
||||
id = "mindbreaker"
|
||||
@@ -2232,6 +2265,7 @@ datum
|
||||
description = "A powerful oxidizer that reacts with ethanol."
|
||||
reagent_state = SOLID
|
||||
color = "#605048" // rgb: 96, 80, 72
|
||||
scannable = 1
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!M) M = holder.my_atom
|
||||
@@ -2370,6 +2404,7 @@ datum
|
||||
nutriment_factor = 10 * REAGENTS_METABOLISM
|
||||
color = "#BBEDA4" // rgb: 187, 237, 164
|
||||
toxod = OVERDOSE/2
|
||||
scannable = 1
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!M) M = holder.my_atom
|
||||
@@ -3402,12 +3437,6 @@ datum
|
||||
rum
|
||||
name = "Rum"
|
||||
id = "rum"
|
||||
description = "Yohoho and all that."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
|
||||
deadrum
|
||||
name = "Deadrum"
|
||||
id = "rum"
|
||||
description = "Popular with the sailors. Not very popular with everyone else."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
|
||||
|
||||
@@ -105,6 +105,13 @@ datum
|
||||
required_reagents = list("inaprovaline" = 1, "ethanol" = 1, "oxygen" = 1)
|
||||
result_amount = 3
|
||||
|
||||
paracetamol
|
||||
name = "Paracetamol"
|
||||
id = "paracetamol"
|
||||
result = "paracetamol"
|
||||
required_reagents = list("tramadol" = 1, "sugar" = 1, "water" = 1)
|
||||
result_amount = 3
|
||||
|
||||
oxycodone
|
||||
name = "Oxycodone"
|
||||
id = "oxycodone"
|
||||
@@ -494,6 +501,13 @@ datum
|
||||
required_reagents = list("carpotoxin" = 1, "stoxin" = 1, "copper" = 1)
|
||||
result_amount = 3
|
||||
|
||||
mutetoxin
|
||||
name = "Mute toxin"
|
||||
id = "mutetoxin"
|
||||
result = "mutetoxin"
|
||||
required_reagents = list("uranium" = 2, "water" = 1, "carbon" = 1)
|
||||
result_amount = 2
|
||||
|
||||
rezadone
|
||||
name = "Rezadone"
|
||||
id = "rezadone"
|
||||
|
||||
@@ -201,7 +201,8 @@
|
||||
icon_state = "thirteen_loko"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("thirteenloko", 30)
|
||||
reagents.add_reagent("thirteenloko", 25)
|
||||
reagents.add_reagent("psilocybin", 5)
|
||||
src.pixel_x = rand(-10.0, 10)
|
||||
src.pixel_y = rand(-10.0, 10)
|
||||
|
||||
@@ -221,8 +222,7 @@
|
||||
icon_state = "starkist"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cola", 15)
|
||||
reagents.add_reagent("orangejuice", 15)
|
||||
reagents.add_reagent("brownstar", 30)
|
||||
src.pixel_x = rand(-10.0, 10)
|
||||
src.pixel_y = rand(-10.0, 10)
|
||||
|
||||
|
||||
@@ -116,6 +116,10 @@
|
||||
icon_state = "chocolateglass"
|
||||
name = "Glass of chocolate"
|
||||
desc = "Tasty"
|
||||
if("hot_coco")
|
||||
icon_state = "hot_coco"
|
||||
name = "Glass of hot coco"
|
||||
desc = "Delicious and cozy"
|
||||
if("lemonjuice")
|
||||
icon_state = "lemonglass"
|
||||
name = "Glass of lemonjuice"
|
||||
@@ -192,6 +196,10 @@
|
||||
icon_state = "rumglass"
|
||||
name = "Glass of Rum"
|
||||
desc = "Now you want to Pray for a pirate suit, don't you?"
|
||||
if("absinthe")
|
||||
icon_state = "absinthebottle"
|
||||
name = "Glass of Absinthe"
|
||||
desc = "The green fairy is going to get you now!"
|
||||
if("gintonic")
|
||||
icon_state = "gintonicglass"
|
||||
name = "Gin and Tonic"
|
||||
@@ -356,6 +364,10 @@
|
||||
icon_state = "carrotjuice"
|
||||
name = "Glass of carrot juice"
|
||||
desc = "It is just like a carrot but without crunching."
|
||||
if("potato")
|
||||
icon_state = "glass_brown"
|
||||
name = "Glass of potato juice"
|
||||
desc = "Who in the hell requests this? Gross!"
|
||||
if("banana")
|
||||
icon_state = "banana"
|
||||
name = "Glass of banana juice"
|
||||
|
||||
@@ -1243,7 +1243,8 @@
|
||||
icon_state = "chinese2"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("nutriment", 5)
|
||||
reagents.add_reagent("carpotoxin", 1)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chinese/newdles
|
||||
@@ -1261,7 +1262,8 @@
|
||||
icon_state = "chinese4"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("rice", 3)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/syndicake
|
||||
|
||||
@@ -60,6 +60,7 @@
|
||||
icon_state = "autoinjector"
|
||||
item_state = "autoinjector"
|
||||
amount_per_transfer_from_this = 5
|
||||
possible_transfer_amounts = list(5)
|
||||
volume = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/autoinjector/New()
|
||||
|
||||
@@ -82,116 +82,20 @@
|
||||
|
||||
// Bone White - Empty sypmtoms. There is a better way of handling this but this is much faster.
|
||||
|
||||
/datum/disease2/effect/invisible_stage_onea
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 1
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_oneb
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 1
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
|
||||
/datum/disease2/effect/invisible_stage_twoa
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 2
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_twob
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 2
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_twoc
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 2
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_twod
|
||||
name = "Non-existant Syndrome"
|
||||
/datum/disease2/effect/invisible_stage_two
|
||||
name = "Patience Syndrome"
|
||||
stage = 2
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
|
||||
/datum/disease2/effect/invisible_stage_threea
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 3
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_threeb
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 3
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_threec
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 3
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_threed
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 3
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_threee
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 3
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_threef
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 3
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_threeg
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 3
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_threeh
|
||||
name = "Non-existant Syndrome"
|
||||
/datum/disease2/effect/invisible_stage_three
|
||||
name = "Delayed Syndrome"
|
||||
stage = 3
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
|
||||
/datum/disease2/effect/invisible_stage_foura
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 4
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_fourb
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 4
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_fourc
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 4
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_fourd
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 4
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_foure
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 4
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_fourf
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 4
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_fourg
|
||||
name = "Non-existant Syndrome"
|
||||
stage = 4
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
/datum/disease2/effect/invisible_stage_fourh
|
||||
name = "Non-existant Syndrome"
|
||||
/datum/disease2/effect/invisible_stage_four
|
||||
name = "Anticipation Syndrome"
|
||||
stage = 4
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
return
|
||||
@@ -227,10 +131,6 @@
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
mob.gib()
|
||||
|
||||
/datum/disease2/effect/blank_stage_4
|
||||
name = "Nonexistant Syndrome"
|
||||
stage = 4
|
||||
|
||||
/datum/disease2/effect/radian
|
||||
name = "Radian's Syndrome"
|
||||
stage = 4
|
||||
@@ -469,7 +369,8 @@
|
||||
|
||||
*/
|
||||
|
||||
/datum/disease2/effect/orbweapon
|
||||
/*
|
||||
/datum/disease2/effect/orbweapon //peopel are just griefing the shit out of each other with this..and with a constantly regenerating weapon that has a throwforce of 30? I can see why.
|
||||
name = "Biolobulin Effect"
|
||||
stage = 4
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
@@ -488,7 +389,7 @@
|
||||
if (slot == slot_l_hand)
|
||||
canremove = 1 //curses!
|
||||
..()
|
||||
|
||||
*/
|
||||
|
||||
/datum/disease2/effect/plasma
|
||||
name = "Toxin Sublimation"
|
||||
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 176 KiB After Width: | Height: | Size: 176 KiB |
|
Before Width: | Height: | Size: 250 KiB After Width: | Height: | Size: 251 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 60 KiB |