Moved var/force from /obj/item to /obj so that everything gets it, including structures and machines that get tossed around using Telekenesis. The default force is still 0. This should finally put a stop to a large number of runtimes.

Runtime fix for being hit by something without there being a usr. This was most likely due to explosions or possibly mass drivers.

Runtime fix for simple animals using department channels. Only parrots can use them now as they are the only simple animal with the 'ears' variable.

Runtime fix for the mech's energy relay process() when there is no battery in the mech.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5405 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
johnsonmt88@gmail.com
2012-12-27 02:08:41 +00:00
parent 73231b48fb
commit d4dc5ae070
9 changed files with 44 additions and 7 deletions

View File

@@ -4,7 +4,7 @@ obj/machinery/atmospherics/pipe
var/datum/pipeline/parent
var/volume = 0
var/force = 20
force = 20
layer = 2.4 //under wires with their 2.44

View File

@@ -1,5 +1,5 @@
/obj/mecha/combat
var/force = 30
force = 30
var/damtype = "brute"
var/melee_cooldown = 10
var/melee_can_hit = 1

View File

@@ -792,7 +792,7 @@
ER.set_ready_state(1)
return
var/cur_charge = ER.chassis.get_charge()
if(isnull(cur_charge))
if(isnull(cur_charge) || !ER.chassis.cell)
stop()
ER.set_ready_state(1)
ER.occupant_message("No powercell detected.")

View File

@@ -3,7 +3,6 @@
icon = 'icons/obj/items.dmi'
var/icon/blood_overlay = null //this saves our blood splatter overlay, which will be processed not to go over the edges of the sprite
var/abstract = 0
var/force = 0
var/item_state = null
var/damtype = "brute"
var/r_speed = 1.0

View File

@@ -12,6 +12,8 @@
var/list/attack_verb = list() //Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]"
var/in_use = 0 // If we have a user using us, this will be set on. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING!
var/force = 0
/obj/proc/process()
processing_objects.Remove(src)
return 0

View File

@@ -68,7 +68,7 @@
if(!O.fingerprintslast)
return
var/client/assailant = directory[ckey(O.fingerprintslast)]
if(assailant.mob && istype(assailant.mob,/mob))
if(assailant && assailant.mob && istype(assailant.mob,/mob))
var/mob/M = assailant.mob
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been hit with [O], last touched by [M.name] ([assailant.ckey])</font>")
M.attack_log += text("\[[time_stamp()]\] <font color='red'>Hit [src.name] ([src.ckey]) with [O]</font>")

View File

@@ -130,9 +130,9 @@ var/list/department_radio_keys = list(
//world << "channel_prefix=[channel_prefix]; message_mode=[message_mode]"
if (message_mode)
message = trim(copytext(message, 3))
if (!(ishuman(src) || isanimal(src) || isrobot(src) && (message_mode=="department" || (message_mode in radiochannels))))
if (!(ishuman(src) || istype(src, /mob/living/simple_animal/parrot) || isrobot(src) && (message_mode=="department" || (message_mode in radiochannels))))
message_mode = null //only humans can use headsets
// Check removed so parrots can use headsets!
// Check changed so that parrots can use headsets. Other simple animals do not have ears and will cause runtimes.
// And borgs -Sieve
if (!message)

View File

@@ -419,6 +419,9 @@ var/global/list/uneatable = list(
/obj/machinery/singularity/proc/mezzer()
for(var/mob/living/carbon/M in oviewers(8, src))
if(istype(M, /mob/living/carbon/brain)) //Ignore brains
continue
if(M.stat == CONSCIOUS)
if(istype(M:glasses,/obj/item/clothing/glasses/meson))
M << "\blue You look directly into The [src.name], good thing you had your protective eyewear on!"

View File

@@ -6,6 +6,39 @@
// BEGIN_FILE_DIR
#define FILE_DIR .
#define FILE_DIR "html"
#define FILE_DIR "icons"
#define FILE_DIR "icons/effects"
#define FILE_DIR "icons/mecha"
#define FILE_DIR "icons/misc"
#define FILE_DIR "icons/mob"
#define FILE_DIR "icons/obj"
#define FILE_DIR "icons/obj/assemblies"
#define FILE_DIR "icons/obj/atmospherics"
#define FILE_DIR "icons/obj/clothing"
#define FILE_DIR "icons/obj/doors"
#define FILE_DIR "icons/obj/flora"
#define FILE_DIR "icons/obj/machines"
#define FILE_DIR "icons/obj/pipes"
#define FILE_DIR "icons/pda_icons"
#define FILE_DIR "icons/spideros_icons"
#define FILE_DIR "icons/Testing"
#define FILE_DIR "icons/turf"
#define FILE_DIR "icons/vending_icons"
#define FILE_DIR "maps"
#define FILE_DIR "sound"
#define FILE_DIR "sound/AI"
#define FILE_DIR "sound/ambience"
#define FILE_DIR "sound/effects"
#define FILE_DIR "sound/hallucinations"
#define FILE_DIR "sound/items"
#define FILE_DIR "sound/machines"
#define FILE_DIR "sound/mecha"
#define FILE_DIR "sound/misc"
#define FILE_DIR "sound/piano"
#define FILE_DIR "sound/violin"
#define FILE_DIR "sound/voice"
#define FILE_DIR "sound/weapons"
// END_FILE_DIR
// BEGIN_PREFERENCES