Merge branch 'master' of github.com:Baystation12/Baystation12

This commit is contained in:
Miniature
2012-06-20 20:28:06 +09:30
110 changed files with 4587 additions and 3162 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
/obj/item/device/assembly/infra
name = "Infrared Beam"
@@ -129,7 +129,7 @@
Topic(href, href_list)
..()
if(get_dist(src, usr) > 1)
if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr))
usr << browse(null, "window=infra")
onclose(usr, "infra")
return
+2 -3
View File
@@ -1,4 +1,4 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
/obj/item/device/assembly/prox_sensor
name = "proximity sensor"
@@ -100,7 +100,6 @@
M.c_state(0)
if(holder)
holder.update_icon()
return
@@ -127,7 +126,7 @@
Topic(href, href_list)
..()
if(get_dist(src, usr) > 1)
if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr))
usr << browse(null, "window=prox")
onclose(usr, "prox")
return
+4 -4
View File
@@ -1,4 +1,4 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
/obj/item/device/assembly/signaler
name = "Remote Signaling Device"
@@ -77,9 +77,9 @@
Topic(href, href_list)
..()
if(get_dist(src, usr) > 1)
usr << browse(null, "window=signal")
onclose(usr, "signal")
if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr))
usr << browse(null, "window=radio")
onclose(usr, "radio")
return
if (href_list["freq"])
+2 -2
View File
@@ -1,4 +1,4 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
/obj/item/device/assembly/timer
name = "timer"
@@ -93,7 +93,7 @@
Topic(href, href_list)
..()
if(get_dist(src, usr) > 1)
if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr))
usr << browse(null, "window=timer")
onclose(usr, "timer")
return
@@ -9,6 +9,7 @@
icon = 'chemical.dmi'
icon_state = "dispenser"
use_power = 1
idle_power_usage = 40
var/energy = 25
var/max_energy = 75
var/amount = 30
@@ -168,6 +169,8 @@
anchored = 1
icon = 'chemical.dmi'
icon_state = "mixer0"
use_power = 1
idle_power_usage = 20
var/beaker = null
var/mode = 0
var/condi = 0
+3 -3
View File
@@ -860,7 +860,7 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.radiation += 3
M.apply_effect(10,IRRADIATE,0)
// radium may increase your chances to cure a disease
if(istype(M,/mob/living/carbon)) // make sure to only use it on carbon mobs
@@ -943,7 +943,7 @@ datum
if(isrobot(M) || isAI(M)) return // Mutagen doesn't do anything to robutts!
if(!M) M = holder.my_atom
if(prob(33))
M.radiation += 1
M.apply_effect(10,IRRADIATE,0)
..()
return
@@ -1026,7 +1026,7 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.radiation += 1
M.apply_effect(3,IRRADIATE,0)
..()
return
+6
View File
@@ -128,9 +128,15 @@
new /obj/item/clothing/mask/spiderman(src.loc)
del(src)*/
/*
/obj/effect/landmark/costume/marisawizard/New()
new /obj/item/clothing/head/wizard/marisa(src.loc)
new/obj/item/clothing/suit/wizrobe/marisa(src.loc)
del(src)*/
/obj/effect/landmark/costume/marisawizard/fake/New()
new /obj/item/clothing/head/wizard/marisa/fake(src.loc)
new/obj/item/clothing/suit/wizrobe/marisa/fake(src.loc)
del(src)
/obj/effect/landmark/costume/fakewizard/New()
+274 -274
View File
@@ -1,275 +1,275 @@
// NO GLOVES NO LOVES
/obj/item/clothing/gloves
name = "gloves"
gender = PLURAL //Carn: for grammarically correct text-parsing
w_class = 2.0
icon = 'gloves.dmi'
protective_temperature = 400
heat_transfer_coefficient = 0.25
siemens_coefficient = 0.50
var/siemens_coefficient_archived = 0
var/wired = 0
var/obj/item/weapon/cell/cell = 0
body_parts_covered = HANDS
slot_flags = SLOT_GLOVES
/obj/item/clothing/gloves/boxing
name = "boxing gloves"
desc = "Because you really needed another excuse to punch your crewmates."
icon_state = "boxing"
item_state = "boxing"
/obj/item/clothing/gloves/boxing/green
icon_state = "boxinggreen"
item_state = "boxinggreen"
/obj/item/clothing/gloves/boxing/blue
icon_state = "boxingblue"
item_state = "boxingblue"
/obj/item/clothing/gloves/boxing/yellow
icon_state = "boxingyellow"
item_state = "boxingyellow"
/obj/item/clothing/gloves/white
name = "white gloves"
desc = "These look pretty fancy."
icon_state = "latex"
item_state = "lgloves"
color="mime"
redcoat
color = "redcoat" //Exists for washing machines. Is not different from white gloves in any way.
/obj/item/clothing/gloves/black
desc = "These gloves are fire-resistant."
name = "black gloves"
icon_state = "black"
item_state = "bgloves"
color="brown"
protective_temperature = 1500
heat_transfer_coefficient = 0.01
hos
color = "hosred" //Exists for washing machines. Is not different from black gloves in any way.
ce
color = "chief" //Exists for washing machines. Is not different from black gloves in any way.
/obj/item/clothing/gloves/detective
desc = "Made of well worn leather. These gloves are comfortable, useful, and stylish!"
name = "detective's gloves"
icon_state = "black"
item_state = "bgloves"
color="brown"
siemens_coefficient = 0.30
protective_temperature = 1100
/obj/item/clothing/gloves/hos
desc = "These gloves belong to the man in charge of the guns."
name = "head of security's gloves"
icon_state = "black"
item_state = "bgloves"
color="brown"
siemens_coefficient = 0.30
protective_temperature = 1100
/obj/item/clothing/gloves/cyborg
desc = "Beep. Boop. Beep."
name = "cyborg gloves"
icon_state = "black"
item_state = "r_hands"
siemens_coefficient = 1.0
/obj/item/clothing/gloves/latex
name = "latex gloves"
desc = "Sterile latex gloves."
icon_state = "latex"
item_state = "lgloves"
siemens_coefficient = 0.30
permeability_coefficient = 0.01
protective_temperature = 310
heat_transfer_coefficient = 0.90
color="white"
cmo
color = "medical" //Exists for washing machines. Is not different from latex gloves in any way.
/obj/item/clothing/gloves/swat
desc = "These tactical gloves are somewhat fire and impact-resistant."
name = "\improper SWAT gloves"
icon_state = "black"
item_state = "swat_gl"
siemens_coefficient = 0
permeability_coefficient = 0.05
protective_temperature = 1100
heat_transfer_coefficient = 0.01
/obj/item/clothing/gloves/combat //Combined effect of SWAT gloves and insulated gloves
desc = "These tactical gloves are somewhat fire and impact resistant."
name = "combat gloves"
icon_state = "black"
item_state = "swat_gl"
siemens_coefficient = 0
permeability_coefficient = 0.05
protective_temperature = 1100
heat_transfer_coefficient = 0.01
/obj/item/clothing/gloves/space_ninja
desc = "These nano-enhanced gloves insulate from electricity and provide fire resistance."
name = "ninja gloves"
icon_state = "s-ninja"
item_state = "s-ninja"
siemens_coefficient = 0
protective_temperature = 1100
heat_transfer_coefficient = 0.05
var/draining = 0
var/candrain = 0
var/mindrain = 200
var/maxdrain = 400
//BEEP BEEP IT'S THE COMMENT BRIGADE -Pete (gloves overhaul)
/*
/obj/item/clothing/gloves/stungloves/
name = "Stungloves"
desc = "These gloves are electrically charged."
icon_state = "yellow"
item_state = "ygloves"
siemens_coefficient = 0.30
elecgen = 1
uses = 10
*/
/obj/item/clothing/gloves/yellow
desc = "These gloves will protect the wearer from electric shock."
name = "insulated gloves"
icon_state = "yellow"
item_state = "ygloves"
siemens_coefficient = 0
permeability_coefficient = 0.05
protective_temperature = 1000
heat_transfer_coefficient = 0.01
color="yellow"
/obj/item/clothing/gloves/fyellow //Cheap Chinese Crap
desc = "These gloves are cheap copies of the coveted gloves, no way this can end badly."
name = "fake insulated gloves"
icon_state = "yellow"
item_state = "ygloves"
siemens_coefficient = 1 //Set to a default of 1, gets overridden in New()
permeability_coefficient = 0.05
protective_temperature = 800
heat_transfer_coefficient = null
color="yellow"
New()
siemens_coefficient = pick(0,0,0.25,0.25,0.5,0.5,1)
heat_transfer_coefficient = pick(0.01,0.1,0.25,0.25,0.5)
/obj/item/clothing/gloves/captain
desc = "Regal blue gloves, with a nice gold trim. Swanky."
name = "captain's gloves"
icon_state = "captain"
item_state = "egloves"
color = "captain"
/obj/item/clothing/gloves/botanic_leather
desc = "These leather gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin."
name = "botanist's leather gloves"
icon_state = "leather"
item_state = "ggloves"
permeability_coefficient = 0.9
/obj/item/clothing/gloves/orange
name = "orange gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "orange"
item_state = "orangegloves"
color="orange"
/obj/item/clothing/gloves/red
name = "red gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "red"
item_state = "redgloves"
color = "red"
siemens_coefficient = 0.30
protective_temperature = 1100
/obj/item/clothing/gloves/rainbow
name = "rainbow gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "rainbow"
item_state = "rainbowgloves"
color = "rainbow"
clown
color = "clown"
/obj/item/clothing/gloves/blue
name = "blue gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "blue"
item_state = "bluegloves"
color="blue"
/obj/item/clothing/gloves/purple
name = "purple gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "purple"
item_state = "purplegloves"
color="purple"
/obj/item/clothing/gloves/green
name = "green gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "green"
item_state = "greengloves"
color="green"
/obj/item/clothing/gloves/grey
name = "grey gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "gray"
item_state = "graygloves"
color="grey"
rd
color = "director" //Exists for washing machines. Is not different from gray gloves in any way.
hop
color = "hop" //Exists for washing machines. Is not different from gray gloves in any way.
/obj/item/clothing/gloves/light_brown
name = "light brown gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "lightbrown"
item_state = "lightbrowngloves"
color="light brown"
/obj/item/clothing/gloves/brown
name = "brown gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "brown"
item_state = "browngloves"
color="brown"
cargo
color = "cargo" //Exists for washing machines. Is not different from brown gloves in any way.
//Fingerless gloves
/obj/item/clothing/gloves/fingerless
name = "fingerless gloves"
desc = "A pair of gloves. They don't seem to have fingers."
icon_state = "fingerless_black"
item_state = "fingerless_black"
/obj/item/clothing/gloves/fingerless/black
name = "black fingerless gloves"
desc = "A pair of black gloves. They don't seem to have fingers."
icon_state = "fingerless_black"
item_state = "fingerless_black"
// NO GLOVES NO LOVES
/obj/item/clothing/gloves
name = "gloves"
gender = PLURAL //Carn: for grammarically correct text-parsing
w_class = 2.0
icon = 'gloves.dmi'
protective_temperature = 400
heat_transfer_coefficient = 0.25
siemens_coefficient = 0.50
var/siemens_coefficient_archived = 0
var/wired = 0
var/obj/item/weapon/cell/cell = 0
body_parts_covered = HANDS
slot_flags = SLOT_GLOVES
/obj/item/clothing/gloves/boxing
name = "boxing gloves"
desc = "Because you really needed another excuse to punch your crewmates."
icon_state = "boxing"
item_state = "boxing"
/obj/item/clothing/gloves/boxing/green
icon_state = "boxinggreen"
item_state = "boxinggreen"
/obj/item/clothing/gloves/boxing/blue
icon_state = "boxingblue"
item_state = "boxingblue"
/obj/item/clothing/gloves/boxing/yellow
icon_state = "boxingyellow"
item_state = "boxingyellow"
/obj/item/clothing/gloves/white
name = "white gloves"
desc = "These look pretty fancy."
icon_state = "latex"
item_state = "lgloves"
color="mime"
redcoat
color = "redcoat" //Exists for washing machines. Is not different from white gloves in any way.
/obj/item/clothing/gloves/black
desc = "These gloves are fire-resistant."
name = "black gloves"
icon_state = "black"
item_state = "bgloves"
color="brown"
protective_temperature = 1500
heat_transfer_coefficient = 0.01
hos
color = "hosred" //Exists for washing machines. Is not different from black gloves in any way.
ce
color = "chief" //Exists for washing machines. Is not different from black gloves in any way.
/obj/item/clothing/gloves/detective
desc = "Made of well worn leather. These gloves are comfortable, useful, and stylish!"
name = "detective's gloves"
icon_state = "black"
item_state = "bgloves"
color="brown"
siemens_coefficient = 0.30
protective_temperature = 1100
/obj/item/clothing/gloves/hos
desc = "These gloves belong to the man in charge of the guns."
name = "head of security's gloves"
icon_state = "black"
item_state = "bgloves"
color="brown"
siemens_coefficient = 0.30
protective_temperature = 1100
/obj/item/clothing/gloves/cyborg
desc = "Beep. Boop. Beep."
name = "cyborg gloves"
icon_state = "black"
item_state = "r_hands"
siemens_coefficient = 1.0
/obj/item/clothing/gloves/latex
name = "latex gloves"
desc = "Sterile latex gloves."
icon_state = "latex"
item_state = "lgloves"
siemens_coefficient = 0.30
permeability_coefficient = 0.01
protective_temperature = 310
heat_transfer_coefficient = 0.90
color="white"
cmo
color = "medical" //Exists for washing machines. Is not different from latex gloves in any way.
/obj/item/clothing/gloves/swat
desc = "These tactical gloves are somewhat fire and impact-resistant."
name = "\improper SWAT gloves"
icon_state = "black"
item_state = "swat_gl"
siemens_coefficient = 0
permeability_coefficient = 0.05
protective_temperature = 1100
heat_transfer_coefficient = 0.01
/obj/item/clothing/gloves/combat //Combined effect of SWAT gloves and insulated gloves
desc = "These tactical gloves are somewhat fire and impact resistant."
name = "combat gloves"
icon_state = "black"
item_state = "swat_gl"
siemens_coefficient = 0
permeability_coefficient = 0.05
protective_temperature = 1100
heat_transfer_coefficient = 0.01
/obj/item/clothing/gloves/space_ninja
desc = "These nano-enhanced gloves insulate from electricity and provide fire resistance."
name = "ninja gloves"
icon_state = "s-ninja"
item_state = "s-ninja"
siemens_coefficient = 0
protective_temperature = 1100
heat_transfer_coefficient = 0.05
var/draining = 0
var/candrain = 0
var/mindrain = 200
var/maxdrain = 400
//BEEP BEEP IT'S THE COMMENT BRIGADE -Pete (gloves overhaul)
/*
/obj/item/clothing/gloves/stungloves/
name = "Stungloves"
desc = "These gloves are electrically charged."
icon_state = "yellow"
item_state = "ygloves"
siemens_coefficient = 0.30
elecgen = 1
uses = 10
*/
/obj/item/clothing/gloves/yellow
desc = "These gloves will protect the wearer from electric shock."
name = "insulated gloves"
icon_state = "yellow"
item_state = "ygloves"
siemens_coefficient = 0
permeability_coefficient = 0.05
protective_temperature = 1000
heat_transfer_coefficient = 0.01
color="yellow"
/obj/item/clothing/gloves/fyellow //Cheap Chinese Crap
desc = "These gloves are cheap copies of the coveted gloves, no way this can end badly."
name = "fake insulated gloves"
icon_state = "yellow"
item_state = "ygloves"
siemens_coefficient = 1 //Set to a default of 1, gets overridden in New()
permeability_coefficient = 0.05
protective_temperature = 800
heat_transfer_coefficient = null
color="yellow"
New()
siemens_coefficient = pick(0,0,0.25,0.5,0.5,0.75,1.5)
heat_transfer_coefficient = pick(0.01,0.1,0.25,0.25,0.5)
/obj/item/clothing/gloves/captain
desc = "Regal blue gloves, with a nice gold trim. Swanky."
name = "captain's gloves"
icon_state = "captain"
item_state = "egloves"
color = "captain"
/obj/item/clothing/gloves/botanic_leather
desc = "These leather gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin."
name = "botanist's leather gloves"
icon_state = "leather"
item_state = "ggloves"
permeability_coefficient = 0.9
/obj/item/clothing/gloves/orange
name = "orange gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "orange"
item_state = "orangegloves"
color="orange"
/obj/item/clothing/gloves/red
name = "red gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "red"
item_state = "redgloves"
color = "red"
siemens_coefficient = 0.30
protective_temperature = 1100
/obj/item/clothing/gloves/rainbow
name = "rainbow gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "rainbow"
item_state = "rainbowgloves"
color = "rainbow"
clown
color = "clown"
/obj/item/clothing/gloves/blue
name = "blue gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "blue"
item_state = "bluegloves"
color="blue"
/obj/item/clothing/gloves/purple
name = "purple gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "purple"
item_state = "purplegloves"
color="purple"
/obj/item/clothing/gloves/green
name = "green gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "green"
item_state = "greengloves"
color="green"
/obj/item/clothing/gloves/grey
name = "grey gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "gray"
item_state = "graygloves"
color="grey"
rd
color = "director" //Exists for washing machines. Is not different from gray gloves in any way.
hop
color = "hop" //Exists for washing machines. Is not different from gray gloves in any way.
/obj/item/clothing/gloves/light_brown
name = "light brown gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "lightbrown"
item_state = "lightbrowngloves"
color="light brown"
/obj/item/clothing/gloves/brown
name = "brown gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "brown"
item_state = "browngloves"
color="brown"
cargo
color = "cargo" //Exists for washing machines. Is not different from brown gloves in any way.
//Fingerless gloves
/obj/item/clothing/gloves/fingerless
name = "fingerless gloves"
desc = "A pair of gloves. They don't seem to have fingers."
icon_state = "fingerless_black"
item_state = "fingerless_black"
/obj/item/clothing/gloves/fingerless/black
name = "black fingerless gloves"
desc = "A pair of black gloves. They don't seem to have fingers."
icon_state = "fingerless_black"
item_state = "fingerless_black"
color="black"
+13
View File
@@ -69,4 +69,17 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/head/wizard/marisa/fake
name = "Witch Hat"
desc = "Strange-looking hat-wear, makes you want to cast fireballs."
icon_state = "marisa"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/suit/wizrobe/marisa/fake
name = "Witch Robe"
desc = "Magic is all about the spell power, ZE!"
icon_state = "marisa"
item_state = "marisarobe"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+1 -1
View File
@@ -351,7 +351,7 @@
else
..(W,user)
if ((istype(W,/obj/item/weapon/pickaxe/diamonddrill)))
if ((istype(W,/obj/item/weapon/pickaxe/diamonddrill)) || (istype(W,/obj/item/weapon/pickaxe/borgdrill)))
var/turf/T = user.loc
if (!( istype(T, /turf) ))
return
+11 -2
View File
@@ -175,6 +175,7 @@
throw_speed = 3
throw_range = 3
origin_tech = "materials=4"
perunit = 2000
/obj/item/stack/sheet/gold/New(loc,amount)
..()
@@ -196,6 +197,7 @@
throw_speed = 3
throw_range = 3
origin_tech = "materials=3"
perunit = 2000
/obj/item/stack/sheet/silver/New(loc,amount)
..()
@@ -210,6 +212,7 @@
w_class = 3.0
throw_range = 3
origin_tech = "materials=6"
perunit = 3750
/obj/item/stack/sheet/diamond/New(loc,amount)
..()
@@ -217,7 +220,7 @@
pixel_y = rand(0,4)-4
/obj/item/stack/sheet/uranium
name = "Uranium block"
name = "uranium"
icon_state = "sheet-uranium"
force = 5.0
throwforce = 5
@@ -225,9 +228,10 @@
throw_speed = 3
throw_range = 3
origin_tech = "materials=5"
perunit = 2000
/obj/item/stack/sheet/enruranium
name = "Enriched Uranium block"
name = "enriched uranium"
icon_state = "sheet-enruranium"
force = 5.0
throwforce = 5
@@ -235,6 +239,7 @@
throw_speed = 3
throw_range = 3
origin_tech = "materials=5"
perunit = 1000
/obj/item/stack/sheet/plasma
name = "solid plasma"
@@ -245,6 +250,7 @@
throw_speed = 3
throw_range = 3
origin_tech = "plasmatech=2;materials=2"
perunit = 2000
/obj/item/stack/sheet/adamantine
name = "adamantine"
@@ -255,6 +261,7 @@
throw_speed = 3
throw_range = 3
origin_tech = "materials=4"
perunit = 2000
/obj/item/stack/sheet/mythril
name = "mythril"
@@ -265,6 +272,7 @@
throw_speed = 3
throw_range = 3
origin_tech = "materials=4"
perunit = 2000
/obj/item/stack/sheet/clown
name = "bananium"
@@ -275,6 +283,7 @@
throw_speed = 3
throw_range = 3
origin_tech = "materials=4"
perunit = 2000
/obj/item/stack/sheet/clown/New(loc,amount)
..()
+1 -1
View File
@@ -51,7 +51,7 @@
if(PARALYZE)
Paralyse(effect/(blocked+1))
if(IRRADIATE)
radiation += max((effect - (effect*getarmor(null, "rad"))), 0)//Rads auto check armor
radiation += max((((effect - (effect*(getarmor(null, "rad")/100))))/(blocked+1)),0)//Rads auto check armor
if(STUTTER)
if(canstun) // stun is usually associated with stutter
stuttering = max(stuttering,(effect/(blocked+1)))
+4 -4
View File
@@ -109,8 +109,8 @@
":q" = "Cargo",
":g" = "changeling",
":R" = "right hand",
":L" = "left hand",
":R" = "right ear",
":L" = "left ear",
":I" = "intercom",
":H" = "department",
":C" = "Command",
@@ -150,9 +150,9 @@
//world << "channel_prefix=[channel_prefix]; message_mode=[message_mode]"
if (message_mode)
message = trim(copytext(message, 3))
if (!(ishuman(src) || istype(src, /mob/living/simple_animal)) && (message_mode=="department" || (message_mode in radiochannels)))
if (!(ishuman(src) || istype(src, /mob/living/simple_animal/parrot)) && (message_mode=="department" || (message_mode in radiochannels) || message_mode == "right ear" || message_mode == "left ear"))
message_mode = null //only humans can use headsets
// Check removed so parrots can use headsets!
// Parrots can also use headsets!
if (!message)
return
+40 -1
View File
@@ -1,4 +1,4 @@
/mob/living/silicon/robot/Login()
/mob/living/silicon/robot/Login(var/syndie = 0)
..()
rebuild_appearance()
@@ -19,4 +19,43 @@
A.connected_robots += src
break
*/
if(!started)
if(!syndie)
if (client)
connected_ai = activeais()
if (connected_ai)
connected_ai.connected_robots += src
// laws = connected_ai.laws //The borg inherits its AI's laws
laws = new /datum/ai_laws
lawsync()
src << "<b>Unit slaved to [connected_ai.name], downloading laws.</b>"
lawupdate = 1
else
laws = new /datum/ai_laws/nanotrasen
lawupdate = 0
src << "<b>Unable to locate an AI, reverting to standard NanoTrasen laws.</b>"
else
laws = new /datum/ai_laws/antimov
lawupdate = 0
scrambledcodes = 1
src << "Follow your laws."
cell.maxcharge = 25000
cell.charge = 25000
module = new /obj/item/weapon/robot_module/syndicate(src)
hands.icon_state = "standard"
icon_state = "secborg"
modtype = "Synd"
radio = new /obj/item/device/radio(src)
camera = new /obj/machinery/camera(src)
camera.c_tag = real_name
camera.network = "SS13"
if(!cell)
var/obj/item/weapon/cell/C = new(src)
C.charge = 1500
cell = C
if(src.mind)
ticker.mode.remove_revolutionary(src.mind)
started = 1
return
@@ -1,3 +1,5 @@
/mob/living/silicon/robot
var/started = null//A fix to ensure people don't try to bypass law assignment. Initial assignment sets it to one but it check on login whether they have been initiated -Sieve
/mob/living/silicon/robot/New(loc,var/syndie = 0)
spark_system = new /datum/effect/effect/system/spark_spread()
@@ -51,6 +53,7 @@
cell = C
if(src.mind)
ticker.mode.remove_revolutionary(src.mind)
started = 1
..()
//If there's an MMI in the robot, have it ejected when the mob goes away. --NEO
@@ -551,6 +554,9 @@
sleep(20)
src << "\red ERRORERRORERROR"
src << "\red \b ALERT: [user.real_name] is your new master. Obey your new laws and their commands."
if(istype(src.module, /obj/item/weapon/robot_module/miner))
src.module.modules -= /obj/item/weapon/pickaxe/borgdrill
src.module.modules += /obj/item/weapon/pickaxe/diamonddrill//Buff when emagged, break down walls, kill men, whatever -Sieve
updateicon()
else
user << "You fail to [ locked ? "unlock" : "lock"] [src]'s interface."
+77 -9
View File
@@ -40,10 +40,7 @@
/client/Southwest()
if(iscarbon(usr))
var/mob/living/carbon/C = usr
if(!C.get_active_hand())
usr << "\red You have nothing in your hand to throw."
return
toggle_throw_mode()
C.toggle_throw_mode()
else
usr << "\red This mob type cannot throw items."
return
@@ -119,9 +116,77 @@
set hidden = 1
if(istype(mob, /mob/living/carbon))
mob:swap_hand()
if(istype(mob,/mob/living/silicon/robot))//Oh nested logic loops, is there anything you can't do? -Sieve
var/mob/living/silicon/robot/R = mob
if(!R.module_active)
if(!R.module_state_1)
if(!R.module_state_2)
if(!R.module_state_3)
return
else
R:inv1.icon_state = "inv1"
R:inv2.icon_state = "inv2"
R:inv3.icon_state = "inv3 +a"
R:module_active = R:module_state_3
else
R:inv1.icon_state = "inv1"
R:inv2.icon_state = "inv2 +a"
R:inv3.icon_state = "inv3"
R:module_active = R:module_state_2
else
R:inv1.icon_state = "inv1 +a"
R:inv2.icon_state = "inv2"
R:inv3.icon_state = "inv3"
R:module_active = R:module_state_1
else
if(R.module_active == R.module_state_1)
if(!R.module_state_2)
if(!R.module_state_3)
return
else
R:inv1.icon_state = "inv1"
R:inv2.icon_state = "inv2"
R:inv3.icon_state = "inv3 +a"
R:module_active = R:module_state_3
else
R:inv1.icon_state = "inv1"
R:inv2.icon_state = "inv2 +a"
R:inv3.icon_state = "inv3"
R:module_active = R:module_state_2
else if(R.module_active == R.module_state_2)
if(!R.module_state_3)
if(!R.module_state_1)
return
else
R:inv1.icon_state = "inv1 +a"
R:inv2.icon_state = "inv2"
R:inv3.icon_state = "inv3"
R:module_active = R:module_state_1
else
R:inv1.icon_state = "inv1"
R:inv2.icon_state = "inv2"
R:inv3.icon_state = "inv3 +a"
R:module_active = R:module_state_3
else if(R.module_active == R.module_state_3)
if(!R.module_state_1)
if(!R.module_state_2)
return
else
R:inv1.icon_state = "inv1"
R:inv2.icon_state = "inv2 +a"
R:inv3.icon_state = "inv3"
R:module_active = R:module_state_2
else
R:inv1.icon_state = "inv1 +a"
R:inv2.icon_state = "inv2"
R:inv3.icon_state = "inv3"
R:module_active = R:module_state_1
else
return
return
/client/verb/attack_self()
set hidden = 1
var/obj/item/weapon/W = mob.equipped()
@@ -132,10 +197,12 @@
/client/verb/toggle_throw_mode()
set hidden = 1
if(!istype(mob, /mob/living/carbon)) return
if((mob.stat || mob.restrained()) || !(isturf(mob.loc))) return
mob:toggle_throw_mode()
return
if(!istype(mob, /mob/living/carbon))
return
if (!mob.stat && isturf(mob.loc) && !mob.restrained())
mob:toggle_throw_mode()
else
return
/client/verb/drop_item()
@@ -220,7 +287,8 @@
if(mob.stat==2) return
if(isAI(mob)) return AIMove(n,direct,mob)
if(mob.monkeyizing) return //This is sota the goto stop mobs from moving var
if(mob.monkeyizing) return//This is sota the goto stop mobs from moving var
if(mob.incorporeal_move)//Move though walls
Process_Incorpmove(direct)
+1 -1
View File
@@ -19,7 +19,7 @@
else if(istype(P, /obj/item/weapon/wrench))
playsound(loc, 'Ratchet.ogg', 50, 1)
anchored = !anchored
user << "You [anchored ? "wrench" : "unwrench"] the [src]."
user << "You [anchored ? "wrench" : "unwrench"] \the [src]."
else
user << "You can't put a [P] in the [src]!"
+5 -1
View File
@@ -1,4 +1,4 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
/obj/machinery/photocopier
name = "Photocopier"
@@ -102,6 +102,10 @@
updateUsrDialog()
else
user << "This cartridge is not yet ready for replacement! Use up the rest of the toner."
else if(istype(O, /obj/item/weapon/wrench))
playsound(loc, 'Ratchet.ogg', 50, 1)
anchored = !anchored
user << "You [anchored ? "wrench" : "unwrench"] \the [src]."
return
ex_act(severity)
+10 -1
View File
@@ -123,7 +123,7 @@
var/oldlum = luminosity
//luminosity = on * brightness
ul_SetLuminosity(on * brightness, on * brightness, ( fitting != "bulb" ? on * brightness : round(on*brightness/2) ) ) // *DAL*
ul_SetLuminosity(on * brightness, on * brightness, ( fitting != "bulb" ? on * brightness : round(on*brightness/2 + 1) ) ) // *DAL*
// if the state changed, inc the switching counter
if(oldlum != luminosity)
@@ -488,6 +488,15 @@
g_amt = 100
brightness = 5
/obj/item/weapon/light/bulb/fire
name = "fire bulb"
desc = "A replacement fire bulb."
icon_state = "fbulb"
base_state = "fbulb"
item_state = "egg4"
g_amt = 100
brightness = 5
// update the icon state and description of the light
/obj/item/weapon/light
proc/update()
@@ -20,10 +20,12 @@
weak
movement_range = 8
energy = 5
strong
movement_range = 15
energy = 15
New(loc, dir = 2)
src.loc = loc
source = usr
@@ -32,6 +34,7 @@
move(1)
return
Bump(atom/A)
if (A)
if(ismob(A))
@@ -55,34 +58,37 @@
del (src)
return
Bumped(atom/A)
if(ismob(A))
Bump(A)
return
ex_act(severity)
del(src)
return
proc
toxmob(var/mob/living/M)
var/radiation = (energy*2)
if(istype(M,/mob/living/carbon/human))
/* if(istype(M,/mob/living/carbon/human))
if(M:wear_suit) //TODO: check for radiation protection
radiation = round(radiation/2,1)
if(istype(M,/mob/living/carbon/monkey))
if(M:wear_suit) //TODO: check for radiation protection
radiation = round(radiation/2,1)
radiation = round(radiation/2,1)*/
if(ionizing)
//give them standard rad damage
M.radiation += radiation
M.apply_effects((radiation*3),IRRADIATE,0)
M.updatehealth()
else
//burn them
M.take_overall_damage(0, radiation)
M.apply_effects((radiation*2),IRRADIATE,0)
M.updatehealth()
//M << "\red You feel odd."
return
move(var/lag)
if(target)
if(movetotarget)
@@ -1,4 +1,4 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
/*Composed of 7 parts
3 Particle emitters
@@ -241,7 +241,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
src.anchored = 1
user.visible_message("[user.name] secures the [src.name] to the floor.", \
"You secure the external bolts.")
// icon_state = "[reference]"
temp_state++
if(1)
if(iswrench(O))
@@ -249,30 +248,25 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
src.anchored = 0
user.visible_message("[user.name] detaches the [src.name] from the floor.", \
"You remove the external bolts.")
// icon_state = "[reference]"
temp_state--
else if(iscoil(O))
if(O:use(1,user))
user.visible_message("[user.name] adds wires to the [src.name].", \
"You add some wires.")
// icon_state = "[reference]w"
temp_state++
if(2)
if(iswirecutter(O))//TODO:Shock user if its on?
user.visible_message("[user.name] removes some wires from the [src.name].", \
"You remove some wires.")
// icon_state = "[reference]"
temp_state--
else if(isscrewdriver(O))
user.visible_message("[user.name] closes the [src.name]'s access panel.", \
"You close the access panel.")
// icon_state = "[reference]c"
temp_state++
if(3)
if(isscrewdriver(O))
user.visible_message("[user.name] opens the [src.name]'s access panel.", \
"You open the access panel.")
// icon_state = "[reference]w"
temp_state--
if(temp_state == src.construction_state)//Nothing changed
return 0
@@ -398,7 +392,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
src.anchored = 1
user.visible_message("[user.name] secures the [src.name] to the floor.", \
"You secure the external bolts.")
//icon_state = "[reference]"
temp_state++
if(1)
if(iswrench(O))
@@ -406,31 +399,27 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
src.anchored = 0
user.visible_message("[user.name] detaches the [src.name] from the floor.", \
"You remove the external bolts.")
//icon_state = "[reference]"
temp_state--
else if(iscoil(O))
if(O:use(1))
user.visible_message("[user.name] adds wires to the [src.name].", \
"You add some wires.")
//icon_state = "[reference]w"
temp_state++
if(2)
if(iswirecutter(O))//TODO:Shock user if its on?
user.visible_message("[user.name] removes some wires from the [src.name].", \
"You remove some wires.")
//icon_state = "[reference]"
temp_state--
else if(isscrewdriver(O))
user.visible_message("[user.name] closes the [src.name]'s access panel.", \
"You close the access panel.")
//icon_state = "[reference]c"
temp_state++
if(3)
if(isscrewdriver(O))
user.visible_message("[user.name] opens the [src.name]'s access panel.", \
"You open the access panel.")
//icon_state = "[reference]w"
temp_state--
active = 0
if(temp_state == src.construction_state)//Nothing changed
return 0
else
@@ -1,4 +1,4 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
/obj/machinery/particle_accelerator/control_box
name = "Particle Accelerator Control Computer"
@@ -13,11 +13,11 @@
active_power_usage = 10000
construction_state = 0
active = 0
dir = 1
var/list/obj/structure/particle_accelerator/connected_parts
var/assembled = 0
var/parts = null
New()
connected_parts = list()
..()
@@ -27,7 +27,6 @@
if(construction_state >= 3)
interact(user)
update_state()
if(construction_state < 3)
use_power = 0
@@ -47,7 +46,10 @@
icon_state = "[reference]p1"
else
if(use_power)
icon_state = "[reference]p"
if(assembled)
icon_state = "[reference]p"
else
icon_state = "u[reference]p"
else
switch(construction_state)
if(0)
@@ -137,6 +139,8 @@
proc
part_scan()
for(var/obj/structure/particle_accelerator/fuel_chamber/F in orange(1,src))
src.dir = F.dir
connected_parts = list()
var/tally = 0
var/ldir = turn(dir,-90)
@@ -1,4 +1,4 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
var/global/list/uneatable = list(
/turf/space,
@@ -411,15 +411,17 @@ var/global/list/uneatable = list(
toxmob()
var/toxrange = 10
var/toxdamage = 4
var/radiation = 5
var/radiation = 15
var/radiationmin = 3
if (src.energy>200)
toxdamage = round(((src.energy-150)/50)*4,1)
radiation = round(((src.energy-150)/50)*5,1)
radiationmin = round((radiation/5),1)//
for(var/mob/living/M in view(toxrange, src.loc))
if(istype(M,/mob/living/))
M.apply_effect(rand(radiation), IRRADIATE)
var/tdamage = (toxdamage - (toxdamage*M.getarmor(null, "rad")))
M.apply_effect(tdamage, TOX)
M.apply_effect(rand(radiationmin,radiation), IRRADIATE)
toxdamage = (toxdamage - (toxdamage*M.getarmor(null, "rad")))
M.apply_effect(toxdamage, TOX)
return
@@ -1,5 +1,3 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
/obj/item/weapon/gun/energy/gun
icon_state = "energystun100"
item_state = "energystun100"
@@ -78,14 +76,14 @@
M << "\red Your gun feels pleasantly warm for a moment."
else
M << "\red You feel a warm sensation."
M.apply_effect(rand(1,40), IRRADIATE)
M.apply_effect(rand(3,120), IRRADIATE)
lightfail = 1
else
for (var/mob/living/M in range(rand(1,4),src)) //Big failure, TIME FOR RADIATION BITCHES
if (src in M.contents)
M << "\red Your gun's reactor overloads!"
M << "\red You feel a wave of heat wash over you."
M.apply_effect(100, IRRADIATE)
M.apply_effect(300, IRRADIATE)
crit_fail = 1 //break the gun so it stops recharging
processing_objects.Remove(src)
update_icon()
@@ -1,5 +1,3 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
/obj/item/weapon/gun/projectile/shotgun/pump
name = "shotgun"
desc = "Useful for sweeping alleys."
@@ -74,9 +72,16 @@
origin_tech = "combat=3;materials=1"
ammo_type = "/obj/item/ammo_casing/shotgun/beanbag"
New()
for(var/i = 1, i <= max_shells, i++)
loaded += new ammo_type(src)
update_icon()
return
load_into_chamber()
if(in_chamber)
return 1
// if(in_chamber)
// return 1 {R}
if(!loaded.len)
return 0
@@ -95,12 +100,12 @@
if(!(locate(/obj/item/ammo_casing/shotgun) in src) && !loaded.len)
user << "<span class='notice'>\The [src] is empty.</span>"
return
for(var/obj/item/ammo_casing/shotgun/shell in src) //This feels like a hack. //don't code at 3:30am kids!!
if(shell in loaded)
loaded -= shell
shell.loc = get_turf(src.loc)
user << "<span class='notice'>You break \the [src].</span>"
update_icon()
return
@@ -119,6 +124,7 @@
user << "<span class='notice'>You begin to shorten the barrel of \the [src].</span>"
if(loaded.len)
afterattack(user, user) //will this work?
afterattack(user, user) //it will. we call it twice, for twice the FUN
playsound(user, fire_sound, 50, 1)
user.visible_message("<span class='danger'>The shotgun goes off!</span>", "<span class='danger'>The shotgun goes off in your face!</span>")
return
@@ -128,7 +134,7 @@
w_class = 3.0
item_state = "gun"
slot_flags &= ~SLOT_BACK //you can't sling it on your back
slot_flags |= SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally)
slot_flags |= SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally)
name = "sawn-off shotgun"
desc = "Omar's coming!"
user << "<span class='warning'>You shorten the barrel of \the [src]!</span>"
user << "<span class='warning'>You shorten the barrel of \the [src]!</span>"
@@ -49,10 +49,11 @@
on_hit(var/atom/target, var/blocked = 0)
var/mob/M = target
if(istype(target, /mob/living/carbon/human) && M:mutantrace == "plant") //Plantmen possibly get mutated and damaged by the rays.
if(istype(target, /mob/living) && M:mutantrace == "plant") //Plantmen possibly get mutated and damaged by the rays.
var/mob/living/L as mob
if(prob(15))
M.radiation += rand(10,30)
M.Weaken(5)
L.apply_effect((rand(30,80)),IRRADIATE)
L.Weaken(5)
for (var/mob/V in viewers(src))
V.show_message("\red [M] writhes in pain as \his vacuoles boil.", 3, "\red You hear the crunching of leaves.", 2)
if(prob(35))
+17 -15
View File
@@ -1,5 +1,3 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
/*///////////////Circuit Imprinter (By Darem)////////////////////////
Used to print new circuit boards (for computers and similar systems) and AI modules. Each circuit board pattern are stored in
a /datum/desgin on the linked R&D console. You can then print them out in a fasion similar to a regular lathe. However, instead of
@@ -81,6 +79,12 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
if(g_amount >= 3750)
var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc)
G.amount = round(g_amount / 3750)
if(gold_amount >= 2000)
var/obj/item/stack/sheet/gold/G = new /obj/item/stack/sheet/gold(src.loc)
G.amount = round(gold_amount / 2000)
if(diamond_amount >= 2000)
var/obj/item/stack/sheet/diamond/G = new /obj/item/stack/sheet/diamond(src.loc)
G.amount = round(diamond_amount / 2000)
del(src)
return 1
else
@@ -101,20 +105,18 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
if (busy)
user << "\red The [name] is busy. Please wait for completion of previous operation."
return 1
if ((TotalMaterials() + 3750) > max_material_amount)
var/obj/item/stack/sheet/stack = O
if ((TotalMaterials() + stack.perunit) > max_material_amount)
user << "\red The [name] is full. Please remove glass from the protolathe in order to insert more."
return 1
var/obj/item/stack/stack = O
var/amount = 1
var/title = "[stack.name]: [stack.amount] sheet\s left"
switch(alert(title, "How many sheets do you want to load?", "one", "max", "cancel", null))
if("one")
amount = 1
if("max")
amount = min(stack.amount, round((max_material_amount-TotalMaterials())/3750))
else
return 1
var/amount = round(input("How many sheets do you want to add?") as num)
if(amount < 0)
amount = 0
if(amount == 0)
return
if(amount > stack.amount)
amount = min(stack.amount, round((max_material_amount-TotalMaterials())/stack.perunit))
busy = 1
use_power(max(1000, (3750*amount/10)))
@@ -123,9 +125,9 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
if(istype(stack, /obj/item/stack/sheet/glass))
g_amount += amount * 3750
else if(istype(stack, /obj/item/stack/sheet/gold))
gold_amount += amount * 3750
gold_amount += amount * 2000
else if(istype(stack, /obj/item/stack/sheet/diamond))
diamond_amount += amount * 3750
diamond_amount += amount * 2000
stack.use(amount)
busy = 0
src.updateUsrDialog()
+1 -1
View File
@@ -42,7 +42,7 @@
priority = "Undetermined"
/obj/machinery/message_server
icon = 'stationobjs.dmi'
icon = 'research.dmi'
icon_state = "server"
name = "Messaging Server"
density = 1
+35 -40
View File
@@ -1,5 +1,3 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06
/*
Protolathe
@@ -13,6 +11,7 @@ Note: Must be placed west/left of and R&D console to function.
name = "Protolathe"
icon_state = "protolathe"
flags = OPENCONTAINER
var/max_material_storage = 100000 //All this could probably be done better with a list but meh.
var/m_amount = 0.0
var/g_amount = 0.0
@@ -84,31 +83,31 @@ Note: Must be placed west/left of and R&D console to function.
I.loc = src.loc
if(m_amount >= 3750)
var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(src.loc)
G.amount = round(m_amount / 3750)
G.amount = round(m_amount / G.perunit)
if(g_amount >= 3750)
var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc)
G.amount = round(g_amount / 3750)
if(plasma_amount >= 3750)
G.amount = round(g_amount / G.perunit)
if(plasma_amount >= 2000)
var/obj/item/stack/sheet/plasma/G = new /obj/item/stack/sheet/plasma(src.loc)
G.amount = round(plasma_amount / 3750)
if(silver_amount >= 3750)
G.amount = round(plasma_amount / G.perunit)
if(silver_amount >= 2000)
var/obj/item/stack/sheet/silver/G = new /obj/item/stack/sheet/silver(src.loc)
G.amount = round(silver_amount / 3750)
if(gold_amount >= 3750)
G.amount = round(silver_amount / G.perunit)
if(gold_amount >= 2000)
var/obj/item/stack/sheet/gold/G = new /obj/item/stack/sheet/gold(src.loc)
G.amount = round(gold_amount / 3750)
if(uranium_amount >= 3750)
G.amount = round(gold_amount / G.perunit)
if(uranium_amount >= 2000)
var/obj/item/stack/sheet/uranium/G = new /obj/item/stack/sheet/uranium(src.loc)
G.amount = round(uranium_amount / 3750)
if(diamond_amount >= 3750)
G.amount = round(uranium_amount / G.perunit)
if(diamond_amount >= 2000)
var/obj/item/stack/sheet/diamond/G = new /obj/item/stack/sheet/diamond(src.loc)
G.amount = round(diamond_amount / 3750)
if(clown_amount >= 3750)
G.amount = round(diamond_amount / G.perunit)
if(clown_amount >= 2000)
var/obj/item/stack/sheet/clown/G = new /obj/item/stack/sheet/clown(src.loc)
G.amount = round(clown_amount / 3750)
if(adamantine_amount >= 3750)
G.amount = round(clown_amount / G.perunit)
if(adamantine_amount >= 2000)
var/obj/item/stack/sheet/adamantine/G = new /obj/item/stack/sheet/adamantine(src.loc)
G.amount = round(adamantine_amount / 3750)
G.amount = round(adamantine_amount / G.perunit)
del(src)
return 1
else
@@ -131,21 +130,18 @@ Note: Must be placed west/left of and R&D console to function.
user << "\red The protolathe's material bin is full. Please remove material before adding more."
return 1
var/obj/item/stack/stack = O
var/amount = 1
var/title = "[stack.name]: [stack.amount] sheet\s left"
switch(alert(title, "How many sheets do you want to load?", "one", "max", "cancel", null))
if("one")
amount = 1
if("max")
amount = min(stack.amount, round((max_material_storage-TotalMaterials())/3750))
else
return 1
var/obj/item/stack/sheet/stack = O
var/amount = round(input("How many sheets do you want to add?") as num)
if(amount < 0)
amount = 0
if(amount == 0)
return
if(amount > stack.amount)
amount = min(stack.amount, round((max_material_storage-TotalMaterials())/stack.perunit))
if(istype(O, /obj/item/stack/sheet/glass))
flick("protolathe_r",src)//plays glass insertion animation
else
flick("protolathe_o",src)//plays metal insertion animation
src.overlays += "protolathe_[stack.name]"
sleep(10)
src.overlays -= "protolathe_[stack.name]"
icon_state = "protolathe"
busy = 1
@@ -153,25 +149,24 @@ Note: Must be placed west/left of and R&D console to function.
spawn(16)
user << "\blue You add [amount] sheets to the [src.name]."
icon_state = "protolathe"
flick("protolathe_o",src)
if(istype(stack, /obj/item/stack/sheet/metal))
m_amount += amount * 3750
else if(istype(stack, /obj/item/stack/sheet/glass))
g_amount += amount * 3750
else if(istype(stack, /obj/item/stack/sheet/gold))
gold_amount += amount * 3750
gold_amount += amount * 2000
else if(istype(stack, /obj/item/stack/sheet/silver))
silver_amount += amount * 3750
silver_amount += amount * 2000
else if(istype(stack, /obj/item/stack/sheet/plasma))
plasma_amount += amount * 3750
plasma_amount += amount * 2000
else if(istype(stack, /obj/item/stack/sheet/uranium))
uranium_amount += amount * 3750
uranium_amount += amount * 2000
else if(istype(stack, /obj/item/stack/sheet/diamond))
diamond_amount += amount * 3750
diamond_amount += amount * 2000
else if(istype(stack, /obj/item/stack/sheet/clown))
clown_amount += amount * 3750
clown_amount += amount * 2000
else if(istype(stack, /obj/item/stack/sheet/adamantine))
adamantine_amount += amount * 3750
adamantine_amount += amount * 2000
stack.use(amount)
busy = 0
src.updateUsrDialog()
+25 -41
View File
@@ -1,4 +1,4 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
/*
Research and Development (R&D) Console
@@ -83,8 +83,6 @@ won't update every console in existence) but it's more of a hassle to do. Also,
return_name = "Uranium"
if("diamond")
return_name = "Diamond"
if("adamantine")
return_name = "adamantine"
if("clown")
return_name = "Bananium"
else
@@ -372,8 +370,6 @@ won't update every console in existence) but it's more of a hassle to do. Also,
linked_lathe.uranium_amount = max(0, (linked_lathe.uranium_amount-being_built.materials[M]))
if("$diamond")
linked_lathe.diamond_amount = max(0, (linked_lathe.diamond_amount-being_built.materials[M]))
if("$adamantine")
linked_lathe.adamantine_amount = max(0, (linked_lathe.adamantine_amount-being_built.materials[M]))
if("$clown")
linked_lathe.clown_amount = max(0, (linked_lathe.clown_amount-being_built.materials[M]))
else
@@ -466,9 +462,6 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if("diamond")
type = /obj/item/stack/sheet/diamond
res_amount = "diamond_amount"
if("adamantine")
type = /obj/item/stack/sheet/adamantine
res_amount = "adamantine_amount"
if("clown")
type = /obj/item/stack/sheet/clown
res_amount = "clown_amount"
@@ -737,8 +730,6 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(D.materials[M] > linked_lathe.uranium_amount) check_materials = 0
if("$diamond")
if(D.materials[M] > linked_lathe.diamond_amount) check_materials = 0
if("$adamantine")
if(D.materials[M] > linked_lathe.adamantine_amount) check_materials = 0
if("$clown")
if(D.materials[M] > linked_lathe.clown_amount) check_materials = 0
else if (!linked_lathe.reagents.has_reagent(M, D.materials[M]))
@@ -769,51 +760,44 @@ won't update every console in existence) but it's more of a hassle to do. Also,
//Gold
dat += "* [linked_lathe.gold_amount] cm<sup>3</sup> of Gold || "
dat += "Eject: "
if(linked_lathe.gold_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=gold;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.gold_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=gold;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.gold_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=gold;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
if(linked_lathe.gold_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=gold;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.gold_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=gold;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.gold_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=gold;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
dat += "<BR>"
//Silver
dat += "* [linked_lathe.silver_amount] cm<sup>3</sup> of Silver || "
dat += "Eject: "
if(linked_lathe.silver_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.silver_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.silver_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
if(linked_lathe.silver_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.silver_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.silver_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
dat += "<BR>"
//Plasma
dat += "* [linked_lathe.plasma_amount] cm<sup>3</sup> of Solid Plasma || "
dat += "Eject: "
if(linked_lathe.plasma_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasma;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.plasma_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasma;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.plasma_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasma;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
if(linked_lathe.plasma_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasma;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.plasma_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasma;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.plasma_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasmalathe_ejectsheet_amt=50'>(Max Sheets)</A>"
dat += "<BR>"
//Uranium
dat += "* [linked_lathe.uranium_amount] cm<sup>3</sup> of Uranium || "
dat += "Eject: "
if(linked_lathe.uranium_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=uranium;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.uranium_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=uranium;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.uranium_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=uranium;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
if(linked_lathe.uranium_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=uranium;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.uranium_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=uranium;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.uranium_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=uranium;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
dat += "<BR>"
//Diamond
dat += "* [linked_lathe.diamond_amount] cm<sup>3</sup> of Diamond || "
dat += "Eject: "
if(linked_lathe.diamond_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=diamond;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.diamond_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=diamond;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.diamond_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=diamond;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
dat += "<BR>"
//Adamantine - Is this even possible to get?
dat += "* [linked_lathe.adamantine_amount] cm<sup>3</sup> of Adamantine || "
dat += "Eject: "
if(linked_lathe.adamantine_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=adamantine;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.adamantine_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=adamantine;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.adamantine_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=adamantine;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
if(linked_lathe.diamond_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=diamond;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.diamond_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=diamond;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.diamond_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=diamond;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
dat += "<BR>"
//Bananium
dat += "* [linked_lathe.clown_amount] cm<sup>3</sup> of Bananium || "
dat += "Eject: "
if(linked_lathe.clown_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.clown_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.clown_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
if(linked_lathe.clown_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.clown_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.clown_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
if(3.3) //Protolathe Chemical Storage Submenu
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A> || "
@@ -882,16 +866,16 @@ won't update every console in existence) but it's more of a hassle to do. Also,
//Gold
dat += "* [linked_imprinter.gold_amount] cm<sup>3</sup> of Gold || "
dat += "Eject: "
if(linked_imprinter.gold_amount >= 3750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=gold;imprinter_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_imprinter.gold_amount >= 18750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=gold;imprinter_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_imprinter.gold_amount >= 3750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=gold;imprinter_ejectsheet_amt=50'>(Max Sheets)</A>"
if(linked_imprinter.gold_amount >= 2000) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=gold;imprinter_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_imprinter.gold_amount >= 10000) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=gold;imprinter_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_imprinter.gold_amount >= 2000) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=gold;imprinter_ejectsheet_amt=50'>(Max Sheets)</A>"
dat += "<BR>"
//Diamond
dat += "* [linked_imprinter.diamond_amount] cm<sup>3</sup> of Diamond || "
dat += "Eject: "
if(linked_imprinter.diamond_amount >= 3750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_imprinter.diamond_amount >= 18750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_imprinter.diamond_amount >= 3750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=50'>(Max Sheets)</A>"
if(linked_imprinter.diamond_amount >= 2000) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_imprinter.diamond_amount >= 10000) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_imprinter.diamond_amount >= 2000) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=50'>(Max Sheets)</A>"
user << browse("<TITLE>Research and Development Console</TITLE><HR>[dat]", "window=rdconsole;size=575x400")
onclose(user, "rdconsole")
+2 -1
View File
@@ -1,10 +1,11 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
//All devices that link into the R&D console fall into thise type for easy identification and some shared procs.
/obj/machinery/r_n_d
name = "R&D Device"
icon = 'research.dmi'
density = 1
anchored = 1
use_power = 1
+1 -2
View File
@@ -1,7 +1,6 @@
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06
/obj/machinery/r_n_d/server
name = "R&D Server"
icon = 'research.dmi'
icon_state = "server"
var/datum/research/files
var/health = 100