Choking will no longer cause almost instant knockout.

The item strip window will no longer steal focus and refresh every second.

PDA:
Security/Medical records now show rank
Detective gets his own cart that has sec/med/manifest

Pipes:
They will no longer radiate heat and have more or less been removed from the process list.
This should reduce lag from the atmos system quite a bit.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1965 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
mport2004@gmail.com
2011-08-01 05:55:02 +00:00
parent 2224916ab9
commit dd645687de
17 changed files with 4922 additions and 4882 deletions

View File

@@ -45,7 +45,7 @@ obj/machinery/atmospherics/binary/pump
return return
process() process()
..() // ..()
if(stat & (NOPOWER|BROKEN)) if(stat & (NOPOWER|BROKEN))
return return
if(!on) if(!on)

View File

@@ -41,7 +41,7 @@ obj/machinery/atmospherics/binary/volume_pump
return return
process() process()
..() // ..()
if(!on) if(!on)
return 0 return 0

View File

@@ -130,7 +130,9 @@ obj/machinery/atmospherics/valve
process() process()
..() ..()
if(open && (!node1 || !node2)) machines.Remove(src)
/* if(open && (!node1 || !node2))
close() close()
if(!node1) if(!node1)
if(!nodealert) if(!nodealert)
@@ -142,7 +144,7 @@ obj/machinery/atmospherics/valve
nodealert = 1 nodealert = 1
else if (nodealert) else if (nodealert)
nodealert = 0 nodealert = 0
*/
return return

View File

@@ -71,7 +71,7 @@ obj/machinery/atmospherics/pipe
var/obj/machinery/atmospherics/node2 var/obj/machinery/atmospherics/node2
var/minimum_temperature_difference = 300 var/minimum_temperature_difference = 300
var/thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT var/thermal_conductivity = 0 //WALL_HEAT_TRANSFER_COEFFICIENT No
var/maximum_pressure = 70*ONE_ATMOSPHERE var/maximum_pressure = 70*ONE_ATMOSPHERE
var/fatigue_pressure = 55*ONE_ATMOSPHERE var/fatigue_pressure = 55*ONE_ATMOSPHERE
@@ -105,8 +105,10 @@ obj/machinery/atmospherics/pipe
process() process()
if(!parent) //This should cut back on the overhead calling build_network thousands of times per cycle if(!parent) //This should cut back on the overhead calling build_network thousands of times per cycle
..() ..()
else
machines.Remove(src)
if(!node1) /*if(!node1)
parent.mingle_with_turf(loc, volume) parent.mingle_with_turf(loc, volume)
if(!nodealert) if(!nodealert)
//world << "Missing node from [src] at [src.x],[src.y],[src.z]" //world << "Missing node from [src] at [src.x],[src.y],[src.z]"
@@ -138,6 +140,7 @@ obj/machinery/atmospherics/pipe
if(abs(environment_temperature-pipe_air.temperature) > minimum_temperature_difference) if(abs(environment_temperature-pipe_air.temperature) > minimum_temperature_difference)
parent.temperature_interact(loc, volume, thermal_conductivity) parent.temperature_interact(loc, volume, thermal_conductivity)
*/ //Screw you heat lag
check_pressure(pressure) check_pressure(pressure)
var/datum/gas_mixture/environment = loc.return_air() var/datum/gas_mixture/environment = loc.return_air()
@@ -381,15 +384,18 @@ obj/machinery/atmospherics/pipe
..() ..()
process() process()
..() if(!parent)
if(!node1) ..()
else
machines.Remove(src)
/* if(!node1)
parent.mingle_with_turf(loc, 200) parent.mingle_with_turf(loc, 200)
if(!nodealert) if(!nodealert)
//world << "Missing node from [src] at [src.x],[src.y],[src.z]" //world << "Missing node from [src] at [src.x],[src.y],[src.z]"
nodealert = 1 nodealert = 1
else if (nodealert) else if (nodealert)
nodealert = 0 nodealert = 0
*/
carbon_dioxide carbon_dioxide
name = "Pressure Tank (Carbon Dioxide)" name = "Pressure Tank (Carbon Dioxide)"
@@ -552,23 +558,31 @@ obj/machinery/atmospherics/pipe
dir = SOUTH dir = SOUTH
initialize_directions = SOUTH initialize_directions = SOUTH
var/build_killswitch = 1
var/obj/machinery/atmospherics/node1 var/obj/machinery/atmospherics/node1
New() New()
initialize_directions = dir initialize_directions = dir
..() ..()
process() process()
..() if(!parent)
if(parent) if(build_killswitch <= 0)
machines.Remove(src)
else
build_killswitch--
..()
return
else
parent.mingle_with_turf(loc, 250) parent.mingle_with_turf(loc, 250)
/*
if(!node1) if(!node1)
if(!nodealert) if(!nodealert)
//world << "Missing node from [src] at [src.x],[src.y],[src.z]" //world << "Missing node from [src] at [src.x],[src.y],[src.z]"
nodealert = 1 nodealert = 1
else if (nodealert) else if (nodealert)
nodealert = 0 nodealert = 0
*/
Del() Del()
if(node1) if(node1)
node1.disconnect(src) node1.disconnect(src)
@@ -656,8 +670,11 @@ obj/machinery/atmospherics/pipe
return list(node1, node2, node3) return list(node1, node2, node3)
process() process()
..() if(!parent)
..()
else
machines.Remove(src)
/*
if(!node1) if(!node1)
parent.mingle_with_turf(loc, 70) parent.mingle_with_turf(loc, 70)
if(!nodealert) if(!nodealert)
@@ -675,7 +692,7 @@ obj/machinery/atmospherics/pipe
nodealert = 1 nodealert = 1
else if (nodealert) else if (nodealert)
nodealert = 0 nodealert = 0
*/
Del() Del()
if(node1) if(node1)
node1.disconnect(src) node1.disconnect(src)

View File

@@ -285,7 +285,7 @@
item_state = "caparmor" item_state = "caparmor"
w_class = 4//bulky item w_class = 4//bulky item
gas_transfer_coefficient = 0.01 gas_transfer_coefficient = 0.01
//permeability_coefficient = 0.02 // HAHAHA no captain's armor is not a bio suit permeability_coefficient = 0.02
heat_transfer_coefficient = 0.02 heat_transfer_coefficient = 0.02
radiation_protection = 0.25 radiation_protection = 0.25
protective_temperature = 1000 protective_temperature = 1000

View File

@@ -351,7 +351,7 @@
src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back) src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack) src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/clothing/under/det(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/under/det(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/device/pda/security(src), slot_belt) src.equip_if_possible(new /obj/item/device/pda/detective(src), slot_belt)
src.equip_if_possible(new /obj/item/clothing/shoes/brown(src), slot_shoes) src.equip_if_possible(new /obj/item/clothing/shoes/brown(src), slot_shoes)
src.equip_if_possible(new /obj/item/clothing/head/det_hat(src), slot_head) src.equip_if_possible(new /obj/item/clothing/head/det_hat(src), slot_head)
var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(src) var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(src)
@@ -398,7 +398,6 @@
src.equip_if_possible(new /obj/item/clothing/suit/armor/vest(src), slot_wear_suit) src.equip_if_possible(new /obj/item/clothing/suit/armor/vest(src), slot_wear_suit)
src.equip_if_possible(new /obj/item/clothing/head/helmet(src), slot_head) src.equip_if_possible(new /obj/item/clothing/head/helmet(src), slot_head)
src.equip_if_possible(new /obj/item/clothing/shoes/jackboots(src), slot_shoes) src.equip_if_possible(new /obj/item/clothing/shoes/jackboots(src), slot_shoes)
// src.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(src), slot_glasses)
src.equip_if_possible(new /obj/item/weapon/handcuffs(src), slot_in_backpack) src.equip_if_possible(new /obj/item/weapon/handcuffs(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/handcuffs(src), slot_s_store) src.equip_if_possible(new /obj/item/weapon/handcuffs(src), slot_s_store)

View File

@@ -154,8 +154,6 @@ What a mess.*/
for(var/datum/data/record/R in data_core.general) for(var/datum/data/record/R in data_core.general)
if (lowertext(R.fields["fingerprint"]) == t1) if (lowertext(R.fields["fingerprint"]) == t1)
active1 = R active1 = R
else
//Foreach continue //goto(3414)
if (!( active1 )) if (!( active1 ))
temp = text("Could not locate record [].", t1) temp = text("Could not locate record [].", t1)
else else

View File

@@ -103,15 +103,20 @@ var/list/sacrificed = list()
continue continue
if(M.stat==2) if(M.stat==2)
continue continue
if(is_convertable_to_cult(M.mind))
ticker.mode.add_cultist(M.mind)
usr.say("Mah'weyh pleggh at e'ntrath!") usr.say("Mah'weyh pleggh at e'ntrath!")
M.visible_message("\red [M] writhes in pain as the markings below him glow a bloody red.", \ M.visible_message("\red [M] writhes in pain as the markings below him glow a bloody red.", \
"\red AAAAAAHHHH!.", \ "\red AAAAAAHHHH!.", \
"\red You hear an anguished scream.") "\red You hear an anguished scream.")
M << "<font color=\"purple\"><b><i>Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root.</b></i></font>" if(is_convertable_to_cult(M.mind))
M << "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>" ticker.mode.add_cultist(M.mind)
return M << "<font color=\"purple\"><b><i>Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root.</b></i></font>"
M << "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>"
return 1
else
M << "<font color=\"purple\"><b><i>Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root.</b></i></font>"
M << "<font color=\"red\"><b>And not a single fuck was given, exterminate the cult at all costs.</b></font>"
return 0
return fizzle() return fizzle()

View File

@@ -50,6 +50,10 @@
default_cartridge = /obj/item/weapon/cartridge/security default_cartridge = /obj/item/weapon/cartridge/security
icon_state = "pda-s" icon_state = "pda-s"
/obj/item/device/pda/detective
default_cartridge = /obj/item/weapon/cartridge/detective
icon_state = "pda-s"
/obj/item/device/pda/janitor /obj/item/device/pda/janitor
default_cartridge = /obj/item/weapon/cartridge/janitor default_cartridge = /obj/item/weapon/cartridge/janitor
icon_state = "pda-j" icon_state = "pda-j"
@@ -767,9 +771,7 @@
/obj/item/device/pda/Del() /obj/item/device/pda/Del()
if (src.id) if (src.id)
if(istype(src.loc, /mob)) src.id.loc = get_turf(src.loc)
src.id.loc = src.loc.loc
else src.id.loc = src.loc
..() ..()
/obj/item/device/pda/clown/HasEntered(AM as mob|obj) //Clown PDA is slippery. /obj/item/device/pda/clown/HasEntered(AM as mob|obj) //Clown PDA is slippery.

View File

@@ -48,6 +48,14 @@
spawn(5) spawn(5)
radio = new /obj/item/radio/integrated/beepsky(src) radio = new /obj/item/radio/integrated/beepsky(src)
detective
name = "D.E.T.E.C.T. Cartridge"
icon_state = "cart-s"
access_security = 1
access_medical = 1
access_manifest = 1
janitor janitor
name = "CustodiPRO Cartridge" name = "CustodiPRO Cartridge"
desc = "The ultimate in clean-room design." desc = "The ultimate in clean-room design."
@@ -290,6 +298,7 @@ Code:
menu += "Name: [active1.fields["name"]] ID: [active1.fields["id"]]<br>" menu += "Name: [active1.fields["name"]] ID: [active1.fields["id"]]<br>"
menu += "Sex: [active1.fields["sex"]]<br>" menu += "Sex: [active1.fields["sex"]]<br>"
menu += "Age: [active1.fields["age"]]<br>" menu += "Age: [active1.fields["age"]]<br>"
menu += "Rank: [active1.fields["rank"]]<br>"
menu += "Fingerprint: [active1.fields["fingerprint"]]<br>" menu += "Fingerprint: [active1.fields["fingerprint"]]<br>"
menu += "Physical Status: [active1.fields["p_stat"]]<br>" menu += "Physical Status: [active1.fields["p_stat"]]<br>"
menu += "Mental Status: [active1.fields["m_stat"]]<br>" menu += "Mental Status: [active1.fields["m_stat"]]<br>"
@@ -333,6 +342,7 @@ Code:
menu += "Name: [active1.fields["name"]] ID: [active1.fields["id"]]<br>" menu += "Name: [active1.fields["name"]] ID: [active1.fields["id"]]<br>"
menu += "Sex: [active1.fields["sex"]]<br>" menu += "Sex: [active1.fields["sex"]]<br>"
menu += "Age: [active1.fields["age"]]<br>" menu += "Age: [active1.fields["age"]]<br>"
menu += "Rank: [active1.fields["rank"]]<br>"
menu += "Fingerprint: [active1.fields["fingerprint"]]<br>" menu += "Fingerprint: [active1.fields["fingerprint"]]<br>"
menu += "Physical Status: [active1.fields["p_stat"]]<br>" menu += "Physical Status: [active1.fields["p_stat"]]<br>"
menu += "Mental Status: [active1.fields["m_stat"]]<br>" menu += "Mental Status: [active1.fields["m_stat"]]<br>"

View File

View File

@@ -1353,13 +1353,13 @@
NinjaStealthMalf() NinjaStealthMalf()
else else
invisibility = 0 invisibility = 0
/*
for (var/mob/M in viewers(1, src)) for (var/mob/M in viewers(1, src))//For the love of god DO NOT REFRESH EVERY SECOND - Mport
if ((M.client && M.machine == src)) if ((M.client && M.machine == src))
spawn (0) spawn (0)
show_inv(M) show_inv(M)
return return
*/
last_b_state = stat last_b_state = stat
/mob/living/carbon/human/hand_p(mob/M as mob) /mob/living/carbon/human/hand_p(mob/M as mob)
@@ -2770,6 +2770,7 @@ It can still be worn/put on as normal.
<BR>[(internal ? text("<A href='?src=\ref[src];item=internal'>Remove Internal</A>") : "")] <BR>[(internal ? text("<A href='?src=\ref[src];item=internal'>Remove Internal</A>") : "")]
<BR><A href='?src=\ref[src];item=pockets'>Empty Pockets</A> <BR><A href='?src=\ref[src];item=pockets'>Empty Pockets</A>
<BR><A href='?src=\ref[src];item=h_store'>Empty Hat</A> <BR><A href='?src=\ref[src];item=h_store'>Empty Hat</A>
<BR><A href='?src=\ref[user];refresh=1'>Refresh</A>
<BR><A href='?src=\ref[user];mach_close=mob[name]'>Close</A> <BR><A href='?src=\ref[user];mach_close=mob[name]'>Close</A>
<BR>"} <BR>"}
user << browse(dat, text("window=mob[name];size=340x480")) user << browse(dat, text("window=mob[name];size=340x480"))
@@ -2994,10 +2995,15 @@ It can still be worn/put on as normal.
/mob/living/carbon/human/Topic(href, href_list) /mob/living/carbon/human/Topic(href, href_list)
if (href_list["refresh"])
if((machine)&&(in_range(src, usr)))
show_inv(machine)
if (href_list["mach_close"]) if (href_list["mach_close"])
var/t1 = text("window=[]", href_list["mach_close"]) var/t1 = text("window=[]", href_list["mach_close"])
machine = null machine = null
src << browse(null, t1) src << browse(null, t1)
if ((href_list["item"] && !( usr.stat ) && usr.canmove && !( usr.restrained() ) && in_range(src, usr) && ticker)) //if game hasn't started, can't make an equip_e if ((href_list["item"] && !( usr.stat ) && usr.canmove && !( usr.restrained() ) && in_range(src, usr) && ticker)) //if game hasn't started, can't make an equip_e
var/obj/equip_e/human/O = new /obj/equip_e/human( ) var/obj/equip_e/human/O = new /obj/equip_e/human( )
O.source = usr O.source = usr

View File

@@ -412,8 +412,8 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
O.show_message(text("\red [] has temporarily tightened his grip on []!", assailant, affecting), 1) O.show_message(text("\red [] has temporarily tightened his grip on []!", assailant, affecting), 1)
//Foreach goto(97) //Foreach goto(97)
assailant.next_move = world.time + 10 assailant.next_move = world.time + 10
affecting.stunned = max(2, affecting.stunned) //affecting.stunned = max(2, affecting.stunned)
affecting.paralysis = max(1, affecting.paralysis) //affecting.paralysis = max(1, affecting.paralysis)
affecting.losebreath = min(affecting.losebreath + 1, 3) affecting.losebreath = min(affecting.losebreath + 1, 3)
last_suffocate = world.time last_suffocate = world.time
flick("disarm/killf", S) flick("disarm/killf", S)
@@ -449,7 +449,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
assailant << "\blue You can't strangle [affecting] through all that fat!" assailant << "\blue You can't strangle [affecting] through all that fat!"
return return
/* /*Hrm might want to add this back in
//we should be able to strangle the Captain if he is wearing a hat //we should be able to strangle the Captain if he is wearing a hat
for(var/obj/item/clothing/C in list(H.head, H.wear_suit, H.wear_mask, H.w_uniform)) for(var/obj/item/clothing/C in list(H.head, H.wear_suit, H.wear_mask, H.w_uniform))
if(C.body_parts_covered & HEAD) if(C.body_parts_covered & HEAD)
@@ -480,8 +480,6 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
affecting.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been strangled (kill intent) by [assailant.name] ([assailant.ckey])</font>") affecting.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been strangled (kill intent) by [assailant.name] ([assailant.ckey])</font>")
assailant.attack_log += text("\[[time_stamp()]\] <font color='red'>Strangled (kill intent) [affecting.name] ([affecting.ckey])</font>") assailant.attack_log += text("\[[time_stamp()]\] <font color='red'>Strangled (kill intent) [affecting.name] ([affecting.ckey])</font>")
assailant.next_move = world.time + 10 assailant.next_move = world.time + 10
affecting.stunned = max(2, affecting.stunned)
affecting.paralysis = max(1, affecting.paralysis)
affecting.losebreath += 1 affecting.losebreath += 1
hud1.icon_state = "disarm/kill1" hud1.icon_state = "disarm/kill1"
else else

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -77,6 +77,7 @@
#define FILE_DIR "code/modules" #define FILE_DIR "code/modules"
#define FILE_DIR "code/modules/admin" #define FILE_DIR "code/modules/admin"
#define FILE_DIR "code/modules/admin/verbs" #define FILE_DIR "code/modules/admin/verbs"
#define FILE_DIR "code/modules/assembly"
#define FILE_DIR "code/modules/chemical" #define FILE_DIR "code/modules/chemical"
#define FILE_DIR "code/modules/food" #define FILE_DIR "code/modules/food"
#define FILE_DIR "code/modules/mining" #define FILE_DIR "code/modules/mining"
@@ -654,6 +655,7 @@
#include "code\modules\admin\verbs\striketeam_syndicate.dm" #include "code\modules\admin\verbs\striketeam_syndicate.dm"
#include "code\modules\admin\verbs\ticklag.dm" #include "code\modules\admin\verbs\ticklag.dm"
#include "code\modules\admin\verbs\tripAI.dm" #include "code\modules\admin\verbs\tripAI.dm"
#include "code\modules\assembly\assembly.dm"
#include "code\modules\chemical\Chemistry-Holder.dm" #include "code\modules\chemical\Chemistry-Holder.dm"
#include "code\modules\chemical\Chemistry-Machinery.dm" #include "code\modules\chemical\Chemistry-Machinery.dm"
#include "code\modules\chemical\Chemistry-Reagents.dm" #include "code\modules\chemical\Chemistry-Reagents.dm"