mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 07:33:34 +01:00
Merge branch 'master' into logging-improvements
This commit is contained in:
@@ -112,7 +112,8 @@ GLOBAL_LIST_EMPTY(splatter_cache)
|
||||
|
||||
/obj/effect/decal/cleanable/trail_holder //not a child of blood on purpose
|
||||
name = "blood"
|
||||
icon_state = "ltrails_1"
|
||||
icon = 'icons/effects/effects.dmi'
|
||||
icon_state = "nothing"
|
||||
desc = "Your instincts say you shouldn't be following these."
|
||||
gender = PLURAL
|
||||
density = FALSE
|
||||
|
||||
@@ -289,7 +289,6 @@
|
||||
/obj/item/clothing/glasses/thermal = 1,
|
||||
/obj/item/chameleon = 1,
|
||||
/obj/item/reagent_containers/hypospray/autoinjector/stimulants = 1,
|
||||
/obj/item/storage/box/syndie_kit/atmosn2ogrenades = 1,
|
||||
/obj/item/grenade/plastic/x4 = 1)
|
||||
|
||||
|
||||
@@ -304,11 +303,6 @@
|
||||
/turf/simulated/wall/mineral/plastitanium/nodiagonal = 2,
|
||||
/obj/structure/falsewall/plastitanium = 2)
|
||||
|
||||
/obj/effect/spawner/random_spawners/syndicate/layout/door/secret
|
||||
name = "50pc falsewall 50pc wall"
|
||||
result = list(/turf/simulated/wall/mineral/plastitanium/nodiagonal = 1,
|
||||
/obj/structure/falsewall/plastitanium = 1)
|
||||
|
||||
/obj/effect/spawner/random_spawners/syndicate/layout/door/vault
|
||||
name = "80pc vaultdoor 20pc wall"
|
||||
result = list(/obj/machinery/door/airlock/hatch/syndicate/vault = 4,
|
||||
|
||||
@@ -328,3 +328,5 @@
|
||||
desc = "A digital copy of the station blueprints stored in your memory."
|
||||
fluffnotice = "Intellectual Property of Nanotrasen. For use in engineering cyborgs only. Wipe from memory upon departure from the station."
|
||||
|
||||
/obj/item/areaeditor/blueprints/ce
|
||||
|
||||
|
||||
@@ -14,8 +14,12 @@
|
||||
var/list/list_enginebeacons = list()
|
||||
var/isactive = FALSE
|
||||
|
||||
/obj/item/enginepicker/Destroy()
|
||||
list_enginebeacons.Cut()
|
||||
return ..()
|
||||
|
||||
/obj/item/enginepicker/attack_self(mob/living/carbon/user)
|
||||
if(usr.stat || !usr.canmove || usr.restrained())
|
||||
if(user.incapacitated())
|
||||
return
|
||||
|
||||
if(!isactive)
|
||||
|
||||
@@ -84,27 +84,29 @@
|
||||
|
||||
|
||||
/obj/item/flash/proc/flash_carbon(var/mob/living/carbon/M, var/mob/user = null, var/power = 5, targeted = 1)
|
||||
add_attack_logs(user, M, "Flashed with [src]")
|
||||
if(user && targeted)
|
||||
if(M.weakeyes)
|
||||
M.Weaken(3) //quick weaken bypasses eye protection but has no eye flash
|
||||
if(M.flash_eyes(1, 1))
|
||||
M.AdjustConfused(power)
|
||||
terrible_conversion_proc(M, user)
|
||||
M.Stun(1)
|
||||
visible_message("<span class='disarm'>[user] blinds [M] with the flash!</span>")
|
||||
to_chat(user, "<span class='danger'>You blind [M] with the flash!</span>")
|
||||
to_chat(M, "<span class='userdanger'>[user] blinds you with the flash!</span>")
|
||||
if(user)
|
||||
add_attack_logs(user, M, "Flashed with [src]")
|
||||
if(targeted)
|
||||
if(M.weakeyes)
|
||||
M.Stun(2)
|
||||
M.visible_message("<span class='disarm'>[M] gasps and shields [M.p_their()] eyes!</span>", "<span class='userdanger'>You gasp and shields your eyes!</span>")
|
||||
else
|
||||
visible_message("<span class='disarm'>[user] fails to blind [M] with the flash!</span>")
|
||||
to_chat(user, "<span class='warning'>You fail to blind [M] with the flash!</span>")
|
||||
to_chat(M, "<span class='danger'>[user] fails to blind you with the flash!</span>")
|
||||
else
|
||||
if(M.flash_eyes())
|
||||
M.AdjustConfused(power)
|
||||
M.Weaken(3) //quick weaken bypasses eye protection but has no eye flash
|
||||
if(M.flash_eyes(1, 1))
|
||||
M.AdjustConfused(power)
|
||||
terrible_conversion_proc(M, user)
|
||||
M.Stun(1)
|
||||
visible_message("<span class='disarm'>[user] blinds [M] with the flash!</span>")
|
||||
to_chat(user, "<span class='danger'>You blind [M] with the flash!</span>")
|
||||
to_chat(M, "<span class='userdanger'>[user] blinds you with the flash!</span>")
|
||||
if(M.weakeyes)
|
||||
M.Stun(2)
|
||||
M.visible_message("<span class='disarm'>[M] gasps and shields [M.p_their()] eyes!</span>", "<span class='userdanger'>You gasp and shield your eyes!</span>")
|
||||
else
|
||||
visible_message("<span class='disarm'>[user] fails to blind [M] with the flash!</span>")
|
||||
to_chat(user, "<span class='warning'>You fail to blind [M] with the flash!</span>")
|
||||
to_chat(M, "<span class='danger'>[user] fails to blind you with the flash!</span>")
|
||||
return
|
||||
|
||||
if(M.flash_eyes())
|
||||
M.AdjustConfused(power)
|
||||
|
||||
/obj/item/flash/attack(mob/living/M, mob/user)
|
||||
if(!try_use_flash(user))
|
||||
|
||||
@@ -69,8 +69,8 @@
|
||||
to_chat(user, "<span class='notice'>Locked In</span>")
|
||||
new /obj/machinery/power/singularity_beacon/syndicate( user.loc )
|
||||
playsound(src, 'sound/effects/pop.ogg', 100, 1, 1)
|
||||
user.drop_item()
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/item/radio/beacon/syndicate/bomb
|
||||
name = "suspicious beacon"
|
||||
@@ -82,16 +82,21 @@
|
||||
to_chat(user, "<span class='notice'>Locked In</span>")
|
||||
new /obj/machinery/syndicatebomb( user.loc )
|
||||
playsound(src, 'sound/effects/pop.ogg', 100, 1, 1)
|
||||
user.drop_item()
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/item/radio/beacon/engine
|
||||
desc = "A label on it reads: <i>Warning: This device is used for transportation of high-density objects used for high-yield power generation. Stay away!</i>."
|
||||
anchored = 1 //Let's not move these around. Some folk might get the idea to use these for assassinations
|
||||
var/list/enginetype = list()
|
||||
|
||||
/obj/item/radio/beacon/engine/Initialize()
|
||||
/obj/item/radio/beacon/engine/Initialize(mapload)
|
||||
LAZYADD(GLOB.engine_beacon_list, src)
|
||||
return ..()
|
||||
|
||||
/obj/item/radio/beacon/engine/Destroy()
|
||||
GLOB.engine_beacon_list -= src
|
||||
return ..()
|
||||
|
||||
/obj/item/radio/beacon/engine/tesling
|
||||
name = "Engine Beacon for Tesla and Singularity"
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery."
|
||||
icon = 'icons/obj/nanopaste.dmi'
|
||||
icon_state = "tube"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
origin_tech = "materials=2;engineering=3"
|
||||
amount = 6
|
||||
max_amount = 6
|
||||
|
||||
@@ -298,13 +298,13 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \
|
||||
materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT)
|
||||
point_value = 20
|
||||
|
||||
var/global/list/datum/stack_recipe/titanium_recipes = list (
|
||||
GLOBAL_LIST_INIT(titanium_recipes, list(
|
||||
new/datum/stack_recipe("titanium tile", /obj/item/stack/tile/mineral/titanium, 1, 4, 20),
|
||||
new/datum/stack_recipe("surgical tray", /obj/structure/table/tray, 2, one_per_turf = 1, on_floor = 1),
|
||||
)
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/mineral/titanium/New(loc, amount=null)
|
||||
recipes = titanium_recipes
|
||||
recipes = GLOB.titanium_recipes
|
||||
..()
|
||||
|
||||
/obj/item/stack/sheet/mineral/titanium/fifty
|
||||
@@ -328,12 +328,12 @@ var/global/list/datum/stack_recipe/titanium_recipes = list (
|
||||
materials = list(MAT_TITANIUM=2000, MAT_PLASMA=2000)
|
||||
point_value = 45
|
||||
|
||||
var/global/list/datum/stack_recipe/plastitanium_recipes = list (
|
||||
GLOBAL_LIST_INIT(plastitanium_recipes, list(
|
||||
new/datum/stack_recipe("plas-titanium tile", /obj/item/stack/tile/mineral/plastitanium, 1, 4, 20),
|
||||
)
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/mineral/plastitanium/New(loc, amount=null)
|
||||
recipes = plastitanium_recipes
|
||||
recipes = GLOB.plastitanium_recipes
|
||||
..()
|
||||
|
||||
/obj/item/stack/sheet/mineral/enruranium
|
||||
|
||||
@@ -27,10 +27,12 @@
|
||||
throwforce = 2.0
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
resistance_flags = FLAMMABLE
|
||||
var/next_gavel_hit
|
||||
|
||||
/obj/item/gavelblock/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/gavelhammer))
|
||||
playsound(loc, 'sound/items/gavel.ogg', 100, 1)
|
||||
user.visible_message("<span class='warning'>[user] strikes \the [src] with \the [I].</span>")
|
||||
else
|
||||
if(!istype(I, /obj/item/gavelhammer))
|
||||
return
|
||||
if(world.time > next_gavel_hit)
|
||||
playsound(loc, 'sound/items/gavel.ogg', 100, 1)
|
||||
next_gavel_hit = world.time + 5 SECONDS
|
||||
user.visible_message("<span class='warning'>[user] strikes \the [src] with \the [I].</span>")
|
||||
|
||||
@@ -37,6 +37,9 @@
|
||||
cuff(C, user)
|
||||
|
||||
/obj/item/restraints/handcuffs/proc/cuff(mob/living/carbon/C, mob/user, remove_src = TRUE)
|
||||
if(!istype(C)) // Shouldn't be able to cuff anything but carbons.
|
||||
return
|
||||
|
||||
if(ishuman(C))
|
||||
var/mob/living/carbon/human/H = C
|
||||
if(!(H.has_left_hand() || H.has_right_hand()))
|
||||
|
||||
@@ -20,6 +20,10 @@
|
||||
..()
|
||||
storage = new /obj/item/storage/hidden/implant(src)
|
||||
|
||||
/obj/item/implant/storage/emp_act(severity)
|
||||
..()
|
||||
storage.emp_act(severity)
|
||||
|
||||
/obj/item/implant/storage/activate()
|
||||
storage.MouseDrop(imp_in)
|
||||
|
||||
|
||||
@@ -40,14 +40,13 @@
|
||||
L.adjustBrainLoss(20)
|
||||
removed(mindslave_target)
|
||||
qdel(src)
|
||||
return -1
|
||||
return -1
|
||||
if(ismindshielded(mindslave_target))
|
||||
mindslave_target.visible_message("<span class='warning'>[mindslave_target] seems to resist the implant!</span>", "<span class='warning'>You feel a strange sensation in your head that quickly dissipates.</span>")
|
||||
removed(mindslave_target)
|
||||
qdel(src)
|
||||
return -1
|
||||
|
||||
mindslave_target.implanting = 1
|
||||
to_chat(mindslave_target, "<span class='danger'>You feel completely loyal to [user.name].</span>")
|
||||
if(!(user.mind in SSticker.mode.implanter))
|
||||
SSticker.mode.implanter[user.mind] = list()
|
||||
@@ -56,7 +55,7 @@
|
||||
SSticker.mode.implanted.Add(mindslave_target.mind)
|
||||
SSticker.mode.implanted[mindslave_target.mind] = user.mind
|
||||
SSticker.mode.implanter[user.mind] = implanters
|
||||
|
||||
|
||||
to_chat(mindslave_target, "<span class='danger'><B>You're now completely loyal to [user.name]!</B> You now must lay down your life to protect [user.p_them()] and assist in [user.p_their()] goals at any cost.</span>")
|
||||
|
||||
var/datum/objective/protect/mindslave/MS = new
|
||||
|
||||
@@ -1,29 +1,19 @@
|
||||
/////////
|
||||
//ZIPPO//
|
||||
/////////
|
||||
// Basic lighters
|
||||
/obj/item/lighter
|
||||
name = "cheap lighter"
|
||||
desc = "A cheap-as-free lighter."
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "lighter-g"
|
||||
item_state = "lighter-g"
|
||||
var/icon_on = "lighter-g-on"
|
||||
var/icon_off = "lighter-g"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throwforce = 4
|
||||
flags = CONDUCT
|
||||
slot_flags = SLOT_BELT
|
||||
attack_verb = null
|
||||
resistance_flags = FIRE_PROOF
|
||||
var/lit = 0
|
||||
|
||||
/obj/item/lighter/zippo
|
||||
name = "zippo lighter"
|
||||
desc = "The zippo."
|
||||
icon_state = "zippo"
|
||||
item_state = "zippo"
|
||||
icon_on = "zippoon"
|
||||
icon_off = "zippo"
|
||||
var/lit = FALSE
|
||||
var/icon_on = "lighter-g-on"
|
||||
var/icon_off = "lighter-g"
|
||||
|
||||
/obj/item/lighter/random/New()
|
||||
..()
|
||||
@@ -33,54 +23,51 @@
|
||||
icon_state = icon_off
|
||||
|
||||
/obj/item/lighter/attack_self(mob/living/user)
|
||||
if(user.r_hand == src || user.l_hand == src || isrobot(user))
|
||||
if(!lit)
|
||||
lit = 1
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
icon_state = icon_on
|
||||
item_state = icon_on
|
||||
force = 5
|
||||
damtype = "fire"
|
||||
hitsound = 'sound/items/welder.ogg'
|
||||
attack_verb = list("burnt", "singed")
|
||||
if(istype(src, /obj/item/lighter/zippo) )
|
||||
user.visible_message("<span class='rose'>Without even breaking stride, [user] flips open and lights [src] in one smooth movement.</span>")
|
||||
playsound(src.loc, 'sound/items/zippolight.ogg', 25, 1)
|
||||
else
|
||||
if(prob(75))
|
||||
user.visible_message("<span class='notice'>After a few attempts, [user] manages to light the [src].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You burn yourself while lighting the lighter.</span>")
|
||||
var/mob/living/M = user
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_hand")
|
||||
if(affecting.receive_damage( 0, 5 )) //INFERNO
|
||||
H.UpdateDamageIcon()
|
||||
user.visible_message("<span class='notice'>After a few attempts, [user] manages to light the [src], [user.p_they()] however burn[user.p_s()] [user.p_their()] finger in the process.</span>")
|
||||
|
||||
set_light(2)
|
||||
START_PROCESSING(SSobj, src)
|
||||
else
|
||||
lit = 0
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
icon_state = icon_off
|
||||
item_state = icon_off
|
||||
hitsound = "swing_hit"
|
||||
force = 0
|
||||
attack_verb = null //human_defense.dm takes care of it
|
||||
if(istype(src, /obj/item/lighter/zippo) )
|
||||
user.visible_message("<span class='rose'>You hear a quiet click, as [user] shuts off [src] without even looking at what [user.p_theyre()] doing. Wow.")
|
||||
playsound(src.loc, 'sound/items/zippoclose.ogg', 25, 1)
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] quietly shuts off the [src].")
|
||||
|
||||
set_light(0)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
. = ..()
|
||||
if(!lit)
|
||||
turn_on_lighter(user)
|
||||
else
|
||||
return ..()
|
||||
return
|
||||
turn_off_lighter(user)
|
||||
|
||||
/obj/item/lighter/proc/turn_on_lighter(mob/living/user)
|
||||
lit = TRUE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
icon_state = icon_on
|
||||
item_state = icon_on
|
||||
force = 5
|
||||
damtype = BURN
|
||||
hitsound = 'sound/items/welder.ogg'
|
||||
attack_verb = list("burnt", "singed")
|
||||
|
||||
attempt_light(user)
|
||||
set_light(2)
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/item/lighter/proc/attempt_light(mob/living/user)
|
||||
if(prob(75) || issilicon(user)) // Robots can never burn themselves trying to light it.
|
||||
to_chat(user, "<span class='notice'>You light [src].</span>")
|
||||
else
|
||||
var/mob/living/carbon/human/H = user
|
||||
var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_hand")
|
||||
if(affecting.receive_damage( 0, 5 )) //INFERNO
|
||||
H.UpdateDamageIcon()
|
||||
to_chat(user,"<span class='notice'>You light [src], but you burn your hand in the process.</span>")
|
||||
|
||||
/obj/item/lighter/proc/turn_off_lighter(mob/living/user)
|
||||
lit = FALSE
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
icon_state = icon_off
|
||||
item_state = icon_off
|
||||
hitsound = "swing_hit"
|
||||
force = 0
|
||||
attack_verb = null //human_defense.dm takes care of it
|
||||
|
||||
show_off_message(user)
|
||||
set_light(0)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/item/lighter/proc/show_off_message(mob/living/user)
|
||||
to_chat(user, "<span class='notice'>You shut off [src].")
|
||||
|
||||
/obj/item/lighter/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
|
||||
if(!isliving(M))
|
||||
@@ -108,6 +95,41 @@
|
||||
location.hotspot_expose(700, 5)
|
||||
return
|
||||
|
||||
// Zippo lighters
|
||||
/obj/item/lighter/zippo
|
||||
name = "zippo lighter"
|
||||
desc = "The zippo."
|
||||
icon_state = "zippo"
|
||||
item_state = "zippo"
|
||||
icon_on = "zippoon"
|
||||
icon_off = "zippo"
|
||||
var/next_on_message
|
||||
var/next_off_message
|
||||
|
||||
/obj/item/lighter/zippo/turn_on_lighter(mob/living/user)
|
||||
. = ..()
|
||||
if(world.time > next_on_message)
|
||||
user.visible_message("<span class='rose'>Without even breaking stride, [user] flips open and lights [src] in one smooth movement.</span>")
|
||||
playsound(src.loc, 'sound/items/zippolight.ogg', 25, 1)
|
||||
next_on_message = world.time + 5 SECONDS
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You light [src].</span>")
|
||||
|
||||
/obj/item/lighter/zippo/turn_off_lighter(mob/living/user)
|
||||
. = ..()
|
||||
if(world.time > next_off_message)
|
||||
user.visible_message("<span class='rose'>You hear a quiet click, as [user] shuts off [src] without even looking at what [user.p_theyre()] doing. Wow.")
|
||||
playsound(src.loc, 'sound/items/zippoclose.ogg', 25, 1)
|
||||
next_off_message = world.time + 5 SECONDS
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You shut off [src].")
|
||||
|
||||
/obj/item/lighter/zippo/show_off_message(mob/living/user)
|
||||
return
|
||||
|
||||
/obj/item/lighter/zippo/attempt_light(mob/living/user)
|
||||
return
|
||||
|
||||
//EXTRA LIGHTERS
|
||||
/obj/item/lighter/zippo/nt_rep
|
||||
name = "gold engraved zippo"
|
||||
|
||||
@@ -77,6 +77,10 @@
|
||||
item_state = "gift"
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
|
||||
/obj/item/gift/emp_act(severity)
|
||||
..()
|
||||
gift.emp_act(severity)
|
||||
|
||||
/obj/item/kidanglobe
|
||||
name = "Kidan homeworld globe"
|
||||
icon = 'icons/obj/decorations.dmi'
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
return
|
||||
|
||||
if(thearea.tele_proof && !istype(thearea, /area/wizard_station))
|
||||
to_chat(user, "A mysterious force disrupts your arcane spell matrix, and you remain where you are.")
|
||||
to_chat(user, "<span class='warning'>A mysterious force disrupts your arcane spell matrix, and you remain where you are.</span>")
|
||||
return
|
||||
|
||||
var/datum/effect_system/smoke_spread/smoke = new
|
||||
@@ -79,7 +79,7 @@
|
||||
L+=T
|
||||
|
||||
if(!L.len)
|
||||
to_chat(user, "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.")
|
||||
to_chat(user, "<span class='warning'>The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.</span>")
|
||||
return
|
||||
|
||||
if(user && user.buckled)
|
||||
@@ -104,3 +104,4 @@
|
||||
|
||||
smoke.start()
|
||||
src.uses -= 1
|
||||
user.update_action_buttons_icon() //Update action buttons as some spells might now be castable
|
||||
|
||||
@@ -134,7 +134,8 @@
|
||||
/obj/item/rad_laser,
|
||||
/obj/item/sensor_device,
|
||||
/obj/item/wrench/medical,
|
||||
/obj/item/handheld_defibrillator
|
||||
/obj/item/handheld_defibrillator,
|
||||
/obj/item/reagent_containers/applicator
|
||||
)
|
||||
|
||||
/obj/item/storage/belt/medical/surgery
|
||||
|
||||
@@ -1124,6 +1124,11 @@
|
||||
playsound(loc, "rustle", 50, 1, -5)
|
||||
user.visible_message("<span class='notice'>[user] hugs \the [src].</span>","<span class='notice'>You hug \the [src].</span>")
|
||||
|
||||
/obj/item/storage/box/wizard
|
||||
name = "magical box"
|
||||
desc = "It's just an ordinary magical box."
|
||||
icon_state = "box_wizard"
|
||||
|
||||
#undef NODESIGN
|
||||
#undef NANOTRASEN
|
||||
#undef SYNDI
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
icon_state = "firstaid"
|
||||
throw_speed = 2
|
||||
throw_range = 8
|
||||
var/empty = 0
|
||||
var/empty = FALSE
|
||||
req_one_access =list(ACCESS_MEDICAL, ACCESS_ROBOTICS) //Access and treatment are utilized for medbots.
|
||||
var/treatment_brute = "salglu_solution"
|
||||
var/treatment_oxy = "salbutamol"
|
||||
@@ -33,39 +33,51 @@
|
||||
item_state = "firstaid-ointment"
|
||||
med_bot_skin = "ointment"
|
||||
|
||||
New()
|
||||
..()
|
||||
if(empty) return
|
||||
|
||||
icon_state = pick("ointment","firefirstaid")
|
||||
|
||||
new /obj/item/reagent_containers/food/pill/patch/silver_sulf( src )
|
||||
new /obj/item/reagent_containers/food/pill/patch/silver_sulf( src )
|
||||
new /obj/item/reagent_containers/food/pill/patch/silver_sulf( src )
|
||||
new /obj/item/reagent_containers/food/pill/patch/silver_sulf( src )
|
||||
new /obj/item/healthanalyzer( src )
|
||||
new /obj/item/reagent_containers/hypospray/autoinjector( src )
|
||||
new /obj/item/reagent_containers/food/pill/salicylic( src )
|
||||
/obj/item/storage/firstaid/fire/New()
|
||||
..()
|
||||
if(empty)
|
||||
return
|
||||
icon_state = pick("ointment", "firefirstaid")
|
||||
new /obj/item/reagent_containers/applicator/burn(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/silver_sulf/small(src)
|
||||
new /obj/item/healthanalyzer(src)
|
||||
new /obj/item/reagent_containers/hypospray/autoinjector(src)
|
||||
new /obj/item/reagent_containers/food/pill/salicylic(src)
|
||||
|
||||
/obj/item/storage/firstaid/fire/empty
|
||||
empty = 1
|
||||
empty = TRUE
|
||||
|
||||
/obj/item/storage/firstaid/regular
|
||||
desc = "A general medical kit that contains medical patches for both brute damage and burn damage. Also contains an epinephrine syringe for emergency use and a health analyzer"
|
||||
icon_state = "firstaid"
|
||||
|
||||
New()
|
||||
..()
|
||||
if(empty) return
|
||||
new /obj/item/reagent_containers/food/pill/patch/styptic( src )
|
||||
new /obj/item/reagent_containers/food/pill/patch/styptic( src )
|
||||
new /obj/item/reagent_containers/food/pill/salicylic( src )
|
||||
new /obj/item/reagent_containers/food/pill/patch/silver_sulf( src )
|
||||
new /obj/item/reagent_containers/food/pill/patch/silver_sulf( src )
|
||||
new /obj/item/healthanalyzer( src )
|
||||
new /obj/item/reagent_containers/hypospray/autoinjector( src )
|
||||
/obj/item/storage/firstaid/regular/New()
|
||||
..()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/reagent_containers/food/pill/patch/styptic(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/styptic(src)
|
||||
new /obj/item/reagent_containers/food/pill/salicylic(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/silver_sulf(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/silver_sulf(src)
|
||||
new /obj/item/healthanalyzer(src)
|
||||
new /obj/item/reagent_containers/hypospray/autoinjector(src)
|
||||
|
||||
/obj/item/storage/firstaid/doctor
|
||||
desc = "A general medical kit that contains medical patches for both brute damage and burn damage. Also contains an epinephrine syringe for emergency use and a health analyzer"
|
||||
icon_state = "firstaid"
|
||||
|
||||
/obj/item/storage/firstaid/doctor/New()
|
||||
..()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/reagent_containers/applicator/brute(src)
|
||||
new /obj/item/reagent_containers/applicator/burn(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/styptic(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/silver_sulf(src)
|
||||
new /obj/item/reagent_containers/food/pill/salicylic(src)
|
||||
new /obj/item/healthanalyzer/advanced(src)
|
||||
new /obj/item/reagent_containers/hypospray/autoinjector(src)
|
||||
|
||||
/obj/item/storage/firstaid/toxin
|
||||
name = "toxin first aid kit"
|
||||
@@ -74,23 +86,21 @@
|
||||
item_state = "firstaid-toxin"
|
||||
med_bot_skin = "tox"
|
||||
|
||||
New()
|
||||
..()
|
||||
if(empty) return
|
||||
|
||||
icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3")
|
||||
|
||||
new /obj/item/reagent_containers/syringe/charcoal( src )
|
||||
new /obj/item/reagent_containers/syringe/charcoal( src )
|
||||
new /obj/item/reagent_containers/syringe/charcoal( src )
|
||||
new /obj/item/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/healthanalyzer( src )
|
||||
/obj/item/storage/firstaid/toxin/New()
|
||||
..()
|
||||
if(empty)
|
||||
return
|
||||
icon_state = pick("antitoxin", "antitoxfirstaid", "antitoxfirstaid2", "antitoxfirstaid3")
|
||||
new /obj/item/reagent_containers/syringe/charcoal(src)
|
||||
new /obj/item/reagent_containers/syringe/charcoal(src)
|
||||
new /obj/item/reagent_containers/syringe/charcoal(src)
|
||||
new /obj/item/reagent_containers/food/pill/charcoal(src)
|
||||
new /obj/item/reagent_containers/food/pill/charcoal(src)
|
||||
new /obj/item/reagent_containers/food/pill/charcoal(src)
|
||||
new /obj/item/healthanalyzer(src)
|
||||
|
||||
/obj/item/storage/firstaid/toxin/empty
|
||||
empty = 1
|
||||
empty = TRUE
|
||||
|
||||
/obj/item/storage/firstaid/o2
|
||||
name = "oxygen deprivation first aid kit"
|
||||
@@ -99,18 +109,18 @@
|
||||
item_state = "firstaid-o2"
|
||||
med_bot_skin = "o2"
|
||||
|
||||
New()
|
||||
..()
|
||||
if(empty) return
|
||||
new /obj/item/reagent_containers/food/pill/salbutamol( src )
|
||||
new /obj/item/reagent_containers/food/pill/salbutamol( src )
|
||||
new /obj/item/reagent_containers/food/pill/salbutamol( src )
|
||||
new /obj/item/reagent_containers/food/pill/salbutamol( src )
|
||||
new /obj/item/healthanalyzer( src )
|
||||
/obj/item/storage/firstaid/o2/New()
|
||||
..()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/reagent_containers/food/pill/salbutamol(src)
|
||||
new /obj/item/reagent_containers/food/pill/salbutamol(src)
|
||||
new /obj/item/reagent_containers/food/pill/salbutamol(src)
|
||||
new /obj/item/reagent_containers/food/pill/salbutamol(src)
|
||||
new /obj/item/healthanalyzer(src)
|
||||
|
||||
/obj/item/storage/firstaid/o2/empty
|
||||
empty = 1
|
||||
empty = TRUE
|
||||
|
||||
/obj/item/storage/firstaid/brute
|
||||
name = "brute trauma treatment kit"
|
||||
@@ -119,23 +129,19 @@
|
||||
item_state = "firstaid-brute"
|
||||
med_bot_skin = "brute"
|
||||
|
||||
New()
|
||||
..()
|
||||
if(empty) return
|
||||
|
||||
icon_state = pick("brute","brute2")
|
||||
|
||||
new /obj/item/reagent_containers/food/pill/patch/styptic(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/styptic(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/styptic(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/styptic(src)
|
||||
new /obj/item/healthanalyzer(src)
|
||||
new /obj/item/reagent_containers/hypospray/autoinjector(src)
|
||||
new /obj/item/stack/medical/bruise_pack(src)
|
||||
/obj/item/storage/firstaid/brute/New()
|
||||
..()
|
||||
if(empty)
|
||||
return
|
||||
icon_state = pick("brute", "brute2")
|
||||
new /obj/item/reagent_containers/applicator/brute(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/styptic/small(src)
|
||||
new /obj/item/healthanalyzer(src)
|
||||
new /obj/item/reagent_containers/hypospray/autoinjector(src)
|
||||
new /obj/item/stack/medical/bruise_pack(src)
|
||||
|
||||
/obj/item/storage/firstaid/brute/empty
|
||||
empty = 1
|
||||
empty = TRUE
|
||||
|
||||
/obj/item/storage/firstaid/adv
|
||||
name = "advanced first-aid kit"
|
||||
@@ -157,7 +163,7 @@
|
||||
new /obj/item/healthanalyzer(src)
|
||||
|
||||
/obj/item/storage/firstaid/adv/empty
|
||||
empty = 1
|
||||
empty = TRUE
|
||||
|
||||
/obj/item/storage/firstaid/machine
|
||||
name = "machine repair kit"
|
||||
@@ -178,7 +184,7 @@
|
||||
new /obj/item/robotanalyzer(src)
|
||||
|
||||
/obj/item/storage/firstaid/machine/empty
|
||||
empty = 1
|
||||
empty = TRUE
|
||||
|
||||
|
||||
/obj/item/storage/firstaid/tactical
|
||||
@@ -196,18 +202,15 @@
|
||||
|
||||
/obj/item/storage/firstaid/tactical/New()
|
||||
..()
|
||||
if(empty) return
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/reagent_containers/hypospray/combat(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/synthflesh(src) // Because you ain't got no time to look at what damage dey taking yo
|
||||
new /obj/item/reagent_containers/food/pill/patch/synthflesh(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/synthflesh(src)
|
||||
new /obj/item/reagent_containers/food/pill/patch/synthflesh(src)
|
||||
new /obj/item/reagent_containers/applicator/dual(src) // Because you ain't got no time to look at what damage dey taking yo
|
||||
new /obj/item/defibrillator/compact/combat/loaded(src)
|
||||
new /obj/item/clothing/glasses/hud/health/night(src)
|
||||
return
|
||||
|
||||
/obj/item/storage/firstaid/tactical/empty
|
||||
empty =1
|
||||
empty = TRUE
|
||||
|
||||
/obj/item/storage/firstaid/surgery
|
||||
name = "field surgery kit"
|
||||
@@ -347,15 +350,15 @@
|
||||
desc = "Contains pills used to counter toxins."
|
||||
wrapper_color = COLOR_GREEN
|
||||
|
||||
New()
|
||||
..()
|
||||
new /obj/item/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/reagent_containers/food/pill/charcoal( src )
|
||||
new /obj/item/reagent_containers/food/pill/charcoal( src )
|
||||
/obj/item/storage/pill_bottle/charcoal/New()
|
||||
..()
|
||||
new /obj/item/reagent_containers/food/pill/charcoal(src)
|
||||
new /obj/item/reagent_containers/food/pill/charcoal(src)
|
||||
new /obj/item/reagent_containers/food/pill/charcoal(src)
|
||||
new /obj/item/reagent_containers/food/pill/charcoal(src)
|
||||
new /obj/item/reagent_containers/food/pill/charcoal(src)
|
||||
new /obj/item/reagent_containers/food/pill/charcoal(src)
|
||||
new /obj/item/reagent_containers/food/pill/charcoal(src)
|
||||
|
||||
/obj/item/storage/pill_bottle/painkillers
|
||||
name = "Pill Bottle (Salicylic Acid)"
|
||||
|
||||
@@ -481,10 +481,10 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/storage/emp_act(severity)
|
||||
if(!istype(loc, /mob/living))
|
||||
for(var/obj/O in contents)
|
||||
O.emp_act(severity)
|
||||
..()
|
||||
for(var/i in contents)
|
||||
var/atom/A = i
|
||||
A.emp_act(severity)
|
||||
|
||||
/obj/item/storage/hear_talk(mob/living/M as mob, list/message_pieces)
|
||||
..()
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
amount_per_transfer_from_this = 50
|
||||
possible_transfer_amounts = list(25,50,100)
|
||||
volume = 500
|
||||
flags = NODROP | NOBLUDGEON
|
||||
flags = NOBLUDGEON
|
||||
container_type = OPENCONTAINER
|
||||
|
||||
var/obj/item/watertank/tank
|
||||
|
||||
@@ -179,6 +179,7 @@
|
||||
slot_flags = SLOT_BACK
|
||||
force_unwielded = 5
|
||||
force_wielded = 24
|
||||
toolspeed = 0.25
|
||||
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
usesound = 'sound/items/crowbar.ogg'
|
||||
@@ -542,6 +543,7 @@
|
||||
w_class = WEIGHT_CLASS_BULKY // can't fit in backpacks
|
||||
force_unwielded = 15 //still pretty robust
|
||||
force_wielded = 40 //you'll gouge their eye out! Or a limb...maybe even their entire body!
|
||||
hitsound = null // Handled in the snowflaked attack proc
|
||||
wieldsound = 'sound/weapons/chainsawstart.ogg'
|
||||
hitsound = null
|
||||
armour_penetration = 35
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
new /obj/item/storage/backpack/satchel_eng(src)
|
||||
new /obj/item/storage/backpack/duffel/engineering(src)
|
||||
new /obj/item/clothing/head/beret/ce(src)
|
||||
new /obj/item/areaeditor/blueprints(src)
|
||||
new /obj/item/areaeditor/blueprints/ce(src)
|
||||
new /obj/item/storage/box/permits(src)
|
||||
new /obj/item/clothing/under/rank/chief_engineer(src)
|
||||
new /obj/item/clothing/under/rank/chief_engineer/skirt(src)
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
var/beepsound = 'sound/items/timer.ogg'
|
||||
var/deliberate = FALSE
|
||||
var/max_cycles = 10
|
||||
var/max_fire_range = 9
|
||||
var/area/syndicate_depot/core/depotarea
|
||||
|
||||
/obj/effect/overload/New()
|
||||
@@ -101,10 +100,6 @@
|
||||
if(!deliberate)
|
||||
playsound(loc, beepsound, 50, 0)
|
||||
cycles++
|
||||
var/fire_range = min(cycles, max_fire_range)
|
||||
|
||||
for(var/turf/simulated/turf in range(fire_range, T))
|
||||
new /obj/effect/hotspot(turf)
|
||||
return
|
||||
|
||||
if(!istype(depotarea))
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
AC.ui_interact(user)
|
||||
|
||||
if("Voice")
|
||||
var/voice_choice = input(user, "Perhaps...", "Voice effects") as null|anything in list("Comic Sans", "Wingdings", "Swedish", "Chav")
|
||||
var/voice_choice = input(user, "Perhaps...", "Voice effects") as null|anything in list("Comic Sans", "Wingdings", "Swedish", "Chav", "Mute")
|
||||
var/voice_mutation
|
||||
switch(voice_choice)
|
||||
if("Comic Sans")
|
||||
@@ -142,6 +142,8 @@
|
||||
voice_mutation = GLOB.swedeblock
|
||||
if("Chav")
|
||||
voice_mutation = GLOB.chavblock
|
||||
if("Mute")
|
||||
voice_mutation = GLOB.muteblock
|
||||
if(voice_mutation)
|
||||
if(H.dna.GetSEState(voice_mutation))
|
||||
H.dna.SetSEState(voice_mutation, FALSE)
|
||||
|
||||
Reference in New Issue
Block a user