mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 12:37:26 +01:00
- Attempted to straiten up some clothing dms
- Finally got the NASA Jump suit to be spess worthy. Admins please don't spawn a billion of these. - Jumpsuits can now be used as spess suits if you add the flag "SUITSPACE" - Tower Caps are in the Hydro seed vending machine again, and you can get logs from them! - Sec's vending machine has 12 donuts by default, and can spit out 2 boxes of donuts if hacked. - Logs can to be sawed with a circular saw, makes two planks each. Otherwise can be used to get more seeds. - Planks can be formed into wooden objects, currently just wooden tables and wooden barricades. - Wooden barricades, they can be made from 5 planks. They cannot be moved once built. You can repair with more planks, and destroy them by bashing it (giving a few planks). - Wooden tables now deconstruct into wooden table parts (no more transmutation of wood to metal). - Plant scanner now lists water and nutriment level. - Ammonia, nutriment, and diethylamine are VERY good for plant nutrient. Other types of chemicals have been altered to be more effective. Sugar causes everything to grow, weeds and pests, and plants. Cryodone is very good to save plants from poison and death, water gives a 1:1 ratio for injection, soda water is very good for plants, nutriment now works on plants (it is a fertilizer), and radium properly kills your plants slightly. - Moved the wooden log to harvest DMI - Added some related semi place holder sprites for wooden tables, wooden planks, and wooden barricades git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1502 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -1023,6 +1023,15 @@
|
||||
max_amount = 50
|
||||
var/perunit = 3750
|
||||
|
||||
/obj/item/stack/sheet/wood
|
||||
name = "Wood Planks"
|
||||
singular_name = "wood plank"
|
||||
icon_state = "sheet-wood"
|
||||
force = 5.0
|
||||
throwforce = 5
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
|
||||
/obj/item/stack/sheet/glass
|
||||
name = "glass"
|
||||
singular_name = "glass sheet"
|
||||
|
||||
@@ -24,17 +24,6 @@
|
||||
mob.Blend(earbit, ICON_OVERLAY)
|
||||
mob2.Blend(earbit2, ICON_OVERLAY)
|
||||
|
||||
/obj/item/clothing/under/blackskirt
|
||||
name = "Black skirt"
|
||||
desc = "A black skirt, very fancy!"
|
||||
icon_state = "blackskirt"
|
||||
color = "blackskirt"
|
||||
|
||||
/obj/item/clothing/shoes/red
|
||||
name = "red shoes"
|
||||
icon_state = "red"
|
||||
|
||||
|
||||
/obj/item/clothing/head/helmet/space/santahat
|
||||
name = "Santa's hat"
|
||||
icon_state = "santahat"
|
||||
@@ -45,8 +34,11 @@
|
||||
icon_state = "santa"
|
||||
item_state = "santa"
|
||||
slowdown = 1
|
||||
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
|
||||
flags = FPRINT | TABLEPASS | ONESIZEFITSALL | SUITSPACE
|
||||
|
||||
/obj/item/clothing/shoes/red
|
||||
name = "red shoes"
|
||||
icon_state = "red"
|
||||
|
||||
/obj/item/clothing/mask/owl_mask
|
||||
name = "Owl mask"
|
||||
@@ -82,7 +74,6 @@
|
||||
flags = FPRINT | TABLEPASS | CONDUCT
|
||||
fire_resist = T0C+5200
|
||||
|
||||
|
||||
/*/obj/item/clothing/under/nazi1
|
||||
name = "Nazi uniform"
|
||||
desc = "SIEG HEIL!"
|
||||
@@ -128,7 +119,6 @@
|
||||
icon_state = "yay"
|
||||
color = "yay"*/ // no sprite --errorage
|
||||
|
||||
|
||||
// UNUSED COLORS
|
||||
|
||||
/obj/item/clothing/under/psyche
|
||||
@@ -252,6 +242,19 @@
|
||||
item_state = "r_suit"
|
||||
color = "red_suit"
|
||||
|
||||
/obj/item/clothing/under/blackskirt
|
||||
name = "Black skirt"
|
||||
desc = "A black skirt, very fancy!"
|
||||
icon_state = "blackskirt"
|
||||
color = "blackskirt"
|
||||
|
||||
/obj/item/clothing/under/schoolgirl
|
||||
name = "schoolgirl uniform"
|
||||
desc = "It's just like one of my Japanese animes!"
|
||||
icon_state = "schoolgirl"
|
||||
item_state = "schoolgirl"
|
||||
color = "schoolgirl"
|
||||
|
||||
/obj/item/clothing/under/gimmick/rank/police
|
||||
name = "Police Uniform"
|
||||
desc = "Move along, nothing to see here."
|
||||
@@ -319,13 +322,6 @@
|
||||
icon_state = "bandana"
|
||||
item_state = "bandana"
|
||||
|
||||
/obj/item/clothing/under/schoolgirl
|
||||
name = "schoolgirl uniform"
|
||||
desc = "It's just like one of my Japanese animes!"
|
||||
icon_state = "schoolgirl"
|
||||
item_state = "schoolgirl"
|
||||
color = "schoolgirl"
|
||||
|
||||
/obj/item/clothing/under/soviet
|
||||
name = "soviet uniform"
|
||||
desc = "For the Motherland!"
|
||||
|
||||
@@ -370,10 +370,13 @@
|
||||
name = "NASA Jumpsuit"
|
||||
icon_state = "black"
|
||||
item_state = "bl_suit"
|
||||
desc = "Has a NASA logo on it, looks space worthy."
|
||||
gas_transfer_coefficient = 0.01
|
||||
color = "black"
|
||||
desc = "Has a NASA logo on it, made of space proofed materials."
|
||||
w_class = 4//bulky item
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
gas_transfer_coefficient = 0.01
|
||||
permeability_coefficient = 0.02
|
||||
heat_transfer_coefficient = 0.02
|
||||
radiation_protection = 0.25
|
||||
protective_temperature = 1000
|
||||
heat_transfer_coefficient = 0.02
|
||||
flags = FPRINT | TABLEPASS | SUITSPACE
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
@@ -5,6 +5,47 @@
|
||||
icon = 'masks.dmi'
|
||||
body_parts_covered = HEAD
|
||||
|
||||
|
||||
/obj/item/clothing/mask/breath
|
||||
desc = "A close-fitting mask that can be connected to an air supply but does not work very well in hard vacuum."
|
||||
name = "Breath Mask"
|
||||
icon_state = "breath"
|
||||
item_state = "breath"
|
||||
flags = FPRINT | TABLEPASS | SUITSPACE | HEADSPACE | MASKCOVERSMOUTH
|
||||
w_class = 2
|
||||
protective_temperature = 420
|
||||
heat_transfer_coefficient = 0.90
|
||||
gas_transfer_coefficient = 0.10
|
||||
permeability_coefficient = 0.50
|
||||
|
||||
/obj/item/clothing/mask/medical
|
||||
desc = "This mask does not work very well in low pressure environments."
|
||||
name = "Medical Mask"
|
||||
icon_state = "medical"
|
||||
item_state = "medical"
|
||||
flags = FPRINT|TABLEPASS|SUITSPACE|HEADSPACE|MASKCOVERSMOUTH
|
||||
w_class = 3
|
||||
protective_temperature = 420
|
||||
gas_transfer_coefficient = 0.10
|
||||
permeability_coefficient = 0.10
|
||||
|
||||
/obj/item/clothing/mask/muzzle
|
||||
name = "muzzle"
|
||||
icon_state = "muzzle"
|
||||
item_state = "muzzle"
|
||||
flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH
|
||||
w_class = 2
|
||||
gas_transfer_coefficient = 0.90
|
||||
|
||||
/obj/item/clothing/mask/surgical
|
||||
name = "Sterile Mask"
|
||||
icon_state = "sterile"
|
||||
item_state = "sterile"
|
||||
w_class = 1
|
||||
flags = FPRINT|TABLEPASS|HEADSPACE|MASKCOVERSMOUTH
|
||||
gas_transfer_coefficient = 0.90
|
||||
permeability_coefficient = 0.05
|
||||
|
||||
/obj/item/clothing/mask/gas
|
||||
name = "gas mask"
|
||||
desc = "A close-fitting mask that can filter some environmental toxins or be connected to an air supply."
|
||||
@@ -49,52 +90,16 @@
|
||||
item_state = "s-ninja_mask"
|
||||
vchange = 1
|
||||
|
||||
/obj/item/clothing/mask/breath
|
||||
desc = "A close-fitting mask that can be connected to an air supply but does not work very well in hard vacuum."
|
||||
name = "Breath Mask"
|
||||
icon_state = "breath"
|
||||
item_state = "breath"
|
||||
flags = FPRINT | TABLEPASS | SUITSPACE | HEADSPACE | MASKCOVERSMOUTH
|
||||
w_class = 2
|
||||
protective_temperature = 420
|
||||
heat_transfer_coefficient = 0.90
|
||||
gas_transfer_coefficient = 0.10
|
||||
permeability_coefficient = 0.50
|
||||
|
||||
/obj/item/clothing/mask/gas/clown_hat
|
||||
name = "clown wig and mask"
|
||||
desc = "You're gay for even considering wearing this."
|
||||
icon_state = "clown"
|
||||
item_state = "clown_hat"
|
||||
|
||||
/obj/item/clothing/mask/medical
|
||||
desc = "This mask does not work very well in low pressure environments."
|
||||
name = "Medical Mask"
|
||||
icon_state = "medical"
|
||||
item_state = "medical"
|
||||
flags = FPRINT|TABLEPASS|SUITSPACE|HEADSPACE|MASKCOVERSMOUTH
|
||||
w_class = 3
|
||||
protective_temperature = 420
|
||||
gas_transfer_coefficient = 0.10
|
||||
permeability_coefficient = 0.10
|
||||
|
||||
/obj/item/clothing/mask/muzzle
|
||||
name = "muzzle"
|
||||
icon_state = "muzzle"
|
||||
item_state = "muzzle"
|
||||
flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH
|
||||
w_class = 2
|
||||
gas_transfer_coefficient = 0.90
|
||||
|
||||
/obj/item/clothing/mask/surgical
|
||||
name = "Sterile Mask"
|
||||
icon_state = "sterile"
|
||||
item_state = "sterile"
|
||||
w_class = 1
|
||||
flags = FPRINT|TABLEPASS|HEADSPACE|MASKCOVERSMOUTH
|
||||
gas_transfer_coefficient = 0.90
|
||||
permeability_coefficient = 0.05
|
||||
|
||||
/obj/item/clothing/mask/gas/mime
|
||||
name = "mime mask"
|
||||
desc = "It looks a little creepy"
|
||||
icon_state = "mime"
|
||||
|
||||
/obj/item/clothing/mask/cigarette
|
||||
name = "Cigarette"
|
||||
@@ -126,9 +131,4 @@
|
||||
icon_state = "cigaroff"
|
||||
icon_on = "cigaron"
|
||||
icon_off = "cigaroff"
|
||||
icon_butt = "cigarbutt"
|
||||
|
||||
/obj/item/clothing/mask/gas/mime
|
||||
name = "mime mask"
|
||||
desc = "It looks a little creepy"
|
||||
icon_state = "mime"
|
||||
icon_butt = "cigarbutt"
|
||||
@@ -222,8 +222,8 @@
|
||||
heat_transfer_coefficient = 0.02
|
||||
radiation_protection = 0.25
|
||||
protective_temperature = 1000
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
flags = FPRINT | TABLEPASS | SUITSPACE
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
|
||||
slowdown = 1.5
|
||||
|
||||
|
||||
@@ -302,7 +302,7 @@
|
||||
mypath = "/obj/item/seeds/towermycelium"
|
||||
species = "towercap"
|
||||
plantname = "Tower Cap"
|
||||
productname = "" // Doesn't exist yet
|
||||
productname = "/obj/item/weapon/grown/log"
|
||||
lifespan = 80
|
||||
endurance = 50
|
||||
maturation = 15
|
||||
|
||||
@@ -107,11 +107,11 @@
|
||||
icon_state = "sec"
|
||||
icon_deny = "sec-deny"
|
||||
req_access_txt = "1"
|
||||
product_paths = "/obj/item/weapon/handcuffs;/obj/item/weapon/flashbang;/obj/item/device/flash"
|
||||
product_amounts = "8;2;5"
|
||||
product_paths = "/obj/item/weapon/handcuffs;/obj/item/weapon/flashbang;/obj/item/device/flash;/obj/item/weapon/reagent_containers/food/snacks/donut"
|
||||
product_amounts = "8;2;5;12"
|
||||
//product_amounts = "8;5;4" Old totals
|
||||
product_hidden = "/obj/item/clothing/glasses/sunglasses;/obj/item/weapon/reagent_containers/food/snacks/donut"
|
||||
product_hideamt = "2;12"
|
||||
product_hidden = "/obj/item/clothing/glasses/sunglasses;/obj/item/kitchen/donut_box"
|
||||
product_hideamt = "2;2"
|
||||
|
||||
/obj/machinery/vending/hydronutrients
|
||||
name = "NutriMax"
|
||||
@@ -128,8 +128,8 @@
|
||||
name = "MegaSeed Servitor"
|
||||
desc = "When you need seeds fast!"
|
||||
icon_state = "seeds"
|
||||
product_paths = "/obj/item/seeds/cornseed;/obj/item/seeds/chiliseed;/obj/item/seeds/berryseed;/obj/item/seeds/eggplantseed;/obj/item/seeds/tomatoseed;/obj/item/seeds/wheatseed;/obj/item/seeds/soyaseed;/obj/item/seeds/carrotseed;/obj/item/seeds/potatoseed;/obj/item/seeds/chantermycelium"
|
||||
product_amounts = "2;2;2;2;2;2;2;2;2;2"
|
||||
product_paths = "/obj/item/seeds/cornseed;/obj/item/seeds/chiliseed;/obj/item/seeds/berryseed;/obj/item/seeds/eggplantseed;/obj/item/seeds/tomatoseed;/obj/item/seeds/wheatseed;/obj/item/seeds/soyaseed;/obj/item/seeds/carrotseed;/obj/item/seeds/potatoseed;/obj/item/seeds/chantermycelium;/obj/item/seeds/towermycelium"
|
||||
product_amounts = "2;2;2;2;2;2;2;2;2;2;2"
|
||||
product_slogans = "THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!;Hands down the best seed selection on the station!;Also certain mushroom varieties available, more for experts! Get certified today!"
|
||||
product_hidden = "/obj/item/seeds/amanitamycelium;/obj/item/seeds/libertymycelium;/obj/item/seeds/nettleseed;/obj/item/seeds/plumpmycelium"
|
||||
product_hideamt = "2;2;2;2"
|
||||
|
||||
@@ -1277,12 +1277,16 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
|
||||
flags = FPRINT | TABLEPASS| CONDUCT
|
||||
|
||||
/obj/item/weapon/table_parts/reinforced
|
||||
name = "table parts"
|
||||
name = "reinforced table parts"
|
||||
icon = 'items.dmi'
|
||||
icon_state = "reinf_tableparts"
|
||||
m_amt = 7500
|
||||
flags = FPRINT | TABLEPASS| CONDUCT
|
||||
|
||||
/obj/item/weapon/table_parts/wood
|
||||
name = "wooden table parts"
|
||||
icon_state = "wood_tableparts"
|
||||
|
||||
/obj/item/weapon/tank
|
||||
name = "tank"
|
||||
icon = 'tank.dmi'
|
||||
@@ -1797,6 +1801,28 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
|
||||
reagents = R
|
||||
R.my_atom = src
|
||||
|
||||
/obj/item/weapon/grown/log
|
||||
desc = "This is a log grown from a tower cap mushroom."
|
||||
icon = 'harvest.dmi'
|
||||
name = "Tower Cap Log"
|
||||
icon_state = "logs"
|
||||
force = 5
|
||||
flags = TABLEPASS
|
||||
throwforce = 5
|
||||
w_class = 3.0
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
plant_type = 2
|
||||
origin_tech = "materials=1"
|
||||
seed = "/obj/item/seeds/towermycelium"
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/circular_saw))
|
||||
W.visible_message(" \red <B>You make planks out of the [src]! </B>", 1)
|
||||
for(var/i=0,i<2,i++)
|
||||
new /obj/item/stack/sheet/wood (src.loc)
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/item/weapon/grown/nettle // -- Skie
|
||||
desc = "This is a nettle. It's probably <B>not</B> wise to touch it with bare hands..."
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
/*
|
||||
CONTAINS:
|
||||
|
||||
Deployable items
|
||||
Barricades
|
||||
|
||||
for reference:
|
||||
|
||||
@@ -50,6 +53,107 @@ for reference:
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//Barricades, maybe there will be a metal one later...
|
||||
/obj/barricade/wooden
|
||||
name = "wooden barricade"
|
||||
desc = "This space is blocked off by a wooden barricade."
|
||||
icon = 'structures.dmi'
|
||||
icon_state = "woodenbarricade"
|
||||
anchored = 1.0
|
||||
density = 1.0
|
||||
var/health = 100.0
|
||||
var/maxhealth = 100.0
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (istype(W, /obj/item/stack/sheet/wood))
|
||||
if (src.health < src.maxhealth)
|
||||
for(var/mob/O in viewers(src, null))
|
||||
O << "\red [user] begins to repair the [src]!"
|
||||
if(do_after(user,20))
|
||||
src.health = src.maxhealth
|
||||
W:use(1)
|
||||
for(var/mob/O in viewers(src, null))
|
||||
O << "\red [user] repairs the [src]!"
|
||||
return
|
||||
else
|
||||
return
|
||||
return
|
||||
else
|
||||
switch(W.damtype)
|
||||
if("fire")
|
||||
src.health -= W.force * 1
|
||||
if("brute")
|
||||
src.health -= W.force * 0.75
|
||||
else
|
||||
if (src.health <= 0)
|
||||
for(var/mob/O in viewers(src, null))
|
||||
O << "\red <B>The barricade is smashed appart!</B>"
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
del(src)
|
||||
..()
|
||||
|
||||
ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
for(var/mob/O in viewers(src, null))
|
||||
O << "\red <B>The barricade is blown appart!</B>"
|
||||
del(src)
|
||||
return
|
||||
if(2.0)
|
||||
src.health -= 25
|
||||
if (src.health <= 0)
|
||||
for(var/mob/O in viewers(src, null))
|
||||
O << "\red <B>The barricade is blown appart!</B>"
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
del(src)
|
||||
return
|
||||
|
||||
meteorhit()
|
||||
for(var/mob/O in viewers(src, null))
|
||||
O << "\red <B>The barricade is smashed appart!</B>"
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
del(src)
|
||||
return
|
||||
|
||||
blob_act()
|
||||
src.health -= 25
|
||||
if (src.health <= 0)
|
||||
for(var/mob/O in viewers(src, null))
|
||||
O << "\red <B>The blob eats through the barricade!</B>"
|
||||
del(src)
|
||||
return
|
||||
|
||||
CanPass(atom/movable/mover, turf/target, height=0, air_group=0)//So bullets will fly over and stuff.
|
||||
if(air_group || (height==0))
|
||||
return 1
|
||||
if (mover.flags & 2)
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
/* bullet_act(flag, A as obj)
|
||||
switch(flag)
|
||||
if (PROJECTILE_BULLET)
|
||||
src.health -= 20
|
||||
if (PROJECTILE_WEAKBULLET) //Detective's revolver fires marshmallows
|
||||
src.health -= 2
|
||||
if (PROJECTILE_LASER)
|
||||
src.health -= 20
|
||||
if (PROJECTILE_PULSE)
|
||||
src.health -=50
|
||||
if (src.health <= 0)
|
||||
src.explode()
|
||||
These should not block bullets/N */
|
||||
|
||||
//Actual Deployable machinery stuff
|
||||
|
||||
/obj/machinery/depolyable
|
||||
name = "deployable"
|
||||
desc = "deployable"
|
||||
|
||||
@@ -419,25 +419,23 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
// Antitoxin binds shit pretty well. So the tox goes significantly down
|
||||
|
||||
if(S.reagents.has_reagent("anti_toxin", 1))
|
||||
src.toxic -= round(S.reagents.get_reagent_amount("anti_toxin")*1.25)
|
||||
src.toxic -= round(S.reagents.get_reagent_amount("anti_toxin")*2)
|
||||
|
||||
// NIGGA, YOU JUST WENT ON FULL RETARD.
|
||||
|
||||
if(S.reagents.has_reagent("toxin", 1))
|
||||
src.toxic += round(S.reagents.get_reagent_amount("toxin")*2.5)
|
||||
|
||||
// Milk contains some sugars as well as water. Makes for shitty nutrient, but hey
|
||||
src.toxic += round(S.reagents.get_reagent_amount("toxin")*2)
|
||||
|
||||
// Milk is good for humans, but bad for plants. The sugars canot be used by ploants, and the milk fat fuck up growth. Not shrooms though. I can't deal with this now...
|
||||
if(S.reagents.has_reagent("milk", 1))
|
||||
src.health += round(S.reagents.get_reagent_amount("milk")*0.1)
|
||||
src.nutrilevel += round(S.reagents.get_reagent_amount("milk")*0.04)
|
||||
src.waterlevel += round(S.reagents.get_reagent_amount("milk")*0.8)
|
||||
src.nutrilevel += round(S.reagents.get_reagent_amount("milk")*0.1)
|
||||
src.waterlevel += round(S.reagents.get_reagent_amount("milk")*0.9)
|
||||
|
||||
// Beer is a chemical composition of alcohol and various other things. It's a shitty nutrient but hey, it's still one. Also alcohol is bad, mmmkay?
|
||||
|
||||
if(S.reagents.has_reagent("beer", 1))
|
||||
src.health -= round(S.reagents.get_reagent_amount("beer")*0.05)
|
||||
src.nutrilevel += round(S.reagents.get_reagent_amount("beer")*0.04)
|
||||
src.nutrilevel += round(S.reagents.get_reagent_amount("beer")*0.25)
|
||||
src.waterlevel += round(S.reagents.get_reagent_amount("beer")*0.7)
|
||||
|
||||
// You're an idiot of thinking that one of the most corrosive and deadly gasses would be beneficial
|
||||
@@ -460,19 +458,26 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
|
||||
if(S.reagents.has_reagent("phosphorus", 1))
|
||||
src.health -= round(S.reagents.get_reagent_amount("phosphorus")*0.75)
|
||||
src.nutrilevel += round(S.reagents.get_reagent_amount("phosphorus")*0.08)
|
||||
src.nutrilevel += round(S.reagents.get_reagent_amount("phosphorus")*0.1)
|
||||
src.waterlevel -= round(S.reagents.get_reagent_amount("phosphorus")*0.5)
|
||||
src.weedlevel -= rand(1,2)
|
||||
|
||||
// Eh whatever. It shouldn't be possible, but still
|
||||
// Plants should not have sugar, they can't use it and it prevents them getting water/ nutients, it is good for mold though...
|
||||
|
||||
if(S.reagents.has_reagent("sugar", 1))
|
||||
src.nutrilevel += round(S.reagents.get_reagent_amount("sugar")*0.09)
|
||||
|
||||
|
||||
src.weedlevel += rand(1,2)
|
||||
src.pestlevel += rand(1,2)
|
||||
src.nutrilevel+= round(S.reagents.get_reagent_amount("sugar")*0.1)
|
||||
|
||||
// It is water!
|
||||
if(S.reagents.has_reagent("water", 1))
|
||||
src.waterlevel += round(S.reagents.get_reagent_amount("water")*0.5)
|
||||
src.waterlevel += round(S.reagents.get_reagent_amount("water")*1)
|
||||
|
||||
// A variety of nutrients are dissolved in club soda, without sugar. These nutrients include carbon, oxygen, hydrogen, phosphorous, potassium, sulfur and sodium, all of which are needed for healthy plant growth.
|
||||
if(S.reagents.has_reagent("sodawater", 1))
|
||||
src.waterlevel += round(S.reagents.get_reagent_amount("sodawater")*1)
|
||||
src.health += round(S.reagents.get_reagent_amount("sodawater")*0.1)
|
||||
src.nutrilevel += round(S.reagents.get_reagent_amount("sodawater")*0.1)
|
||||
|
||||
// Man, you guys are retards
|
||||
|
||||
@@ -498,25 +503,33 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
// Healing
|
||||
|
||||
if(S.reagents.has_reagent("cryoxadone", 1))
|
||||
src.health += round(S.reagents.get_reagent_amount("cryoxadone")*0.5)
|
||||
src.health += round(S.reagents.get_reagent_amount("cryoxadone")*3)
|
||||
src.toxic -= round(S.reagents.get_reagent_amount("cryoxadone")*3)
|
||||
|
||||
// FINALLY IMPLEMENTED
|
||||
// FINALLY IMPLEMENTED, Ammonia is bad ass.
|
||||
|
||||
if(S.reagents.has_reagent("ammonia", 1))
|
||||
src.health += round(S.reagents.get_reagent_amount("ammonia")*0.1)
|
||||
src.nutrilevel += round(S.reagents.get_reagent_amount("ammonia")*0.05)
|
||||
src.health += round(S.reagents.get_reagent_amount("ammonia")*0.5)
|
||||
src.nutrilevel += round(S.reagents.get_reagent_amount("ammonia")*1)
|
||||
|
||||
// FINALLY IMPLEMENTED
|
||||
// FINALLY IMPLEMENTED, This is more bad ass, and pest get hurt by the crossive nature of it, not the plant
|
||||
|
||||
if(S.reagents.has_reagent("diethylamine", 1))
|
||||
src.health += round(S.reagents.get_reagent_amount("diethylamine")*0.2)
|
||||
src.nutrilevel += round(S.reagents.get_reagent_amount("diethylamine")*0.1)
|
||||
src.health += round(S.reagents.get_reagent_amount("diethylamine")*1)
|
||||
src.nutrilevel += round(S.reagents.get_reagent_amount("diethylamine")*2)
|
||||
src.pestlevel -= rand(1,2)
|
||||
|
||||
// Compost, effectively
|
||||
|
||||
if(S.reagents.has_reagent("nutriment", 1))
|
||||
src.health += round(S.reagents.get_reagent_amount("nutriment")*0.5)
|
||||
src.nutrilevel += round(S.reagents.get_reagent_amount("nutriment")*1)
|
||||
|
||||
// Poor man's mutagen.
|
||||
|
||||
if(S.reagents.has_reagent("radium", 1))
|
||||
src.health -= round(S.reagents.get_reagent_amount("radium")*1.5)
|
||||
src.toxic -= round(S.reagents.get_reagent_amount("radium")*2)
|
||||
src.toxic += round(S.reagents.get_reagent_amount("radium")*2)
|
||||
if(S.reagents.has_reagent("radium", 10))
|
||||
switch(rand(100))
|
||||
if (91 to 100) src.plantdies()
|
||||
@@ -579,12 +592,16 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
user << "-Weed level: \blue [src.weedlevel]/10"
|
||||
user << "-Pest level: \blue [src.pestlevel]/10"
|
||||
user << "-Toxicity level: \blue [src.toxic]/100"
|
||||
user << "-Water level: \blue [src.waterlevel]/100"
|
||||
user << "-Nutrition level: \blue [src.nutrilevel]/100"
|
||||
user << ""
|
||||
else
|
||||
user << "<B>No plant found.</B>"
|
||||
user << "-Weed level: \blue [src.weedlevel]/10"
|
||||
user << "-Pest level: \blue [src.pestlevel]/10"
|
||||
user << "-Toxicity level: \blue [src.toxic]/100"
|
||||
user << "-Water level: \blue [src.waterlevel]/100"
|
||||
user << "-Nutrition level: \blue [src.nutrilevel]/100"
|
||||
user << ""
|
||||
|
||||
else if (istype(O, /obj/item/weapon/plantbgone))
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
CONTAINS:
|
||||
TABLE PARTS
|
||||
REINFORCED TABLE PARTS
|
||||
WOODEN TABLE PARTS
|
||||
RACK PARTS
|
||||
*/
|
||||
|
||||
@@ -35,7 +36,32 @@ RACK PARTS
|
||||
del(src)
|
||||
return
|
||||
|
||||
// WOODEN TABLE PARTS
|
||||
/obj/item/weapon/table_parts/wood/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
new /obj/item/stack/sheet/wood( src.loc )
|
||||
//SN src = null
|
||||
del(src)
|
||||
|
||||
/obj/item/weapon/table_parts/wood/attack_self(mob/user as mob)
|
||||
var/state = input(user, "What type of table?", "Assembling Table", null) in list( "sides", "corners", "alone" )
|
||||
var/direct = SOUTH
|
||||
var/i_state
|
||||
if(state == "alone")
|
||||
i_state = "woodtable"
|
||||
else if (state == "corners")
|
||||
direct = input(user, "Direction?", "Assembling Table", null) in list( "NORTHWEST", "NORTHEAST", "SOUTHWEST", "SOUTHEAST" )
|
||||
i_state = "woodentable"
|
||||
else if (state == "sides")
|
||||
direct = input(user, "Direction?", "Assembling Table", null) in list( "NORTH", "EAST", "SOUTH", "WEST" )
|
||||
i_state = "woodentable"
|
||||
var/obj/table/T = new /obj/table/woodentable( user.loc )
|
||||
T.icon_state = i_state
|
||||
T.dir = text2dir(direct)
|
||||
T.add_fingerprint(user)
|
||||
del(src)
|
||||
return
|
||||
|
||||
|
||||
// REINFORCED TABLE PARTS
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
rmetal
|
||||
glass
|
||||
rglass
|
||||
wood planks
|
||||
floor tiles
|
||||
metal rods
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
CONTAINS:
|
||||
WOOD PLANKS
|
||||
*/
|
||||
|
||||
var/global/list/datum/stack_recipe/wood_recipes = list ( \
|
||||
new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts/wood, 2), \
|
||||
new/datum/stack_recipe("wooden barricade", /obj/barricade/wooden, 5, time = 30, one_per_turf = 1, on_floor = 1),\
|
||||
)
|
||||
|
||||
/obj/item/stack/sheet/wood
|
||||
New(var/loc, var/amount=null)
|
||||
recipes = wood_recipes
|
||||
return ..()
|
||||
@@ -1,3 +1,10 @@
|
||||
/*
|
||||
CONTAINS:
|
||||
TABLE AND RACK OBJECT INTERATIONS
|
||||
*/
|
||||
|
||||
|
||||
//TABLE
|
||||
/obj/table/ex_act(severity)
|
||||
|
||||
switch(severity)
|
||||
@@ -35,6 +42,8 @@
|
||||
O << text("\red [] smashes the table apart!", usr)
|
||||
if(istype(src, /obj/table/reinforced))
|
||||
new /obj/item/weapon/table_parts/reinforced( src.loc )
|
||||
else if(istype(src, /obj/table/woodentable))
|
||||
new/obj/item/weapon/table_parts/wood( src.loc )
|
||||
else
|
||||
new /obj/item/weapon/table_parts( src.loc )
|
||||
src.density = 0
|
||||
@@ -56,6 +65,8 @@
|
||||
O << text("\red [] slices the table apart!", user)
|
||||
if(istype(src, /obj/table/reinforced))
|
||||
new /obj/item/weapon/table_parts/reinforced( src.loc )
|
||||
else if(istype(src, /obj/table/woodentable))
|
||||
new/obj/item/weapon/table_parts/wood( src.loc )
|
||||
else
|
||||
new /obj/item/weapon/table_parts( src.loc )
|
||||
src.density = 0
|
||||
@@ -70,6 +81,8 @@
|
||||
O << text("\red [] smashes the table apart!", usr)
|
||||
if(istype(src, /obj/table/reinforced))
|
||||
new /obj/item/weapon/table_parts/reinforced( src.loc )
|
||||
else if(istype(src, /obj/table/woodentable))
|
||||
new/obj/item/weapon/table_parts/wood( src.loc )
|
||||
else
|
||||
new /obj/item/weapon/table_parts( src.loc )
|
||||
src.density = 0
|
||||
@@ -141,6 +154,48 @@
|
||||
if(W && W.loc) W.loc = src.loc
|
||||
return
|
||||
|
||||
//WOODEN TABLES
|
||||
/obj/table/woodentable/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
if (istype(W, /obj/item/weapon/grab))
|
||||
var/obj/item/weapon/grab/G = W
|
||||
if(G.state<2)
|
||||
user << "\red You need a better grip to do that!"
|
||||
return
|
||||
G.affecting.loc = src.loc
|
||||
G.affecting.weakened = 5
|
||||
for(var/mob/O in viewers(world.view, src))
|
||||
if (O.client)
|
||||
O << text("\red [] puts [] on the wooden table.", G.assailant, G.affecting)
|
||||
del(W)
|
||||
return
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
user << "\blue Now disassembling the wooden table"
|
||||
playsound(src.loc, 'Ratchet.ogg', 50, 1)
|
||||
sleep(50)
|
||||
new /obj/item/weapon/table_parts/wood( src.loc )
|
||||
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
||||
del(src)
|
||||
return
|
||||
if(isrobot(user))
|
||||
return
|
||||
if(istype(W, /obj/item/weapon/blade))
|
||||
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
|
||||
spark_system.set_up(5, 0, src.loc)
|
||||
spark_system.start()
|
||||
playsound(src.loc, 'blade1.ogg', 50, 1)
|
||||
playsound(src.loc, "sparks", 50, 1)
|
||||
for(var/mob/O in viewers(user, 4))
|
||||
O.show_message(text("\blue The wooden table was sliced apart by []!", user), 1, text("\red You hear wood coming apart."), 2)
|
||||
new /obj/item/weapon/table_parts/wood( src.loc )
|
||||
del(src)
|
||||
return
|
||||
|
||||
user.drop_item()
|
||||
if(W && W.loc) W.loc = src.loc
|
||||
return
|
||||
|
||||
//REINFORCED TABLES
|
||||
/obj/table/reinforced/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
if (istype(W, /obj/item/weapon/grab))
|
||||
@@ -209,6 +264,8 @@
|
||||
if(W && W.loc) W.loc = src.loc
|
||||
return
|
||||
|
||||
//RACKS
|
||||
|
||||
/obj/rack/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
|
||||
@@ -526,6 +526,8 @@
|
||||
thermal_protection += 0.2
|
||||
if(wear_suit && (wear_suit.flags & SUITSPACE))
|
||||
thermal_protection += 3
|
||||
if(w_uniform && (w_uniform.flags & SUITSPACE))
|
||||
thermal_protection += 3
|
||||
if(head && (head.flags & HEADSPACE))
|
||||
thermal_protection += 1
|
||||
if(src.mutations & 2)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
@@ -571,6 +571,7 @@
|
||||
#include "code\game\objects\stacks\glass.dm"
|
||||
#include "code\game\objects\stacks\metal.dm"
|
||||
#include "code\game\objects\stacks\stack.dm"
|
||||
#include "code\game\objects\stacks\wood.dm"
|
||||
#include "code\game\objects\storage\backpack.dm"
|
||||
#include "code\game\objects\storage\bible.dm"
|
||||
#include "code\game\objects\storage\briefcase.dm"
|
||||
|
||||
Reference in New Issue
Block a user