This commit is contained in:
Tastyfish
2013-03-20 03:25:46 -04:00
18 changed files with 827 additions and 1453 deletions
+4 -4
View File
@@ -4,7 +4,7 @@
*
*/
var/global/datum/getrev/revdata = new("config/svndir.txt")
var/global/datum/getrev/revdata // = new("config/svndir.txt") //commented out until the git revcount stuff is ready
//Oh yeah, I'm an OOP fag, lalala
/datum/getrev
@@ -90,11 +90,11 @@ var/global/datum/getrev/revdata = new("config/svndir.txt")
client/verb/showrevinfo()
set category = "OOC"
set name = "Show Server Revision"
var/output = "Sorry, the revision info is unavailable."
var/output = "Sorry, the revision info is unavailable.<br>"
if(revdata)
output = revdata.showInfo()
output += "Current Infomational Settings: <br>"
output += "Protect Authority Roles From Tratior: [config.protect_roles_from_antagonist]<br>"
output += "Current Infomational Settings: <br>"
output += "Protect Authority Roles From Tratior: [config.protect_roles_from_antagonist]<br>"
usr << browse(output,"window=revdata");
return
+1 -1
View File
@@ -224,7 +224,7 @@ text("<A href='?src=\ref[src];operation=oddbutton'>[src.oddbutton ? "Yes" : "No"
if (!next_dest_loc)
next_dest_loc = closest_loc
if (next_dest_loc)
src.patrol_path = AStar(src.loc, next_dest_loc, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 120, id=botcard, exclude=null)
src.patrol_path = AStar(src.loc, next_dest_loc, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 120, id=botcard, exclude=null)
if(!patrol_path)
patrol_path = list()
else
+1 -1
View File
@@ -614,7 +614,7 @@ Auto Patrol: []"},
// calculates a path to the current destination
// given an optional turf to avoid
/obj/machinery/bot/ed209/proc/calc_path(var/turf/avoid = null)
src.path = AStar(src.loc, patrol_target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 120, id=botcard, exclude=avoid)
src.path = AStar(src.loc, patrol_target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 120, id=botcard, exclude=avoid)
if(!src.path)
src.path = list()
+1 -1
View File
@@ -299,7 +299,7 @@
if(src.patient && src.path.len == 0 && (get_dist(src,src.patient) > 1))
spawn(0)
src.path = AStar(src.loc, get_turf(src.patient), /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 30,id=botcard)
src.path = AStar(src.loc, get_turf(src.patient), /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 30,id=botcard)
if(!src.path)
src.path = list()
if(src.path.len == 0)
+1 -1
View File
@@ -646,7 +646,7 @@ var/global/mulebot_count = 0
// calculates a path to the current destination
// given an optional turf to avoid
/obj/machinery/bot/mulebot/proc/calc_path(var/turf/avoid = null)
src.path = AStar(src.loc, src.target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 250, id=botcard, exclude=avoid)
src.path = AStar(src.loc, src.target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 250, id=botcard, exclude=avoid)
if(!src.path)
src.path = list()
+1 -1
View File
@@ -552,7 +552,7 @@ Auto Patrol: []"},
// calculates a path to the current destination
// given an optional turf to avoid
/obj/machinery/bot/secbot/proc/calc_path(var/turf/avoid = null)
src.path = AStar(src.loc, patrol_target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 120, id=botcard, exclude=avoid)
src.path = AStar(src.loc, patrol_target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 120, id=botcard, exclude=avoid)
if(!src.path)
src.path = list()
@@ -0,0 +1,40 @@
/obj/item/weapon/airlock_painter
name = "airlock painter"
desc = "This device can change the paintjob of an airlock assembly."
icon = 'icons/obj/objects.dmi'
icon_state = "paint sprayer"
item_state = "paint sprayer"
w_class = 2.0
m_amt = 50
g_amt = 50
origin_tech = "engineering=1"
flags = FPRINT | TABLEPASS| CONDUCT
slot_flags = SLOT_BELT
var/obj/item/device/toner/ink = null
New()
ink = new /obj/item/device/toner(src)
proc/use()
if(!ink || ink.charges < 1)
return 0
else
ink.charges--
return 1
examine()
set src in usr
var/ink_level = "high"
if(!ink || ink.charges < 1)
ink_level = "empty"
else if((ink.charges/ink.max_charges) <= 0.25) //25%
ink_level = "low"
else if((ink.charges/ink.max_charges) > 1) //Over 100% (admin var edit)
ink_level = "dangerously high"
usr << "\icon[src] [src.name] is a small but effective airlock painting tool. Its ink levels look [ink_level]."
return
+130 -4
View File
@@ -7,6 +7,8 @@ obj/structure/door_assembly
density = 1
var/state = 0
var/mineral = null
var/typetext = null
var/icontext = null
var/base_icon_state = "door_as_0"
var/glass_base_icon_state = "door_as_g0"
var/obj/item/weapon/airlock_electronics/electronics = null
@@ -31,6 +33,8 @@ obj/structure/door_assembly
name = "Command Airlock Assembly"
icon_state = "door_as_com1"
glass_base_icon_state = "door_as_gcom"
typetext = "command"
icontext = "com"
glass_type = /obj/machinery/door/airlock/glass_command
airlock_type = /obj/machinery/door/airlock/command
anchored = 1
@@ -46,6 +50,8 @@ obj/structure/door_assembly
name = "Security Airlock Assembly"
icon_state = "door_as_sec1"
glass_base_icon_state = "door_as_gsec"
typetext = "security"
icontext = "sec"
glass_type = /obj/machinery/door/airlock/glass_security
airlock_type = /obj/machinery/door/airlock/security
anchored = 1
@@ -61,6 +67,8 @@ obj/structure/door_assembly
name = "Engineering Airlock Assembly"
icon_state = "door_as_eng1"
glass_base_icon_state = "door_as_geng"
typetext = "engineering"
icontext = "eng"
glass_type = /obj/machinery/door/airlock/glass_engineering
airlock_type = /obj/machinery/door/airlock/engineering
anchored = 1
@@ -76,6 +84,8 @@ obj/structure/door_assembly
name = "Mining Airlock Assembly"
icon_state = "door_as_min1"
glass_base_icon_state = "door_as_gmin"
typetext = "mining"
icontext = "min"
glass_type = /obj/machinery/door/airlock/glass_mining
airlock_type = /obj/machinery/door/airlock/mining
anchored = 1
@@ -91,6 +101,8 @@ obj/structure/door_assembly
name = "Atmospherics Airlock Assembly"
icon_state = "door_as_atmo1"
glass_base_icon_state = "door_as_gatmo"
typetext = "atmos"
icontext = "atmo"
glass_type = /obj/machinery/door/airlock/glass_atmos
airlock_type = /obj/machinery/door/airlock/atmos
anchored = 1
@@ -106,6 +118,8 @@ obj/structure/door_assembly
name = "Research Airlock Assembly"
icon_state = "door_as_res1"
glass_base_icon_state = "door_as_gres"
typetext = "research"
icontext = "res"
glass_type = /obj/machinery/door/airlock/glass_research
airlock_type = /obj/machinery/door/airlock/research
anchored = 1
@@ -121,6 +135,8 @@ obj/structure/door_assembly
name = "Science Airlock Assembly"
icon_state = "door_as_sci1"
glass_base_icon_state = "door_as_gsci"
typetext = "science"
icontext = "sci"
glass_type = /obj/machinery/door/airlock/glass_science
airlock_type = /obj/machinery/door/airlock/science
anchored = 1
@@ -135,6 +151,8 @@ obj/structure/door_assembly
door_assembly_med
name = "Medical Airlock Assembly"
icon_state = "door_as_med1"
typetext = "medical"
icontext = "med"
airlock_type = /obj/machinery/door/airlock/medical
anchored = 1
density = 1
@@ -147,6 +165,8 @@ obj/structure/door_assembly
door_assembly_mai
name = "Maintenance Airlock Assembly"
icon_state = "door_as_mai1"
typetext = "maintenance"
icontext = "mai"
airlock_type = /obj/machinery/door/airlock/maintenance
anchored = 1
density = 1
@@ -156,6 +176,8 @@ obj/structure/door_assembly
door_assembly_ext
name = "External Airlock Assembly"
icon_state = "door_as_ext1"
typetext = "external"
icontext = "ext"
airlock_type = /obj/machinery/door/airlock/external
anchored = 1
density = 1
@@ -165,6 +187,8 @@ obj/structure/door_assembly
door_assembly_fre
name = "Freezer Airlock Assembly"
icon_state = "door_as_fre1"
typetext = "freezer"
icontext = "fre"
airlock_type = /obj/machinery/door/airlock/freezer
anchored = 1
density = 1
@@ -174,6 +198,8 @@ obj/structure/door_assembly
door_assembly_hatch
name = "Airtight Hatch Assembly"
icon_state = "door_as_hatch1"
typetext = "hatch"
icontext = "hatch"
airlock_type = /obj/machinery/door/airlock/hatch
anchored = 1
density = 1
@@ -183,6 +209,8 @@ obj/structure/door_assembly
door_assembly_mhatch
name = "Maintenance Hatch Assembly"
icon_state = "door_as_mhatch1"
typetext = "maintenance_hatch"
icontext = "mhatch"
airlock_type = /obj/machinery/door/airlock/maintenance_hatch
anchored = 1
density = 1
@@ -274,6 +302,8 @@ obj/structure/door_assembly
door_assembly_highsecurity // Borrowing this until WJohnston makes sprites for the assembly
name = "High Tech Security Assembly"
icon_state = "door_as_highsec1"
typetext = "highsecurity"
icontext = "highsec"
airlock_type = /obj/machinery/door/airlock/highsecurity
anchored = 1
density = 1
@@ -288,7 +318,87 @@ obj/structure/door_assembly
created_name = t
return
if(istype(W, /obj/item/weapon/weldingtool) && !anchored )
else if(istype(W, /obj/item/weapon/airlock_painter)) // |- Ricotez
//INFORMATION ABOUT ADDING A NEW AIRLOCK TO THE PAINT LIST:
//If your airlock has a regular version, add it to the list with regular versions.
//If your airlock has a glass version, add it to the list with glass versions.
//Do NOT add your airlock to a list if it does not have a version for that list,
// or you will get broken icons.
//If you do this properly, you can just add the typetext and icontext of your airlock
// to the big switch without having to make exceptions for glass airlocks, it will
// simply be unavailable if the painter is used on an airlock of the wrong type.
//If your airlock has both a regular and a glass version, remember to also add the
// icontext as exception in the part of the code that deals with turning a regular
// airlock into a glass airlock, else your airlock can't transition from regular to
// glass and will instead revert back to the white sprite.
// |- Ricotez
var/obj/item/weapon/airlock_painter/WT = W
if(WT.ink.charges)
var/icontype
var/optionlist
var/glasstext = ""
var/gicontext = ""
if(src.mineral)
if(src.mineral == "glass")
gicontext = "g"
glasstext = "glass_"
//These airlocks have a glass version.
optionlist = list("Default", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Mining")
else
user << "The painter does not work on airlocks coated in minerals!"
return
else
//These airlocks have a regular version.
optionlist = list("Default", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Mining", "Maintenance", "External", "High Security")
icontype = input(user, "Please select a paintjob for this glass airlock.") in optionlist
if(!in_range(src, usr) && src.loc != usr) return
switch(icontype)
if("Default")
if(src.mineral == "glass")
glasstext = "glass"
typetext = ""
icontext = ""
if("Engineering")
typetext = "engineering"
icontext = "eng"
if("Atmospherics")
typetext = "atmos"
icontext = "atmo"
if("Security")
typetext = "security"
icontext = "sec"
if("Command")
typetext = "command"
icontext = "com"
if("Medical")
typetext = "medical"
icontext = "med"
if("Research")
typetext = "research"
icontext = "res"
if("Mining")
typetext = "mining"
icontext = "min"
if("Maintenance")
typetext = "maintenance"
icontext = "mai"
if("External")
typetext = "external"
icontext = "ext"
if("High Security")
typetext = "highsecurity"
icontext = "highsec"
src.airlock_type = text2path("/obj/machinery/door/airlock/[glasstext][typetext]")
src.base_icon_state = "door_as_[gicontext][icontext]"
user << "\blue You change the paintjob on the airlock assembly."
WT.use()
else
user << "\blue There aren't any charges left!"
return
else if(istype(W, /obj/item/weapon/weldingtool) && !anchored )
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.")
@@ -395,8 +505,14 @@ obj/structure/door_assembly
G.use(1)
src.mineral = "glass"
src.name = "Near finished Window Airlock Assembly"
src.airlock_type = /obj/machinery/door/airlock/glass
src.base_icon_state = "door_as_g" //this will be applied to the icon_state with the correct state number at the proc's end.
if(icontext in list("eng", "atmo", "sec", "com", "med", "res", "min")) //Make sure this airlock actually has a glass version.
src.airlock_type = text2path("/obj/machinery/door/airlock/glass_[typetext]")
else
//This airlock is default or does not have a glass version, so we revert to the default glass airlock. |- Ricotez
src.airlock_type = /obj/machinery/door/airlock/glass
typetext = ""
icontext = ""
src.base_icon_state = "door_as_g[icontext]" //this will be applied to the icon_state with the correct state number at the proc's end.
else if(istype(G, /obj/item/stack/sheet/mineral))
var/M = G.sheettype
if(G.amount>=2)
@@ -418,8 +534,18 @@ obj/structure/door_assembly
if(!src) return
user << "\blue You finish the airlock!"
var/obj/machinery/door/airlock/door
//The below cluster of if-else-statements is a result of the differences between normal
// and mineral doors. |- Ricotez
if (mineral)
airlock_type = text2path("/obj/machinery/door/airlock/[mineral]")
if(mineral == "glass")
if(typetext == "")
airlock_type = /obj/machinery/door/airlock/glass
else
airlock_type = text2path("/obj/machinery/door/airlock/glass_[typetext]")
else
airlock_type = text2path("/obj/machinery/door/airlock/[mineral]")
else
airlock_type = text2path("/obj/machinery/door/airlock/[typetext]")
door = new src.airlock_type( src.loc )
//door.req_access = src.req_access
door.electronics = src.electronics
+7
View File
@@ -293,6 +293,13 @@
return cost
else
return get_dist(src,t)
// This Distance proc assumes that only cardinal movement is
// possible. It results in more efficient (CPU-wise) pathing
// for bots and anything else that only moves in cardinal dirs.
/turf/proc/Distance_cardinal(turf/t)
return abs(src.x - t.x) + abs(src.y - t.y)
/turf/proc/AdjacentTurfsSpace()
var/L[] = new()
for(var/turf/t in oview(src,1))
@@ -399,6 +399,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(w_uniform && istype(w_uniform, /obj/item/clothing/under) )
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
w_uniform.screen_loc = ui_iclothing
client.screen += w_uniform
overlays -= overlays_lying[UNIFORM_LAYER]
overlays -= overlays_standing[UNIFORM_LAYER]
var/t_color = w_uniform.color
@@ -456,6 +457,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(wear_id)
if(hud_used && hud_used.hud_shown)
wear_id.screen_loc = ui_id //TODO
client.screen += wear_id
overlays -= overlays_lying[ID_LAYER]
overlays -= overlays_standing[ID_LAYER]
overlays_lying[ID_LAYER] = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "id2", "layer" = -ID_LAYER)
@@ -475,6 +477,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(gloves)
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
gloves.screen_loc = ui_gloves
client.screen += gloves
overlays -= overlays_lying[GLOVES_LAYER]
overlays -= overlays_standing[GLOVES_LAYER]
var/t_state = gloves.item_state
@@ -506,6 +509,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(glasses)
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
glasses.screen_loc = ui_glasses
client.screen += glasses
overlays -= overlays_lying[GLASSES_LAYER]
overlays -= overlays_standing[GLASSES_LAYER]
overlays_lying[GLASSES_LAYER] = image("icon" = 'icons/mob/eyes.dmi', "icon_state" = "[glasses.icon_state]2", "layer" = -GLASSES_LAYER)
@@ -525,6 +529,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(ears)
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
ears.screen_loc = ui_ears
client.screen += ears
overlays -= overlays_lying[EARS_LAYER]
overlays -= overlays_standing[EARS_LAYER]
overlays_lying[EARS_LAYER] = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[ears.icon_state]2", "layer" = -EARS_LAYER)
@@ -544,6 +549,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(shoes)
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
shoes.screen_loc = ui_shoes
client.screen += shoes
var/image/lying = image("icon" = 'icons/mob/feet.dmi', "icon_state" = "[shoes.icon_state]2", "layer" = -SHOES_LAYER)
var/image/standing = image("icon" = 'icons/mob/feet.dmi', "icon_state" = "[shoes.icon_state]", "layer" = -SHOES_LAYER)
if(shoes.blood_DNA)
@@ -568,6 +574,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(s_store)
if(hud_used && hud_used.hud_shown)
s_store.screen_loc = ui_sstore1 //TODO
client.screen += s_store
overlays -= overlays_lying[SUIT_STORE_LAYER]
overlays -= overlays_standing[SUIT_STORE_LAYER]
var/t_state = s_store.item_state
@@ -590,6 +597,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(head)
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
head.screen_loc = ui_head //TODO
client.screen += head
overlays -= overlays_lying[HEAD_LAYER]
overlays -= overlays_standing[HEAD_LAYER]
var/image/lying
@@ -620,6 +628,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(belt)
if(hud_used && hud_used.hud_shown)
belt.screen_loc = ui_belt //TODO
client.screen += belt
overlays -= overlays_lying[BELT_LAYER]
overlays -= overlays_standing[BELT_LAYER]
var/t_state = belt.item_state
@@ -642,6 +651,7 @@ Please contact me on #coderbus IRC. ~Carn x
if( wear_suit && istype(wear_suit, /obj/item/clothing/suit) ) //TODO check this
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
wear_suit.screen_loc = ui_oclothing //TODO
client.screen += wear_suit
overlays -= overlays_lying[SUIT_LAYER]
overlays -= overlays_standing[SUIT_LAYER]
var/image/lying = image("icon" = 'icons/mob/suit.dmi', "icon_state" = "[wear_suit.icon_state]2", "layer" = -SUIT_LAYER)
@@ -685,8 +695,14 @@ Please contact me on #coderbus IRC. ~Carn x
if(update_icons) update_icons()
/mob/living/carbon/human/update_inv_pockets(var/update_icons=1)
if(l_store) l_store.screen_loc = ui_storage1 //TODO
if(r_store) r_store.screen_loc = ui_storage2 //TODO
if(l_store)
if(hud_used && hud_used.hud_shown)
l_store.screen_loc = ui_storage1 //TODO
client.screen += l_store
if(r_store)
if(hud_used && hud_used.hud_shown)
r_store.screen_loc = ui_storage2 //TODO
client.screen += r_store
if(update_icons) update_icons()
@@ -694,6 +710,7 @@ Please contact me on #coderbus IRC. ~Carn x
if( wear_mask && istype(wear_mask, /obj/item/clothing/mask) )
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
wear_mask.screen_loc = ui_mask //TODO
client.screen += wear_mask
overlays -= overlays_lying[FACEMASK_LAYER]
overlays -= overlays_standing[FACEMASK_LAYER]
var/image/lying = image("icon" = 'icons/mob/mask.dmi', "icon_state" = "[wear_mask.icon_state]2", "layer" = -FACEMASK_LAYER)
@@ -719,6 +736,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(back)
if(hud_used && hud_used.hud_shown)
back.screen_loc = ui_back //TODO
client.screen += back
overlays -= overlays_lying[BACK_LAYER]
overlays -= overlays_standing[BACK_LAYER]
overlays_lying[BACK_LAYER] = image("icon" = 'icons/mob/back.dmi', "icon_state" = "[back.icon_state]2", "layer" = -BACK_LAYER)
@@ -796,6 +814,7 @@ Please contact me on #coderbus IRC. ~Carn x
/mob/living/carbon/human/update_inv_r_hand(var/update_icons=1)
if(r_hand)
r_hand.screen_loc = ui_rhand //TODO
client.screen += r_hand
var/t_state = r_hand.item_state
if(!t_state) t_state = r_hand.icon_state
overlays -= overlays_standing[R_HAND_LAYER]
@@ -810,6 +829,7 @@ Please contact me on #coderbus IRC. ~Carn x
/mob/living/carbon/human/update_inv_l_hand(var/update_icons=1)
if(l_hand)
l_hand.screen_loc = ui_lhand //TODO
client.screen += l_hand
var/t_state = l_hand.item_state
if(!t_state) t_state = l_hand.icon_state
overlays -= overlays_standing[L_HAND_LAYER]
@@ -41,6 +41,8 @@
/mob/living/carbon/monkey/update_inv_wear_mask(var/update_icons=1)
if( wear_mask && istype(wear_mask, /obj/item/clothing/mask) )
wear_mask.screen_loc = ui_monkey_mask
if(hud_used)
client.screen += wear_mask
overlays -= overlays_lying[M_MASK_LAYER]
overlays -= overlays_standing[M_MASK_LAYER]
var/image/lying = image("icon" = 'icons/mob/monkey.dmi', "icon_state" = "[wear_mask.icon_state]2", "layer" = -M_MASK_LAYER)
@@ -65,6 +67,8 @@
/mob/living/carbon/monkey/update_inv_r_hand(var/update_icons=1)
if(r_hand)
r_hand.screen_loc = ui_rhand
if(hud_used)
client.screen += r_hand
var/t_state = r_hand.item_state
if(!t_state) t_state = r_hand.icon_state
overlays -= overlays_standing[M_R_HAND_LAYER]
@@ -79,6 +83,8 @@
/mob/living/carbon/monkey/update_inv_l_hand(var/update_icons=1)
if(l_hand)
l_hand.screen_loc = ui_lhand
if(hud_used)
client.screen += l_hand
var/t_state = l_hand.item_state
if(!t_state) t_state = l_hand.icon_state
overlays -= overlays_standing[M_L_HAND_LAYER]
@@ -93,6 +99,8 @@
/mob/living/carbon/monkey/update_inv_back(var/update_icons=1)
if(back)
back.screen_loc = ui_monkey_back
if(hud_used)
client.screen += back
overlays -= overlays_lying[M_BACK_LAYER]
overlays -= overlays_standing[M_BACK_LAYER]
overlays_lying[M_BACK_LAYER] = image("icon" = 'icons/mob/back.dmi', "icon_state" = "[back.icon_state]2", "layer" = -M_BACK_LAYER)
+3 -1
View File
@@ -185,4 +185,6 @@
*/
/obj/item/device/toner
name = "toner cartridge"
icon_state = "tonercartridge"
icon_state = "tonercartridge"
var/charges = 5
var/max_charges = 5
File diff suppressed because it is too large Load Diff
@@ -90,6 +90,8 @@
set category = "Object"
set src in usr
if (alert(usr, "Are you sure you want to empty that?", "Empty Bottle:", "Yes", "No") != "Yes")
return
if(isturf(usr.loc))
usr << "<span class='notice'>You empty the [src] onto the floor.</span>"
reagents.reaction(usr.loc)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 112 KiB

+2
View File
@@ -5,6 +5,7 @@
// END_INTERNALS
// BEGIN_FILE_DIR
#define FILE_DIR .
// END_FILE_DIR
// BEGIN_PREFERENCES
@@ -462,6 +463,7 @@
#include "code\game\objects\items\stacks\tiles\plasteel.dm"
#include "code\game\objects\items\stacks\tiles\tile_types.dm"
#include "code\game\objects\items\weapons\AI_modules.dm"
#include "code\game\objects\items\weapons\airlock_painter.dm"
#include "code\game\objects\items\weapons\cards_ids.dm"
#include "code\game\objects\items\weapons\cigs_lighters.dm"
#include "code\game\objects\items\weapons\clown_items.dm"