diff --git a/code/WorkInProgress/recycling/disposal.dm b/code/WorkInProgress/recycling/disposal.dm index c4b4f7c949..0884238b16 100644 --- a/code/WorkInProgress/recycling/disposal.dm +++ b/code/WorkInProgress/recycling/disposal.dm @@ -1032,8 +1032,8 @@ // for broken pipe, remove and turn into scrap welded() - var/obj/item/scrap/S = new(src.loc) - S.set_components(200,0,0) +// var/obj/item/scrap/S = new(src.loc) +// S.set_components(200,0,0) del(src) // the disposal outlet machine diff --git a/code/modules/virus2/Disease2/analyser.dm b/code/WorkInProgress/virus2/Disease2/analyser.dm similarity index 100% rename from code/modules/virus2/Disease2/analyser.dm rename to code/WorkInProgress/virus2/Disease2/analyser.dm diff --git a/code/modules/virus2/Disease2/base.dm b/code/WorkInProgress/virus2/Disease2/base.dm similarity index 100% rename from code/modules/virus2/Disease2/base.dm rename to code/WorkInProgress/virus2/Disease2/base.dm diff --git a/code/modules/virus2/Disease2/biohazard destroyer.dm b/code/WorkInProgress/virus2/Disease2/biohazard destroyer.dm similarity index 100% rename from code/modules/virus2/Disease2/biohazard destroyer.dm rename to code/WorkInProgress/virus2/Disease2/biohazard destroyer.dm diff --git a/code/modules/virus2/Disease2/cureimplanter.dm b/code/WorkInProgress/virus2/Disease2/cureimplanter.dm similarity index 100% rename from code/modules/virus2/Disease2/cureimplanter.dm rename to code/WorkInProgress/virus2/Disease2/cureimplanter.dm diff --git a/code/modules/virus2/Disease2/curer.dm b/code/WorkInProgress/virus2/Disease2/curer.dm similarity index 100% rename from code/modules/virus2/Disease2/curer.dm rename to code/WorkInProgress/virus2/Disease2/curer.dm diff --git a/code/modules/virus2/Disease2/diseasesplicer.dm b/code/WorkInProgress/virus2/Disease2/diseasesplicer.dm similarity index 100% rename from code/modules/virus2/Disease2/diseasesplicer.dm rename to code/WorkInProgress/virus2/Disease2/diseasesplicer.dm diff --git a/code/modules/virus2/Disease2/dishincubator.dm b/code/WorkInProgress/virus2/Disease2/dishincubator.dm similarity index 100% rename from code/modules/virus2/Disease2/dishincubator.dm rename to code/WorkInProgress/virus2/Disease2/dishincubator.dm diff --git a/code/modules/virus2/Disease2/isolator.dm b/code/WorkInProgress/virus2/Disease2/isolator.dm similarity index 100% rename from code/modules/virus2/Disease2/isolator.dm rename to code/WorkInProgress/virus2/Disease2/isolator.dm diff --git a/code/modules/virus2/Disease2/monkeydispensor.dm b/code/WorkInProgress/virus2/Disease2/monkeydispensor.dm similarity index 100% rename from code/modules/virus2/Disease2/monkeydispensor.dm rename to code/WorkInProgress/virus2/Disease2/monkeydispensor.dm diff --git a/code/modules/virus2/Prob.dm b/code/WorkInProgress/virus2/Prob.dm similarity index 100% rename from code/modules/virus2/Prob.dm rename to code/WorkInProgress/virus2/Prob.dm diff --git a/code/defines/procs/helpers.dm b/code/defines/procs/helpers.dm index bdf12eb887..c86be0af72 100644 --- a/code/defines/procs/helpers.dm +++ b/code/defines/procs/helpers.dm @@ -807,10 +807,10 @@ Turf and target are seperate in case you want to teleport some distance from a t mob_list.Add(M) for(var/mob/living/carbon/monkey/M in world) mob_list.Add(M) - for(var/mob/living/silicon/hivebot/M in world) - mob_list.Add(M) - for(var/mob/living/silicon/hive_mainframe/M in world) - mob_list.Add(M) +// for(var/mob/living/silicon/hivebot/M in world) +// mob_list.Add(M) +// for(var/mob/living/silicon/hive_mainframe/M in world) +// mob_list.Add(M) return mob_list /proc/convert2energy(var/M) diff --git a/code/game/asteroid/device.dm b/code/game/asteroid/device.dm index 8f6843d286..ba2579eb15 100644 --- a/code/game/asteroid/device.dm +++ b/code/game/asteroid/device.dm @@ -83,4 +83,22 @@ var/obj/item/weapon/reagent_containers/pill/P = new/obj/item/weapon/reagent_containers/pill(src) P.reagents.add_reagent("nutriment", 500) P.name = "Cyanide pill" - return \ No newline at end of file + return + +/obj/ship_landing_beacon + icon = 'craft.dmi' + icon_state = "beacon" + name = "Beacon" + var/active = 0 + + proc + deploy() + if(active) + return + src.active = 1 + src.anchored = 1 + deactivate() + if(!active) + return + src.active = 0 + src.anchored = 0 \ No newline at end of file diff --git a/code/game/atom_procs.dm b/code/game/atom_procs.dm index a2eef8577c..b4a3d03bae 100644 --- a/code/game/atom_procs.dm +++ b/code/game/atom_procs.dm @@ -240,7 +240,7 @@ var/obj/item/W = usr.equipped() - if(istype(usr, /mob/living/silicon/hivebot)||istype(usr, /mob/living/silicon/robot)) + if(istype(usr, /mob/living/silicon/robot)) if(!isnull(usr:module_active)) W = usr:module_active else @@ -267,7 +267,7 @@ if (istype(usr, /mob/living/silicon/ai)) t5 = 1 - if ((istype(usr, /mob/living/silicon/robot) || istype(usr, /mob/living/silicon/hivebot)) && W == null) + if ((istype(usr, /mob/living/silicon/robot)) && W == null) t5 = 1 if (istype(src, /datum/organ) && src in usr.contents) @@ -372,7 +372,7 @@ if (istype(usr, /mob/living/carbon/alien/humanoid)) src.attack_alien(usr, usr.hand) else - if (istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/living/silicon/robot)|| istype(usr, /mob/living/silicon/hivebot)) + if (istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/living/silicon/robot)) src.attack_ai(usr, usr.hand) else @@ -388,7 +388,7 @@ if (istype(usr, /mob/living/carbon/alien/humanoid)) src.hand_al(usr, usr.hand) else - if (istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/living/silicon/robot)|| istype(usr, /mob/living/silicon/hivebot)) + if (istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/living/silicon/robot)) src.hand_a(usr, usr.hand) else diff --git a/code/game/gamemodes/wizard/spells.dm b/code/game/gamemodes/wizard/spells.dm index 70e28b80df..7cb277452b 100644 --- a/code/game/gamemodes/wizard/spells.dm +++ b/code/game/gamemodes/wizard/spells.dm @@ -238,7 +238,7 @@ //DISABLE TECH -/mob/proc/tech() +/mob/proc/tech()//Shouldnt this just use the emp() proc? set category = "Spells" set name = "Disable Technology" set desc = "This spell disables all weapons, cameras and most other technology in range." @@ -290,12 +290,10 @@ M << "\red Warning: Electromagnetic pulse detected." if(istype(M, /mob/living/silicon/ai)) if (prob(30)) - switch(pick(1,2,3)) //Add Random laws. + switch(pick(1,2)) if(1) M:cancel_camera() if(2) - M:lockdown() - if(3) M:ai_call_shuttle() continue diff --git a/code/game/hud.dm b/code/game/hud.dm index 65f26d1cc2..4c2433642b 100644 --- a/code/game/hud.dm +++ b/code/game/hud.dm @@ -100,11 +100,11 @@ obj/hud/New(var/type = 0) else if(isrobot(mymob)) robot_hud() - else if(ishivebot(mymob)) - hivebot_hud() +// else if(ishivebot(mymob)) +// hivebot_hud() - else if(ishivemainframe(mymob)) - hive_mainframe_hud() +// else if(ishivemainframe(mymob)) +// hive_mainframe_hud() else if(isobserver(mymob)) ghost_hud() diff --git a/code/game/jobs/jobprocs.dm b/code/game/jobs/jobprocs.dm index 78aec5b88b..77feb96713 100644 --- a/code/game/jobs/jobprocs.dm +++ b/code/game/jobs/jobprocs.dm @@ -90,6 +90,7 @@ if (unassigned.len) //unlucky players with preferences and players without preferences var/list/vacancies = list() + var/list/failsafe = list() for (var/occ in occupation_eligible) for (var/i = 1 to occupation_eligible[occ]) vacancies += occ @@ -100,11 +101,20 @@ if(candidate.jobs_restricted_by_gamemode) if(occupation in candidate.jobs_restricted_by_gamemode) + vacancies += occupation + failsafe += candidate continue candidate.mind.assigned_role = occupation for (var/mob/new_player/player in unassigned) + if (unassigned.len == 0) + break + player.mind.assigned_role = pick(assistant_occupations) + + for (var/mob/new_player/player in failsafe) + if (unassigned.len == 0) + break player.mind.assigned_role = pick(assistant_occupations) return 1 diff --git a/code/WorkInProgress/cloning.dm b/code/game/machinery/cloning.dm similarity index 100% rename from code/WorkInProgress/cloning.dm rename to code/game/machinery/cloning.dm diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 6c030064da..769490937e 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -59,17 +59,6 @@ R.cell.charge += 50 return - - else if (istype(occupant, /mob/living/silicon/hivebot)) - var/mob/living/silicon/hivebot/H = occupant - - if(H.energy >= H.energy_max) - H.energy = H.energy_max - return - else - H.energy += 50 - return - go_out() if(!( src.occupant )) return diff --git a/code/game/spacecraft/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm similarity index 100% rename from code/game/spacecraft/syndicatebeacon.dm rename to code/game/machinery/syndicatebeacon.dm diff --git a/code/game/master_controller2.dm b/code/game/master_controller2.dm deleted file mode 100644 index 8543164589..0000000000 --- a/code/game/master_controller2.dm +++ /dev/null @@ -1,120 +0,0 @@ -var/global/datum/controller/game_controller/master_controller //Set in world.New() -var/global/controllernum = "no" -var/global/controlleriteration = 0 - -datum/controller/game_controller - var/processing = 1 - - proc - setup() - setup_objects() - process() - - setup() - if(master_controller && (master_controller != src)) - del(src) - return - //There can be only one master. - - if(!air_master) - air_master = new /datum/controller/air_system() - air_master.setup() - - world.tick_lag = 0.9 - - setup_objects() - - setupgenetics() - - setupcorpses() - - emergency_shuttle = new /datum/shuttle_controller/emergency_shuttle() - - if(!ticker) - ticker = new /datum/controller/gameticker() - - spawn - ticker.pregame() - - setup_objects() - world << "\red \b Initializing objects" - sleep(-1) - - for(var/obj/object in world) - object.initialize() - - world << "\red \b Initializing pipe networks" - sleep(-1) - - for(var/obj/machinery/atmospherics/machine in world) - machine.build_network() - - /*world << "\red \b Initializing atmos machinery" - sleep(-1) - - find_air_alarms()*/ - - world << "\red \b Initializations complete." - - - process() - - if(!processing) - return 0 - //world << "Processing" - controllernum = "yes" - spawn (100) controllernum = "no" - controlleriteration++ - - var/start_time = world.timeofday - - if (controlleriteration%2==1) //make the atmos processing only happen every other tick) - air_master.process() - - sleep(1) - - sun.calc_position() - - sleep(-1) - - for(var/mob/M in world) - if (M.metabslow) - if (controlleriteration%10==1) // For everyone who has their metabolism slowed, make updates not so frequently - M.Life() - else - M.Life() - - sleep(-1) - - for(var/datum/disease/D in active_diseases) - D.process() - - for(var/obj/machinery/machine in machines) - if(machine) - machine.process() - if(machine && machine.use_power) - machine.auto_use_power() - - - sleep(-1) - sleep(1) - - for(var/obj/item/item in processing_items) - item.process() - - for(var/datum/pipe_network/network in pipe_networks) - network.process() - - for(var/datum/powernet/P in powernets) - P.reset() - - sleep(-1) - - ticker.process() - - sleep(start_time+10-world.timeofday) - - spawn process() - - - return 1 \ No newline at end of file diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm index 3851d065fe..424a3d9f89 100644 --- a/code/game/objects/items/item.dm +++ b/code/game/objects/items/item.dm @@ -300,7 +300,7 @@ if (istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M - if (ishuman(user) || isrobot(user) || ishivebot(user) || ismonkey(user) || isalien(user)) + if (ishuman(user) || isrobot(user) || ismonkey(user) || isalien(user)) if (!( def_zone )) var/mob/user2 = user var/t = user2:zone_sel.selecting diff --git a/code/WorkInProgress/Cameras.dm b/code/game/objects/items/weapons/cameras.dm similarity index 100% rename from code/WorkInProgress/Cameras.dm rename to code/game/objects/items/weapons/cameras.dm diff --git a/code/WorkInProgress/NewBan.dm b/code/modules/admin/NewBan.dm similarity index 100% rename from code/WorkInProgress/NewBan.dm rename to code/modules/admin/NewBan.dm diff --git a/code/modules/admin/verbs/grillify.dm b/code/modules/admin/verbs/grillify.dm deleted file mode 100644 index dc728e08ef..0000000000 --- a/code/modules/admin/verbs/grillify.dm +++ /dev/null @@ -1,23 +0,0 @@ -// Made during the internet outage caused by hurricane ike -// fuck you ike -// love persh -///client/proc/grillify() -// set category = "Debug" -// set name = "spawn grilles" -// set desc="it spawns grilles okay fuck if I know" -// if(Debug2) -// // All admins should be authenticated, but... what if? -// if(!src.authenticated || !src.holder) -// src << "Only administrators may use this command." -// return -// -// log_admin("[src.key] used the grillify verb") -// world << "\blue[src.key] used the grillify verb/bitches better get yellow gloves verb!" -// -// for(var/turf/T in world) -// if(!T.density) -// spawn(-1) -// new /obj/grille(locate(T.x,T.y,T.z)) -// else -// alert("Debugging is disabled") -// return \ No newline at end of file diff --git a/code/WorkInProgress/Chemistry-Holder.dm b/code/modules/chemical/Chemistry-Holder.dm similarity index 100% rename from code/WorkInProgress/Chemistry-Holder.dm rename to code/modules/chemical/Chemistry-Holder.dm diff --git a/code/WorkInProgress/Chemistry-Machinery.dm b/code/modules/chemical/Chemistry-Machinery.dm similarity index 100% rename from code/WorkInProgress/Chemistry-Machinery.dm rename to code/modules/chemical/Chemistry-Machinery.dm diff --git a/code/WorkInProgress/Chemistry-Readme.dm b/code/modules/chemical/Chemistry-Readme.dm similarity index 100% rename from code/WorkInProgress/Chemistry-Readme.dm rename to code/modules/chemical/Chemistry-Readme.dm diff --git a/code/WorkInProgress/Chemistry-Reagents.dm b/code/modules/chemical/Chemistry-Reagents.dm similarity index 100% rename from code/WorkInProgress/Chemistry-Reagents.dm rename to code/modules/chemical/Chemistry-Reagents.dm diff --git a/code/WorkInProgress/Chemistry-Recipes.dm b/code/modules/chemical/Chemistry-Recipes.dm similarity index 100% rename from code/WorkInProgress/Chemistry-Recipes.dm rename to code/modules/chemical/Chemistry-Recipes.dm diff --git a/code/WorkInProgress/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm similarity index 100% rename from code/WorkInProgress/Chemistry-Tools.dm rename to code/modules/chemical/Chemistry-Tools.dm diff --git a/code/modules/mob/living/carbon/alien/humanoid/life.dm b/code/modules/mob/living/carbon/alien/humanoid/life.dm index 2a54e80016..ea4dd9dd46 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/life.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/life.dm @@ -6,6 +6,7 @@ temperature_alert = 0 + /mob/living/carbon/alien/humanoid/Life() set invisibility = 0 set background = 1 @@ -13,245 +14,84 @@ if (src.monkeyizing) return - var/datum/gas_mixture/environment = loc.return_air() - if (src.stat != 2) //still breathing //First, resolve location and get a breath if(air_master.current_cycle%4==2) //Only try to take a breath every 4 seconds, unless suffocating - - var/datum/air_group/breath - - - //No breath from internal atmosphere so get breath from location - if(!breath) - if(istype(loc, /obj/)) - var/obj/location_as_object = loc - breath = location_as_object.handle_internal_lifeform(src, BREATH_VOLUME) - else if(istype(loc, /turf/)) - var/breath_moles = environment.total_moles()*BREATH_PERCENTAGE - breath = loc.remove_air(breath_moles) - - else //Still give containing object the chance to interact - if(istype(loc, /obj/)) - var/obj/location_as_object = loc - location_as_object.handle_internal_lifeform(src, 0) - - handle_breath(breath) - - if(breath) - loc.assume_air(breath) + spawn(0) breathe() else //Still give containing object the chance to interact if(istype(loc, /obj/)) var/obj/location_as_object = loc location_as_object.handle_internal_lifeform(src, 0) + //Apparently, the person who wrote this code designed it so that + //blinded get reset each cycle and then get activated later in the + //code. Very ugly. I dont care. Moving this stuff here so its easy + //to find it. + src.blinded = null + + //Disease Check handle_virus_updates() - handle_environment(environment) - //Handle temperature/pressure differences between body and environment also handles alien weeds! + //Update mind + update_mind() + //Handle temperature/pressure differences between body and environment + handle_environment() + + //Mutations and radiation + handle_mutations_and_radiation() + + //Chemicals in the body handle_chemicals_in_body() + //stuff in the stomach + handle_stomach() + + //Disabilities + handle_disabilities() + + //Status updates, death etc. handle_regular_status_updates() + // Update clothing + update_clothing() + if(client) handle_regular_hud_updates() + //Being buckled to a chair or bed + check_if_buckled() + + // Yup. + update_canmove() + + clamp_values() + + // Grabbing + for(var/obj/item/weapon/grab/G in src) + G.process() + + /mob/living/carbon/alien/humanoid proc + clamp_values() - handle_breath(datum/gas_mixture/breath) - //Aliens can breathe in any atmosphere - var/toxins_used = 0 + stunned = max(min(stunned, 20),0) + paralysis = max(min(paralysis, 20), 0) + weakened = max(min(weakened, 20), 0) + sleeping = max(min(sleeping, 20), 0) + bruteloss = max(bruteloss, 0) + toxloss = max(toxloss, 0) + oxyloss = max(oxyloss, 0) + fireloss = max(fireloss, 0) - if(breath.toxins > ((ONE_ATMOSPHERE*BREATH_VOLUME*0.15)/(T20C*R_IDEAL_GAS_EQUATION))) - var/available_ratio = breath.toxins/((ONE_ATMOSPHERE*BREATH_VOLUME*0.15)/(T20C*R_IDEAL_GAS_EQUATION)) - toxins_used = breath.toxins*available_ratio/6 - toxloss += 7*(1-available_ratio) - else - toxloss = max(toxloss-5, 0) - toxins_used = breath.oxygen/6 - breath.toxins -= toxins_used - breath.oxygen += toxins_used + handle_disabilities() - if(breath.temperature > (T0C+66)) - fire_alert = max(fire_alert, 1) - - return 1 - - handle_environment(datum/gas_mixture/environment) - if(!environment) - return - var/environment_heat_capacity = environment.heat_capacity() - if(istype(loc, /turf/space)) - environment_heat_capacity = loc:heat_capacity - - //If there are alien weeds on the ground then heal if needed or give some toxins - if(locate(/obj/alien/weeds) in loc) - if(health >= 100) - toxloss += 2 - else - health += 5 - - if((environment.temperature > (T0C + 50)) || (environment.temperature < (T0C + 10))) - var/transfer_coefficient - - transfer_coefficient = 1 - if(head && (head.body_parts_covered & HEAD) && (environment.temperature < head.protective_temperature)) - transfer_coefficient *= head.heat_transfer_coefficient - if(wear_mask && (wear_mask.body_parts_covered & HEAD) && (environment.temperature < wear_mask.protective_temperature)) - transfer_coefficient *= wear_mask.heat_transfer_coefficient - if(wear_suit && (wear_suit.body_parts_covered & HEAD) && (environment.temperature < wear_suit.protective_temperature)) - transfer_coefficient *= wear_suit.heat_transfer_coefficient - - handle_temperature_damage(HEAD, environment.temperature, environment_heat_capacity*transfer_coefficient) - - transfer_coefficient = 1 - if(wear_suit && (wear_suit.body_parts_covered & UPPER_TORSO) && (environment.temperature < wear_suit.protective_temperature)) - transfer_coefficient *= wear_suit.heat_transfer_coefficient - - handle_temperature_damage(UPPER_TORSO, environment.temperature, environment_heat_capacity*transfer_coefficient) - - transfer_coefficient = 1 - if(wear_suit && (wear_suit.body_parts_covered & LOWER_TORSO) && (environment.temperature < wear_suit.protective_temperature)) - transfer_coefficient *= wear_suit.heat_transfer_coefficient - - handle_temperature_damage(LOWER_TORSO, environment.temperature, environment_heat_capacity*transfer_coefficient) - - transfer_coefficient = 1 - if(wear_suit && (wear_suit.body_parts_covered & LEGS) && (environment.temperature < wear_suit.protective_temperature)) - transfer_coefficient *= wear_suit.heat_transfer_coefficient - - handle_temperature_damage(LEGS, environment.temperature, environment_heat_capacity*transfer_coefficient) - - transfer_coefficient = 1 - if(wear_suit && (wear_suit.body_parts_covered & ARMS) && (environment.temperature < wear_suit.protective_temperature)) - transfer_coefficient *= wear_suit.heat_transfer_coefficient - - handle_temperature_damage(ARMS, environment.temperature, environment_heat_capacity*transfer_coefficient) - - transfer_coefficient = 1 - if(wear_suit && (wear_suit.body_parts_covered & HANDS) && (environment.temperature < wear_suit.protective_temperature)) - transfer_coefficient *= wear_suit.heat_transfer_coefficient - - handle_temperature_damage(HANDS, environment.temperature, environment_heat_capacity*transfer_coefficient) - - transfer_coefficient = 1 - if(wear_suit && (wear_suit.body_parts_covered & FEET) && (environment.temperature < wear_suit.protective_temperature)) - transfer_coefficient *= wear_suit.heat_transfer_coefficient - - handle_temperature_damage(FEET, environment.temperature, environment_heat_capacity*transfer_coefficient) - - if(stat==2) - bodytemperature += 0.1*(environment.temperature - bodytemperature)*environment_heat_capacity/(environment_heat_capacity + 270000) - - //Account for massive pressure differences - return //TODO: DEFERRED - - handle_temperature_damage(body_part, exposed_temperature, exposed_intensity) - var/discomfort = abs(exposed_temperature - bodytemperature)*(exposed_intensity)/2000000 - - switch(body_part) - if(HEAD) - TakeDamage("head", 0, 2.5*discomfort) - if(UPPER_TORSO) - TakeDamage("chest", 0, 2.5*discomfort) - if(LOWER_TORSO) - TakeDamage("groin", 0, 2.0*discomfort) - if(LEGS) - TakeDamage("l_leg", 0, 0.6*discomfort) - TakeDamage("r_leg", 0, 0.6*discomfort) - if(ARMS) - TakeDamage("l_arm", 0, 0.4*discomfort) - TakeDamage("r_arm", 0, 0.4*discomfort) - if(FEET) - TakeDamage("l_foot", 0, 0.25*discomfort) - TakeDamage("r_foot", 0, 0.25*discomfort) - if(HANDS) - TakeDamage("l_hand", 0, 0.25*discomfort) - TakeDamage("r_hand", 0, 0.25*discomfort) - - handle_chemicals_in_body() - return //TODO: DEFERRED - - handle_regular_status_updates() - //No toxloss because aliens breathe in toxins - health = 100 - (oxyloss + fireloss + bruteloss) - - if(oxyloss > 25) - paralysis = max(paralysis, 3) - - if(health < -100) - death() - - return 1 - - handle_regular_hud_updates() - //Aliens can't have internals - if(internal) - internals.icon_state = "internal1" - else - internals.icon_state = "internal0" - //Aliens can breathe any atmosphere - if(oxygen_alert > 0) - oxygen_alert -= 1 - oxygen.icon_state = "oxy1" - else - oxygen.icon_state = "oxy0" - //Aliens like toxins :) - if(toxins_alert > 0) - toxins_alert -= 1 - toxin.icon_state = "tox1" - else - toxin.icon_state = "tox0" - //This makes sense, aliens hate fire - if(fire_alert > 0) - fire_alert -= 1 - fire.icon_state = "fire1" - else - fire.icon_state = "fire0" - - return 1 - - //Should aliens have DNA? - //Figure it out and come back here. - //Nannek - //As a note, the toxloss for radiation should be changed as the alien uses toxloss as a fuel - - handle_random_events() - return - -/* - if (src.radiation > 100) - src.radiation = 100 - if ((prob(1) && (src.radiation >= 75))) - randmutb(src) - src << "\red High levels of Radiation cause you to spontaneously mutate." - domutcheck(src,null) - if ((prob(7) && (src.radiation >= 75))) - if (src.paralysis < 3) - src.paralysis = 3 - src << "\red You feel weak!" - emote("collapse") - src.updatehealth() - src.radiation -= 5 - else if ((prob(7) && ((src.radiation > 50)&&(src.radiation < 75)))) - src.updatehealth() - src.radiation -= 5 - emote("gasp") - else - if (prob(7) && (src.radiation > 1)) - if (src.radiation >= 10) - src.radiation -= 10 - src.toxloss += 5 - src.updatehealth() - else - src.radiation = 0 if (src.disabilities & 2) if ((prob(1) && src.paralysis < 10 && src.r_epil < 1)) src << "\red You have a seizure!" @@ -271,87 +111,465 @@ if (src.disabilities & 16) if (prob(10)) src.stuttering = max(10, src.stuttering) - if (prob(1) && prob(2)) - spawn(0) - emote("sneeze") - return -*/ - //This is fine for the alien + update_mind() + if(!mind && client) + mind = new + mind.current = src + mind.assigned_role = "Hunter" + mind.key = key + + handle_mutations_and_radiation() + + if(src.fireloss) + if(src.mutations & COLD_RESISTANCE || prob(50)) + switch(src.fireloss) + if(1 to 50) + src.fireloss-- + if(51 to 100) + src.fireloss -= 5 + + if (src.mutations & HULK && src.health <= 25) + src.mutations &= ~HULK + src << "\red You suddenly feel very weak." + src.weakened = 3 + emote("collapse") + + if (src.radiation) + if (src.radiation > 100) + src.radiation = 100 + src.weakened = 10 + src << "\red You feel weak." + emote("collapse") + + if (src.radiation < 0) + src.radiation = 0 + + switch(src.radiation) + if(1 to 49) + src.radiation-- + if(prob(25)) + src.toxloss++ + src.updatehealth() + + if(50 to 74) + src.radiation -= 2 + src.toxloss++ + if(prob(5)) + src.radiation -= 5 + src.weakened = 3 + src << "\red You feel weak." + emote("collapse") + src.updatehealth() + + if(75 to 100) + src.radiation -= 3 + src.toxloss += 3 + if(prob(1)) + src << "\red You mutate!" + randmutb(src) + domutcheck(src,null) + emote("gasp") + src.updatehealth() + + + breathe() + if(src.reagents) + if(src.reagents.has_reagent("lexorin")) return + if(istype(loc, /obj/machinery/atmospherics/unary/cryo_cell)) return + + var/datum/gas_mixture/environment = loc.return_air() + var/datum/air_group/breath + // HACK NEED CHANGING LATER + if(src.health < 0) + src.losebreath++ + + if(losebreath>0) //Suffocating so do not take a breath + src.losebreath-- + if (prob(75)) //High chance of gasping for air + spawn emote("gasp") + if(istype(loc, /obj/)) + var/obj/location_as_object = loc + location_as_object.handle_internal_lifeform(src, 0) + else + //First, check for air from internal atmosphere (using an air tank and mask generally) + breath = get_breath_from_internal(BREATH_VOLUME) + + //No breath from internal atmosphere so get breath from location + if(!breath) + if(istype(loc, /obj/)) + var/obj/location_as_object = loc + breath = location_as_object.handle_internal_lifeform(src, BREATH_VOLUME) + else if(istype(loc, /turf/)) + var/breath_moles = 0 + /*if(environment.return_pressure() > ONE_ATMOSPHERE) + // Loads of air around (pressure effects will be handled elsewhere), so lets just take a enough to fill our lungs at normal atmos pressure (using n = Pv/RT) + breath_moles = (ONE_ATMOSPHERE*BREATH_VOLUME/R_IDEAL_GAS_EQUATION*environment.temperature) + else*/ + // Not enough air around, take a percentage of what's there to model this properly + breath_moles = environment.total_moles()*BREATH_PERCENTAGE + + breath = loc.remove_air(breath_moles) + + else //Still give containing object the chance to interact + if(istype(loc, /obj/)) + var/obj/location_as_object = loc + location_as_object.handle_internal_lifeform(src, 0) + + handle_breath(breath) + + if(breath) + loc.assume_air(breath) + + + get_breath_from_internal(volume_needed) + if(internal) + if (!contents.Find(src.internal)) + internal = null + if (!wear_mask || !(wear_mask.flags & MASKINTERNALS) ) + internal = null + if(internal) + if (src.internals) + src.internals.icon_state = "internal1" + return internal.remove_air_volume(volume_needed) + else + if (src.internals) + src.internals.icon_state = "internal0" + return null + + update_canmove() + if(paralysis || stunned || weakened || buckled) canmove = 0 + else canmove = 1 + + handle_breath(datum/gas_mixture/breath) + if(src.nodamage) + return + + if(!breath || (breath.total_moles() == 0)) + //Aliens breathe in vaccuum + return 0 + + var/toxins_used = 0 + var/breath_pressure = (breath.total_moles()*R_IDEAL_GAS_EQUATION*breath.temperature)/BREATH_VOLUME + + //Partial pressure of the toxins in our breath + var/Toxins_pp = (breath.toxins/breath.total_moles())*breath_pressure + + if(Toxins_pp) // Detect toxins in air + + toxloss += breath.toxins*250 + toxins_alert = max(toxins_alert, 1) + + toxins_used = breath.toxins + + else + toxins_alert = 0 + + //Breathe in toxins and out oxygen + breath.toxins -= toxins_used + breath.oxygen += toxins_used + + if(breath.temperature > (T0C+66) && !(src.mutations & COLD_RESISTANCE)) // Hot air hurts :( + if(prob(20)) + src << "\red You feel a searing heat in your lungs!" + fire_alert = max(fire_alert, 1) + else + fire_alert = 0 + + //Temporary fixes to the alerts. + + return 1 + + handle_environment() + + //If there are alien weeds on the ground then heal if needed or give some toxins + if(locate(/obj/alien/weeds) in loc) + if(health >= 100) + toxloss += 15 + if(toxloss > max_plasma) + toxloss = max_plasma + + else + bruteloss -= 15 + fireloss -= 15 + + + + adjust_body_temperature(current, loc_temp, boost) + var/temperature = current + var/difference = abs(current-loc_temp) //get difference + var/increments// = difference/10 //find how many increments apart they are + if(difference > 50) + increments = difference/5 + else + increments = difference/10 + var/change = increments*boost // Get the amount to change by (x per increment) + var/temp_change + if(current < loc_temp) + temperature = min(loc_temp, temperature+change) + else if(current > loc_temp) + temperature = max(loc_temp, temperature-change) + temp_change = (temperature - current) + return temp_change + + get_thermal_protection() + var/thermal_protection = 1.0 + //Handle normal clothing + if(head && (head.body_parts_covered & HEAD)) + thermal_protection += 0.5 + if(wear_suit && (wear_suit.body_parts_covered & UPPER_TORSO)) + thermal_protection += 0.5 + if(wear_suit && (wear_suit.body_parts_covered & LEGS)) + thermal_protection += 0.2 + if(wear_suit && (wear_suit.body_parts_covered & ARMS)) + thermal_protection += 0.2 + if(wear_suit && (wear_suit.body_parts_covered & HANDS)) + thermal_protection += 0.2 + if(wear_suit && (wear_suit.flags & SUITSPACE)) + thermal_protection += 3 + if(src.mutations & COLD_RESISTANCE) + thermal_protection += 5 + + return thermal_protection + + add_fire_protection(var/temp) + var/fire_prot = 0 + if(head) + if(head.protective_temperature > temp) + fire_prot += (head.protective_temperature/10) + if(wear_mask) + if(wear_mask.protective_temperature > temp) + fire_prot += (wear_mask.protective_temperature/10) + if(wear_suit) + if(wear_suit.protective_temperature > temp) + fire_prot += (wear_suit.protective_temperature/10) + + + return fire_prot + + handle_chemicals_in_body() + + if(reagents) reagents.metabolize(src) + + if(src.nutrition > 500 && !(src.mutations & FAT)) + if(prob(5 + round((src.nutrition - 200) / 2))) + src << "\red You suddenly feel blubbery!" + src.mutations |= FAT +// update_body() + if (src.nutrition < 100 && src.mutations & FAT) + if(prob(round((50 - src.nutrition) / 100))) + src << "\blue You feel fit again!" + src.mutations &= ~FAT +// update_body() + if (src.nutrition > 0) + src.nutrition -= HUNGER_FACTOR + + if (src.drowsyness) + src.drowsyness-- + src.eye_blurry = max(2, src.eye_blurry) + if (prob(5)) + src.sleeping = 1 + src.paralysis = 5 + + confused = max(0, confused - 1) + // decrement dizziness counter, clamped to 0 + if(resting) + dizziness = max(0, dizziness - 5) + jitteriness = max(0, jitteriness - 5) + else + dizziness = max(0, dizziness - 1) + jitteriness = max(0, jitteriness - 1) + + src.updatehealth() + + return //TODO: DEFERRED + + handle_regular_status_updates() + + health = 100 - (oxyloss + fireloss + bruteloss + cloneloss) + + if(oxyloss > 50) paralysis = max(paralysis, 3) + + if(src.sleeping) + src.paralysis = max(src.paralysis, 3) + if (prob(10) && health) spawn(0) emote("snore") + src.sleeping-- + + if(src.resting) + src.weakened = max(src.weakened, 5) + + if(health < -100 || src.brain_op_stage == 4.0) + death() + else if(src.health < 0) + if(src.health <= 20 && prob(1)) spawn(0) emote("gasp") + + //if(!src.rejuv) src.oxyloss++ + if(!src.reagents.has_reagent("inaprovaline")) src.oxyloss++ + + if(src.stat != 2) src.stat = 1 + src.paralysis = max(src.paralysis, 5) + + if (src.stat != 2) //Alive. + + if (src.paralysis || src.stunned || src.weakened) //Stunned etc. + if (src.stunned > 0) + src.stunned-- + src.stat = 0 + if (src.weakened > 0) + src.weakened-- + src.lying = 1 + src.stat = 0 + if (src.paralysis > 0) + src.paralysis-- + src.blinded = 1 + src.lying = 1 + src.stat = 1 + var/h = src.hand + src.hand = 0 + drop_item() + src.hand = 1 + drop_item() + src.hand = h + + else //Not stunned. + src.lying = 0 + src.stat = 0 + + else //Dead. + src.lying = 1 + src.blinded = 1 + src.stat = 2 + + if (src.stuttering) src.stuttering-- + + if (src.eye_blind) + src.eye_blind-- + src.blinded = 1 + + if (src.ear_deaf > 0) src.ear_deaf-- + if (src.ear_damage < 25) + src.ear_damage -= 0.05 + src.ear_damage = max(src.ear_damage, 0) + + src.density = !( src.lying ) + + if ((src.sdisabilities & 1)) + src.blinded = 1 + if ((src.sdisabilities & 4)) + src.ear_deaf = 1 + + if (src.eye_blurry > 0) + src.eye_blurry-- + src.eye_blurry = max(0, src.eye_blurry) + + if (src.druggy > 0) + src.druggy-- + src.druggy = max(0, src.druggy) + + return 1 + + handle_regular_hud_updates() + + if (src.stat == 2 || src.mutations & XRAY) + src.sight |= SEE_TURFS + src.sight |= SEE_MOBS + src.sight |= SEE_OBJS + src.see_in_dark = 8 + src.see_invisible = 2 + else if (src.stat != 2) + src.sight |= SEE_MOBS + src.sight &= ~SEE_TURFS + src.sight &= ~SEE_OBJS + src.see_in_dark = 4 + src.see_invisible = 2 + + if (src.sleep) src.sleep.icon_state = text("sleep[]", src.sleeping) + if (src.rest) src.rest.icon_state = text("rest[]", src.resting) + + if (src.healths) + if (src.stat != 2) + switch(health) + if(100 to INFINITY) + src.healths.icon_state = "health0" + if(75 to 100) + src.healths.icon_state = "health1" + if(50 to 75) + src.healths.icon_state = "health2" + if(25 to 50) + src.healths.icon_state = "health3" + if(0 to 25) + src.healths.icon_state = "health4" + else + src.healths.icon_state = "health5" + else + src.healths.icon_state = "health6" + + if(src.pullin) src.pullin.icon_state = "pull[src.pulling ? 1 : 0]" + + + if (src.toxin) src.toxin.icon_state = "tox[src.toxins_alert ? 1 : 0]" + if (src.oxygen) src.oxygen.icon_state = "oxy[src.oxygen_alert ? 1 : 0]" + if (src.fire) src.fire.icon_state = "fire[src.fire_alert ? 1 : 0]" + //NOTE: the alerts dont reset when youre out of danger. dont blame me, + //blame the person who coded them. Temporary fix added. + + src.client.screen -= src.hud_used.blurry + src.client.screen -= src.hud_used.druggy + src.client.screen -= src.hud_used.vimpaired + + if ((src.blind && src.stat != 2)) + if ((src.blinded)) + src.blind.layer = 18 + else + src.blind.layer = 0 + + if (src.disabilities & 1) + src.client.screen += src.hud_used.vimpaired + + if (src.eye_blurry) + src.client.screen += src.hud_used.blurry + + if (src.druggy) + src.client.screen += src.hud_used.druggy + + if (src.stat != 2) + if (src.machine) + if (!( src.machine.check_eye(src) )) + src.reset_view(null) + else + if(!client.adminobs) + reset_view(null) + + return 1 + handle_virus_updates() if(src.bodytemperature > 406) - src.virus.cure() + for(var/datum/disease/D in viruses) + D.cure() return - if(!src.virus) - if(prob(40)) - for(var/mob/living/carbon/M in range(4, src)) - if(M.virus && M.virus.spread == "Airborne") - if(M.virus.affected_species.Find("Alien")) - if(M.virus.type in src.resistances) - continue - src.contract_disease(new M.virus.type) - for(var/obj/decal/cleanable/blood/B in range(4, src)) - if(B.virus && B.virus.spread == "Airborne") - if(B.virus.affected_species.Find("Alien")) - if(B.virus.type in src.resistances) - continue - src.contract_disease(new B.virus.type) - for(var/obj/decal/cleanable/xenoblood/X in range(4, src)) - if(X.virus && X.virus.spread == "Airborne") - if(X.virus.affected_species.Find("Alien")) - if(X.virus.type in src.resistances) - continue - src.contract_disease(new X.virus.type) + check_if_buckled() + if (src.buckled) + src.lying = (istype(src.buckled, /obj/stool/bed) ? 1 : 0) + if(src.lying) + src.drop_item() + src.density = 1 else - src.virus.stage_act() -/* -snippets + src.density = !src.lying - if (src.mach) - if (src.machine) - src.mach.icon_state = "mach1" - else - src.mach.icon_state = null - - if (!src.m_flag) - src.moved_recently = 0 - src.m_flag = null - - - - if ((istype(src.loc, /turf/space) && !( locate(/obj/movable, src.loc) ))) - var/layers = 20 - // ******* Check - if (((istype(src.head, /obj/item/clothing/head) && src.head.flags & 4) || (istype(src.wear_mask, /obj/item/clothing/mask) && (!( src.wear_mask.flags & 4 ) && src.wear_mask.flags & 8)))) - layers -= 5 - if (istype(src.w_uniform, /obj/item/clothing/under)) - layers -= 5 - if ((istype(src.wear_suit, /obj/item/clothing/suit) && src.wear_suit.flags & 8)) - layers -= 10 - if (layers > oxcheck) - oxcheck = layers - - - if(src.bodytemperature < 282.591 && (!src.firemut)) - if(src.bodytemperature < 250) - src.fireloss += 4 - src.updatehealth() - if(src.paralysis <= 2) src.paralysis += 2 - else if(prob(1) && !src.paralysis) - if(src.paralysis <= 5) src.paralysis += 5 - emote("collapse") - src << "\red You collapse from the cold!" - if(src.bodytemperature > 327.444 && (!src.firemut)) - if(src.bodytemperature > 345.444) - if(!src.eye_blurry) src << "\red The heat blurs your vision!" - src.eye_blurry = max(4, src.eye_blurry) - if(prob(3)) src.fireloss += rand(1,2) - else if(prob(3) && !src.paralysis) - src.paralysis += 2 - emote("collapse") - src << "\red You collapse from heat exaustion!" - plcheck = src.t_plasma - oxcheck = src.t_oxygen - G.turf_add(T, G.total_moles()) -*/ + handle_stomach() + spawn(0) + for(var/mob/M in stomach_contents) + if(M.loc != src) + stomach_contents.Remove(M) + continue + if(istype(M, /mob/living/carbon) && src.stat != 2) + if(M.stat == 2) + M.death(1) + stomach_contents.Remove(M) + del(M) + continue + if(air_master.current_cycle%3==1) + if(!M.nodamage) + M.bruteloss += 5 + src.nutrition += 10 diff --git a/code/modules/mob/living/carbon/alien/humanoid/life_new.dm b/code/modules/mob/living/carbon/alien/humanoid/life_new.dm deleted file mode 100644 index ea4dd9dd46..0000000000 --- a/code/modules/mob/living/carbon/alien/humanoid/life_new.dm +++ /dev/null @@ -1,575 +0,0 @@ -/mob/living/carbon/alien/humanoid - var - oxygen_alert = 0 - toxins_alert = 0 - fire_alert = 0 - - temperature_alert = 0 - - -/mob/living/carbon/alien/humanoid/Life() - set invisibility = 0 - set background = 1 - - if (src.monkeyizing) - return - - if (src.stat != 2) //still breathing - - //First, resolve location and get a breath - - if(air_master.current_cycle%4==2) - //Only try to take a breath every 4 seconds, unless suffocating - spawn(0) breathe() - - else //Still give containing object the chance to interact - if(istype(loc, /obj/)) - var/obj/location_as_object = loc - location_as_object.handle_internal_lifeform(src, 0) - - //Apparently, the person who wrote this code designed it so that - //blinded get reset each cycle and then get activated later in the - //code. Very ugly. I dont care. Moving this stuff here so its easy - //to find it. - src.blinded = null - - //Disease Check - handle_virus_updates() - - //Update mind - update_mind() - - //Handle temperature/pressure differences between body and environment - handle_environment() - - //Mutations and radiation - handle_mutations_and_radiation() - - //Chemicals in the body - handle_chemicals_in_body() - - //stuff in the stomach - handle_stomach() - - //Disabilities - handle_disabilities() - - //Status updates, death etc. - handle_regular_status_updates() - - // Update clothing - update_clothing() - - if(client) - handle_regular_hud_updates() - - //Being buckled to a chair or bed - check_if_buckled() - - // Yup. - update_canmove() - - clamp_values() - - // Grabbing - for(var/obj/item/weapon/grab/G in src) - G.process() - - -/mob/living/carbon/alien/humanoid - proc - clamp_values() - - stunned = max(min(stunned, 20),0) - paralysis = max(min(paralysis, 20), 0) - weakened = max(min(weakened, 20), 0) - sleeping = max(min(sleeping, 20), 0) - bruteloss = max(bruteloss, 0) - toxloss = max(toxloss, 0) - oxyloss = max(oxyloss, 0) - fireloss = max(fireloss, 0) - - - handle_disabilities() - - if (src.disabilities & 2) - if ((prob(1) && src.paralysis < 10 && src.r_epil < 1)) - src << "\red You have a seizure!" - src.paralysis = max(10, src.paralysis) - if (src.disabilities & 4) - if ((prob(5) && src.paralysis <= 1 && src.r_ch_cou < 1)) - src.drop_item() - spawn( 0 ) - emote("cough") - return - if (src.disabilities & 8) - if ((prob(10) && src.paralysis <= 1 && src.r_Tourette < 1)) - src.stunned = max(10, src.stunned) - spawn( 0 ) - emote("twitch") - return - if (src.disabilities & 16) - if (prob(10)) - src.stuttering = max(10, src.stuttering) - - update_mind() - if(!mind && client) - mind = new - mind.current = src - mind.assigned_role = "Hunter" - mind.key = key - - handle_mutations_and_radiation() - - if(src.fireloss) - if(src.mutations & COLD_RESISTANCE || prob(50)) - switch(src.fireloss) - if(1 to 50) - src.fireloss-- - if(51 to 100) - src.fireloss -= 5 - - if (src.mutations & HULK && src.health <= 25) - src.mutations &= ~HULK - src << "\red You suddenly feel very weak." - src.weakened = 3 - emote("collapse") - - if (src.radiation) - if (src.radiation > 100) - src.radiation = 100 - src.weakened = 10 - src << "\red You feel weak." - emote("collapse") - - if (src.radiation < 0) - src.radiation = 0 - - switch(src.radiation) - if(1 to 49) - src.radiation-- - if(prob(25)) - src.toxloss++ - src.updatehealth() - - if(50 to 74) - src.radiation -= 2 - src.toxloss++ - if(prob(5)) - src.radiation -= 5 - src.weakened = 3 - src << "\red You feel weak." - emote("collapse") - src.updatehealth() - - if(75 to 100) - src.radiation -= 3 - src.toxloss += 3 - if(prob(1)) - src << "\red You mutate!" - randmutb(src) - domutcheck(src,null) - emote("gasp") - src.updatehealth() - - - breathe() - if(src.reagents) - if(src.reagents.has_reagent("lexorin")) return - if(istype(loc, /obj/machinery/atmospherics/unary/cryo_cell)) return - - var/datum/gas_mixture/environment = loc.return_air() - var/datum/air_group/breath - // HACK NEED CHANGING LATER - if(src.health < 0) - src.losebreath++ - - if(losebreath>0) //Suffocating so do not take a breath - src.losebreath-- - if (prob(75)) //High chance of gasping for air - spawn emote("gasp") - if(istype(loc, /obj/)) - var/obj/location_as_object = loc - location_as_object.handle_internal_lifeform(src, 0) - else - //First, check for air from internal atmosphere (using an air tank and mask generally) - breath = get_breath_from_internal(BREATH_VOLUME) - - //No breath from internal atmosphere so get breath from location - if(!breath) - if(istype(loc, /obj/)) - var/obj/location_as_object = loc - breath = location_as_object.handle_internal_lifeform(src, BREATH_VOLUME) - else if(istype(loc, /turf/)) - var/breath_moles = 0 - /*if(environment.return_pressure() > ONE_ATMOSPHERE) - // Loads of air around (pressure effects will be handled elsewhere), so lets just take a enough to fill our lungs at normal atmos pressure (using n = Pv/RT) - breath_moles = (ONE_ATMOSPHERE*BREATH_VOLUME/R_IDEAL_GAS_EQUATION*environment.temperature) - else*/ - // Not enough air around, take a percentage of what's there to model this properly - breath_moles = environment.total_moles()*BREATH_PERCENTAGE - - breath = loc.remove_air(breath_moles) - - else //Still give containing object the chance to interact - if(istype(loc, /obj/)) - var/obj/location_as_object = loc - location_as_object.handle_internal_lifeform(src, 0) - - handle_breath(breath) - - if(breath) - loc.assume_air(breath) - - - get_breath_from_internal(volume_needed) - if(internal) - if (!contents.Find(src.internal)) - internal = null - if (!wear_mask || !(wear_mask.flags & MASKINTERNALS) ) - internal = null - if(internal) - if (src.internals) - src.internals.icon_state = "internal1" - return internal.remove_air_volume(volume_needed) - else - if (src.internals) - src.internals.icon_state = "internal0" - return null - - update_canmove() - if(paralysis || stunned || weakened || buckled) canmove = 0 - else canmove = 1 - - handle_breath(datum/gas_mixture/breath) - if(src.nodamage) - return - - if(!breath || (breath.total_moles() == 0)) - //Aliens breathe in vaccuum - return 0 - - var/toxins_used = 0 - var/breath_pressure = (breath.total_moles()*R_IDEAL_GAS_EQUATION*breath.temperature)/BREATH_VOLUME - - //Partial pressure of the toxins in our breath - var/Toxins_pp = (breath.toxins/breath.total_moles())*breath_pressure - - if(Toxins_pp) // Detect toxins in air - - toxloss += breath.toxins*250 - toxins_alert = max(toxins_alert, 1) - - toxins_used = breath.toxins - - else - toxins_alert = 0 - - //Breathe in toxins and out oxygen - breath.toxins -= toxins_used - breath.oxygen += toxins_used - - if(breath.temperature > (T0C+66) && !(src.mutations & COLD_RESISTANCE)) // Hot air hurts :( - if(prob(20)) - src << "\red You feel a searing heat in your lungs!" - fire_alert = max(fire_alert, 1) - else - fire_alert = 0 - - //Temporary fixes to the alerts. - - return 1 - - handle_environment() - - //If there are alien weeds on the ground then heal if needed or give some toxins - if(locate(/obj/alien/weeds) in loc) - if(health >= 100) - toxloss += 15 - if(toxloss > max_plasma) - toxloss = max_plasma - - else - bruteloss -= 15 - fireloss -= 15 - - - - adjust_body_temperature(current, loc_temp, boost) - var/temperature = current - var/difference = abs(current-loc_temp) //get difference - var/increments// = difference/10 //find how many increments apart they are - if(difference > 50) - increments = difference/5 - else - increments = difference/10 - var/change = increments*boost // Get the amount to change by (x per increment) - var/temp_change - if(current < loc_temp) - temperature = min(loc_temp, temperature+change) - else if(current > loc_temp) - temperature = max(loc_temp, temperature-change) - temp_change = (temperature - current) - return temp_change - - get_thermal_protection() - var/thermal_protection = 1.0 - //Handle normal clothing - if(head && (head.body_parts_covered & HEAD)) - thermal_protection += 0.5 - if(wear_suit && (wear_suit.body_parts_covered & UPPER_TORSO)) - thermal_protection += 0.5 - if(wear_suit && (wear_suit.body_parts_covered & LEGS)) - thermal_protection += 0.2 - if(wear_suit && (wear_suit.body_parts_covered & ARMS)) - thermal_protection += 0.2 - if(wear_suit && (wear_suit.body_parts_covered & HANDS)) - thermal_protection += 0.2 - if(wear_suit && (wear_suit.flags & SUITSPACE)) - thermal_protection += 3 - if(src.mutations & COLD_RESISTANCE) - thermal_protection += 5 - - return thermal_protection - - add_fire_protection(var/temp) - var/fire_prot = 0 - if(head) - if(head.protective_temperature > temp) - fire_prot += (head.protective_temperature/10) - if(wear_mask) - if(wear_mask.protective_temperature > temp) - fire_prot += (wear_mask.protective_temperature/10) - if(wear_suit) - if(wear_suit.protective_temperature > temp) - fire_prot += (wear_suit.protective_temperature/10) - - - return fire_prot - - handle_chemicals_in_body() - - if(reagents) reagents.metabolize(src) - - if(src.nutrition > 500 && !(src.mutations & FAT)) - if(prob(5 + round((src.nutrition - 200) / 2))) - src << "\red You suddenly feel blubbery!" - src.mutations |= FAT -// update_body() - if (src.nutrition < 100 && src.mutations & FAT) - if(prob(round((50 - src.nutrition) / 100))) - src << "\blue You feel fit again!" - src.mutations &= ~FAT -// update_body() - if (src.nutrition > 0) - src.nutrition -= HUNGER_FACTOR - - if (src.drowsyness) - src.drowsyness-- - src.eye_blurry = max(2, src.eye_blurry) - if (prob(5)) - src.sleeping = 1 - src.paralysis = 5 - - confused = max(0, confused - 1) - // decrement dizziness counter, clamped to 0 - if(resting) - dizziness = max(0, dizziness - 5) - jitteriness = max(0, jitteriness - 5) - else - dizziness = max(0, dizziness - 1) - jitteriness = max(0, jitteriness - 1) - - src.updatehealth() - - return //TODO: DEFERRED - - handle_regular_status_updates() - - health = 100 - (oxyloss + fireloss + bruteloss + cloneloss) - - if(oxyloss > 50) paralysis = max(paralysis, 3) - - if(src.sleeping) - src.paralysis = max(src.paralysis, 3) - if (prob(10) && health) spawn(0) emote("snore") - src.sleeping-- - - if(src.resting) - src.weakened = max(src.weakened, 5) - - if(health < -100 || src.brain_op_stage == 4.0) - death() - else if(src.health < 0) - if(src.health <= 20 && prob(1)) spawn(0) emote("gasp") - - //if(!src.rejuv) src.oxyloss++ - if(!src.reagents.has_reagent("inaprovaline")) src.oxyloss++ - - if(src.stat != 2) src.stat = 1 - src.paralysis = max(src.paralysis, 5) - - if (src.stat != 2) //Alive. - - if (src.paralysis || src.stunned || src.weakened) //Stunned etc. - if (src.stunned > 0) - src.stunned-- - src.stat = 0 - if (src.weakened > 0) - src.weakened-- - src.lying = 1 - src.stat = 0 - if (src.paralysis > 0) - src.paralysis-- - src.blinded = 1 - src.lying = 1 - src.stat = 1 - var/h = src.hand - src.hand = 0 - drop_item() - src.hand = 1 - drop_item() - src.hand = h - - else //Not stunned. - src.lying = 0 - src.stat = 0 - - else //Dead. - src.lying = 1 - src.blinded = 1 - src.stat = 2 - - if (src.stuttering) src.stuttering-- - - if (src.eye_blind) - src.eye_blind-- - src.blinded = 1 - - if (src.ear_deaf > 0) src.ear_deaf-- - if (src.ear_damage < 25) - src.ear_damage -= 0.05 - src.ear_damage = max(src.ear_damage, 0) - - src.density = !( src.lying ) - - if ((src.sdisabilities & 1)) - src.blinded = 1 - if ((src.sdisabilities & 4)) - src.ear_deaf = 1 - - if (src.eye_blurry > 0) - src.eye_blurry-- - src.eye_blurry = max(0, src.eye_blurry) - - if (src.druggy > 0) - src.druggy-- - src.druggy = max(0, src.druggy) - - return 1 - - handle_regular_hud_updates() - - if (src.stat == 2 || src.mutations & XRAY) - src.sight |= SEE_TURFS - src.sight |= SEE_MOBS - src.sight |= SEE_OBJS - src.see_in_dark = 8 - src.see_invisible = 2 - else if (src.stat != 2) - src.sight |= SEE_MOBS - src.sight &= ~SEE_TURFS - src.sight &= ~SEE_OBJS - src.see_in_dark = 4 - src.see_invisible = 2 - - if (src.sleep) src.sleep.icon_state = text("sleep[]", src.sleeping) - if (src.rest) src.rest.icon_state = text("rest[]", src.resting) - - if (src.healths) - if (src.stat != 2) - switch(health) - if(100 to INFINITY) - src.healths.icon_state = "health0" - if(75 to 100) - src.healths.icon_state = "health1" - if(50 to 75) - src.healths.icon_state = "health2" - if(25 to 50) - src.healths.icon_state = "health3" - if(0 to 25) - src.healths.icon_state = "health4" - else - src.healths.icon_state = "health5" - else - src.healths.icon_state = "health6" - - if(src.pullin) src.pullin.icon_state = "pull[src.pulling ? 1 : 0]" - - - if (src.toxin) src.toxin.icon_state = "tox[src.toxins_alert ? 1 : 0]" - if (src.oxygen) src.oxygen.icon_state = "oxy[src.oxygen_alert ? 1 : 0]" - if (src.fire) src.fire.icon_state = "fire[src.fire_alert ? 1 : 0]" - //NOTE: the alerts dont reset when youre out of danger. dont blame me, - //blame the person who coded them. Temporary fix added. - - src.client.screen -= src.hud_used.blurry - src.client.screen -= src.hud_used.druggy - src.client.screen -= src.hud_used.vimpaired - - if ((src.blind && src.stat != 2)) - if ((src.blinded)) - src.blind.layer = 18 - else - src.blind.layer = 0 - - if (src.disabilities & 1) - src.client.screen += src.hud_used.vimpaired - - if (src.eye_blurry) - src.client.screen += src.hud_used.blurry - - if (src.druggy) - src.client.screen += src.hud_used.druggy - - if (src.stat != 2) - if (src.machine) - if (!( src.machine.check_eye(src) )) - src.reset_view(null) - else - if(!client.adminobs) - reset_view(null) - - return 1 - - handle_virus_updates() - if(src.bodytemperature > 406) - for(var/datum/disease/D in viruses) - D.cure() - return - - check_if_buckled() - if (src.buckled) - src.lying = (istype(src.buckled, /obj/stool/bed) ? 1 : 0) - if(src.lying) - src.drop_item() - src.density = 1 - else - src.density = !src.lying - - handle_stomach() - spawn(0) - for(var/mob/M in stomach_contents) - if(M.loc != src) - stomach_contents.Remove(M) - continue - if(istype(M, /mob/living/carbon) && src.stat != 2) - if(M.stat == 2) - M.death(1) - stomach_contents.Remove(M) - del(M) - continue - if(air_master.current_cycle%3==1) - if(!M.nodamage) - M.bruteloss += 5 - src.nutrition += 10 diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 721a8e6733..a4a8a25a79 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -32,8 +32,6 @@ verbs += /mob/living/silicon/ai/proc/ai_camera_list //Added ai_network_change by Mord_Sith verbs += /mob/living/silicon/ai/proc/ai_network_change - verbs += /mob/living/silicon/ai/proc/lockdown - verbs += /mob/living/silicon/ai/proc/disablelockdown verbs += /mob/living/silicon/ai/proc/ai_statuschange //Hologram verb./N verbs += /mob/living/silicon/ai/proc/ai_hologram_change @@ -188,12 +186,10 @@ /mob/living/silicon/ai/emp_act(severity) if (prob(30)) - switch(pick(1,2,3)) //Add Random laws. + switch(pick(1,2)) if(1) cancel_camera() if(2) - lockdown() - if(3) ai_call_shuttle() ..() diff --git a/code/modules/mob/living/silicon/robot/say.dm b/code/modules/mob/living/silicon/robot/say.dm index 1bdd9c8003..c8d42e6b4c 100644 --- a/code/modules/mob/living/silicon/robot/say.dm +++ b/code/modules/mob/living/silicon/robot/say.dm @@ -5,8 +5,8 @@ return 1 if (istype(other, /mob/living/carbon/human)) return 1 - if (istype(other, /mob/living/silicon/hivebot)) - return 1 +// if (istype(other, /mob/living/silicon/hivebot)) +// return 1 return ..() /mob/living/silicon/robot/say_quote(var/text) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 30dde6e2c9..edbc64b6b7 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -57,15 +57,15 @@ return 1 return 0 -/proc/ishivebot(A) +/*proc/ishivebot(A) if(A && istype(A, /mob/living/silicon/hivebot)) return 1 - return 0 + return 0*/ -/proc/ishivemainframe(A) +/*proc/ishivemainframe(A) if(A && istype(A, /mob/living/silicon/hive_mainframe)) return 1 - return 0 + return 0*/ /proc/isAI(A) if(istype(A, /mob/living/silicon/ai)) @@ -974,20 +974,20 @@ It's fairly easy to fix if dealing with single letters but not so much with comp usr << "\blue You successfully unbuckle yourself." usr:buckled.manual_unbuckle_all(usr) if("module") - if(istype(usr, /mob/living/silicon/robot)||istype(usr, /mob/living/silicon/hivebot)) + if(istype(usr, /mob/living/silicon/robot)) if(usr:module) return usr:pick_module() if("radio") - if(istype(usr, /mob/living/silicon/robot)||istype(usr, /mob/living/silicon/hivebot)) + if(istype(usr, /mob/living/silicon/robot)) usr:radio_menu() if("panel") - if(istype(usr, /mob/living/silicon/robot)||istype(usr, /mob/living/silicon/hivebot)) + if(istype(usr, /mob/living/silicon/robot)) usr:installed_modules() if("store") - if(istype(usr, /mob/living/silicon/robot)||istype(usr, /mob/living/silicon/hivebot)) + if(istype(usr, /mob/living/silicon/robot)) usr:uneq_active() if("module1") @@ -1254,7 +1254,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp /mob/proc/equipped() if(issilicon(src)) - if(ishivebot(src)||isrobot(src)) + if(isrobot(src)) if(src:module_active) return src:module_active else @@ -1751,8 +1751,8 @@ It's fairly easy to fix if dealing with single letters but not so much with comp if(isAI(mob)) return AIMove(n,direct,mob) - if(ishivemainframe(mob)) - return MainframeMove(n,direct,mob) +// if(ishivemainframe(mob)) +// return MainframeMove(n,direct,mob) if(mob.anchored)/*If mob is not AI and is anchored. This means most anchored mobs will not be able to move. This is a fix for ninja energy_net to where mobs can not move but can still act to destroy it. diff --git a/code/modules/mob/living/carbon/human/savefile.dm b/code/modules/mob/new_player/savefile.dm similarity index 100% rename from code/modules/mob/living/carbon/human/savefile.dm rename to code/modules/mob/new_player/savefile.dm diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 58f364e0af..585cfd2c8e 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -126,8 +126,6 @@ O.verbs += /mob/living/silicon/ai/proc/ai_camera_track O.verbs += /mob/living/silicon/ai/proc/ai_alerts O.verbs += /mob/living/silicon/ai/proc/ai_camera_list - O.verbs += /mob/living/silicon/ai/proc/lockdown - O.verbs += /mob/living/silicon/ai/proc/disablelockdown O.verbs += /mob/living/silicon/ai/proc/ai_statuschange O.verbs += /mob/living/silicon/ai/proc/ai_roster diff --git a/code/game/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm similarity index 100% rename from code/game/research/circuitprinter.dm rename to code/modules/research/circuitprinter.dm diff --git a/code/game/research/designs.dm b/code/modules/research/designs.dm similarity index 100% rename from code/game/research/designs.dm rename to code/modules/research/designs.dm diff --git a/code/game/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm similarity index 100% rename from code/game/research/destructive_analyzer.dm rename to code/modules/research/destructive_analyzer.dm diff --git a/code/WorkInProgress/message_server.dm b/code/modules/research/message_server.dm similarity index 100% rename from code/WorkInProgress/message_server.dm rename to code/modules/research/message_server.dm diff --git a/code/game/research/protolathe.dm b/code/modules/research/protolathe.dm similarity index 100% rename from code/game/research/protolathe.dm rename to code/modules/research/protolathe.dm diff --git a/code/game/research/rd-readme.dm b/code/modules/research/rd-readme.dm similarity index 100% rename from code/game/research/rd-readme.dm rename to code/modules/research/rd-readme.dm diff --git a/code/game/research/rdconsole.dm b/code/modules/research/rdconsole.dm similarity index 100% rename from code/game/research/rdconsole.dm rename to code/modules/research/rdconsole.dm diff --git a/code/game/research/rdmachines.dm b/code/modules/research/rdmachines.dm similarity index 100% rename from code/game/research/rdmachines.dm rename to code/modules/research/rdmachines.dm diff --git a/code/game/research/research.dm b/code/modules/research/research.dm similarity index 100% rename from code/game/research/research.dm rename to code/modules/research/research.dm diff --git a/code/game/research/server.dm b/code/modules/research/server.dm similarity index 100% rename from code/game/research/server.dm rename to code/modules/research/server.dm diff --git a/code/WorkInProgress/BrokenInhands.dm b/code/unused/BrokenInhands.dm similarity index 100% rename from code/WorkInProgress/BrokenInhands.dm rename to code/unused/BrokenInhands.dm diff --git a/code/game/verbs/ai_lockdown.dm b/code/unused/ai_lockdown.dm similarity index 100% rename from code/game/verbs/ai_lockdown.dm rename to code/unused/ai_lockdown.dm diff --git a/code/modules/mob/living/carbon/beast/beast.dm b/code/unused/beast/beast.dm similarity index 100% rename from code/modules/mob/living/carbon/beast/beast.dm rename to code/unused/beast/beast.dm diff --git a/code/modules/mob/living/carbon/beast/bodypart.dm b/code/unused/beast/bodypart.dm similarity index 100% rename from code/modules/mob/living/carbon/beast/bodypart.dm rename to code/unused/beast/bodypart.dm diff --git a/code/modules/mob/living/carbon/beast/death.dm b/code/unused/beast/death.dm similarity index 100% rename from code/modules/mob/living/carbon/beast/death.dm rename to code/unused/beast/death.dm diff --git a/code/game/objects/carpetsplosion.dm b/code/unused/carpetsplosion.dm similarity index 100% rename from code/game/objects/carpetsplosion.dm rename to code/unused/carpetsplosion.dm diff --git a/code/WorkInProgress/computer2/airlock_control.dm b/code/unused/computer2/airlock_control.dm similarity index 100% rename from code/WorkInProgress/computer2/airlock_control.dm rename to code/unused/computer2/airlock_control.dm diff --git a/code/WorkInProgress/computer2/arcade.dm b/code/unused/computer2/arcade.dm similarity index 100% rename from code/WorkInProgress/computer2/arcade.dm rename to code/unused/computer2/arcade.dm diff --git a/code/WorkInProgress/computer2/base_program.dm b/code/unused/computer2/base_program.dm similarity index 100% rename from code/WorkInProgress/computer2/base_program.dm rename to code/unused/computer2/base_program.dm diff --git a/code/WorkInProgress/computer2/buildandrepair.dm b/code/unused/computer2/buildandrepair.dm similarity index 100% rename from code/WorkInProgress/computer2/buildandrepair.dm rename to code/unused/computer2/buildandrepair.dm diff --git a/code/WorkInProgress/computer2/computerII.dm b/code/unused/computer2/computerII.dm similarity index 100% rename from code/WorkInProgress/computer2/computerII.dm rename to code/unused/computer2/computerII.dm diff --git a/code/WorkInProgress/computer2/filebrowse.dm b/code/unused/computer2/filebrowse.dm similarity index 100% rename from code/WorkInProgress/computer2/filebrowse.dm rename to code/unused/computer2/filebrowse.dm diff --git a/code/WorkInProgress/computer2/med_rec.dm b/code/unused/computer2/med_rec.dm similarity index 100% rename from code/WorkInProgress/computer2/med_rec.dm rename to code/unused/computer2/med_rec.dm diff --git a/code/WorkInProgress/computer2/messenger.dm b/code/unused/computer2/messenger.dm similarity index 100% rename from code/WorkInProgress/computer2/messenger.dm rename to code/unused/computer2/messenger.dm diff --git a/code/WorkInProgress/computer2/peripherals.dm b/code/unused/computer2/peripherals.dm similarity index 100% rename from code/WorkInProgress/computer2/peripherals.dm rename to code/unused/computer2/peripherals.dm diff --git a/code/game/objects/items/weapons/game_kit.dm b/code/unused/game_kit.dm similarity index 100% rename from code/game/objects/items/weapons/game_kit.dm rename to code/unused/game_kit.dm diff --git a/code/modules/mob/living/silicon/hivebot/death.dm b/code/unused/hivebot/death.dm similarity index 100% rename from code/modules/mob/living/silicon/hivebot/death.dm rename to code/unused/hivebot/death.dm diff --git a/code/modules/mob/living/silicon/hivebot/emote.dm b/code/unused/hivebot/emote.dm similarity index 100% rename from code/modules/mob/living/silicon/hivebot/emote.dm rename to code/unused/hivebot/emote.dm diff --git a/code/modules/mob/living/silicon/hivebot/examine.dm b/code/unused/hivebot/examine.dm similarity index 100% rename from code/modules/mob/living/silicon/hivebot/examine.dm rename to code/unused/hivebot/examine.dm diff --git a/code/modules/mob/living/silicon/hivebot/hive_modules.dm b/code/unused/hivebot/hive_modules.dm similarity index 100% rename from code/modules/mob/living/silicon/hivebot/hive_modules.dm rename to code/unused/hivebot/hive_modules.dm diff --git a/code/modules/mob/living/silicon/hivebot/hivebot.dm b/code/unused/hivebot/hivebot.dm similarity index 100% rename from code/modules/mob/living/silicon/hivebot/hivebot.dm rename to code/unused/hivebot/hivebot.dm diff --git a/code/defines/mob/living/silicon/hivebot.dm b/code/unused/hivebot/hivebotdefine.dm similarity index 100% rename from code/defines/mob/living/silicon/hivebot.dm rename to code/unused/hivebot/hivebotdefine.dm diff --git a/code/modules/mob/living/silicon/hivebot/hud.dm b/code/unused/hivebot/hud.dm similarity index 100% rename from code/modules/mob/living/silicon/hivebot/hud.dm rename to code/unused/hivebot/hud.dm diff --git a/code/modules/mob/living/silicon/hivebot/life.dm b/code/unused/hivebot/life.dm similarity index 100% rename from code/modules/mob/living/silicon/hivebot/life.dm rename to code/unused/hivebot/life.dm diff --git a/code/modules/mob/living/silicon/hivebot/login.dm b/code/unused/hivebot/login.dm similarity index 100% rename from code/modules/mob/living/silicon/hivebot/login.dm rename to code/unused/hivebot/login.dm diff --git a/code/modules/mob/living/silicon/hivebot/mainframe.dm b/code/unused/hivebot/mainframe.dm similarity index 100% rename from code/modules/mob/living/silicon/hivebot/mainframe.dm rename to code/unused/hivebot/mainframe.dm diff --git a/code/modules/mob/living/silicon/hivebot/say.dm b/code/unused/hivebot/say.dm similarity index 100% rename from code/modules/mob/living/silicon/hivebot/say.dm rename to code/unused/hivebot/say.dm diff --git a/code/modules/mining/machine_craftlathe_unused.dm b/code/unused/mining/machine_craftlathe_unused.dm similarity index 100% rename from code/modules/mining/machine_craftlathe_unused.dm rename to code/unused/mining/machine_craftlathe_unused.dm diff --git a/code/modules/mining/machine_gas_extractor_unused.dm b/code/unused/mining/machine_gas_extractor_unused.dm similarity index 100% rename from code/modules/mining/machine_gas_extractor_unused.dm rename to code/unused/mining/machine_gas_extractor_unused.dm diff --git a/code/modules/mining/machine_purifier_unused.dm b/code/unused/mining/machine_purifier_unused.dm similarity index 100% rename from code/modules/mining/machine_purifier_unused.dm rename to code/unused/mining/machine_purifier_unused.dm diff --git a/code/modules/mining/mine_generator_unused.dm b/code/unused/mining/mine_generator_unused.dm similarity index 100% rename from code/modules/mining/mine_generator_unused.dm rename to code/unused/mining/mine_generator_unused.dm diff --git a/code/modules/mining/rail_unused.dm b/code/unused/mining/rail_unused.dm similarity index 100% rename from code/modules/mining/rail_unused.dm rename to code/unused/mining/rail_unused.dm diff --git a/code/modules/mining/spaceship_builder_unused.dm b/code/unused/mining/spaceship_builder_unused.dm similarity index 100% rename from code/modules/mining/spaceship_builder_unused.dm rename to code/unused/mining/spaceship_builder_unused.dm diff --git a/code/WorkInProgress/experimental/newcombatsystem.dm b/code/unused/newcombatsystem.dm similarity index 100% rename from code/WorkInProgress/experimental/newcombatsystem.dm rename to code/unused/newcombatsystem.dm diff --git a/code/WorkInProgress/optics/beam.dm b/code/unused/optics/beam.dm similarity index 100% rename from code/WorkInProgress/optics/beam.dm rename to code/unused/optics/beam.dm diff --git a/code/WorkInProgress/optics/laser-pointer.dm b/code/unused/optics/laser-pointer.dm similarity index 100% rename from code/WorkInProgress/optics/laser-pointer.dm rename to code/unused/optics/laser-pointer.dm diff --git a/code/WorkInProgress/optics/mirror.dm b/code/unused/optics/mirror.dm similarity index 100% rename from code/WorkInProgress/optics/mirror.dm rename to code/unused/optics/mirror.dm diff --git a/code/WorkInProgress/pda2/base_os.dm b/code/unused/pda2/base_os.dm similarity index 100% rename from code/WorkInProgress/pda2/base_os.dm rename to code/unused/pda2/base_os.dm diff --git a/code/WorkInProgress/pda2/base_program.dm b/code/unused/pda2/base_program.dm similarity index 100% rename from code/WorkInProgress/pda2/base_program.dm rename to code/unused/pda2/base_program.dm diff --git a/code/WorkInProgress/pda2/pda2.dm b/code/unused/pda2/pda2.dm similarity index 100% rename from code/WorkInProgress/pda2/pda2.dm rename to code/unused/pda2/pda2.dm diff --git a/code/WorkInProgress/pda2/record_progs.dm b/code/unused/pda2/record_progs.dm similarity index 100% rename from code/WorkInProgress/pda2/record_progs.dm rename to code/unused/pda2/record_progs.dm diff --git a/code/WorkInProgress/pda2/scanners.dm b/code/unused/pda2/scanners.dm similarity index 100% rename from code/WorkInProgress/pda2/scanners.dm rename to code/unused/pda2/scanners.dm diff --git a/code/WorkInProgress/pda2/smallprogs.dm b/code/unused/pda2/smallprogs.dm similarity index 100% rename from code/WorkInProgress/pda2/smallprogs.dm rename to code/unused/pda2/smallprogs.dm diff --git a/code/game/spacecraft/manufacturing.dm b/code/unused/spacecraft/manufacturing.dm similarity index 100% rename from code/game/spacecraft/manufacturing.dm rename to code/unused/spacecraft/manufacturing.dm diff --git a/code/game/spacecraft/shipcore.dm b/code/unused/spacecraft/shipcore.dm similarity index 100% rename from code/game/spacecraft/shipcore.dm rename to code/unused/spacecraft/shipcore.dm diff --git a/tgstation.dme b/tgstation.dme index 8cc0640dba..5a3c781cf6 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -72,13 +72,12 @@ #define FILE_DIR "code/game/objects/spawners" #define FILE_DIR "code/game/objects/stacks" #define FILE_DIR "code/game/objects/storage" -#define FILE_DIR "code/game/research" -#define FILE_DIR "code/game/spacecraft" #define FILE_DIR "code/game/verbs" #define FILE_DIR "code/js" #define FILE_DIR "code/modules" #define FILE_DIR "code/modules/admin" #define FILE_DIR "code/modules/admin/verbs" +#define FILE_DIR "code/modules/chemical" #define FILE_DIR "code/modules/food" #define FILE_DIR "code/modules/mining" #define FILE_DIR "code/modules/mob" @@ -90,7 +89,6 @@ #define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid" #define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/caste" #define FILE_DIR "code/modules/mob/living/carbon/alien/larva" -#define FILE_DIR "code/modules/mob/living/carbon/beast" #define FILE_DIR "code/modules/mob/living/carbon/brain" #define FILE_DIR "code/modules/mob/living/carbon/human" #define FILE_DIR "code/modules/mob/living/carbon/metroid" @@ -98,7 +96,6 @@ #define FILE_DIR "code/modules/mob/living/silicon" #define FILE_DIR "code/modules/mob/living/silicon/ai" #define FILE_DIR "code/modules/mob/living/silicon/decoy" -#define FILE_DIR "code/modules/mob/living/silicon/hivebot" #define FILE_DIR "code/modules/mob/living/silicon/pai" #define FILE_DIR "code/modules/mob/living/silicon/robot" #define FILE_DIR "code/modules/mob/new_player" @@ -106,17 +103,21 @@ #define FILE_DIR "code/modules/power/antimatter" #define FILE_DIR "code/modules/power/singularity" #define FILE_DIR "code/modules/power/singularity/particle_accelerator" -#define FILE_DIR "code/modules/virus2" -#define FILE_DIR "code/modules/virus2/Disease2" +#define FILE_DIR "code/modules/research" #define FILE_DIR "code/unused" +#define FILE_DIR "code/unused/beast" +#define FILE_DIR "code/unused/computer2" #define FILE_DIR "code/unused/gamemodes" +#define FILE_DIR "code/unused/hivebot" +#define FILE_DIR "code/unused/mining" +#define FILE_DIR "code/unused/optics" +#define FILE_DIR "code/unused/pda2" +#define FILE_DIR "code/unused/spacecraft" #define FILE_DIR "code/WorkInProgress" -#define FILE_DIR "code/WorkInProgress/computer2" -#define FILE_DIR "code/WorkInProgress/experimental" -#define FILE_DIR "code/WorkInProgress/optics" #define FILE_DIR "code/WorkInProgress/organs" -#define FILE_DIR "code/WorkInProgress/pda2" #define FILE_DIR "code/WorkInProgress/recycling" +#define FILE_DIR "code/WorkInProgress/virus2" +#define FILE_DIR "code/WorkInProgress/virus2/Disease2" #define FILE_DIR "icons" #define FILE_DIR "icons/effects" #define FILE_DIR "icons/misc" @@ -245,7 +246,6 @@ #include "code\defines\mob\living\carbon\monkey.dm" #include "code\defines\mob\living\silicon\ai.dm" #include "code\defines\mob\living\silicon\decoy.dm" -#include "code\defines\mob\living\silicon\hivebot.dm" #include "code\defines\mob\living\silicon\pai.dm" #include "code\defines\mob\living\silicon\robot.dm" #include "code\defines\mob\living\silicon\silicon.dm" @@ -370,6 +370,7 @@ #include "code\game\machinery\biogenerator.dm" #include "code\game\machinery\camera.dm" #include "code\game\machinery\cell_charger.dm" +#include "code\game\machinery\cloning.dm" #include "code\game\machinery\constructable_frame.dm" #include "code\game\machinery\cryo.dm" #include "code\game\machinery\deployable.dm" @@ -398,6 +399,7 @@ #include "code\game\machinery\spaceheater.dm" #include "code\game\machinery\status_display.dm" #include "code\game\machinery\suit_storage_unit.dm" +#include "code\game\machinery\syndicatebeacon.dm" #include "code\game\machinery\teleporter.dm" #include "code\game\machinery\turrets.dm" #include "code\game\machinery\vending.dm" @@ -564,6 +566,7 @@ #include "code\game\objects\items\robot_parts.dm" #include "code\game\objects\items\trash.dm" #include "code\game\objects\items\weapons\AI_modules.dm" +#include "code\game\objects\items\weapons\cameras.dm" #include "code\game\objects\items\weapons\cards_ids.dm" #include "code\game\objects\items\weapons\cigs_lighters.dm" #include "code\game\objects\items\weapons\clown_items.dm" @@ -614,19 +617,6 @@ #include "code\game\objects\storage\kit.dm" #include "code\game\objects\storage\storage.dm" #include "code\game\objects\storage\toolbox.dm" -#include "code\game\research\circuitprinter.dm" -#include "code\game\research\designs.dm" -#include "code\game\research\destructive_analyzer.dm" -#include "code\game\research\protolathe.dm" -#include "code\game\research\rd-readme.dm" -#include "code\game\research\rdconsole.dm" -#include "code\game\research\rdmachines.dm" -#include "code\game\research\research.dm" -#include "code\game\research\server.dm" -#include "code\game\spacecraft\manufacturing.dm" -#include "code\game\spacecraft\shipcore.dm" -#include "code\game\spacecraft\syndicatebeacon.dm" -#include "code\game\verbs\ai_lockdown.dm" #include "code\game\verbs\AI_status.dm" #include "code\game\verbs\authorize.dm" #include "code\game\verbs\checkkarma.dm" @@ -642,6 +632,7 @@ #include "code\modules\admin\create_mob.dm" #include "code\modules\admin\create_object.dm" #include "code\modules\admin\create_turf.dm" +#include "code\modules\admin\NewBan.dm" #include "code\modules\admin\newbanjob.dm" #include "code\modules\admin\verbs\adminhelp.dm" #include "code\modules\admin\verbs\adminjump.dm" @@ -663,26 +654,25 @@ #include "code\modules\admin\verbs\striketeam_syndicate.dm" #include "code\modules\admin\verbs\ticklag.dm" #include "code\modules\admin\verbs\tripAI.dm" +#include "code\modules\chemical\Chemistry-Holder.dm" +#include "code\modules\chemical\Chemistry-Machinery.dm" +#include "code\modules\chemical\Chemistry-Reagents.dm" +#include "code\modules\chemical\Chemistry-Recipes.dm" +#include "code\modules\chemical\Chemistry-Tools.dm" #include "code\modules\food\food.dm" #include "code\modules\food\recipes_microwave.dm" #include "code\modules\mining\datum_processing_recipe.dm" -#include "code\modules\mining\machine_craftlathe_unused.dm" -#include "code\modules\mining\machine_gas_extractor_unused.dm" #include "code\modules\mining\machine_input_output_plates.dm" #include "code\modules\mining\machine_processing.dm" -#include "code\modules\mining\machine_purifier_unused.dm" #include "code\modules\mining\machine_stacking.dm" #include "code\modules\mining\machine_unloading.dm" #include "code\modules\mining\mine_areas.dm" -#include "code\modules\mining\mine_generator_unused.dm" #include "code\modules\mining\mine_items.dm" #include "code\modules\mining\mine_turfs.dm" #include "code\modules\mining\mint.dm" #include "code\modules\mining\money_bag.dm" #include "code\modules\mining\ores_materials_coins.dm" -#include "code\modules\mining\rail_unused.dm" #include "code\modules\mining\satchel_ore_boxdm.dm" -#include "code\modules\mining\spaceship_builder_unused.dm" #include "code\modules\mob\login.dm" #include "code\modules\mob\logout.dm" #include "code\modules\mob\mob.dm" @@ -702,7 +692,7 @@ #include "code\modules\mob\living\carbon\alien\humanoid\emote.dm" #include "code\modules\mob\living\carbon\alien\humanoid\hud.dm" #include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\life_new.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\life.dm" #include "code\modules\mob\living\carbon\alien\humanoid\login.dm" #include "code\modules\mob\living\carbon\alien\humanoid\queen.dm" #include "code\modules\mob\living\carbon\alien\humanoid\caste\drone.dm" @@ -715,9 +705,6 @@ #include "code\modules\mob\living\carbon\alien\larva\life.dm" #include "code\modules\mob\living\carbon\alien\larva\login.dm" #include "code\modules\mob\living\carbon\alien\larva\powers.dm" -#include "code\modules\mob\living\carbon\beast\beast.dm" -#include "code\modules\mob\living\carbon\beast\bodypart.dm" -#include "code\modules\mob\living\carbon\beast\death.dm" #include "code\modules\mob\living\carbon\brain\brain.dm" #include "code\modules\mob\living\carbon\brain\death.dm" #include "code\modules\mob\living\carbon\brain\hud.dm" @@ -731,7 +718,6 @@ #include "code\modules\mob\living\carbon\human\human.dm" #include "code\modules\mob\living\carbon\human\life.dm" #include "code\modules\mob\living\carbon\human\login.dm" -#include "code\modules\mob\living\carbon\human\savefile.dm" #include "code\modules\mob\living\carbon\human\say.dm" #include "code\modules\mob\living\carbon\human\whisper.dm" #include "code\modules\mob\living\carbon\metroid\death.dm" @@ -767,16 +753,6 @@ #include "code\modules\mob\living\silicon\decoy\death.dm" #include "code\modules\mob\living\silicon\decoy\decoy.dm" #include "code\modules\mob\living\silicon\decoy\life.dm" -#include "code\modules\mob\living\silicon\hivebot\death.dm" -#include "code\modules\mob\living\silicon\hivebot\emote.dm" -#include "code\modules\mob\living\silicon\hivebot\examine.dm" -#include "code\modules\mob\living\silicon\hivebot\hive_modules.dm" -#include "code\modules\mob\living\silicon\hivebot\hivebot.dm" -#include "code\modules\mob\living\silicon\hivebot\hud.dm" -#include "code\modules\mob\living\silicon\hivebot\life.dm" -#include "code\modules\mob\living\silicon\hivebot\login.dm" -#include "code\modules\mob\living\silicon\hivebot\mainframe.dm" -#include "code\modules\mob\living\silicon\hivebot\say.dm" #include "code\modules\mob\living\silicon\pai\death.dm" #include "code\modules\mob\living\silicon\pai\examine.dm" #include "code\modules\mob\living\silicon\pai\hud.dm" @@ -800,6 +776,7 @@ #include "code\modules\mob\new_player\hud.dm" #include "code\modules\mob\new_player\new_player.dm" #include "code\modules\mob\new_player\preferences.dm" +#include "code\modules\mob\new_player\savefile.dm" #include "code\modules\power\apc.dm" #include "code\modules\power\cable.dm" #include "code\modules\power\cell.dm" @@ -830,37 +807,33 @@ #include "code\modules\power\singularity\particle_accelerator\particle_control.dm" #include "code\modules\power\singularity\particle_accelerator\particle_emitter.dm" #include "code\modules\power\singularity\particle_accelerator\particle_power.dm" -#include "code\modules\virus2\Prob.dm" -#include "code\modules\virus2\Disease2\analyser.dm" -#include "code\modules\virus2\Disease2\base.dm" -#include "code\modules\virus2\Disease2\biohazard destroyer.dm" -#include "code\modules\virus2\Disease2\cureimplanter.dm" -#include "code\modules\virus2\Disease2\curer.dm" -#include "code\modules\virus2\Disease2\diseasesplicer.dm" -#include "code\modules\virus2\Disease2\dishincubator.dm" -#include "code\modules\virus2\Disease2\isolator.dm" -#include "code\modules\virus2\Disease2\monkeydispensor.dm" -#include "code\unused\vehicle.dm" -#include "code\unused\gamemodes\monkey.dm" -#include "code\WorkInProgress\BrokenInhands.dm" +#include "code\modules\research\circuitprinter.dm" +#include "code\modules\research\designs.dm" +#include "code\modules\research\destructive_analyzer.dm" +#include "code\modules\research\message_server.dm" +#include "code\modules\research\protolathe.dm" +#include "code\modules\research\rd-readme.dm" +#include "code\modules\research\rdconsole.dm" +#include "code\modules\research\rdmachines.dm" +#include "code\modules\research\research.dm" +#include "code\modules\research\server.dm" #include "code\WorkInProgress\buildmode.dm" -#include "code\WorkInProgress\Cameras.dm" -#include "code\WorkInProgress\Chemistry-Holder.dm" -#include "code\WorkInProgress\Chemistry-Machinery.dm" -#include "code\WorkInProgress\Chemistry-Reagents.dm" -#include "code\WorkInProgress\Chemistry-Recipes.dm" -#include "code\WorkInProgress\Chemistry-Tools.dm" -#include "code\WorkInProgress\cloning.dm" #include "code\WorkInProgress\explosion_particles.dm" -#include "code\WorkInProgress\message_server.dm" -#include "code\WorkInProgress\NewBan.dm" -#include "code\WorkInProgress\organs\implants.dm" #include "code\WorkInProgress\organs\organs.dm" #include "code\WorkInProgress\recycling\conveyor.dm" #include "code\WorkInProgress\recycling\disposal-construction.dm" #include "code\WorkInProgress\recycling\disposal.dm" -#include "code\WorkInProgress\recycling\scrap.dm" #include "code\WorkInProgress\recycling\sortingmachinery.dm" +#include "code\WorkInProgress\virus2\Prob.dm" +#include "code\WorkInProgress\virus2\Disease2\analyser.dm" +#include "code\WorkInProgress\virus2\Disease2\base.dm" +#include "code\WorkInProgress\virus2\Disease2\biohazard destroyer.dm" +#include "code\WorkInProgress\virus2\Disease2\cureimplanter.dm" +#include "code\WorkInProgress\virus2\Disease2\curer.dm" +#include "code\WorkInProgress\virus2\Disease2\diseasesplicer.dm" +#include "code\WorkInProgress\virus2\Disease2\dishincubator.dm" +#include "code\WorkInProgress\virus2\Disease2\isolator.dm" +#include "code\WorkInProgress\virus2\Disease2\monkeydispensor.dm" #include "interface\skin.dmf" #include "maps\tgstation.2.0.8.dmm" // END_INCLUDE