- 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:
tronaldnwn@hotmail.com
2011-04-26 00:00:56 +00:00
parent f95c0537c2
commit 4cfd1b7d12
19 changed files with 358 additions and 102 deletions
+9
View File
@@ -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"
+17 -21
View File
@@ -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!"
+7 -4
View File
@@ -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
+46 -46
View File
@@ -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"
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+6 -6
View File
@@ -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"
+27 -1
View File
@@ -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..."
+104
View File
@@ -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"
+39 -22
View File
@@ -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
+1
View File
@@ -5,6 +5,7 @@
rmetal
glass
rglass
wood planks
floor tiles
metal rods
*/
+14
View File
@@ -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 ..()
+57
View File
@@ -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

+1
View File
@@ -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"