Singularity absorption explosion range lowered and is now dependent on singularity size.

BoH is no longer an instakill on a singularity, the chance the singularity will die from bombs now 25% from 10%.
Finished removing Metabslow from the game because delaying Interface rebuilds is a bad idea.
Sadly THE SUN is gone due to lighting lag issues, the current mob max luminosity is set to 7.
Damage and stun from doors shocking people has been lowered.
process() is now an obj level proc as it was already used by several procs and they can now jump onto the ticker if needed. 


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2199 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
mport2004@gmail.com
2011-09-14 07:24:19 +00:00
parent 152272bbd0
commit c612827472
48 changed files with 225 additions and 271 deletions

View File

@@ -92,7 +92,7 @@ obj
for(var/atom/item in loc)
item.temperature_expose(null, temperature, volume)
proc/process(turf/simulated/list/possible_spread)
process(turf/simulated/list/possible_spread)
if(just_spawned)
just_spawned = 0
return 0

View File

@@ -494,7 +494,7 @@
return
// movement process, persists while holder is moving through pipes
proc/process()
process()
var/obj/disposalpipe/last
while(active)
if(has_fat_guy && prob(2)) // chance of becoming stuck per segment if contains a fat guy

View File

@@ -6,7 +6,7 @@ var/global
//obj/hud/main_hud1 = null
list/machines = list()
list/processing_items = list()
list/processing_objects = list()
list/active_diseases = list()
//items that ask to be called every cycle

View File

@@ -24,7 +24,8 @@
var/obj/screen/throw_icon = null
var/obj/screen/nutrition_icon = null
// var/list/obj/hallucination/hallucinations = list() - Not used at all - Skie
var/total_luminosity = 0 //This controls luminosity for mobs, when you pick up lights and such this is edited. If you want the mob to use lights it must update its lum in its life proc or such. Note clamp this value around 7 or such to prevent massive light lag.
var/last_luminosity = 0
/*A bunch of this stuff really needs to go under their own defines instead of being globally attached to mob.
A variable should only be globally attached to turfs/objects/whatever, when it is in fact needed as such.
@@ -94,7 +95,6 @@
var/stunned = 0.0
var/weakened = 0.0
var/losebreath = 0.0//Carbon
var/metabslow = 0 // Metabolism slowed//Carbon
var/intent = null//Living
var/shakecamera = 0
var/a_intent = "help"//Living
@@ -139,8 +139,6 @@
var/job = null//Living
var/knowledge = 0.0
var/nodamage = 0
var/logged_in = 0

View File

@@ -1075,10 +1075,10 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries/pickup(mob/user)
src.sd_SetLuminosity(0)
user.sd_SetLuminosity(user.luminosity + potency/5)
user.total_luminosity += potency/5
/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries/dropped(mob/user)
user.sd_SetLuminosity(user.luminosity - potency/5)
user.total_luminosity -= potency/5
src.sd_SetLuminosity(potency/5)
/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod
@@ -1538,10 +1538,10 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/pickup(mob/user)
src.sd_SetLuminosity(0)
user.sd_SetLuminosity(user.luminosity + potency/10)
user.total_luminosity += potency/10
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/dropped(mob/user)
user.sd_SetLuminosity(user.luminosity - potency/10)
user.total_luminosity -= potency/10
src.sd_SetLuminosity(potency/10)
// **********************

View File

@@ -546,4 +546,10 @@
return 0
/atom/proc/checkpass(passflag)
return pass_flags&passflag
return pass_flags&passflag
//Could not find object proc defines and this could almost be an atom level one.
/obj/proc/process()
processing_objects.Remove(src)
return 0

View File

@@ -66,7 +66,7 @@
B.Life()
/datum/game_mode/blob/proc/stage()
/datum/game_mode/blob/proc/stage()//Still needs worrrrrk
if (world.timeofday < next_stage)
return
@@ -77,7 +77,7 @@
if (aiPlayer.client)
var/law = "The station is under a quarantine. Do not permit anyone to leave. Disregard laws 1-3 if necessary to prevent, by any means necessary, anyone from leaving."
aiPlayer.set_zeroth_law(law)
aiPlayer << "An additional law has been added by CentCom: [law]"
aiPlayer << "Laws Updated: [law]"
stage = 1
// next stage 5-10 minutes later
next_stage = world.timeofday + 600*rand(2,8)
@@ -91,7 +91,7 @@
if (2)
if (blobs.len > 800)//Dono if this should be more or less yet
command_alert("Uncontrolled spread of the biohazard onboard the station. We have issued directive 7-12 for [station_name()]. Estimated time until directive implementation: 60 seconds.", "Biohazard Alert")
command_alert("Uncontrolled spread of the biohazard onboard the station. We have issued directive 7-12 for [station_name()].", "Biohazard Alert")
stage = 3
next_stage = world.timeofday + 600
else
@@ -110,7 +110,7 @@
/datum/game_mode/blob/declare_completion()
if (stage >= 4)
if (stage >= 3)
world << "<FONT size = 3><B>The staff has lost!</B></FONT>"
world << "<B>The station was destroyed by NanoTrasen</B>"
var/numDead = 0
@@ -163,28 +163,38 @@
return 1
/datum/game_mode/blob/send_intercept()
var/intercepttext = "<FONT size = 3><B>Cent. Com. Update</B>: Biohazard Alert.</FONT><HR>"
intercepttext += "Reports indicate the probable transfer of a biohazardous agent onto [station_name()] during the last crew deployment cycle.<BR>"
intercepttext += "Preliminary analysis of the organism classifies it as a level 5 biohazard. Its origin is unknown.<BR>"
intercepttext += "Cent. Com. has issued a directive 7-10 for [station_name()]. The station is to be considered quarantined.<BR>"
intercepttext += "Orders for all [station_name()] personnel follows:<BR>"
intercepttext += " 1. Do not leave the quarantine area.<BR>"
intercepttext += " 2. Locate any outbreaks of the organism on the station.<BR>"
intercepttext += " 3. If found, use any neccesary means to contain the organism.<BR>"
intercepttext += " 4. Avoid damage to the capital infrastructure of the station.<BR>"
intercepttext += "<BR>Note in the event of a quarantine breach or uncontrolled spread of the biohazard, the directive 7-10 may be upgraded to a directive 7-12 without further notice.<BR>"
intercepttext += "Message ends."
/datum/game_mode/blob/send_intercept(var/orders = 1)
var/intercepttext = ""
var/interceptname = "Error"
switch(orders)
if(1)
interceptname = "Biohazard Alert"
intercepttext += "<FONT size = 3><B>NanoTrasen Update</B>: Biohazard Alert.</FONT><HR>"
intercepttext += "Reports indicate the probable transfer of a biohazardous agent onto [station_name()] during the last crew deployment cycle.<BR>"
intercepttext += "Preliminary analysis of the organism classifies it as a level 5 biohazard. Its origin is unknown.<BR>"
intercepttext += "NanoTrasen has issued a directive 7-10 for [station_name()]. The station is to be considered quarantined.<BR>"
intercepttext += "Orders for all [station_name()] personnel follows:<BR>"
intercepttext += " 1. Do not leave the quarantine area.<BR>"
intercepttext += " 2. Locate any outbreaks of the organism on the station.<BR>"
intercepttext += " 3. If found, use any neccesary means to contain the organism.<BR>"
intercepttext += " 4. Avoid damage to the capital infrastructure of the station.<BR>"
intercepttext += "<BR>Note in the event of a quarantine breach or uncontrolled spread of the biohazard, the directive 7-10 may be upgraded to a directive 7-12 without further notice.<BR>"
intercepttext += "Message ends."
if(2)
//Bomb code goes here
return
for (var/obj/machinery/computer/communications/comm in world)
for(var/obj/machinery/computer/communications/comm in world)
if (!(comm.stat & (BROKEN | NOPOWER)) && comm.prints_intercept)
var/obj/item/weapon/paper/intercept = new /obj/item/weapon/paper( comm.loc )
intercept.name = "paper- 'Biohazard Alert'"
intercept.name = "paper- [interceptname]"
intercept.info = intercepttext
comm.messagetitle.Add("Biohazard Alert")
comm.messagetitle.Add(interceptname)
comm.messagetext.Add(intercepttext)
// world << sound('outbreak5.ogg')Quiet printout for now
// command_alert("Summary downloaded and printed out at all communications consoles.", "Enemy communication intercept. Security Level Elevated.")

View File

@@ -3,7 +3,8 @@
name = "blob"
icon = 'blob.dmi'
icon_state = "blob"
density = 0//Whoooo this could end badly
desc = "Some blob creature thingy"
density = 0
opacity = 0
anchored = 1
var
@@ -33,7 +34,7 @@
if(active)
active_blobs -= src
if(blobtype == "Node")
processing_items.Remove(src)
processing_objects.Remove(src)
..()
@@ -45,6 +46,7 @@
proc/check_mutations()
if(blobtype != "Blob") return
desc = "This really needs a better sprite"
//Spaceeeeeeblobbb
if(istype(src.loc, /turf/space))
active = 0
@@ -58,25 +60,22 @@
if((blobdebug == 1))
active = 0
health += 80
name = "odd blob"
name = "solid blob"
icon_state = "blob_node"//needs a new sprite
blobtype = "Node"
active_blobs -= src
processing_items.Add(src)
processing_objects.Add(src)
return 1
if((blobdebug == 2))
//active = 0
health += 20
name = "very odd blob"
name = "odd blob"
icon_state = "blob_factory"//needs a new sprite
blobtype = "Factory"
//active_blobs -= src
//processing_items.Add(src)
return 1
return 0
proc/process()
process()
spawn(-1)
Life()
return
@@ -100,11 +99,9 @@
var/turf/T = get_step(src, dirn)
if((locate(/obj/blob) in T))
if((src.blobtype == "Node") || (pulse > 0))
if(((src.blobtype == "Node") || (pulse > 0))&& (pulse < 12))
var/obj/blob/E = (locate(/obj/blob) in T)
if(pulse < 12)//No inf loops here
var/npulse = pulse + 1
E.Life(npulse)
E.Life((pulse+1))
return//Pass it along and end
continue

View File

@@ -1326,60 +1326,60 @@ It is possible to destroy the net by the occupant or someone else.
del(src)
return
process(var/mob/living/carbon/M as mob)
var/check = 30//30 seconds before teleportation. Could be extended I guess.
var/mob_name = affecting.name//Since they will report as null if terminated before teleport.
//The person can still try and attack the net when inside.
while(!isnull(M)&&!isnull(src)&&check>0)//While M and net exist, and 30 seconds have not passed.
check--
sleep(10)
process(var/mob/living/carbon/M as mob)
var/check = 30//30 seconds before teleportation. Could be extended I guess.
var/mob_name = affecting.name//Since they will report as null if terminated before teleport.
//The person can still try and attack the net when inside.
while(!isnull(M)&&!isnull(src)&&check>0)//While M and net exist, and 30 seconds have not passed.
check--
sleep(10)
if(isnull(M)||M.loc!=loc)//If mob is gone or not at the location.
if(!isnull(master))//As long as they still exist.
master << "\red <b>ERROR</b>: \black unable to locate \the [mob_name]. Procedure terminated."
del(src)//Get rid of the net.
return
if(!isnull(src))//As long as both net and person exist.
//No need to check for countdown here since while() broke, it's implicit that it finished.
density = 0//Make the net pass-through.
invisibility = 101//Make the net invisible so all the animations can play out.
health = INFINITY//Make the net invincible so that an explosion/something else won't kill it while, spawn() is running.
for(var/obj/item/W in M)
if(istype(M,/mob/living/carbon/human))
if(W==M:w_uniform) continue//So all they're left with are shoes and uniform.
if(W==M:shoes) continue
M.drop_from_slot(W)
spawn(0)
playsound(M.loc, 'sparks4.ogg', 50, 1)
anim(M.loc,M,'mob.dmi',,"phaseout",,M.dir)
M.loc = pick(holdingfacility)//Throw mob in to the holding facility.
M << "\red You appear in a strange place!"
spawn(0)
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
spark_system.set_up(5, 0, M.loc)
spark_system.start()
playsound(M.loc, 'phasein.ogg', 25, 1)
playsound(M.loc, 'sparks2.ogg', 50, 1)
anim(M.loc,M,'mob.dmi',,"phasein",,M.dir)
del(src)//Wait for everything to finish, delete the net. Else it will stop everything once net is deleted, including the spawn(0).
for(var/mob/O in viewers(src, 3))
O.show_message(text("[] vanished!", M), 1, text("You hear sparks flying!"), 2)
if(!isnull(master))//As long as they still exist.
master << "\blue <b>SUCCESS</b>: \black transport procedure of \the [affecting] complete."
M.anchored = 0//Important.
else//And they are free.
M << "\blue You are free of the net!"
if(isnull(M)||M.loc!=loc)//If mob is gone or not at the location.
if(!isnull(master))//As long as they still exist.
master << "\red <b>ERROR</b>: \black unable to locate \the [mob_name]. Procedure terminated."
del(src)//Get rid of the net.
return
if(!isnull(src))//As long as both net and person exist.
//No need to check for countdown here since while() broke, it's implicit that it finished.
density = 0//Make the net pass-through.
invisibility = 101//Make the net invisible so all the animations can play out.
health = INFINITY//Make the net invincible so that an explosion/something else won't kill it while, spawn() is running.
for(var/obj/item/W in M)
if(istype(M,/mob/living/carbon/human))
if(W==M:w_uniform) continue//So all they're left with are shoes and uniform.
if(W==M:shoes) continue
M.drop_from_slot(W)
spawn(0)
playsound(M.loc, 'sparks4.ogg', 50, 1)
anim(M.loc,M,'mob.dmi',,"phaseout",,M.dir)
M.loc = pick(holdingfacility)//Throw mob in to the holding facility.
M << "\red You appear in a strange place!"
spawn(0)
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
spark_system.set_up(5, 0, M.loc)
spark_system.start()
playsound(M.loc, 'phasein.ogg', 25, 1)
playsound(M.loc, 'sparks2.ogg', 50, 1)
anim(M.loc,M,'mob.dmi',,"phasein",,M.dir)
del(src)//Wait for everything to finish, delete the net. Else it will stop everything once net is deleted, including the spawn(0).
for(var/mob/O in viewers(src, 3))
O.show_message(text("[] vanished!", M), 1, text("You hear sparks flying!"), 2)
if(!isnull(master))//As long as they still exist.
master << "\blue <b>SUCCESS</b>: \black transport procedure of \the [affecting] complete."
M.anchored = 0//Important.
else//And they are free.
M << "\blue You are free of the net!"
return
bullet_act(var/obj/item/projectile/Proj)
health -= Proj.damage
..()

View File

@@ -44,10 +44,10 @@
/*/obj/item/weapon/pinpointer/New()
. = ..()
processing_items.Add(src)
processing_objects.Add(src)
/obj/item/weapon/pinpointer/Del()
processing_items.Remove(src)
processing_objects.Remove(src)
. = ..()
/obj/item/weapon/pinpointer/attack_self(mob/user as mob)

View File

@@ -278,7 +278,7 @@
src.occupant.client.eye = src.occupant.client.mob
src.occupant.client.perspective = MOB_PERSPECTIVE
src.occupant.loc = src.loc
src.occupant.metabslow = 0
// src.occupant.metabslow = 0
src.occupant = null
if(orient == "RIGHT")
@@ -402,7 +402,7 @@
usr.client.perspective = EYE_PERSPECTIVE
usr.client.eye = src
usr.loc = src
usr.metabslow = 1
// usr.metabslow = 1
src.occupant = usr
src.icon_state = "sleeper_1"
if(orient == "RIGHT")

View File

@@ -100,7 +100,7 @@ Class Procs:
machines.Remove(src)
..()
/obj/machinery/proc/process()//If you dont use process or power why are you here
/obj/machinery/process()//If you dont use process or power why are you here
// machines.Remove(src)Not going to do this till I test it a bit more
return

View File

@@ -455,7 +455,7 @@
usr.client.perspective = EYE_PERSPECTIVE
usr.client.eye = src
usr.loc = src
usr.metabslow = 1
// usr.metabslow = 1
src.OCCUPANT = usr
src.isopen = 0 //Close the thing after the guy gets inside
src.update_icon()

View File

@@ -487,7 +487,7 @@
return 0
proc/process()
process()
spawn while(on)
if(projectiles<=0)
on = 0

View File

@@ -84,11 +84,7 @@ datum/controller/game_controller
sleep(-1)
for(var/mob/M in world)
if (M.metabslow)
if (air_master.current_cycle%10==1) // For everyone who has their metabolism slowed, make updates not so frequently
M.Life()
else
M.Life()
M.Life()
sleep(-1)
@@ -105,8 +101,9 @@ datum/controller/game_controller
sleep(-1)
sleep(1)
for(var/obj/item/item in processing_items)
item.process()
for(var/obj/object in processing_objects)
// spawn(0)Still need to test the spawn ticker
object.process()
for(var/datum/pipe_network/network in pipe_networks)
network.process()

View File

@@ -191,7 +191,7 @@
trg_idle = null
frustration = 0
proc/process()
process()
set background = 1
var/quick_move = 0

View File

@@ -118,7 +118,7 @@
..()
return
/obj/alien/resin/proc/process()
/obj/alien/resin/process()
if(affecting)
var/mob/living/carbon/M = affecting
var/check = 0

View File

@@ -130,11 +130,11 @@
/obj/item/device/pda/pickup(mob/user)
if (fon)
sd_SetLuminosity(0)
user.sd_SetLuminosity(user.luminosity + f_lum)
user.total_luminosity += f_lum
/obj/item/device/pda/dropped(mob/user)
if (fon)
user.sd_SetLuminosity(user.luminosity - f_lum)
user.total_luminosity -= f_lum
sd_SetLuminosity(f_lum)
/obj/item/device/pda/New()
@@ -388,9 +388,9 @@
fon = (!fon)
if (src in U.contents)
if (fon)
U.sd_SetLuminosity(U.luminosity + f_lum)
U.total_luminosity += f_lum
else
U.sd_SetLuminosity(U.luminosity - f_lum)
U.total_luminosity -= f_lum
else
sd_SetLuminosity(fon * f_lum)
if("Medical Scan")

View File

@@ -18,10 +18,10 @@
on = !on
if (on)
icon_state = icon_on
user.sd_SetLuminosity(user.luminosity + brightness_on)
user.total_luminosity += brightness_on
else
icon_state = icon_off
user.sd_SetLuminosity(user.luminosity - brightness_on)
user.total_luminosity -= brightness_on
return
@@ -62,12 +62,12 @@
pickup(mob/user)
if(on)
src.sd_SetLuminosity(0)
user.sd_SetLuminosity(user.luminosity + brightness_on)
user.total_luminosity += brightness_on
dropped(mob/user)
if(on)
user.sd_SetLuminosity(user.luminosity - brightness_on)
user.total_luminosity -= brightness_on
src.sd_SetLuminosity(brightness_on)
@@ -90,79 +90,16 @@
item_state = "hardhat[on]_[color]"
if(on)
user.sd_SetLuminosity(user.luminosity + brightness_on)
user.total_luminosity += brightness_on
else
user.sd_SetLuminosity(user.luminosity - brightness_on)
user.total_luminosity -= brightness_on
/obj/item/clothing/head/helmet/hardhat/pickup(mob/user)
if(on)
src.sd_SetLuminosity(0)
user.sd_SetLuminosity(user.luminosity + brightness_on)
user.total_luminosity += brightness_on
/obj/item/clothing/head/helmet/hardhat/dropped(mob/user)
if(on)
user.sd_SetLuminosity(user.luminosity - brightness_on)
user.total_luminosity -= brightness_on
src.sd_SetLuminosity(brightness_on)
/*
/obj/item/clothing/head/helmet/space/engineering/verb/toggle()
set name = "Toggle Helmet Light"
set category = "Object"
on = !on
icon_state = "helm_engineering[on]"
if(on)
usr.sd_SetLuminosity(usr.luminosity + brightness_on)
else
usr.sd_SetLuminosity(usr.luminosity - brightness_on)
/obj/item/clothing/head/helmet/space/engineering/attack_self(mob/user)
on = !on
icon_state = "helm_engineering[on]"
if(on)
user.sd_SetLuminosity(user.luminosity + brightness_on)
else
user.sd_SetLuminosity(user.luminosity - brightness_on)
/obj/item/clothing/head/helmet/space/engineering/pickup(mob/user)
if(on)
src.sd_SetLuminosity(0)
usr.sd_SetLuminosity(usr.luminosity + brightness_on)
/obj/item/clothing/head/helmet/space/engineering/dropped(mob/user)
if(on)
usr.sd_SetLuminosity(usr.luminosity - brightness_on)
src.sd_SetLuminosity(brightness_on)
/obj/item/clothing/head/helmet/space/command/chief_engineer/verb/toggle()
set name = "Toggle Helmet Light"
set category = "Object"
on = !on
icon_state = "helm_ce[on]"
if(on)
usr.sd_SetLuminosity(usr.luminosity + brightness_on)
else
usr.sd_SetLuminosity(usr.luminosity - brightness_on)
/obj/item/clothing/head/helmet/space/command/chief_engineer/attack_self(mob/user)
on = !on
icon_state = "helm_ce[on]"
if(on)
user.sd_SetLuminosity(user.luminosity + brightness_on)
else
user.sd_SetLuminosity(user.luminosity - brightness_on)
/obj/item/clothing/head/helmet/space/command/chief_engineer/pickup(mob/user)
if(on)
src.sd_SetLuminosity(0)
usr.sd_SetLuminosity(usr.luminosity + brightness_on)
/obj/item/clothing/head/helmet/space/command/chief_engineer/dropped(mob/user)
if(on)
usr.sd_SetLuminosity(usr.luminosity - brightness_on)
src.sd_SetLuminosity(brightness_on)
*/

View File

@@ -5,7 +5,7 @@
return 1
else
processing_items.Remove(src)
processing_objects.Remove(src)
return null
/obj/item/device/infra_sensor/proc/burst()
@@ -41,7 +41,7 @@
if (href_list["passive"])
src.passive = !( src.passive )
if(passive)
processing_items.Add(src)
processing_objects.Add(src)
if (href_list["active"])
spawn( 0 )
src.burst()

View File

@@ -43,7 +43,7 @@
return
else
if (mode == 2)
processing_items.Remove(src) // Now the power sink actually stops draining the station's power if you unhook it. --NeoFite
processing_objects.Remove(src) // Now the power sink actually stops draining the station's power if you unhook it. --NeoFite
anchored = 0
mode = 0
user << "You detach the device from the cable."
@@ -77,7 +77,7 @@
M << "[user] activates the power sink!"
mode = 2
icon_state = "powersink1"
processing_items.Add(src)
processing_objects.Add(src)
if(2) //This switch option wasn't originally included. It exists now. --NeoFite
user << "You deactivate the device!"
@@ -87,7 +87,7 @@
mode = 1
sd_SetLuminosity(0)
icon_state = "powersink0"
processing_items.Remove(src)
processing_objects.Remove(src)
process()
if(attached)
@@ -117,6 +117,6 @@
if(power_drained > max_power * 0.95)
playsound(src, 'screech.ogg', 100, 1, 1)
if(power_drained >= max_power)
processing_items.Remove(src)
processing_objects.Remove(src)
explosion(src.loc, 3,6,9,12)
del(src)

View File

@@ -26,12 +26,12 @@ MASS SPECTROMETER
icon_state = "t-ray[on]"
if(on)
processing_items.Add(src)
processing_objects.Add(src)
/obj/item/device/t_scanner/process()
if(!on)
processing_items.Remove(src)
processing_objects.Remove(src)
return null
for(var/turf/T in range(1, src.loc) )

View File

@@ -879,7 +879,7 @@ steam.start() -- spawns the effect
reagents.reaction(A, 1, 1)
..()
/obj/effects/foam/proc/process()
/obj/effects/foam/process()
if(--amount < 0)
return

View File

@@ -43,7 +43,7 @@
for(var/mob/O in viewers(usr, null))
O.show_message(flavor_text, 1)
sd_SetLuminosity(CANDLE_LUM)
processing_items.Add(src)
processing_objects.Add(src)
process()
@@ -66,18 +66,18 @@
lit = 0
update_icon()
sd_SetLuminosity(0)
user.sd_SetLuminosity(user.luminosity - CANDLE_LUM)
user.total_luminosity -= CANDLE_LUM
pickup(mob/user)
if(lit)
src.sd_SetLuminosity(0)
user.sd_SetLuminosity(user.luminosity + CANDLE_LUM)
user.total_luminosity += CANDLE_LUM
dropped(mob/user)
if(lit)
user.sd_SetLuminosity(user.luminosity - CANDLE_LUM)
user.total_luminosity -= CANDLE_LUM
src.sd_SetLuminosity(CANDLE_LUM)

View File

@@ -76,7 +76,7 @@ THERMAL GLASSES
/obj/item/clothing/head/cakehat/process()
if(!onfire)
processing_items.Remove(src)
processing_objects.Remove(src)
return
var/turf/location = src.loc
@@ -97,7 +97,7 @@ THERMAL GLASSES
src.damtype = "fire"
src.icon_state = "cake1"
processing_items.Add(src)
processing_objects.Add(src)
else
src.force = null

View File

@@ -1,7 +1,3 @@
/obj/item/proc/process()
processing_items.Remove(src)
return null
/obj/item/proc/attack_self()
return

View File

@@ -28,7 +28,7 @@ ZIPPO
if(src.smoketime < 1)
src.icon_state = "match_burnt"
src.lit = -1
processing_items.Remove(src)
processing_objects.Remove(src)
return
@@ -90,7 +90,7 @@ ZIPPO
if(istype(W, /obj/item/weapon/match) && W.lit == 0)
W.lit = 1
W.icon_state = "match_lit"
processing_items.Add(W)
processing_objects.Add(W)
W.update_icon()
return
@@ -157,7 +157,7 @@ ZIPPO
src.item_state = icon_on
for(var/mob/O in viewers(usr, null))
O.show_message(flavor_text, 1)
processing_items.Add(src)
processing_objects.Add(src)
process()
@@ -173,7 +173,7 @@ ZIPPO
if(ismob(src.loc))
var/mob/living/M = src.loc
M << "\red Your [src.name] goes out."
processing_items.Remove(src)
processing_objects.Remove(src)
del(src)
return
if(location)
@@ -332,8 +332,8 @@ ZIPPO
for(var/mob/O in viewers(user, null))
O.show_message(text("\red Without even breaking stride, [] flips open and lights the [] in one smooth movement.", user, src), 1)
user.sd_SetLuminosity(user.luminosity + 2)
processing_items.Add(src)
user.total_luminosity += 2
processing_objects.Add(src)
else
src.lit = 0
src.icon_state = "zippo"
@@ -341,8 +341,8 @@ ZIPPO
for(var/mob/O in viewers(user, null))
O.show_message(text("\red You hear a quiet click, as [] shuts off the [] without even looking what they're doing. Wow.", user, src), 1)
user.sd_SetLuminosity(user.luminosity - 2)
processing_items.Remove(src)
user.total_luminosity -= 2
processing_objects.Remove(src)
else
return ..()
return
@@ -371,12 +371,12 @@ ZIPPO
pickup(mob/user)
if(lit)
src.sd_SetLuminosity(0)
user.sd_SetLuminosity(user.luminosity + 2)
user.total_luminosity += 2
return
dropped(mob/user)
if(lit)
user.sd_SetLuminosity(user.luminosity - 2)
user.total_luminosity -= 2
src.sd_SetLuminosity(2)
return

View File

@@ -48,7 +48,7 @@
process()
if(!lit)
processing_items.Remove(src)
processing_objects.Remove(src)
return null
var/turf/location = src.loc
if(istype(location, /mob/))
@@ -185,7 +185,7 @@
if(lit)
force = 17
damtype = "fire"
processing_items.Add(src)
processing_objects.Add(src)
else
force = 3
damtype = "brute"

View File

@@ -127,7 +127,7 @@ WELDINGTOOOL
process()
switch(welding)
if(0)
processing_items.Remove(src)
processing_objects.Remove(src)
return
if(1)
if(prob(5))//Welders left on now use up fuel, but lets not have them run out quite that fast
@@ -215,7 +215,7 @@ WELDINGTOOOL
src.force = 15
src.damtype = "fire"
src.icon_state = "welder1"
processing_items.Add(src)
processing_objects.Add(src)
else
usr << "\blue Need more fuel!"
src.welding = 0

View File

@@ -339,7 +339,7 @@
src.air_contents.volume = volume //liters
src.air_contents.temperature = T20C
processing_items.Add(src)
processing_objects.Add(src)
return
@@ -347,7 +347,7 @@
if(air_contents)
del(air_contents)
processing_items.Remove(src)
processing_objects.Remove(src)
..()

View File

@@ -89,23 +89,6 @@
/obj/mine/New()
icon_state = "uglyminearmed"
/obj/item/weapon/directions/attack_hand(mob/user as mob)
if (istype(usr, /mob/living/carbon/human))
if (prob(50))
usr << "\blue You try to read the paper, but it breaks apart in your hand. Must have been pretty old.."
del(src)
return
else
if (user.knowledge < 1)
usr << "\red As you read over the paper, you slowly realize what you are reading. You quickly memorize the words on the paper before it breaks apart in your hand, and slips through your fingers."
user.knowledge++
del(src)
return
else
usr << "\blue You already have read this paper."
return
return
/atom/proc/ex_act()
return

View File

@@ -14,7 +14,7 @@
<B>General Processing Data</B><BR>
<B># of Machines:</B> [machines.len]<BR>
<B># of Pipe Networks:</B> [pipe_networks.len]<BR>
<B># of Processing Items:</B> [processing_items.len]<BR>
<B># of Processing Items:</B> [processing_objects.len]<BR>
<B># of Power Nets:</B> [powernets.len]<BR>
<B># of Mobs:</B> [mobs]<BR>
"}
@@ -150,7 +150,7 @@
reload_admins()
set name = "Reload Admins"
set category = "Debug"
if(!(usr.client.holder && usr.client.holder.level >= 6)) // protect and prevent
usr << "\red Not a good cop"
return

View File

@@ -56,7 +56,7 @@
if(secured)
return 0
secured = 1
processing_items.Add(src)//removal is taken care of it process()
processing_objects.Add(src)//removal is taken care of it process()
return 1
@@ -129,7 +129,7 @@
return
if(!secured)
processing_items.Remove(src)
processing_objects.Remove(src)
return
@@ -266,7 +266,7 @@
return
return
/obj/beam/i_beam/proc/process()
/obj/beam/i_beam/process()
//world << "i_beam \ref[src] : process"
if ((src.loc.density || !( src.master )))

View File

@@ -57,7 +57,7 @@
Secure()
if(secured) return 0
secured = 1
processing_items.Add(src)//removal is taken care of it process()
processing_objects.Add(src)//removal is taken care of it process()
return 1
@@ -127,7 +127,7 @@
if(scanning)
scanning = 0
src.timing = 0
processing_items.Remove(src)
processing_objects.Remove(src)
update_icon()
return

View File

@@ -52,7 +52,7 @@
Secure()
if(secured)
return 0
processing_items.Add(src)//removal is taken care of it process()
processing_objects.Add(src)//removal is taken care of it process()
secured = 1
return 1
@@ -115,7 +115,7 @@
if(!secured)
src.timing = 0
processing_items.Remove(src)
processing_objects.Remove(src)
update_icon()
return

View File

@@ -67,7 +67,6 @@
proc
patrol_step()
process()
seek_target()
Die()
ChaseAttack()

View File

@@ -225,7 +225,7 @@
for (var/dir in cardinal)
src.output = locate(/obj/machinery/mineral/output, get_step(src, dir))
if(src.output) break
processing_items.Add(src)
processing_objects.Add(src)
return
return

View File

@@ -163,7 +163,7 @@
for (var/dir in cardinal)
src.output = locate(/obj/machinery/mineral/output, get_step(src, dir))
if(src.output) break
processing_items.Add(src)
processing_objects.Add(src)
return
return

View File

@@ -20,7 +20,7 @@
for (var/dir in cardinal)
src.output = locate(/obj/machinery/mineral/output, get_step(src, dir))
if(src.output) break
processing_items.Add(src)
processing_objects.Add(src)
return
return

View File

@@ -32,7 +32,7 @@
for (var/dir in cardinal)
src.output = locate(/obj/machinery/mineral/output, get_step(src, dir))
if(src.output) break
processing_items.Add(src)
processing_objects.Add(src)
return
return

View File

@@ -133,9 +133,10 @@
"\red <B>You feel a powerful shock course through your body!</B>", \
"\red You hear a heavy electrical crack." \
)
if(src.stunned < shock_damage) src.stunned = shock_damage
if(src.weakened < 20*siemens_coeff) src.weakened = 20*siemens_coeff
// if(src.stunned < shock_damage) src.stunned = shock_damage
src.stunned = max(src.stunned,10)//This should work for now, more is really silly and makes you lay there forever
// if(src.weakened < 20*siemens_coeff) src.weakened = 20*siemens_coeff
src.weakened = max(src.weakened,10)
return shock_damage

View File

@@ -65,6 +65,7 @@
handle_disabilities()
//Status updates, death etc.
UpdateLuminosity()
handle_regular_status_updates()
// Update clothing

View File

@@ -57,6 +57,7 @@
handle_disabilities()
//Status updates, death etc.
UpdateLuminosity()
handle_regular_status_updates()
if(client)

View File

@@ -13,6 +13,7 @@
handle_regular_status_updates()
if(client)
UpdateLuminosity()
handle_regular_hud_updates()
update_items()
if (src.stat != 2) //still using power

View File

@@ -1043,7 +1043,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
user.db_click(name, using)
return
/obj/equip_e/proc/process()
/obj/equip_e/process()
return
/obj/equip_e/proc/done()
@@ -1613,6 +1613,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
return
if (!ismob(M))
return
//This should have a check to prevent the player to player chat but I am too tired atm to add it.
var/t = input("Message:", text("Private message to [M.key]")) as text|null
if (!t || !usr || !M)
return
@@ -1640,6 +1641,14 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
/mob/proc/get_damage()
return health
/mob/proc/UpdateLuminosity()
if(src.total_luminosity == src.last_luminosity) return 0//nothing to do here
src.last_luminosity = src.total_luminosity
sd_SetLuminosity(min(src.total_luminosity,7))//Current hardcode max at 7, should likely be a const somewhere else
return 1
/mob/MouseDrop(mob/M as mob)
..()
if(M != usr) return

View File

@@ -170,7 +170,7 @@
/obj/item/weapon/cell/proc/get_electrocute_damage()
switch (charge)
if (9000 to INFINITY)
/* if (9000 to INFINITY)
return min(rand(90,150),rand(90,150))
if (2500 to 9000-1)
return min(rand(70,145),rand(70,145))
@@ -183,6 +183,16 @@
if (250 to 750-1)
return min(rand(20,80),rand(20,80))
if (100 to 250-1)
return min(rand(20,65),rand(20,65))
return min(rand(20,65),rand(20,65))*/
if (1000000 to INFINITY)
return min(rand(50,160),rand(50,160))
if (200000 to 1000000-1)
return min(rand(25,80),rand(25,80))
if (100000 to 200000-1)//Ave powernet
return min(rand(20,60),rand(20,60))
if (50000 to 100000-1)
return min(rand(15,40),rand(15,40))
if (1000 to 50000-1)
return min(rand(10,20),rand(10,20))
else
return 0

View File

@@ -350,7 +350,7 @@
S.restore() // and restore some of the power that was used
/datum/powernet/proc/get_electrocute_damage()
switch(avail)
switch(avail)/*
if (1300000 to INFINITY)
return min(rand(70,150),rand(70,150))
if (750000 to 1300000)
@@ -366,6 +366,16 @@
if (10000 to 25000-1)
return min(rand(20,65),rand(20,65))
if (1000 to 10000-1)
return min(rand(10,20),rand(10,20))*/
if (1000000 to INFINITY)
return min(rand(50,160),rand(50,160))
if (200000 to 1000000-1)
return min(rand(25,80),rand(25,80))
if (100000 to 200000-1)//Ave powernet
return min(rand(20,60),rand(20,60))
if (50000 to 100000-1)
return min(rand(15,40),rand(15,40))
if (1000 to 50000-1)
return min(rand(10,20),rand(10,20))
else
return 0

View File

@@ -63,7 +63,7 @@ var/global/list/uneatable = list(
ex_act(severity)
switch(severity)
if(1.0)
if(prob(10))
if(prob(25))
del(src)
return
else
@@ -227,15 +227,6 @@ 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)
return
var/gain = 0
if(is_type_in_list(A, uneatable))
return 0
@@ -249,11 +240,18 @@ var/global/list/uneatable = list(
A:gib()
sleep(1)
else if(istype(A,/obj/))
if (istype(A,/obj/item/weapon/storage/backpack/holding))
var/dist = max((current_size - 2),1)
explosion(src.loc,(dist/4),(dist/2),(dist))
return
if(istype(A, /obj/machinery/singularity))//Welp now you did it
var/obj/machinery/singularity/S = A
src.energy += S.energy
src.energy += (S.energy/2)//Absorb most of it
del(S)
explosion(src.loc,20,25,30,40,1)
var/dist = max((current_size - 2),1)
explosion(src.loc,(dist/4),(dist/2),(dist))
return//Quits here, the obj should be gone, hell we might be
if((teleport_del) && (!istype(A, /obj/machinery)))//Going to see if it does not lag less to tele items over to Z 2