diff --git a/baystation12.dme b/baystation12.dme
index a5e0a39cf0..a1c4980fee 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -204,6 +204,7 @@
#define FILE_DIR "icons/spideros_icons"
#define FILE_DIR "icons/Testing"
#define FILE_DIR "icons/turf"
+#define FILE_DIR "icons/vehicles"
#define FILE_DIR "icons/vending_icons"
#define FILE_DIR "interface"
#define FILE_DIR "maps"
diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm
index fca51ad7ce..d745a48d89 100644
--- a/code/ATMOSPHERICS/atmospherics.dm
+++ b/code/ATMOSPHERICS/atmospherics.dm
@@ -20,40 +20,39 @@ obj/machinery/atmospherics
- var/initialize_directions = 0
- var/color
+obj/machinery/atmospherics/var/initialize_directions = 0
+obj/machinery/atmospherics/var/color
- process()
- build_network()
+obj/machinery/atmospherics/process()
+ build_network()
- proc
- network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference)
- // Check to see if should be added to network. Add self if so and adjust variables appropriately.
- // Note don't forget to have neighbors look as well!
+obj/machinery/atmospherics/proc/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference)
+ // Check to see if should be added to network. Add self if so and adjust variables appropriately.
+ // Note don't forget to have neighbors look as well!
- return null
+ return null
- build_network()
- // Called to build a network from this node
+obj/machinery/atmospherics/proc/build_network()
+ // Called to build a network from this node
- return null
+ return null
- return_network(obj/machinery/atmospherics/reference)
- // Returns pipe_network associated with connection to reference
- // Notes: should create network if necessary
- // Should never return null
+obj/machinery/atmospherics/proc/return_network(obj/machinery/atmospherics/reference)
+ // Returns pipe_network associated with connection to reference
+ // Notes: should create network if necessary
+ // Should never return null
- return null
+ return null
- reassign_network(datum/pipe_network/old_network, datum/pipe_network/new_network)
- // Used when two pipe_networks are combining
+obj/machinery/atmospherics/proc/reassign_network(datum/pipe_network/old_network, datum/pipe_network/new_network)
+ // Used when two pipe_networks are combining
- return_network_air(datum/network/reference)
- // Return a list of gas_mixture(s) in the object
- // associated with reference pipe_network for use in rebuilding the networks gases list
- // Is permitted to return null
+obj/machinery/atmospherics/proc/return_network_air(datum/network/reference)
+ // Return a list of gas_mixture(s) in the object
+ // associated with reference pipe_network for use in rebuilding the networks gases list
+ // Is permitted to return null
- disconnect(obj/machinery/atmospherics/reference)
+obj/machinery/atmospherics/proc/disconnect(obj/machinery/atmospherics/reference)
- update_icon()
- return null
\ No newline at end of file
+obj/machinery/atmospherics/update_icon()
+ return null
\ No newline at end of file
diff --git a/code/WorkInProgress/Ported/Bureaucracy/copier.dm b/code/WorkInProgress/Ported/Bureaucracy/copier.dm
index 897681cd7d..8808e605ff 100644
--- a/code/WorkInProgress/Ported/Bureaucracy/copier.dm
+++ b/code/WorkInProgress/Ported/Bureaucracy/copier.dm
@@ -134,6 +134,7 @@
P.name = template.name
P.desc = template.desc
P.icon = template.icon
+ P.img = template:img
sleep(30)
job_num_copies -= 1
diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm
index e5253e9441..1bfc31340d 100644
--- a/code/defines/obj/storage.dm
+++ b/code/defines/obj/storage.dm
@@ -88,7 +88,7 @@
/obj/item/weapon/storage/pillbottlebox
name = "box of pill bottles"
desc = "It has pictures of pill bottles on its front."
- icon_state = "box"
+ icon_state = "pillbox"
item_state = "syringe_kit"
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
@@ -292,12 +292,19 @@
update_icon()
for(var/obj/item/weapon/card/id/ID in contents)
- if(ID.icon_state == "gold")
- icon_state = "walletid_gold"
- return
- else if(ID.icon_state == "id")
- icon_state = "walletid"
- return
+ switch(ID.icon_state)
+ if("id")
+ icon_state = "walletid"
+ return
+ if("silver")
+ icon_state = "walletid_silver"
+ return
+ if("gold")
+ icon_state = "walletid_gold"
+ return
+ if("centcom")
+ icon_state = "walletid_centcom"
+ return
icon_state = "wallet"
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index 151b75843b..a44b28b76e 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -142,12 +142,12 @@ var/list/obj/machinery/newscaster/allCasters = list() //list that will contain r
/obj/machinery/newscaster/attack_hand(mob/user as mob)
if(!src.ispowered || src.isbroken)
return
- if(istype(user, /mob/living/carbon/human) )
- var/mob/living/carbon/human/human_user = user
+ if(istype(user, /mob/living/carbon/human) || istype(user,/mob/living/silicon) )
+ var/mob/living/human_or_robot_user = user
var/dat
dat = text("

Writings on the back:
[P.scribble]" : ]"\
+ + "", "window=book;size=200x[P.scribble ? 400 : 200]")
onclose(usr, "[P.name]")
if (ismob(src.loc))
var/mob/M = src.loc
@@ -733,7 +772,7 @@ NOTEBOOK
/obj/item/weapon/clipboard/attackby(obj/item/weapon/P as obj, mob/user as mob)
..()
- if (istype(P, /obj/item/weapon/paper))
+ if (istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/photo))
if (src.contents.len < 15)
user.drop_item()
P.loc = src
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 217a4b9f93..0b88d78a53 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -75,7 +75,12 @@
H.apply_effect(10, STUTTER, 0)
user.lastattacked = M
H.lastattacker = user
- charges--
+ if(isrobot(src.loc))
+ var/mob/living/silicon/robot/R = src.loc
+ if(R && R.cell)
+ R.cell.use(50)
+ else
+ charges--
H.visible_message("
[M] has been stunned with the [src] by [user]!")
playsound(src.loc, 'Egloves.ogg', 50, 1, -1)
if(charges < 1)
diff --git a/code/game/objects/stacks/glass.dm b/code/game/objects/stacks/glass.dm
index 76d63e9d33..d21d25886b 100644
--- a/code/game/objects/stacks/glass.dm
+++ b/code/game/objects/stacks/glass.dm
@@ -262,6 +262,8 @@ SHARDS
playsound(src.loc, 'glass_step.ogg', 50, 1)
if(ishuman(M))
var/mob/living/carbon/human/H = M
+ if(H.mutantrace == "lizard") //Soghun have... Scales? Yeah that works
+ return
if(!((H.shoes) || (H.wear_suit && H.wear_suit.body_parts_covered & FEET)))
var/datum/organ/external/affecting = H.get_organ(pick("l_foot", "r_foot"))
if(affecting.status & ROBOT)
diff --git a/code/game/objects/storage/briefcase.dm b/code/game/objects/storage/briefcase.dm
index 6413a66eec..7c81e92041 100644
--- a/code/game/objects/storage/briefcase.dm
+++ b/code/game/objects/storage/briefcase.dm
@@ -1,12 +1,5 @@
/obj/item/weapon/storage/briefcase/New()
..()
- new /obj/item/weapon/paper(src)
- new /obj/item/weapon/paper(src)
- new /obj/item/weapon/paper(src)
- new /obj/item/weapon/paper(src)
- new /obj/item/weapon/paper(src)
- new /obj/item/weapon/paper(src)
- new /obj/item/weapon/pen(src)
/obj/item/weapon/storage/briefcase/attack(mob/M as mob, mob/living/user as mob)
//..()
diff --git a/code/game/objects/uplinks.dm b/code/game/objects/uplinks.dm
index b9aa1276c5..3c138a527a 100644
--- a/code/game/objects/uplinks.dm
+++ b/code/game/objects/uplinks.dm
@@ -145,7 +145,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
randomItems.Add("/obj/item/weapon/soap/syndie") //Syndicate Soap
randomItems.Add("/obj/item/weapon/storage/toolbox/syndicate") //Syndicate Toolbox
- if(!randomItems)
+ if(!randomItems.len)
del(randomItems)
return 0
else
diff --git a/code/game/objects/watercloset.dm b/code/game/objects/watercloset.dm
index 38b8c5ea47..1a0d1e09a3 100644
--- a/code/game/objects/watercloset.dm
+++ b/code/game/objects/watercloset.dm
@@ -58,7 +58,10 @@
var/obj/item/weapon/grab/G = I
var/mob/GM = G.affecting
if(ismob(G.affecting))
- if(G.state>1 && GM.loc == get_turf(src))
+ if(G.state>1)
+ if(!GM.loc == get_turf(src))
+ user << "
[GM.name] needs to be on the toilet."
+ return
if(open && !swirlie)
user.visible_message("
[user] starts to give [GM.name] a swirlie!", "
You start to give [GM.name] a swirlie!")
swirlie = GM
@@ -101,7 +104,10 @@
var/obj/item/weapon/grab/G = I
var/mob/GM = G.affecting
if(ismob(G.affecting))
- if(G.state>1 && GM.loc == get_turf(src))
+ if(G.state>1)
+ if(!GM.loc == get_turf(src))
+ user << "
[GM.name] needs to be on the urinal."
+ return
user.visible_message("
[user] slams [GM.name] into the [src]!", "
You slam [GM.name] into the [src]!")
GM.adjustBruteLoss(8)
else
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index 54befddcbc..08470a9a2e 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -266,7 +266,8 @@ proc/move_mining_shuttle()
/*****************************Shovel********************************/
/obj/item/weapon/shovel
- name = "Shovel"
+ name = "shovel"
+ desc = "A large tool for digging and moving dirt."
icon = 'items.dmi'
icon_state = "shovel"
flags = FPRINT | TABLEPASS| CONDUCT
@@ -278,11 +279,14 @@ proc/move_mining_shuttle()
m_amt = 50
origin_tech = "materials=1;engineering=1"
-
-
-
-
-
+/obj/item/weapon/shovel/spade
+ name = "spade"
+ desc = "A small tool for digging and moving dirt."
+ icon_state = "spade"
+ item_state = "spade"
+ force = 5.0
+ throwforce = 7.0
+ w_class = 2.0
/**********************Mining car (Crate like thing, not the rail car)**************************/
diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm
index 78ec74c0d3..2478ce7243 100644
--- a/code/modules/mob/new_player/preferences.dm
+++ b/code/modules/mob/new_player/preferences.dm
@@ -132,6 +132,8 @@ datum/preferences
// OOC Metadata:
var/metadata = ""
+ var/sound_adminhelp = 0
+
New()
hair_style = new/datum/sprite_accessory/hair/short
@@ -265,9 +267,13 @@ datum/preferences
if(config.allow_Metadata)
dat += "
OOC Notes: Edit "
- if((user.client) && (user.client.holder) && (user.client.holder.rank) && (user.client.holder.level >= 5))
- dat += "
OOC"
- dat += "
Change colour "
+ if((user.client) && (user.client.holder) && (user.client.holder.rank))
+ dat += "
Adminhelp sound: "
+ dat += "[(sound_adminhelp)?"On":"Off"]
toggle"
+
+ if(user.client.holder.level >= 5)
+ dat += "
OOC"
+ dat += "
Change color "
dat += "
Occupation Choices"
dat += "\t
Set Preferences"
@@ -906,6 +912,9 @@ datum/preferences
if(ooccolor)
src.ooccolor = ooccolor
+ if(link_tags["toggleadminhelpsound"])
+ src.sound_adminhelp = !src.sound_adminhelp
+
if(link_tags["f_style"])
if(species != "Human") //Non-humans don't have hair stuff yet.
return
@@ -1268,6 +1277,7 @@ datum/preferences
proc/setup_client(var/client/C)
if(C)
+ C.sound_adminhelp = src.sound_adminhelp
C.midis = src.midis
C.ooccolor = src.ooccolor
C.be_alien = be_special & BE_ALIEN
diff --git a/code/modules/mob/new_player/savefile.dm b/code/modules/mob/new_player/savefile.dm
index 981e84658d..3dde385937 100644
--- a/code/modules/mob/new_player/savefile.dm
+++ b/code/modules/mob/new_player/savefile.dm
@@ -161,6 +161,8 @@ datum/preferences/proc/savefile_save(mob/user, slot)
F["OOC_Notes"] << src.metadata
+ F["sound_adminhelp"] << src.sound_adminhelp
+
return 1
// loads the savefile corresponding to the mob's ckey
@@ -269,6 +271,8 @@ datum/preferences/proc/savefile_load(mob/user, slot)
F["OOC_Notes"] >> src.metadata
+ F["sound_adminhelp"] >> src.sound_adminhelp
+
if(isnull(metadata))
metadata = ""
diff --git a/html/changelog.html b/html/changelog.html
index ce5b79ed33..ae1f9dfdef 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -57,14 +57,23 @@ Stuff which is in development and not yet visible to players or just code relate
should be listed in the changelog upon commit though. Thanks. -->
-
+
29 June 2012
Erthilo updated:
- Raises job limits for Botanists, Atmospheric Technicnians, Roboticists, Chemists, and Geneticists.
-
+
+
28 June 2012
+
Chinsky updated:
+
+ - 'Rename' function for clipboards
+ - Can add photos to clipboards
+ - Fixed troubles with formatting when reading from clipboard (linebreaks not being properly placed)
+ - Fixed photocopiers not copying photos properly
+
+
27 June 2012
Erthilo updated:
@@ -82,6 +91,14 @@ should be listed in the changelog upon commit though. Thanks. -->
Fixes medical items. Gauze/kits/ointment can now be applied correctly again.
+
+
26 June 2012
+
TG updated:
+
+ - Fixed silicon mobs not being able to access newscaster.
+ - Fixed harmbatons on everything other than harm, now it is the opposite way round.
+
+
25 June 2012
diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi
index fa909660e2..127bf82a85 100644
Binary files a/icons/mob/items_lefthand.dmi and b/icons/mob/items_lefthand.dmi differ
diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi
index 190315199d..7a541c4a34 100644
Binary files a/icons/mob/items_righthand.dmi and b/icons/mob/items_righthand.dmi differ
diff --git a/icons/obj/contraband.dmi b/icons/obj/contraband.dmi
index b33b7070a0..c31268ca41 100644
Binary files a/icons/obj/contraband.dmi and b/icons/obj/contraband.dmi differ
diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi
index 69c55d472b..759442da11 100644
Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ
diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi
index 6292adc221..176d76c5b4 100644
Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ
diff --git a/icons/obj/vehicles.dmi b/icons/obj/vehicles.dmi
deleted file mode 100644
index 2dbaedd639..0000000000
Binary files a/icons/obj/vehicles.dmi and /dev/null differ
diff --git a/icons/vehicles/vehicles.dmi b/icons/vehicles/vehicles.dmi
new file mode 100644
index 0000000000..5650366b18
Binary files /dev/null and b/icons/vehicles/vehicles.dmi differ