Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into STILLALOTOFBLOOD

This commit is contained in:
Aurorablade
2015-06-30 20:40:16 -04:00
20 changed files with 343 additions and 206 deletions
+41 -129
View File
@@ -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"
+3
View File
@@ -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
+7
View File
@@ -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]
+4 -1
View File
@@ -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."
+6 -28
View File
@@ -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
+2 -1
View File
@@ -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)