mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-25 04:57:47 +01:00
Added a mappable and admin spawnable set of beakers of each basic chemdispenser chemical that hold 1000 units and are the same functionally as 50 unit beakers. Please consult me if modding this to keep a proper format and organization.
DISCLAIMER: I make no guarantees that these will work without problems (or even crashing the server). There are several issues with machines due to sanity checks assuming only 100 units is the max a beaker can hold. These are for testing purposes. Use at your own risk. I plan to include every reagent in the game eventually as well as standard 50 unit beakers for non-testing use. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2817 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -0,0 +1,224 @@
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker
|
||||
name = "fullbeaker"
|
||||
desc = "A beaker with an exciting chrome finish. Its volume rating is 1000 units!"
|
||||
icon = 'chemical.dmi'
|
||||
icon_state = "beaker0"
|
||||
item_state = "beaker"
|
||||
volume = 1000
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5,10,15,25,30,50,100)
|
||||
flags = FPRINT | TABLEPASS | OPENCONTAINER
|
||||
|
||||
pickup(mob/user)
|
||||
on_reagent_change(user)
|
||||
|
||||
dropped(mob/user)
|
||||
on_reagent_change()
|
||||
|
||||
on_reagent_change(var/mob/user)
|
||||
/*
|
||||
if(reagents.total_volume)
|
||||
icon_state = "beaker1"
|
||||
else
|
||||
icon_state = "beaker0"
|
||||
*/
|
||||
overlays = null
|
||||
|
||||
if(reagents.total_volume)
|
||||
var/obj/effect/overlay = new/obj
|
||||
overlay.icon = 'beaker1.dmi'
|
||||
var/percent = round((reagents.total_volume / volume) * 100)
|
||||
switch(percent)
|
||||
if(0 to 9) overlay.icon_state = "-10"
|
||||
if(10 to 24) overlay.icon_state = "10"
|
||||
if(25 to 49) overlay.icon_state = "25"
|
||||
if(50 to 74) overlay.icon_state = "50"
|
||||
if(75 to 79) overlay.icon_state = "75"
|
||||
if(80 to 90) overlay.icon_state = "80"
|
||||
if(91 to 100) overlay.icon_state = "100"
|
||||
|
||||
var/list/rgbcolor = list(0,0,0)
|
||||
var/finalcolor
|
||||
for(var/datum/reagent/re in reagents.reagent_list) // natural color mixing bullshit/algorithm
|
||||
if(!finalcolor)
|
||||
rgbcolor = GetColors(re.color)
|
||||
finalcolor = re.color
|
||||
else
|
||||
var/newcolor[3]
|
||||
var/prergbcolor[3]
|
||||
prergbcolor = rgbcolor
|
||||
newcolor = GetColors(re.color)
|
||||
|
||||
rgbcolor[1] = (prergbcolor[1]+newcolor[1])/2
|
||||
rgbcolor[2] = (prergbcolor[2]+newcolor[2])/2
|
||||
rgbcolor[3] = (prergbcolor[3]+newcolor[3])/2
|
||||
|
||||
finalcolor = rgb(rgbcolor[1], rgbcolor[2], rgbcolor[3])
|
||||
// This isn't a perfect color mixing system, the more reagents that are inside,
|
||||
// the darker it gets until it becomes absolutely pitch black! I dunno, maybe
|
||||
// that's pretty realistic? I don't do a whole lot of color-mixing anyway.
|
||||
// If you add brighter colors to it it'll eventually get lighter, though.
|
||||
|
||||
overlay.icon += finalcolor
|
||||
if(user || !istype(src.loc, /turf))
|
||||
overlay.layer = 30
|
||||
overlays += overlay
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// Simple Chemicals
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/aluminum
|
||||
name = "ALUMINUM"
|
||||
icon = 'chemical.dmi'
|
||||
icon_state = "beaker0"
|
||||
item_state = "beaker"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("aluminum", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/carbon
|
||||
name = "CARBON"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("carbon", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/chlorine
|
||||
name = "CHLORINE"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("chlorine", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/copper
|
||||
name = "COPPER"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("copper", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/ethanol
|
||||
name = "ETHANOL"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("ethanol", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/fluorine
|
||||
name = "FLUORINE"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("fluorine", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/hydrogen
|
||||
name = "HYDROGEN"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("hydrogen", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/iron
|
||||
name = "IRON"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("iron", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/lithium
|
||||
name = "LITHIUM"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("lithium", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/mercury
|
||||
name = "MERCURY"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("mercury", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/nitrogen
|
||||
name = "NITROGEN"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nitrogen", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/oxygen
|
||||
name = "OXYGEN"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("oxygen", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/phosphorus
|
||||
name = "PHOSPHORUS"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("phosphorus", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/potassium
|
||||
name = "POTASSIUM"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("potassium", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/radium
|
||||
name = "RADIUM"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("radium", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/sodium
|
||||
name = "SODIUM"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sodium", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/sugar
|
||||
name = "SUGAR"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sugar", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/silicon
|
||||
name = "SILICON"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("silicon", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/sulfur
|
||||
name = "SULFUR"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sulfur", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/sulphuric_acid
|
||||
name = "SULPHURIC ACID"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("acid", 1000)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/fullbeaker/admin/water
|
||||
name = "WATER"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("water", 1000)
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// Simple Chemicals END
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
Reference in New Issue
Block a user