diff --git a/code/WorkInProgress/virus2/analyser.dm b/code/WorkInProgress/virus2/analyser.dm new file mode 100644 index 0000000000..3604d7955f --- /dev/null +++ b/code/WorkInProgress/virus2/analyser.dm @@ -0,0 +1,78 @@ +/obj/machinery/disease2/diseaseanalyser + name = "Disease Analyser" + icon = 'virology.dmi' + icon_state = "analyser" + anchored = 1 + density = 1 + + var/scanning = 0 + var/pause = 0 + + var/obj/item/weapon/virusdish/dish = null + +/obj/machinery/disease2/diseaseanalyser/attackby(var/obj/I as obj, var/mob/user as mob) + if(istype(I,/obj/item/weapon/virusdish)) + var/mob/living/carbon/c = user + if(!dish) + + dish = I + c.drop_item() + I.loc = src + for(var/mob/M in viewers(src)) + if(M == user) continue + M.show_message("\blue [user.name] inserts the [dish.name] in the [src.name]", 3) + + + else + user << "There is already a dish inserted" + + //else + return + + +/obj/machinery/disease2/diseaseanalyser/process() + if(stat & (NOPOWER|BROKEN)) + return + use_power(500) + //src.updateDialog() + + + if(scanning) + scanning -= 1 + if(scanning == 0) + var/r = "GNAv2 based virus lifeform" + r += "
Infection rate : [dish.virus2.infectionchance * 10]" + r += "
Spread form : [dish.virus2.spreadtype]" + r += "
Progress Speed : [dish.virus2.stageprob * 10]" + for(var/datum/disease2/effectholder/E in dish.virus2.effects) + r += "
Effect:[E.effect.name]. Strength : [E.multiplier * 8]. Verosity : [E.chance * 15]. Type : [5-E.stage]." + // display the antigens + var/code = "" + for(var/V in ANTIGENS) if(text2num(V) & dish.virus2.antigen) code += ANTIGENS[V] + r += "
Antigen pattern: [code]" + + var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src.loc) + P.info = r + dish.info = r + dish.analysed = 1 + dish.loc = src.loc + dish = null + icon_state = "analyser" + + for(var/mob/O in hearers(src, null)) + O.show_message("\icon[src] \blue The [src.name] prints a sheet of paper", 3) + else if(dish && !scanning && !pause) + if(dish.virus2 && dish.growth > 50) + dish.growth -= 10 + scanning = 5 + icon_state = "analyser_processing" + else + pause = 1 + spawn(25) + dish.loc = src.loc + dish = null + for(var/mob/M in viewers(src)) + M.show_message("\icon[src] \blue The [src.name] buzzes", 2) + pause = 0 + + return \ No newline at end of file diff --git a/code/WorkInProgress/virus2/antibodies.dm b/code/WorkInProgress/virus2/antibodies.dm new file mode 100644 index 0000000000..72953aa4ec --- /dev/null +++ b/code/WorkInProgress/virus2/antibodies.dm @@ -0,0 +1,54 @@ +// pure concentrated antibodies +datum/reagent/antibodies + data = new/list("antibodies"=0) + name = "Antibodies" + id = "antibodies" + reagent_state = LIQUID + color = "#0050F0" + + reaction_mob(var/mob/M, var/method=TOUCH, var/volume) + if(istype(M,/mob/living/carbon/human)) + if(src.data && method == INGEST) + if(src.data["antibodies"] & M:virus2.antigen) + M:virus2.dead = 1 + return + +// reserving some numbers for later special antigens +var/global/const + ANTIGEN_A = 1 + ANTIGEN_B = 2 + ANTIGEN_RH = 4 + ANTIGEN_Q = 8 + ANTIGEN_U = 16 + ANTIGEN_V = 32 + ANTIGEN_X = 64 + ANTIGEN_Y = 128 + ANTIGEN_Z = 256 + ANTIGEN_M = 512 + ANTIGEN_N = 1024 + ANTIGEN_P = 2048 + ANTIGEN_O = 4096 + +var/global/list/ANTIGENS = list("[ANTIGEN_A]" = "A", "[ANTIGEN_B]" = "B", "[ANTIGEN_RH]" = "RH", "[ANTIGEN_Q]" = "Q", + "[ANTIGEN_U]" = "U", "[ANTIGEN_V]" = "V", "[ANTIGEN_Z]" = "Z", "[ANTIGEN_M]" = "M", + "[ANTIGEN_N]" = "N", "[ANTIGEN_P]" = "P", "[ANTIGEN_O]" = "O") + + + +/obj/item/device/antibody_scanner + name = "Antibody Scanner" + desc = "Used to scan living beings for antibodies in their blood." + icon_state = "health" + w_class = 2.0 + item_state = "electronic" + flags = FPRINT | TABLEPASS | ONBELT | CONDUCT | USEDELAY + + +/obj/item/device/antibody_scanner/attack(mob/living/carbon/human/M as mob, mob/user as mob) + if(! istype(M, /mob/living/carbon) || !M:antibodies) + user << "Unable to detect antibodies.." + else + // iterate over the list of antigens and see what matches + var/code = "" + for(var/V in ANTIGENS) if(text2num(V) & M.antibodies) code += ANTIGENS[V] + user << text("\blue [src] The antibody scanner displays a cryptic set of data: [code]") \ No newline at end of file diff --git a/code/WorkInProgress/virus2/base.dm b/code/WorkInProgress/virus2/base.dm new file mode 100644 index 0000000000..4b543badeb --- /dev/null +++ b/code/WorkInProgress/virus2/base.dm @@ -0,0 +1,591 @@ +/obj/virus + // a virus instance that is placed on the map, moves, and infects + invisibility = 100 + + var/datum/disease2/disease + + New() + ..() + step_rand(src) + step_rand(src) + anchored = 1 + spawn(300) del(src) + +/mob/living/carbon/proc/get_infection_chance() + var/score = 0 + var/mob/living/carbon/M = src + if(istype(M, /mob/living/carbon/human)) + if(M:gloves) + score += 5 + if(istype(M:wear_suit, /obj/item/clothing/suit/space)) score += 10 + if(istype(M:wear_suit, /obj/item/clothing/suit/bio_suit)) score += 10 + if(istype(M:head, /obj/item/clothing/head/helmet/space)) score += 5 + if(istype(M:head, /obj/item/clothing/head/bio_hood)) score += 5 + if(M.wear_mask) + score += 5 + if(istype(M:wear_mask, /obj/item/clothing/mask/surgical) && !M.internal) + score += 10 + if(M.internal) + score += 10 + + if(score >= 30) + return 0 + else if(score == 25 && prob(99)) + return 0 + else if(score == 20 && prob(95)) + return 0 + else if(score == 15 && prob(75)) + return 0 + else if(score == 10 && prob(55)) + return 0 + else if(score == 5 && prob(35)) + return 0 + + return 1 + + +/proc/infect_virus2(var/mob/living/carbon/M,var/datum/disease2/disease/disease,var/forced = 0) + if(M.virus2) + return + if(!disease) + return + //immunity + /*for(var/iii = 1, iii <= M.immunevirus2.len, iii++) + if(disease.issame(M.immunevirus2[iii])) + return*/ + + // if one of the antibodies in the mob's body matches one of the disease's antigens, don't infect + if(M.antibodies & disease.antigen != 0) return + + for(var/datum/disease2/resistance/res in M.resistances) + if(res.resistsdisease(disease)) + return + if(prob(disease.infectionchance) || forced) + if(M.virus2) + return + else + // certain clothes can prevent an infection + if(!forced && !M.get_infection_chance()) + return + + M.virus2 = disease.getcopy() + M.virus2.minormutate() + + for(var/datum/disease2/resistance/res in M.resistances) + if(res.resistsdisease(M.virus2)) + M.virus2 = null + + + +/datum/disease2/resistance + var/list/datum/disease2/effect/resistances = list() + + proc/resistsdisease(var/datum/disease2/disease/virus2) + var/list/res2 = list() + for(var/datum/disease2/effect/e in resistances) + res2 += e.type + for(var/datum/disease2/effectholder/holder in virus2) + if(!(holder.effect.type in res2)) + return 0 + else + res2 -= holder.effect.type + if(res2.len > 0) + return 0 + else + return 1 + + New(var/datum/disease2/disease/virus2) + for(var/datum/disease2/effectholder/h in virus2.effects) + resistances += h.effect.type + + +/proc/infect_mob_random_lesser(var/mob/living/carbon/M) + if(!M.virus2) + M.virus2 = new /datum/disease2/disease + M.virus2.makerandom() + M.virus2.infectionchance = 1 + +/proc/infect_mob_random_greater(var/mob/living/carbon/M) + if(!M.virus2) + M.virus2 = new /datum/disease2/disease + M.virus2.makerandom(1) + +/datum/disease2/var/antigen = 0 // 16 bits describing the antigens, when one bit is set, a cure with that bit can dock here + +/datum/disease2/disease + var/infectionchance = 10 + var/speed = 1 + var/spreadtype = "Blood" // Can also be "Airborne" + var/stage = 1 + var/stageprob = 10 + var/dead = 0 + var/clicks = 0 + + var/uniqueID = 0 + var/list/datum/disease2/effectholder/effects = list() + proc/makerandom(var/greater=0) + var/datum/disease2/effectholder/holder = new /datum/disease2/effectholder + holder.stage = 1 + if(greater) + holder.getrandomeffect_greater() + else + holder.getrandomeffect_lesser() + effects += holder + holder = new /datum/disease2/effectholder + holder.stage = 2 + if(greater) + holder.getrandomeffect_greater() + else + holder.getrandomeffect_lesser() + effects += holder + holder = new /datum/disease2/effectholder + holder.stage = 3 + if(greater) + holder.getrandomeffect_greater() + else + holder.getrandomeffect_lesser() + effects += holder + holder = new /datum/disease2/effectholder + holder.stage = 4 + if(greater) + holder.getrandomeffect_greater() + else + holder.getrandomeffect_lesser() + effects += holder + uniqueID = rand(0,10000) + infectionchance = rand(1,10) + // pick 2 antigens + antigen |= text2num(pick(ANTIGENS)) + antigen |= text2num(pick(ANTIGENS)) + spreadtype = "Airborne" + + proc/makealien() + var/datum/disease2/effectholder/holder = new /datum/disease2/effectholder + holder.stage = 1 + holder.chance = 10 + holder.effect = new/datum/disease2/effect/lesser/gunck() + effects += holder + + holder = new /datum/disease2/effectholder + holder.stage = 2 + holder.chance = 10 + holder.effect = new/datum/disease2/effect/lesser/cough() + effects += holder + + holder = new /datum/disease2/effectholder + holder.stage = 3 + holder.chance = 10 + holder.effect = new/datum/disease2/effect/greater/toxins() + effects += holder + + holder = new /datum/disease2/effectholder + holder.stage = 4 + holder.chance = 10 + holder.effect = new/datum/disease2/effect/alien() + effects += holder + + uniqueID = 896 // all alien diseases have the same ID + infectionchance = 0 + spreadtype = "Airborne" + + proc/minormutate() + var/datum/disease2/effectholder/holder = pick(effects) + holder.minormutate() + infectionchance = min(10,infectionchance + rand(0,1)) + + proc/issame(var/datum/disease2/disease/disease) + var/list/types = list() + var/list/types2 = list() + for(var/datum/disease2/effectholder/d in effects) + types += d.effect.type + var/equal = 1 + + for(var/datum/disease2/effectholder/d in disease.effects) + types2 += d.effect.type + + for(var/type in types) + if(!(type in types2)) + equal = 0 + return equal + + proc/activate(var/mob/living/carbon/mob) + if(dead) + cure(mob) + mob.virus2 = null + return + if(mob.stat == 2) + return + // with a certain chance, the mob may become immune to the disease before it starts properly + if(stage <= 1 && clicks == 0) + if(prob(20)) + mob.antibodies |= antigen // 20% immunity is a good chance IMO, because it allows finding an immune person easily + else + if(mob.radiation > 50) + if(prob(1)) + majormutate() + if(mob.reagents.has_reagent("spaceacillin")) + mob.reagents.remove_reagent("spaceacillin",0.3) + return + if(mob.reagents.has_reagent("virusfood")) + mob.reagents.remove_reagent("virusfood",0.1) + clicks += 10 + if(clicks > stage*100 && prob(10)) + if(stage == 4) + var/datum/disease2/resistance/res = new /datum/disease2/resistance(src) + src.cure(mob) + mob.resistances2 += res + mob.antibodies |= src.antigen + mob.virus2 = null + del src + stage++ + clicks = 0 + for(var/datum/disease2/effectholder/e in effects) + e.runeffect(mob,stage) + clicks+=speed + + proc/cure(var/mob/living/carbon/mob) + var/datum/disease2/effectholder/E + if(stage>1) + E = effects[1] + E.effect.deactivate(mob) + if(stage>2) + E = effects[2] + E.effect.deactivate(mob) + if(stage>3) + E = effects[3] + E.effect.deactivate(mob) + if(stage>4) + E = effects[4] + E.effect.deactivate(mob) + + proc/cure_added(var/datum/disease2/resistance/res) + if(res.resistsdisease(src)) + dead = 1 + + proc/majormutate() + var/datum/disease2/effectholder/holder = pick(effects) + holder.majormutate() + + + proc/getcopy() +// world << "getting copy" + var/datum/disease2/disease/disease = new /datum/disease2/disease + disease.infectionchance = infectionchance + disease.spreadtype = spreadtype + disease.stageprob = stageprob + disease.antigen = antigen + for(var/datum/disease2/effectholder/holder in effects) + // world << "adding effects" + var/datum/disease2/effectholder/newholder = new /datum/disease2/effectholder + newholder.effect = new holder.effect.type + newholder.chance = holder.chance + newholder.cure = holder.cure + newholder.multiplier = holder.multiplier + newholder.happensonce = holder.happensonce + newholder.stage = holder.stage + disease.effects += newholder + // world << "[newholder.effect.name]" + // world << "[disease]" + return disease + +/datum/disease2/effect + var/chance_maxm = 100 + var/name = "Blanking effect" + var/stage = 4 + var/maxm = 1 + proc/activate(var/mob/living/carbon/mob,var/multiplier) + proc/deactivate(var/mob/living/carbon/mob) + +/datum/disease2/effect/alien + name = "Unidentified Foreign Body" + stage = 4 + activate(var/mob/living/carbon/mob,var/multiplier) + mob << "\red You feel something tearing its way out of your stomach..." + mob.toxloss += 10 + mob.updatehealth() + if(prob(40)) + if(mob.client) + mob.client.mob = new/mob/living/carbon/alien/larva(mob.loc) + else + new/mob/living/carbon/alien/larva(mob.loc) + var/datum/disease2/disease/D = mob:virus2 + mob:gib() + del D + +/datum/disease2/effect/greater/gibbingtons + name = "Gibbingtons Syndrome" + stage = 4 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.gib() + +/datum/disease2/effect/greater/radian + name = "Radian's syndrome" + stage = 4 + maxm = 3 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.radiation += (2*multiplier) + +/datum/disease2/effect/greater/toxins + name = "Hyperacid Syndrome" + stage = 3 + maxm = 3 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.toxloss += (2*multiplier) + +/datum/disease2/effect/greater/scream + name = "Random screaming syndrome" + stage = 2 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*scream") + +/datum/disease2/effect/greater/drowsness + name = "Automated sleeping syndrome" + stage = 2 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.drowsyness += 10 + +/datum/disease2/effect/greater/shakey + name = "World Shaking syndrome" + stage = 3 + maxm = 3 + activate(var/mob/living/carbon/mob,var/multiplier) + shake_camera(mob,5*multiplier) + +/datum/disease2/effect/greater/deaf + name = "Hard of hearing syndrome" + stage = 4 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.ear_deaf += 20 + +/datum/disease2/effect/invisible + name = "Waiting Syndrome" + stage = 1 + activate(var/mob/living/carbon/mob,var/multiplier) + return + +/datum/disease2/effect/greater/telepathic + name = "Telepathy Syndrome" + stage = 3 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.mutations |= 512 + +/*/datum/disease2/effect/greater/noface + name = "Identity Loss syndrome" + stage = 4 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.face_dmg++ + deactivate(var/mob/living/carbon/mob) + mob.face_dmg--*/ + +/datum/disease2/effect/greater/monkey + name = "Monkism syndrome" + stage = 4 + activate(var/mob/living/carbon/mob,var/multiplier) + if(istype(mob,/mob/living/carbon/human)) + var/mob/living/carbon/human/h = mob + h.monkeyize() + +/datum/disease2/effect/greater/sneeze + name = "Coldingtons Effect" + stage = 1 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*sneeze") + +/datum/disease2/effect/greater/gunck + name = "Flemmingtons" + stage = 1 + activate(var/mob/living/carbon/mob,var/multiplier) + mob << "\red Mucous runs down the back of your throat." + +/datum/disease2/effect/greater/killertoxins + name = "Toxification syndrome" + stage = 4 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.toxloss += 15 + +/*/datum/disease2/effect/greater/hallucinations + name = "Hallucinational Syndrome" + stage = 3 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.hallucination += 25*/ + +/datum/disease2/effect/greater/sleepy + name = "Resting syndrome" + stage = 2 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*collapse") + +/datum/disease2/effect/greater/mind + name = "Lazy mind syndrome" + stage = 3 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.brainloss = 50 + +/datum/disease2/effect/greater/suicide + name = "Suicidal syndrome" + stage = 4 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.suiciding = 1 + //instead of killing them instantly, just put them at -175 health and let 'em gasp for a while + viewers(mob) << "\red [mob.name] is holding \his breath. It looks like \he's trying to commit suicide." + mob.oxyloss = max(175 - mob.toxloss - mob.fireloss - mob.bruteloss, mob.oxyloss) + mob.updatehealth() + spawn(200) //in case they get revived by cryo chamber or something stupid like that, let them suicide again in 20 seconds + mob.suiciding = 0 + +// lesser syndromes, partly just copypastes +/datum/disease2/effect/lesser/mind + name = "Lazy mind syndrome" + stage = 3 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.brainloss = 20 + +/datum/disease2/effect/lesser/drowsy + name = "Bedroom Syndrome" + stage = 2 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.drowsyness = 5 + +/datum/disease2/effect/lesser/deaf + name = "Hard of hearing syndrome" + stage = 3 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.ear_deaf = 5 + +/datum/disease2/effect/lesser/gunck + name = "Flemmingtons" + stage = 1 + activate(var/mob/living/carbon/mob,var/multiplier) + mob << "\red Mucous runs down the back of your throat." + +/datum/disease2/effect/lesser/radian + name = "Radian's syndrome" + stage = 4 + maxm = 3 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.radiation += 1 + +/datum/disease2/effect/lesser/sneeze + name = "Coldingtons Effect" + stage = 1 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*sneeze") + +/datum/disease2/effect/lesser/cough + name = "Anima Syndrome" + stage = 2 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*cough") + +/*/datum/disease2/effect/lesser/hallucinations + name = "Hallucinational Syndrome" + stage = 3 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.hallucination += 5*/ + +/*/datum/disease2/effect/lesser/arm + name = "Disarming Syndrome" + stage = 4 + activate(var/mob/living/carbon/mob,var/multiplier) + var/datum/organ/external/org = mob.organs["r_arm"] + org.take_damage(3,0,0,0) + mob << "\red You feel a sting in your right arm."*/ + +/datum/disease2/effect/lesser/hungry + name = "Appetiser Effect" + stage = 2 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.nutrition = max(0, mob.nutrition - 200) + +/datum/disease2/effect/lesser/groan + name = "Groaning Syndrome" + stage = 3 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*groan") + +/datum/disease2/effect/lesser/scream + name = "Loudness Syndrome" + stage = 4 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*scream") + +/datum/disease2/effect/lesser/drool + name = "Saliva Effect" + stage = 1 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*drool") + +/datum/disease2/effect/lesser/fridge + name = "Refridgerator Syndrome" + stage = 2 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*shiver") + +/datum/disease2/effect/lesser/twitch + name = "Twitcher" + stage = 1 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*twitch") + +/*Removed on request by Spaceman, due to it being detrimental to RP. -CN +/datum/disease2/effect/lesser/deathgasp + name = "Zombie Syndrome" + stage = 4 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*deathgasp")*/ + +/datum/disease2/effect/lesser/giggle + name = "Uncontrolled Laughter Effect" + stage = 3 + activate(var/mob/living/carbon/mob,var/multiplier) + mob.say("*giggle") + + +/datum/disease2/effect/lesser + chance_maxm = 10 + +/datum/disease2/effectholder + var/name = "Holder" + var/datum/disease2/effect/effect + var/chance = 0 //Chance in percentage each tick + var/cure = "" //Type of cure it requires + var/happensonce = 0 + var/multiplier = 1 //The chance the effects are WORSE + var/stage = 0 + + proc/runeffect(var/mob/living/carbon/human/mob,var/stage) + if(happensonce > -1 && effect.stage <= stage && prob(chance)) + effect.activate(mob) + if(happensonce == 1) + happensonce = -1 + + proc/getrandomeffect_greater() + var/list/datum/disease2/effect/list = list() + for(var/e in (typesof(/datum/disease2/effect/greater) - /datum/disease2/effect/greater)) + // world << "Making [e]" + var/datum/disease2/effect/f = new e + if(f.stage == src.stage) + list += f + effect = pick(list) + chance = rand(1,6) + + proc/getrandomeffect_lesser() + var/list/datum/disease2/effect/list = list() + for(var/e in (typesof(/datum/disease2/effect/lesser) - /datum/disease2/effect/lesser)) + var/datum/disease2/effect/f = new e + if(f.stage == src.stage) + list += f + effect = pick(list) + chance = rand(1,6) + + proc/minormutate() + switch(pick(1,2,3,4,5)) + if(1) + chance = rand(0,effect.chance_maxm) + if(2) + multiplier = rand(1,effect.maxm) + proc/majormutate() + getrandomeffect_greater() + +/proc/dprob(var/p) + return(prob(sqrt(p)) && prob(sqrt(p))) \ No newline at end of file diff --git a/code/WorkInProgress/virus2/biohazard destroyer.dm b/code/WorkInProgress/virus2/biohazard destroyer.dm new file mode 100644 index 0000000000..3e5f16df59 --- /dev/null +++ b/code/WorkInProgress/virus2/biohazard destroyer.dm @@ -0,0 +1,20 @@ +/obj/machinery/disease2/biodestroyer + name = "Biohazard destroyer" + icon = 'disposal.dmi' + icon_state = "disposalbio" + var/list/accepts = list(/obj/item/clothing,/obj/item/weapon/virusdish/,/obj/item/weapon/cureimplanter,/obj/item/weapon/diseasedisk,/obj/item/weapon/reagent_containers) + density = 1 + anchored = 1 + +/obj/machinery/disease2/biodestroyer/attackby(var/obj/I as obj, var/mob/user as mob) + for(var/path in accepts) + if(I.type in typesof(path)) + user.drop_item() + del(I) + overlays += image('disposal.dmi', "dispover-handle") + return + user.drop_item() + I.loc = src.loc + + for(var/mob/O in hearers(src, null)) + O.show_message("\icon[src] \blue The [src.name] beeps", 2) \ No newline at end of file diff --git a/code/WorkInProgress/virus2/cureimplanter.dm b/code/WorkInProgress/virus2/cureimplanter.dm new file mode 100644 index 0000000000..ea40dff733 --- /dev/null +++ b/code/WorkInProgress/virus2/cureimplanter.dm @@ -0,0 +1,43 @@ +/obj/item/weapon/cureimplanter + name = "Hypospray injector" + icon = 'items.dmi' + icon_state = "implanter1" + var/datum/disease2/resistance/resistance = null + var/works = 0 + var/datum/disease2/disease/virus2 = null + item_state = "syringe_0" + throw_speed = 1 + throw_range = 5 + w_class = 2.0 + + +/obj/item/weapon/cureimplanter/attack(mob/target as mob, mob/user as mob) + if(ismob(target)) + for(var/mob/O in viewers(world.view, user)) + if (target != user) + O.show_message(text("\red [] is trying to inject [] with [src.name]!", user, target), 1) + else + O.show_message("\red [user] is trying to inject themselves with [src.name]!", 1) + if(!do_mob(user, target,60)) return + + + for(var/mob/O in viewers(world.view, user)) + if (target != user) + O.show_message(text("\red [] injects [] with [src.name]!", user, target), 1) + else + O.show_message("\red [user] injects themself with [src.name]!", 1) + + + var/mob/living/carbon/M = target + + if(works == 0) + M.resistances2 += resistance + //M.immunevirus2 += M.virus2.getcopy() + if(M.virus2) + M.virus2.cure_added(resistance) + else if(works == 1) + M.toxloss += 60 + else if(works == 2) + M.gib() + else if(works == 3) + infect_virus2(M,virus2,1) \ No newline at end of file diff --git a/code/WorkInProgress/virus2/curer.dm b/code/WorkInProgress/virus2/curer.dm new file mode 100644 index 0000000000..f4f53cff1b --- /dev/null +++ b/code/WorkInProgress/virus2/curer.dm @@ -0,0 +1,129 @@ +/obj/machinery/computer/curer + name = "Cure Research Machine" + icon = 'computer.dmi' + icon_state = "dna" + var/curing + var/virusing + + var/obj/item/weapon/reagent_containers/container = null + +/obj/machinery/computer/curer/attackby(var/obj/I as obj, var/mob/user as mob) + if(istype(I, /obj/item/weapon/screwdriver)) + playsound(src.loc, 'Screwdriver.ogg', 50, 1) + if(do_after(user, 20)) + if (src.stat & BROKEN) + user << "\blue The broken glass falls out." + var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) + new /obj/item/weapon/shard( src.loc ) + //var/obj/item/weapon/circuitboard/curer/M = new /obj/item/weapon/circuitboard/curer( A ) + for (var/obj/C in src) + C.loc = src.loc + //A.circuit = M + A.state = 3 + A.icon_state = "3" + A.anchored = 1 + del(src) + else + user << "\blue You disconnect the monitor." + var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) + //var/obj/item/weapon/circuitboard/curer/M = new /obj/item/weapon/circuitboard/curer( A ) + for (var/obj/C in src) + C.loc = src.loc + //A.circuit = M + A.state = 4 + A.icon_state = "4" + A.anchored = 1 + del(src) + if(istype(I,/obj/item/weapon/reagent_containers)) + var/mob/living/carbon/C = user + if(!container) + container = I + C.drop_item() + I.loc = src + + //else + src.attack_hand(user) + return + +/obj/machinery/computer/curer/attack_ai(var/mob/user as mob) + return src.attack_hand(user) + +/obj/machinery/computer/curer/attack_paw(var/mob/user as mob) + + return src.attack_hand(user) + return + +/obj/machinery/computer/curer/attack_hand(var/mob/user as mob) + if(..()) + return + user.machine = src + var/dat + if(curing) + dat = "Antibody production in progress" + else if(virusing) + dat = "Virus production in progress" + else if(container) + // see if there's any blood in the container + var/datum/reagent/blood/B = locate(/datum/reagent/blood) in container.reagents.reagent_list + + if(B) + dat = "Blood sample inserted." + dat += "
Begin antibody production" + else + dat += "
Please check container contents." + dat += "
Eject container" + else + dat = "Please insert a container." + + user << browse(dat, "window=computer;size=400x500") + onclose(user, "computer") + return + +/obj/machinery/computer/curer/process() + ..() + + if(stat & (NOPOWER|BROKEN)) + return + use_power(500) + //src.updateDialog() + + if(curing) + curing -= 1 + if(curing == 0) + if(container) + createcure(container) + return + +/obj/machinery/computer/curer/Topic(href, href_list) + if(..()) + return + if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) + usr.machine = src + + if (href_list["antibody"]) + curing = 10 + else if(href_list["eject"]) + container.loc = src.loc + container = null + + src.add_fingerprint(usr) + src.updateUsrDialog() + return + + +/obj/machinery/computer/curer/proc/createcure(var/obj/item/weapon/reagent_containers/container) + var/obj/item/weapon/reagent_containers/glass/beaker/product = new(src.loc) + + var/datum/reagent/blood/B = locate() in container.reagents.reagent_list + + var/list/data = list() + data["antibodies"] = B.data["antibodies"] + product.reagents.add_reagent("antibodies",30,data) + + state("The [src.name] Buzzes", "blue") + +/obj/machinery/computer/curer/proc/createvirus(var/datum/disease2/disease/virus2) + var/obj/item/weapon/cureimplanter/implanter = new /obj/item/weapon/cureimplanter(src.loc) + implanter.name = "Viral implanter (MAJOR BIOHAZARD)" + implanter.works = 3 + state("The [src.name] Buzzes", "blue") \ No newline at end of file diff --git a/code/WorkInProgress/virus2/diseasesplicer.dm b/code/WorkInProgress/virus2/diseasesplicer.dm new file mode 100644 index 0000000000..624f725f09 --- /dev/null +++ b/code/WorkInProgress/virus2/diseasesplicer.dm @@ -0,0 +1,185 @@ +/obj/machinery/computer/diseasesplicer + name = "Disease Splicer" + icon = 'computer.dmi' + icon_state = "crew" + + var/datum/disease2/effectholder/memorybank = null + var/analysed = 0 + var/obj/item/weapon/virusdish/dish = null + var/burning = 0 + + var/splicing = 0 + var/scanning = 0 + +/obj/machinery/computer/diseasesplicer/attackby(var/obj/I as obj, var/mob/user as mob) + if(istype(I, /obj/item/weapon/screwdriver)) + playsound(src.loc, 'Screwdriver.ogg', 50, 1) + if(do_after(user, 20)) + if (src.stat & BROKEN) + user << "\blue The broken glass falls out." + var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) + new /obj/item/weapon/shard( src.loc ) + //var/obj/item/weapon/circuitboard/diseasesplicer/M = new /obj/item/weapon/circuitboard/diseasesplicer( A ) + for (var/obj/C in src) + C.loc = src.loc + //A.circuit = M + A.state = 3 + A.icon_state = "3" + A.anchored = 1 + del(src) + else + user << "\blue You disconnect the monitor." + var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) + //var/obj/item/weapon/circuitboard/diseasesplicer/M = new /obj/item/weapon/circuitboard/diseasesplicer( A ) + for (var/obj/C in src) + C.loc = src.loc + //A.circuit = M + A.state = 4 + A.icon_state = "4" + A.anchored = 1 + del(src) + if(istype(I,/obj/item/weapon/virusdish)) + var/mob/living/carbon/c = user + if(!dish) + + dish = I + c.drop_item() + I.loc = src + if(istype(I,/obj/item/weapon/diseasedisk)) + user << "You upload the contents of the disk into the buffer" + memorybank = I:effect + + + //else + src.attack_hand(user) + return + +/obj/machinery/computer/diseasesplicer/attack_ai(var/mob/user as mob) + return src.attack_hand(user) + +/obj/machinery/computer/diseasesplicer/attack_paw(var/mob/user as mob) + + return src.attack_hand(user) + return + +/obj/machinery/computer/diseasesplicer/attack_hand(var/mob/user as mob) + if(..()) + return + user.machine = src + var/dat + if(splicing) + dat = "Splicing in progress" + else if(scanning) + dat = "Splicing in progress" + else if(burning) + dat = "Data disk burning in progress" + else + if(dish) + dat = "Virus dish inserted" + + dat += "
Current DNA strand : " + if(memorybank) + dat += "" + if(analysed) + dat += "[memorybank.effect.name] ([5-memorybank.effect.stage])" + else + dat += "Unknown DNA strand ([5-memorybank.effect.stage])" + dat += "" + + dat += "
Burn DNA Sequence to data storage disk" + else + dat += "Empty" + + dat += "

" + + if(dish) + if(dish.virus2) + if(dish.growth >= 50) + for(var/datum/disease2/effectholder/e in dish.virus2.effects) + dat += "
DNA strand" + if(dish.analysed) + dat += ": [e.effect.name]" + dat += " (5-[e.effect.stage])" + else + dat += "
Insufficent cells to attempt gene splicing" + else + dat += "
No virus found in dish" + + dat += "

Eject disk" + else + dat += "
Please insert dish" + + user << browse(dat, "window=computer;size=400x500") + onclose(user, "computer") + return + +/obj/machinery/computer/diseasesplicer/process() + if(stat & (NOPOWER|BROKEN)) + return + use_power(500) + //src.updateDialog() + + if(scanning) + scanning -= 1 + if(!scanning) + state("The [src.name] beeps", "blue") + if(splicing) + splicing -= 1 + if(!splicing) + state("The [src.name] pings", "blue") + if(burning) + burning -= 1 + if(!burning) + var/obj/item/weapon/diseasedisk/d = new /obj/item/weapon/diseasedisk(src.loc) + if(analysed) + d.name = "[memorybank.effect.name] GNA disk (Stage: [5-memorybank.effect.stage])" + else + d.name = "Unknown GNA disk (Stage: [5-memorybank.effect.stage])" + d.effect = memorybank + state("The [src.name] zings", "blue") + + return + +/obj/machinery/computer/diseasesplicer/Topic(href, href_list) + if(..()) + return + if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) + usr.machine = src + + if (href_list["grab"]) + memorybank = locate(href_list["grab"]) + analysed = dish.analysed + del(dish) + dish = null + scanning = 10 + + else if(href_list["eject"]) + dish.loc = src.loc + dish = null + + else if(href_list["splice"]) + for(var/datum/disease2/effectholder/e in dish.virus2.effects) + if(e.stage == memorybank.stage) + e.effect = memorybank.effect + splicing = 10 + dish.virus2.spreadtype = "Blood" + + else if(href_list["disk"]) + burning = 10 + + src.add_fingerprint(usr) + src.updateUsrDialog() + return + +/obj/item/weapon/diseasedisk + name = "Blank GNA disk" + icon = 'items.dmi' + icon_state = "datadisk0" + var/datum/disease2/effectholder/effect = null + var/stage = 1 + +/obj/item/weapon/diseasedisk/premade/New() + name = "Blank GNA disk (stage: [5-stage])" + effect = new /datum/disease2/effectholder + effect.effect = new /datum/disease2/effect/invisible + effect.stage = stage diff --git a/code/WorkInProgress/virus2/dishincubator.dm b/code/WorkInProgress/virus2/dishincubator.dm new file mode 100644 index 0000000000..e6d0da1239 --- /dev/null +++ b/code/WorkInProgress/virus2/dishincubator.dm @@ -0,0 +1,169 @@ +/obj/machinery/disease2/incubator/ + name = "Pathogenic incubator" + density = 1 + anchored = 1 + icon = 'virology.dmi' + icon_state = "incubator" + var/obj/item/weapon/virusdish/dish + var/obj/item/weapon/reagent_containers/glass/beaker = null + var/radiation = 0 + + var/on = 0 + var/power = 0 + + var/foodsupply = 0 + var/toxins = 0 + + ex_act(severity) + switch(severity) + if(1.0) + del(src) + return + if(2.0) + if (prob(50)) + del(src) + return + + blob_act() + if (prob(25)) + del(src) + + meteorhit() + del(src) + return + + attackby(var/obj/B as obj, var/mob/user as mob) + if(istype(B, /obj/item/weapon/reagent_containers/glass) || istype(B,/obj/item/weapon/reagent_containers/syringe)) + + if(src.beaker) + if(istype(beaker,/obj/item/weapon/reagent_containers/syringe)) + user << "A syringe is already loaded into the machine." + else + user << "A beaker is already loaded into the machine." + return + + src.beaker = B + user.drop_item() + B.loc = src + if(istype(B,/obj/item/weapon/reagent_containers/syringe)) + user << "You add the syringe to the machine!" + src.updateUsrDialog() + else + user << "You add the beaker to the machine!" + src.updateUsrDialog() + else + if(istype(B,/obj/item/weapon/virusdish)) + if(src.dish) + user << "A dish is already loaded into the machine." + return + + src.dish = B + user.drop_item() + B.loc = src + if(istype(B,/obj/item/weapon/virusdish)) + user << "You add the dish to the machine!" + src.updateUsrDialog() + + Topic(href, href_list) + if(stat & BROKEN) return + if(usr.stat || usr.restrained()) return + if(!in_range(src, usr)) return + if (href_list["ejectchem"]) + if(beaker) + beaker.loc = src.loc + beaker = null + if(!dish) + return + usr.machine = src + if (href_list["power"]) + on = !on + if(on) + icon_state = "incubator_on" + else + icon_state = "incubator" + if (href_list["ejectdish"]) + if(dish) + dish.loc = src.loc + dish = null + if (href_list["rad"]) + radiation += 10 + if (href_list["flush"]) + radiation = 0 + toxins = 0 + foodsupply = 0 + + + src.add_fingerprint(usr) + src.updateUsrDialog() + + attack_hand(mob/user as mob) + if(stat & BROKEN) + return + user.machine = src + var/dat = "" + if(!dish) + dat = "Please insert dish into the incubator.
" + var/string = "Off" + if(on) + string = "On" + dat += "Power status : [string]" + dat += "
" + dat += "Food supply : [foodsupply]" + dat += "
" + dat += "Radiation Levels : [radiation] RADS : Radiate" + dat += "
" + dat += "Toxins : [toxins]" + dat += "

" + if(beaker) + dat += "Eject chemicals : Eject" + dat += "
" + if(dish) + dat += "Eject Virus dish : Eject" + dat += "
" + dat += "

" + dat += "Flush system
" + dat += "Close
" + user << browse("Pathogenic incubatorincubator menu:

[dat]", "window=incubator;size=575x400") + onclose(user, "incubator") + return + + + + + process() + + if(dish && on && dish.virus2) + use_power(50,EQUIP) + if(!powered(EQUIP)) + on = 0 + icon_state = "incubator" + if(foodsupply) + foodsupply -= 1 + dish.growth += 3 + if(dish.growth >= 100) + state("The [src.name] pings", "blue") + if(radiation) + if(radiation > 50 & prob(5)) + dish.virus2.majormutate() + if(dish.info) + dish.info = "OUTDATED : [dish.info]" + dish.analysed = 0 + state("The [src.name] beeps", "blue") + + else if(prob(5)) + dish.virus2.minormutate() + radiation -= 1 + if(toxins && prob(5)) + dish.virus2.infectionchance -= 1 + if(toxins > 50) + dish.virus2 = null + else if(!dish) + on = 0 + icon_state = "incubator" + + + if(beaker) + if(!beaker.reagents.remove_reagent("virusfood",5)) + foodsupply += 10 + if(!beaker.reagents.remove_reagent("toxins",1)) + toxins += 1 \ No newline at end of file diff --git a/code/WorkInProgress/virus2/isolator.dm b/code/WorkInProgress/virus2/isolator.dm new file mode 100644 index 0000000000..2da3be53ec --- /dev/null +++ b/code/WorkInProgress/virus2/isolator.dm @@ -0,0 +1,158 @@ +/obj/machinery/disease2/isolator/ + name = "Pathogenic Isolator" + density = 1 + anchored = 1 + icon = 'virology.dmi' + icon_state = "isolator" + var/datum/disease2/disease/virus2 = null + var/isolating = 0 + var/beaker = null + + ex_act(severity) + switch(severity) + if(1.0) + del(src) + return + if(2.0) + if (prob(50)) + del(src) + return + + blob_act() + if (prob(25)) + del(src) + + meteorhit() + del(src) + return + + attackby(var/obj/item/weapon/reagent_containers/glass/B as obj, var/mob/user as mob) + if(!istype(B,/obj/item/weapon/reagent_containers/syringe)) + return + + if(src.beaker) + user << "A syringe is already loaded into the machine." + return + + src.beaker = B + user.drop_item() + B.loc = src + if(istype(B,/obj/item/weapon/reagent_containers/syringe)) + user << "You add the syringe to the machine!" + src.updateUsrDialog() + icon_state = "isolator_in" + + Topic(href, href_list) + if(stat & BROKEN) return + if(usr.stat || usr.restrained()) return + if(!in_range(src, usr)) return + + usr.machine = src + if(!beaker) return + var/datum/reagents/R = beaker:reagents + + if (href_list["isolate"]) + var/datum/reagent/blood/Blood + for(var/datum/reagent/blood/B in R.reagent_list) + if(B) + Blood = B + break + + if(Blood.data["virus2"]) + virus2 = Blood.data["virus2"] + isolating = 40 + icon_state = "isolator_processing" + src.updateUsrDialog() + return + + else if (href_list["main"]) + attack_hand(usr) + return + else if (href_list["eject"]) + beaker:loc = src.loc + beaker = null + icon_state = "isolator" + src.updateUsrDialog() + return + + attack_hand(mob/user as mob) + if(stat & BROKEN) + return + user.machine = src + var/dat = "" + if(!beaker) + dat = "Please insert sample into the isolator.
" + dat += "Close" + else if(isolating) + dat = "Isolating" + else + var/datum/reagents/R = beaker:reagents + dat += "Eject

" + if(!R.total_volume) + dat += "[beaker] is empty." + else + dat += "Contained reagents:
" + for(var/datum/reagent/blood/G in R.reagent_list) + dat += " [G.name]: Isolate" + user << browse("Pathogenic IsolatorIsolator menu:

[dat]", "window=isolator;size=575x400") + onclose(user, "isolator") + return + + + + + process() + if(isolating > 0) + isolating -= 1 + if(isolating == 0) + var/obj/item/weapon/virusdish/d = new /obj/item/weapon/virusdish(src.loc) + d.virus2 = virus2.getcopy() + virus2 = null + icon_state = "isolator_in" + + + + +/obj/item/weapon/virusdish + name = "Virus containment/growth dish" + icon = 'items.dmi' + icon_state = "implantcase-b" + var/datum/disease2/disease/virus2 = null + var/growth = 0 + var/info = 0 + var/analysed = 0 + + reagents = list() + +/obj/item/weapon/virusdish/random + name = "Virus Sample" + +/obj/item/weapon/virusdish/random/New() + ..() + // add a random virus to this dish + src.virus2 = new /datum/disease2/disease + src.virus2.makerandom() + growth = rand(5, 50) + +/obj/item/weapon/virusdish/attackby(var/obj/item/weapon/W as obj,var/mob/living/carbon/user as mob) + if(istype(W,/obj/item/weapon/hand_labeler) || istype(W,/obj/item/weapon/reagent_containers/syringe)) + return + ..() + if(prob(50)) + user << "The dish shatters" + if(virus2.infectionchance > 0) + // spread around some pathogens + for(var/i = 0, i<= (growth / 3), i++) + var/obj/virus/V = new(src.loc) + V.disease = virus2.getcopy() + del src + +/obj/item/weapon/virusdish/examine() + usr << "This is a virus containment dish" + if(src.info) + usr << "It has the following information about its contents" + usr << src.info + +/obj/machinery/proc/state(var/msg) + for(var/mob/O in hearers(src, null)) + O.show_message("\icon[src] \blue [msg]", 2) diff --git a/code/WorkInProgress/virus2/monkeydispensor.dm b/code/WorkInProgress/virus2/monkeydispensor.dm new file mode 100644 index 0000000000..aee24b0d4a --- /dev/null +++ b/code/WorkInProgress/virus2/monkeydispensor.dm @@ -0,0 +1,30 @@ +/obj/machinery/disease2/monkeycloner + name = "Monkey dispensor" + icon = 'cloning.dmi' + icon_state = "pod_0" + density = 1 + anchored = 1 + + var/cloning = 0 + +/obj/machinery/disease2/monkeycloner/attack_hand() + if(!cloning) + cloning = 150 + + icon_state = "pod_g" + +/obj/machinery/disease2/monkeycloner/process() + if(stat & (NOPOWER|BROKEN)) + return + use_power(500) + //src.updateDialog() + + if(cloning) + cloning -= 1 + if(!cloning) + new /mob/living/carbon/monkey(src.loc) + icon_state = "pod_0" + + + + return \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index aedb9d7157..6c6254888e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -5,599 +5,172 @@ // END_INTERNALS // BEGIN_FILE_DIR #define FILE_DIR . -#define FILE_DIR ".svn" -#define FILE_DIR ".svn/prop-base" -#define FILE_DIR ".svn/text-base" #define FILE_DIR "code" -#define FILE_DIR "code/.svn" -#define FILE_DIR "code/.svn/text-base" #define FILE_DIR "code/ATMOSPHERICS" -#define FILE_DIR "code/ATMOSPHERICS/.svn" -#define FILE_DIR "code/ATMOSPHERICS/.svn/text-base" #define FILE_DIR "code/ATMOSPHERICS/components" -#define FILE_DIR "code/ATMOSPHERICS/components/.svn" -#define FILE_DIR "code/ATMOSPHERICS/components/.svn/text-base" #define FILE_DIR "code/ATMOSPHERICS/components/binary_devices" -#define FILE_DIR "code/ATMOSPHERICS/components/binary_devices/.svn" -#define FILE_DIR "code/ATMOSPHERICS/components/binary_devices/.svn/text-base" #define FILE_DIR "code/ATMOSPHERICS/components/trinary_devices" -#define FILE_DIR "code/ATMOSPHERICS/components/trinary_devices/.svn" -#define FILE_DIR "code/ATMOSPHERICS/components/trinary_devices/.svn/text-base" #define FILE_DIR "code/ATMOSPHERICS/components/unary" -#define FILE_DIR "code/ATMOSPHERICS/components/unary/.svn" -#define FILE_DIR "code/ATMOSPHERICS/components/unary/.svn/text-base" -#define FILE_DIR "code/atoms" -#define FILE_DIR "code/atoms/.svn" -#define FILE_DIR "code/atoms/clothing" -#define FILE_DIR "code/atoms/clothing/.svn" -#define FILE_DIR "code/atoms/mob" -#define FILE_DIR "code/atoms/mob/.svn" -#define FILE_DIR "code/atoms/mob/living" -#define FILE_DIR "code/atoms/mob/living/.svn" -#define FILE_DIR "code/atoms/mob/living/sapien" -#define FILE_DIR "code/atoms/mob/living/sapien/.svn" -#define FILE_DIR "code/atoms/objects" -#define FILE_DIR "code/atoms/objects/.svn" -#define FILE_DIR "code/atoms/objects/radio" -#define FILE_DIR "code/atoms/objects/radio/.svn" -#define FILE_DIR "code/atoms/objects/storage" -#define FILE_DIR "code/atoms/objects/storage/.svn" #define FILE_DIR "code/datums" -#define FILE_DIR "code/datums/.svn" -#define FILE_DIR "code/datums/.svn/text-base" #define FILE_DIR "code/datums/diseases" -#define FILE_DIR "code/datums/diseases/.svn" -#define FILE_DIR "code/datums/diseases/.svn/prop-base" -#define FILE_DIR "code/datums/diseases/.svn/text-base" #define FILE_DIR "code/datums/helper_datums" -#define FILE_DIR "code/datums/helper_datums/.svn" -#define FILE_DIR "code/datums/helper_datums/.svn/text-base" #define FILE_DIR "code/datums/spells" -#define FILE_DIR "code/datums/spells/.svn" -#define FILE_DIR "code/datums/spells/.svn/text-base" #define FILE_DIR "code/defines" -#define FILE_DIR "code/defines/.svn" -#define FILE_DIR "code/defines/.svn/text-base" #define FILE_DIR "code/defines/area" -#define FILE_DIR "code/defines/area/.svn" -#define FILE_DIR "code/defines/area/.svn/text-base" #define FILE_DIR "code/defines/mob" -#define FILE_DIR "code/defines/mob/.svn" -#define FILE_DIR "code/defines/mob/.svn/text-base" #define FILE_DIR "code/defines/mob/dead" -#define FILE_DIR "code/defines/mob/dead/.svn" -#define FILE_DIR "code/defines/mob/dead/.svn/text-base" #define FILE_DIR "code/defines/mob/living" -#define FILE_DIR "code/defines/mob/living/.svn" -#define FILE_DIR "code/defines/mob/living/.svn/text-base" #define FILE_DIR "code/defines/mob/living/carbon" -#define FILE_DIR "code/defines/mob/living/carbon/.svn" -#define FILE_DIR "code/defines/mob/living/carbon/.svn/text-base" #define FILE_DIR "code/defines/mob/living/silicon" -#define FILE_DIR "code/defines/mob/living/silicon/.svn" -#define FILE_DIR "code/defines/mob/living/silicon/.svn/text-base" #define FILE_DIR "code/defines/mob/simple_animal" -#define FILE_DIR "code/defines/mob/simple_animal/.svn" -#define FILE_DIR "code/defines/mob/simple_animal/.svn/text-base" #define FILE_DIR "code/defines/obj" -#define FILE_DIR "code/defines/obj/.svn" -#define FILE_DIR "code/defines/obj/.svn/text-base" #define FILE_DIR "code/defines/obj/clothing" -#define FILE_DIR "code/defines/obj/clothing/.svn" -#define FILE_DIR "code/defines/obj/clothing/.svn/text-base" -#define FILE_DIR "code/defines/obj/spawner" -#define FILE_DIR "code/defines/obj/spawner/.svn" #define FILE_DIR "code/defines/procs" -#define FILE_DIR "code/defines/procs/.svn" -#define FILE_DIR "code/defines/procs/.svn/text-base" -#define FILE_DIR "code/defines/turf" -#define FILE_DIR "code/defines/turf/.svn" #define FILE_DIR "code/FEA" -#define FILE_DIR "code/FEA/.svn" -#define FILE_DIR "code/FEA/.svn/text-base" #define FILE_DIR "code/game" -#define FILE_DIR "code/game/.svn" -#define FILE_DIR "code/game/.svn/prop-base" -#define FILE_DIR "code/game/.svn/text-base" #define FILE_DIR "code/game/area" -#define FILE_DIR "code/game/area/.svn" -#define FILE_DIR "code/game/area/.svn/text-base" #define FILE_DIR "code/game/asteroid" -#define FILE_DIR "code/game/asteroid/.svn" -#define FILE_DIR "code/game/asteroid/.svn/text-base" #define FILE_DIR "code/game/gamemodes" -#define FILE_DIR "code/game/gamemodes/.svn" -#define FILE_DIR "code/game/gamemodes/.svn/text-base" #define FILE_DIR "code/game/gamemodes/blob" -#define FILE_DIR "code/game/gamemodes/blob/.svn" -#define FILE_DIR "code/game/gamemodes/blob/.svn/text-base" #define FILE_DIR "code/game/gamemodes/changeling" -#define FILE_DIR "code/game/gamemodes/changeling/.svn" -#define FILE_DIR "code/game/gamemodes/changeling/.svn/text-base" -#define FILE_DIR "code/game/gamemodes/ctf" -#define FILE_DIR "code/game/gamemodes/ctf/.svn" #define FILE_DIR "code/game/gamemodes/cult" -#define FILE_DIR "code/game/gamemodes/cult/.svn" -#define FILE_DIR "code/game/gamemodes/cult/.svn/text-base" -#define FILE_DIR "code/game/gamemodes/deathmatch" -#define FILE_DIR "code/game/gamemodes/deathmatch/.svn" #define FILE_DIR "code/game/gamemodes/events" -#define FILE_DIR "code/game/gamemodes/events/.svn" -#define FILE_DIR "code/game/gamemodes/events/.svn/text-base" #define FILE_DIR "code/game/gamemodes/extended" -#define FILE_DIR "code/game/gamemodes/extended/.svn" -#define FILE_DIR "code/game/gamemodes/extended/.svn/text-base" #define FILE_DIR "code/game/gamemodes/malfunction" -#define FILE_DIR "code/game/gamemodes/malfunction/.svn" -#define FILE_DIR "code/game/gamemodes/malfunction/.svn/text-base" #define FILE_DIR "code/game/gamemodes/meteor" -#define FILE_DIR "code/game/gamemodes/meteor/.svn" -#define FILE_DIR "code/game/gamemodes/meteor/.svn/text-base" -#define FILE_DIR "code/game/gamemodes/monkey" -#define FILE_DIR "code/game/gamemodes/monkey/.svn" #define FILE_DIR "code/game/gamemodes/nuclear" -#define FILE_DIR "code/game/gamemodes/nuclear/.svn" -#define FILE_DIR "code/game/gamemodes/nuclear/.svn/text-base" -#define FILE_DIR "code/game/gamemodes/restructuring" -#define FILE_DIR "code/game/gamemodes/restructuring/.svn" #define FILE_DIR "code/game/gamemodes/revolution" -#define FILE_DIR "code/game/gamemodes/revolution/.svn" -#define FILE_DIR "code/game/gamemodes/revolution/.svn/text-base" -#define FILE_DIR "code/game/gamemodes/ruby" -#define FILE_DIR "code/game/gamemodes/ruby/.svn" #define FILE_DIR "code/game/gamemodes/sandbox" -#define FILE_DIR "code/game/gamemodes/sandbox/.svn" -#define FILE_DIR "code/game/gamemodes/sandbox/.svn/text-base" #define FILE_DIR "code/game/gamemodes/traitor" -#define FILE_DIR "code/game/gamemodes/traitor/.svn" -#define FILE_DIR "code/game/gamemodes/traitor/.svn/text-base" #define FILE_DIR "code/game/gamemodes/wizard" -#define FILE_DIR "code/game/gamemodes/wizard/.svn" -#define FILE_DIR "code/game/gamemodes/wizard/.svn/text-base" #define FILE_DIR "code/game/jobs" -#define FILE_DIR "code/game/jobs/.svn" -#define FILE_DIR "code/game/jobs/.svn/text-base" #define FILE_DIR "code/game/jobs/job" -#define FILE_DIR "code/game/jobs/job/.svn" -#define FILE_DIR "code/game/jobs/job/.svn/text-base" #define FILE_DIR "code/game/machinery" -#define FILE_DIR "code/game/machinery/.svn" -#define FILE_DIR "code/game/machinery/.svn/prop-base" -#define FILE_DIR "code/game/machinery/.svn/text-base" -#define FILE_DIR "code/game/machinery/antimatter_engine" -#define FILE_DIR "code/game/machinery/antimatter_engine/.svn" #define FILE_DIR "code/game/machinery/atmoalter" -#define FILE_DIR "code/game/machinery/atmoalter/.svn" -#define FILE_DIR "code/game/machinery/atmoalter/.svn/text-base" #define FILE_DIR "code/game/machinery/bots" -#define FILE_DIR "code/game/machinery/bots/.svn" -#define FILE_DIR "code/game/machinery/bots/.svn/text-base" #define FILE_DIR "code/game/machinery/computer" -#define FILE_DIR "code/game/machinery/computer/.svn" -#define FILE_DIR "code/game/machinery/computer/.svn/text-base" #define FILE_DIR "code/game/machinery/doors" -#define FILE_DIR "code/game/machinery/doors/.svn" -#define FILE_DIR "code/game/machinery/doors/.svn/text-base" #define FILE_DIR "code/game/machinery/embedded_controller" -#define FILE_DIR "code/game/machinery/embedded_controller/.svn" -#define FILE_DIR "code/game/machinery/embedded_controller/.svn/text-base" #define FILE_DIR "code/game/machinery/kitchen" -#define FILE_DIR "code/game/machinery/kitchen/.svn" -#define FILE_DIR "code/game/machinery/kitchen/.svn/text-base" #define FILE_DIR "code/game/machinery/pipe" -#define FILE_DIR "code/game/machinery/pipe/.svn" -#define FILE_DIR "code/game/machinery/pipe/.svn/text-base" -#define FILE_DIR "code/game/machinery/power" -#define FILE_DIR "code/game/machinery/power/.svn" #define FILE_DIR "code/game/magic" -#define FILE_DIR "code/game/magic/.svn" -#define FILE_DIR "code/game/magic/.svn/text-base" #define FILE_DIR "code/game/magic/cultist" -#define FILE_DIR "code/game/magic/cultist/.svn" -#define FILE_DIR "code/game/magic/cultist/.svn/prop-base" -#define FILE_DIR "code/game/magic/cultist/.svn/text-base" #define FILE_DIR "code/game/mecha" -#define FILE_DIR "code/game/mecha/.svn" -#define FILE_DIR "code/game/mecha/.svn/prop-base" -#define FILE_DIR "code/game/mecha/.svn/text-base" #define FILE_DIR "code/game/mecha/combat" -#define FILE_DIR "code/game/mecha/combat/.svn" -#define FILE_DIR "code/game/mecha/combat/.svn/text-base" #define FILE_DIR "code/game/mecha/equipment" -#define FILE_DIR "code/game/mecha/equipment/.svn" -#define FILE_DIR "code/game/mecha/equipment/.svn/text-base" #define FILE_DIR "code/game/mecha/equipment/tools" -#define FILE_DIR "code/game/mecha/equipment/tools/.svn" -#define FILE_DIR "code/game/mecha/equipment/tools/.svn/text-base" #define FILE_DIR "code/game/mecha/equipment/weapons" -#define FILE_DIR "code/game/mecha/equipment/weapons/.svn" -#define FILE_DIR "code/game/mecha/equipment/weapons/.svn/text-base" #define FILE_DIR "code/game/mecha/working" -#define FILE_DIR "code/game/mecha/working/.svn" -#define FILE_DIR "code/game/mecha/working/.svn/text-base" #define FILE_DIR "code/game/objects" -#define FILE_DIR "code/game/objects/.svn" -#define FILE_DIR "code/game/objects/.svn/text-base" #define FILE_DIR "code/game/objects/alien" -#define FILE_DIR "code/game/objects/alien/.svn" -#define FILE_DIR "code/game/objects/alien/.svn/text-base" #define FILE_DIR "code/game/objects/closets" -#define FILE_DIR "code/game/objects/closets/.svn" -#define FILE_DIR "code/game/objects/closets/.svn/text-base" #define FILE_DIR "code/game/objects/closets/secure" -#define FILE_DIR "code/game/objects/closets/secure/.svn" -#define FILE_DIR "code/game/objects/closets/secure/.svn/text-base" #define FILE_DIR "code/game/objects/devices" -#define FILE_DIR "code/game/objects/devices/.svn" -#define FILE_DIR "code/game/objects/devices/.svn/text-base" #define FILE_DIR "code/game/objects/devices/PDA" -#define FILE_DIR "code/game/objects/devices/PDA/.svn" -#define FILE_DIR "code/game/objects/devices/PDA/.svn/text-base" #define FILE_DIR "code/game/objects/items" -#define FILE_DIR "code/game/objects/items/.svn" -#define FILE_DIR "code/game/objects/items/.svn/text-base" #define FILE_DIR "code/game/objects/items/clothing" -#define FILE_DIR "code/game/objects/items/clothing/.svn" -#define FILE_DIR "code/game/objects/items/clothing/.svn/text-base" #define FILE_DIR "code/game/objects/items/weapons" -#define FILE_DIR "code/game/objects/items/weapons/.svn" -#define FILE_DIR "code/game/objects/items/weapons/.svn/text-base" #define FILE_DIR "code/game/objects/items/weapons/implants" -#define FILE_DIR "code/game/objects/items/weapons/implants/.svn" -#define FILE_DIR "code/game/objects/items/weapons/implants/.svn/text-base" #define FILE_DIR "code/game/objects/radio" -#define FILE_DIR "code/game/objects/radio/.svn" -#define FILE_DIR "code/game/objects/radio/.svn/text-base" #define FILE_DIR "code/game/objects/secstorage" -#define FILE_DIR "code/game/objects/secstorage/.svn" -#define FILE_DIR "code/game/objects/secstorage/.svn/text-base" -#define FILE_DIR "code/game/objects/spawners" -#define FILE_DIR "code/game/objects/spawners/.svn" #define FILE_DIR "code/game/objects/stacks" -#define FILE_DIR "code/game/objects/stacks/.svn" -#define FILE_DIR "code/game/objects/stacks/.svn/text-base" #define FILE_DIR "code/game/objects/storage" -#define FILE_DIR "code/game/objects/storage/.svn" -#define FILE_DIR "code/game/objects/storage/.svn/text-base" #define FILE_DIR "code/game/objects/tanks" -#define FILE_DIR "code/game/objects/tanks/.svn" -#define FILE_DIR "code/game/objects/tanks/.svn/text-base" #define FILE_DIR "code/game/structure" -#define FILE_DIR "code/game/structure/.svn" -#define FILE_DIR "code/game/structure/.svn/text-base" #define FILE_DIR "code/game/verbs" -#define FILE_DIR "code/game/verbs/.svn" -#define FILE_DIR "code/game/verbs/.svn/text-base" #define FILE_DIR "code/js" -#define FILE_DIR "code/js/.svn" -#define FILE_DIR "code/js/.svn/text-base" #define FILE_DIR "code/modules" -#define FILE_DIR "code/modules/.svn" #define FILE_DIR "code/modules/admin" -#define FILE_DIR "code/modules/admin/.svn" -#define FILE_DIR "code/modules/admin/.svn/text-base" #define FILE_DIR "code/modules/admin/verbs" -#define FILE_DIR "code/modules/admin/verbs/.svn" -#define FILE_DIR "code/modules/admin/verbs/.svn/text-base" #define FILE_DIR "code/modules/assembly" -#define FILE_DIR "code/modules/assembly/.svn" -#define FILE_DIR "code/modules/assembly/.svn/text-base" #define FILE_DIR "code/modules/chemical" -#define FILE_DIR "code/modules/chemical/.svn" -#define FILE_DIR "code/modules/chemical/.svn/text-base" #define FILE_DIR "code/modules/clothing" -#define FILE_DIR "code/modules/clothing/.svn" -#define FILE_DIR "code/modules/clothing/.svn/text-base" #define FILE_DIR "code/modules/clothing/glasses" -#define FILE_DIR "code/modules/clothing/glasses/.svn" -#define FILE_DIR "code/modules/clothing/glasses/.svn/text-base" #define FILE_DIR "code/modules/clothing/spacesuits" -#define FILE_DIR "code/modules/clothing/spacesuits/.svn" -#define FILE_DIR "code/modules/clothing/spacesuits/.svn/text-base" #define FILE_DIR "code/modules/clothing/suits" -#define FILE_DIR "code/modules/clothing/suits/.svn" -#define FILE_DIR "code/modules/clothing/suits/.svn/text-base" #define FILE_DIR "code/modules/clothing/uniforms" -#define FILE_DIR "code/modules/clothing/uniforms/.svn" -#define FILE_DIR "code/modules/clothing/uniforms/.svn/text-base" #define FILE_DIR "code/modules/critters" -#define FILE_DIR "code/modules/critters/.svn" -#define FILE_DIR "code/modules/critters/.svn/text-base" #define FILE_DIR "code/modules/critters/hivebots" -#define FILE_DIR "code/modules/critters/hivebots/.svn" -#define FILE_DIR "code/modules/critters/hivebots/.svn/text-base" #define FILE_DIR "code/modules/food" -#define FILE_DIR "code/modules/food/.svn" -#define FILE_DIR "code/modules/food/.svn/text-base" #define FILE_DIR "code/modules/mining" -#define FILE_DIR "code/modules/mining/.svn" -#define FILE_DIR "code/modules/mining/.svn/text-base" #define FILE_DIR "code/modules/mob" -#define FILE_DIR "code/modules/mob/.svn" -#define FILE_DIR "code/modules/mob/.svn/text-base" #define FILE_DIR "code/modules/mob/dead" -#define FILE_DIR "code/modules/mob/dead/.svn" #define FILE_DIR "code/modules/mob/dead/observer" -#define FILE_DIR "code/modules/mob/dead/observer/.svn" -#define FILE_DIR "code/modules/mob/dead/observer/.svn/text-base" #define FILE_DIR "code/modules/mob/living" -#define FILE_DIR "code/modules/mob/living/.svn" -#define FILE_DIR "code/modules/mob/living/.svn/text-base" #define FILE_DIR "code/modules/mob/living/blob" -#define FILE_DIR "code/modules/mob/living/blob/.svn" -#define FILE_DIR "code/modules/mob/living/blob/.svn/text-base" #define FILE_DIR "code/modules/mob/living/carbon" -#define FILE_DIR "code/modules/mob/living/carbon/.svn" -#define FILE_DIR "code/modules/mob/living/carbon/.svn/text-base" #define FILE_DIR "code/modules/mob/living/carbon/alien" -#define FILE_DIR "code/modules/mob/living/carbon/alien/.svn" -#define FILE_DIR "code/modules/mob/living/carbon/alien/.svn/text-base" #define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid" -#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/.svn" -#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/.svn/text-base" #define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/caste" -#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/caste/.svn" -#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/caste/.svn/text-base" #define FILE_DIR "code/modules/mob/living/carbon/alien/larva" -#define FILE_DIR "code/modules/mob/living/carbon/alien/larva/.svn" -#define FILE_DIR "code/modules/mob/living/carbon/alien/larva/.svn/text-base" -#define FILE_DIR "code/modules/mob/living/carbon/alien/special" -#define FILE_DIR "code/modules/mob/living/carbon/alien/special/.svn" #define FILE_DIR "code/modules/mob/living/carbon/brain" -#define FILE_DIR "code/modules/mob/living/carbon/brain/.svn" -#define FILE_DIR "code/modules/mob/living/carbon/brain/.svn/text-base" #define FILE_DIR "code/modules/mob/living/carbon/human" -#define FILE_DIR "code/modules/mob/living/carbon/human/.svn" -#define FILE_DIR "code/modules/mob/living/carbon/human/.svn/text-base" #define FILE_DIR "code/modules/mob/living/carbon/metroid" -#define FILE_DIR "code/modules/mob/living/carbon/metroid/.svn" -#define FILE_DIR "code/modules/mob/living/carbon/metroid/.svn/text-base" #define FILE_DIR "code/modules/mob/living/carbon/monkey" -#define FILE_DIR "code/modules/mob/living/carbon/monkey/.svn" -#define FILE_DIR "code/modules/mob/living/carbon/monkey/.svn/text-base" #define FILE_DIR "code/modules/mob/living/silicon" -#define FILE_DIR "code/modules/mob/living/silicon/.svn" -#define FILE_DIR "code/modules/mob/living/silicon/.svn/text-base" #define FILE_DIR "code/modules/mob/living/silicon/ai" -#define FILE_DIR "code/modules/mob/living/silicon/ai/.svn" -#define FILE_DIR "code/modules/mob/living/silicon/ai/.svn/text-base" #define FILE_DIR "code/modules/mob/living/silicon/decoy" -#define FILE_DIR "code/modules/mob/living/silicon/decoy/.svn" -#define FILE_DIR "code/modules/mob/living/silicon/decoy/.svn/text-base" #define FILE_DIR "code/modules/mob/living/silicon/pai" -#define FILE_DIR "code/modules/mob/living/silicon/pai/.svn" -#define FILE_DIR "code/modules/mob/living/silicon/pai/.svn/text-base" #define FILE_DIR "code/modules/mob/living/silicon/robot" -#define FILE_DIR "code/modules/mob/living/silicon/robot/.svn" -#define FILE_DIR "code/modules/mob/living/silicon/robot/.svn/text-base" #define FILE_DIR "code/modules/mob/new_player" -#define FILE_DIR "code/modules/mob/new_player/.svn" -#define FILE_DIR "code/modules/mob/new_player/.svn/text-base" #define FILE_DIR "code/modules/mob/organ" -#define FILE_DIR "code/modules/mob/organ/.svn" -#define FILE_DIR "code/modules/mob/organ/.svn/text-base" #define FILE_DIR "code/modules/power" -#define FILE_DIR "code/modules/power/.svn" -#define FILE_DIR "code/modules/power/.svn/text-base" #define FILE_DIR "code/modules/power/antimatter" -#define FILE_DIR "code/modules/power/antimatter/.svn" -#define FILE_DIR "code/modules/power/antimatter/.svn/text-base" #define FILE_DIR "code/modules/power/singularity" -#define FILE_DIR "code/modules/power/singularity/.svn" -#define FILE_DIR "code/modules/power/singularity/.svn/text-base" #define FILE_DIR "code/modules/power/singularity/particle_accelerator" -#define FILE_DIR "code/modules/power/singularity/particle_accelerator/.svn" -#define FILE_DIR "code/modules/power/singularity/particle_accelerator/.svn/text-base" #define FILE_DIR "code/modules/projectiles" -#define FILE_DIR "code/modules/projectiles/.svn" -#define FILE_DIR "code/modules/projectiles/.svn/text-base" #define FILE_DIR "code/modules/projectiles/ammunition" -#define FILE_DIR "code/modules/projectiles/ammunition/.svn" -#define FILE_DIR "code/modules/projectiles/ammunition/.svn/text-base" #define FILE_DIR "code/modules/projectiles/guns" -#define FILE_DIR "code/modules/projectiles/guns/.svn" -#define FILE_DIR "code/modules/projectiles/guns/.svn/text-base" #define FILE_DIR "code/modules/projectiles/guns/energy" -#define FILE_DIR "code/modules/projectiles/guns/energy/.svn" -#define FILE_DIR "code/modules/projectiles/guns/energy/.svn/text-base" #define FILE_DIR "code/modules/projectiles/guns/projectile" -#define FILE_DIR "code/modules/projectiles/guns/projectile/.svn" -#define FILE_DIR "code/modules/projectiles/guns/projectile/.svn/text-base" #define FILE_DIR "code/modules/projectiles/projectile" -#define FILE_DIR "code/modules/projectiles/projectile/.svn" -#define FILE_DIR "code/modules/projectiles/projectile/.svn/text-base" #define FILE_DIR "code/modules/recycling" -#define FILE_DIR "code/modules/recycling/.svn" -#define FILE_DIR "code/modules/recycling/.svn/text-base" #define FILE_DIR "code/modules/research" -#define FILE_DIR "code/modules/research/.svn" -#define FILE_DIR "code/modules/research/.svn/text-base" #define FILE_DIR "code/modules/security levels" -#define FILE_DIR "code/modules/security levels/.svn" -#define FILE_DIR "code/modules/security levels/.svn/text-base" #define FILE_DIR "code/unused" -#define FILE_DIR "code/unused/.svn" -#define FILE_DIR "code/unused/.svn/text-base" #define FILE_DIR "code/unused/beast" -#define FILE_DIR "code/unused/beast/.svn" -#define FILE_DIR "code/unused/beast/.svn/text-base" #define FILE_DIR "code/unused/computer2" -#define FILE_DIR "code/unused/computer2/.svn" -#define FILE_DIR "code/unused/computer2/.svn/text-base" #define FILE_DIR "code/unused/gamemodes" -#define FILE_DIR "code/unused/gamemodes/.svn" -#define FILE_DIR "code/unused/gamemodes/.svn/text-base" #define FILE_DIR "code/unused/hivebot" -#define FILE_DIR "code/unused/hivebot/.svn" -#define FILE_DIR "code/unused/hivebot/.svn/text-base" #define FILE_DIR "code/unused/mining" -#define FILE_DIR "code/unused/mining/.svn" -#define FILE_DIR "code/unused/mining/.svn/text-base" #define FILE_DIR "code/unused/optics" -#define FILE_DIR "code/unused/optics/.svn" -#define FILE_DIR "code/unused/optics/.svn/text-base" #define FILE_DIR "code/unused/pda2" -#define FILE_DIR "code/unused/pda2/.svn" -#define FILE_DIR "code/unused/pda2/.svn/text-base" #define FILE_DIR "code/unused/spacecraft" -#define FILE_DIR "code/unused/spacecraft/.svn" -#define FILE_DIR "code/unused/spacecraft/.svn/text-base" #define FILE_DIR "code/WorkInProgress" -#define FILE_DIR "code/WorkInProgress/.svn" -#define FILE_DIR "code/WorkInProgress/.svn/text-base" #define FILE_DIR "code/WorkInProgress/mapload" -#define FILE_DIR "code/WorkInProgress/mapload/.svn" -#define FILE_DIR "code/WorkInProgress/mapload/.svn/text-base" #define FILE_DIR "code/WorkInProgress/organs" -#define FILE_DIR "code/WorkInProgress/organs/.svn" -#define FILE_DIR "code/WorkInProgress/organs/.svn/text-base" #define FILE_DIR "code/WorkInProgress/virus2" -#define FILE_DIR "code/WorkInProgress/virus2/.svn" -#define FILE_DIR "code/WorkInProgress/virus2/.svn/text-base" -#define FILE_DIR "code/WorkInProgress/virus2/Disease2" -#define FILE_DIR "code/WorkInProgress/virus2/Disease2/.svn" -#define FILE_DIR "code/WorkInProgress/virus2/Disease2/.svn/text-base" -#define FILE_DIR "config" -#define FILE_DIR "config/.svn" -#define FILE_DIR "config/.svn/text-base" -#define FILE_DIR "config/names" -#define FILE_DIR "config/names/.svn" -#define FILE_DIR "config/names/.svn/text-base" -#define FILE_DIR "data" -#define FILE_DIR "data/.svn" -#define FILE_DIR "data/.svn/text-base" #define FILE_DIR "html" -#define FILE_DIR "html/.svn" -#define FILE_DIR "html/.svn/prop-base" -#define FILE_DIR "html/.svn/text-base" #define FILE_DIR "icons" -#define FILE_DIR "icons/.svn" -#define FILE_DIR "icons/.svn/prop-base" -#define FILE_DIR "icons/.svn/text-base" #define FILE_DIR "icons/effects" -#define FILE_DIR "icons/effects/.svn" -#define FILE_DIR "icons/effects/.svn/prop-base" -#define FILE_DIR "icons/effects/.svn/text-base" #define FILE_DIR "icons/misc" -#define FILE_DIR "icons/misc/.svn" -#define FILE_DIR "icons/misc/.svn/prop-base" -#define FILE_DIR "icons/misc/.svn/text-base" #define FILE_DIR "icons/mob" -#define FILE_DIR "icons/mob/.svn" -#define FILE_DIR "icons/mob/.svn/prop-base" -#define FILE_DIR "icons/mob/.svn/text-base" #define FILE_DIR "icons/obj" -#define FILE_DIR "icons/obj/.svn" -#define FILE_DIR "icons/obj/.svn/prop-base" -#define FILE_DIR "icons/obj/.svn/text-base" #define FILE_DIR "icons/obj/assemblies" -#define FILE_DIR "icons/obj/assemblies/.svn" -#define FILE_DIR "icons/obj/assemblies/.svn/prop-base" -#define FILE_DIR "icons/obj/assemblies/.svn/text-base" #define FILE_DIR "icons/obj/atmospherics" -#define FILE_DIR "icons/obj/atmospherics/.svn" -#define FILE_DIR "icons/obj/atmospherics/.svn/prop-base" -#define FILE_DIR "icons/obj/atmospherics/.svn/text-base" #define FILE_DIR "icons/obj/clothing" -#define FILE_DIR "icons/obj/clothing/.svn" -#define FILE_DIR "icons/obj/clothing/.svn/prop-base" -#define FILE_DIR "icons/obj/clothing/.svn/text-base" #define FILE_DIR "icons/obj/doors" -#define FILE_DIR "icons/obj/doors/.svn" -#define FILE_DIR "icons/obj/doors/.svn/prop-base" -#define FILE_DIR "icons/obj/doors/.svn/text-base" #define FILE_DIR "icons/obj/machines" -#define FILE_DIR "icons/obj/machines/.svn" -#define FILE_DIR "icons/obj/machines/.svn/prop-base" -#define FILE_DIR "icons/obj/machines/.svn/text-base" #define FILE_DIR "icons/obj/pipes" -#define FILE_DIR "icons/obj/pipes/.svn" -#define FILE_DIR "icons/obj/pipes/.svn/prop-base" -#define FILE_DIR "icons/obj/pipes/.svn/text-base" #define FILE_DIR "icons/pda_icons" -#define FILE_DIR "icons/pda_icons/.svn" -#define FILE_DIR "icons/pda_icons/.svn/prop-base" -#define FILE_DIR "icons/pda_icons/.svn/text-base" -#define FILE_DIR "icons/PSD files" -#define FILE_DIR "icons/PSD files/.svn" -#define FILE_DIR "icons/PSD files/.svn/prop-base" -#define FILE_DIR "icons/PSD files/.svn/text-base" #define FILE_DIR "icons/spideros_icons" -#define FILE_DIR "icons/spideros_icons/.svn" -#define FILE_DIR "icons/spideros_icons/.svn/prop-base" -#define FILE_DIR "icons/spideros_icons/.svn/text-base" #define FILE_DIR "icons/Testing" -#define FILE_DIR "icons/Testing/.svn" -#define FILE_DIR "icons/Testing/.svn/prop-base" -#define FILE_DIR "icons/Testing/.svn/text-base" #define FILE_DIR "icons/turf" -#define FILE_DIR "icons/turf/.svn" -#define FILE_DIR "icons/turf/.svn/prop-base" -#define FILE_DIR "icons/turf/.svn/text-base" #define FILE_DIR "icons/vending_icons" -#define FILE_DIR "icons/vending_icons/.svn" -#define FILE_DIR "icons/vending_icons/.svn/prop-base" -#define FILE_DIR "icons/vending_icons/.svn/text-base" #define FILE_DIR "interface" -#define FILE_DIR "interface/.svn" -#define FILE_DIR "interface/.svn/text-base" #define FILE_DIR "maps" -#define FILE_DIR "maps/.svn" -#define FILE_DIR "maps/.svn/text-base" -#define FILE_DIR "music" -#define FILE_DIR "music/.svn" -#define FILE_DIR "music/.svn/text-base" #define FILE_DIR "sound" -#define FILE_DIR "sound/.svn" #define FILE_DIR "sound/ambience" -#define FILE_DIR "sound/ambience/.svn" -#define FILE_DIR "sound/ambience/.svn/prop-base" -#define FILE_DIR "sound/ambience/.svn/text-base" #define FILE_DIR "sound/announcer" -#define FILE_DIR "sound/announcer/.svn" -#define FILE_DIR "sound/announcer/.svn/prop-base" -#define FILE_DIR "sound/announcer/.svn/text-base" #define FILE_DIR "sound/bots" -#define FILE_DIR "sound/bots/.svn" -#define FILE_DIR "sound/bots/.svn/prop-base" -#define FILE_DIR "sound/bots/.svn/text-base" #define FILE_DIR "sound/effects" -#define FILE_DIR "sound/effects/.svn" -#define FILE_DIR "sound/effects/.svn/prop-base" -#define FILE_DIR "sound/effects/.svn/text-base" #define FILE_DIR "sound/items" -#define FILE_DIR "sound/items/.svn" -#define FILE_DIR "sound/items/.svn/prop-base" -#define FILE_DIR "sound/items/.svn/text-base" #define FILE_DIR "sound/machines" -#define FILE_DIR "sound/machines/.svn" -#define FILE_DIR "sound/machines/.svn/prop-base" -#define FILE_DIR "sound/machines/.svn/text-base" #define FILE_DIR "sound/mecha" -#define FILE_DIR "sound/mecha/.svn" -#define FILE_DIR "sound/mecha/.svn/prop-base" -#define FILE_DIR "sound/mecha/.svn/text-base" #define FILE_DIR "sound/misc" -#define FILE_DIR "sound/misc/.svn" -#define FILE_DIR "sound/misc/.svn/prop-base" -#define FILE_DIR "sound/misc/.svn/text-base" #define FILE_DIR "sound/piano" -#define FILE_DIR "sound/piano/.svn" -#define FILE_DIR "sound/piano/.svn/prop-base" -#define FILE_DIR "sound/piano/.svn/text-base" -#define FILE_DIR "sound/spells" -#define FILE_DIR "sound/spells/.svn" #define FILE_DIR "sound/voice" -#define FILE_DIR "sound/voice/.svn" -#define FILE_DIR "sound/voice/.svn/prop-base" -#define FILE_DIR "sound/voice/.svn/text-base" #define FILE_DIR "sound/weapons" -#define FILE_DIR "sound/weapons/.svn" -#define FILE_DIR "sound/weapons/.svn/prop-base" -#define FILE_DIR "sound/weapons/.svn/text-base" -#define FILE_DIR "SQL" -#define FILE_DIR "SQL/.svn" -#define FILE_DIR "SQL/.svn/text-base" // END_FILE_DIR // BEGIN_PREFERENCES #define DEBUG