mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into STILLALOTOFBLOOD
This commit is contained in:
@@ -8,9 +8,42 @@
|
||||
//var/darkness_view = 0//Base human is 2
|
||||
//var/invisa_view = 0
|
||||
var/prescription = 0
|
||||
var/prescription_upgradable = 0
|
||||
var/see_darkness = 1
|
||||
var/HUDType = 0
|
||||
|
||||
/obj/item/clothing/glasses/New()
|
||||
. = ..()
|
||||
if(prescription_upgradable && prescription)
|
||||
// Pre-upgraded upgradable glasses
|
||||
name = "prescription [name]"
|
||||
|
||||
/obj/item/clothing/glasses/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if (user.stat || user.restrained() || !ishuman(user))
|
||||
return ..()
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(prescription_upgradable)
|
||||
if(istype(O, /obj/item/clothing/glasses/regular))
|
||||
if(prescription)
|
||||
H << "You can't possibly imagine how adding more lenses would improve \the [name]."
|
||||
return
|
||||
H.unEquip(O)
|
||||
O.loc = src // Store the glasses for later removal
|
||||
H << "You fit \the [name] with lenses from \the [O]."
|
||||
prescription = 1
|
||||
name = "prescription [name]"
|
||||
return
|
||||
if(prescription && istype(O, /obj/item/weapon/screwdriver))
|
||||
var/obj/item/clothing/glasses/regular/G = locate() in src
|
||||
if(!G)
|
||||
G = new(get_turf(H))
|
||||
H << "You salvage the prescription lenses from \the [name]."
|
||||
prescription = 0
|
||||
name = initial(name)
|
||||
H.put_in_hands(G)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/glasses/meson
|
||||
name = "Optical Meson Scanner"
|
||||
desc = "Used for seeing walls, floors, and stuff through anything."
|
||||
@@ -18,26 +51,12 @@
|
||||
item_state = "glasses"
|
||||
origin_tech = "magnets=2;engineering=2"
|
||||
vision_flags = SEE_TURFS
|
||||
prescription_upgradable = 1
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/meson/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if (user.stat || user.restrained() || !ishuman(user))
|
||||
return
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(istype(O, /obj/item/clothing/glasses/regular))
|
||||
H.unEquip(src)
|
||||
H.unEquip(O)
|
||||
var/obj/item/clothing/glasses/meson/prescription/P = new /obj/item/clothing/glasses/meson/prescription(get_turf(H))
|
||||
H << "You fit \the [src.name] with lenses from \the [O.name]."
|
||||
H.put_in_hands(P)
|
||||
qdel(O)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/glasses/meson/night
|
||||
name = "Night Vision Optical Meson Scanner"
|
||||
desc = "An Optical Meson Scanner fitted with an amplified visible light spectrum overlay, providing greater visual clarity in darkness."
|
||||
@@ -45,39 +64,10 @@
|
||||
item_state = "glasses"
|
||||
darkness_view = 8
|
||||
see_darkness = 0
|
||||
|
||||
/obj/item/clothing/glasses/meson/night/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if(istype(O, /obj/item/clothing/glasses/regular))
|
||||
user << "\The [src.name] is too complex for you to fit with prescription lenses."
|
||||
return
|
||||
..()
|
||||
prescription_upgradable = 0
|
||||
|
||||
/obj/item/clothing/glasses/meson/prescription
|
||||
name = "prescription mesons"
|
||||
desc = "Optical Meson Scanner with prescription lenses."
|
||||
prescription = 1
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/meson/prescription/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if (user.stat || user.restrained() || !ishuman(user))
|
||||
return
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(istype(O, /obj/item/clothing/glasses/regular))
|
||||
H <<"You can't possibly imagine how adding more lenses would improve \the [src.name]."
|
||||
return
|
||||
if(istype(O, /obj/item/weapon/screwdriver))
|
||||
H.unEquip(src)
|
||||
var/obj/item/clothing/glasses/meson/M = new /obj/item/clothing/glasses/meson(get_turf(H))
|
||||
var/obj/item/clothing/glasses/regular/R = new /obj/item/clothing/glasses/regular(get_turf(H))
|
||||
H << "You salvage the prescription lenses from \the [src.name]."
|
||||
H.put_in_hands(M)
|
||||
H.put_in_hands(R)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/glasses/meson/cyber
|
||||
name = "Eye Replacement Implant"
|
||||
@@ -85,6 +75,7 @@
|
||||
icon_state = "cybereye-green"
|
||||
item_state = "eyepatch"
|
||||
flags = NODROP
|
||||
prescription_upgradable = 0
|
||||
|
||||
/obj/item/clothing/glasses/science
|
||||
name = "Science Goggles"
|
||||
@@ -147,14 +138,14 @@
|
||||
flags = NODROP
|
||||
|
||||
/obj/item/clothing/glasses/regular
|
||||
name = "Prescription Glasses"
|
||||
name = "prescription glasses"
|
||||
desc = "Made by Nerd. Co."
|
||||
icon_state = "glasses"
|
||||
item_state = "glasses"
|
||||
prescription = 1
|
||||
|
||||
/obj/item/clothing/glasses/regular/hipster
|
||||
name = "Prescription Glasses"
|
||||
name = "prescription glasses"
|
||||
desc = "Made by Uncool. Co."
|
||||
icon_state = "hipster_glasses"
|
||||
item_state = "hipster_glasses"
|
||||
@@ -179,26 +170,12 @@
|
||||
darkness_view = 1
|
||||
flash_protect = 1
|
||||
tint = 1
|
||||
prescription_upgradable = 1
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if (user.stat || user.restrained() || !ishuman(user))
|
||||
return
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(istype(O, /obj/item/clothing/glasses/regular))
|
||||
H.unEquip(src)
|
||||
H.unEquip(O)
|
||||
var/obj/item/clothing/glasses/sunglasses/prescription/P = new /obj/item/clothing/glasses/sunglasses/prescription(get_turf(H))
|
||||
H << "You fit \the [src.name] with lenses from \the [O.name]."
|
||||
H.put_in_hands(P)
|
||||
qdel(O)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/glasses/virussunglasses
|
||||
desc = "Strangely ancient technology used to help provide rudimentary eye cover. Enhanced shielding blocks many flashes."
|
||||
name = "sunglasses"
|
||||
@@ -282,42 +259,14 @@
|
||||
//vision_flags = BLIND
|
||||
flash_protect = 2
|
||||
tint = 3 //to make them blind
|
||||
prescription_upgradable = 0
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/blindfold/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if(istype(O, /obj/item/clothing/glasses/regular))
|
||||
user << "You doubt you can make a blindfold actually IMPROVE vision."
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/prescription
|
||||
name = "prescription sunglasses"
|
||||
prescription = 1
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/prescription/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if (user.stat || user.restrained() || !ishuman(user))
|
||||
return
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(istype(O, /obj/item/clothing/glasses/regular))
|
||||
H <<"You can't possibly imagine how adding more lenses would improve \the [src.name]."
|
||||
return
|
||||
if(istype(O, /obj/item/weapon/screwdriver))
|
||||
H.unEquip(src)
|
||||
var/obj/item/clothing/glasses/sunglasses/S = new /obj/item/clothing/glasses/sunglasses(get_turf(H))
|
||||
var/obj/item/clothing/glasses/regular/R = new /obj/item/clothing/glasses/regular(get_turf(H))
|
||||
H << "You salvage the prescription lenses from \the [src.name]."
|
||||
H.put_in_hands(S)
|
||||
H.put_in_hands(R)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/big
|
||||
desc = "Strangely ancient technology used to help provide rudimentary eye cover. Larger than average enhanced shielding blocks many flashes."
|
||||
@@ -338,51 +287,14 @@
|
||||
flash_protect = 1
|
||||
tint = 1
|
||||
HUDType = SECHUD
|
||||
prescription_upgradable = 1
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/sechud/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if (user.stat || user.restrained() || !ishuman(user))
|
||||
return
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(istype(O, /obj/item/clothing/glasses/regular))
|
||||
H.unEquip(src)
|
||||
H.unEquip(O)
|
||||
var/obj/item/clothing/glasses/sunglasses/sechud/prescription/P = new /obj/item/clothing/glasses/sunglasses/sechud/prescription(get_turf(H))
|
||||
H << "You fit \the [src.name] with lenses from \the [O.name]."
|
||||
H.put_in_hands(P)
|
||||
qdel(O)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/sechud/prescription
|
||||
name = "prescription HUDSunglasses"
|
||||
prescription = 1
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/sechud/prescription/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if (user.stat || user.restrained() || !ishuman(user))
|
||||
return
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(istype(O, /obj/item/clothing/glasses/regular))
|
||||
H <<"You can't possibly imagine how adding more lenses would improve \the [src.name]."
|
||||
return
|
||||
if(istype(O, /obj/item/weapon/screwdriver))
|
||||
H.unEquip(src)
|
||||
var/obj/item/clothing/glasses/sunglasses/sechud/S = new /obj/item/clothing/glasses/sunglasses/sechud(get_turf(H))
|
||||
var/obj/item/clothing/glasses/regular/R = new /obj/item/clothing/glasses/regular(get_turf(H))
|
||||
H << "You salvage the prescription lenses from \the [src.name]."
|
||||
H.put_in_hands(S)
|
||||
H.put_in_hands(R)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/glasses/thermal
|
||||
name = "Optical Thermal Scanner"
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
flags = null //doesn't protect eyes because it's a monocle, duh
|
||||
origin_tech = "magnets=3;biotech=2"
|
||||
HUDType = SECHUD
|
||||
prescription_upgradable = 1
|
||||
var/list/icon/current = list() //the current hud icons
|
||||
|
||||
|
||||
@@ -27,6 +28,7 @@
|
||||
item_state = "glasses"
|
||||
darkness_view = 8
|
||||
see_darkness = 0
|
||||
prescription_upgradable = 0
|
||||
|
||||
|
||||
/obj/item/clothing/glasses/hud/security
|
||||
@@ -50,3 +52,4 @@
|
||||
icon_state = "securityhudnight"
|
||||
darkness_view = 8
|
||||
see_darkness = 0
|
||||
prescription_upgradable = 0
|
||||
|
||||
@@ -107,6 +107,13 @@
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
icon_state = "norah_briggs_1"
|
||||
|
||||
/obj/item/clothing/head/bearpelt/fluff/polar //Gibson1027: Sploosh
|
||||
name = "polar bear pelt hat"
|
||||
desc = "Fuzzy, and also stained with blood."
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
icon_state = "polarbearpelt"
|
||||
item_state = "polarbearpelt"
|
||||
|
||||
//////////// Suits ////////////
|
||||
|
||||
/obj/item/clothing/suit/storage/labcoat/fluff/aeneas_rinil //Robotics Labcoat - Aeneas Rinil [APPR]
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
var/lastout = 0
|
||||
var/loaddemand = 0
|
||||
var/capacity = 5e6
|
||||
var/charge = 1e6
|
||||
var/charge = 0
|
||||
var/charging = 0
|
||||
var/chargemode = 0
|
||||
var/chargecount = 0
|
||||
@@ -470,6 +470,9 @@
|
||||
|
||||
|
||||
|
||||
/obj/machinery/power/smes/engineering
|
||||
charge = 1e6 // Engineering starts with some charge for singulo
|
||||
|
||||
/obj/machinery/power/smes/magical
|
||||
name = "magical power storage unit"
|
||||
desc = "A high-capacity superconducting magnetic energy storage (SMES) unit. Magically produces power."
|
||||
|
||||
@@ -127,32 +127,6 @@ datum
|
||||
if (!target.reagents || src.total_volume<=0)
|
||||
return
|
||||
|
||||
/*var/datum/reagents/R = target.reagents
|
||||
|
||||
var/obj/item/weapon/reagent_containers/glass/beaker/noreact/B = new /obj/item/weapon/reagent_containers/glass/beaker/noreact //temporary holder
|
||||
|
||||
amount = min(min(amount, src.total_volume), R.maximum_volume-R.total_volume)
|
||||
var/part = amount / src.total_volume
|
||||
var/trans_data = null
|
||||
for (var/datum/reagent/current_reagent in src.reagent_list)
|
||||
if (!current_reagent)
|
||||
continue
|
||||
//if (current_reagent.id == "blood" && ishuman(target))
|
||||
// var/mob/living/carbon/human/H = target
|
||||
// H.inject_blood(my_atom, amount)
|
||||
// continue
|
||||
var/current_reagent_transfer = current_reagent.volume * part
|
||||
if(preserve_data)
|
||||
trans_data = current_reagent.data
|
||||
|
||||
B.add_reagent(current_reagent.id, (current_reagent_transfer * multiplier), trans_data, safety = 1) //safety checks on these so all chemicals are transferred
|
||||
src.remove_reagent(current_reagent.id, current_reagent_transfer, safety = 1) // to the target container before handling reactions
|
||||
|
||||
src.update_total()
|
||||
B.update_total()
|
||||
B.handle_reactions()
|
||||
src.handle_reactions()*/
|
||||
|
||||
var/obj/item/weapon/reagent_containers/glass/beaker/noreact/B = new /obj/item/weapon/reagent_containers/glass/beaker/noreact //temporary holder
|
||||
B.volume = 1000
|
||||
|
||||
@@ -163,9 +137,13 @@ datum
|
||||
|
||||
src.trans_to(B, amount)
|
||||
|
||||
spawn(100)
|
||||
spawn(-1)
|
||||
src = null // Survive through deletion of the reagent holder
|
||||
sleep(100)
|
||||
if(!target)
|
||||
return
|
||||
BR.trans_to(target, BR.total_volume)
|
||||
del(B)
|
||||
qdel(B)
|
||||
|
||||
return amount
|
||||
|
||||
|
||||
@@ -234,6 +234,7 @@ datum
|
||||
reagent_state = LIQUID
|
||||
color = "#0064C8" // rgb: 0, 100, 200
|
||||
var/cooling_temperature = 2
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
|
||||
reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
|
||||
if(!istype(M, /mob/living))
|
||||
@@ -3238,4 +3239,4 @@ datum
|
||||
holder.reagent_list -= src
|
||||
holder = null
|
||||
|
||||
return ..()
|
||||
return ..()
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
M << "\blue You swallow some of contents of the [src]."
|
||||
if(reagents.total_volume)
|
||||
reagents.reaction(M, INGEST)
|
||||
spawn(5)
|
||||
spawn(0)
|
||||
reagents.trans_to_ingest(M, 10)
|
||||
|
||||
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
if(reagents.total_volume)
|
||||
reagents.reaction(M, INGEST)
|
||||
spawn(5)
|
||||
spawn(0)
|
||||
reagents.trans_to(M, 10)
|
||||
|
||||
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
M << "\blue You swallow a gulp of [src]."
|
||||
if(reagents.total_volume)
|
||||
reagents.reaction(M, INGEST)
|
||||
spawn(5)
|
||||
spawn(0)
|
||||
reagents.trans_to_ingest(M, gulp_size)
|
||||
|
||||
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
|
||||
@@ -65,7 +65,7 @@
|
||||
|
||||
if(reagents.total_volume)
|
||||
reagents.reaction(M, INGEST)
|
||||
spawn(5)
|
||||
spawn(0)
|
||||
reagents.trans_to_ingest(M, gulp_size)
|
||||
|
||||
if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
playsound(M.loc,'sound/items/eatfood.ogg', rand(10,50), 1)
|
||||
if(reagents.total_volume)
|
||||
reagents.reaction(M, INGEST)
|
||||
spawn(5)
|
||||
spawn(0)
|
||||
if(reagents.total_volume > bitesize)
|
||||
/*
|
||||
* I totally cannot understand what this code supposed to do.
|
||||
|
||||
@@ -21,12 +21,18 @@
|
||||
return
|
||||
attack(mob/M as mob, mob/user as mob, def_zone)
|
||||
if(M == user)
|
||||
M << "\blue You [apply_method] [src]."
|
||||
if(istype(M,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
H << "<span class='warning'>You have a monitor for a head, where do you think you're going to put that?</span>"
|
||||
return
|
||||
|
||||
M << "<span class='notify'>You [apply_method] [src].</span>"
|
||||
M.unEquip(src) //icon update
|
||||
if(reagents.total_volume)
|
||||
reagents.reaction(M, apply_type)
|
||||
spawn(5)
|
||||
reagents.trans_to(M, reagents.total_volume)
|
||||
spawn(0)
|
||||
reagents.trans_to_ingest(M, reagents.total_volume)
|
||||
qdel(src)
|
||||
else
|
||||
qdel(src)
|
||||
@@ -34,14 +40,19 @@
|
||||
|
||||
else if(istype(M, /mob/living/carbon/human) )
|
||||
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.species.flags & IS_SYNTHETIC)
|
||||
user << "<span class='warning'>They have a monitor for a head, where do you think you're going to put that?</span>"
|
||||
return
|
||||
|
||||
for(var/mob/O in viewers(world.view, user))
|
||||
O.show_message("\red [user] attempts to force [M] to [apply_method] [src].", 1)
|
||||
O.show_message("<span class='warning'>[user] attempts to force [M] to [apply_method] [src].</span>", 1)
|
||||
|
||||
if(!do_mob(user, M)) return
|
||||
|
||||
user.unEquip(src) //icon update
|
||||
for(var/mob/O in viewers(world.view, user))
|
||||
O.show_message("\red [user] forces [M] to [apply_method] [src].", 1)
|
||||
O.show_message("<span class='warning'>[user] forces [M] to [apply_method] [src].</span>", 1)
|
||||
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Fed [M.name] by [M.name] ([M.ckey]) Reagents: [reagentlist(src)]</font>")
|
||||
@@ -54,7 +65,7 @@
|
||||
|
||||
if(reagents.total_volume)
|
||||
reagents.reaction(M, apply_type)
|
||||
spawn(5)
|
||||
spawn(0)
|
||||
reagents.trans_to_ingest(M, reagents.total_volume)
|
||||
qdel(src)
|
||||
else
|
||||
@@ -69,7 +80,7 @@
|
||||
|
||||
if(target.is_open_container() != 0 && target.reagents)
|
||||
if(!target.reagents.total_volume)
|
||||
user << "\red [target] is empty. Cant dissolve [src]."
|
||||
user << "<span class='warning'>[target] is empty. Cant dissolve [src].</span>"
|
||||
return
|
||||
|
||||
// /vg/: Logging transfers of bad things
|
||||
@@ -83,10 +94,10 @@
|
||||
message_admins("[user.name] ([user.ckey]) added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
|
||||
log_game("[user.name] ([user.ckey]) added [reagents.get_reagent_ids(1)] to \a [target] with [src].")
|
||||
|
||||
user << "\blue You dissolve [src] in [target]"
|
||||
user << "<span class='notify'>You dissolve [src] in [target].</span>"
|
||||
reagents.trans_to(target, reagents.total_volume)
|
||||
for(var/mob/O in viewers(2, user))
|
||||
O.show_message("\red [user] puts something in [target].", 1)
|
||||
O.show_message("<span class='warning'>[user] puts something in [target].</span>", 1)
|
||||
spawn(5)
|
||||
qdel(src)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user