Merge github.com:Baystation12/Baystation12

This commit is contained in:
cib
2012-05-09 16:21:50 +02:00
194 changed files with 7005 additions and 5411 deletions
+5
View File
@@ -14,6 +14,11 @@
//END Admin Things
//Key auth things
// authenticate = 0
// var/authenticated = 0
// var/authenticating = 0
var/listen_ooc = 1
var/move_delay = 1
var/moving = null
-2
View File
@@ -151,9 +151,7 @@ var
shuttlecoming = 0
join_motd = null
auth_motd = null
rules = null
no_auth_motd = null
forceblob = 0
custom_event_msg = null
+1 -7
View File
@@ -383,7 +383,6 @@
opacity = 0
density = 0
/obj/hud
name = "hud"
unacidable = 1
@@ -400,9 +399,8 @@
var/obj/screen/g_dither = null
var/obj/screen/blurry = null
var/list/darkMask = null
var/obj/screen/station_explosion = null
var/h_type = /obj/screen
var/h_type = /obj/screen //this is like...the most pointless thing ever. Use a god damn define!
/obj/item
name = "item"
@@ -418,10 +416,6 @@
var/burning = null
var/hitsound = null
var/w_class = 3.0
var/wielded = 0 // 1 if item is two handed and grabbed with two hands
var/twohanded = 0 // Two handed and wielded off by default, nyoro~n -Agouri
var/force_unwielded = 0
var/force_wielded = 0
var/protective_temperature = 0 // Placing this here to avoid runtime errors, due to tiny items being allowed on ears and being queried for this variable
flags = FPRINT | TABLEPASS
pass_flags = PASSTABLE
+13 -4
View File
@@ -63,10 +63,19 @@
var/datum/disease2/disease/virus2 = null
var/OriginalMob = null
Del()
for(var/datum/disease/D in viruses)
D.cure(0)
..()
/obj/effect/decal/cleanable/blood/Del()
for(var/datum/disease/D in viruses)
D.cure(0)
..()
/obj/effect/decal/cleanable/blood/New()
..()
if(istype(src, /obj/effect/decal/cleanable/blood/gibs))
return
if(src.loc && isturf(src.loc))
for(var/obj/effect/decal/cleanable/blood/B in src.loc)
if(B != src)
del(B)
/obj/effect/decal/cleanable/blood/drip
name = "drips of blood"
+115 -42
View File
@@ -278,6 +278,23 @@
plant_type = 0
growthstages = 6
/obj/item/seeds/bluespacetomatoseed
name = "pack of blue-space tomato seeds"
desc = "These seeds grow into blue-space tomato plants."
icon_state = "seed-bluespacetomato"
mypath = "/obj/item/seeds/bluespacetomatoseed"
species = "bluespacetomato"
plantname = "Blue-Space Tomato Plants"
productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacetomato"
lifespan = 25
endurance = 15
maturation = 8
production = 6
yield = 2
potency = 10
plant_type = 0
growthstages = 6
/obj/item/seeds/cornseed
name = "pack of corn seeds"
desc = "I don't mean to sound corny..."
@@ -400,7 +417,7 @@
potency = 10
oneharvest = 1
plant_type = 0
growthstages = 5
growthstages = 3
/obj/item/seeds/amanitamycelium
name = "pack of fly amanita mycelium"
@@ -1143,46 +1160,6 @@
reagents.add_reagent("coco", 4+round((potency / 5), 1))
bitesize = 1+round(reagents.total_volume / 2, 1)
//This object is just a transition object. All it does is make a grass tile and delete itself.
/obj/item/weapon/reagent_containers/food/snacks/grown/grass
seed = "/obj/item/seeds/grassseed"
name = "grass"
desc = "Green and lush."
icon_state = "spawner"
potency = 20
New()
new/obj/item/stack/tile/grass(src.loc)
spawn(5) //Workaround to keep harvesting from working weirdly.
del(src)
//This object is just a transition object. All it does is make dosh and delete itself. -Cheridan
/obj/item/weapon/reagent_containers/food/snacks/grown/money
seed = "/obj/item/seeds/cashseed"
name = "dosh"
desc = "Green and lush."
icon_state = "spawner"
potency = 10
New()
switch(rand(1,100))//(potency) //It wants to use the default potency instead of the new, so it was always 10. Will try to come back to this later - Cheridan
if(0 to 10)
new/obj/item/weapon/spacecash/(src.loc)
if(11 to 20)
new/obj/item/weapon/spacecash/c10(src.loc)
if(21 to 30)
new/obj/item/weapon/spacecash/c20(src.loc)
if(31 to 40)
new/obj/item/weapon/spacecash/c50(src.loc)
if(41 to 50)
new/obj/item/weapon/spacecash/c100(src.loc)
if(51 to 60)
new/obj/item/weapon/spacecash/c200(src.loc)
if(61 to 80)
new/obj/item/weapon/spacecash/c500(src.loc)
else
new/obj/item/weapon/spacecash/c1000(src.loc)
spawn(5) //Workaround to keep harvesting from working weirdly.
del(src)
/obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane
seed = "/obj/item/seeds/sugarcaneseed"
name = "sugarcane"
@@ -1707,7 +1684,7 @@
seed = "/obj/item/seeds/towermycelium"
attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || (istype(W, /obj/item/weapon/fireaxe) && W:wielded) || istype(W, /obj/item/weapon/melee/energy))
if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || (istype(W, /obj/item/weapon/twohanded/fireaxe) && W:wielded) || istype(W, /obj/item/weapon/melee/energy))
user.show_message("<span class='notice'>You make planks out of the [src]!</span>", 1)
for(var/i=0,i<2,i++)
new /obj/item/stack/sheet/wood (src.loc)
@@ -1985,3 +1962,99 @@
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
// *************************************
// Complex Grown Object Defines -
// Putting these at the bottom so they don't clutter the list up. -Cheridan
// *************************************
//This object is just a transition object. All it does is make a grass tile and delete itself.
/obj/item/weapon/reagent_containers/food/snacks/grown/grass
seed = "/obj/item/seeds/grassseed"
name = "grass"
desc = "Green and lush."
icon_state = "spawner"
potency = 20
New()
new/obj/item/stack/tile/grass(src.loc)
spawn(5) //Workaround to keep harvesting from working weirdly.
del(src)
//This object is just a transition object. All it does is make dosh and delete itself. -Cheridan
/obj/item/weapon/reagent_containers/food/snacks/grown/money
seed = "/obj/item/seeds/cashseed"
name = "dosh"
desc = "Green and lush."
icon_state = "spawner"
potency = 10
New()
switch(rand(1,100))//(potency) //It wants to use the default potency instead of the new, so it was always 10. Will try to come back to this later - Cheridan
if(0 to 10)
new/obj/item/weapon/spacecash/(src.loc)
if(11 to 20)
new/obj/item/weapon/spacecash/c10(src.loc)
if(21 to 30)
new/obj/item/weapon/spacecash/c20(src.loc)
if(31 to 40)
new/obj/item/weapon/spacecash/c50(src.loc)
if(41 to 50)
new/obj/item/weapon/spacecash/c100(src.loc)
if(51 to 60)
new/obj/item/weapon/spacecash/c200(src.loc)
if(61 to 80)
new/obj/item/weapon/spacecash/c500(src.loc)
else
new/obj/item/weapon/spacecash/c1000(src.loc)
spawn(5) //Workaround to keep harvesting from working weirdly.
del(src)
/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacetomato
seed = "/obj/item/seeds/bluespacetomatoseed"
name = "blue-space tomato"
desc = "So lubricated, you might slip through space-time."
icon_state = "bluespacetomato"
potency = 10
origin_tech = "bluespace=3"
New()
..()
reagents.add_reagent("nutriment", 1+round((potency / 20), 1))
reagents.add_reagent("singulo", 1+round((potency / 5), 1))
bitesize = 1+round(reagents.total_volume / 2, 1)
throw_impact(atom/hit_atom)
..()
var/mob/M = usr
var/outer_teleport_radius = potency/10 //Plant potency determines radius of teleport.
var/inner_teleport_radius = potency/15
var/list/turfs = new/list()
for(var/turf/T in orange(M,outer_teleport_radius))
if(T in orange(M,inner_teleport_radius)) continue
if(istype(T,/turf/space)) continue
if(T.density) continue
if(T.x>world.maxx-outer_teleport_radius || T.x<outer_teleport_radius) continue
if(T.y>world.maxy-outer_teleport_radius || T.y<outer_teleport_radius) continue
turfs += T
if(!turfs.len)
var/list/turfs_to_pick_from = list()
for(var/turf/T in orange(M,outer_teleport_radius))
if(!(T in orange(M,inner_teleport_radius)))
turfs_to_pick_from += T
turfs += pick(/turf in turfs_to_pick_from)
var/turf/picked = pick(turfs)
if(!isturf(picked)) return
switch(rand(1,2))//Allows for easy addition of more bluespace weirdness.
if(1) // Teleports the person who threw the tomato.
new/obj/effect/effect/sparks(M.loc)
new/obj/effect/decal/ash(M.loc) //Leaves a pile of ash behind for dramatic effect.
M.loc = picked
new/obj/effect/effect/sparks(M.loc) //Two set of sparks, one before the teleport and one after.
if(2) //Teleports mob the tomato hit instead.
for(var/mob/A in get_turf(hit_atom))
new/obj/effect/effect/sparks(A.loc)
new/obj/effect/decal/ash(A.loc)
A.loc = picked
new/obj/effect/effect/sparks(A.loc)
src.visible_message("<span class='notice'>The [src.name] has been squashed, causing a distortion in space-time.</span>","<span class='moderate'>You hear a smack.</span>")
del(src)
return
+3 -2
View File
@@ -113,6 +113,7 @@
idle_power_usage = 2
active_power_usage = 6
power_channel = ENVIRON
var/network
New()
if(z == 1)
@@ -339,7 +340,7 @@
layer = 2.6 // a bit above wires
/obj/machinery/power/generator
name = "thermoelectric generator"
name = "thermoelectric generator mark I"
desc = "It's a high efficiency thermoelectric generator."
icon_state = "teg"
anchored = 1
@@ -352,7 +353,7 @@
var/lastgenlev = -1
/obj/machinery/power/generator_type2
name = "thermoelectric generator"
name = "thermoelectric generator mark II"
desc = "It's a high efficiency thermoelectric generator."
icon_state = "teg"
anchored = 1
+2 -2
View File
@@ -332,7 +332,7 @@
/obj/item/weapon/storage/flashbang_kit
name = "flashbangs (WARNING)"
desc = "<FONT color=red><B>WARNING: Do not use without reading these preautions!</B></FONT>\n<B>These devices are extremely dangerous and can cause blindness or deafness if used incorrectly.</B>\nThe chemicals contained in these devices have been tuned for maximal effectiveness and due to\nextreme safety precuaiotn shave been incased in a tamper-proof pack. DO NOT ATTEMPT TO OPEN\nFLASH WARNING: Do not use continually. Excercise extreme care when detonating in closed spaces.\n\tMake attemtps not to detonate withing range of 2 meters of the intended target. It is imperative\n\tthat the targets visit a medical professional after usage. Damage to eyes increases extremely per\n\tuse and according to range. Glasses with flash resistant filters DO NOT always work on high powered\n\tflash devices such as this. <B>EXERCISE CAUTION REGARDLESS OF CIRCUMSTANCES</B>\nSOUND WARNING: Do not use continually. Visit a medical professional if hearing is lost.\n\tThere is a slight chance per use of complete deafness. Exercise caution and restraint.\nSTUN WARNING: If the intended or unintended target is too close to detonation the resulting sound\n\tand flash have been known to cause extreme sensory overload resulting in temporary\n\tincapacitation.\n<B>DO NOT USE CONTINUALLY</B>\nOperating Directions:\n\t1. Pull detonnation pin. <B>ONCE THE PIN IS PULLED THE GRENADE CAN NOT BE DISARMED!</B>\n\t2. Throw grenade. <B>NEVER HOLD A LIVE FLASHBANG</B>\n\t3. The grenade will detonste 10 seconds hafter being primed. <B>EXCERCISE CAUTION</B>\n\t-<B>Never prime another grenade until after the first is detonated</B>\nNote: Usage of this pyrotechnic device without authorization is an extreme offense and can\nresult in severe punishment upwards of <B>10 years in prison per use</B>.\n\nDefault 3 second wait till from prime to detonation. This can be switched with a screwdriver\nto 10 seconds.\n\nCopyright of Nanotrasen Industries- Military Armnaments Division\nThis device was created by Nanotrasen Labs a member of the Expert Advisor Corporation"
desc = ""
icon_state = "flashbang"
item_state = "syringe_kit"
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
@@ -601,7 +601,7 @@
/obj/item/stack/sheet/plasma,
/obj/item/stack/sheet/uranium,
/obj/item/stack/sheet/diamond,
/obj/item/stack/sheet/clown,
// /obj/item/stack/sheet/clown,
/obj/item/stack/sheet/plasteel,
/obj/item/stack/rods
+20 -3
View File
@@ -1,6 +1,7 @@
//SUPPLY PACKS
//NOTE: only secure crate types use the access var (and are lockable)
//NOTE: hidden packs only show up when the computer has been hacked.
//ANOTER NOTE: Contraband is obtainable through modified supplycomp circuitboards.
//BIG NOTE: Don't add living things to crates, that's bad, it will break the shuttle.
/datum/supply_packs/specialops
name = "Special Ops supplies"
@@ -389,7 +390,8 @@
"/obj/item/seeds/carrotseed",
"/obj/item/seeds/sunflowerseed",
"/obj/item/seeds/chantermycelium",
"/obj/item/seeds/potatoseed")
"/obj/item/seeds/potatoseed",
"/obj/item/seeds/sugarcaneseed")
cost = 10
containertype = /obj/structure/closet/crate/hydroponics
containername = "Seeds crate"
@@ -711,8 +713,8 @@
name = "Ballistic gear crate"
contains = list("/obj/item/clothing/suit/armor/bulletproof",
"/obj/item/clothing/suit/armor/bulletproof",
"/obj/item/weapon/gun/projectile/shotgun/combat2",
"/obj/item/weapon/gun/projectile/shotgun/combat2")
"/obj/item/weapon/gun/projectile/shotgun/pump/combat",
"/obj/item/weapon/gun/projectile/shotgun/pump/combat")
cost = 50
containertype = "/obj/structure/closet/crate/secure"
containername = "Ballistic gear crate"
@@ -793,5 +795,20 @@
..()
/datum/supply_packs/contraband
contains = list("/obj/item/weapon/contraband/poster",) //We randomly pick 5 items from this list through the constructor, look below
name = "Contraband Crate"
cost = 30
containertype = "/obj/structure/closet/crate/contraband"
containername = "Contraband crate"
group = "ERROR"
contraband = 1
/datum/supply_packs/contraband/New()
var/list/tempContains = list()
for(var/i = 0,i<5,i++)
tempContains += pick(contains)
src.contains = tempContains
..()
//SUPPLY PACKS
+62
View File
@@ -4,6 +4,68 @@
throw_range = 20
force = 0
/////////Toy Mechs/////////
/obj/item/toy/prize
icon = 'toy.dmi'
icon_state = "ripleytoy"
/obj/item/toy/prize/ripley
name = "toy ripley"
desc = "Mini-Mecha action figure! Collect them all! 1/11"
/obj/item/toy/prize/fireripley
name = "toy firefighting ripley"
desc = "Mini-Mecha action figure! Collect them all! 2/11"
icon_state = "fireripleytoy"
/obj/item/toy/prize/deathripley
name = "toy deathsquad ripley"
desc = "Mini-Mecha action figure! Collect them all! 3/11"
icon_state = "deathripleytoy"
/obj/item/toy/prize/gygax
name = "toy gygax"
desc = "Mini-Mecha action figure! Collect them all! 4/11"
icon_state = "gygaxtoy"
/obj/item/toy/prize/durand
name = "toy gygax"
desc = "Mini-Mecha action figure! Collect them all! 5/11"
icon_state = "durandprize"
/obj/item/toy/prize/honk
name = "toy H.O.N.K."
desc = "Mini-Mecha action figure! Collect them all! 6/11"
icon_state = "honkprize"
/obj/item/toy/prize/marauder
name = "toy marauder"
desc = "Mini-Mecha action figure! Collect them all! 7/11"
icon_state = "marauderprize"
/obj/item/toy/prize/seraph
name = "toy seraph"
desc = "Mini-Mecha action figure! Collect them all! 8/11"
icon_state = "seraphprize"
/obj/item/toy/prize/mauler
name = "toy mauler"
desc = "Mini-Mecha action figure! Collect them all! 9/11"
icon_state = "maulerprize"
/obj/item/toy/prize/odysseus
name = "toy odysseus"
desc = "Mini-Mecha action figure! Collect them all! 10/11"
icon_state = "odysseusprize"
/obj/item/toy/prize/phazon
name = "toy phazon"
desc = "Mini-Mecha action figure! Collect them all! 11/11"
icon_state = "phazonprize"
/obj/item/toy/syndicateballoon
name = "syndicate balloon"
desc = "There is a tag on the back that reads \"FUK NT!11!\"."
+19 -1
View File
@@ -92,6 +92,7 @@
hidden_prices = "2;5"
points = 15
product_ads = "Only the finest!;Have some tools.;The most robust equipment.;The finest gear in space!"
charge_type = "engineering"
/obj/machinery/vending/coffee
name = "Hot Drinks machine"
@@ -306,9 +307,26 @@
product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola"
// product_hideamt = "20"
hidden_prices = "1"
product_ads = "What the fuck is this shit?;Why would you buy this;holy shit help;i'm stuck;in;a;universe;factory;AAAAAARGH!;HEIL... Stalin?;CAPITALIST PIGS;FUCK THE WEST"
product_ads = "For Tsar and Country.;Have you fulfilled your nutrition quota today?;Very nice!;We are simple people, for this is all we eat.;If there is a person, there is a problem. If there is no person, then there is no problem."
charge_type = "soda"
/obj/machinery/vending/tool
name = "YouTool"
desc = "Tools for tools."
icon_state = "tool"
icon_deny = "tool-deny"
req_access_txt = "12" //Maintenance access
product_paths = "/obj/item/weapon/cable_coil/random;/obj/item/weapon/crowbar;/obj/item/weapon/weldingtool;/obj/item/weapon/wirecutters;/obj/item/weapon/wrench;/obj/item/device/analyzer;/obj/item/device/t_scanner"
// product_amounts = "10;5;3;5;5;5;5"
product_prices = "1;2;3;2;2;2;2"
product_prices = "1"
product_hidden = "/obj/item/weapon/weldingtool/largetank;/obj/item/device/multitool"
// product_hideamt = "2;2"
hidden_prices = "4;4"
product_coin = "/obj/item/clothing/gloves/yellow"
product_coin_amt = "1"
charge_type = "engineering"
/obj/machinery/vending/genetics
name = "Genetics Dispenser"
desc = "Medical drug dispenser."
+1 -18
View File
@@ -2,12 +2,6 @@
name = "weapon"
icon = 'weapons.dmi'
/obj/item/weapon/offhand
name = "offhand"
var/linked_weapon_name = ""
w_class = 5.0
icon_state = "offhand"
/obj/item/weapon/shield
name = "shield"
@@ -645,7 +639,7 @@
w_class = 2.0
throw_speed = 3
throw_range = 10
flags = ONBELT
flags = FPRINT | TABLEPASS | ONBELT
/obj/item/weapon/clipboard/notebook
name = "notebook"
@@ -711,17 +705,6 @@
icon = 'items.dmi'
icon_state = "red_crowbar"
/obj/item/weapon/fireaxe // DEM AXES MAN, marker -Agouri
icon_state = "fireaxe0"
name = "fire axe"
desc = "A tool for breaking down those obstructions that stop you from fighting that fire." //Less ROBUST. --SkyMarshal
force = 5
w_class = 4.0
flags = ONBACK
twohanded = 1
force_unwielded = 5
force_wielded = 18
/obj/item/weapon/cane
name = "cane"
desc = "A cane used by a true gentlemen."
+9
View File
@@ -117,6 +117,15 @@
var/walltype = "wall"
/turf/simulated/wall/heatshield
thermal_conductivity = 0
opacity = 0
name = "Heat Shielding"
icon = 'thermal.dmi'
icon_state = "thermal"
heat_capacity = 625000 //twice the cap of a normal wall
walltype = "heatshield"
/turf/simulated/wall/cult
name = "wall"
desc = "The patterns engraved on the wall seem to shift as you try to focus on them. You feel sick"