Fixed some runtimes.

Virus2 has been effectively removed from the code as it was not actually used and was causing some runtimes.
The PA is now properly affected by meteors/blobs/bombs.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2903 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
mport2004@gmail.com
2012-01-02 22:12:36 +00:00
parent 3dcdccbd81
commit f12301d51a
15 changed files with 82 additions and 121 deletions

View File

@@ -6,6 +6,6 @@
var/eye_op_stage = 0.0
var/appendix_op_stage = 0.0
var/datum/disease2/disease/virus2 = null
var/list/datum/disease2/disease/resistances2 = list()
//var/datum/disease2/disease/virus2 = null
//var/list/datum/disease2/disease/resistances2 = list()
var/antibodies = 0

View File

@@ -51,7 +51,7 @@
var/list/viruses = list()
blood_DNA = null
blood_type = null
var/datum/disease2/disease/virus2 = null
//var/datum/disease2/disease/virus2 = null
Del()
for(var/datum/disease/D in viruses)

View File

@@ -717,7 +717,7 @@
if (src.connected) //Is something connected?
var/mob/occupant = src.connected.occupant
dat = "<font color='blue'><B>Occupant Statistics:</B></FONT><BR>" //Blah obvious
if (occupant) //is there REALLY someone in there?
if(occupant && occupant.dna) //is there REALLY someone in there?
if(occupant.mutations & HUSK)
dat += "The occupant's DNA structure is of an unknown configuration, please insert a subject with a standard DNA structure.<BR><BR>" //NOPE. -Pete
dat += text("<A href='?src=\ref[];buffermenu=1'>View/Edit/Transfer Buffer</A><BR><BR>", src)

View File

@@ -72,7 +72,6 @@ datum/controller/game_controller
if(!processing)
return 0
//world << "Processing"
controllernum = "yes"
spawn (100) controllernum = "no"
@@ -107,7 +106,6 @@ datum/controller/game_controller
sleep(1)
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)

View File

@@ -86,8 +86,8 @@
for(var/datum/disease/D in patient.viruses)
if(!D.hidden[SCANNER])
foundVirus++
if(patient.virus2)
foundVirus++
//if(patient.virus2)
// foundVirus++
C.images += image(tempHud,patient,"hud[RoundHealth(patient.health)]")
if(patient.stat == 2)
C.images += image(tempHud,patient,"huddead")

View File

@@ -1463,6 +1463,8 @@
viral_outbreak(V)
message_admins("[key_name_admin(usr)] has triggered a virus outbreak of [V]", 1)
else
usr << "Nope"
/*
var/lesser = (alert("Do you want to infect the mob with a major or minor disease?",,"Major","Minor") == "Minor")
var/mob/living/carbon/victim = input("Select a mob to infect", "Virus2") as null|mob in world
if(!istype(victim)) return
@@ -1471,6 +1473,7 @@
else
infect_mob_random_greater(victim)
message_admins("[key_name_admin(usr)] has infected [victim] with a [lesser ? "minor" : "major"] virus2.", 1)
*/
if("retardify")
if (src.rank in list("Badmin", "Game Admin", "Game Master"))
feedback_inc("admin_secrets_fun_used",1)

View File

@@ -96,7 +96,7 @@ datum
blood
data = new/list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null,"virus2"=null,"antibodies"=0)
data = new/list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null)
name = "Blood"
id = "blood"
reagent_state = LIQUID
@@ -113,20 +113,6 @@ datum
else //injected
M.contract_disease(virus, 1, 0)
if(self.data["virus2"])
if(method == TOUCH)
infect_virus2(M,self.data["virus2"])
else
infect_virus2(M,self.data["virus2"],1)
if(istype(M,/mob/living/carbon))
// add the host's antibodies to their blood
self.data["antibodies"] |= M:antibodies
// check if the blood has antibodies that cure our disease
if(self.data["antibodies"] & M:virus2.antigen) if(prob(10))
M:virus2.dead = 1
/*
if(self.data["virus"])
@@ -157,18 +143,6 @@ datum
blood_prop.viruses += newVirus
newVirus.holder = blood_prop
var/datum/disease2/disease/v = self.data["virus2"]
if(v)
blood_prop.virus2 = v.getcopy()
// this makes it almost impossible for airborne diseases to spread
// THIS SHIT HAS TO GO, SORRY!
/*
if(T.density==0)
newVirus.spread_type = CONTACT_FEET
else
newVirus.spread_type = CONTACT_HANDS
*/
else if(istype(self.data["donor"], /mob/living/carbon/monkey))
var/obj/effect/decal/cleanable/blood/blood_prop = locate() in T

View File

@@ -780,10 +780,7 @@
/obj/machinery/bot/medbot,
/obj/machinery/computer/pandemic,
/obj/item/weapon/secstorage/ssafe,
/obj/machinery/disposal,
/obj/machinery/disease2/incubator,
/obj/machinery/disease2/isolator,
/obj/machinery/disease2/biodestroyer
/obj/machinery/disposal
)
examine()
@@ -1003,9 +1000,6 @@
B.data["viruses"] += new D.type
// not sure why it was checking if(B.data["virus2"]), but it seemed wrong
if(T.virus2)
B.data["virus2"] = T.virus2.getcopy()
B.data["blood_DNA"] = copytext(T.dna.unique_enzymes,1,0)
if(T.resistances&&T.resistances.len)
@@ -1018,11 +1012,7 @@
temp_chem += R.name
temp_chem[R.name] = R.volume
B.data["trace_chem"] = list2params(temp_chem)
B.data["antibodies"] = T.antibodies
//debug
//for(var/D in B.data)
// world << "Data [D] = [B.data[D]]"
//debug
src.reagents.reagent_list += B
src.reagents.update_total()
src.on_reagent_change()

View File

@@ -51,8 +51,6 @@
for(var/datum/disease/D in patient.viruses)
if(!D.hidden[SCANNER])
foundVirus++
if(patient.virus2)
foundVirus++
C.images += image(tempHud,patient,"hud[RoundHealth(patient.health)]")
if(patient.stat == 2)
C.images += image(tempHud,patient,"huddead")

View File

@@ -1015,33 +1015,6 @@
if(bodytemperature > 406)
for(var/datum/disease/D in viruses)
D.cure()
if(!virus2)
// the following is silly since it lets you infect people through glass
/*for(var/mob/living/carbon/M in oviewers(4,src))
if(M.virus2)
infect_virus2(src,M.virus2)*/
// instead we're going to use little floating disease objects
for(var/obj/virus/V in src.loc) if(src.get_infection_chance())
infect_virus2(src,V.disease)
for(var/obj/effect/decal/cleanable/blood/B in view(4, src))
if(B.virus2)
infect_virus2(src,B.virus2)
else
virus2.activate(src)
// activate may have deleted the virus
if(!virus2) return
// check if we're immune
if(virus2.antigen & src.antibodies) virus2.dead = 1
if(src.get_infection_chance())
var/obj/virus/V = new(src.loc)
V.disease = src.virus2
return

View File

@@ -626,16 +626,6 @@
D.cure()
return
if(!virus2)
for(var/mob/living/carbon/M in oviewers(4,src))
if(M.virus2)
infect_virus2(src,M.virus2)
for(var/obj/effect/decal/cleanable/blood/B in view(4, src))
if(B.virus2)
infect_virus2(src,B.virus2)
else
virus2.activate(src)
check_if_buckled()
if (src.buckled)

View File

@@ -5,9 +5,6 @@
//Being dead doesn't mean your temperature never changes
var/turf/T = get_turf(src)
// if (isturf(T)) //let cryo/sleeper handle adjusting body temp in their respective alter_health procs
// src.bodytemperature = adjustBodyTemp(src.bodytemperature, (shuttlefloor ? shuttlefloor.temp : T.temp), 1.0) //TODO: DEFERRED
if (src.stat!=0)
src:cameraFollow = null
src:current = null
@@ -17,16 +14,6 @@
src.update_mind()
/*if (istype(T, /turf))
var/ficheck = src.firecheck(T)
if (ficheck)
src.adjustFireLoss(ficheck * 10)
src.updatehealth()
if (src.fire)
src.fire.icon_state = "fire1"
else if (src.fire)
src.fire.icon_state = "fire0"
*/ //TODO: DEFERRED
if (src.malfhack)
if (src.malfhack.aidisabled)
src << "\red ERROR: APC access disabled, hack attempt canceled."
@@ -39,8 +26,6 @@
if (src.health <= config.health_threshold_dead)
death()
return
// else if (src.health < config.health_threshold_crit && !istype(src.loc, /obj/machinery/computer/aifixer)) //Removing this for now, as it's bloody annoying. We'll see how it works -- Urist
// src.oxyloss++
if (src.machine)
if (!( src.machine.check_eye(src) ))
@@ -73,6 +58,7 @@
src.see_invisible = 2
var/area/home = get_area(src)
if(!home) return//something to do with malf fucking things up I guess.
if(home.powered(EQUIP))
home.use_power(1000, EQUIP)

View File

@@ -89,6 +89,35 @@ PE|PE|PE
return
ex_act(severity)
switch(severity)
if(1.0)
del(src)
return
if(2.0)
if (prob(50))
del(src)
return
if(3.0)
if (prob(25))
del(src)
return
else
return
blob_act()
if(prob(50))
del(src)
return
meteorhit()
if(prob(50))
del(src)
return
proc
update_state()
if(master)
@@ -169,7 +198,8 @@ PE|PE|PE
return 0
/obj/machinery/particle_accelerator/
/obj/machinery/particle_accelerator
name = "Particle Accelerator"
desc = "Part of a Particle Accelerator."
icon = 'particle_accelerator.dmi'
@@ -217,6 +247,34 @@ PE|PE|PE
..()
return
ex_act(severity)
switch(severity)
if(1.0)
del(src)
return
if(2.0)
if (prob(50))
del(src)
return
if(3.0)
if (prob(25))
del(src)
return
else
return
blob_act()
if(prob(50))
del(src)
return
meteorhit()
if(prob(50))
del(src)
return
proc
update_state()

View File

@@ -38,7 +38,7 @@
// attack by item places it in to disposal
attackby(var/obj/item/I, var/mob/user)
if(stat & BROKEN)
if(stat & BROKEN || !I || !user)
return
if(istype(I, /obj/item/weapon/melee/energy/blade))
@@ -68,19 +68,20 @@
for (var/mob/C in viewers(src))
C.show_message("\red [GM.name] has been placed in the [src] by [user].", 3)
del(G)
return
if(isrobot(user))
return
else
user.drop_item()
if(!I) return
I.loc = src
user << "You place \the [I] into the [src]."
for(var/mob/M in viewers(src))
if(M == user)
continue
M.show_message("[user.name] places \the [I] into the [src].", 3)
user.drop_item()
I.loc = src
user << "You place \the [I] into the [src]."
for(var/mob/M in viewers(src))
if(M == user)
continue
M.show_message("[user.name] places \the [I] into the [src].", 3)
update()

View File

@@ -984,16 +984,6 @@
#include "code\WorkInProgress\mapload\reader.dm"
#include "code\WorkInProgress\organs\implants.dm"
#include "code\WorkInProgress\organs\organs.dm"
#include "code\WorkInProgress\virus2\analyser.dm"
#include "code\WorkInProgress\virus2\antibodies.dm"
#include "code\WorkInProgress\virus2\base.dm"
#include "code\WorkInProgress\virus2\biohazard destroyer.dm"
#include "code\WorkInProgress\virus2\cureimplanter.dm"
#include "code\WorkInProgress\virus2\curer.dm"
#include "code\WorkInProgress\virus2\diseasesplicer.dm"
#include "code\WorkInProgress\virus2\dishincubator.dm"
#include "code\WorkInProgress\virus2\isolator.dm"
#include "code\WorkInProgress\virus2\monkeydispensor.dm"
#include "interface\skin.dmf"
#include "maps\tgstation.2.0.8.dmm"
// END_INCLUDE