Minor fixes:

- after losing and restoring power air alarms had wrong icon.
- same for air vents.
- Latejoiners now get filled DNA entry in medical computer.
- Fixed rare bug with APC.
- Electrocuting while laying wires was made more consistent. Do not forget your gloves.
Borgs now can restock wires, glass and metal in recharging station.
Added logging of bagbombing.
Internal buffer in ChemMaster have volume 100 units.
Metalcrafting window improved.
Added Soviet soda vending machine to the derelict.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1705 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
rastaf.zero@gmail.com
2011-06-22 15:46:53 +00:00
parent 3c0a76df30
commit d985841a76
16 changed files with 1065 additions and 995 deletions
@@ -9,6 +9,7 @@
layer = TURF_LAYER
var/area_uid
var/id_tag = null
power_channel = ENVIRON
var/on = 0
var/pump_direction = 1 //0 = siphoning, 1 = releasing
@@ -44,6 +45,7 @@
high_volume
name = "Large Air Vent"
power_channel = EQUIP
New()
..()
air_contents.volume = 1000
@@ -268,10 +270,10 @@
usr << "It seems welded shut."
power_change()
// if(powered(EVNIRON))
// stat &= ~NOPOWER
// else
// stat |= NOPOWER
if(powered(power_channel))
stat &= ~NOPOWER
else
stat |= NOPOWER
update_icon()
attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+1 -1
View File
@@ -109,7 +109,7 @@
var/condi = 0
New()
var/datum/reagents/R = new/datum/reagents(50)
var/datum/reagents/R = new/datum/reagents(100)
reagents = R
R.my_atom = src
+13
View File
@@ -2649,6 +2649,19 @@
desc = "Your standard drinking glass"
return
// for /obj/machinery/vending/sovietsoda
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/soda
New()
..()
reagents.add_reagent("sodawater", 50)
on_reagent_change()
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola
New()
..()
reagents.add_reagent("cola", 50)
on_reagent_change()
///jar
/obj/item/weapon/reagent_containers/food/drinks/jar
+1 -1
View File
@@ -17,7 +17,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
/area
var/fire = null
var/atmos = 1
var/atmosalm = null
var/atmosalm = 0
var/poweralm = 1
var/party = null
level = null
+11
View File
@@ -155,3 +155,14 @@
//product_amounts = "8;5;4" Old totals
product_hidden = "/obj/item/weapon/kitchen/utensil/spoon;/obj/item/weapon/kitchen/utensil/knife;/obj/item/weapon/kitchen/rollingpin"
product_hideamt = "2;2;2"
/obj/machinery/vending/sovietsoda
name = "BODA"
desc = "Old sweet water vending machine"
icon_state = "sovietsoda"
product_paths = "/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/soda"
product_amounts = "30"
//product_amounts = "8;5;4" Old totals
product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola"
product_hideamt = "20"
+1 -1
View File
@@ -514,7 +514,7 @@ table tr:first-child th:first-child { border: none;}
var/varname = href_list["var"]
var/datum/tlv/tlv = TLV[env]
var/newval = input("Enter [varname] for env", "Alarm triggers", tlv.vars[varname]) as num|null
if (isnull(newval) || ..() || locked)
if (isnull(newval) || ..() || (locked && issilicon(usr)))
return
if (newval<0)
tlv.vars[varname] = -1.0
+1 -1
View File
@@ -106,7 +106,7 @@
if(istype(O,/obj/item/weapon/baton))
if(O:charges < 10)
O:charges += 1
R.module.respawn_consumable(R)
verb
+11 -2
View File
@@ -132,10 +132,12 @@
var/title as text
var/can_build = 1
can_build = can_build && (max_multiplier>0)
/*
if (R.one_per_turf)
can_build = can_build && !(locate(R.result_type) in usr.loc)
if (R.on_floor)
can_build = can_build && istype(usr.loc, /turf/simulated/floor)
*/
if (R.res_amount>1)
title+= "[R.res_amount]x [R.title]\s"
else
@@ -147,8 +149,15 @@
t1 += text("[]", title)
continue
if (R.max_res_amount>1 && max_multiplier>1)
var/multiplier = min(max_multiplier, round(R.max_res_amount/R.res_amount))
t1 += text(" | <A href='?src=\ref[];make=[];multiplier=[]'>[]x</A> ", src, i, multiplier, multiplier*R.res_amount)
max_multiplier = min(max_multiplier, round(R.max_res_amount/R.res_amount))
t1 += " |"
var/list/multipliers = list(5,10,25)
for (var/n in multipliers)
if (max_multiplier>=n)
t1 += " <A href='?src=\ref[src];make=[i];multiplier=[n]'>[n*R.res_amount]x</A>"
if (!(max_multiplier in multipliers))
t1 += " <A href='?src=\ref[src];make=[i];multiplier=[max_multiplier]'>[max_multiplier*R.res_amount]x</A>"
t1 += "</TT></body></HTML>"
user << browse(t1, "window=stack")
onclose(user, "stack")
@@ -709,7 +709,9 @@
for (var/obj in module.modules)
if(activated(obj))
if (!obj)
dat += text("<B>Resource depleted</B><BR>")
else if(activated(obj))
dat += text("[obj]: <B>Activated</B><BR>")
else
dat += text("[obj]: <A HREF=?src=\ref[src];act=\ref[obj]>Activate</A><BR>")
@@ -16,6 +16,9 @@
emag.emp_act(severity)
..()
proc/respawn_consumable(var/mob/living/silicon/robot/R)
return
/obj/item/weapon/robot_module/standard
name = "standard robot module"
/*
@@ -92,6 +95,20 @@ obj/item/weapon/robot_module/syndicate
src.emag = new /obj/item/weapon/borg/stun(src)
/obj/item/weapon/robot_module/engineering/respawn_consumable(var/mob/living/silicon/robot/R)
var/list/what = list (
/obj/item/stack/sheet/metal,
/obj/item/stack/sheet/rglass,
/obj/item/weapon/cable_coil,
)
for (var/T in what)
if (!(locate(T) in src.modules))
src.modules -= null
var/O = new T(src)
src.modules += O
O:amount = 1
/*
/obj/item/weapon/robot_module/medical/New()
..()
+1 -1
View File
@@ -327,7 +327,7 @@ mob/new_player
G.fields["p_stat"] = "Active"
G.fields["m_stat"] = "Stable"
M.fields["b_type"] = text("[]", H.b_type)
M.fields["b_dna"] = ""//H.dna.unique_enzymes
M.fields["b_dna"] = H.dna.unique_enzymes
M.fields["mi_dis"] = "None"
M.fields["mi_dis_d"] = "No minor disabilities have been declared."
M.fields["ma_dis"] = "None"
+1 -1
View File
@@ -428,7 +428,7 @@
else
if (istype(user, /mob/living/silicon))
return src.attack_hand(user)
if (wiresexposed && \
if (!opened && wiresexposed && \
(istype(W, /obj/item/device/multitool) || \
istype(W, /obj/item/weapon/wirecutters)))
return src.attack_hand(user)
+12 -1
View File
@@ -317,6 +317,10 @@
C.updateicon()
C.update_network()
use(1)
if (C.shock(user, 50))
if (prob(50))
new/obj/item/weapon/cable_coil(C.loc, C.d1 ? 2 : 1, C.color)
del(C)
//src.laying = 1
//last = C
@@ -382,7 +386,10 @@
NC.updateicon()
NC.update_network()
use(1)
C.shock(user, 25)
if (NC.shock(user, 50))
if (prob(50))
new/obj/item/weapon/cable_coil(NC.loc, NC.d1 ? 2 : 1, NC.color)
del(NC)
return
else if(C.d1 == 0) // exisiting cable doesn't point at our position, so see if it's a stub
@@ -427,6 +434,10 @@
NC.update_network()
use(1)
if (NC.shock(user, 50))
if (prob(50))
new/obj/item/weapon/cable_coil(NC.loc, NC.d1 ? 2 : 1, NC.color)
del(NC)
return
@@ -219,6 +219,9 @@ var/global/list/uneatable = list(
consume(var/atom/A)
if (istype(A,/obj/item/weapon/storage/backpack/holding))
var/log_str = "\The [src] was exploded in [get_area(src)] due to consumption of [A], last touched by: [A.fingerprintslast]"
message_admins(log_str)
log_game(log_str)
del(A)
explosion(src.loc,10,15,20,40)
if(src) del(src)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

+983 -981
View File
File diff suppressed because it is too large Load Diff