From 6cbaac3e0dcb7afe2bb44da1e3b9ffe763e4ef6d Mon Sep 17 00:00:00 2001 From: Erthilo Date: Tue, 29 May 2012 02:59:49 +0100 Subject: [PATCH 01/20] New void suit sprites by Searif. = --- icons/mob/suit.dmi | Bin 274415 -> 277770 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index d47291ca99c35f78c43e10af0d48a37ccec5d6f2..13f1e39fa0564a8d95ff5971d9b485a4c9af86d4 100644 GIT binary patch delta 23028 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 From fbb67b2e42a4fc5a2936d7ecd0f90668cc2dc21f Mon Sep 17 00:00:00 2001 From: Mloc Date: Tue, 29 May 2012 16:26:48 +0100 Subject: [PATCH 02/20] Huge commit! Standardizes var definitions in most places. Signed-off-by: Mloc --- code/FEA/FEA_fire.dm | 13 +- code/FEA/FEA_gas_mixture.dm | 11 +- code/FEA/FEA_turf_tile.dm | 25 +- .../WorkInProgress/SkyMarshal/traitoritems.dm | 11 +- code/WorkInProgress/SkyMarshal/wardrobes.dm | 7 +- code/WorkInProgress/animusstation/atm.dm | 13 +- code/WorkInProgress/virus2/antibodies.dm | 31 +- code/datums/mixed.dm | 30 +- code/datums/shuttle_controller.dm | 21 +- code/defines/global.dm | 311 +++++++++--------- code/defines/obj.dm | 14 +- code/defines/obj/machinery.dm | 43 ++- code/defines/obj/weapon.dm | 7 +- code/defines/procs/AStar.dm | 23 +- code/defines/procs/dbcore.dm | 54 ++- code/defines/procs/gamehelpers.dm | 13 +- code/defines/procs/icon_procs.dm | 34 +- code/defines/sd_procs/base64.dm | 32 +- code/defines/sd_procs/color.dm | 28 +- code/defines/sd_procs/hsl.dm | 27 +- code/defines/turf.dm | 23 +- code/game/algorithm.dm | 39 +-- code/game/asteroid/artifacts.dm | 9 +- code/game/events/EventProcs/dust.dm | 9 +- code/game/events/Events/ElectricalStorm.dm | 11 +- code/game/events/Events/IonStorm.dm | 9 +- code/game/events/Events/VirusEpidemic.dm | 9 +- code/game/gamemodes/blob/blob.dm | 26 +- code/game/gamemodes/blob/blob_report.dm | 19 +- code/game/gamemodes/blob/theblob.dm | 29 +- code/game/gamemodes/changeling/changeling.dm | 38 +-- code/game/gamemodes/cult/cult.dm | 7 +- code/game/gamemodes/game_mode.dm | 37 ++- code/game/gamemodes/meme/meme.dm | 40 +-- code/game/gamemodes/objective.dm | 13 +- code/game/gamemodes/sandbox/h_sandbox.dm | 17 +- code/game/jobs/job_controller.dm | 13 +- code/game/machinery/alarm.dm | 11 +- code/game/machinery/autolathe.dm | 13 +- code/game/machinery/bots/mulebot.dm | 23 +- code/game/machinery/cell_charger.dm | 7 +- code/game/machinery/computer/Operating.dm | 9 +- code/game/machinery/computer/atmos_alert.dm | 13 +- .../game/machinery/computer/buildandrepair.dm | 21 +- code/game/machinery/computer/card.dm | 13 +- .../game/machinery/computer/communications.dm | 25 +- code/game/machinery/computer/hologram.dm | 17 +- code/game/machinery/computer/law.dm | 9 +- code/game/machinery/computer/medical.dm | 27 +- code/game/machinery/computer/pod.dm | 11 +- code/game/machinery/computer/prisoner.dm | 15 +- code/game/machinery/computer/robot.dm | 15 +- code/game/machinery/computer/security.dm | 29 +- code/game/machinery/constructable_frame.dm | 13 +- .../machinery/doors/airlock_electronics.dm | 13 +- code/game/machinery/doors/brigdoors.dm | 15 +- code/game/machinery/doors/door.dm | 19 +- code/game/machinery/recharger.dm | 7 +- code/game/machinery/syndicatebeacon.dm | 16 +- code/game/machinery/telecomms/broadcaster.dm | 5 +- code/game/machinery/telecomms/logbrowser.dm | 17 +- .../telecomms/machine_interactions.dm | 7 +- .../machinery/telecomms/telecommunications.dm | 56 ++-- code/game/machinery/telecomms/telemonitor.dm | 15 +- .../machinery/telecomms/traffic_control.dm | 23 +- code/game/machinery/vending.dm | 11 +- code/game/magic/archived_book.dm | 19 +- code/game/magic/cultist/ritual.dm | 12 +- code/game/magic/library.dm | 76 ++--- code/game/magic/musician.dm | 18 +- code/game/objects/alien/facehugger.dm | 13 +- code/game/objects/devices/flashlight.dm | 13 +- code/game/objects/grille.dm | 7 +- code/game/objects/items/candle.dm | 7 +- code/game/objects/items/robot_items.dm | 12 +- code/game/objects/items/tk_grab.dm | 9 +- code/game/objects/items/weapons/RCD.dm | 15 +- .../objects/items/weapons/cigs_lighters.dm | 35 +- .../objects/items/weapons/flamethrower.dm | 21 +- code/game/objects/items/weapons/grenades.dm | 14 +- .../objects/items/weapons/implants/implant.dm | 21 +- .../items/weapons/implants/implantcase.dm | 7 +- .../items/weapons/implants/implantchair.dm | 21 +- .../items/weapons/implants/implanter.dm | 7 +- .../items/weapons/implants/implantfreedom.dm | 7 +- .../items/weapons/implants/implantpad.dm | 9 +- .../objects/items/weapons/mops_cleaners.dm | 15 +- .../objects/items/weapons/surgery_tools.dm | 9 +- code/game/objects/items/weapons/tools.dm | 11 +- code/game/objects/radio/headset.dm | 13 +- code/game/objects/radio/radio.dm | 47 ++- code/game/objects/storage/lockbox.dm | 15 +- code/game/objects/tanks/jetpack.dm | 13 +- code/modules/admin/banjob.dm | 7 +- code/modules/assembly/assembly.dm | 65 ++-- code/modules/assembly/holder.dm | 11 +- code/modules/assembly/infrared.dm | 11 +- code/modules/assembly/proximity.dm | 11 +- code/modules/assembly/signaler.dm | 15 +- code/modules/assembly/timer.dm | 9 +- code/modules/chemical/Chemistry-Holder.dm | 7 +- code/modules/chemical/Chemistry-Reagents.dm | 17 +- code/modules/clothing/glasses.dm | 11 +- code/modules/clothing/glasses/hud.dm | 5 +- code/modules/clothing/spacesuits/ninja.dm | 63 ++-- code/modules/critters/critter.dm | 97 +++--- code/modules/critters/hivebots/hivebot.dm | 20 +- code/modules/flufftext/TextFilters.dm | 12 +- code/modules/mob/living/blob/blob.dm | 7 +- .../mob/living/carbon/alien/humanoid/life.dm | 13 +- .../mob/living/carbon/alien/larva/life.dm | 13 +- code/modules/mob/living/carbon/brain/MMI.dm | 13 +- code/modules/mob/living/carbon/brain/brain.dm | 9 +- code/modules/mob/living/carbon/human/life.dm | 21 +- code/modules/mob/living/parasite/meme.dm | 7 +- .../modules/mob/living/silicon/pai/recruit.dm | 17 +- .../mob/living/silicon/robot/robot_modules.dm | 9 +- code/modules/mob/mob_helpers.dm | 10 +- code/modules/mob/mob_movement.dm | 3 +- code/modules/mob/new_player/new_player.dm | 13 +- code/modules/mob/new_player/preferences.dm | 27 +- code/modules/mob/organ/organ.dm | 83 +++-- code/modules/paperwork/paper.dm | 32 +- code/modules/paperwork/paperbin.dm | 11 +- code/modules/paperwork/photocopier.dm | 13 +- code/modules/power/antimatter/computer.dm | 9 +- code/modules/power/pacman2.dm | 11 +- code/modules/power/port_gen.dm | 30 +- code/modules/power/singularity/collector.dm | 13 +- .../power/singularity/containment_field.dm | 9 +- code/modules/power/singularity/emitter.dm | 23 +- .../power/singularity/field_generator.dm | 23 +- code/modules/power/singularity/generator.dm | 7 +- .../particle_accelerator/particle.dm | 23 +- .../particle_accelerator.dm | 30 +- .../particle_accelerator/particle_control.dm | 9 +- .../particle_accelerator/particle_emitter.dm | 9 +- code/modules/power/singularity/singularity.dm | 37 ++- code/modules/power/solar.dm | 36 +- code/modules/projectiles/ammunition.dm | 18 +- code/modules/projectiles/guns/energy.dm | 13 +- .../projectiles/guns/energy/nuclear.dm | 5 +- code/modules/projectiles/guns/projectile.dm | 13 +- .../projectiles/guns/projectile/shotgun.dm | 11 +- code/modules/projectiles/projectile.dm | 54 +-- code/modules/recycling/disposal.dm | 32 +- code/modules/research/circuitprinter.dm | 11 +- code/modules/research/designs.dm | 25 +- code/modules/research/destructive_analyzer.dm | 9 +- code/modules/research/protolathe.dm | 25 +- code/modules/research/rdconsole.dm | 23 +- code/modules/research/rdmachines.dm | 25 +- code/modules/research/research.dm | 26 +- code/modules/research/server.dm | 36 +- code/unused/beast/bodypart.dm | 9 +- code/unused/spacecraft/manufacturing.dm | 44 ++- code/unused/spacecraft/shipcore.dm | 23 +- 157 files changed, 1736 insertions(+), 1634 deletions(-) diff --git a/code/FEA/FEA_fire.dm b/code/FEA/FEA_fire.dm index 14fd727dd92..c37e51ac2ca 100644 --- a/code/FEA/FEA_fire.dm +++ b/code/FEA/FEA_fire.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + atom proc/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) //Purpose: Managing temperature exposure. @@ -67,13 +69,12 @@ obj layer = TURF_LAYER - var - volume = 125 - temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST + var/volume = 125 + var/temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST - just_spawned = 1 + var/just_spawned = 1 - bypassing = 0 + var/bypassing = 0 proc/perform_exposure() var/turf/simulated/floor/location = loc @@ -179,4 +180,4 @@ obj loc = null - ..() \ No newline at end of file + ..() diff --git a/code/FEA/FEA_gas_mixture.dm b/code/FEA/FEA_gas_mixture.dm index 8edefe79d7b..751431ef7b3 100644 --- a/code/FEA/FEA_gas_mixture.dm +++ b/code/FEA/FEA_gas_mixture.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /* What are the archived variables for? Calculations are done using the archived variables with the results merged into the regular variables. @@ -22,11 +24,10 @@ datum volatile_fuel specific_heat = 30 - var - moles = 0 - specific_heat = 0 + var/moles = 0 + var/specific_heat = 0 - moles_archived = 0 + var/moles_archived = 0 gas_mixture var //Holds the "moles" of each of the four gases. @@ -1006,4 +1007,4 @@ datum corresponding.moles -= trace_gas.moles update_values() - return 1 \ No newline at end of file + return 1 diff --git a/code/FEA/FEA_turf_tile.dm b/code/FEA/FEA_turf_tile.dm index 38083f52ce0..2fe7cbbcc63 100644 --- a/code/FEA/FEA_turf_tile.dm +++ b/code/FEA/FEA_turf_tile.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + atom/movable/var/pressure_resistance = 20 atom/movable/var/last_forced_movement = 0 @@ -91,23 +93,22 @@ turf var/current_graphic = null - var/tmp - datum/gas_mixture/air + var/tmp/datum/gas_mixture/air - processing = 1 - datum/air_group/parent - group_border = 0 - length_space_border = 0 + var/tmp/processing = 1 + var/tmp/datum/air_group/parent + var/tmp/group_border = 0 + var/tmp/length_space_border = 0 - air_check_directions = 0 //Do not modify this, just add turf to air_master.tiles_to_update + var/tmp/air_check_directions = 0 //Do not modify this, just add turf to air_master.tiles_to_update - archived_cycle = 0 - current_cycle = 0 + var/tmp/archived_cycle = 0 + var/tmp/current_cycle = 0 - obj/effect/hotspot/active_hotspot + var/tmp/obj/effect/hotspot/active_hotspot - temperature_archived //USED ONLY FOR SOLIDS - being_superconductive = 0 + var/tmp/temperature_archived //USED ONLY FOR SOLIDS + var/tmp/being_superconductive = 0 proc diff --git a/code/WorkInProgress/SkyMarshal/traitoritems.dm b/code/WorkInProgress/SkyMarshal/traitoritems.dm index 19e2d2e9a0d..a2b24f4f5ce 100644 --- a/code/WorkInProgress/SkyMarshal/traitoritems.dm +++ b/code/WorkInProgress/SkyMarshal/traitoritems.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + /obj/item/weapon/stamperaser name = "eraser" desc = "It looks like some kind of eraser." @@ -15,10 +17,9 @@ var/on = 0 flags = FPRINT|TABLEPASS w_class = 1 - var - list/obj/item/device/radio/Old = list() - list/obj/item/device/radio/Curr = list() - time_remaining = 5 + var/list/obj/item/device/radio/Old = list() + var/list/obj/item/device/radio/Curr = list() + var/time_remaining = 5 /obj/item/device/jammer/New() ..() @@ -72,4 +73,4 @@ icon_state = "t-ray0" sleep(2) - */ \ No newline at end of file + */ diff --git a/code/WorkInProgress/SkyMarshal/wardrobes.dm b/code/WorkInProgress/SkyMarshal/wardrobes.dm index 56b7f4d36fb..f8fa93cef3f 100755 --- a/code/WorkInProgress/SkyMarshal/wardrobes.dm +++ b/code/WorkInProgress/SkyMarshal/wardrobes.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + /obj/item/wardrobe name = "\improper Wardrobe" desc = "A standard-issue bag for clothing and equipment. Usually comes sealed, stocked with everything you need for a particular job." @@ -6,9 +8,8 @@ item_state = "wardrobe" w_class = 4 layer = 2.99 - var - descriptor = "various clothing" - seal_torn = 0 + var/descriptor = "various clothing" + var/seal_torn = 0 attack_self(mob/user) if(!contents.len) diff --git a/code/WorkInProgress/animusstation/atm.dm b/code/WorkInProgress/animusstation/atm.dm index a6dce70e502..71235421cec 100644 --- a/code/WorkInProgress/animusstation/atm.dm +++ b/code/WorkInProgress/animusstation/atm.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + /* TODO: @@ -15,12 +17,11 @@ log transactions anchored = 1 use_power = 1 idle_power_usage = 10 - var - obj/item/weapon/card/id/card - obj/item/weapon/money/cashes = list() - inserted = 0 - accepted = 0 - pincode = 0 + var/obj/item/weapon/card/id/card + var/obj/item/weapon/money/cashes = list() + var/inserted = 0 + var/accepted = 0 + var/pincode = 0 attackby(var/obj/A, var/mob/user) if(istype(A,/obj/item/weapon/money)) diff --git a/code/WorkInProgress/virus2/antibodies.dm b/code/WorkInProgress/virus2/antibodies.dm index 31de7c02ba9..5c12beb9482 100644 --- a/code/WorkInProgress/virus2/antibodies.dm +++ b/code/WorkInProgress/virus2/antibodies.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + // pure concentrated antibodies datum/reagent/antibodies data = new/list("antibodies"=0) @@ -16,20 +18,19 @@ datum/reagent/antibodies 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/const/ANTIGEN_A = 1 +var/global/const/ANTIGEN_B = 2 +var/global/const/ANTIGEN_RH = 4 +var/global/const/ANTIGEN_Q = 8 +var/global/const/ANTIGEN_U = 16 +var/global/const/ANTIGEN_V = 32 +var/global/const/ANTIGEN_X = 64 +var/global/const/ANTIGEN_Y = 128 +var/global/const/ANTIGEN_Z = 256 +var/global/const/ANTIGEN_M = 512 +var/global/const/ANTIGEN_N = 1024 +var/global/const/ANTIGEN_P = 2048 +var/global/const/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", @@ -53,4 +54,4 @@ var/global/list/ANTIGENS = list("[ANTIGEN_A]" = "A", "[ANTIGEN_B]" = "B", "[ANTI // 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 + user << text("\blue [src] The antibody scanner displays a cryptic set of data: [code]") diff --git a/code/datums/mixed.dm b/code/datums/mixed.dm index cbe786dbe29..d7c19d40acf 100644 --- a/code/datums/mixed.dm +++ b/code/datums/mixed.dm @@ -1,7 +1,8 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /datum/data - var - name = "data" - size = 1.0 + var/name = "data" + var/size = 1.0 /datum/data/function @@ -30,20 +31,19 @@ /datum/powernet - var - list/cables = list() // all cables & junctions - list/nodes = list() // all APCs & sources + var/list/cables = list() // all cables & junctions + var/list/nodes = list() // all APCs & sources - newload = 0 - load = 0 - newavail = 0 - avail = 0 - viewload = 0 - number = 0 - perapc = 0 // per-apc avilability - netexcess = 0 + var/newload = 0 + var/load = 0 + var/newavail = 0 + var/avail = 0 + var/viewload = 0 + var/number = 0 + var/perapc = 0 // per-apc avilability + var/netexcess = 0 /datum/debug - var/list/debuglist \ No newline at end of file + var/list/debuglist diff --git a/code/datums/shuttle_controller.dm b/code/datums/shuttle_controller.dm index d67c7c55053..356ac366ed4 100644 --- a/code/datums/shuttle_controller.dm +++ b/code/datums/shuttle_controller.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + // Controls the emergency shuttle @@ -10,19 +12,18 @@ var/global/datum/shuttle_controller/emergency_shuttle/emergency_shuttle datum/shuttle_controller - var - alert = 0 //0 = emergency, 1 = crew cycle + var/alert = 0 //0 = emergency, 1 = crew cycle - location = 0 //0 = somewhere far away (in spess), 1 = at SS13, 2 = returned from SS13 - online = 0 - direction = 1 //-1 = going back to central command, 1 = going to SS13, 2 = in transit to centcom (not recalled) + var/location = 0 //0 = somewhere far away (in spess), 1 = at SS13, 2 = returned from SS13 + var/online = 0 + var/direction = 1 //-1 = going back to central command, 1 = going to SS13, 2 = in transit to centcom (not recalled) - endtime // timeofday that shuttle arrives - timelimit //important when the shuttle gets called for more than shuttlearrivetime + var/endtime // timeofday that shuttle arrives + var/timelimit //important when the shuttle gets called for more than shuttlearrivetime //timeleft = 360 //600 - fake_recall = 0 //Used in rounds to prevent "ON NOES, IT MUST [INSERT ROUND] BECAUSE SHUTTLE CAN'T BE CALLED" - deny_shuttle = 0 //for admins not allowing it to be called. - departed = 0 + var/fake_recall = 0 //Used in rounds to prevent "ON NOES, IT MUST [INSERT ROUND] BECAUSE SHUTTLE CAN'T BE CALLED" + var/deny_shuttle = 0 //for admins not allowing it to be called. + var/departed = 0 // sound_siren = 1 //if siren should go off //People hat it :( // call the shuttle // if not called before, set the endtime to T+600 seconds diff --git a/code/defines/global.dm b/code/defines/global.dm index d5b1876046e..b4b5da3d448 100644 --- a/code/defines/global.dm +++ b/code/defines/global.dm @@ -1,16 +1,17 @@ -var/global - obj/datacore/data_core = null - obj/effect/overlay/plmaster = null - obj/effect/overlay/slmaster = null +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + +var/global/obj/datacore/data_core = null +var/global/obj/effect/overlay/plmaster = null +var/global/obj/effect/overlay/slmaster = null //obj/hud/main_hud1 = null - list/machines = list() - list/processing_objects = list() - list/active_diseases = list() +var/global/list/machines = list() +var/global/list/processing_objects = list() +var/global/list/active_diseases = list() //items that ask to be called every cycle - defer_powernet_rebuild = 0 // true if net rebuild will be called manually after an event +var/global/defer_powernet_rebuild = 0 // true if net rebuild will be called manually after an event //list/global_map = null //Borked, do not touch. DMTG //list/global_map = list(list(1,5),list(4,3))//an array of map Z levels. @@ -23,197 +24,196 @@ var/global //3 - AI satellite //5 - empty space -var ////////////// - BLINDBLOCK = 0 - DEAFBLOCK = 0 - HULKBLOCK = 0 - TELEBLOCK = 0 - FIREBLOCK = 0 - XRAYBLOCK = 0 - CLUMSYBLOCK = 0 - FAKEBLOCK = 0 - BLOCKADD = 0 - DIFFMUT = 0 - HEADACHEBLOCK = 0 - COUGHBLOCK = 0 - TWITCHBLOCK = 0 - NERVOUSBLOCK = 0 - NOBREATHBLOCK = 0 - REMOTEVIEWBLOCK = 0 - REGENERATEBLOCK = 0 - INCREASERUNBLOCK = 0 - REMOTETALKBLOCK = 0 - MORPHBLOCK = 0 - BLENDBLOCK = 0 - HALLUCINATIONBLOCK = 0 - NOPRINTSBLOCK = 0 - SHOCKIMMUNITYBLOCK = 0 - SMALLSIZEBLOCK = 0 - GLASSESBLOCK = 0 - MONKEYBLOCK = 27 +var/BLINDBLOCK = 0 +var/DEAFBLOCK = 0 +var/HULKBLOCK = 0 +var/TELEBLOCK = 0 +var/FIREBLOCK = 0 +var/XRAYBLOCK = 0 +var/CLUMSYBLOCK = 0 +var/FAKEBLOCK = 0 +var/BLOCKADD = 0 +var/DIFFMUT = 0 +var/HEADACHEBLOCK = 0 +var/COUGHBLOCK = 0 +var/TWITCHBLOCK = 0 +var/NERVOUSBLOCK = 0 +var/NOBREATHBLOCK = 0 +var/REMOTEVIEWBLOCK = 0 +var/REGENERATEBLOCK = 0 +var/INCREASERUNBLOCK = 0 +var/REMOTETALKBLOCK = 0 +var/MORPHBLOCK = 0 +var/BLENDBLOCK = 0 +var/HALLUCINATIONBLOCK = 0 +var/NOPRINTSBLOCK = 0 +var/SHOCKIMMUNITYBLOCK = 0 +var/SMALLSIZEBLOCK = 0 +var/GLASSESBLOCK = 0 +var/MONKEYBLOCK = 27 - skipupdate = 0 +var/skipupdate = 0 /////////////// - eventchance = 1 //% per 2 mins - EventsOn = 1 - hadevent = 0 - blobevent = 0 +var/eventchance = 1 //% per 2 mins +var/EventsOn = 1 +var/hadevent = 0 +var/blobevent = 0 /////////////// - diary = null - diaryofmeanpeople = null - station_name = null - game_version = "Baystation 12" +var/diary = null +var/diaryofmeanpeople = null +var/station_name = null +var/game_version = "Baystation 12" - datum/air_tunnel/air_tunnel1/SS13_airtunnel = null - going = 1.0 - master_mode = "traitor"//"extended" - secret_force_mode = "secret" // if this is anything but "secret", the secret rotation will forceably choose this mode +var/datum/air_tunnel/air_tunnel1/SS13_airtunnel = null +var/going = 1.0 +var/master_mode = "traitor"//"extended" +var/secret_force_mode = "secret" // if this is anything but "secret", the secret rotation will forceably choose this mode - datum/engine_eject/engine_eject_control = null - host = null - aliens_allowed = 1 - ooc_allowed = 1 - dooc_allowed = 1 - traitor_scaling = 1 - goonsay_allowed = 0 - dna_ident = 1 - abandon_allowed = 1 - enter_allowed = 1 +var/datum/engine_eject/engine_eject_control = null +var/host = null +var/aliens_allowed = 1 +var/ooc_allowed = 1 +var/dooc_allowed = 1 +var/traitor_scaling = 1 +var/goonsay_allowed = 0 +var/dna_ident = 1 +var/abandon_allowed = 1 +var/enter_allowed = 1 // guests_allowed = 1 - shuttle_frozen = 0 - shuttle_left = 0 - tinted_weldhelh = 1 +var/shuttle_frozen = 0 +var/shuttle_left = 0 +var/tinted_weldhelh = 1 - list/jobMax = list() - list/bombers = list( ) - list/admin_log = list ( ) - list/lastsignalers = list( ) //keeps last 100 signals here in format: "[src] used \ref[src] @ location [src.loc]: [freq]/[code]" - list/lawchanges = list( ) //Stores who uploaded laws to which silicon-based lifeform, and what the law was - list/admins = list( ) - list/alien_whitelist = list( ) - list/shuttles = list( ) - list/reg_dna = list( ) +var/list/jobMax = list() +var/list/bombers = list( ) +var/list/admin_log = list ( ) +var/list/lastsignalers = list( ) //keeps last 100 signals here in format: "[src] used \ref[src] @ location [src.loc]: [freq]/[code]" +var/list/lawchanges = list( ) //Stores who uploaded laws to which silicon-based lifeform, and what the law was +var/list/admins = list( ) +var/list/alien_whitelist = list( ) +var/list/shuttles = list( ) +var/list/reg_dna = list( ) // list/traitobj = list( ) - CELLRATE = 0.002 // multiplier for watts per tick <> cell storage (eg: .002 means if there is a load of 1000 watts, 20 units will be taken from a cell per second) - CHARGELEVEL = 0.001 // Cap for how fast cells charge, as a percentage-per-tick (.001 means cellcharge is capped to 1% per second) +var/CELLRATE = 0.002 // multiplier for watts per tick <> cell storage (eg: .002 means if there is a load of 1000 watts, 20 units will be taken from a cell per second) +var/CHARGELEVEL = 0.001 // Cap for how fast cells charge, as a percentage-per-tick (.001 means cellcharge is capped to 1% per second) - shuttle_z = 2 //default - airtunnel_start = 68 // default - airtunnel_stop = 68 // default - airtunnel_bottom = 72 // default - list/monkeystart = list() - list/wizardstart = list() - list/newplayer_start = list() - list/latejoin = list() - list/prisonwarp = list() //prisoners go to these - list/holdingfacility = list() //captured people go here - list/xeno_spawn = list()//Aliens spawn at these. +var/shuttle_z = 2 //default +var/airtunnel_start = 68 // default +var/airtunnel_stop = 68 // default +var/airtunnel_bottom = 72 // default +var/list/monkeystart = list() +var/list/wizardstart = list() +var/list/newplayer_start = list() +var/list/latejoin = list() +var/list/prisonwarp = list() //prisoners go to these +var/list/holdingfacility = list() //captured people go here +var/list/xeno_spawn = list()//Aliens spawn at these. // list/mazewarp = list() - list/tdome1 = list() - list/tdome2 = list() - list/tdomeobserve = list() - list/tdomeadmin = list() - list/prisonsecuritywarp = list() //prison security goes to these - list/prisonwarped = list() //list of players already warped - list/blobstart = list() +var/list/tdome1 = list() +var/list/tdome2 = list() +var/list/tdomeobserve = list() +var/list/tdomeadmin = list() +var/list/prisonsecuritywarp = list() //prison security goes to these +var/list/prisonwarped = list() //list of players already warped +var/list/blobstart = list() // list/traitors = list() //traitor list - list/cardinal = list( NORTH, SOUTH, EAST, WEST ) - list/alldirs = list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST) - list/emclosets = list() //random emergency closets woo +var/list/cardinal = list( NORTH, SOUTH, EAST, WEST ) +var/list/alldirs = list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST) +var/list/emclosets = list() //random emergency closets woo - datum/station_state/start_state = null - datum/configuration/config = null - datum/vote/vote = null - datum/sun/sun = null +var/datum/station_state/start_state = null +var/datum/configuration/config = null +var/datum/vote/vote = null +var/datum/sun/sun = null - list/combatlog = list() - list/IClog = list() - list/OOClog = list() - list/adminlog = list() +var/list/combatlog = list() +var/list/IClog = list() +var/list/OOClog = list() +var/list/adminlog = list() - list/powernets = null +var/list/powernets = null - Debug = 0 // global debug switch - Debug2 = 0 +var/Debug = 0 // global debug switch +var/Debug2 = 0 - datum/debug/debugobj +var/datum/debug/debugobj - datum/moduletypes/mods = new() +var/datum/moduletypes/mods = new() - wavesecret = 0 +var/wavesecret = 0 - shuttlecoming = 0 +var/shuttlecoming = 0 - join_motd = null - rules = null - forceblob = 0 +var/join_motd = null +var/rules = null +var/forceblob = 0 - custom_event_msg = null +var/custom_event_msg = null //airlockWireColorToIndex takes a number representing the wire color, e.g. the orange wire is always 1, the dark red wire is always 2, etc. It returns the index for whatever that wire does. //airlockIndexToWireColor does the opposite thing - it takes the index for what the wire does, for example AIRLOCK_WIRE_IDSCAN is 1, AIRLOCK_WIRE_POWER1 is 2, etc. It returns the wire color number. //airlockWireColorToFlag takes the wire color number and returns the flag for it (1, 2, 4, 8, 16, etc) - list/airlockWireColorToFlag = RandomAirlockWires() - list/airlockIndexToFlag - list/airlockIndexToWireColor - list/airlockWireColorToIndex - list/APCWireColorToFlag = RandomAPCWires() - list/APCIndexToFlag - list/APCIndexToWireColor - list/APCWireColorToIndex - list/BorgWireColorToFlag = RandomBorgWires() - list/BorgIndexToFlag - list/BorgIndexToWireColor - list/BorgWireColorToIndex - list/ScrambledFrequencies = list( ) //These are used for electrical storms, and anything else that jams radios. - list/UnscrambledFrequencies = list( ) - list/AAlarmWireColorToFlag = RandomAAlarmWires() // Air Alarm hacking wires. - list/AAlarmIndexToFlag - list/AAlarmIndexToWireColor - list/AAlarmWireColorToIndex +var/list/airlockWireColorToFlag = RandomAirlockWires() +var/list/airlockIndexToFlag +var/list/airlockIndexToWireColor +var/list/airlockWireColorToIndex +var/list/APCWireColorToFlag = RandomAPCWires() +var/list/APCIndexToFlag +var/list/APCIndexToWireColor +var/list/APCWireColorToIndex +var/list/BorgWireColorToFlag = RandomBorgWires() +var/list/BorgIndexToFlag +var/list/BorgIndexToWireColor +var/list/BorgWireColorToIndex +var/list/ScrambledFrequencies = list( ) //These are used for electrical storms, and anything else that jams radios. +var/list/UnscrambledFrequencies = list( ) +var/list/AAlarmWireColorToFlag = RandomAAlarmWires() // Air Alarm hacking wires. +var/list/AAlarmIndexToFlag +var/list/AAlarmIndexToWireColor +var/list/AAlarmWireColorToIndex - const/SPEED_OF_LIGHT = 3e8 //not exact but hey! - const/SPEED_OF_LIGHT_SQ = 9e+16 - const/FIRE_DAMAGE_MODIFIER = 0.0215 //Higher values result in more external fire damage to the skin (default 0.0215) - const/AIR_DAMAGE_MODIFIER = 2.025 //More means less damage from hot air scalding lungs, less = more damage. (default 2.025) - const/INFINITY = 1e31 //closer then enough +var/const/SPEED_OF_LIGHT = 3e8 //not exact but hey! +var/const/SPEED_OF_LIGHT_SQ = 9e+16 +var/const/FIRE_DAMAGE_MODIFIER = 0.0215 //Higher values result in more external fire damage to the skin (default 0.0215) +var/const/AIR_DAMAGE_MODIFIER = 2.025 //More means less damage from hot air scalding lungs, less = more damage. (default 2.025) +var/const/INFINITY = 1e31 //closer then enough //Don't set this very much higher then 1024 unless you like inviting people in to dos your server with message spam - const/MAX_MESSAGE_LEN = 1024 - const/MAX_PAPER_MESSAGE_LEN = 3072 - const/MAX_BOOK_MESSAGE_LEN = 9216 +var/const/MAX_MESSAGE_LEN = 1024 +var/const/MAX_PAPER_MESSAGE_LEN = 3072 +var/const/MAX_BOOK_MESSAGE_LEN = 9216 - const/MAX_NAME_LEN = 40 +var/const/MAX_NAME_LEN = 40 - list/paper_blacklist = list("script","frame","iframe","input","button","a","embed","object") +var/list/paper_blacklist = list("script","frame","iframe","input","button","a","embed","object") - const/shuttle_time_in_station = 1800 // 3 minutes in the station - const/shuttle_time_to_arrive = 6000 // 10 minutes to arrive +var/const/shuttle_time_in_station = 1800 // 3 minutes in the station +var/const/shuttle_time_to_arrive = 6000 // 10 minutes to arrive // MySQL configuration. You can also use the config/dbconfig.txt file. - sqladdress = "localhost" - sqlport = "3306" - sqldb = "tgstation" - sqllogin = "root" - sqlpass = "" +var/sqladdress = "localhost" +var/sqlport = "3306" +var/sqldb = "tgstation" +var/sqllogin = "root" +var/sqlpass = "" // Feedback gathering sql connection - sqlfdbkdb = "test" - sqlfdbklogin = "root" - sqlfdbkpass = "" +var/sqlfdbkdb = "test" +var/sqlfdbklogin = "root" +var/sqlfdbkpass = "" - sqllogging = 0 // Should we log deaths, population stats, etc? +var/sqllogging = 0 // Should we log deaths, population stats, etc? @@ -231,7 +231,7 @@ var // For FTP requests. (i.e. downloading runtime logs.) // However it'd be ok to use for accessing attack logs and such too, which are even laggier. - fileaccess_timer = 1800 //Cannot access files by ftp until the game is finished setting up and stuff. +var/fileaccess_timer = 1800 //Cannot access files by ftp until the game is finished setting up and stuff. // It turns out that /var/const can't handle lists, because lists use // an initializer. Sigh. That's no reason that we shouldn't make @@ -239,8 +239,7 @@ var // separate location, though, so: below are all lists that should not // ever be changed in code. -/var/global - AI_VERB_LIST = list( +/var/global/AI_VERB_LIST = list( /mob/living/silicon/ai/proc/ai_call_shuttle, /mob/living/silicon/ai/proc/show_laws_verb, /mob/living/silicon/ai/proc/ai_camera_track, @@ -250,4 +249,4 @@ var /mob/living/silicon/ai/proc/ai_statuschange, /mob/living/silicon/ai/proc/ai_hologram_change, /mob/living/silicon/ai/proc/ai_roster, - ) \ No newline at end of file + ) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 83700c3686e..9a03044210b 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj //var/datum/module/mod //not used var/m_amt = 0 // metal @@ -30,11 +32,10 @@ icon_state = "rollstart" flags = FPRINT w_class = 1.0 - var - turf/start - turf/end - tape_type = /obj/item/tape - icon_base + var/turf/start + var/turf/end + var/tape_type = /obj/item/tape + var/icon_base /obj/item/tape name = "tape" @@ -1100,8 +1101,7 @@ throw_range = 5 origin_tech = "biotech=3" - var - mob/living/carbon/brain/brainmob = null + var/mob/living/carbon/brain/brainmob = null New() ..() diff --git a/code/defines/obj/machinery.dm b/code/defines/obj/machinery.dm index b29f26d928e..084f0746ce0 100644 --- a/code/defines/obj/machinery.dm +++ b/code/defines/obj/machinery.dm @@ -1,22 +1,22 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery name = "machinery" icon = 'stationobjs.dmi' - var - stat = 0 - emagged = 0 - use_power = 0 + var/stat = 0 + var/emagged = 0 + var/use_power = 0 //0 = dont run the auto //1 = run auto, use idle //2 = run auto, use active - idle_power_usage = 0 - active_power_usage = 0 - power_channel = EQUIP + var/idle_power_usage = 0 + var/active_power_usage = 0 + var/power_channel = EQUIP //EQUIP,ENVIRON or LIGHT - list/component_parts = null //list of all the parts used to build it, if made from certain kinds of frames. - uid - manual = 0 - global - gl_uid = 1 + var/list/component_parts = null //list of all the parts used to build it, if made from certain kinds of frames. + var/uid + var/manual = 0 + var/global/gl_uid = 1 /obj/machinery/autolathe name = "\improper Autolathe" @@ -384,16 +384,14 @@ use_power = 1 idle_power_usage = 5 active_power_usage = 100 - var - obj/effect/overlay/hologram//The projection itself. If there is one, the instrument is on, off otherwise. + var/obj/effect/overlay/hologram//The projection itself. If there is one, the instrument is on, off otherwise. /obj/machinery/hologram/holopad name = "\improper AI holopad" desc = "It's a floor-mounted device for projecting holographic images. It is activated remotely." icon_state = "holopad0" - var - mob/living/silicon/ai/master//Which AI, if any, is controlling the object? Only one AI may control a hologram at any time. - last_request = 0 //to prevent request spam. ~Carn + var/mob/living/silicon/ai/master//Which AI, if any, is controlling the object? Only one AI may control a hologram at any time. + var/last_request = 0 //to prevent request spam. ~Carn /obj/machinery/hologram/projector name = "hologram projector" @@ -406,12 +404,11 @@ desc = "It's used by the AI for fooling around." icon = 'stationobjs.dmi' icon_state = "hologram0" - var - temp = null - lumens = 0.0 - h_r = 245.0 - h_g = 245.0 - h_b = 245.0 + var/temp = null + var/lumens = 0.0 + var/h_r = 245.0 + var/h_g = 245.0 + var/h_b = 245.0 /obj/machinery/coatrack name = "coat rack" diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index c143fc109aa..1af2a50a96c 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/item/weapon name = "weapon" icon = 'weapons.dmi' @@ -326,9 +328,8 @@ m_amt = 30 g_amt = 20 origin_tech = "magnets=2;biotech=2" - var - details = 0 - recent_fail = 0 + var/details = 0 + var/recent_fail = 0 /obj/item/device/mass_spectrometer/adv name = "advanced mass-spectrometer" diff --git a/code/defines/procs/AStar.dm b/code/defines/procs/AStar.dm index d106e8f64fa..059a11b95b9 100644 --- a/code/defines/procs/AStar.dm +++ b/code/defines/procs/AStar.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /* A Star pathfinding algorithm Returns a list of tiles forming a path from A to B, taking dense objects as well as walls, and the orientation of @@ -36,9 +38,8 @@ length to avoid portals or something i guess?? Not that they're counted right no PriorityQueue - var - L[] - cmp + var/L[] + var/cmp New(compare) L = new() cmp = compare @@ -92,13 +93,12 @@ PriorityQueue if(ind) Remove(ind) PathNode - var - datum/source - PathNode/prevNode - f - g - h - nt // Nodes traversed + var/datum/source + var/PathNode/prevNode + var/f + var/g + var/h + var/nt // Nodes traversed New(s,p,pg,ph,pnt) source = s prevNode = p @@ -109,8 +109,7 @@ PathNode nt = pnt datum - var - bestF + var/bestF proc PathWeightCompare(PathNode/a, PathNode/b) return a.f - b.f diff --git a/code/defines/procs/dbcore.dm b/code/defines/procs/dbcore.dm index ff63a1d6dec..a517134d32a 100644 --- a/code/defines/procs/dbcore.dm +++ b/code/defines/procs/dbcore.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + //cursors #define Default_Cursor 0 #define Client_Cursor 1 @@ -37,9 +39,8 @@ // Deprecated! See global.dm for new configuration vars /* -var - DB_SERVER = "" // This is the location of your MySQL server (localhost is USUALLY fine) - DB_PORT = 3306 // This is the port your MySQL server is running on (3306 is the default) +var/DB_SERVER = "" // This is the location of your MySQL server (localhost is USUALLY fine) +var/DB_PORT = 3306 // This is the port your MySQL server is running on (3306 is the default) */ DBConnection @@ -69,15 +70,14 @@ DBConnection return Connect("[dbi?"[dbi]":"dbi:mysql:[database_name]:[sqladdress]:[sqlport]"]",user,password) NewQuery(sql_query,cursor_handler=src.default_cursor) return new/DBQuery(sql_query,src,cursor_handler) - var - _db_con // This variable contains a reference to the actual database connection. - dbi // This variable is a string containing the DBI MySQL requires. - user // This variable contains the username data. - password // This variable contains the password data. - default_cursor // This contains the default database cursor data. + var/_db_con // This variable contains a reference to the actual database connection. + var/dbi // This variable is a string containing the DBI MySQL requires. + var/user // This variable contains the username data. + var/password // This variable contains the password data. + var/default_cursor // This contains the default database cursor data. // - server = "" - port = 3306 + var/server = "" + var/port = 3306 DBQuery New(sql_query,DBConnection/connection_handler,cursor_handler) @@ -134,25 +134,23 @@ DBQuery else if(conversions.len < column) conversions.len = column conversions[column] = conversion - var - sql // The sql query being executed. - default_cursor - list/columns //list of DB Columns populated by Columns() - list/conversions - list/item[0] //list of data values populated by NextRow() + var/sql // The sql query being executed. + var/default_cursor + var/list/columns //list of DB Columns populated by Columns() + var/list/conversions + var/list/item[0] //list of data values populated by NextRow() - DBConnection/db_connection - _db_query + var/DBConnection/db_connection + var/_db_query DBColumn - var - name - table - position //1-based index into item data - sql_type - flags - length - max_length + var/name + var/table + var/position //1-based index into item data + var/sql_type + var/flags + var/length + var/max_length New(name_handler,table_handler,position_handler,type_handler,flag_handler,length_handler,max_length_handler) src.name = name_handler @@ -179,4 +177,4 @@ DBColumn if(TIMESTAMP) return "TIMESTAMP" if(TIME) return "TIME" if(STRING) return "STRING" - if(BLOB) return "BLOB" \ No newline at end of file + if(BLOB) return "BLOB" diff --git a/code/defines/procs/gamehelpers.dm b/code/defines/procs/gamehelpers.dm index dc04c1e4ca0..f8e64926654 100644 --- a/code/defines/procs/gamehelpers.dm +++ b/code/defines/procs/gamehelpers.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /proc/dopage(src,target) var/href_list var/href @@ -261,11 +263,10 @@ proc return 0 Y1+=s else - var - m=(32*(Y2-Y1)+(PY2-PY1))/(32*(X2-X1)+(PX2-PX1)) - b=(Y1+PY1/32-0.015625)-m*(X1+PX1/32-0.015625) //In tiles - signX = SIGN(X2-X1) - signY = SIGN(Y2-Y1) + var/m=(32*(Y2-Y1)+(PY2-PY1))/(32*(X2-X1)+(PX2-PX1)) + var/b=(Y1+PY1/32-0.015625)-m*(X1+PX1/32-0.015625) //In tiles + var/signX = SIGN(X2-X1) + var/signY = SIGN(Y2-Y1) if(X1The current game mode is - Changeling!" @@ -233,4 +233,4 @@ if(possibleIDs.len) changelingID = pick(possibleIDs) else - changelingID = "[rand(1,1000)]" \ No newline at end of file + changelingID = "[rand(1,1000)]" diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 7f5a1a431fe..858c4f641e2 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -1,7 +1,8 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /datum/game_mode - var - list/datum/mind/cult = list() - list/allwords = list("travel","self","see","hell","blood","join","tech","destroy", "other", "hide") + var/list/datum/mind/cult = list() + var/list/allwords = list("travel","self","see","hell","blood","join","tech","destroy", "other", "hide") /proc/iscultist(mob/living/M as mob) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 6cff317a6c2..fa1f19fa2e5 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /* * GAMEMODES (by Rastaf0) * @@ -11,24 +13,23 @@ /datum/game_mode - var - name = "invalid" - config_tag = null - intercept_hacked = 0 - votable = 1 - probability = 1 - station_was_nuked = 0 //see nuclearbomb.dm and malfunction.dm - explosion_in_progress = 0 //sit back and relax - list/datum/mind/modePlayer = new - list/restricted_jobs = list() // Jobs it doesn't make sense to be. I.E chaplain or AI cultist - list/protected_jobs = list() // Jobs that can't be tratiors because - list/logtraitors = list() - required_players = 1 - required_enemies = 0 - recommended_enemies = 0 - uplink_welcome - uplink_uses - uplink_items = {"Highly Visible and Dangerous Weapons; + var/name = "invalid" + var/config_tag = null + var/intercept_hacked = 0 + var/votable = 1 + var/probability = 1 + var/station_was_nuked = 0 //see nuclearbomb.dm and malfunction.dm + var/explosion_in_progress = 0 //sit back and relax + var/list/datum/mind/modePlayer = new + var/list/restricted_jobs = list() // Jobs it doesn't make sense to be. I.E chaplain or AI cultist + var/list/protected_jobs = list() // Jobs that can't be tratiors because + var/list/logtraitors = list() + var/required_players = 1 + var/required_enemies = 0 + var/recommended_enemies = 0 + var/uplink_welcome + var/uplink_uses + var/uplink_items = {"Highly Visible and Dangerous Weapons; /obj/item/weapon/gun/projectile:6:Revolver; /obj/item/ammo_magazine/a357:2:Ammo-357; /obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; diff --git a/code/game/gamemodes/meme/meme.dm b/code/game/gamemodes/meme/meme.dm index 2782617d8d3..11802d6dfb8 100644 --- a/code/game/gamemodes/meme/meme.dm +++ b/code/game/gamemodes/meme/meme.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /datum/game_mode/var/list/memes = list() /datum/game_mode/meme @@ -9,31 +11,29 @@ votable = 0 // temporarily disable this mode for voting - var - var/list/datum/mind/first_hosts = list() - var/list/assigned_hosts = list() + var/var/list/datum/mind/first_hosts = list() + var/var/list/assigned_hosts = list() - const - prob_int_murder_target = 50 // intercept names the assassination target half the time - prob_right_murder_target_l = 25 // lower bound on probability of naming right assassination target - prob_right_murder_target_h = 50 // upper bound on probability of naimg the right assassination target + var/const/prob_int_murder_target = 50 // intercept names the assassination target half the time + var/const/prob_right_murder_target_l = 25 // lower bound on probability of naming right assassination target + var/const/prob_right_murder_target_h = 50 // upper bound on probability of naimg the right assassination target - prob_int_item = 50 // intercept names the theft target half the time - prob_right_item_l = 25 // lower bound on probability of naming right theft target - prob_right_item_h = 50 // upper bound on probability of naming the right theft target + var/const/prob_int_item = 50 // intercept names the theft target half the time + var/const/prob_right_item_l = 25 // lower bound on probability of naming right theft target + var/const/prob_right_item_h = 50 // upper bound on probability of naming the right theft target - prob_int_sab_target = 50 // intercept names the sabotage target half the time - prob_right_sab_target_l = 25 // lower bound on probability of naming right sabotage target - prob_right_sab_target_h = 50 // upper bound on probability of naming right sabotage target + var/const/prob_int_sab_target = 50 // intercept names the sabotage target half the time + var/const/prob_right_sab_target_l = 25 // lower bound on probability of naming right sabotage target + var/const/prob_right_sab_target_h = 50 // upper bound on probability of naming right sabotage target - prob_right_killer_l = 25 //lower bound on probability of naming the right operative - prob_right_killer_h = 50 //upper bound on probability of naming the right operative - prob_right_objective_l = 25 //lower bound on probability of determining the objective correctly - prob_right_objective_h = 50 //upper bound on probability of determining the objective correctly + var/const/prob_right_killer_l = 25 //lower bound on probability of naming the right operative + var/const/prob_right_killer_h = 50 //upper bound on probability of naming the right operative + var/const/prob_right_objective_l = 25 //lower bound on probability of determining the objective correctly + var/const/prob_right_objective_h = 50 //upper bound on probability of determining the objective correctly - waittime_l = 600 //lower bound on time before intercept arrives (in tenths of seconds) - waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds) + var/const/waittime_l = 600 //lower bound on time before intercept arrives (in tenths of seconds) + var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds) /datum/game_mode/meme/announce() world << "The current game mode is - Meme!" @@ -177,4 +177,4 @@ else world << "The meme has failed!" feedback_add_details("meme_success","FAIL") - return 1 \ No newline at end of file + return 1 diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 3c01abe6679..14426d5aaee 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -1,9 +1,10 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + datum/objective - var - datum/mind/owner = null //Who owns the objective. - explanation_text = "Nothing" //What that person is supposed to do. - datum/mind/target = null //If they are focused on a particular person. - target_amount = 0 //If they are focused on a particular number. Steal objectives have their own counter. + var/datum/mind/owner = null //Who owns the objective. + var/explanation_text = "Nothing" //What that person is supposed to do. + var/datum/mind/target = null //If they are focused on a particular person. + var/target_amount = 0 //If they are focused on a particular number. Steal objectives have their own counter. New(var/text) if(text) @@ -530,4 +531,4 @@ datum/objective/absorb return 0 /*-------ENDOF CULTIST------*/ -*/ \ No newline at end of file +*/ diff --git a/code/game/gamemodes/sandbox/h_sandbox.dm b/code/game/gamemodes/sandbox/h_sandbox.dm index 6a257acd6d6..e6e1aa700f9 100644 --- a/code/game/gamemodes/sandbox/h_sandbox.dm +++ b/code/game/gamemodes/sandbox/h_sandbox.dm @@ -1,6 +1,7 @@ -var - hsboxspawn = 1 - list +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + +var/hsboxspawn = 1 +var/list hrefs = list( "hsbsuit" = "Suit Up (Space Travel Gear)", "hsbmetal" = "Spawn 50 Metal", @@ -15,8 +16,7 @@ var "hsbmedkit" = "Spawn Medical Kit") mob - var - datum/hSB/sandbox = null + var/datum/hSB/sandbox = null proc CanBuild() if(master_mode == "sandbox") @@ -30,9 +30,8 @@ mob sandbox.update() datum/hSB - var - owner = null - admin = 0 + var/owner = null + var/admin = 0 proc update() var/hsbpanel = "
h_Sandbox Panel

" @@ -153,4 +152,4 @@ datum/hSB var/hsbitem = input(usr, "Choose an object to spawn.", "Sandbox:") in selectable + "Cancel" if(hsbitem != "Cancel") - new hsbitem(usr.loc) \ No newline at end of file + new hsbitem(usr.loc) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index c7f21390422..15211654205 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -1,14 +1,15 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + var/global/datum/controller/occupations/job_master /datum/controller/occupations - var //List of all jobs - list/occupations = list() - list/occupations2 = list() // Prevents problems with latejoiners. + var/list/occupations = list() + var/list/occupations2 = list() // Prevents problems with latejoiners. //Players who need jobs - list/unassigned = list() + var/list/unassigned = list() //Debug info - list/job_debug = list() + var/list/job_debug = list() New() @@ -392,4 +393,4 @@ var/global/datum/controller/occupations/job_master tmp_str += "HIGH=[level1]|MEDIUM=[level2]|LOW=[level3]|NEVER=[level4]|BANNED=[level5]|-" feedback_add_details("job_preferences",tmp_str) -*/ \ No newline at end of file +*/ diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 2f5ce308287..761654028ff 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /proc/RandomAAlarmWires() //to make this not randomize the wires, just set index to 1 and increment it in the flag for loop (after doing everything else). @@ -24,11 +26,10 @@ // A datum for dealing with threshold limit values // used in /obj/machinery/alarm /datum/tlv - var - min2 - min1 - max1 - max2 + var/min2 + var/min1 + var/max1 + var/max2 New(_min2 as num, _min1 as num, _max1 as num, _max2 as num) min2 = _min2 min1 = _min1 diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index c848a6d8c89..63bb619054d 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + var/global/list/autolathe_recipes = list( \ /* screwdriver removed*/ \ new /obj/item/weapon/reagent_containers/glass/bucket(), \ @@ -54,12 +56,11 @@ var/global/list/autolathe_recipes_hidden = list( \ ) /obj/machinery/autolathe - var - busy = 0 - max_m_amount = 150000.0 - max_g_amount = 75000.0 - outputAmount = 1 - makeDir = 0 + var/busy = 0 + var/max_m_amount = 150000.0 + var/max_g_amount = 75000.0 + var/outputAmount = 1 + var/makeDir = 0 proc wires_win(mob/user as mob) diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm index fe00a74c636..6ad3d0a7dcf 100644 --- a/code/game/machinery/bots/mulebot.dm +++ b/code/game/machinery/bots/mulebot.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + // Mulebot - carries crates around for Quartermaster // Navigates via floor navbeacons // Remote Controlled from QM's PDA @@ -52,17 +54,16 @@ // the installed power cell // constants for internal wiring bitflags - var/const - wire_power1 = 1 // power connections - wire_power2 = 2 - wire_mobavoid = 4 // mob avoidance - wire_loadcheck = 8 // load checking (non-crate) - wire_motor1 = 16 // motor wires - wire_motor2 = 32 // - wire_remote_rx = 64 // remote recv functions - wire_remote_tx = 128 // remote trans status - wire_beacon_rx = 256 // beacon ping recv - wire_beacon_tx = 512 // beacon ping trans + var/const/wire_power1 = 1 // power connections + var/const/wire_power2 = 2 + var/const/wire_mobavoid = 4 // mob avoidance + var/const/wire_loadcheck = 8 // load checking (non-crate) + var/const/wire_motor1 = 16 // motor wires + var/const/wire_motor2 = 32 // + var/const/wire_remote_rx = 64 // remote recv functions + var/const/wire_remote_tx = 128 // remote trans status + var/const/wire_beacon_rx = 256 // beacon ping recv + var/const/wire_beacon_tx = 512 // beacon ping trans var/wires = 1023 // all flags on diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 4b5095d19a9..4da98f3c464 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/cell_charger name = "cell charger" @@ -9,9 +11,8 @@ idle_power_usage = 5 active_power_usage = 60 power_channel = EQUIP - var - obj/item/weapon/cell/charging = null - chargelevel = -1 + var/obj/item/weapon/cell/charging = null + var/chargelevel = -1 proc updateicon() icon_state = "ccharger[charging ? 1 : 0]" diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm index 213ff565467..b8cc1c70a34 100644 --- a/code/game/machinery/computer/Operating.dm +++ b/code/game/machinery/computer/Operating.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/computer/operating name = "Operating Computer" density = 1 @@ -5,9 +7,8 @@ desc = "Used to monitor status of people being operated on." icon_state = "operating" circuit = "/obj/item/weapon/circuitboard/operating" - var - mob/living/carbon/human/victim = null - obj/machinery/optable/table = null + var/mob/living/carbon/human/victim = null + var/obj/machinery/optable/table = null /obj/machinery/computer/operating/New() ..() @@ -93,4 +94,4 @@ if(!(stat & (NOPOWER|BROKEN)) ) use_power(500) - src.updateDialog() \ No newline at end of file + src.updateDialog() diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 659f98b9395..c12b4957bdd 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -1,13 +1,14 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/computer/atmos_alert name = "Atmospheric Alert Computer" desc = "Used to access the station's atmospheric sensors." icon_state = "alert:0" - var - list/priority_alarms = list() - list/minor_alarms = list() - receive_frequency = 1437 - datum/radio_frequency/radio_connection + var/list/priority_alarms = list() + var/list/minor_alarms = list() + var/receive_frequency = 1437 + var/datum/radio_frequency/radio_connection initialize() @@ -102,4 +103,4 @@ if(ckey(zone) == removing_zone) minor_alarms -= zone update_icon() - return \ No newline at end of file + return diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 826eb0eb2ce..33247d02f27 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/structure/computerframe density = 1 anchored = 0 @@ -17,16 +19,15 @@ icon_state = "id_mod" item_state = "electronic" origin_tech = "programming=2" - var - id = null - frequency = null - build_path = null - board_type = "computer" - list/req_components = null - powernet = null - list/records = null - frame_desc = null - contain_parts = 1 + var/id = null + var/frequency = null + var/build_path = null + var/board_type = "computer" + var/list/req_components = null + var/powernet = null + var/list/records = null + var/frame_desc = null + var/contain_parts = 1 /obj/item/weapon/circuitboard/aicore name = "Circuit board (AI core)" diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 9e79a702fc4..bb55e8f65f4 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -1,15 +1,16 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/computer/card name = "Identification Computer" desc = "A computer used to modify ID cards." icon_state = "id" req_access = list(access_change_ids) circuit = "/obj/item/weapon/circuitboard/card" - var - obj/item/weapon/card/id/scan = null - obj/item/weapon/card/id/modify = null - authenticated = 0.0 - mode = 0.0 - printing = null + var/obj/item/weapon/card/id/scan = null + var/obj/item/weapon/card/id/modify = null + var/authenticated = 0.0 + var/mode = 0.0 + var/printing = null /obj/machinery/computer/card/attackby(O as obj, user as mob)//TODO:SANITY diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 84c936a4266..322d548e7ed 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + // The communications computer /obj/machinery/computer/communications name = "Communications Console" @@ -16,17 +18,16 @@ var/message_cooldown = 0 var/centcomm_message_cooldown = 0 var/tmp_alertlevel = 0 - var/const - STATE_DEFAULT = 1 - STATE_CALLSHUTTLE = 2 - STATE_CANCELSHUTTLE = 3 - STATE_MESSAGELIST = 4 - STATE_VIEWMESSAGE = 5 - STATE_DELMESSAGE = 6 - STATE_STATUSDISPLAY = 7 - STATE_ALERT_LEVEL = 8 - STATE_CONFIRM_LEVEL = 9 - STATE_CREWTRANSFER = 10 + var/const/STATE_DEFAULT = 1 + var/const/STATE_CALLSHUTTLE = 2 + var/const/STATE_CANCELSHUTTLE = 3 + var/const/STATE_MESSAGELIST = 4 + var/const/STATE_VIEWMESSAGE = 5 + var/const/STATE_DELMESSAGE = 6 + var/const/STATE_STATUSDISPLAY = 7 + var/const/STATE_ALERT_LEVEL = 8 + var/const/STATE_CONFIRM_LEVEL = 9 + var/const/STATE_CREWTRANSFER = 10 var/status_display_freq = "1435" var/stat_msg1 @@ -612,4 +613,4 @@ captain_announce("The emergency shuttle has been called. It will arrive in [round(emergency_shuttle.timeleft()/60)] minutes.") world << sound('shuttlecalled.ogg') - ..() \ No newline at end of file + ..() diff --git a/code/game/machinery/computer/hologram.dm b/code/game/machinery/computer/hologram.dm index 278a0704ff8..52866919b03 100644 --- a/code/game/machinery/computer/hologram.dm +++ b/code/game/machinery/computer/hologram.dm @@ -1,15 +1,16 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/computer/hologram_comp name = "Hologram Computer" desc = "Rumoured to control holograms." icon = 'stationobjs.dmi' icon_state = "holo_console0" - var - obj/machinery/hologram/projector/projector = null - temp = null - lumens = 0.0 - h_r = 245.0 - h_g = 245.0 - h_b = 245.0 + var/obj/machinery/hologram/projector/projector = null + var/temp = null + var/lumens = 0.0 + var/h_r = 245.0 + var/h_g = 245.0 + var/h_b = 245.0 /obj/machinery/computer/hologram_comp/New() @@ -105,4 +106,4 @@ for(var/mob/M in viewers(1, src)) if ((M.client && M.machine == src)) src.show_console(M) - return \ No newline at end of file + return diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index 7f55918b62a..14b1e5b4e80 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -1,11 +1,12 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/computer/aiupload name = "AI Upload" desc = "Used to upload laws to the AI." icon_state = "command" circuit = "/obj/item/weapon/circuitboard/aiupload" - var - mob/living/silicon/ai/current = null - opened = 0 + var/mob/living/silicon/ai/current = null + var/opened = 0 verb/AccessInternals() @@ -188,4 +189,4 @@ for(var/obj/item/weapon/aiModule/M in src) M.loc = src.loc M.ex_act(severity) - del(src) \ No newline at end of file + del(src) diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index b25043f1f8e..6c16a433ce1 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -1,22 +1,23 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/computer/med_data//TODO:SANITY name = "Medical Records" desc = "This can be used to check medical records." icon_state = "medcomp" req_access = list(access_medical) circuit = "/obj/item/weapon/circuitboard/med_data" - var - obj/item/weapon/card/id/scan = null - obj/item/weapon/disk/records/disk = null - authenticated = null - rank = null - screen = null - datum/data/record/active1 = null - datum/data/record/active2 = null - a_id = null - temp = null - printing = null - list/Perp - tempname = null + var/obj/item/weapon/card/id/scan = null + var/obj/item/weapon/disk/records/disk = null + var/authenticated = null + var/rank = null + var/screen = null + var/datum/data/record/active1 = null + var/datum/data/record/active2 = null + var/a_id = null + var/temp = null + var/printing = null + var/list/Perp + var/tempname = null /obj/machinery/computer/med_data/attackby(obj/item/O as obj, user as mob) diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm index 51f00e6115c..8deb695af05 100644 --- a/code/game/machinery/computer/pod.dm +++ b/code/game/machinery/computer/pod.dm @@ -1,12 +1,13 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/computer/pod name = "Pod Launch Control" desc = "A control for launching pods." icon_state = "computer_generic" - var - id = 1.0 - obj/machinery/mass_driver/connected = null - timing = 0.0 - time = 30.0 + var/id = 1.0 + var/obj/machinery/mass_driver/connected = null + var/timing = 0.0 + var/time = 30.0 /obj/machinery/computer/pod/New() diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm index 61e26796260..f478d8656e6 100644 --- a/code/game/machinery/computer/prisoner.dm +++ b/code/game/machinery/computer/prisoner.dm @@ -1,16 +1,17 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/computer/prisoner name = "Prisoner Management" icon = 'computer.dmi' icon_state = "explosive" req_access = list(access_armory) circuit = "/obj/item/weapon/circuitboard/prisoner" - var - id = 0.0 - temp = null - status = 0 - timeleft = 60 - stop = 0.0 - screen = 0 // 0 - No Access Denied, 1 - Access allowed + var/id = 0.0 + var/temp = null + var/status = 0 + var/timeleft = 60 + var/stop = 0.0 + var/screen = 0 // 0 - No Access Denied, 1 - Access allowed attack_ai(var/mob/user as mob) diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 567d4e23b2b..ac42241001a 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/computer/robotics name = "Robotics Control" @@ -7,13 +9,12 @@ req_access = list(access_robotics) circuit = "/obj/item/weapon/circuitboard/robotics" - var - id = 0.0 - temp = null - status = 0 - timeleft = 60 - stop = 0.0 - screen = 0 // 0 - Main Menu, 1 - Cyborg Status, 2 - Kill 'em All! -- In text + var/id = 0.0 + var/temp = null + var/status = 0 + var/timeleft = 60 + var/stop = 0.0 + var/screen = 0 // 0 - Main Menu, 1 - Cyborg Status, 2 - Kill 'em All! -- In text /obj/machinery/computer/robotics/attack_ai(var/mob/user as mob) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 2a657a0abc9..aee7d030098 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -1,23 +1,24 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/computer/secure_data name = "Security Records" desc = "Used to view and edit personnel's security records" icon_state = "security" req_access = list(access_security) circuit = "/obj/item/weapon/circuitboard/secure_data" - var - obj/item/weapon/card/id/scan = null - obj/item/weapon/disk/records/disk = null - authenticated = null - rank = null - screen = null - datum/data/record/active1 = null - datum/data/record/active2 = null - a_id = null - temp = null - printing = null - can_change_id = 0 - list/Perp - tempname = null + var/obj/item/weapon/card/id/scan = null + var/obj/item/weapon/disk/records/disk = null + var/authenticated = null + var/rank = null + var/screen = null + var/datum/data/record/active1 = null + var/datum/data/record/active2 = null + var/a_id = null + var/temp = null + var/printing = null + var/can_change_id = 0 + var/list/Perp + var/tempname = null /obj/machinery/computer/secure_data/attackby(obj/item/O as obj, user as mob) diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index a6db2f9fc99..5c22accd984 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/constructable_frame //Made into a seperate type to make future revisions easier. name = "machine frame" icon = 'stock_parts.dmi' @@ -5,12 +7,11 @@ density = 1 anchored = 1 use_power = 0 - var - obj/item/weapon/circuitboard/circuit = null - list/components = null - list/req_components = null - list/req_component_names = null - state = 1 + var/obj/item/weapon/circuitboard/circuit = null + var/list/components = null + var/list/req_components = null + var/list/req_component_names = null + var/state = 1 proc/update_desc() var/D diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index 6e169231e65..34379e9a6a3 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/item/weapon/airlock_electronics name = "Airlock Electronics" icon = 'door_assembly.dmi' @@ -8,12 +10,11 @@ req_access = list(access_engine) - var - list/conf_access = null - last_configurator = null - locked = 1 - style_name = "General" - style = /obj/structure/door_assembly/door_assembly_0 + var/list/conf_access = null + var/last_configurator = null + var/locked = 1 + var/style_name = "General" + var/style = /obj/structure/door_assembly/door_assembly_0 attack_self(mob/user as mob) if (!ishuman(user)) diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 742934ef4c2..0f245735960 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /////////////////////////////////////////////////////////////////////////////////////////////// // Brig Door control displays. // Description: This is a controls the timer for the brig doors, displays the timer on itself and @@ -14,12 +16,11 @@ req_access = list(access_brig) anchored = 1.0 // can't pick it up density = 0 // can walk through it. - var - id = null // id of door it controls. - releasetime = 0 // when world.time reaches it - release the prisoneer - timing = 1 // boolean, true/1 timer is on, false/0 means it's not timing - picture_state // icon_state of alert picture, if not displaying text/numbers - list/obj/machinery/targets = list() + var/id = null // id of door it controls. + var/releasetime = 0 // when world.time reaches it - release the prisoneer + var/timing = 1 // boolean, true/1 timer is on, false/0 means it's not timing + var/picture_state // icon_state of alert picture, if not displaying text/numbers + var/list/obj/machinery/targets = list() New() @@ -293,4 +294,4 @@ name = "Cell 6" id = "Cell 6" dir = 4 - pixel_x = 32 \ No newline at end of file + pixel_x = 32 diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index aa51784a615..d69782a62f0 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/door name = "Door" desc = "It opens and closes." @@ -8,15 +10,14 @@ density = 1 layer = 2.7 - var - secondsElectrified = 0 - visible = 1 - p_open = 0 - operating = 0 - autoclose = 0 - glass = 0 - forcecrush = 0 - holdopen = 0 + var/secondsElectrified = 0 + var/visible = 1 + var/p_open = 0 + var/operating = 0 + var/autoclose = 0 + var/glass = 0 + var/forcecrush = 0 + var/holdopen = 0 proc/bumpopen(mob/user as mob) proc/update_nearby_tiles(need_rebuild) diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index dba8093868f..247f4452956 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + obj/machinery/recharger anchored = 1 icon = 'stationobjs.dmi' @@ -7,9 +9,8 @@ obj/machinery/recharger idle_power_usage = 4 active_power_usage = 250 - var - obj/item/weapon/gun/energy/charging = null - obj/item/weapon/melee/baton/charging2 = null + var/obj/item/weapon/gun/energy/charging = null + var/obj/item/weapon/melee/baton/charging2 = null attackby(obj/item/weapon/G as obj, mob/user as mob) if(issilicon(user)) diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index 44a4f056236..0031f7cc062 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + // Beacon randomly spawns in space // When a non-traitor (no special role in /mind) uses it, he is given the choice to become a traitor // If he accepts there is a random chance he will be accepted, rejected, or rejected and killed @@ -13,10 +15,9 @@ anchored = 1 density = 1 - var - temptext = "" - selfdestructing = 0 - charges = 1 + var/temptext = "" + var/selfdestructing = 0 + var/charges = 1 attack_hand(var/mob/user as mob) usr.machine = src @@ -113,10 +114,9 @@ layer = MOB_LAYER - 0.1 //so people can't hide it and it's REALLY OBVIOUS stat = 0 - var - active = 0 //It doesn't use up power, so use_power wouldn't really suit it - icontype = "beacon" - obj/structure/cable/attached = null + var/active = 0 //It doesn't use up power, so use_power wouldn't really suit it + var/icontype = "beacon" + var/obj/structure/cable/attached = null proc/Activate(mob/user = null) diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm index f8d209f6f58..6f42f783f46 100644 --- a/code/game/machinery/telecomms/broadcaster.dm +++ b/code/game/machinery/telecomms/broadcaster.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /* The broadcaster sends processed messages to all radio devices in the game. They do not have to be headsets; intercoms and station-bounced radios suffice. @@ -5,8 +7,7 @@ They receive their message from a server after the message has been logged. */ -var - list/recentmessages = list() // global list of recent messages broadcasted : used to circumvent massive radio spam +var/list/recentmessages = list() // global list of recent messages broadcasted : used to circumvent massive radio spam /obj/machinery/telecomms/broadcaster diff --git a/code/game/machinery/telecomms/logbrowser.dm b/code/game/machinery/telecomms/logbrowser.dm index 9e4bf23ab9c..33edca2cce7 100644 --- a/code/game/machinery/telecomms/logbrowser.dm +++ b/code/game/machinery/telecomms/logbrowser.dm @@ -1,16 +1,17 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /obj/machinery/computer/telecomms/server name = "Telecommunications Server Monitor" icon_state = "comm_logs" - var - screen = 0 // the screen number: - list/servers = list() // the servers located by the computer - var/obj/machinery/telecomms/server/SelectedServer + var/screen = 0 // the screen number: + var/list/servers = list() // the servers located by the computer + var/var/obj/machinery/telecomms/server/SelectedServer - network = "NULL" // the network to probe - temp = "" // temporary feedback messages + var/network = "NULL" // the network to probe + var/temp = "" // temporary feedback messages - universal_translate = 0 // set to 1 if it can translate nonhuman speech + var/universal_translate = 0 // set to 1 if it can translate nonhuman speech req_access = list(access_tcomsat) @@ -241,4 +242,4 @@ emagged = 1 user << "\blue You you disable the security protocols" src.updateUsrDialog() - return \ No newline at end of file + return diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index f715af521e2..cc9a5510185 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /* @@ -6,9 +8,8 @@ */ /obj/machinery/telecomms - var - temp = "" // output message - construct_op = 0 + var/temp = "" // output message + var/construct_op = 0 diff --git a/code/game/machinery/telecomms/telecommunications.dm b/code/game/machinery/telecomms/telecommunications.dm index 3881a10b6b8..7bed7ae2781 100644 --- a/code/game/machinery/telecomms/telecommunications.dm +++ b/code/game/machinery/telecomms/telecommunications.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /* Hello, friends, this is Doohl from sexylands. You may be wondering what this monstrous code file is. Sit down, boys and girls, while I tell you the tale. @@ -12,24 +14,23 @@ */ /obj/machinery/telecomms - var - list/links = list() // list of machines this machine is linked to - traffic = 0 // value increases as traffic increases - netspeed = 5 // how much traffic to lose per tick (50 gigabytes/second * netspeed) - list/autolinkers = list() // list of text/number values to link with - id = "NULL" // identification string - network = "NULL" // the network of the machinery + var/list/links = list() // list of machines this machine is linked to + var/traffic = 0 // value increases as traffic increases + var/netspeed = 5 // how much traffic to lose per tick (50 gigabytes/second * netspeed) + var/list/autolinkers = list() // list of text/number values to link with + var/id = "NULL" // identification string + var/network = "NULL" // the network of the machinery - list/freq_listening = list() // list of frequencies to tune into: if none, will listen to all + var/list/freq_listening = list() // list of frequencies to tune into: if none, will listen to all - machinetype = 0 // just a hacky way of preventing alike machines from pairing - on = 1 - integrity = 100 // basically HP, loses integrity by heat - heatgen = 20 // how much heat to transfer to the environment - delay = 10 // how many process() ticks to delay per heat - heating_power = 40000 + var/machinetype = 0 // just a hacky way of preventing alike machines from pairing + var/on = 1 + var/integrity = 100 // basically HP, loses integrity by heat + var/heatgen = 20 // how much heat to transfer to the environment + var/delay = 10 // how many process() ticks to delay per heat + var/heating_power = 40000 - circuitboard = null // string pointing to a circuitboard type + var/circuitboard = null // string pointing to a circuitboard type @@ -360,22 +361,21 @@ machinetype = 4 heatgen = 50 circuitboard = "/obj/item/weapon/circuitboard/telecomms/server" - var - list/log_entries = list() - list/stored_names = list() - list/TrafficActions = list() - logs = 0 // number of logs - totaltraffic = 0 // gigabytes (if > 1024, divide by 1024 -> terrabytes) + var/list/log_entries = list() + var/list/stored_names = list() + var/list/TrafficActions = list() + var/logs = 0 // number of logs + var/totaltraffic = 0 // gigabytes (if > 1024, divide by 1024 -> terrabytes) - list/memory = list() // stored memory - rawcode = "" // the code to compile (raw text) - datum/TCS_Compiler/Compiler // the compiler that compiles and runs the code - autoruncode = 0 // 1 if the code is set to run every time a signal is picked up + var/list/memory = list() // stored memory + var/rawcode = "" // the code to compile (raw text) + var/datum/TCS_Compiler/Compiler // the compiler that compiles and runs the code + var/autoruncode = 0 // 1 if the code is set to run every time a signal is picked up - encryption = "null" // encryption key: ie "password" - salt = "null" // encryption salt: ie "123comsat" + var/encryption = "null" // encryption key: ie "password" + var/salt = "null" // encryption salt: ie "123comsat" // would add up to md5("password123comsat") - language = "human" + var/language = "human" receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from) diff --git a/code/game/machinery/telecomms/telemonitor.dm b/code/game/machinery/telecomms/telemonitor.dm index b777f24a70b..210c45e6ab7 100644 --- a/code/game/machinery/telecomms/telemonitor.dm +++ b/code/game/machinery/telecomms/telemonitor.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /* Telecomms monitor tracks the overall trafficing of a telecommunications network @@ -9,14 +11,13 @@ name = "Telecommunications Monitor" icon_state = "comm_monitor" - var - screen = 0 // the screen number: - list/machines = list() // the machines located by the computer - var/obj/machinery/telecomms/SelectedMachine + var/screen = 0 // the screen number: + var/list/machines = list() // the machines located by the computer + var/var/obj/machinery/telecomms/SelectedMachine - network = "NULL" // the network to probe + var/network = "NULL" // the network to probe - temp = "" // temporary feedback messages + var/temp = "" // temporary feedback messages attack_hand(mob/user as mob) if(stat & (BROKEN|NOPOWER)) @@ -153,4 +154,4 @@ emagged = 1 user << "\blue You you disable the security protocols" src.updateUsrDialog() - return \ No newline at end of file + return diff --git a/code/game/machinery/telecomms/traffic_control.dm b/code/game/machinery/telecomms/traffic_control.dm index 0831fb00c62..0f45a2f43cd 100644 --- a/code/game/machinery/telecomms/traffic_control.dm +++ b/code/game/machinery/telecomms/traffic_control.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + @@ -6,18 +8,17 @@ name = "Telecommunications Traffic Control" icon_state = "computer_generic" - var - screen = 0 // the screen number: - list/servers = list() // the servers located by the computer - mob/editingcode - mob/lasteditor - list/viewingcode = list() - obj/machinery/telecomms/server/SelectedServer + var/screen = 0 // the screen number: + var/list/servers = list() // the servers located by the computer + var/mob/editingcode + var/mob/lasteditor + var/list/viewingcode = list() + var/obj/machinery/telecomms/server/SelectedServer - network = "NULL" // the network to probe - temp = "" // temporary feedback messages + var/network = "NULL" // the network to probe + var/temp = "" // temporary feedback messages - storedcode = "" // code stored + var/storedcode = "" // code stored proc/update_ide() @@ -237,4 +238,4 @@ emagged = 1 user << "\blue You you disable the security protocols" src.updateUsrDialog() - return \ No newline at end of file + return diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index f696f28e9f5..ab776706a82 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + /* Important notice: I changed "vendingwindow" to "vendingwindow_n" (n for new) because I extended the window's height a small amount and, for some reason, BYOND saves the @@ -10,11 +12,10 @@ To combat this, I changed the window name. -- Doohl #define PRODUCTS_PER_PAGE 15 // # of products per page /obj/machinery/vending - var/const - WIRE_EXTEND = 1 - WIRE_SCANID = 2 - WIRE_SHOCK = 3 - WIRE_SHOOTINV = 4 + var/const/WIRE_EXTEND = 1 + var/const/WIRE_SCANID = 2 + var/const/WIRE_SHOCK = 3 + var/const/WIRE_SHOOTINV = 4 var/page var/builtpaths = 0 var/lastpaths diff --git a/code/game/magic/archived_book.dm b/code/game/magic/archived_book.dm index d8452caa832..2fc9412fcd9 100644 --- a/code/game/magic/archived_book.dm +++ b/code/game/magic/archived_book.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 + #define BOOK_VERSION_MIN 1 #define BOOK_VERSION_MAX 2 #define BOOK_PATH "data/books/" @@ -61,16 +63,15 @@ datum/book_manager/proc/remove(var/id) fdel(path(id)) datum/archived_book - var - author // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned - title // The real name of the book. - category // The category/genre of the book - id // the id of the book (like an isbn number) - dat // Actual page content + var/author // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned + var/title // The real name of the book. + var/category // The category/genre of the book + var/id // the id of the book (like an isbn number) + var/dat // Actual page content - author_real // author's real_name - author_key // author's byond key - list/icon/photos // in-game photos used + var/author_real // author's real_name + var/author_key // author's byond key + var/list/icon/photos // in-game photos used // loads the book corresponding by the specified id datum/archived_book/New(var/path) diff --git a/code/game/magic/cultist/ritual.dm b/code/game/magic/cultist/ritual.dm index 6c1304a2255..94300196266 100644 --- a/code/game/magic/cultist/ritual.dm +++ b/code/game/magic/cultist/ritual.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + var/use_uristrunes = 1 @@ -64,10 +66,9 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", layer = TURF_LAYER - var - word1 - word2 - word3 + var/word1 + var/word2 + var/word3 // Places these combos are mentioned: this file - twice in the rune code, once in imbued tome, once in tome's HTML runes.dm - in the imbue rune code. If you change a combination - dont forget to change it everywhere. // travel self [word] - Teleport to random [rune with word destination matching] @@ -781,8 +782,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", w_class = 1.0 flags = FPRINT | TABLEPASS - var - data + var/data attack_self(mob/user as mob) view_scrap(user) diff --git a/code/game/magic/library.dm b/code/game/magic/library.dm index 6fc25a3fde9..ad51227c5ab 100644 --- a/code/game/magic/library.dm +++ b/code/game/magic/library.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + //******************************* // // Library SQL Configuration @@ -211,20 +213,19 @@ throw_range = 5 w_class = 1.0 flags = FPRINT | TABLEPASS - var - dat // Actual page content - due_date = 0 // Game time in 1/10th seconds - author // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned - unique = 0 // 0 - Normal book, 1 - Should not be treated as normal book, unable to be copied, unable to be modified - title // The real name of the book. + var/dat // Actual page content + var/due_date = 0 // Game time in 1/10th seconds + var/author // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned + var/unique = 0 // 0 - Normal book, 1 - Should not be treated as normal book, unable to be copied, unable to be modified + var/title // The real name of the book. - author_real // author's real_name - author_key // author's byond key - ssbn // the ssbn, if a downloaded book + var/author_real // author's real_name + var/author_key // author's byond key + var/ssbn // the ssbn, if a downloaded book - list/pages = new() // individual pages as a list of text - cur_page = 1 // current page being read - list/icon/photos // in-game photos used + var/list/pages = new() // individual pages as a list of text + var/cur_page = 1 // current page being read + var/list/icon/photos // in-game photos used proc/navbar() return "
" \ @@ -414,10 +415,9 @@ throw_range = 5 w_class = 1.0 flags = FPRINT | TABLEPASS - var - obj/machinery/librarycomp/computer // Associated computer - Modes 1 to 3 use this - obj/item/weapon/book/book // Currently scanned book - mode = 0 // 0 - Scan only, 1 - Scan and Set Buffer, 2 - Scan and Attempt to Check In, 3 - Scan and Attempt to Add to Inventory + var/obj/machinery/librarycomp/computer // Associated computer - Modes 1 to 3 use this + var/obj/item/weapon/book/book // Currently scanned book + var/mode = 0 // 0 - Scan only, 1 - Scan and Set Buffer, 2 - Scan and Attempt to Check In, 3 - Scan and Attempt to Add to Inventory attack_self(mob/user as mob) mode += 1 @@ -453,11 +453,10 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and for how long. - var - bookname - mobname - getdate - duedate + var/bookname + var/mobname + var/getdate + var/duedate @@ -472,12 +471,11 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f icon_state = "computer" anchored = 1 density = 1 - var - screenstate = 0 - title - category = "Any" - author - SQLquery + var/screenstate = 0 + var/title + var/category = "Any" + var/author + var/SQLquery /obj/machinery/librarypubliccomp/attack_hand(var/mob/user as mob) @@ -580,18 +578,17 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f icon_state = "computer" anchored = 1 density = 1 - var - arcanecheckout = 0 - screenstate = 0 // 0 - Main Menu, 1 - Inventory, 2 - Checked Out, 3 - Check Out a Book - buffer_book - buffer_mob - upload_category = "Fiction" - list/checkouts = list() - list/inventory = list() - checkoutperiod = 5 // In minutes - obj/machinery/libraryscanner/scanner // Book scanner that will be used when uploading books to the Archive + var/arcanecheckout = 0 + var/screenstate = 0 // 0 - Main Menu, 1 - Inventory, 2 - Checked Out, 3 - Check Out a Book + var/buffer_book + var/buffer_mob + var/upload_category = "Fiction" + var/list/checkouts = list() + var/list/inventory = list() + var/checkoutperiod = 5 // In minutes + var/obj/machinery/libraryscanner/scanner // Book scanner that will be used when uploading books to the Archive - bibledelay = 0 // LOL NO SPAM (1 minute delay) -- Doohl + var/bibledelay = 0 // LOL NO SPAM (1 minute delay) -- Doohl /obj/machinery/librarycomp/attack_hand(var/mob/user as mob) usr.machine = src @@ -936,8 +933,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f icon_state = "bigscanner" anchored = 1 density = 1 - var - obj/item/weapon/book/cache // Last scanned book + var/obj/item/weapon/book/cache // Last scanned book diff --git a/code/game/magic/musician.dm b/code/game/magic/musician.dm index c46f7464752..60003e6b418 100644 --- a/code/game/magic/musician.dm +++ b/code/game/magic/musician.dm @@ -1,8 +1,9 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /datum/song - var - name = "Untitled" - list/lines = new() - tempo = 5 + var/name = "Untitled" + var/list/lines = new() + var/tempo = 5 /obj/structure/device/piano name = "space minimoog" @@ -10,11 +11,10 @@ icon_state = "minimoog" anchored = 1 density = 1 - var - datum/song/song - playing = 0 - help = 0 - edit = 1 + var/datum/song/song + var/playing = 0 + var/help = 0 + var/edit = 1 proc playnote(var/note as text) diff --git a/code/game/objects/alien/facehugger.dm b/code/game/objects/alien/facehugger.dm index 1d8dac0c224..6fa55c6ad2f 100644 --- a/code/game/objects/alien/facehugger.dm +++ b/code/game/objects/alien/facehugger.dm @@ -1,9 +1,10 @@ -var/const - MIN_IMPREGNATION_TIME = 100 //time it takes to impregnate someone - MAX_IMPREGNATION_TIME = 150 +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 - MIN_ACTIVE_TIME = 300 //time between being dropped and going idle - MAX_ACTIVE_TIME = 600 +var/const/MIN_IMPREGNATION_TIME = 100 //time it takes to impregnate someone +var/const/MAX_IMPREGNATION_TIME = 150 + +var/const/MIN_ACTIVE_TIME = 300 //time between being dropped and going idle +var/const/MAX_ACTIVE_TIME = 600 /obj/item/clothing/mask/facehugger name = "alien" @@ -267,4 +268,4 @@ var/const ..(M) processing_objects.Remove(src) -*/ \ No newline at end of file +*/ diff --git a/code/game/objects/devices/flashlight.dm b/code/game/objects/devices/flashlight.dm index 66b6f327f2f..3f3ce72861a 100644 --- a/code/game/objects/devices/flashlight.dm +++ b/code/game/objects/devices/flashlight.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/device/flashlight name = "flashlight" desc = "A hand-held emergency light." @@ -7,11 +9,10 @@ flags = FPRINT | ONBELT | TABLEPASS | CONDUCT m_amt = 50 g_amt = 20 - var - on = 0 - brightness_on = 4 //luminosity when on - icon_on = "flight1" - icon_off = "flight0" + var/on = 0 + var/brightness_on = 4 //luminosity when on + var/icon_on = "flight1" + var/icon_off = "flight0" /obj/item/device/flashlight/initialize() ..() @@ -196,4 +197,4 @@ set src in oview(1) if(!usr.stat) - attack_self(usr) \ No newline at end of file + attack_self(usr) diff --git a/code/game/objects/grille.dm b/code/game/objects/grille.dm index b584f5ec996..065977e07eb 100644 --- a/code/game/objects/grille.dm +++ b/code/game/objects/grille.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/structure/grille desc = "A piece of metal with evenly spaced gridlike holes in it. Blocks large object but lets small items, gas, or energy beams through. Strangely enough these grilles also lets meteors pass through them, whether they be small or huge station breaking death stones." name = "grille" @@ -8,9 +10,8 @@ flags = FPRINT | CONDUCT pressure_resistance = 5*ONE_ATMOSPHERE layer = 2.9 - var - health = 10 - destroyed = 0 + var/health = 10 + var/destroyed = 0 proc healthcheck() shock(mob/user, prb) diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index 33a1c461ea7..5cda2c423e7 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + #define CANDLE_LUM 3 /obj/item/candle @@ -7,9 +9,8 @@ icon_state = "candle1" item_state = "candle1" - var - wax = 200 - lit = 0 + var/wax = 200 + var/lit = 0 proc light(var/flavor_text = "\red [usr] lights the [name].") diff --git a/code/game/objects/items/robot_items.dm b/code/game/objects/items/robot_items.dm index 30e18dc1777..a57bc2ed88a 100644 --- a/code/game/objects/items/robot_items.dm +++ b/code/game/objects/items/robot_items.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /********************************************************************** Cyborg Spec Items ***********************************************************************/ @@ -90,8 +92,7 @@ possible_transfer_amounts = list(5,10,15,25,30,50,100) flags = FPRINT | TABLEPASS | OPENCONTAINER volume = 60 - var - reagent = "" + var/reagent = "" /obj/item/weapon/reagent_containers/glass/bottle/robot/inaprovaline @@ -221,11 +222,10 @@ flags = FPRINT | TABLEPASS| CONDUCT force = 5.0 w_class = 3.0 - var // datum/effect/effect/system/spark_spread/spark_system - working = 0 - mode = 1 - disabled = 0 + var/working = 0 + var/mode = 1 + var/disabled = 0 /* New() diff --git a/code/game/objects/items/tk_grab.dm b/code/game/objects/items/tk_grab.dm index a506cf43087..790d5ff54a7 100644 --- a/code/game/objects/items/tk_grab.dm +++ b/code/game/objects/items/tk_grab.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/tk_grab name = "Telekinetic Grab" desc = "Magic" @@ -8,10 +10,9 @@ w_class = 10.0 layer = 20 - var - last_throw = 0 - obj/focus = null - mob/living/host = null + var/last_throw = 0 + var/obj/focus = null + var/mob/living/host = null dropped(mob/user as mob) diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 25f32a39343..db9f1206a34 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /* CONTAINS: RCD @@ -18,13 +20,12 @@ RCD w_class = 3.0 m_amt = 50000 origin_tech = "engineering=4;materials=2" - var - datum/effect/effect/system/spark_spread/spark_system - matter = 0 - working = 0 - mode = 1 - disabled = 0 - max_matter = 30 + var/datum/effect/effect/system/spark_spread/spark_system + var/matter = 0 + var/working = 0 + var/mode = 1 + var/disabled = 0 + var/max_matter = 30 New() diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 7e0c05a1768..899853e205e 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /* CONTAINS: MATCHES @@ -113,14 +115,13 @@ ZIPPO item_state = "cigoff" w_class = 1 body_parts_covered = null - var - lit = 0 - icon_on = "cigon" //Note - these are in masks.dmi not in cigarette.dmi - icon_off = "cigoff" - icon_butt = "cigbutt" - lastHolder = null - smoketime = 300 - butt_count = 5 //count of butt sprite variations + var/lit = 0 + var/icon_on = "cigon" //Note - these are in masks.dmi not in cigarette.dmi + var/icon_off = "cigoff" + var/icon_butt = "cigbutt" + var/lastHolder = null + var/smoketime = 300 + var/butt_count = 5 //count of butt sprite variations proc light(var/flavor_text = "[usr] lights the [name].") @@ -244,13 +245,12 @@ ZIPPO item_state = "cobpipeoff" w_class = 1 body_parts_covered = null - var - lit = 0 - icon_on = "cobpipeon" //Note - these are in masks.dmi - icon_off = "cobpipeoff" - lastHolder = null - smoketime = 100 - maxsmoketime = 100 //make sure this is equal to your smoketime + var/lit = 0 + var/icon_on = "cobpipeon" //Note - these are in masks.dmi + var/icon_off = "cobpipeoff" + var/lastHolder = null + var/smoketime = 100 + var/maxsmoketime = 100 //make sure this is equal to your smoketime proc light(var/flavor_text = "[usr] lights the [name].") @@ -338,8 +338,7 @@ ZIPPO w_class = 1 throwforce = 2 flags = ONBELT | TABLEPASS - var - cigcount = 6 + var/cigcount = 6 update_icon() @@ -472,4 +471,4 @@ ZIPPO if(lit) user.total_luminosity -= 2 src.sd_SetLuminosity(2) - return \ No newline at end of file + return diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index f976d3ee999..a20c6a20c7c 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/flamethrower/full/New(var/loc) ..() weldtool = new/obj/item/weapon/weldingtool(src) @@ -24,15 +26,14 @@ w_class = 3.0 m_amt = 500 origin_tech = "combat=1;plasmatech=1" - var - status = 0 - throw_amount = 100 - lit = 0 //on or off - operating = 0//cooldown - turf/previousturf = null - obj/item/weapon/weldingtool/weldtool = null - obj/item/device/assembly/igniter/igniter = null - obj/item/weapon/tank/plasma/ptank = null + var/status = 0 + var/throw_amount = 100 + var/lit = 0 //on or off + var/operating = 0//cooldown + var/turf/previousturf = null + var/obj/item/weapon/weldingtool/weldtool = null + var/obj/item/device/assembly/igniter/igniter = null + var/obj/item/weapon/tank/plasma/ptank = null Del() @@ -245,4 +246,4 @@ //target.hotspot_expose(part4.air_contents.temperature*2,300) target.hotspot_expose((ptank.air_contents.temperature*2) + 380,500) // -- More of my "how do I shot fire?" dickery. -- TLE //location.hotspot_expose(1000,500,1) - return \ No newline at end of file + return diff --git a/code/game/objects/items/weapons/grenades.dm b/code/game/objects/items/weapons/grenades.dm index 96e5480a8b0..0782d2206e5 100644 --- a/code/game/objects/items/weapons/grenades.dm +++ b/code/game/objects/items/weapons/grenades.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /* CONTAINS: EMP GRENADE @@ -16,9 +18,8 @@ FLASHBANG throw_range = 20 flags = FPRINT | TABLEPASS | CONDUCT | ONBELT origin_tech = "materials=2;magnets=3" - var - active = 0 - det_time = 50 + var/active = 0 + var/det_time = 50 proc prime() clown_check(var/mob/living/user) @@ -90,10 +91,9 @@ FLASHBANG throw_range = 20 flags = FPRINT | TABLEPASS | CONDUCT | ONBELT origin_tech = "materials=2;combat=1" - var - active = 0 - det_time = 30 - banglet = 0 + var/active = 0 + var/det_time = 30 + var/banglet = 0 proc bang(var/turf/T , var/mob/living/carbon/M) prime() diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index 6c0fd9a6bcc..6e404c1a65d 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -1,13 +1,14 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/implant name = "implant" desc = "An implant. Not usually seen outside a body." icon = 'items.dmi' icon_state = "implant" - var - implanted = null - mob/imp_in = null - color = "b" - allow_reagents = 0 + var/implanted = null + var/mob/imp_in = null + var/color = "b" + var/allow_reagents = 0 proc trigger(emote, source as mob) activate() @@ -48,9 +49,8 @@ /obj/item/weapon/implant/uplink name = "uplink implant" desc = "A micro-telecrystal implant which allows for instant transportation of equipment." - var - activation_emote = "chuckle" - obj/item/device/uplink/radio/uplink = null + var/activation_emote = "chuckle" + var/obj/item/device/uplink/radio/uplink = null New() @@ -77,8 +77,7 @@ /obj/item/weapon/implant/tracking name = "tracking implant" desc = "An implant which relays information to the appropriate tracking computer." - var - id = 1.0 + var/id = 1.0 get_data() @@ -450,4 +449,4 @@ the implant may become unstable and either pre-maturely inject the subject or si usr << "You suddenly start seeing body temperatures of whoever is around you." else usr << "This implant is not compatible!" - return*/ \ No newline at end of file + return*/ diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm index 1c792e6fe75..95939663466 100644 --- a/code/game/objects/items/weapons/implants/implantcase.dm +++ b/code/game/objects/items/weapons/implants/implantcase.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/implantcase name = "Glass Case" desc = "A case containing an implant." @@ -6,8 +8,7 @@ throw_speed = 1 throw_range = 5 w_class = 1.0 - var - obj/item/weapon/implant/imp = null + var/obj/item/weapon/implant/imp = null proc update() @@ -125,4 +126,4 @@ New() src.imp = new /obj/item/weapon/implant/death_alarm( src ) ..() - return \ No newline at end of file + return diff --git a/code/game/objects/items/weapons/implants/implantchair.dm b/code/game/objects/items/weapons/implants/implantchair.dm index f73af2ad2b1..4f49e2ca497 100644 --- a/code/game/objects/items/weapons/implants/implantchair.dm +++ b/code/game/objects/items/weapons/implants/implantchair.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/machinery/implantchair name = "Loyalty Implanter" desc = "Used to implant occupants with loyalty implants." @@ -7,16 +9,15 @@ opacity = 0 anchored = 1 - var - ready = 1 - malfunction = 0 - list/obj/item/weapon/implant/loyalty/implant_list = list() - max_implants = 5 - injection_cooldown = 600 - replenish_cooldown = 6000 - replenishing = 0 - mob/living/carbon/occupant = null - injecting = 0 + var/ready = 1 + var/malfunction = 0 + var/list/obj/item/weapon/implant/loyalty/implant_list = list() + var/max_implants = 5 + var/injection_cooldown = 600 + var/replenish_cooldown = 6000 + var/replenishing = 0 + var/mob/living/carbon/occupant = null + var/injecting = 0 proc go_out() diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index d32bb8155d4..9b0fa8d8039 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/implanter name = "implanter" icon = 'items.dmi' @@ -6,8 +8,7 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - var - obj/item/weapon/implant/imp = null + var/obj/item/weapon/implant/imp = null proc update() @@ -108,4 +109,4 @@ var/obj/item/weapon/implant/compressed/c = imp c.scanned = A A.loc.contents.Remove(A) - update() \ No newline at end of file + update() diff --git a/code/game/objects/items/weapons/implants/implantfreedom.dm b/code/game/objects/items/weapons/implants/implantfreedom.dm index 21cb9f81f9e..7540061142b 100644 --- a/code/game/objects/items/weapons/implants/implantfreedom.dm +++ b/code/game/objects/items/weapons/implants/implantfreedom.dm @@ -1,10 +1,11 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/implant/freedom name = "freedom" desc = "Use this to escape from those evil Red Shirts." color = "r" - var - activation_emote = "chuckle" - uses = 1.0 + var/activation_emote = "chuckle" + var/uses = 1.0 New() diff --git a/code/game/objects/items/weapons/implants/implantpad.dm b/code/game/objects/items/weapons/implants/implantpad.dm index b42fe178ddc..5b2b4da7f00 100644 --- a/code/game/objects/items/weapons/implants/implantpad.dm +++ b/code/game/objects/items/weapons/implants/implantpad.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/implantpad name = "implantpad" desc = "Used to modify implants." @@ -7,10 +9,9 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - var - obj/item/weapon/implantcase/case = null - broadcasting = null - listening = 1.0 + var/obj/item/weapon/implantcase/case = null + var/broadcasting = null + var/listening = 1.0 proc update() diff --git a/code/game/objects/items/weapons/mops_cleaners.dm b/code/game/objects/items/weapons/mops_cleaners.dm index 2af673ae4f6..1a32c2c9e1a 100644 --- a/code/game/objects/items/weapons/mops_cleaners.dm +++ b/code/game/objects/items/weapons/mops_cleaners.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/cleaner desc = "A chemical that cleans messes." icon = 'janitor.dmi' @@ -451,13 +453,12 @@ obj/item/weapon/mop/proc/clean(turf/simulated/A as turf) /proc/GetColors(hex) hex = uppertext(hex) - var - hi1 = text2ascii(hex, 2) - lo1 = text2ascii(hex, 3) - hi2 = text2ascii(hex, 4) - lo2 = text2ascii(hex, 5) - hi3 = text2ascii(hex, 6) - lo3 = text2ascii(hex, 7) + var/hi1 = text2ascii(hex, 2) + var/lo1 = text2ascii(hex, 3) + var/hi2 = text2ascii(hex, 4) + var/lo2 = text2ascii(hex, 5) + var/hi3 = text2ascii(hex, 6) + var/lo3 = text2ascii(hex, 7) return list(((hi1>= 65 ? hi1-55 : hi1-48)<<4) | (lo1 >= 65 ? lo1-55 : lo1-48), ((hi2 >= 65 ? hi2-55 : hi2-48)<<4) | (lo2 >= 65 ? lo2-55 : lo2-48), ((hi3 >= 65 ? hi3-55 : hi3-48)<<4) | (lo3 >= 65 ? lo3-55 : lo3-48)) diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index cf501a4a63b..163adf1f40b 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /* CONTAINS: RETRACTOR @@ -651,11 +653,10 @@ CIRCULAR SAW /obj/item/weapon/autopsy_scanner/var/timeofdeath = null /datum/autopsy_data_data - var - weapon = null // this is the DEFINITE weapon type that was used - list/organs_scanned = list() // this maps a number of scanned organs to + var/weapon = null // this is the DEFINITE weapon type that was used + var/list/organs_scanned = list() // this maps a number of scanned organs to // the wounds to those organs with this data's weapon type - organ_names = "" + var/organ_names = "" /obj/item/weapon/autopsy_scanner/proc/add_data(var/datum/organ/external/O) if(!O.autopsy_data.len && !O.trace_chemicals.len) return diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 4d301b5fc0c..6beb9841632 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /* CONTAINS: @@ -53,10 +55,9 @@ WELDINGTOOOL m_amt = 70 g_amt = 30 origin_tech = "engineering=1" - var - welding = 0 - status = 1 - max_fuel = 20 + var/welding = 0 + var/status = 1 + var/max_fuel = 20 proc get_fuel() remove_fuel(var/amount = 1, var/mob/M = null) @@ -334,4 +335,4 @@ WELDINGTOOOL M.update_clothing() return else - ..() \ No newline at end of file + ..() diff --git a/code/game/objects/radio/headset.dm b/code/game/objects/radio/headset.dm index 7e58b10f896..582a08e8ae7 100644 --- a/code/game/objects/radio/headset.dm +++ b/code/game/objects/radio/headset.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/device/radio/headset name = "radio headset" desc = "An updated, modular intercom that fits over the head. Takes encryption keys" @@ -8,11 +10,10 @@ subspace_transmission = 1 protective_temperature = 0 canhear_range = 1 // can't hear headsets from very far away - var - translate_binary = 0 - translate_hive = 0 - obj/item/device/encryptionkey/keyslot1 = null - obj/item/device/encryptionkey/keyslot2 = null + var/translate_binary = 0 + var/translate_hive = 0 + var/obj/item/device/encryptionkey/keyslot1 = null + var/obj/item/device/encryptionkey/keyslot2 = null /obj/item/device/radio/headset/New() ..() @@ -245,4 +246,4 @@ src.name = "broken radio headset" return - return \ No newline at end of file + return diff --git a/code/game/objects/radio/radio.dm b/code/game/objects/radio/radio.dm index e9c27e0a959..75b9774a6f2 100644 --- a/code/game/objects/radio/radio.dm +++ b/code/game/objects/radio/radio.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + var/GLOBAL_RADIO_TYPE = 1 // radio type to use // 0 = old radios // 1 = new radios (subspace technology) @@ -9,21 +11,20 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use suffix = "\[3\]" icon_state = "walkietalkie" item_state = "walkietalkie" - var - on = 1 // 0 for off - last_transmission - frequency = 1459 //common chat - traitor_frequency = 0 //tune to frequency to unlock traitor supplies - canhear_range = 3 // the range which mobs can hear this radio from - obj/item/device/radio/patch_link = null - obj/item/device/uplink/radio/traitorradio = null - wires = WIRE_SIGNAL | WIRE_RECEIVE | WIRE_TRANSMIT - b_stat = 0 - broadcasting = 0 - listening = 1 - freerange = 0 // 0 - Sanitize frequencies, 1 - Full range - list/channels = list() //see communications.dm for full list. First channes is a "default" for :h - subspace_transmission = 0 + var/on = 1 // 0 for off + var/last_transmission + var/frequency = 1459 //common chat + var/traitor_frequency = 0 //tune to frequency to unlock traitor supplies + var/canhear_range = 3 // the range which mobs can hear this radio from + var/obj/item/device/radio/patch_link = null + var/obj/item/device/uplink/radio/traitorradio = null + var/wires = WIRE_SIGNAL | WIRE_RECEIVE | WIRE_TRANSMIT + var/b_stat = 0 + var/broadcasting = 0 + var/listening = 1 + var/freerange = 0 // 0 - Sanitize frequencies, 1 - Full range + var/list/channels = list() //see communications.dm for full list. First channes is a "default" for :h + var/subspace_transmission = 0 // "Example" = FREQ_LISTENING|FREQ_BROADCASTING flags = 450 // hello i'm a fucking idiot why is this 450?? CODE GODS PLEASE EXPLAIN~ throw_speed = 2 @@ -31,19 +32,17 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use w_class = 2 g_amt = 25 m_amt = 75 - var/const - WIRE_SIGNAL = 1 //sends a signal, like to set off a bomb or electrocute someone - WIRE_RECEIVE = 2 - WIRE_TRANSMIT = 4 - TRANSMISSION_DELAY = 5 // only 2/second/radio - FREQ_LISTENING = 1 + var/const/WIRE_SIGNAL = 1 //sends a signal, like to set off a bomb or electrocute someone + var/const/WIRE_RECEIVE = 2 + var/const/WIRE_TRANSMIT = 4 + var/const/TRANSMISSION_DELAY = 5 // only 2/second/radio + var/const/FREQ_LISTENING = 1 //FREQ_BROADCASTING = 2 /obj/item/device/radio - var - datum/radio_frequency/radio_connection - list/datum/radio_frequency/secure_radio_connections = new + var/datum/radio_frequency/radio_connection + var/list/datum/radio_frequency/secure_radio_connections = new proc set_frequency(new_frequency) radio_controller.remove_object(src, frequency) diff --git a/code/game/objects/storage/lockbox.dm b/code/game/objects/storage/lockbox.dm index 38141dd1e6e..d15663409e4 100644 --- a/code/game/objects/storage/lockbox.dm +++ b/code/game/objects/storage/lockbox.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/storage/lockbox name = "lockbox" desc = "A locked box." @@ -8,12 +10,11 @@ max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item. storage_slots = 4 req_access = list(access_armory) - var - locked = 1 - broken = 0 - icon_locked = "lockbox+l" - icon_closed = "lockbox" - icon_broken = "lockbox+b" + var/locked = 1 + var/broken = 0 + var/icon_locked = "lockbox+l" + var/icon_closed = "lockbox" + var/icon_broken = "lockbox+b" attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -90,4 +91,4 @@ New() ..() - new /obj/item/weapon/flashbang/clusterbang(src) \ No newline at end of file + new /obj/item/weapon/flashbang/clusterbang(src) diff --git a/code/game/objects/tanks/jetpack.dm b/code/game/objects/tanks/jetpack.dm index a8b853b6b7c..9a0cee74029 100644 --- a/code/game/objects/tanks/jetpack.dm +++ b/code/game/objects/tanks/jetpack.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/tank/jetpack name = "Jetpack (Empty)" desc = "A tank of compressed gas for use as propulsion in zero-gravity areas. Use with caution." @@ -5,11 +7,10 @@ w_class = 4.0 item_state = "jetpack" distribute_pressure = ONE_ATMOSPHERE*O2STANDARD - var - datum/effect/effect/system/ion_trail_follow/ion_trail - on = 0.0 - stabilization_on = 0 - volume_rate = 500 //Needed for borg jetpack transfer + var/datum/effect/effect/system/ion_trail_follow/ion_trail + var/on = 0.0 + var/stabilization_on = 0 + var/volume_rate = 500 //Needed for borg jetpack transfer New() ..() @@ -108,4 +109,4 @@ if(air_contents.carbon_dioxide < 10) usr << text("\red The meter on the [src.name] indicates you are almost out of air!") playsound(usr, 'alert.ogg', 50, 1) - return \ No newline at end of file + return diff --git a/code/modules/admin/banjob.dm b/code/modules/admin/banjob.dm index cd6ef81420c..bcb433e473e 100644 --- a/code/modules/admin/banjob.dm +++ b/code/modules/admin/banjob.dm @@ -1,6 +1,7 @@ -var - jobban_runonce // Updates legacy bans with new info - jobban_keylist[0] //to store the keys & ranks +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + +var/jobban_runonce // Updates legacy bans with new info +var/jobban_keylist[0] //to store the keys & ranks /proc/jobban_fullban(mob/M, rank, reason) if (!M || !M.key) return diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 039aac01924..1a0e282d4db 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /proc/isassembly(O) if(istype(O, /obj/item/device/assembly)) @@ -46,38 +48,35 @@ throw_range = 10 origin_tech = "magnets=1" - var - secured = 1 - small_icon_state_left = null - small_icon_state_right = null - list/small_icon_state_overlays = null - obj/item/device/assembly_holder/holder = null - cooldown = 0//To prevent spam - wires = WIRE_RECEIVE | WIRE_PULSE + var/secured = 1 + var/small_icon_state_left = null + var/small_icon_state_right = null + var/list/small_icon_state_overlays = null + var/obj/item/device/assembly_holder/holder = null + var/cooldown = 0//To prevent spam + var/wires = WIRE_RECEIVE | WIRE_PULSE - var/const - WIRE_RECEIVE = 1 //Allows Pulsed(0) to call Activate() - WIRE_PULSE = 2 //Allows Pulse(0) to act on the holder - WIRE_PULSE_SPECIAL = 4 //Allows Pulse(0) to act on the holders special assembly - WIRE_RADIO_RECEIVE = 8 //Allows Pulsed(1) to call Activate() - WIRE_RADIO_PULSE = 16 //Allows Pulse(1) to send a radio message - - proc - activate() //What the device does when turned on - pulsed(var/radio = 0) //Called when another assembly acts on this one, var/radio will determine where it came from for wire calcs - pulse(var/radio = 0) //Called when this device attempts to act on another device, var/radio determines if it was sent via radio or direct - toggle_secure() //Code that has to happen when the assembly is un\secured goes here - attach_assembly(var/obj/A, var/mob/user) //Called when an assembly is attacked by another - process_cooldown() //Called via spawn(10) to have it count down the cooldown var - holder_movement() //Called when the holder is moved - interact(mob/user as mob) //Called when attack_self is called + var/const/WIRE_RECEIVE = 1 //Allows Pulsed(0) to call Activate() + var/const/WIRE_PULSE = 2 //Allows Pulse(0) to act on the holder + var/const/WIRE_PULSE_SPECIAL = 4 //Allows Pulse(0) to act on the holders special assembly + var/const/WIRE_RADIO_RECEIVE = 8 //Allows Pulsed(1) to call Activate() + var/const/WIRE_RADIO_PULSE = 16 //Allows Pulse(1) to send a radio message - process_cooldown() + proc/activate() //What the device does when turned on + proc/pulsed(var/radio = 0) //Called when another assembly acts on this one, var/radio will determine where it came from for wire calcs + pulse(var/radio = 0) //Called when this device attempts to act on another device, var/radio determines if it was sent via radio or direct + proc/toggle_secure() //Code that has to happen when the assembly is un\secured goes here + proc/attach_assembly(var/obj/A, var/mob/user) //Called when an assembly is attacked by another + proc/holder_movement() //Called when the holder is moved + proc/interact(mob/user as mob) //Called when attack_self is called + + + proc/process_cooldown() cooldown-- if(cooldown <= 0) return 0 spawn(10) - process_cooldown() + process_cooldown() return 1 @@ -89,7 +88,7 @@ return 1 - pulse(var/radio = 0) + proc/pulse(var/radio = 0) if(holder && (wires & WIRE_PULSE)) holder.process_activation(src, 1, 0) if(holder && (wires & WIRE_PULSE_SPECIAL)) @@ -186,15 +185,13 @@ Desc: If true is an object that can be attached to an assembly holder but is a s /obj/proc/IsSpecialAssembly() return 0 /* - var - small_icon_state = null//If this obj will go inside the assembly use this for icons - list/small_icon_state_overlays = null//Same here - obj/holder = null - cooldown = 0//To prevent spam + var/small_icon_state = null//If this obj will go inside the assembly use this for icons + var/list/small_icon_state_overlays = null//Same here + var/obj/holder = null + var/cooldown = 0//To prevent spam proc Activate()//Called when this assembly is pulsed by another one - Process_cooldown()//Call this via spawn(10) to have it count down the cooldown var Attach_Holder(var/obj/H, var/mob/user)//Called when an assembly holder attempts to attach, sets src's loc in here @@ -222,4 +219,4 @@ Desc: If true is an object that can be attached to an assembly holder but is a s //Remember to have it set its loc somewhere in here -*/ \ No newline at end of file +*/ diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index ac0cb27ad57..51ac5e39337 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/device/assembly_holder name = "Assembly" desc = "Holds various devices"//Fix this by adding dynamic desc @@ -11,11 +13,10 @@ throw_speed = 3 throw_range = 10 - var - secured = 0 - obj/item/device/assembly/a_left = null - obj/item/device/assembly/a_right = null - obj/special_assembly = null + var/secured = 0 + var/obj/item/device/assembly/a_left = null + var/obj/item/device/assembly/a_right = null + var/obj/special_assembly = null proc attach(var/obj/item/device/D, var/obj/item/device/D2, var/mob/user) diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index c57c7730484..130965ecefb 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/device/assembly/infra name = "Infrared Beam" desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted." @@ -11,10 +13,9 @@ small_icon_state_left = "infrared_left" small_icon_state_right = "infrared_right" - var - scanning = 0 - visible = 0 - obj/effect/beam/i_beam/first = null + var/scanning = 0 + var/visible = 0 + var/obj/effect/beam/i_beam/first = null proc trigger_beam() @@ -271,4 +272,4 @@ /obj/effect/beam/i_beam/Del() del(src.next) ..() - return \ No newline at end of file + return diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index aab24bded2d..b9853beb325 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/device/assembly/prox_sensor name = "proximity sensor" desc = "Used for scanning and alerting when someone enters a certain proximity." @@ -11,10 +13,9 @@ small_icon_state_left = "prox_left" small_icon_state_right = "prox_right" - var - scanning = 0 - timing = 0 - time = 10 + var/scanning = 0 + var/timing = 0 + var/time = 10 proc toggle_scan() @@ -153,4 +154,4 @@ attack_self(usr) - return \ No newline at end of file + return diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 2cba4266bc4..e8a9a8b6bfd 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/device/assembly/signaler name = "Remote Signaling Device" desc = "Used to remotely activate devices." @@ -13,13 +15,12 @@ small_icon_state_left = "signaller_left" small_icon_state_right = "signaller_right" - var - code = 30 - frequency = 1457 - delay = 0 - airlock_wire = null - datum/radio_frequency/radio_connection - deadman = 0 + var/code = 30 + var/frequency = 1457 + var/delay = 0 + var/airlock_wire = null + var/datum/radio_frequency/radio_connection + var/deadman = 0 proc signal() diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index b905de1f0e2..0b856c21795 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/device/assembly/timer name = "timer" desc = "Used to time things. Works well with contraptions which has to count down. Tick tock." @@ -11,9 +13,8 @@ small_icon_state_left = "timer_left" small_icon_state_right = "timer_right" - var - timing = 0 - time = 10 + var/timing = 0 + var/time = 10 proc timer_end() @@ -114,4 +115,4 @@ if(usr) attack_self(usr) - return \ No newline at end of file + return diff --git a/code/modules/chemical/Chemistry-Holder.dm b/code/modules/chemical/Chemistry-Holder.dm index 459f298a96c..e6e75ad9a72 100644 --- a/code/modules/chemical/Chemistry-Holder.dm +++ b/code/modules/chemical/Chemistry-Holder.dm @@ -1,6 +1,7 @@ -var/const - TOUCH = 1 - INGEST = 2 +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + +var/const/TOUCH = 1 +var/const/INGEST = 2 /////////////////////////////////////////////////////////////////////////////////// diff --git a/code/modules/chemical/Chemistry-Reagents.dm b/code/modules/chemical/Chemistry-Reagents.dm index c94cd145e75..edf31b672d6 100644 --- a/code/modules/chemical/Chemistry-Reagents.dm +++ b/code/modules/chemical/Chemistry-Reagents.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + #define SOLID 1 #define LIQUID 2 #define GAS 3 @@ -2654,14 +2656,13 @@ datum reagent_state = LIQUID nutriment_factor = 0 //So alcohol can fill you up! If they want to. color = "#404030" // rgb: 64, 64, 48 - var - dizzy_adj = 3 - slurr_adj = 3 - confused_adj = 2 - slur_start = 65 //amount absorbed after which mob starts slurring - confused_start = 130 //amount absorbed after which mob starts confusing directions - blur_start = 260 //amount absorbed after which mob starts getting blurred vision - pass_out = 325 //amount absorbed after which mob starts passing out + var/dizzy_adj = 3 + var/slurr_adj = 3 + var/confused_adj = 2 + var/slur_start = 65 //amount absorbed after which mob starts slurring + var/confused_start = 130 //amount absorbed after which mob starts confusing directions + var/blur_start = 260 //amount absorbed after which mob starts getting blurred vision + var/pass_out = 325 //amount absorbed after which mob starts passing out on_mob_life(var/mob/living/M as mob) M:nutrition += nutriment_factor diff --git a/code/modules/clothing/glasses.dm b/code/modules/clothing/glasses.dm index 53f7e1eaf86..b1527b20878 100644 --- a/code/modules/clothing/glasses.dm +++ b/code/modules/clothing/glasses.dm @@ -1,13 +1,14 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/clothing/glasses name = "glasses" icon = 'glasses.dmi' w_class = 2.0 flags = GLASSESCOVERSEYES - var - vision_flags = 0 - darkness_view = 0//Base human is 2 - invisa_view = 0 - prescription = 0 + var/vision_flags = 0 + var/darkness_view = 0//Base human is 2 + var/invisa_view = 0 + var/prescription = 0 /* SEE_SELF // can see self, no matter what diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 3709e1ab39b..e857e8b3500 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -1,10 +1,11 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/clothing/glasses/hud name = "HUD" desc = "A heads-up display that provides important info in (almost) real time." flags = null //doesn't protect eyes because it's a monocle, duh origin_tech = "magnets=3;biotech=2" - var - list/icon/current = list() //the current hud icons + var/list/icon/current = list() //the current hud icons proc process_hud(var/mob/M) return diff --git a/code/modules/clothing/spacesuits/ninja.dm b/code/modules/clothing/spacesuits/ninja.dm index ce028fe46ac..a1a95239d9d 100644 --- a/code/modules/clothing/spacesuits/ninja.dm +++ b/code/modules/clothing/spacesuits/ninja.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/clothing/head/helmet/space/space_ninja desc = "What may appear to be a simple black garment is in fact a highly sophisticated nano-weave helmet. Standard issue ninja gear." name = "ninja hood" @@ -18,45 +20,44 @@ slowdown = 0 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) - var //Important parts of the suit. - mob/living/carbon/affecting = null//The wearer. - obj/item/weapon/cell/cell//Starts out with a high-capacity cell using New(). - datum/effect/effect/system/spark_spread/spark_system//To create sparks. - reagent_list[] = list("tricordrazine","dexalinp","spaceacillin","anti_toxin","nutriment","radium","hyronalin")//The reagents ids which are added to the suit at New(). - stored_research[]//For stealing station research. - obj/item/weapon/disk/tech_disk/t_disk//To copy design onto disk. + var/mob/living/carbon/affecting = null//The wearer. + var/obj/item/weapon/cell/cell//Starts out with a high-capacity cell using New(). + var/datum/effect/effect/system/spark_spread/spark_system//To create sparks. + var/reagent_list[] = list("tricordrazine","dexalinp","spaceacillin","anti_toxin","nutriment","radium","hyronalin")//The reagents ids which are added to the suit at New(). + var/stored_research[]//For stealing station research. + var/obj/item/weapon/disk/tech_disk/t_disk//To copy design onto disk. //Other articles of ninja gear worn together, used to easily reference them after initializing. - obj/item/clothing/head/helmet/space/space_ninja/n_hood - obj/item/clothing/shoes/space_ninja/n_shoes - obj/item/clothing/gloves/space_ninja/n_gloves + var/obj/item/clothing/head/helmet/space/space_ninja/n_hood + var/obj/item/clothing/shoes/space_ninja/n_shoes + var/obj/item/clothing/gloves/space_ninja/n_gloves //Main function variables. - s_initialized = 0//Suit starts off. - s_coold = 0//If the suit is on cooldown. Can be used to attach different cooldowns to abilities. Ticks down every second based on suit ntick(). - s_cost = 5.0//Base energy cost each ntick. - s_acost = 25.0//Additional cost for additional powers active. - k_cost = 200.0//Kamikaze energy cost each ntick. - k_damage = 1.0//Brute damage potentially done by Kamikaze each ntick. - s_delay = 40.0//How fast the suit does certain things, lower is faster. Can be overridden in specific procs. Also determines adverse probability. - a_transfer = 20.0//How much reagent is transferred when injecting. - r_maxamount = 80.0//How much reagent in total there is. + var/s_initialized = 0//Suit starts off. + var/s_coold = 0//If the suit is on cooldown. Can be used to attach different cooldowns to abilities. Ticks down every second based on suit ntick(). + var/s_cost = 5.0//Base energy cost each ntick. + var/s_acost = 25.0//Additional cost for additional powers active. + var/k_cost = 200.0//Kamikaze energy cost each ntick. + var/k_damage = 1.0//Brute damage potentially done by Kamikaze each ntick. + var/s_delay = 40.0//How fast the suit does certain things, lower is faster. Can be overridden in specific procs. Also determines adverse probability. + var/a_transfer = 20.0//How much reagent is transferred when injecting. + var/r_maxamount = 80.0//How much reagent in total there is. //Support function variables. - spideros = 0//Mode of SpiderOS. This can change so I won't bother listing the modes here (0 is hub). Check ninja_equipment.dm for how it all works. - s_active = 0//Stealth off. - s_busy = 0//Is the suit busy with a process? Like AI hacking. Used for safety functions. - kamikaze = 0//Kamikaze on or off. - k_unlock = 0//To unlock Kamikaze. + var/spideros = 0//Mode of SpiderOS. This can change so I won't bother listing the modes here (0 is hub). Check ninja_equipment.dm for how it all works. + var/s_active = 0//Stealth off. + var/s_busy = 0//Is the suit busy with a process? Like AI hacking. Used for safety functions. + var/kamikaze = 0//Kamikaze on or off. + var/k_unlock = 0//To unlock Kamikaze. //Ability function variables. - s_bombs = 10.0//Number of starting ninja smoke bombs. - a_boost = 3.0//Number of adrenaline boosters. + var/s_bombs = 10.0//Number of starting ninja smoke bombs. + var/a_boost = 3.0//Number of adrenaline boosters. //Onboard AI related variables. - mob/living/silicon/ai/AI//If there is an AI inside the suit. - obj/item/device/paicard/pai//A slot for a pAI device - obj/effect/overlay/hologram//Is the AI hologram on or off? Visible only to the wearer of the suit. This works by attaching an image to a blank overlay. - flush = 0//If an AI purge is in progress. - s_control = 1//If user in control of the suit. + var/mob/living/silicon/ai/AI//If there is an AI inside the suit. + var/obj/item/device/paicard/pai//A slot for a pAI device + var/obj/effect/overlay/hologram//Is the AI hologram on or off? Visible only to the wearer of the suit. This works by attaching an image to a blank overlay. + var/flush = 0//If an AI purge is in progress. + var/s_control = 1//If user in control of the suit. diff --git a/code/modules/critters/critter.dm b/code/modules/critters/critter.dm index 854765817c1..cffef459002 100644 --- a/code/modules/critters/critter.dm +++ b/code/modules/critters/critter.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/effect/critter name = "Critter" desc = "Generic critter." @@ -6,79 +8,78 @@ layer = 5.0 density = 1 anchored = 0 - var - alive = 1 - health = 10 - max_health = 10 - aggression = 100 - speed = 8 - list/access_list = list()//accesses go here + var/alive = 1 + var/health = 10 + var/max_health = 10 + var/aggression = 100 + var/speed = 8 + var/list/access_list = list()//accesses go here //AI things - task = "thinking" + var/task = "thinking" //Attacks at will - aggressive = 1 + var/aggressive = 1 //Will target an attacker - defensive = 0 + var/defensive = 0 //Will randomly move about - wanderer = 1 + var/wanderer = 1 //Will open doors it bumps ignoring access - opensdoors = 0 + var/opensdoors = 0 //Will randomly travel through vents - ventcrawl = 0 + var/ventcrawl = 0 //Internal tracking ignore - frustration = 0 - max_frustration = 8 - attack = 0 - attacking = 0 - steps = 0 - last_found = null - target = null - oldtarget_name = null - target_lastloc = null + var/frustration = 0 + var/max_frustration = 8 + var/attack = 0 + var/attacking = 0 + var/steps = 0 + var/last_found = null + var/target = null + var/oldtarget_name = null + var/target_lastloc = null - thinkspeed = 15 - chasespeed = 4 - wanderspeed = 10 + var/thinkspeed = 15 + var/chasespeed = 4 + var/wanderspeed = 10 //The last guy who attacked it - attacker = null + var/attacker = null //Will not attack this thing - friend = null + var/friend = null //How far to look for things dont set this overly high - seekrange = 7 + var/seekrange = 7 //If true will attack these things - atkcarbon = 1 - atksilicon = 0 - atkcritter = 0 + var/atkcarbon = 1 + var/atksilicon = 0 + var/atkcritter = 0 //Attacks critters of the same type - atksame = 0 - atkmech = 0 + var/atksame = 0 + var/atkmech = 0 //Attacks syndies/traitors (distinguishes via mind) - atksynd = 1 + var/atksynd = 1 //Attacks things NOT in its obj/req_access list - atkreq = 0 + var/atkreq = 0 //Damage multipliers - brutevuln = 1 - firevuln = 1 + var/brutevuln = 1 + var/firevuln = 1 //DR - armor = 0 + var/armor = 0 //How much damage it does it melee - melee_damage_lower = 1 - melee_damage_upper = 2 + var/melee_damage_lower = 1 + var/melee_damage_upper = 2 //Basic attack message when they move to attack and attack - angertext = "charges at" - attacktext = "attacks" - deathtext = "dies!" + var/angertext = "charges at" + var/attacktext = "attacks" + var/deathtext = "dies!" - chasestate = null // the icon state to use when attacking or chasing a target - attackflick = null // the icon state to flick when it attacks - attack_sound = null // the sound it makes when it attacks! + var/chasestate = null // the icon state to use when attacking or chasing a target + var/attackflick = null // the icon state to flick when it attacks + var/attack_sound = null // the sound it makes when it attacks! - attack_speed = 25 // delay of attack + var/attack_speed = 25 // delay of attack proc @@ -135,4 +136,4 @@ -*/ \ No newline at end of file +*/ diff --git a/code/modules/critters/hivebots/hivebot.dm b/code/modules/critters/hivebots/hivebot.dm index 329660fe248..bfc2709fbe5 100644 --- a/code/modules/critters/hivebots/hivebot.dm +++ b/code/modules/critters/hivebots/hivebot.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/projectile/hivebotbullet damage = 5 damage_type = BRUTE @@ -25,9 +27,8 @@ melee_damage_upper = 3 angertext = "leaps at" attacktext = "claws" - var - ranged = 0 - rapid = 0 + var/ranged = 0 + var/rapid = 0 proc Shoot(var/target, var/start, var/user, var/bullet = 0) OpenFire(var/thing)//bluh ill rename this later or somethin @@ -186,12 +187,11 @@ seekrange = 2 armor = 10 - var - bot_type = "norm" - bot_amt = 10 - spawn_delay = 600 - turn_on = 0 - auto_spawn = 1 + var/bot_type = "norm" + var/bot_amt = 10 + var/spawn_delay = 600 + var/turn_on = 0 + var/auto_spawn = 1 proc warpbots() @@ -247,4 +247,4 @@ /obj/effect/critter/hivebot/tele/rapid bot_type = "rapid" - spawn_delay = 800 \ No newline at end of file + spawn_delay = 800 diff --git a/code/modules/flufftext/TextFilters.dm b/code/modules/flufftext/TextFilters.dm index cc228dbbe19..613454ff550 100644 --- a/code/modules/flufftext/TextFilters.dm +++ b/code/modules/flufftext/TextFilters.dm @@ -1,9 +1,11 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + proc/Intoxicated(phrase) phrase = html_decode(phrase) - var - leng=lentext(phrase) - counter=lentext(phrase) - newphrase="";newletter="" + var/leng=lentext(phrase) + var/counter=lentext(phrase) + var/newphrase="" + var/newletter="" while(counter>=1) newletter=copytext(phrase,(leng-counter)+1,(leng-counter)+2) if(rand(1,3)==3) @@ -78,4 +80,4 @@ proc/Ellipsis(original_msg, chance = 50) new_msg = dd_list2text(new_words," ") - return new_msg \ No newline at end of file + return new_msg diff --git a/code/modules/mob/living/blob/blob.dm b/code/modules/mob/living/blob/blob.dm index 7c4cd8eeeca..8c271791a2d 100644 --- a/code/modules/mob/living/blob/blob.dm +++ b/code/modules/mob/living/blob/blob.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /mob/living/blob name = "blob fragment" real_name = "blob fragment" @@ -6,9 +8,8 @@ pass_flags = PASSBLOB see_in_dark = 8 see_invisible = 2 - var - ghost_name = "Unknown" - creating_blob = 0 + var/ghost_name = "Unknown" + var/creating_blob = 0 New() diff --git a/code/modules/mob/living/carbon/alien/humanoid/life.dm b/code/modules/mob/living/carbon/alien/humanoid/life.dm index 7a386ef417f..f83b1e4bba9 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/life.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/life.dm @@ -1,10 +1,11 @@ -/mob/living/carbon/alien/humanoid - var - oxygen_alert = 0 - toxins_alert = 0 - fire_alert = 0 +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 - temperature_alert = 0 +/mob/living/carbon/alien/humanoid + var/oxygen_alert = 0 + var/toxins_alert = 0 + var/fire_alert = 0 + + var/temperature_alert = 0 /mob/living/carbon/alien/humanoid/Life() diff --git a/code/modules/mob/living/carbon/alien/larva/life.dm b/code/modules/mob/living/carbon/alien/larva/life.dm index b35b9735434..5025d724f7d 100644 --- a/code/modules/mob/living/carbon/alien/larva/life.dm +++ b/code/modules/mob/living/carbon/alien/larva/life.dm @@ -1,10 +1,11 @@ -/mob/living/carbon/alien/larva - var - oxygen_alert = 0 - toxins_alert = 0 - fire_alert = 0 +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 - temperature_alert = 0 +/mob/living/carbon/alien/larva + var/oxygen_alert = 0 + var/toxins_alert = 0 + var/fire_alert = 0 + + var/temperature_alert = 0 /mob/living/carbon/alien/larva/Life() diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index b0931dfee20..39b73876556 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/device/mmi name = "Man-Machine Interface" desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity." @@ -14,11 +16,10 @@ //Revised. Brainmob is now contained directly within object of transfer. MMI in this case. - var - locked = 0 - mob/living/carbon/brain/brainmob = null//The current occupant. - mob/living/silicon/robot = null//Appears unused. - obj/mecha = null//This does not appear to be used outside of reference in mecha.dm. + var/locked = 0 + var/mob/living/carbon/brain/brainmob = null//The current occupant. + var/mob/living/silicon/robot = null//Appears unused. + var/obj/mecha = null//This does not appear to be used outside of reference in mecha.dm. attackby(var/obj/item/O as obj, var/mob/user as mob) if(istype(O,/obj/item/brain) && !brainmob) //Time to stick a brain in it --NEO @@ -132,4 +133,4 @@ brainmob << "Can't do that while incapacitated or dead." radio.listening = radio.listening==1 ? 0 : 1 - brainmob << "\blue Radio is [radio.listening==1 ? "now" : "no longer"] receiving broadcast." \ No newline at end of file + brainmob << "\blue Radio is [radio.listening==1 ? "now" : "no longer"] receiving broadcast." diff --git a/code/modules/mob/living/carbon/brain/brain.dm b/code/modules/mob/living/carbon/brain/brain.dm index fc7e81cf2a8..f9d6ce11f0b 100644 --- a/code/modules/mob/living/carbon/brain/brain.dm +++ b/code/modules/mob/living/carbon/brain/brain.dm @@ -1,7 +1,8 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /mob/living/carbon/brain - var - obj/item/container = null - timeofhostdeath = 0 + var/obj/item/container = null + var/timeofhostdeath = 0 New() var/datum/reagents/R = new/datum/reagents(1000) @@ -41,4 +42,4 @@ if (!container || !istype(container, /obj/item/device/mmi)) src.verbs += /mob/proc/ghost - return \ No newline at end of file + return diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index e16ea5fe505..027e94fe090 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1,19 +1,20 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + #define HUMAN_MAX_OXYLOSS 3 //Defines how much oxyloss humans can get per tick. No air applies this value. /mob/living/carbon/human - var - oxygen_alert = 0 - toxins_alert = 0 - fire_alert = 0 + var/oxygen_alert = 0 + var/toxins_alert = 0 + var/fire_alert = 0 - temperature_alert = 0 + var/temperature_alert = 0 // used to do some stuff only on every X life tick - life_tick = 0 - isbreathing = 1 - holdbreath = 0 - lyingcheck = 0 - buckle_check = 0 + var/life_tick = 0 + var/isbreathing = 1 + var/holdbreath = 0 + var/lyingcheck = 0 + var/buckle_check = 0 /mob/living/carbon/human/Life() set invisibility = 0 diff --git a/code/modules/mob/living/parasite/meme.dm b/code/modules/mob/living/parasite/meme.dm index c3c65b9911f..9a246143412 100644 --- a/code/modules/mob/living/parasite/meme.dm +++ b/code/modules/mob/living/parasite/meme.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + // === MEMETIC ANOMALY === // ======================= @@ -18,8 +20,7 @@ var/global/const/MAXIMUM_MEME_POINTS = 750 mob/living/carbon/var/list/parasites = list() mob/living/parasite - var - mob/living/carbon/host // the host that this parasite occupies + var/mob/living/carbon/host // the host that this parasite occupies Login() ..() @@ -592,4 +593,4 @@ mob/living/parasite/check_contents_for(t) mob/living/parasite/check_contents_for_reagent(t) if(!host) return 0 - return host.check_contents_for_reagent(t) \ No newline at end of file + return host.check_contents_for_reagent(t) diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm index 8f238e23135..49a0baadd26 100644 --- a/code/modules/mob/living/silicon/pai/recruit.dm +++ b/code/modules/mob/living/silicon/pai/recruit.dm @@ -1,15 +1,16 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + // Recruiting observers to play as pAIs var/datum/paiController/paiController // Global handler for pAI candidates /datum/paiCandidate - var - name - key - description - role - comments - ready = 0 + var/name + var/key + var/description + var/role + var/comments + var/ready = 0 @@ -217,4 +218,4 @@ var/datum/paiController/paiController // Global handler for pAI candidates if(response == "Yes") recruitWindow(C.mob) else if (response == "Never for this round") - C.be_pai = 0 \ No newline at end of file + C.be_pai = 0 diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 2962b346929..382a03930ce 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/robot_module name = "robot module" icon = 'module.dmi' @@ -5,10 +7,9 @@ w_class = 100.0 item_state = "electronic" flags = FPRINT|TABLEPASS | CONDUCT - var - list/modules = list() - obj/item/emag = null - obj/item/borg/upgrade/jetpack = null + var/list/modules = list() + var/obj/item/emag = null + var/obj/item/borg/upgrade/jetpack = null emp_act(severity) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index b84e24a47f3..57f08b32062 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + // fun if you want to typecast humans/monkeys/etc without writing long path-filled lines. /proc/ishuman(A) @@ -212,10 +214,10 @@ proc/hasorgans(A) proc/slur(phrase) phrase = html_decode(phrase) - var - leng=lentext(phrase) - counter=lentext(phrase) - newphrase="";newletter="" + var/leng=lentext(phrase) + var/counter=lentext(phrase) + var/newphrase="" + var/newletter="" while(counter>=1) newletter=copytext(phrase,(leng-counter)+1,(leng-counter)+2) if(rand(1,3)==3) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 9cda9325cf4..b9a78017fc6 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /mob/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) if(air_group || (height==0)) return 1 @@ -224,7 +226,6 @@ if(isAI(mob)) return AIMove(n,direct,mob) - if(mob.monkeyizing) return//This is sota the goto stop mobs from moving var if(mob.incorporeal_move)//Move though walls Process_Incorpmove(direct) diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index c5f213f906d..431230e350b 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -1,10 +1,11 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /mob/new_player - var - datum/preferences/preferences = null - ready = 0 - spawning = 0//Referenced when you want to delete the new_player later on in the code. - totalPlayers = 0 //Player counts for the Lobby tab - totalPlayersReady = 0 + var/datum/preferences/preferences = null + var/ready = 0 + var/spawning = 0//Referenced when you want to delete the new_player later on in the code. + var/totalPlayers = 0 //Player counts for the Lobby tab + var/totalPlayersReady = 0 invisibility = 101 diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index 97f7f199070..615d09231cb 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + #define UI_OLD 0 #define UI_NEW 1 @@ -29,18 +31,17 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set "infested monkey" = ispath(text2path("/datum/game_mode/monkey")), ) */ -var/const - BE_TRAITOR =(1<<0) - BE_OPERATIVE =(1<<1) - BE_CHANGELING=(1<<2) - BE_WIZARD =(1<<3) - BE_MALF =(1<<4) - BE_REV =(1<<5) - BE_ALIEN =(1<<6) - BE_CULTIST =(1<<7) - BE_MONKEY =(1<<8) - BE_PAI =(1<<9) - BE_MEME =(1<<10) +var/const/BE_TRAITOR =(1<<0) +var/const/BE_OPERATIVE =(1<<1) +var/const/BE_CHANGELING=(1<<2) +var/const/BE_WIZARD =(1<<3) +var/const/BE_MALF =(1<<4) +var/const/BE_REV =(1<<5) +var/const/BE_ALIEN =(1<<6) +var/const/BE_CULTIST =(1<<7) +var/const/BE_MONKEY =(1<<8) +var/const/BE_PAI =(1<<9) +var/const/BE_MEME =(1<<10) @@ -1093,4 +1094,4 @@ datum/preferences character.disabilities = disabilities #undef UI_OLD -#undef UI_NEW \ No newline at end of file +#undef UI_NEW diff --git a/code/modules/mob/organ/organ.dm b/code/modules/mob/organ/organ.dm index 24d7e967c27..7e7d657abae 100644 --- a/code/modules/mob/organ/organ.dm +++ b/code/modules/mob/organ/organ.dm @@ -1,10 +1,11 @@ -/datum/organ - var - name = "organ" - mob/living/carbon/human/owner = null +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 - list/datum/autopsy_data/autopsy_data = list() - list/trace_chemicals = list() // traces of chemicals in the organ, +/datum/organ + var/name = "organ" + var/mob/living/carbon/human/owner = null + + var/list/datum/autopsy_data/autopsy_data = list() + var/list/trace_chemicals = list() // traces of chemicals in the organ, // links chemical IDs to number of ticks for which they'll stay in the blood @@ -15,12 +16,11 @@ return 0 /datum/autopsy_data - var - weapon = null - pretend_weapon = null - damage = 0 - hits = 0 - time_inflicted = 0 + var/weapon = null + var/pretend_weapon = null + var/damage = 0 + var/hits = 0 + var/time_inflicted = 0 proc/copy() var/datum/autopsy_data/W = new() @@ -36,38 +36,37 @@ ****************************************************/ /datum/organ/external name = "external" - var - icon_name = null - body_part = null + var/icon_name = null + var/body_part = null - damage_state = "00" - brute_dam = 0 - burn_dam = 0 - bandaged = 0 - max_damage = 0 - max_size = 0 - tmp/list/obj/item/weapon/implant/implant = list() + var/damage_state = "00" + var/brute_dam = 0 + var/burn_dam = 0 + var/bandaged = 0 + var/max_damage = 0 + var/max_size = 0 + var/tmp/list/obj/item/weapon/implant/implant = list() - display_name - tmp/list/wounds = list() - tmp/bleeding = 0 - tmp/perma_injury = 0 - tmp/perma_dmg = 0 - tmp/broken = 0 - tmp/destroyed = 0 - tmp/destspawn = 0 //Has it spawned the broken limb? - tmp/gauzed = 0 //Has the missing limb been patched? - tmp/robot = 0 //ROBOT ARM MAN! - tmp/cutaway = 0 //First part of limb reattachment. - tmp/attachable = 0 //Can limb be attached? - min_broken_damage = 30 - datum/organ/external/parent - list/datum/organ/external/children - damage_msg = "\red You feel a intense pain" + var/display_name + var/tmp/list/wounds = list() + var/tmp/bleeding = 0 + var/tmp/perma_injury = 0 + var/tmp/perma_dmg = 0 + var/tmp/broken = 0 + var/tmp/destroyed = 0 + var/tmp/destspawn = 0 //Has it spawned the broken limb? + var/tmp/gauzed = 0 //Has the missing limb been patched? + var/tmp/robot = 0 //ROBOT ARM MAN! + var/tmp/cutaway = 0 //First part of limb reattachment. + var/tmp/attachable = 0 //Can limb be attached? + var/min_broken_damage = 30 + var/datum/organ/external/parent + var/list/datum/organ/external/children + var/damage_msg = "\red You feel a intense pain" - var/open = 0 - var/stage = 0 - var/wound = 0 + var/var/open = 0 + var/var/stage = 0 + var/var/wound = 0 New(mob/living/carbon/H) ..(H) @@ -602,4 +601,4 @@ INTERNAL ORGANS ****************************************************/ /datum/organ/internal - name = "internal" \ No newline at end of file + name = "internal" diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 9a6910be38a..7455c7ad675 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/paper name = "paper" gender = PLURAL @@ -10,22 +12,20 @@ layer = 4 pressure_resistance = 1 - var - info //What's actually written on the paper. - info_links //A different version of the paper which includes html links at fields and EOF - stamps //The (text for the) stamps on the paper. - fields //Amount of user created fields - list/stamped - see_face = 1 - body_parts_covered = HEAD - protective_temperature = 0 - rigged = 0 - spam_flag = 0 + var/info //What's actually written on the paper. + var/info_links //A different version of the paper which includes html links at fields and EOF + var/stamps //The (text for the) stamps on the paper. + var/fields //Amount of user created fields + var/list/stamped + var/see_face = 1 + var/body_parts_covered = HEAD + var/protective_temperature = 0 + var/rigged = 0 + var/spam_flag = 0 - const - deffont = "Verdana" - signfont = "Times New Roman" - crayonfont = "Comic Sans MS" + const/ar/deffont = "Verdana" + const/ar/signfont = "Times New Roman" + const/ar/crayonfont = "Comic Sans MS" New() ..() @@ -285,4 +285,4 @@ user << "\blue You stamp the paper with your rubber stamp." add_fingerprint(user) - return \ No newline at end of file + return diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index 6419d16a04e..0f833d809f7 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/paper_bin name = "paper bin" icon = 'bureaucracy.dmi' @@ -8,10 +10,9 @@ throw_speed = 3 throw_range = 7 pressure_resistance = 10 - var - amount = 30 //How much paper is in the bin. - list/papers = new/list() //List of papers put in the bin for reference. - sealed = 1 //If it's brandnew and unopened, it's sealed. + var/amount = 30 //How much paper is in the bin. + var/list/papers = new/list() //List of papers put in the bin for reference. + var/sealed = 1 //If it's brandnew and unopened, it's sealed. MouseDrop(mob/user as mob) if ((user == usr && (!( usr.restrained() ) && (!( usr.stat ) && (usr.contents.Find(src) || in_range(src, usr)))))) @@ -86,4 +87,4 @@ if(amount < 1) icon_state = "paper_bin0" else - icon_state = "paper_bin1" \ No newline at end of file + icon_state = "paper_bin1" diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index dfbf6b8dd32..3f0fbb7b3ce 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/machinery/photocopier name = "Photocopier" icon = 'library.dmi' @@ -8,11 +10,10 @@ idle_power_usage = 30 active_power_usage = 200 power_channel = EQUIP - var - obj/item/weapon/paper/copy = null //what's in the copier! - copies = 1 //how many copies to print! - toner = 30 //how much toner is left! woooooo~ - maxcopies = 10 //how many copies can be copied at once- idea shamelessly stolen from bs12's copier! + var/obj/item/weapon/paper/copy = null //what's in the copier! + var/copies = 1 //how many copies to print! + var/toner = 30 //how much toner is left! woooooo~ + var/maxcopies = 10 //how many copies can be copied at once- idea shamelessly stolen from bs12's copier! attack_ai(mob/user as mob) return src.attack_hand(user) @@ -132,4 +133,4 @@ /obj/item/device/toner name = "toner cartridge" - icon_state = "tonercartridge" \ No newline at end of file + icon_state = "tonercartridge" diff --git a/code/modules/power/antimatter/computer.dm b/code/modules/power/antimatter/computer.dm index 31e52fc5b60..6e8d49cc9ef 100644 --- a/code/modules/power/antimatter/computer.dm +++ b/code/modules/power/antimatter/computer.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/machinery/computer/am_engine name = "Antimatter Engine Console" icon = 'stationobjs.dmi' @@ -8,10 +10,9 @@ var/obj/machinery/power/am_engine/engine/connected_E = null var/obj/machinery/power/am_engine/injector/connected_I = null var/state = STATE_DEFAULT - var/const - STATE_DEFAULT = 1 - STATE_INJECTOR = 2 - STATE_ENGINE = 3 + var/const/STATE_DEFAULT = 1 + var/const/STATE_INJECTOR = 2 + var/const/STATE_ENGINE = 3 /obj/machinery/computer/am_engine/New() ..() diff --git a/code/modules/power/pacman2.dm b/code/modules/power/pacman2.dm index 98d3eb1e8fa..d6b9c5d3d67 100644 --- a/code/modules/power/pacman2.dm +++ b/code/modules/power/pacman2.dm @@ -1,14 +1,15 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + //Baseline portable generator. Has all the default handling. Not intended to be used on it's own (since it generates unlimited power). /obj/machinery/power/port_gen/pacman2 name = "Pacman II" desc = "P.A.C.M.A.N. type II portable generator. Uses liquid plasma as a fuel source." power_gen = 4500 - var - obj/item/weapon/tank/plasma/P = null - board_path = "/obj/item/weapon/circuitboard/pacman2" - emagged = 0 - heat = 0 + var/obj/item/weapon/tank/plasma/P = null + var/board_path = "/obj/item/weapon/circuitboard/pacman2" + var/emagged = 0 + var/heat = 0 /* process() if(P) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index bf2875e3051..1b1b6e612a1 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /* new portable generator - work in progress /obj/machinery/power/port_gen @@ -49,12 +51,11 @@ display round(lastgen) and plasmatank amount directwired = 1 use_power = 0 - var - active = 0 - power_gen = 5000 - open = 0 - recent_fault = 0 - power_output = 1 + var/active = 0 + var/power_gen = 5000 + var/open = 0 + var/recent_fault = 0 + var/power_output = 1 proc HasFuel() //Placeholder for fuel check. @@ -98,14 +99,13 @@ display round(lastgen) and plasmatank amount /obj/machinery/power/port_gen/pacman name = "P.A.C.M.A.N.-type Portable Generator" - var - sheets = 0 - max_sheets = 100 - sheet_path = /obj/item/stack/sheet/plasma - board_path = "/obj/item/weapon/circuitboard/pacman" - sheet_left = 0 // How much is left of the sheet - time_per_sheet = 10 - heat = 0 + var/sheets = 0 + var/max_sheets = 100 + var/sheet_path = /obj/item/stack/sheet/plasma + var/board_path = "/obj/item/weapon/circuitboard/pacman" + var/sheet_left = 0 // How much is left of the sheet + var/time_per_sheet = 10 + var/heat = 0 New() ..() @@ -322,4 +322,4 @@ display round(lastgen) and plasmatank amount time_per_sheet = 30 board_path = "/obj/item/weapon/circuitboard/pacman/industrial" overheat() - explosion(src.loc, 4, 4, 4, -1) \ No newline at end of file + explosion(src.loc, 4, 4, 4, -1) diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index 8a4514cfee7..82f1f4e3dae 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/machinery/power/rad_collector name = "Radiation Collector Array" @@ -9,12 +11,11 @@ directwired = 1 req_access = list(access_engine) // use_power = 0 - var - obj/item/weapon/tank/plasma/P = null - last_power = 0 - active = 0 - locked = 0 - drainratio = 1 + var/obj/item/weapon/tank/plasma/P = null + var/last_power = 0 + var/active = 0 + var/locked = 0 + var/drainratio = 1 process() if(P) diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index 1e49b8c2ca8..4cfcd3bbaa4 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/machinery/containment_field name = "Containment Field" desc = "An energy field." @@ -7,9 +9,8 @@ density = 0 unacidable = 1 use_power = 0 - var - obj/machinery/field_generator/FG1 = null - obj/machinery/field_generator/FG2 = null + var/obj/machinery/field_generator/FG1 = null + var/obj/machinery/field_generator/FG2 = null New() spawn(1) @@ -92,4 +93,4 @@ return 0 FG1 = master1 FG2 = master2 - return 1 \ No newline at end of file + return 1 diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index e8ce8d4a364..19c20412b0e 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/machinery/emitter name = "Emitter" desc = "A heavy duty industrial laser" @@ -11,16 +13,15 @@ idle_power_usage = 10 active_power_usage = 300 - var - frequency = 1 - active = 0 - fire_delay = 100 - last_shot = 0 - shot_number = 0 - state = 0 - locked = 0 - energy = 0 - mega_energy = 0 + var/frequency = 1 + var/active = 0 + var/fire_delay = 100 + var/last_shot = 0 + var/shot_number = 0 + var/state = 0 + var/locked = 0 + var/energy = 0 + var/mega_energy = 0 verb/rotate() @@ -207,4 +208,4 @@ power_change() ..() update_icon() - return \ No newline at end of file + return diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index ccefe0cf57a..1525d0adfb4 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + var/containment_fail_announced = 0 /* @@ -20,17 +22,16 @@ field_generator power level display anchored = 0 density = 1 use_power = 0 - var - const/num_power_levels = 6 // Total number of power level icon has - Varedit_start = 0 - Varpower = 0 - active = 0 - power = 20 // Current amount of power - state = 0 - warming_up = 0 - list/obj/machinery/containment_field/fields - list/obj/machinery/field_generator/connected_gens - clean_up = 0 + var/const/num_power_levels = 6 // Total number of power level icon has + var/Varedit_start = 0 + var/Varpower = 0 + var/active = 0 + var/power = 20 // Current amount of power + var/state = 0 + var/warming_up = 0 + var/list/obj/machinery/containment_field/fields + var/list/obj/machinery/field_generator/connected_gens + var/clean_up = 0 update_icon() diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm index 9cf20a8f394..bd2cbc5b371 100644 --- a/code/modules/power/singularity/generator.dm +++ b/code/modules/power/singularity/generator.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /////SINGULARITY SPAWNER /obj/machinery/the_singularitygen/ @@ -8,8 +10,7 @@ anchored = 0 density = 1 use_power = 0 - var - energy = 0 + var/energy = 0 //////////////////////Singularity gen START @@ -56,4 +57,4 @@ for (var/obj/X in orange(4,T)) //TODO: do we need requirement to singularity be actually _surrounded_ by field? if(istype(X, /obj/machinery/containment_field) || istype(X, /obj/machinery/shieldwall)) checkpointC ++ - return checkpointC >= 20 \ No newline at end of file + return checkpointC >= 20 diff --git a/code/modules/power/singularity/particle_accelerator/particle.dm b/code/modules/power/singularity/particle_accelerator/particle.dm index a76077f58e4..459159f8fcd 100644 --- a/code/modules/power/singularity/particle_accelerator/particle.dm +++ b/code/modules/power/singularity/particle_accelerator/particle.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/effect/accelerated_particle name = "Accelerated Particles" desc = "Small things moving very fast." @@ -5,17 +7,16 @@ icon_state = "particle"//Need a new icon for this anchored = 1 density = 1 - var - movement_range = 10 - energy = 10 //energy in eV - mega_energy = 0 //energy in MeV - frequency = 1 - ionizing = 0 - particle_type - additional_particles = 0 - turf/target - turf/source - movetotarget = 1 + var/movement_range = 10 + var/energy = 10 //energy in eV + var/mega_energy = 0 //energy in MeV + var/frequency = 1 + var/ionizing = 0 + var/particle_type + var/additional_particles = 0 + var/turf/target + var/turf/source + var/movetotarget = 1 weak movement_range = 8 energy = 5 diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm index ed1f0b3e193..811d4ebde5b 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /*Composed of 7 parts 3 Particle emitters proc @@ -62,13 +64,12 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin icon_state = "none" anchored = 0 density = 1 - var - obj/machinery/particle_accelerator/control_box/master = null - construction_state = 0 - reference = null - powered = 0 - strength = null - desc_holder = null + var/obj/machinery/particle_accelerator/control_box/master = null + var/construction_state = 0 + var/reference = null + var/powered = 0 + var/strength = null + var/desc_holder = null end_cap name = "Alpha Particle Generation Array" @@ -291,13 +292,12 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin use_power = 0 idle_power_usage = 0 active_power_usage = 0 - var - construction_state = 0 - active = 0 - reference = null - powered = null - strength = 0 - desc_holder = null + var/construction_state = 0 + var/active = 0 + var/reference = null + var/powered = null + var/strength = 0 + var/desc_holder = null verb/rotate() @@ -440,4 +440,4 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin use_power = 1 update_icon() return 1 - return 0 \ No newline at end of file + return 0 diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm index 758a27eb4ac..cb8868dc345 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/machinery/particle_accelerator/control_box name = "Particle Accelerator Control Computer" desc = "This controls the density of the particles." @@ -11,10 +13,9 @@ active_power_usage = 10000 construction_state = 0 active = 0 - var - list/obj/structure/particle_accelerator/connected_parts - assembled = 0 - parts = null + var/list/obj/structure/particle_accelerator/connected_parts + var/assembled = 0 + var/parts = null New() diff --git a/code/modules/power/singularity/particle_accelerator/particle_emitter.dm b/code/modules/power/singularity/particle_accelerator/particle_emitter.dm index 509a1ed0c14..1a338c7e00f 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_emitter.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_emitter.dm @@ -1,11 +1,12 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/structure/particle_accelerator/particle_emitter name = "EM Containment Grid" desc_holder = "This launchs the Alpha particles, might not want to stand near this end." icon = 'particle_accelerator.dmi' icon_state = "none" - var - fire_delay = 50 - last_shot = 0 + var/fire_delay = 50 + var/last_shot = 0 center icon_state = "emitter_center" @@ -46,4 +47,4 @@ if(A) A.dir = src.dir return 1 - return 0 \ No newline at end of file + return 0 diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 668b969d3f2..bf31dce135b 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + var/global/list/uneatable = list( /turf/space, /obj/effect/overlay, @@ -15,23 +17,22 @@ var/global/list/uneatable = list( layer = 6 unacidable = 1 //Don't comment this out. use_power = 0 - var - current_size = 1 - allowed_size = 1 - contained = 1 //Are we going to move around? - energy = 100 //How strong are we? - dissipate = 1 //Do we lose energy over time? - dissipate_delay = 10 - dissipate_track = 0 - dissipate_strength = 1 //How much energy do we lose? - move_self = 1 //Do we move on our own? - grav_pull = 4 //How many tiles out do we pull? - consume_range = 0 //How many tiles out do we eat - event_chance = 15 //Prob for event each tick - target = null //its target. moves towards the target if it has one - last_failed_movement = 0//Will not move in the same dir if it couldnt before, will help with the getting stuck on fields thing - teleport_del = 0 - last_warning + var/current_size = 1 + var/allowed_size = 1 + var/contained = 1 //Are we going to move around? + var/energy = 100 //How strong are we? + var/dissipate = 1 //Do we lose energy over time? + var/dissipate_delay = 10 + var/dissipate_track = 0 + var/dissipate_strength = 1 //How much energy do we lose? + var/move_self = 1 //Do we move on our own? + var/grav_pull = 4 //How many tiles out do we pull? + var/consume_range = 0 //How many tiles out do we eat + var/event_chance = 15 //Prob for event each tick + var/target = null //its target. moves towards the target if it has one + var/last_failed_movement = 0//Will not move in the same dir if it couldnt before, will help with the getting stuck on fields thing + var/teleport_del = 0 + var/last_warning New(loc, var/starting_energy = 50, var/temp = 0) //CARN: admin-alert for chuckle-fuckery. @@ -552,4 +553,4 @@ var/global/list/uneatable = list( consume(X) if(defer_powernet_rebuild != 2) defer_powernet_rebuild = 0 - return \ No newline at end of file + return diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 462755b9be1..9cbbbf4fa2d 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + #define SOLARGENRATE 1500 /obj/machinery/power/solar name = "solar panel" @@ -10,15 +12,14 @@ use_power = 0 idle_power_usage = 0 active_power_usage = 0 - var - health = 10 - id = 1 - obscured = 0 - sunfrac = 0 - adir = SOUTH - ndir = SOUTH - turn_angle = 0 - obj/machinery/power/solar_control/control = null + var/health = 10 + var/id = 1 + var/obscured = 0 + var/sunfrac = 0 + var/adir = SOUTH + var/ndir = SOUTH + var/turn_angle = 0 + var/obj/machinery/power/solar_control/control = null proc healthcheck() updateicon() @@ -162,15 +163,14 @@ use_power = 1 idle_power_usage = 5 active_power_usage = 20 - var - id = 1 - cdir = 0 - gen = 0 - lastgen = 0 - track = 2 // 0= off 1=timed 2=auto (tracker) - trackrate = 600 // 300-900 seconds - trackdir = 1 // 0 =CCW, 1=CW - nexttime = 0 + var/id = 1 + var/cdir = 0 + var/gen = 0 + var/lastgen = 0 + var/track = 2 // 0= off 1=timed 2=auto (tracker) + var/trackrate = 600 // 300-900 seconds + var/trackdir = 1 // 0 =CCW, 1=CW + var/nexttime = 0 proc updateicon() tracker_update(var/angle) diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index a8802a7f1a3..9b7a6715c3a 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/ammo_casing name = "bullet casing" desc = "A bullet casing." @@ -6,10 +8,9 @@ flags = FPRINT | TABLEPASS | CONDUCT | ONBELT throwforce = 1 w_class = 1.0 - var - caliber = "" //Which kind of guns it can be loaded into - projectile_type = ""//The bullet type to create when New() is called - obj/item/projectile/BB = null //The loaded bullet + var/caliber = "" //Which kind of guns it can be loaded into + var/projectile_type = ""//The bullet type to create when New() is called + var/obj/item/projectile/BB = null //The loaded bullet New() @@ -35,11 +36,10 @@ w_class = 1.0 throw_speed = 4 throw_range = 10 - var - list/stored_ammo = list() - ammo_type = "/obj/item/ammo_casing" - max_ammo = 7 - multiple_sprites = 0 + var/list/stored_ammo = list() + var/ammo_type = "/obj/item/ammo_casing" + var/max_ammo = 7 + var/multiple_sprites = 0 New() diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 5e70bb37411..5e51c673b54 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -1,15 +1,16 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/gun/energy icon_state = "energy" name = "energy gun" desc = "A basic energy-based gun." fire_sound = 'Taser.ogg' - var - obj/item/weapon/cell/power_supply //What type of power cell this uses - charge_cost = 100 //How much energy is needed to fire. - cell_type = "/obj/item/weapon/cell" - projectile_type = "/obj/item/projectile/energy" - modifystate + var/obj/item/weapon/cell/power_supply //What type of power cell this uses + var/charge_cost = 100 //How much energy is needed to fire. + var/cell_type = "/obj/item/weapon/cell" + var/projectile_type = "/obj/item/projectile/energy" + var/modifystate emp_act(severity) power_supply.use(round(power_supply.maxcharge / severity)) diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 8df4b8bb451..dc32ba1f085 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/gun/energy/gun icon_state = "energystun100" item_state = "energystun100" @@ -10,8 +12,7 @@ origin_tech = "combat=3;magnets=2" modifystate = "energystun" - var - mode = 0 //0 = stun, 1 = kill + var/mode = 0 //0 = stun, 1 = kill attack_self(mob/living/user as mob) diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 25b9144fafe..385e1677194 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/gun/projectile desc = "A classic revolver. Uses 357 ammo" name = "revolver" @@ -8,12 +10,11 @@ m_amt = 1000 force = 10 //Pistol whipp'n good. (It was frigging SIXTY on pre-goon code) - var - ammo_type = "/obj/item/ammo_casing/a357" - list/loaded = list() - max_shells = 7 - load_method = 0 //0 = Single shells or quick loader, 1 = box, 2 = magazine - obj/item/ammo_magazine/empty_mag = null + var/ammo_type = "/obj/item/ammo_casing/a357" + var/list/loaded = list() + var/max_shells = 7 + var/load_method = 0 //0 = Single shells or quick loader, 1 = box, 2 = magazine + var/obj/item/ammo_magazine/empty_mag = null New() diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 72daf9dc61a..559ac2ae015 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /obj/item/weapon/gun/projectile/shotgun/pump name = "shotgun" desc = "Useful for sweeping alleys." @@ -10,10 +12,9 @@ caliber = "shotgun" origin_tech = "combat=4;materials=2" ammo_type = "/obj/item/ammo_casing/shotgun/beanbag" - var - recentpump = 0 // to prevent spammage - pumped = 0 - obj/item/ammo_casing/current_shell = null + var/recentpump = 0 // to prevent spammage + var/pumped = 0 + var/obj/item/ammo_casing/current_shell = null load_into_chamber() @@ -128,4 +129,4 @@ flags |= ONBELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) name = "sawn-off shotgun" desc = "Omar's coming!" - user << "You shorten the barrel of \the [src]!" \ No newline at end of file + user << "You shorten the barrel of \the [src]!" diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 9e223da1b16..7b119584bf6 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /* #define BRUTE "brute" #define BURN "burn" @@ -19,33 +21,32 @@ flags = FPRINT | TABLEPASS pass_flags = PASSTABLE mouse_opacity = 0 - var - bumped = 0 //Prevents it from hitting more than one guy at once - def_zone = "" //Aiming at - mob/firer = null//Who shot it - silenced = 0 //Attack message - yo = null - xo = null - current = null - turf/original = null // the original turf clicked - turf/starting = null // the projectile's starting turf + var/bumped = 0 //Prevents it from hitting more than one guy at once + var/def_zone = "" //Aiming at + var/mob/firer = null//Who shot it + var/silenced = 0 //Attack message + var/yo = null + var/xo = null + var/current = null + var/turf/original = null // the original turf clicked + var/turf/starting = null // the projectile's starting turf - p_x = 16 - p_y = 16 // the pixel location of the tile that the player clicked. Default is the center + var/p_x = 16 + var/p_y = 16 // the pixel location of the tile that the player clicked. Default is the center - damage = 10 - damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE are the only things that should be in here - nodamage = 0 //Determines if the projectile will skip any damage inflictions - flag = "bullet" //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb - projectile_type = "/obj/item/projectile" + var/damage = 10 + var/damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE are the only things that should be in here + var/nodamage = 0 //Determines if the projectile will skip any damage inflictions + var/flag = "bullet" //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb + var/projectile_type = "/obj/item/projectile" //Effects - stun = 0 - weaken = 0 - paralyze = 0 - irradiate = 0 - stutter = 0 - eyeblur = 0 - drowsy = 0 + var/stun = 0 + var/weaken = 0 + var/paralyze = 0 + var/irradiate = 0 + var/stutter = 0 + var/eyeblur = 0 + var/drowsy = 0 proc/on_hit(var/atom/target, var/blocked = 0) @@ -154,9 +155,8 @@ invisibility = 101 //Nope! Can't see me! yo = null xo = null - var - target = null - result = 0 //To pass the message back to the gun. + var/target = null + var/result = 0 //To pass the message back to the gun. Bump(atom/A as mob|obj|turf|area) if(A == firer) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 80ec3ea55e6..9a3afaee3a0 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + // Disposal bin // Holds items for disposal into pipe system // Draws air from turf, gradually charges internal reservoir @@ -1076,17 +1078,16 @@ desc = "An underfloor disposal pipe with a package sorting mechanism." icon_state = "pipe-j1s" - var - list/sortType = list() - list/backType = list() - backsort = 0 //For sending disposal packets to upstream destinations. - mailsort = 0 - posdir = 0 - negdir = 0 - sortdir = 0 - service = 0 - screen = 0 - icon_state_old = null + var/list/sortType = list() + var/list/backType = list() + var/backsort = 0 //For sending disposal packets to upstream destinations. + var/mailsort = 0 + var/posdir = 0 + var/negdir = 0 + var/sortdir = 0 + var/service = 0 + var/screen = 0 + var/icon_state_old = null nonsorting NE @@ -1249,11 +1250,10 @@ name = "\improper Package Discrimination Unit" desc = "An underfloor disposal pipe that is racist against packages." icon_state = "pipe-j1s" - var - posdir = 0 - negdir = 0 - sortdir = 0 - screen = 0 + var/posdir = 0 + var/negdir = 0 + var/sortdir = 0 + var/screen = 0 New() diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index f99231a3d35..16edac90880 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 + /*///////////////Circuit Imprinter (By Darem)//////////////////////// Used to print new circuit boards (for computers and similar systems) and AI modules. Each circuit board pattern are stored in a /datum/desgin on the linked R&D console. You can then print them out in a fasion similar to a regular lathe. However, instead of @@ -8,11 +10,10 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). name = "Circuit Imprinter" icon_state = "circuit_imprinter" flags = OPENCONTAINER - var - g_amount = 0 - gold_amount = 0 - diamond_amount = 0 - max_material_amount = 75000.0 + var/g_amount = 0 + var/gold_amount = 0 + var/diamond_amount = 0 + var/max_material_amount = 75000.0 New() ..() diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 9470049029d..e3cae5c9f63 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + /*************************************************************** ** Design Datums ** ** All the data for building stuff and tracking reliability. ** @@ -39,18 +41,17 @@ other types of metals and chemistry for reagents). datum design //Datum for object designs, used in construction - var - name = "Name" //Name of the created object. - desc = "Desc" //Description of the created object. - id = "id" //ID of the created object for easy refernece. Alphanumeric, lower-case, no symbols - list/req_tech = list() //IDs of that techs the object originated from and the minimum level requirements. - reliability_mod = 0 //Reliability modifier of the device at it's starting point. - reliability_base = 100 //Base reliability of a device before modifiers. - reliability = 100 //Reliability of the device. - build_type = null //Flag as to what kind machine the design is built in. See defines. - list/materials = list() //List of materials. Format: "id" = amount. - build_path = "" //The file path of the object that gets created - locked = 0 //If true it will spawn inside a lockbox with currently sec access + var/name = "Name" //Name of the created object. + var/desc = "Desc" //Description of the created object. + var/id = "id" //ID of the created object for easy refernece. Alphanumeric, lower-case, no symbols + var/list/req_tech = list() //IDs of that techs the object originated from and the minimum level requirements. + var/reliability_mod = 0 //Reliability modifier of the device at it's starting point. + var/reliability_base = 100 //Base reliability of a device before modifiers. + var/reliability = 100 //Reliability of the device. + var/build_type = null //Flag as to what kind machine the design is built in. See defines. + var/list/materials = list() //List of materials. Format: "id" = amount. + var/build_path = "" //The file path of the object that gets created + var/locked = 0 //If true it will spawn inside a lockbox with currently sec access proc //A proc to calculate the reliability of a design based on tech levels and innate modifiers. diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index 5b120e5117a..2a108a49868 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + /* Destructive Analyzer @@ -8,9 +10,8 @@ Note: Must be placed within 3 tiles of the R&D Console /obj/machinery/r_n_d/destructive_analyzer name = "Destructive Analyzer" icon_state = "d_analyzer" - var - obj/item/weapon/loaded_item = null - decon_mod = 1 + var/obj/item/weapon/loaded_item = null + var/decon_mod = 1 New() ..() @@ -109,4 +110,4 @@ Note: Must be placed within 3 tiles of the R&D Console icon_state = "d20" g_amt = 5000 m_amt = 5000 - origin_tech = "materials=5;plasmatech=5;syndicate=5;programming=9"*/ \ No newline at end of file + origin_tech = "materials=5;plasmatech=5;syndicate=5;programming=9"*/ diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index c4da96269a8..bb7694a0268 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + /* Protolathe @@ -11,17 +13,16 @@ Note: Must be placed west/left of and R&D console to function. name = "Protolathe" icon_state = "protolathe" flags = OPENCONTAINER - var - max_material_storage = 100000 //All this could probably be done better with a list but meh. - m_amount = 0.0 - g_amount = 0.0 - gold_amount = 0.0 - silver_amount = 0.0 - plasma_amount = 0.0 - uranium_amount = 0.0 - diamond_amount = 0.0 - clown_amount = 0.0 - adamantine_amount = 0.0 + var/max_material_storage = 100000 //All this could probably be done better with a list but meh. + var/m_amount = 0.0 + var/g_amount = 0.0 + var/gold_amount = 0.0 + var/silver_amount = 0.0 + var/plasma_amount = 0.0 + var/uranium_amount = 0.0 + var/diamond_amount = 0.0 + var/clown_amount = 0.0 + var/adamantine_amount = 0.0 New() @@ -174,4 +175,4 @@ Note: Must be placed west/left of and R&D console to function. stack.use(amount) busy = 0 src.updateUsrDialog() - return \ No newline at end of file + return diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index a309ea13b39..32cbbe50dfc 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + /* Research and Development (R&D) Console @@ -32,18 +34,17 @@ won't update every console in existence) but it's more of a hassle to do. Also, /obj/machinery/computer/rdconsole name = "R&D Console" icon_state = "rdcomp" - var - datum/research/files //Stores all the collected research data. - obj/item/weapon/disk/tech_disk/t_disk = null //Stores the technology disk. - obj/item/weapon/disk/design_disk/d_disk = null //Stores the design disk. + var/datum/research/files //Stores all the collected research data. + var/obj/item/weapon/disk/tech_disk/t_disk = null //Stores the technology disk. + var/obj/item/weapon/disk/design_disk/d_disk = null //Stores the design disk. - obj/machinery/r_n_d/destructive_analyzer/linked_destroy = null //Linked Destructive Analyzer - obj/machinery/r_n_d/protolathe/linked_lathe = null //Linked Protolathe - obj/machinery/r_n_d/circuit_imprinter/linked_imprinter = null //Linked Circuit Imprinter + var/obj/machinery/r_n_d/destructive_analyzer/linked_destroy = null //Linked Destructive Analyzer + var/obj/machinery/r_n_d/protolathe/linked_lathe = null //Linked Protolathe + var/obj/machinery/r_n_d/circuit_imprinter/linked_imprinter = null //Linked Circuit Imprinter - screen = 1.0 //Which screen is currently showing. - id = 0 //ID of the computer (for server restrictions). - sync = 1 //If sync = 0, it doesn't show up on Server Control Console + var/screen = 1.0 //Which screen is currently showing. + var/id = 0 //ID of the computer (for server restrictions). + var/sync = 1 //If sync = 0, it doesn't show up on Server Control Console req_access = list(access_tox) //Data and setting manipulation requires scientist access. @@ -890,4 +891,4 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(linked_imprinter.diamond_amount >= 3750) dat += "(Max Sheets)" user << browse("Research and Development Console
[dat]", "window=rdconsole;size=575x400") - onclose(user, "rdconsole") \ No newline at end of file + onclose(user, "rdconsole") diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm index 43f92517bf2..a496c609a9c 100644 --- a/code/modules/research/rdmachines.dm +++ b/code/modules/research/rdmachines.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + //All devices that link into the R&D console fall into thise type for easy identification and some shared procs. @@ -6,17 +8,16 @@ density = 1 anchored = 1 use_power = 1 - var - busy = 0 - hacked = 0 - disabled = 0 - shocked = 0 - list/wires = list() - hack_wire - disable_wire - shock_wire - opened = 0 - obj/machinery/computer/rdconsole/linked_console + var/busy = 0 + var/hacked = 0 + var/disabled = 0 + var/shocked = 0 + var/list/wires = list() + var/hack_wire + var/disable_wire + var/shock_wire + var/opened = 0 + var/obj/machinery/computer/rdconsole/linked_console New() ..() @@ -102,4 +103,4 @@ if(src.shock_wire == temp_wire) src.shocked = !src.shocked src.shock(usr,50) - src.updateUsrDialog() \ No newline at end of file + src.updateUsrDialog() diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index 34ee129b99f..6815f4a46b0 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + /* General Explination: The research datum is the "folder" where all the research information is stored in a R&D console. It's also a holder for all the @@ -45,12 +47,11 @@ research holder datum. ***************************************************************/ /datum/research //Holder for all the existing, archived, and known tech. Individual to console. - var - list //Datum/tech go here. - possible_tech = list() //List of all tech in the game that players have access to (barring special events). - known_tech = list() //List of locally known tech. - possible_designs = list() //List of all designs (at base reliability). - known_designs = list() //List of available designs (at base reliability). + //Datum/tech go here. + var/list/possible_tech = list() //List of all tech in the game that players have access to (barring special events). + var/list/known_tech = list() //List of locally known tech. + var/list/possible_designs = list() //List of all designs (at base reliability). + var/list/known_designs = list() //List of available designs (at base reliability). New() //Insert techs into possible_tech here. Known_tech automatically updated. for(var/T in typesof(/datum/tech) - /datum/tech) @@ -170,12 +171,11 @@ research holder datum. datum tech //Datum of individual technologies. - var - name = "name" //Name of the technology. - desc = "description" //General description of what it does and what it makes. - id = "id" //An easily referenced ID. Must be alphanumeric, lower-case, and no symbols. - level = 1 //A simple number scale of the research level. Level 0 = Secret tech. - list/req_tech = list() //List of ids associated values of techs required to research this tech. "id" = # + var/name = "name" //Name of the technology. + var/desc = "description" //General description of what it does and what it makes. + var/id = "id" //An easily referenced ID. Must be alphanumeric, lower-case, and no symbols. + var/level = 1 //A simple number scale of the research level. Level 0 = Secret tech. + var/list/req_tech = list() //List of ids associated values of techs required to research this tech. "id" = # //Trunk Technologies (don't require any other techs and you start knowning them). @@ -268,4 +268,4 @@ datum var/datum/tech/stored New() src.pixel_x = rand(-5.0, 5) - src.pixel_y = rand(-5.0, 5) \ No newline at end of file + src.pixel_y = rand(-5.0, 5) diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index 604a31c5d57..3ce78f337fe 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -1,18 +1,18 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + /obj/machinery/r_n_d/server name = "R&D Server" icon_state = "server" - var - datum/research/files - health = 100 - list - id_with_upload = list() //List of R&D consoles with upload to server access. - id_with_download = list() //List of R&D consoles with download from server access. - id_with_upload_string = "" //String versions for easy editing in map editor. - id_with_download_string = "" - server_id = 0 - heat_gen = 100 - heating_power = 40000 - delay = 10 + var/datum/research/files + var/health = 100 + var/list/id_with_upload = list() //List of R&D consoles with upload to server access. + var/list/id_with_download = list() //List of R&D consoles with download from server access. + var/id_with_upload_string = "" //String versions for easy editing in map editor. + var/id_with_download_string = "" + var/server_id = 0 + var/heat_gen = 100 + var/heating_power = 40000 + var/delay = 10 req_access = list(access_rd) //Only the R&D can change server settings. New() @@ -159,13 +159,11 @@ /obj/machinery/computer/rdservercontrol name = "R&D Server Controller" icon_state = "rdcomp" - var - screen = 0 - obj/machinery/r_n_d/server/temp_server - list - servers = list() - consoles = list() - badmin = 0 + var/screen = 0 + var/obj/machinery/r_n_d/server/temp_server + var/list/servers = list() + var/list/consoles = list() + var/badmin = 0 Topic(href, href_list) if(..()) diff --git a/code/unused/beast/bodypart.dm b/code/unused/beast/bodypart.dm index 84b966c5d0a..88300f978d9 100644 --- a/code/unused/beast/bodypart.dm +++ b/code/unused/beast/bodypart.dm @@ -1,7 +1,8 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + datum/bodypart - var - name = "unidentified bodypart" - health = 50 + var/name = "unidentified bodypart" + var/health = 50 datum/bodypart/body health = 100 @@ -12,4 +13,4 @@ datum/bodypart/head datum/bodypart/limb datum/bodypart/tail - health = 15 \ No newline at end of file + health = 15 diff --git a/code/unused/spacecraft/manufacturing.dm b/code/unused/spacecraft/manufacturing.dm index 172ce5f519e..cfbc75c7c88 100644 --- a/code/unused/spacecraft/manufacturing.dm +++ b/code/unused/spacecraft/manufacturing.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + // Entirely unfinished. Mostly just bouncing ideas off the code. @@ -10,8 +12,7 @@ icon = 'mining.dmi' icon_state = "deploycrate" density = 1 - var - payload + var/payload /obj/deploycrate/attack_hand(mob/user as mob) switch(payload) @@ -30,20 +31,19 @@ icon_state = "sprayer" density = 1 anchored = 1 - var - payload - hacked = 0 - temp = 100 + var/payload + var/hacked = 0 + var/temp = 100 - usr_density = 5 - usr_lastupdate = 0 + var/usr_density = 5 + var/usr_lastupdate = 0 - time_started = 0 + var/time_started = 0 - points = 0 - totalpoints = 0 + var/points = 0 + var/totalpoints = 0 - state = 0 // 0 - Idle, 1 - Spraying, 2 - Done, 3 - Overheated + var/state = 0 // 0 - Idle, 1 - Spraying, 2 - Done, 3 - Overheated obj/machinery/nanosprayer/proc/update_temp() // 1 second : 1 degree @@ -102,7 +102,7 @@ obj/machinery/nanosprayer/attack_hand(user as mob) var/dat if(..()) return - dat += text("Core Temp: [temp]°C
") + dat += text("Core Temp: [temp]�C
") dat += text("Nanocloud Density: [usr_density] million
") dat += text("\[- / +\]
") if(payload) @@ -171,12 +171,11 @@ obj/machinery/nanosprayer/Topic(href, href_list) icon_state = "sprayer" density = 1 anchored = 1 - var - locked = 0 - closed = 0 - state = 0 // 0 - Idle, 1 - Smelt, 2 - Cool, 3 - Clean - slag = 0 - hacked = 0 + var/locked = 0 + var/closed = 0 + var/state = 0 // 0 - Idle, 1 - Smelt, 2 - Cool, 3 - Clean + var/slag = 0 + var/hacked = 0 obj/machinery/smelter/attack_hand(user as mob) var/dat @@ -239,11 +238,10 @@ obj/machinery/smelter/Topic(href, href_list) density = 1 anchored = 1 - var - gameticker - gameworld + var/gameticker + var/gameworld New() ..() gameticker = ticker - gameworld = world \ No newline at end of file + gameworld = world diff --git a/code/unused/spacecraft/shipcore.dm b/code/unused/spacecraft/shipcore.dm index 6bbaea164bf..d574a078dd8 100644 --- a/code/unused/spacecraft/shipcore.dm +++ b/code/unused/spacecraft/shipcore.dm @@ -1,3 +1,5 @@ +//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 + /obj/machinery/shipcore icon = 'craft.dmi' icon_state = "core" @@ -193,10 +195,9 @@ obj/machinery/shipcore/Topic(href, href_list) obj/machinery/ship_component name = "ship component" icon = 'craft.dmi' - var - obj/machinery/shipcore/core - required_draw = 0 - active = 1 + var/obj/machinery/shipcore/core + var/required_draw = 0 + var/active = 1 proc draw_power(var/n as num) @@ -213,10 +214,9 @@ obj/machinery/ship_component/thruster density = 1 opacity = 1 - var - cooldown = 600 // In 1/10th seconds - lastused - ready = 0 + var/cooldown = 600 // In 1/10th seconds + var/lastused + var/ready = 0 required_draw = 100 proc @@ -249,9 +249,8 @@ obj/machinery/ship_component/engine density = 1 opacity = 1 - var - charge = 1000 - capacity = 1000 + var/charge = 1000 + var/capacity = 1000 draw_power(var/n as num) if(charge >= n) @@ -346,4 +345,4 @@ obj/machinery/ship_component/control_panel if(!active) return src.active = 0 - src.anchored = 0 \ No newline at end of file + src.anchored = 0 From b68b5950a29c7b8d3c472a92eaaee7986eaeb74b Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 30 May 2012 15:05:14 +1000 Subject: [PATCH 03/20] No more wanted alerts when someone fails to post a feed story. --- code/game/machinery/newscaster.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 0670ee2f25a..0dc206a0085 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -444,9 +444,8 @@ var/list/obj/machinery/newscaster/allCasters = list() //list that will contain r FC.messages += newMsg // To avoid further confusion, this one for adds the message to all existing newscasters' channel_list's channels. break // Another for to go through newscasters is not needed. Due to the nature of submit_new_CHANNEL, every reference src.screen=4 // to a channel in ANY newscaster is the same. Editing one will edit them all. - - for(var/obj/machinery/newscaster/NEWSCASTER in allCasters) - NEWSCASTER.newsAlert(src.channel_name) + for(var/obj/machinery/newscaster/NEWSCASTER in allCasters) + NEWSCASTER.newsAlert(src.channel_name) src.updateUsrDialog() From 37125a42f98707c75436652425507f944d148328 Mon Sep 17 00:00:00 2001 From: Aryn Date: Wed, 30 May 2012 01:33:58 -0600 Subject: [PATCH 04/20] Fixed bugs and optimized ZAS. --- code/ZAS/FEA_gas_mixture.dm | 12 ++++++------ code/ZAS/Fire.dm | 3 ++- code/ZAS/Processing.dm | 22 ++++++++++++++++------ 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/code/ZAS/FEA_gas_mixture.dm b/code/ZAS/FEA_gas_mixture.dm index 24a6682381b..d6a0cf36ab2 100644 --- a/code/ZAS/FEA_gas_mixture.dm +++ b/code/ZAS/FEA_gas_mixture.dm @@ -47,7 +47,7 @@ datum temperature_archived - graphic_archived + graphic_archived = 0 fuel_burnt = 0 //FOR THE LOVE OF GOD PLEASE USE THIS PROC @@ -167,15 +167,15 @@ datum //Inputs: None //Outputs: 1 if graphic changed, 0 if unchanged - graphic = null + graphic = 0 if(toxins > MOLES_PLASMA_VISIBLE) - graphic = "plasma" + graphic = 1 else if(length(trace_gases)) var/datum/gas/sleeping_agent = locate(/datum/gas/sleeping_agent) in trace_gases if(sleeping_agent && (sleeping_agent.moles > 1)) - graphic = "sleeping_agent" + graphic = 2 else - graphic = null + graphic = 0 return graphic != graphic_archived @@ -188,7 +188,7 @@ datum var/reacting = 0 //set to 1 if a notable reaction occured (used by pipe_network) if(temperature > FIRE_MINIMUM_TEMPERATURE_TO_EXIST) - if(fire() > 0) + if(zburn(null) > 0) reacting = 1 return reacting diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index a45b7fa3b3b..7c2d2292a2a 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -210,7 +210,8 @@ obj/liquid_fuel turf/simulated/var/fire_protection = 0 //Protects newly extinguished tiles from being overrun again. -turf/simulated/proc/apply_fire_protection() +turf/proc/apply_fire_protection() +turf/simulated/apply_fire_protection() fire_protection = world.time datum/gas_mixture/proc/zburn(obj/liquid_fuel/liquid) diff --git a/code/ZAS/Processing.dm b/code/ZAS/Processing.dm index 7bd3c61ecf8..fb4ad4945c3 100644 --- a/code/ZAS/Processing.dm +++ b/code/ZAS/Processing.dm @@ -1,5 +1,6 @@ #define QUANTIZE(variable) (round(variable,0.0001)) var/explosion_halt = 0 +var/zone_share_percent = 8 zone proc/process() //Does rebuilding stuff. Not sure if used. @@ -52,20 +53,29 @@ zone //If there is space, air should flow out of the zone. //if(abs(air.pressure) > vsc.airflow_lightest_pressure) // AirflowSpace(src) - ShareSpace(air,total_space*(vsc.zone_share_percent/100)) + ShareSpace(air,total_space*(zone_share_percent/100)) //React the air here. - air.react(null,0) + //air.react(null,0) //Check the graphic. - var/check = air.check_tile_graphic() + + air.graphic = 0 + if(air.toxins > MOLES_PLASMA_VISIBLE) + air.graphic = 1 + else if(length(air.trace_gases)) + var/datum/gas/sleeping_agent = locate(/datum/gas/sleeping_agent) in air.trace_gases + if(sleeping_agent && (sleeping_agent.moles > 1)) + air.graphic = 2 + else + air.graphic = 0 //Only run through the individual turfs if there's reason to. - if(check || air.temperature > FIRE_MINIMUM_TEMPERATURE_TO_EXIST) + if(air.graphic != air.graphic_archived || air.temperature > FIRE_MINIMUM_TEMPERATURE_TO_EXIST) for(var/turf/simulated/S in contents) //Update overlays. - if(check) + if(air.graphic != air.graphic_archived) if(S.HasDoor(1)) S.update_visuals() else @@ -101,7 +111,7 @@ zone if(abs(air.total_moles - Z.air.total_moles) > 0.1 || abs(air.temperature - Z.air.temperature) > 0.1) //if(abs(Z.air.pressure - air.pressure) > vsc.airflow_lightest_pressure) // Airflow(src,Z) - ShareRatio(air,Z.air,connected_zones[Z]*(vsc.zone_share_percent/100)) + ShareRatio(air,Z.air,connected_zones[Z]*(zone_share_percent/100)) proc/ShareRatio(datum/gas_mixture/A, datum/gas_mixture/B, ratio) //Shares a specific ratio of gas between mixtures using simple weighted averages. From 354d023a4b3388426c3a7f5dc379d57c730fd8f5 Mon Sep 17 00:00:00 2001 From: Aryn Date: Wed, 30 May 2012 01:34:23 -0600 Subject: [PATCH 05/20] Optimized HUD images. --- baystation12.dme | 1 + code/datums/helper_datums/tension.dm | 5 +- code/game/gamemodes/cult/cult.dm | 17 ++++--- code/game/gamemodes/nuclear/nuclear.dm | 12 +++-- code/game/gamemodes/revolution/revolution.dm | 38 +++++++++------ code/game/mecha/medical/odysseus.dm | 13 ++--- code/modules/clothing/glasses/hud.dm | 47 ++++++++++--------- .../mob/living/carbon/human/hud_overlays.dm | 7 +++ code/modules/mob/living/carbon/human/life.dm | 2 +- code/modules/mob/living/silicon/pai/hud.dm | 30 +++++++----- 10 files changed, 102 insertions(+), 70 deletions(-) create mode 100644 code/modules/mob/living/carbon/human/hud_overlays.dm diff --git a/baystation12.dme b/baystation12.dme index a46d31594b5..bb0ba2c98aa 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -961,6 +961,7 @@ #include "code\modules\mob\living\carbon\human\emote.dm" #include "code\modules\mob\living\carbon\human\examine.dm" #include "code\modules\mob\living\carbon\human\hud.dm" +#include "code\modules\mob\living\carbon\human\hud_overlays.dm" #include "code\modules\mob\living\carbon\human\human.dm" #include "code\modules\mob\living\carbon\human\human_attackalien.dm" #include "code\modules\mob\living\carbon\human\human_attackhand.dm" diff --git a/code/datums/helper_datums/tension.dm b/code/datums/helper_datums/tension.dm index 9d180725d5c..a4002f6590a 100644 --- a/code/datums/helper_datums/tension.dm +++ b/code/datums/helper_datums/tension.dm @@ -579,14 +579,15 @@ var/global/datum/tension/tension_master if(synd_mind.current.client) for(var/image/I in synd_mind.current.client.images) if(I.icon_state == "synd") - del(I) + synd_mind.current.client.images -= I for(var/datum/mind/synd_mind in ticker.mode.syndicates) if(synd_mind.current) if(synd_mind.current.client) for(var/datum/mind/synd_mind_1 in ticker.mode.syndicates) if(synd_mind_1.current) - var/I = image('mob.dmi', loc = synd_mind_1.current, icon_state = "synd") + var/image/I = synd_mind_1.current.antag_img + I.icon_state = "synd" synd_mind.current.client.images += I for (var/obj/machinery/nuclearbomb/bomb in world) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 7f5a1a431fe..03141dbe11d 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -216,14 +216,15 @@ if(cultist.current.client) for(var/image/I in cultist.current.client.images) if(I.icon_state == "cult") - del(I) + cultist.current.client.images -= I for(var/datum/mind/cultist in cult) if(cultist.current) if(cultist.current.client) for(var/datum/mind/cultist_1 in cult) if(cultist_1.current) - var/I = image('mob.dmi', loc = cultist_1.current, icon_state = "cult") + var/image/I = cultist.current.antag_img + I.icon_state = "cult" cultist.current.client.images += I @@ -232,12 +233,14 @@ for(var/datum/mind/cultist in cult) if(cultist.current) if(cultist.current.client) - var/I = image('mob.dmi', loc = cult_mind.current, icon_state = "cult") + var/image/I = cult_mind.current.antag_img + I.icon_state = "cult" cultist.current.client.images += I if(cult_mind.current) if(cult_mind.current.client) - var/image/J = image('mob.dmi', loc = cultist.current, icon_state = "cult") - cult_mind.current.client.images += J + var/image/I = cultist.current.antag_img + I.icon_state = "cult" + cult_mind.current.client.images += I /datum/game_mode/proc/update_cult_icons_removed(datum/mind/cult_mind) @@ -247,13 +250,13 @@ if(cultist.current.client) for(var/image/I in cultist.current.client.images) if(I.icon_state == "cult" && I.loc == cult_mind.current) - del(I) + cultist.current.client.images -= I if(cult_mind.current) if(cult_mind.current.client) for(var/image/I in cult_mind.current.client.images) if(I.icon_state == "cult") - del(I) + cult_mind.current.client.images -= I /datum/game_mode/cult/proc/get_unconvertables() diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index c59807054a1..758ff767b76 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -75,21 +75,23 @@ if(synd_mind.current.client) for(var/image/I in synd_mind.current.client.images) if(I.icon_state == "synd") - del(I) + synd_mind.current.client.images -= I for(var/datum/mind/synd_mind in syndicates) if(synd_mind.current) if(synd_mind.current.client) for(var/datum/mind/synd_mind_1 in syndicates) if(synd_mind_1.current) - var/I = image('mob.dmi', loc = synd_mind_1.current, icon_state = "synd") + var/image/I = synd_mind_1.current.antag_img + I.icon_state = "synd" synd_mind.current.client.images += I /datum/game_mode/proc/update_synd_icons_added(datum/mind/synd_mind) spawn(0) if(synd_mind.current) if(synd_mind.current.client) - var/I = image('mob.dmi', loc = synd_mind.current, icon_state = "synd") + var/image/I = synd_mind.current.antag_img + I.icon_state = "synd" synd_mind.current.client.images += I /datum/game_mode/proc/update_synd_icons_removed(datum/mind/synd_mind) @@ -99,13 +101,13 @@ if(synd.current.client) for(var/image/I in synd.current.client.images) if(I.icon_state == "synd" && I.loc == synd_mind.current) - del(I) + synd.current.client.images -= I if(synd_mind.current) if(synd_mind.current.client) for(var/image/I in synd_mind.current.client.images) if(I.icon_state == "synd") - del(I) + synd_mind.current.client.images -= I //////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////// diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 95fabebab6e..46350830b53 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -216,25 +216,27 @@ if(head_rev_mind.current.client) for(var/image/I in head_rev_mind.current.client.images) if(I.icon_state == "rev" || I.icon_state == "rev_head") - del(I) + head_rev_mind.current.client.images -= I for(var/datum/mind/rev_mind in revolutionaries) if(rev_mind.current) if(rev_mind.current.client) for(var/image/I in rev_mind.current.client.images) if(I.icon_state == "rev" || I.icon_state == "rev_head") - del(I) + rev_mind.current.client.images -= I for(var/datum/mind/head_rev in head_revolutionaries) if(head_rev.current) if(head_rev.current.client) for(var/datum/mind/rev in revolutionaries) if(rev.current) - var/I = image('mob.dmi', loc = rev.current, icon_state = "rev") + var/image/I = rev.current.antag_img + I.icon_state = "rev" head_rev.current.client.images += I for(var/datum/mind/head_rev_1 in head_revolutionaries) if(head_rev_1.current) - var/I = image('mob.dmi', loc = head_rev_1.current, icon_state = "rev_head") + var/image/I = head_rev_1.current.antag_img + I.icon_state = "rev_head" head_rev.current.client.images += I for(var/datum/mind/rev in revolutionaries) @@ -242,11 +244,13 @@ if(rev.current.client) for(var/datum/mind/head_rev in head_revolutionaries) if(head_rev.current) - var/I = image('mob.dmi', loc = head_rev.current, icon_state = "rev_head") + var/image/I = head_rev.current.antag_img + I.icon_state = "rev_head" rev.current.client.images += I for(var/datum/mind/rev_1 in revolutionaries) if(rev_1.current) - var/I = image('mob.dmi', loc = rev_1.current, icon_state = "rev") + var/image/I = rev_1.current.antag_img + I.icon_state = "rev" rev.current.client.images += I //////////////////////////////////////////////////// @@ -258,22 +262,26 @@ for(var/datum/mind/head_rev_mind in head_revolutionaries) if(head_rev_mind.current) if(head_rev_mind.current.client) - var/I = image('mob.dmi', loc = rev_mind.current, icon_state = "rev") + var/image/I = rev_mind.current.antag_img + I.icon_state = "rev" head_rev_mind.current.client.images += I if(rev_mind.current) if(rev_mind.current.client) - var/image/J = image('mob.dmi', loc = head_rev_mind.current, icon_state = "rev_head") - rev_mind.current.client.images += J + var/image/I = head_rev_mind.current.antag_img + I.icon_state = "rev_head" + rev_mind.current.client.images += I for(var/datum/mind/rev_mind_1 in revolutionaries) if(rev_mind_1.current) if(rev_mind_1.current.client) - var/I = image('mob.dmi', loc = rev_mind.current, icon_state = "rev") + var/image/I = rev_mind.current.antag_img + I.icon_state = "rev" rev_mind_1.current.client.images += I if(rev_mind.current) if(rev_mind.current.client) - var/image/J = image('mob.dmi', loc = rev_mind_1.current, icon_state = "rev") - rev_mind.current.client.images += J + var/image/I = rev_mind_1.current.antag_img + I.icon_state = "rev" + rev_mind.current.client.images += I /////////////////////////////////// //Keeps track of deconverted revs// @@ -285,20 +293,20 @@ if(head_rev_mind.current.client) for(var/image/I in head_rev_mind.current.client.images) if((I.icon_state == "rev" || I.icon_state == "rev_head") && I.loc == rev_mind.current) - del(I) + head_rev_mind.current.client.images -= I for(var/datum/mind/rev_mind_1 in revolutionaries) if(rev_mind_1.current) if(rev_mind_1.current.client) for(var/image/I in rev_mind_1.current.client.images) if((I.icon_state == "rev" || I.icon_state == "rev_head") && I.loc == rev_mind.current) - del(I) + rev_mind_1.current.client.images -= I if(rev_mind.current) if(rev_mind.current.client) for(var/image/I in rev_mind.current.client.images) if(I.icon_state == "rev" || I.icon_state == "rev_head") - del(I) + rev_mind.current.client.images -= I ////////////////////////// //Checks for rev victory// diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm index 5e3f3392cff..f53bf46918b 100644 --- a/code/game/mecha/medical/odysseus.dm +++ b/code/game/mecha/medical/odysseus.dm @@ -78,7 +78,6 @@ if(!M || M.stat || !(M in view(M))) return if(!M.client) return var/client/C = M.client - var/icon/tempHud = 'hud.dmi' for(var/mob/living/carbon/human/patient in view(M.loc)) if(M.see_invisible < patient.invisibility) continue @@ -88,12 +87,14 @@ foundVirus++ //if(patient.virus2) // foundVirus++ - C.images += image(tempHud,patient,"hud[RoundHealth(patient.health)]") + patient.health_img.icon_state = "hud[RoundHealth(patient.health)]" + C.images += patient.health_img if(patient.stat == 2) - C.images += image(tempHud,patient,"huddead") + patient.med_img.icon_state = "huddead" else if(patient.alien_egg_flag) - C.images += image(tempHud,patient,"hudxeno") + patient.med_img.icon_state = "hudxeno" else if(foundVirus) - C.images += image(tempHud,patient,"hudill") + patient.med_img.icon_state = "hudill" else - C.images += image(tempHud,patient,"hudhealthy") + patient.med_img.icon_state = "hudhealthy" + C.images += patient.med_img diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 3709e1ab39b..0f7880b92bb 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -56,7 +56,6 @@ if(!M) return if(!M.client) return var/client/C = M.client - var/icon/tempHud = 'hud.dmi' for(var/mob/living/carbon/human/patient in view(M)) var/foundVirus = 0 for(var/datum/disease/D in patient.viruses) @@ -66,15 +65,17 @@ // jesus fuck, no, don't display vira by just looking at them /*if(patient.virus2) foundVirus++*/ - C.images += image(tempHud,patient,"hud[RoundHealth(patient.health)]") + patient.health_img.icon_state = "hud[RoundHealth(patient.health)]" + C.images += patient.health_img if(patient.stat == 2) - C.images += image(tempHud,patient,"huddead") + patient.med_img.icon_state = "huddead" else if(patient.alien_egg_flag) - C.images += image(tempHud,patient,"hudxeno") + patient.med_img.icon_state = "hudxeno" else if(foundVirus) - C.images += image(tempHud,patient,"hudill") + patient.med_img.icon_state = "hudill" else - C.images += image(tempHud,patient,"hudhealthy") + patient.med_img.icon_state = "hudhealthy" + C.images += patient.med_img /obj/item/clothing/glasses/hud/security @@ -95,37 +96,41 @@ if(!M) return if(!M.client) return var/client/C = M.client - var/icon/tempHud = 'hud.dmi' for(var/mob/living/carbon/human/perp in view(M)) if(!C) continue var/perpname = "wot" if(perp.wear_id) - C.images += image(tempHud,perp,"hud[ckey(perp:wear_id:GetJobName())]") + perp.sec_img.icon_state = "hud[ckey(perp:wear_id:GetJobName())]" + C.images += perp.sec_img if(istype(perp.wear_id,/obj/item/weapon/card/id)) perpname = perp.wear_id:registered_name else if(istype(perp.wear_id,/obj/item/device/pda)) var/obj/item/device/pda/tempPda = perp.wear_id perpname = tempPda.owner + for (var/datum/data/record/E in data_core.general) + if (E.fields["name"] == perpname) + for (var/datum/data/record/R in data_core.security) + if ((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "*Arrest*")) + perp.sec2_img.icon_state = "hudwanted" + C.images += perp.sec2_img + break + else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Incarcerated")) + perp.sec2_img.icon_state = "hudprisoner" + C.images += perp.sec2_img + break else - perpname = perp.name - C.images += image(tempHud,perp,"hudunknown") + perp.sec_img.icon_state = "hudunknown" + C.images += perp.sec_img - for (var/datum/data/record/E in data_core.general) - if (E.fields["name"] == perpname) - for (var/datum/data/record/R in data_core.security) - if ((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "*Arrest*")) - C.images += image(tempHud,perp,"hudwanted") - break - else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Incarcerated")) - C.images += image(tempHud,perp,"hudprisoner") - break for(var/named in perp.organs) var/datum/organ/external/E = perp.organs[named] for(var/obj/item/weapon/implant/I in E.implant) if(I.implanted) if(istype(I,/obj/item/weapon/implant/tracking)) - C.images += image(tempHud,perp,"hud_imp_tracking") + perp.imp_img.icon_state = "hud_imp_tracking" + C.images += perp.imp_img if(istype(I,/obj/item/weapon/implant/loyalty)) - C.images += image(tempHud,perp,"hud_imp_loyal") + perp.imp_img.icon_state = "hud_imp_loyal" + C.images += perp.imp_img diff --git a/code/modules/mob/living/carbon/human/hud_overlays.dm b/code/modules/mob/living/carbon/human/hud_overlays.dm new file mode 100644 index 00000000000..4d09641fcdb --- /dev/null +++ b/code/modules/mob/living/carbon/human/hud_overlays.dm @@ -0,0 +1,7 @@ +mob/var/image/antag_img +mob/living/carbon/human + var/image/med_img + var/image/sec_img + var/image/sec2_img + var/image/imp_img + var/image/health_img \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index e16ea5fe505..196cf09a3aa 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1092,7 +1092,7 @@ // Apparently deletes all the hud_ icons for(var/image/hud in client.images) if(copytext(hud.icon_state,1,4) == "hud") //ugly, but icon comparison is worse, I believe - del(hud) + client.images -= hud//del(hud) // Handle special vision stuff, such as thermals or ghost vision // ------------------------------------------------------------- diff --git a/code/modules/mob/living/silicon/pai/hud.dm b/code/modules/mob/living/silicon/pai/hud.dm index 974c041116a..a3761f2da26 100644 --- a/code/modules/mob/living/silicon/pai/hud.dm +++ b/code/modules/mob/living/silicon/pai/hud.dm @@ -2,16 +2,16 @@ if(client) for(var/image/hud in client.images) if(copytext(hud.icon_state,1,4) == "hud") - del(hud) + client.images -= hud /mob/living/silicon/pai/proc/securityHUD() if(client) - var/icon/tempHud = 'hud.dmi' var/turf/T = get_turf_or_move(src.loc) for(var/mob/living/carbon/human/perp in view(T)) if(perp.wear_id) - client.images += image(tempHud,perp,"hud[ckey(perp:wear_id:GetJobName())]") - var/perpname = "wot" + perp.sec_img.icon_state = "hud[ckey(perp:wear_id:GetJobName())]" + client.images += perp.sec_img + var/perpname = "wot no name?" if(istype(perp.wear_id,/obj/item/weapon/card/id)) perpname = perp.wear_id:registered_name else if(istype(perp.wear_id,/obj/item/device/pda)) @@ -21,17 +21,19 @@ if (E.fields["name"] == perpname) for (var/datum/data/record/R in data_core.security) if ((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "*Arrest*")) - client.images += image(tempHud,perp,"hudwanted") + perp.sec2_img.icon_state = "hudwanted" + client.images += perp.sec2_img break else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Incarcerated")) - client.images += image(tempHud,perp,"hudprisoner") + perp.sec2_img.icon_state = "hudprisoner" + client.images += perp.sec2_img break else - client.images += image(tempHud,perp,"hudunknown") + perp.sec_img.icon_state = "hudunknown" + client.images += perp.sec_img /mob/living/silicon/pai/proc/medicalHUD() if(client) - var/icon/tempHud = 'hud.dmi' var/turf/T = get_turf_or_move(src.loc) for(var/mob/living/carbon/human/patient in view(T)) @@ -40,15 +42,17 @@ if(!D.hidden[SCANNER]) foundVirus = 1 - client.images += image(tempHud,patient,"hud[RoundHealth(patient.health)]") + patient.health_img.icon_state = "hud[RoundHealth(patient.health)]" + client.images += patient.health_img if(patient.stat == 2) - client.images += image(tempHud,patient,"huddead") + patient.med_img.icon_state = "huddead" else if(patient.alien_egg_flag) - client.images += image(tempHud,patient,"hudxeno") + patient.med_img.icon_state = "hudxeno" else if(foundVirus) - client.images += image(tempHud,patient,"hudill") + patient.med_img.icon_state = "hudill" else - client.images += image(tempHud,patient,"hudhealthy") + patient.med_img.icon_state = "hudhealthy" + client.images += patient.med_img /mob/living/silicon/pai/proc/RoundHealth(health) switch(health) From da12638dccf0e5abf1d211f1c3a1b5c5ad525850 Mon Sep 17 00:00:00 2001 From: Aryn Date: Wed, 30 May 2012 01:50:58 -0600 Subject: [PATCH 06/20] Hotfix to update_visuals() to make it compatible with the integer-based checks. --- code/FEA/FEA_turf_tile.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/FEA/FEA_turf_tile.dm b/code/FEA/FEA_turf_tile.dm index 38083f52ce0..c45d313685d 100644 --- a/code/FEA/FEA_turf_tile.dm +++ b/code/FEA/FEA_turf_tile.dm @@ -132,9 +132,9 @@ turf overlays += image('floors.dmi',siding_icon_state) switch(model.graphic) - if("plasma") + if(1) overlays.Add(plmaster) - if("sleeping_agent") + if(2) overlays.Add(slmaster) From 66f633edc0cdba6ebc96869076d6228aaf6a21ab Mon Sep 17 00:00:00 2001 From: Mloc Date: Wed, 30 May 2012 12:07:13 +0100 Subject: [PATCH 07/20] Fixed some quirks with var standardization, fixed compile error #1190. Signed-off-by: Mloc --- baystation12.dme | 1 + code/game/machinery/telecomms/logbrowser.dm | 2 +- code/game/machinery/telecomms/telemonitor.dm | 2 +- code/modules/chemical/Chemistry-Reagents.dm | 2 +- code/modules/mob/mob_movement.dm | 2 +- code/modules/mob/organ/organ.dm | 6 +++--- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index a46d31594b5..1a952c2b1f1 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1202,6 +1202,7 @@ #include "code\WorkInProgress\virus2\monkeydispensor.dm" #include "code\WorkInProgress\virus2\Prob.dm" #include "code\WorkInProgress\Wrongnumber\weldbackpack.dm" +#include "code\ZAS\Airflow.dm" #include "code\ZAS\Connection.dm" #include "code\ZAS\Creation.dm" #include "code\ZAS\Definition.dm" diff --git a/code/game/machinery/telecomms/logbrowser.dm b/code/game/machinery/telecomms/logbrowser.dm index 33edca2cce7..faa4e427616 100644 --- a/code/game/machinery/telecomms/logbrowser.dm +++ b/code/game/machinery/telecomms/logbrowser.dm @@ -6,7 +6,7 @@ var/screen = 0 // the screen number: var/list/servers = list() // the servers located by the computer - var/var/obj/machinery/telecomms/server/SelectedServer + var/obj/machinery/telecomms/server/SelectedServer var/network = "NULL" // the network to probe var/temp = "" // temporary feedback messages diff --git a/code/game/machinery/telecomms/telemonitor.dm b/code/game/machinery/telecomms/telemonitor.dm index 210c45e6ab7..40ff20f1c7f 100644 --- a/code/game/machinery/telecomms/telemonitor.dm +++ b/code/game/machinery/telecomms/telemonitor.dm @@ -13,7 +13,7 @@ var/screen = 0 // the screen number: var/list/machines = list() // the machines located by the computer - var/var/obj/machinery/telecomms/SelectedMachine + var/obj/machinery/telecomms/SelectedMachine var/network = "NULL" // the network to probe diff --git a/code/modules/chemical/Chemistry-Reagents.dm b/code/modules/chemical/Chemistry-Reagents.dm index edf31b672d6..99812a6fbc1 100644 --- a/code/modules/chemical/Chemistry-Reagents.dm +++ b/code/modules/chemical/Chemistry-Reagents.dm @@ -281,7 +281,7 @@ datum lowertemp.temperature = max( min(lowertemp.temperature-2000,lowertemp.temperature / 2) ,0) lowertemp.react() T.assume_air(lowertemp) - T.apply_fire_protection() + //T.apply_fire_protection() del(hotspot) if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/monkeycube)) var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube = O diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index b9a78017fc6..e9cf67d60e4 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -225,7 +225,7 @@ if(mob.stat==2) return if(isAI(mob)) return AIMove(n,direct,mob) - + if(mob.monkeyizing) return //This is sota the goto stop mobs from moving var if(mob.incorporeal_move)//Move though walls Process_Incorpmove(direct) diff --git a/code/modules/mob/organ/organ.dm b/code/modules/mob/organ/organ.dm index 7e7d657abae..fb150d03627 100644 --- a/code/modules/mob/organ/organ.dm +++ b/code/modules/mob/organ/organ.dm @@ -64,9 +64,9 @@ var/list/datum/organ/external/children var/damage_msg = "\red You feel a intense pain" - var/var/open = 0 - var/var/stage = 0 - var/var/wound = 0 + var/open = 0 + var/stage = 0 + var/wound = 0 New(mob/living/carbon/H) ..(H) From 7e904195f15359d81a62b7282775529f1d2439ce Mon Sep 17 00:00:00 2001 From: CIB Date: Wed, 30 May 2012 20:04:52 +0300 Subject: [PATCH 08/20] Maybe this will fix Tajaran appearance --- code/WorkInProgress/Cael_Aislinn/Tajara/tajaran.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/WorkInProgress/Cael_Aislinn/Tajara/tajaran.dm b/code/WorkInProgress/Cael_Aislinn/Tajara/tajaran.dm index 20162ef639d..3541f135f6d 100644 --- a/code/WorkInProgress/Cael_Aislinn/Tajara/tajaran.dm +++ b/code/WorkInProgress/Cael_Aislinn/Tajara/tajaran.dm @@ -27,6 +27,12 @@ ..() +/mob/living/carbon/human/tajaran/rebuild_appearance() + update_clothing() + +/mob/living/carbon/human/tajaran/update_body_appearance() + update_clothing() + /mob/living/carbon/human/tajaran/update_clothing() // ..() From 3e431b0ae0b9f96ca3aee28bc6feaab07ba55e4b Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Wed, 30 May 2012 20:11:18 +0300 Subject: [PATCH 09/20] Removed some ZAS messages sent to the error log --- code/ZAS/Connection.dm | 6 +++--- code/modules/chemical/Chemistry-Tools.dm | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/ZAS/Connection.dm b/code/ZAS/Connection.dm index af113cc514f..3092352bd0f 100644 --- a/code/ZAS/Connection.dm +++ b/code/ZAS/Connection.dm @@ -66,13 +66,13 @@ connection proc/Cleanup() if(!A || !B) - world.log << "Connection removed: [A] or [B] missing entirely." + //world.log << "Connection removed: [A] or [B] missing entirely." del src if(A.zone == B.zone) - world.log << "Connection removed: Zones now merged." + //world.log << "Connection removed: Zones now merged." del src if(!A.zone || !B.zone) no_zone_count++ if(no_zone_count >= 5) - world.log << "Connection removed: [A] or [B] missing a zone." + //world.log << "Connection removed: [A] or [B] missing a zone." del src \ No newline at end of file diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm index 5ea319249a1..fcdf7dcb846 100644 --- a/code/modules/chemical/Chemistry-Tools.dm +++ b/code/modules/chemical/Chemistry-Tools.dm @@ -3708,7 +3708,7 @@ desc = "You can't really tell what this is." else icon_state = "glass_empty" - name = "Drinking glass" + name = "drinking glass" desc = "Your standard drinking glass" return From 606a4a75fe320e67207d0f3134496099c019876f Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Wed, 30 May 2012 20:14:21 +0300 Subject: [PATCH 10/20] All objects leaving the boundaries of a Z level will now be deleted --- code/game/turf.dm | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/code/game/turf.dm b/code/game/turf.dm index ac32981a41f..df2b4c642a6 100644 --- a/code/game/turf.dm +++ b/code/game/turf.dm @@ -1400,14 +1400,9 @@ turf/simulated/floor/return_siding_icon_state() if(ticker && ticker.mode) // Okay, so let's make it so that people can travel z levels but not nuke disks! - // if(ticker.mode.name == "nuclear emergency") return if (src.x <= TRANSITIONEDGE || A.x >= (world.maxx - TRANSITIONEDGE - 1) || src.y <= TRANSITIONEDGE || A.y >= (world.maxy - TRANSITIONEDGE - 1)) - if(istype(A, /obj/effect/meteor)||istype(A, /obj/effect/space_dust)) - del(A) - return - - if(istype(A, /obj/item/weapon/disk/nuclear)) // Don't let nuke disks travel Z levels ... And moving this shit down here so it only fires when they're actually trying to change z-level. - del(A) //The disk's Del() proc ensures a new one is created + if(istype(A, /obj)) + del(A) // The nuke disk's del() will spawn a new disk return if(!isemptylist(A.search_contents_for(/obj/item/weapon/disk/nuclear))) @@ -1417,10 +1412,7 @@ turf/simulated/floor/return_siding_icon_state() MM << "\red Something you are carrying is preventing you from leaving. Don't play stupid; you know exactly what it is." return - var/move_to_z_str = pickweight(accessable_z_levels) - - var/move_to_z = text2num(move_to_z_str) - + var/move_to_z = text2num(pickweight(accessable_z_levels)) if(!move_to_z) return From 37dec6e15e94f9ee009c7a82e97e415e3c6cac65 Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Wed, 30 May 2012 20:23:25 +0300 Subject: [PATCH 11/20] Revert "All objects leaving the boundaries of a Z level will now be deleted" This reverts commit 606a4a75fe320e67207d0f3134496099c019876f. --- code/game/turf.dm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/code/game/turf.dm b/code/game/turf.dm index df2b4c642a6..ac32981a41f 100644 --- a/code/game/turf.dm +++ b/code/game/turf.dm @@ -1400,9 +1400,14 @@ turf/simulated/floor/return_siding_icon_state() if(ticker && ticker.mode) // Okay, so let's make it so that people can travel z levels but not nuke disks! + // if(ticker.mode.name == "nuclear emergency") return if (src.x <= TRANSITIONEDGE || A.x >= (world.maxx - TRANSITIONEDGE - 1) || src.y <= TRANSITIONEDGE || A.y >= (world.maxy - TRANSITIONEDGE - 1)) - if(istype(A, /obj)) - del(A) // The nuke disk's del() will spawn a new disk + if(istype(A, /obj/effect/meteor)||istype(A, /obj/effect/space_dust)) + del(A) + return + + if(istype(A, /obj/item/weapon/disk/nuclear)) // Don't let nuke disks travel Z levels ... And moving this shit down here so it only fires when they're actually trying to change z-level. + del(A) //The disk's Del() proc ensures a new one is created return if(!isemptylist(A.search_contents_for(/obj/item/weapon/disk/nuclear))) @@ -1412,7 +1417,10 @@ turf/simulated/floor/return_siding_icon_state() MM << "\red Something you are carrying is preventing you from leaving. Don't play stupid; you know exactly what it is." return - var/move_to_z = text2num(pickweight(accessable_z_levels)) + var/move_to_z_str = pickweight(accessable_z_levels) + + var/move_to_z = text2num(move_to_z_str) + if(!move_to_z) return From c82b90e24d4263d62706163959d86441046b1237 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Wed, 30 May 2012 13:24:52 -0700 Subject: [PATCH 12/20] Some comments, tweaks, and improvements to detective work, evidence bags, and packages. --- code/WorkInProgress/SkyMarshal/portalathe.dm | 2 +- code/modules/DetectiveWork/detective_work.dm | 27 ++-- code/modules/DetectiveWork/evidence.dm | 49 ++++--- code/modules/recycling/sortingmachinery.dm | 144 ++++++++++++------- icons/obj/storage.dmi | Bin 51760 -> 51667 bytes 5 files changed, 139 insertions(+), 83 deletions(-) diff --git a/code/WorkInProgress/SkyMarshal/portalathe.dm b/code/WorkInProgress/SkyMarshal/portalathe.dm index 083ce09a192..9fdc0e757ef 100644 --- a/code/WorkInProgress/SkyMarshal/portalathe.dm +++ b/code/WorkInProgress/SkyMarshal/portalathe.dm @@ -17,5 +17,5 @@ L.status = 0 L.on = 1 L.update() - user.visible_message("[user] repairs \the [target] on the spot with their [src]!","You repair the lightbulb!") + user.visible_message("[user] repairs \the [target] on the spot with their [src]!","You repair the lightbulb!","You hear a soft whiiir-pop noise over the sound of flexing glass, followed by the soft hum of an activated [target].") return \ No newline at end of file diff --git a/code/modules/DetectiveWork/detective_work.dm b/code/modules/DetectiveWork/detective_work.dm index 55a18aa3e34..9dee00f6014 100644 --- a/code/modules/DetectiveWork/detective_work.dm +++ b/code/modules/DetectiveWork/detective_work.dm @@ -166,7 +166,7 @@ obj/machinery/computer/forensic_scanning I.loc = src else usr << "Invalid Object Rejected." - if("card") + if("card") //Processing a fingerprint card. var/mob/M = usr var/obj/item/I = M.equipped() if(!(I && istype(I,/obj/item/weapon/f_card))) @@ -186,7 +186,7 @@ obj/machinery/computer/forensic_scanning process_card() else usr << "\red Invalid Object Rejected." - if("database") + if("database") //Viewing all records in each database canclear = 1 if(href_list["delete_record"]) delete_dossier(href_list["delete_record"]) @@ -211,7 +211,7 @@ obj/machinery/computer/forensic_scanning for(var/atom in misc) var/list/data_entry = misc[atom] temp += "{[data_entry[3]]}
" - if("record") + if("record") //Viewing a record from the "files" database. canclear = 0 if(files) temp = "Criminal Evidence Database

" @@ -245,7 +245,7 @@ obj/machinery/computer/forensic_scanning else temp = "ERROR. Database not found!
" temp += "
{Return}" - if("databaseprint") + if("databaseprint") //Printing from the "files" database. if(files) var/obj/item/weapon/paper/P = new(loc) P.name = "Database File (Dossier [files.Find(href_list["identifier"])])" @@ -274,12 +274,11 @@ obj/machinery/computer/forensic_scanning var/list/blood = outputs[3] if(blood && blood.len) P.info += " Blood:
" - for(var/j = 1, j <= blood.len, j++) - var/list/templist2 = blood[j] - P.info += "      Type: [templist2[2]], DNA: [templist2[1]]
" + for(var/named in blood) + P.info += "      Type: [blood[named]], DNA: [named]
" else usr << "ERROR. Database not found!
" - if("auxiliary") + if("auxiliary") //Viewing a record from the "misc" database. canclear = 0 if(misc) temp = "Auxiliary Evidence Database

" @@ -301,7 +300,7 @@ obj/machinery/computer/forensic_scanning else temp = "ERROR. Database not found!
" temp += "
{Return}" - if("auxiliaryprint") + if("auxiliaryprint") //Printing from the "misc" database. if(misc) var/obj/item/weapon/paper/P = new(loc) var/list/outputs = misc[href_list["identifier"]] @@ -402,7 +401,7 @@ obj/machinery/computer/forensic_scanning temp = "Scan Failed: No Object" - if("print") + if("print") //Printing scan data if(scan_data) temp = "Scan Data Printed." var/obj/item/weapon/paper/P = new(loc) @@ -415,7 +414,7 @@ obj/machinery/computer/forensic_scanning scan_data = "" if("cancel") scan_process = 0 - if("add") + if("add") //Adding an object (Manually) to the database. if(scanning) add_data(scanning) else @@ -540,7 +539,7 @@ obj/machinery/computer/forensic_scanning if(master) master[1] = stringmerge(master[1],new_print) else - CRASH("Fucking hell. Something went wrong, and it tried to update a null print or something. Tell SkyMarshal") + CRASH("Fucking hell. Something went wrong, and it tried to update a null print or something. Tell SkyMarshal (and give him this call stack)") return proc/process_card() //Same as above, but for fingerprint cards @@ -768,7 +767,7 @@ proc/blood_incompatible(donor,receiver) ..() afterattack(atom/A as obj|turf|area, mob/user as mob) - if(istype(A)) + if(istype(A) && src in user) user.visible_message("[user] starts to wipe down [A] with [src]!") if(do_after(user,30)) user.visible_message("[user] finishes wiping off the [A]!") @@ -776,7 +775,7 @@ proc/blood_incompatible(donor,receiver) return examine() - if (!( usr )) + if (!usr) return usr << "That's \a [src]." usr << desc diff --git a/code/modules/DetectiveWork/evidence.dm b/code/modules/DetectiveWork/evidence.dm index 5ff551d1ada..a35a4982a2d 100644 --- a/code/modules/DetectiveWork/evidence.dm +++ b/code/modules/DetectiveWork/evidence.dm @@ -1,8 +1,6 @@ //CONTAINS: //Evidence bags and stuff /////////// -//Shamelessly ripped from Mini's old code. - /obj/item/weapon/evidencebag name = "evidence bag" desc = "An empty evidence bag." @@ -10,34 +8,43 @@ icon_state = "evidenceobj" w_class = 1 -/* buggy and stuff -/obj/item/weapon/evidencebag/attackby(obj/item/weapon/O, mob/user as mob) - return src.afterattack(O, user) -*/ - /obj/item/weapon/evidencebag/afterattack(obj/item/O, mob/user as mob) + if(!in_range(O,user)) + return + if(istype(O, /obj/item/weapon/storage) && O in user) return ..() + if(!(O && istype(O)) || O.anchored == 1) - user << "You can't put that inside the [src]!" + user << "You can't put that inside \the [src]!" return ..() - if(O in user) + + if(istype(O, /obj/item/weapon/evidencebag)) + user << "You find putting an evidence bag in another evidence bag to be slightly absurd." + return + + if(O in user && (user.l_hand != O && user.r_hand != O)) //If it is in their inventory, but not in their hands, don't grab it off of them. user << "You are wearing that." return - if(src.contents.len > 0) + + if(contents.len) user << "The [src] already has something inside it." return ..() + if(istype(O.loc,/obj/item/weapon/storage)) var/obj/item/weapon/storage/U = O.loc user.client.screen -= O U.contents.Remove(O) + if(istype(O.loc,/obj/item/clothing/suit/storage/)) var/obj/item/clothing/suit/storage/U = O.loc user.client.screen -= O U.contents.Remove(O) - user << "You put the [O] inside the [src]." + + user.visible_message("\The [user] puts \a [O] into \a [src]", "You put \the [O] inside \the [src].",\ + "You hear a rustle as someone puts something into a plastic bag.") icon_state = "evidence" - src.overlays += O + overlays += O desc = "An evidence bag containing \a [O]. [O.desc]" O.loc = src w_class = O.w_class @@ -45,17 +52,19 @@ /obj/item/weapon/evidencebag/attack_self(mob/user as mob) - if (src.contents.len > 0) - var/obj/item/I = src.contents[1] - user << "You take the [I] out of the [src]." - src.overlays -= I - I.loc = get_turf(user.loc) + if (contents.len) + var/obj/item/I = contents[1] + user.visible_message("\The [user] takes \a [I] out of \a [src]", "You take \the [I] out of \the [src].",\ + "You hear someone rustle around in a plastic bag, and remove something.") + overlays -= I + user.put_in_hands(I) w_class = 1 - src.icon_state = "evidenceobj" + icon_state = "evidenceobj" desc = "An empty evidence bag." + else - user << "[src] is empty." - src.icon_state = "evidenceobj" + user << "\The [src] is empty." + icon_state = "evidenceobj" return /obj/item/weapon/storage/box/evidence diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 21b05206db0..91b60d91753 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -19,7 +19,7 @@ proc/unwrap() if(wrapped) //sometimes items can disappear. For example, bombs. --rastaf0 - wrapped.loc = (get_turf(src.loc)) + wrapped.loc = (get_turf(loc)) if(istype(wrapped, /obj/structure/closet)) var/obj/structure/closet/O = wrapped O.welded = waswelded @@ -47,7 +47,7 @@ if(istype(W, /obj/item/device/destTagger)) var/obj/item/device/destTagger/O = W user << "\blue *TAGGED*" - src.sortTag = O.currTag + sortTag = O.currTag update_icon() else if(istype(W, /obj/item/weapon/pen)) switch(alert("What would you like to alter?",,"Title","Description", "Cancel")) @@ -56,9 +56,10 @@ if(!str || !length(str)) usr << "\red Invalid text." return - for(var/mob/M in viewers()) - M << "\blue [user] labels [src] as [str]." - src.name = "[src.name] ([str])" + user.visible_message("\The [user] titles \the [src] with \a [W], marking down: \"[examtext]\"",\ + "\blue You title \the [src]: \"[examtext]\"",\ + "You hear someone scribbling a note.") + name = "[name] ([str])" update_icon() if("Description") var/str = copytext(sanitize(input(usr,"Label text?","Set label","")),1,MAX_NAME_LEN) @@ -66,8 +67,9 @@ usr << "\red Invalid text." return examtext = str - for(var/mob/M in viewers()) - M << "\blue [user] labels [src] with the note: [examtext]." + user.visible_message("\The [user] labels \the [src] with \a [W], scribbling down: \"[examtext]\"",\ + "\blue You label \the [src]: \"[examtext]\"",\ + "You hear someone scribbling a note.") update_icon() return @@ -87,11 +89,29 @@ F.opened = 0 break + ex_act(severity) + switch(severity) + if(1.0) + del(src) + if(2.0) + if(prob(10)) + del(src) + else + wrapped.loc = get_turf(src) + wrapped:welded = waswelded + del(src) + return + if(3.0) + wrapped.loc = get_turf(src) + wrapped:welded = waswelded + del(src) + return + /obj/item/smallDelivery desc = "A small wrapped package." name = "small parcel" icon = 'storage.dmi' - icon_state = "deliverycrateSmall" + icon_state = "deliverycrateSmall1" var/tmp/obj/item/wrapped = null var/sortTag = null flags = FPRINT @@ -99,9 +119,8 @@ attack_self(mob/user) - if (src.wrapped) //sometimes items can disappear. For example, bombs. --rastaf0 - src.wrapped.loc = (get_turf(src.loc)) - + if (wrapped) //sometimes items can disappear. For example, bombs. --rastaf0 + wrapped.loc = (get_turf(loc)) del(src) return @@ -116,7 +135,7 @@ if(istype(W, /obj/item/device/destTagger)) var/obj/item/device/destTagger/O = W user << "\blue *TAGGED*" - src.sortTag = O.currTag + sortTag = O.currTag update_icon() else if(istype(W, /obj/item/weapon/pen)) switch(alert("What would you like to alter?",,"Title","Description", "Cancel")) @@ -125,9 +144,10 @@ if(!str || !length(str)) usr << "\red Invalid text." return - for(var/mob/M in viewers()) - M << "\blue [user] labels [src] as [str]." - src.name = "[src.name] ([str])" + user.visible_message("\The [user] titles \the [src] with \a [W], marking down: \"[examtext]\"",\ + "\blue You title \the [src]: \"[examtext]\"",\ + "You hear someone scribbling a note.") + name = "[name] ([str])" update_icon() if("Description") var/str = copytext(sanitize(input(usr,"Label text?","Set label","")),1,MAX_NAME_LEN) @@ -135,8 +155,9 @@ usr << "\red Invalid text." return examtext = str - for(var/mob/M in viewers()) - M << "\blue [user] labels [src] with the note: [examtext]." + user.visible_message("\The [user] labels \the [src] with \a [W], scribbling down: \"[examtext]\"",\ + "\blue You label \the [src]: \"[examtext]\"",\ + "You hear someone scribbling a note.") update_icon() return @@ -149,6 +170,22 @@ ..() return + ex_act(severity) + switch(severity) + if(1.0) + del(src) + if(2.0) + if(prob(40)) + del(src) + else + wrapped.loc = get_turf(src) + del(src) + return + if(3.0) + wrapped.loc = get_turf(src) + del(src) + return + /obj/item/weapon/packageWrap name = "package wrapper" icon = 'items.dmi' @@ -158,6 +195,8 @@ afterattack(var/obj/target as obj, mob/user as mob) + if(!in_range(target,user)) + return if(!(istype(target, /obj))) //this really shouldn't be necessary (but it is). -Pete return if(istype(target, /obj/structure/table) || istype(target, /obj/structure/rack) || istype(target,/obj/item/smallDelivery)) @@ -167,43 +206,54 @@ if(target in user) return - user.attack_log += text("\[[time_stamp()]\] Has used [src.name] on \ref[target]") + user.attack_log += text("\[[time_stamp()]\] Has used \a [src] on \ref[target]") if (istype(target, /obj/item)) var/obj/item/O = target - if (src.amount > 1) + if (amount > 1) var/obj/item/smallDelivery/P = new /obj/item/smallDelivery(get_turf(O.loc)) //Aaannd wrap it up! if(!istype(O.loc, /turf)) if(user.client) user.client.screen -= O P.wrapped = O O.loc = P - src.amount -= 1 + amount -= 1 + P.w_class = O.w_class + P.icon_state = "deliverycrateSmall[P.w_class]" + user.visible_message("\The [user] wraps \a [target] with \a [src], producing \a [P].",\ + "\blue You wrap \the [target], leaving [amount] units of paper on your [src].",\ + "You hear someone taping paper around a small object.") else if (istype(target, /obj/structure/closet/crate)) var/obj/structure/closet/crate/O = target - if (src.amount > 3 && !O.opened) + if (amount > 3 && !O.opened) var/obj/structure/bigDelivery/P = new /obj/structure/bigDelivery(get_turf(O.loc)) P.icon_state = "deliverycrate" P.wrapped = O O.loc = P - src.amount -= 3 - else if(src.amount < 3) + amount -= 3 + user.visible_message("\The [user] wraps \a [target] with \a [src], producing \a [P].",\ + "\blue You wrap \the [target], leaving [amount] units of paper on your [src].",\ + "You hear someone pondering a problem, using a tape measure, and taping paper around a large object.") + else if(amount < 3) user << "\blue You need more paper." else if (istype (target, /obj/structure/closet)) var/obj/structure/closet/O = target - if (src.amount > 3 && !O.opened) + if (amount > 3 && !O.opened) var/obj/structure/bigDelivery/P = new /obj/structure/bigDelivery(get_turf(O.loc)) P.wrapped = O P.waswelded = O.welded O.welded = 1 O.loc = P - src.amount -= 3 - else if(src.amount < 3) + amount -= 3 + user.visible_message("\The [user] wraps \a [target] with \a [src], producing \a [P].",\ + "\blue You wrap \the [target], leaving [amount] units of paper on your [src].",\ + "You hear someone pondering a problem, using a tape measure, and taping paper around a large object.") + else if(amount < 3) user << "\blue You need more paper." else user << "\blue The object you are trying to wrap is unsuitable for the sorting machinery!" - if (src.amount <= 0) - new /obj/item/weapon/c_tube( src.loc ) + if (amount <= 0) + new /obj/item/weapon/c_tube( loc ) del(src) return return @@ -275,15 +325,15 @@ Topic(href, href_list) usr.machine = src - src.add_fingerprint(usr) + add_fingerprint(usr) if(href_list["nextTag"]) var/n = text2num(href_list["nextTag"]) if(n > locationList.len) var/t1 = input("Which tag?","Tag") as null|text if(t1) - src.currTag = t1 + currTag = t1 else - src.currTag = locationList[n] + currTag = locationList[n] if(istype(loc,/mob)) interact(loc) else @@ -291,18 +341,15 @@ return attack(target as obj, mob/user as mob) - if (istype(target, /obj/structure/bigDelivery)) - user << "\blue *TAGGED*" - var/obj/structure/bigDelivery/O = target - O.sortTag = src.currTag - O.update_icon() - else if (istype(target, /obj/item/smallDelivery)) - user << "\blue *TAGGED*" - var/obj/item/smallDelivery/O = target - O.sortTag = src.currTag - O.update_icon() + if (istype(target, /obj/structure/bigDelivery) || istype(target, /obj/item/smallDelivery)) + user.visible_message("\The [user] tags \a [target] with \a [src].", "\blue *TAGGED*",\ + "You hear a short electronic click-shunk, like something being printed on a surface.") + target:sortTag = currTag + target:update_icon() else - user << "\blue You can only tag properly wrapped delivery packages!" + user.visible_message("\The [user] tries to tag \a [target], but their [src] refuses to work on anything but packages.",\ + "\blue Your [src] flashes: \"You can only tag properly wrapped delivery packages!\"",\ + "You hear a short click then a sad synthesized noise.") return /obj/machinery/disposal/deliveryChute @@ -311,6 +358,7 @@ density = 0 icon_state = "intake" var/currentlyFlushing = 0 + var/defaultDestination = "Disposals" interact() return @@ -322,7 +370,7 @@ else if (istype(AM, /mob)) var/mob/M = AM M.loc = src - src.flush() + flush() flush() flushing = 1 @@ -333,13 +381,13 @@ for(var/obj/structure/bigDelivery/O in src) deliveryCheck = 1 if(!O.sortTag) - O.sortTag = "Disposals" + O.sortTag = defaultDestination for(var/obj/item/smallDelivery/O in src) deliveryCheck = 1 if (!O.sortTag) - O.sortTag = "Disposals" + O.sortTag = defaultDestination if(deliveryCheck == 0) - H.destinationTag = "Disposals" + H.destinationTag = defaultDestination H.init(src) // copy the contents of disposer to holder @@ -366,11 +414,11 @@ return CanPass(atom/A, turf/T) - if(istype(A, /mob/living)) // You Shall Not Pass! + if(istype(A, /mob/living)) // You Shall Get Sucked In And Killed! var/mob/living/M = A HasEntered(M) return 0 - if(istype(A, /obj)) // You Shall Not Pass! + if(istype(A, /obj)) // You Shall Get Mailed! var/obj/M = A HasEntered(M) return 1 diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index ce38d4553de72dca8f69edb7fabeae38f87faa36..fb313fc33b50a408f5979645a5bf71a11ec7bb9f 100644 GIT binary patch delta 12358 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 H!1sRu35g|6 delta 12436 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 Date: Wed, 30 May 2012 17:54:33 -0400 Subject: [PATCH 13/20] Adding some (currently unused) icon generation stuff Basically, a more generalized version of the rune code, split into more reusable procs. Plus one that generates a version of an icon that has a neat bluespace effect applied. --- code/modules/icon generation/Bluespaced.dm | 243 ++++++++++++++++ .../icon generation/Icon_color_animation.dm | 96 +++++++ code/modules/icon generation/Uristrunes.dm | 268 ++++++++++++++++++ 3 files changed, 607 insertions(+) create mode 100644 code/modules/icon generation/Bluespaced.dm create mode 100644 code/modules/icon generation/Icon_color_animation.dm create mode 100644 code/modules/icon generation/Uristrunes.dm diff --git a/code/modules/icon generation/Bluespaced.dm b/code/modules/icon generation/Bluespaced.dm new file mode 100644 index 00000000000..697b9e97196 --- /dev/null +++ b/code/modules/icon generation/Bluespaced.dm @@ -0,0 +1,243 @@ +/proc/bsi_cast_ray(icon/I, list/start, list/end) + + if(abs(start[1] - end[1]) > abs(start[2] - end[2])) + var/dist = abs(start[1] - end[1]) * 2 + + for(var/i = 1, i <= dist, i++) + var/x = round((start[1] * i / dist) + (end[1] * (1 - i / dist))) + var/y = round((start[2] * i / dist) + (end[2] * (1 - i / dist))) + + if(I.GetPixel(x, y) != null) + return list(x, y) + + else + var/dist = abs(start[2] - end[2]) * 2 + + for(var/i = 1, i <= dist, i++) + var/x = round((start[1] * i / dist) + (end[1] * (1 - i / dist))) + var/y = round((start[2] * i / dist) + (end[2] * (1 - i / dist))) + + if(I.GetPixel(x, y) != null) + return list(x, y) + + return null + +/proc/bsi_split_colors(color) + if(color == null) + return list(0, 0, 0, 0) + + var/list/colors = list(0, 0, 0, 0) + colors[1] = hex2num(copytext(color, 2, 4)) + colors[2] = hex2num(copytext(color, 4, 6)) + colors[3] = hex2num(copytext(color, 6, 8)) + colors[4] = (length(color) > 7)? hex2num(copytext(color, 8, 10)) : 255 + + return colors + +/proc/bsi_spread(icon/I, list/start_point) + var/list/queue = list() + queue[++queue.len] = start_point + + var/i = 0 + + while(i++ < length(queue)) + var/x = queue[i][1] + var/y = queue[i][2] + + var/list/pixel = bsi_split_colors(I.GetPixel(x, y)) + if(pixel[4] == 0) + continue + + var/list/n = (y < I.Height())? bsi_split_colors(I.GetPixel(x, y + 1)) : list(0, 0, 0, 0) + var/list/s = (y > 1)? bsi_split_colors(I.GetPixel(x, y - 1)) : list(0, 0, 0, 0) + var/list/e = (x < I.Width())? bsi_split_colors(I.GetPixel(x + 1, y)) : list(0, 0, 0, 0) + var/list/w = (x > 1)? bsi_split_colors(I.GetPixel(x - 1, y)) : list(0, 0, 0, 0) + + var/value = (i == 1)? 16 : max(n[1] - 1, e[1] - 1, s[1] - 1, w[1] - 1) + + if(prob(50)) + value = max(0, value - 1) + + if(prob(50)) + value = max(0, value - 1) + + if(prob(50)) + value = max(0, value - 1) + + if(value <= pixel[1]) + continue + + var/v2 = 256 - ((16 - value) * (16 - value)) + + I.DrawBox(rgb(value, v2, pixel[4] - v2, pixel[4]), x, y) + + if(n[4] != 0 && n[1] < value - 1) + queue[++queue.len] = list(x, y + 1) + + if(s[4] != 0 && s[1] < value - 1) + queue[++queue.len] = list(x, y - 1) + + if(e[4] != 0 && e[1] < value - 1) + queue[++queue.len] = list(x + 1, y) + + if(w[4] != 0 && w[1] < value - 1) + queue[++queue.len] = list(x - 1, y) + + + + + +/proc/bsi_generate_mask(icon/source, state) + var/icon/mask = icon(source, state) + + mask.MapColors( + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 1, 1, + 0, 0, 0, 0) + + var/hits = 0 + + for(var/i = 1, i <= 10, i++) + var/point1 + var/point2 + + if(prob(50)) + if(prob(50)) + point1 = list(rand(1, mask.Width()), mask.Height()) + point2 = list(rand(1, mask.Width()), 1) + + else + point2 = list(rand(1, mask.Width()), mask.Height()) + point1 = list(rand(1, mask.Width()), 1) + + else + if(prob(50)) + point1 = list(mask.Width(), rand(1, mask.Height())) + point2 = list(1, rand(1, mask.Height())) + + else + point2 = list(mask.Width(), rand(1, mask.Height())) + point1 = list(1, rand(1, mask.Height())) + + var/hit = bsi_cast_ray(mask, point1, point2) + + if(hit == null) + continue + + hits++ + + bsi_spread(mask, hit) + + if(prob(20 + hits * 20)) + break + + if(hits == 0) + return null + + else + return mask + +/proc/generate_bluespace_icon(icon/source, state) + + var/icon/mask = bsi_generate_mask(source, state) + + if(mask == null) + return source + + var/icon/unaffected = icon(mask) + unaffected.MapColors( + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 1, + 0, 0, 0, 0, + 255, 255, 255, 0) + + var/icon/temp = icon(source, state) //Mask already contains the original alpha values, avoid squaring them + temp.MapColors( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 0, + 0, 0, 0, 255) + + unaffected.Blend(temp, ICON_MULTIPLY) + + var/icon/bluespaced = icon(mask) + bluespaced.MapColors( + 0, 0, 0, 0, + 0, 0, 0, 1, + 0, 0, 0, 0, + 0, 0, 0, 0, + 1, 1, 1, 0) + + bluespaced.Blend(icon(source, state), ICON_MULTIPLY) + + var/list/frames = list( + list(0.000,20), + list(0.020, 5), + list(0.050, 4), + list(0.080, 5), + list(0.100,10), + list(0.080, 5), + list(0.050, 4), + list(0.020, 5), + + list(0.000,20), + list(0.020, 5), + list(0.050, 4), + list(0.080, 5), + list(0.100,10), + list(0.080, 5), + list(0.050, 4), + list(0.020, 5), + + list(0.000,20), + list(0.020, 5), + list(0.050, 4), + list(0.080, 5), + list(0.100,10), + list(0.080, 5), + list(0.050, 4), + list(0.020, 5), + ) + + var/list/colors = list( + list( 75, 75, 75, 0), + list( 25, 25, 25, 0), + list( 75, 75, 75, 0), + list( 25, 25, 75, 0), + list( 75, 75, 300, 0), + list( 25, 25, 300, 0), + list(255, 255, 255, 0), + list( 0, 0, 0, 255), + list( 0, 0, 0, 0), + list( 0, 0, 0, 0), + ) + + for(var/i = 1, i <= rand(1, 5), i++) + var/f = rand(1, length(frames)) + + if(frames[f][2] > 1) + frames[f][2]-- + frames.Insert(f, 0) + + frames[f] = list(0.8, 1) + + var/icon/result = generate_color_animation(bluespaced, colors, frames) + result.Blend(unaffected, ICON_UNDERLAY) + + return result + + + +/atom/verb/test() + set src in view() + src.icon = generate_bluespace_icon(src.icon, src.icon_state) + +/mob/verb/bluespam() + for(var/turf/t in view(5)) + var/obj/s = new /obj/square(t) + s.icon = generate_bluespace_icon(s.icon, s.icon_state) + diff --git a/code/modules/icon generation/Icon_color_animation.dm b/code/modules/icon generation/Icon_color_animation.dm new file mode 100644 index 00000000000..9681722fcb3 --- /dev/null +++ b/code/modules/icon generation/Icon_color_animation.dm @@ -0,0 +1,96 @@ +//---------------------------------------- +// +// Return a copy of the provided icon, +// after calling MapColors on it. The +// color values are linearily interpolated +// between the pairs provided, based on +// the ratio argument. +// +//---------------------------------------- + +/proc/MapColors_interpolate(icon/input, ratio, + rr1, rg1, rb1, ra1, rr2, rg2, rb2, ra2, + gr1, gg1, gb1, ga1, gr2, gg2, gb2, ga2, + br1, bg1, bb1, ba1, br2, bg2, bb2, ba2, + ar1, ag1, ab1, aa1, ar2, ag2, ab2, aa2, + zr1, zg1, zb1, za1, zr2, zg2, zb2, za2) + var/r = ratio + var/i = 1 - ratio + var/icon/I = icon(input) + + I.MapColors( + (rr1 * r + rr2 * i) / 255.0, (rg1 * r + rg2 * i) / 255.0, (rb1 * r + rb2 * i) / 255.0, (ra1 * r + ra2 * i) / 255.0, + (gr1 * r + gr2 * i) / 255.0, (gg1 * r + gg2 * i) / 255.0, (gb1 * r + gb2 * i) / 255.0, (ga1 * r + ga2 * i) / 255.0, + (br1 * r + br2 * i) / 255.0, (bg1 * r + bg2 * i) / 255.0, (bb1 * r + bb2 * i) / 255.0, (ba1 * r + ba2 * i) / 255.0, + (ar1 * r + ar2 * i) / 255.0, (ag1 * r + ag2 * i) / 255.0, (ab1 * r + ab2 * i) / 255.0, (aa1 * r + aa2 * i) / 255.0, + (zr1 * r + zr2 * i) / 255.0, (zg1 * r + zg2 * i) / 255.0, (zb1 * r + zb2 * i) / 255.0, (za1 * r + za2 * i) / 255.0) + + return I + + + + +//---------------------------------------- +// +// Extension of the above that takes a +// list of lists of color values, rather +// than a large number of arguments. +// +//---------------------------------------- + +/proc/MapColors_interpolate_list(icon/I, ratio, list/colors) + var/list/c[10] + + //Provide default values for any missing colors (without altering the original list + for(var/i = 1, i <= 10, i++) + c[i] = list(0, 0, 0, (i == 7 || i == 8)? 255 : 0) + + if(istype(colors[i], /list)) + for(var/j = 1, j <= 4, j++) + if(j <= length(colors[i]) && isnum(colors[i][j])) + c[i][j] = colors[i][j] + + return MapColors_interpolate(I, ratio, + colors[ 1][1], colors[ 1][2], colors[ 1][3], colors[ 1][4], // Red 1 + colors[ 2][1], colors[ 2][2], colors[ 2][3], colors[ 2][4], // Red 2 + colors[ 3][1], colors[ 3][2], colors[ 3][3], colors[ 3][4], // Green 1 + colors[ 4][1], colors[ 4][2], colors[ 4][3], colors[ 4][4], // Green 2 + colors[ 5][1], colors[ 5][2], colors[ 5][3], colors[ 5][4], // Blue 1 + colors[ 6][1], colors[ 6][2], colors[ 6][3], colors[ 6][4], // Blue 2 + colors[ 7][1], colors[ 7][2], colors[ 7][3], colors[ 7][4], // Alpha 1 + colors[ 8][1], colors[ 8][2], colors[ 8][3], colors[ 8][4], // Alpha 2 + colors[ 9][1], colors[ 9][2], colors[ 9][3], colors[ 9][4], // Added 1 + colors[10][1], colors[10][2], colors[10][3], colors[10][4]) // Added 2 + + + + + +//---------------------------------------- +// +// Take the source image, and return an animated +// version, that transitions between the provided +// color mappings, according to the provided +// pattern. +// +// Colors should be in a format suitable for +// MapColors_interpolate_list, and frames should +// be a list of 'frames', where each frame is itself +// a list, element 1 being the ratio of the first +// color to the second, and element 2 being how +// long the frame lasts, in tenths of a second. +// +//---------------------------------------- + +/proc/generate_color_animation(icon/icon, list/colors, list/frames) + var/icon/out = icon('uristrunes.dmi', "") + var/frame_num = 1 + + for(var/frame in frames) + var/icon/I = MapColors_interpolate_list(icon, frame[1], colors) + out.Insert(I, "", 2, frame_num++, 0, frame[2]) + + return out + + + diff --git a/code/modules/icon generation/Uristrunes.dm b/code/modules/icon generation/Uristrunes.dm new file mode 100644 index 00000000000..3f33f8fed53 --- /dev/null +++ b/code/modules/icon generation/Uristrunes.dm @@ -0,0 +1,268 @@ +//---------------------------------------- +// +// Take a source icon, convert into a mask, +// then create a border around it. +// +// The output then uses the colors and +// alpha values provided. +// +//---------------------------------------- + +/proc/create_border_image(icon/input, border_color = "#000000", fill_color = "#000000", border_alpha = 255, fill_alpha = 255) + var/icon/I = icon('uristrunes.dmi', "blank") + I.Blend(input, ICON_OVERLAY) + + //Discard the image + I.MapColors(0, 0, 0, 0, //-\ Ignore + 0, 0, 0, 0, //--> The + 0, 0, 0, 0, //-/ Colors + 0,255, 0, 1, //Keep alpha channel, any pixel with non-zero alpha gets max green channel + 0, 0, 0, 0) + + //Loop over the image, calculating the border value, and storing it in the red channel + //Store border's alpha in the blue channel + for(var/x = 1, x <= 32, x++) + for(var/y = 1, y <= 32, y++) + var/p = I.GetPixel(x, y) + + if(p == null) + var/n = I.GetPixel(x, y + 1) + var/s = I.GetPixel(x, y - 1) + var/e = I.GetPixel(x + 1, y) + var/w = I.GetPixel(x - 1, y) + var/ne = I.GetPixel(x + 1, y + 1) + var/se = I.GetPixel(x + 1, y - 1) + var/nw = I.GetPixel(x - 1, y + 1) + var/sw = I.GetPixel(x - 1, y - 1) + + var/sum_adj = ((n == "#00ff00"? 1 : 0) \ + + (s == "#00ff00"? 1 : 0) \ + + (e == "#00ff00"? 1 : 0) \ + + (w == "#00ff00"? 1 : 0)) + + var/sum_diag = ((ne == "#00ff00"? 1 : 0) \ + + (se == "#00ff00"? 1 : 0) \ + + (nw == "#00ff00"? 1 : 0) \ + + (sw == "#00ff00"? 1 : 0)) + + + if(sum_adj) + I.DrawBox(rgb(255, 0, 200, 0), x, y) + + else if(sum_diag) + I.DrawBox(rgb(255, 0, 100, 0), x, y) + + else + I.DrawBox(rgb(0, 0, 0, 0), x, y) + + else if(p != "#00ff00") + var/a = 255 + + if(length(p) == 9) // "#rrggbbaa", we want the aa + a = hex2num(copytext(p, 8)) + + I.DrawBox(rgb(255 - a, a, 255 - a, a), x, y) + + //Map the red and green channels to the desired output colors + I.MapColors(border_color, fill_color, rgb(0, 0, 0, border_alpha), rgb(0, 0, 0, fill_alpha), "#00000000") + + return I + + + + +//---------------------------------------- +// +// Take a source icon, convert into a mask, +// and border. Color them according to args, +// and animate. +// +//---------------------------------------- + +/proc/animate_rune_full(icon/input, rr1, rg1, rb1, ra1, rr2, rg2, rb2, ra2, br1, bg1, bb1, ba1, br2, bg2, bb2, ba2, ar1, ag1, ab1, aa1, ar2, ag2, ab2, aa2, or1, og1, ob1, oa1, or2, og2, ob2, oa2, frames) + + var/list/colors[10] + colors[ 1] = list(rr1, rg1, rb1, ra1) //Rune color 1 + colors[ 2] = list(rr2, rg2, rb2, ra2) //Rune color 2 + colors[ 3] = list(br1, bg1, bb1, ba1) //Border color 1 + colors[ 4] = list(br2, bg2, bb2, ba2) //Border color 2 + colors[ 5] = list( 0, 0, 0, 0) //Unused + colors[ 6] = list( 0, 0, 0, 0) //Unused + colors[ 7] = list(ar1, ag1, ab1, aa1) //Alpha color 1 + colors[ 8] = list(ar2, ag2, ab2, aa2) //Alpha color 2 + colors[ 9] = list(or1, og1, ob1, oa1) //Added color 1 + colors[10] = list(or2, og2, ob2, oa2) //Added color 2 + + var/icon/base = create_border_image(input, "#00ff0000", "#ff000000") + + return generate_color_animation(base, colors, frames) + + + + +//---------------------------------------- +// +// Calls the above, but accepts colors in +// the form of "#RRGGBBAA", and provides +// default values. +// +// Main limit is that it doesn't accept +// negative values, which you probably +// don't need anyway. Also missing a few +// color inputs, which would also be rarely +// used. +// +//---------------------------------------- + + +/proc/animate_rune(icon/input, rune_color = "#00000000", border_color = "#c8000000", rune_color2 = "#00000000", border_color2 = "#d8380000", alpha = 255, alpha2 = 255, frames = rune_animation) + var/rr1 = hex2num(copytext(rune_color, 2, 4)) + var/rg1 = hex2num(copytext(rune_color, 4, 6)) + var/rb1 = hex2num(copytext(rune_color, 6, 8)) + var/ra1 = hex2num(copytext(rune_color, 8, 10)) + var/rr2 = hex2num(copytext(rune_color2, 2, 4)) + var/rg2 = hex2num(copytext(rune_color2, 4, 6)) + var/rb2 = hex2num(copytext(rune_color2, 6, 8)) + var/ra2 = hex2num(copytext(rune_color2, 8, 10)) + var/br1 = hex2num(copytext(border_color, 2, 4)) + var/bg1 = hex2num(copytext(border_color, 4, 6)) + var/bb1 = hex2num(copytext(border_color, 6, 8)) + var/ba1 = hex2num(copytext(border_color, 8, 10)) + var/br2 = hex2num(copytext(border_color2, 2, 4)) + var/bg2 = hex2num(copytext(border_color2, 4, 6)) + var/bb2 = hex2num(copytext(border_color2, 6, 8)) + var/ba2 = hex2num(copytext(border_color2, 8, 10)) + + return animate_rune_full(input, rr1, rg1, rb1, ra1, rr2, rg2, rb2, ra2, br1, bg1, bb1, ba1, br2, bg2, bb2, ba2, 0, 0, 0, alpha, 0, 0, 0, alpha2, 0, 0, 0, 0, 0, 0, 0, 0, frames) + + +/proc/inanimate_rune(icon/input, rune_color = "#00000000", border_color = "#c8000000") + var/icon/base = create_border_image(input, "#00ff0000", "#ff000000") + + base.MapColors(rune_color, border_color, "#00000000", "#000000ff", "#00000000") + + return base + +var/list/rune_animation = list( + list(0.000, 5), + list(0.020, 1), + list(0.050, 1), + list(0.090, 1), + list(0.140, 1), + list(0.200, 1), + list(0.270, 1), + list(0.340, 1), + list(0.420, 1), + list(0.500, 1), + list(0.590, 1), + list(0.675, 1), + list(0.750, 1), + list(0.900, 1), + list(1.000, 6), + list(0.875, 1), + list(0.750, 1), + list(0.625, 1), + list(0.500, 1), + list(0.375, 1), + list(0.250, 1), + list(0.125, 1), + ) + +/var/list/rune_cache = list() + +/proc/get_rune(rune_bits, animated = 0) + var/lookup = "[rune_bits]-[animated]" + + if(lookup in rune_cache) + return rune_cache[lookup] + + var/icon/base = icon('uristrunes.dmi', "") + + for(var/i = 0, i < 10, i++) + if(rune_bits & (1 << i)) + base.Blend(icon('uristrunes.dmi', "rune-[1 << i]"), ICON_OVERLAY) + + var/icon/result + + if(animated == 1) + result = animate_rune(base) + + else + result = inanimate_rune(base) + + rune_cache[lookup] = result + return result + + + + + +// Testing procs and Fun procs + + + + +/mob/verb/create_rune() + var/obj/o = new(locate(x, y, z)) + o.icon = get_rune(rand(1, 1023), 1) + +/mob/verb/runes_15x15() + for(var/turf/t in range(7)) + var/obj/o = new /obj(t) + o.icon = get_rune(rand(1, 1023), 1) + + +/* +/mob/verb/create_rune_custom(rune as num, color1 as color, border1 as color, color2 as color, border2 as color, alpha1 as num, alpha2 as num) + var/icon/I = icon('uristrunes.dmi', "blank") + + for(var/i = 0, i < 10, i++) + if(rune & (1 << i)) + I.Blend(icon('uristrunes.dmi', "rune-[1 << i]"), ICON_OVERLAY) + + var/obj/o = new(locate(x, y, z)) + o.icon = animate_rune(I, color1, border1, color2, border2, alpha1, alpha2) + +/mob/verb/spam() + for(var/turf/t in range(4)) + var/icon/I = icon('uristrunes.dmi', "blank") + + var/rune = rand(1, 1023) + for(var/i = 0, i < 10, i++) + if(rune & (1 << i)) + I.Blend(icon('uristrunes.dmi', "rune-[1 << i]"), ICON_OVERLAY) + + var/obj/o = new(t) + o.icon = animate_rune_full(I, rand(0, 255), rand(0, 255), rand(0, 255), rand(-255, 255), + rand(0, 255), rand(0, 255), rand(0, 255), rand(-255, 255), + rand(0, 255), rand(0, 255), rand(0, 255), rand(-255, 255), + rand(0, 255), rand(0, 255), rand(0, 255), rand(-255, 255), + 0, 0, 0, rand(0, 255), + 0, 0, 0, rand(0, 255), + 0, 0, 0, 0, + 0, 0, 0, 0, + list( + list(0.000, 5), + list(0.020, 1), + list(0.050, 1), + list(0.090, 1), + list(0.140, 1), + list(0.200, 1), + list(0.270, 1), + list(0.340, 1), + list(0.420, 1), + list(0.500, 1), + list(0.590, 1), + list(0.675, 1), + list(0.750, 1), + list(0.900, 1), + list(1.000, 6), + list(0.875, 1), + list(0.750, 1), + list(0.625, 1), + list(0.500, 1), + list(0.375, 1), + list(0.250, 1), + list(0.125, 1), + )) +*/ \ No newline at end of file From 04f19dea7f4f4621a66a7ec7deb35c9cf7944a53 Mon Sep 17 00:00:00 2001 From: Lexus Langg Date: Wed, 30 May 2012 15:27:00 -0700 Subject: [PATCH 14/20] Added a Liquidfood dispenser, food, charge, and crate using a combo of mine and Kirby's sprite. Fully tested, everything seems to work fine. Signed-off-by: Lexus Langg --- code/defines/obj/supplypacks.dm | 5 +++ code/defines/obj/vending.dm | 21 +++++++++- code/defines/obj/weapon.dm | 17 ++++++++ code/game/objects/items/trash.dm | 3 ++ code/modules/chemical/Chemistry-Tools.dm | 3 ++ code/modules/food/food.dm | 49 +++++++++++++++++++++++ icons/obj/food.dmi | Bin 81968 -> 83195 bytes icons/obj/food_ingredients.dmi | Bin 6889 -> 4969 bytes icons/obj/trash.dmi | Bin 3849 -> 3671 bytes icons/obj/vending.dmi | Bin 65821 -> 67465 bytes 10 files changed, 97 insertions(+), 1 deletion(-) diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm index 076a0bccd49..5f62fe8f1e0 100755 --- a/code/defines/obj/supplypacks.dm +++ b/code/defines/obj/supplypacks.dm @@ -164,6 +164,11 @@ contains = list("/obj/item/weapon/vending_charge/snack") containername = "Snack charge crate" +/datum/supply_packs/charge/liquidfood + name = "LiquidFood Charge" + contains = list("/obj/item/weapon/vending_charge/liquid") + containername = "LiquidFood charge crate" + /* /datum/supply_packs/charge/cart name = "PDA Cart Charge" diff --git a/code/defines/obj/vending.dm b/code/defines/obj/vending.dm index 0f3c1fb7473..68cf95ee14a 100755 --- a/code/defines/obj/vending.dm +++ b/code/defines/obj/vending.dm @@ -390,6 +390,20 @@ hidden_prices = "" charge_type = "robotics" +/obj/machinery/vending/liquid + name = "LiquidRation Dispenser" + desc = "All the food you'll ever need to survive!" + icon_state = "liquidfood" + product_paths = "/obj/item/weapon/reagent_containers/food/snacks/liquidfood;/obj/item/weapon/flavor/red;/obj/item/weapon/flavor/blue" +// product_amounts = "6;6;6;6;6;6;6" + product_prices = "1;1;1" + product_slogans = "Enjoy your NanoTrasen LiquidFood Ration! Now with a choice of TWO delicious flavors!" + product_hidden = "" +// product_hideamt = "10" + hidden_prices = "" + product_ads = "Think of it as free survival!;It's even healthy!;Take a quick break, enjoy your ration!" + charge_type = "liquid" + /obj/item/weapon/vending_charge name = "Vending Charge" var/charge_type = "generic" @@ -477,4 +491,9 @@ /*/obj/item/weapon/vending_charge/toxinslab name = "Toxins Lab Charge" charge_type = "toxinslab" - icon_state = "toxinslab-charge"*/ \ No newline at end of file + icon_state = "toxinslab-charge"*/ + +/obj/item/weapon/vending_charge/liquid + name = "LiquidRation Charge" + charge_type = "liquid" + icon_state = "liquidfood-charge" \ No newline at end of file diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 1af2a50a96c..82c9919477c 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -2041,3 +2041,20 @@ eternal248: Found broken and buggy Z-levels 7-12, ended up leading to my discove name = "inflamed appendix" desc = "An appendix which appears to be inflamed." icon_state = "appendixinflamed" + +/obj/item/weapon/flavor + name = "flavoring" + desc = "A sachet of flavoring, designed to be used with LiquidFood rations." + icon = 'food_ingredients.dmi' + +/obj/item/weapon/flavor/red + name = "cherry flavoring" + desc = "A sachet of cherry flavoring, designed to be used with LiquidFood rations." + icon = 'food_ingredients.dmi' + icon_state = "flavor-red" + +/obj/item/weapon/flavor/blue + name = "berry flavoring" + desc = "A sachet of berry flavoring, designed to be used with LiquidFood rations." + icon = 'food_ingredients.dmi' + icon_state = "flavor-blue" diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index ecb7bc49f02..f37eac3c707 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -46,6 +46,9 @@ name = "candle" icon = 'candle.dmi' icon_state = "candle4" + liquidfood + name = "LiquidFood ration" + icon_state = "liquidfood" /obj/item/trash/attack(mob/M as mob, mob/living/user as mob) return diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm index fcdf7dcb846..8de9d005c49 100644 --- a/code/modules/chemical/Chemistry-Tools.dm +++ b/code/modules/chemical/Chemistry-Tools.dm @@ -1508,6 +1508,9 @@ if ("tray") var/obj/item/trash/tray/T = new /obj/item/trash/tray/( M ) M.put_in_hand(T) + if ("liquidfood") + var/obj/item/trash/liquidfood/T = new /obj/item/trash/liquidfood/( M ) + M.put_in_hand(T) return attackby(obj/item/weapon/W as obj, mob/user as mob) diff --git a/code/modules/food/food.dm b/code/modules/food/food.dm index b820fd6c179..b3db1328aa2 100644 --- a/code/modules/food/food.dm +++ b/code/modules/food/food.dm @@ -1471,6 +1471,32 @@ reagents.add_reagent("nutriment", 8) bitesize = 2 +/obj/item/weapon/reagent_containers/food/snacks/liquidfood + name = "LiquidFood ration" + icon_state = "liquidfood" + desc = "A bland, tasteless pulp of what you need to survive. Packaged in a airtight bag, which you can drink through a straw. Strangely crunchy." + trash = "liquidfood" + var/flavored = 0 + New() + ..() + reagents.add_reagent("nutriment", 5) + reagents.add_reagent("water", 5) + reagents.add_reagent("tricordrazine", 2) + bitesize = 6 + +/obj/item/weapon/reagent_containers/food/snacks/liquidfood/red + name = "flavored LiquidFood ration" + icon_state = "liquidfood-red" + desc = "A flavored pulp of nutritional essentials. It has a faint sour apple taste, but still is hard to stomach. Strangely crunchy." + flavored = 1 + + +/obj/item/weapon/reagent_containers/food/snacks/liquidfood/blue + name = "flavored LiquidFood ration" + icon_state = "liquidfood-blue" + desc = "A flavored pulp of nutritional essentials. It has a faint bitter berry taste, but still is hard to stomach. Strangely crunchy." + flavored = 1 + /////////////////////////////////////////////////Sliceable//////////////////////////////////////// // All the food items that can be sliced into smaller bits like Meatbread and Cheesewheels @@ -2022,6 +2048,29 @@ else ..() +// Liquidfood + Flavoring = Flavored Liquidfood! :P +/obj/item/weapon/reagent_containers/food/snacks/liquidfood/attackby(obj/item/weapon/W as obj, mob/user as mob) + // Check if already flavored + if (istype(W,/obj/item/weapon/flavor) && src.flavored) + user << "You cannot add flavoring to an already flavored ration." + return + + // Red flavoring + else if(istype(W,/obj/item/weapon/flavor/red)) + var/turf/spawnloc = foodloc(user, src) + new /obj/item/weapon/reagent_containers/food/snacks/liquidfood/red(spawnloc) + user << "You add the flavoring." + del(W) + del(src) + + // Blue flavoring + else if(istype(W,/obj/item/weapon/flavor/blue)) + var/turf/spawnloc = foodloc(user, src) + new /obj/item/weapon/reagent_containers/food/snacks/liquidfood/blue(spawnloc) + user << "You add the flavoring." + del(W) + del(src) + /obj/item/weapon/reagent_containers/food/snacks/taco name = "taco" desc = "Take a bite!" diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 6e7efe921c0f0eb62d37dcc4f8ec2809ae4634fd..be5913148a31b22d61e8dd2cd5e3b12381408b09 100644 GIT binary patch literal 83195 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 WMPBJJ?(;kX{7{fpm8p?33;th7I_m-e literal 81968 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�>J8*e0kPJ{e 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

oO4JVkUFfe)xACpcXAo4e+mCKYO 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 RO(@_aBcUi>DQXn-zX1BzrXTqAWU?k_voVs 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 literal 6889 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 diff --git a/icons/obj/trash.dmi b/icons/obj/trash.dmi index e77570de6ad9826bf03d9451c0fb67e6f70c43bc..2d404f6b020d7c068d2a01fdeab10ab9c583a679 100644 GIT binary patch delta 3100 zcmV+%4CC{O9@iX@BmrcxB|8Ftz`(#zRbOLjc6ou0K@x4Bl>o9f z0K=*Pc4h#To2GIN00ZrnZ2$lO0d!JMQvg8b*k%9#0OfjASad{Xb7OL8aCB*JZU6vy zoQ;#ujshVJhtI=P5WO4!UH7ul7!T_!5F9#E87WKAiEqDTO}v?M`;~lu{eUK&>+k*H zc+$I{qk2GQq^Q62cCl35gs%8nY}TstfEQn01s7YO#@RNK$rc$S&s66yb3I+DZpiiq zul#0v8{Jc;JSN$dDD{+MgAITYjHejt*F>I)uaJZMOnyd(rndoP>12mtY~a#ZgM4$e zeK2R5Mp=k8)`1e6RGVafHQWNWp(R^+NEKp#wwGlyxoRfY&E!TTNBq5`8;IN|bguWO z-T#LC0o?fOqEJ#SMF0Q_ut`KgRCt{2n2mo^R~g5%v>|PprfIbiHOWGC+7#a?=(Qp` zbQ`{c%34dSL&MvO>n7vHQC=p}0yYULNjfSt&>2ICFlZ5`Q$Fc`U1&E-|0$p6oTS|3 zKIfzjT;cOEzk8FL<~hCh+uu3QIj4`wR8d70RmAnolLlCnnf|)!X(6n(tPlqQvZ}n> zS|47m(uO5fQ*EI=)WDTtrnOdkc@$LxVW~FdxX7)09DFr3D{N$_uFejJ;P>j8sr#>-CBO9j-QXutvv!XF@(y%j(rFK3()nUv6~b z@fGJ+zb4>wTk~=Y2wOpG)~xaSn>{q3!{u;+8lac;4gz6&JL6luR!_L@>p8%tZ_p1n zF+N3cD+&gTUM_H=>fmV_?n(`iW1q)=-h62 zi2#v}5&AoSC_qPp1K?~fo6XkdAm$kc2nMcQOZD+O7=TUA`jyUa)vp&4GCV~_XvNd( zZT0wdQJDW4xP3Mlhc=TA5dd3Q2h)J-z75mhhVRsWxBhvW5U^Me1Ec`Z?t5-J)S6FfmwzWB2Hit!Tpvl()-r>>GP6Gbmhd=r;nD~?WpFY3-Me6Z53gv`2 z!+1BLT6Jk+wy^oH0W#UG5F3QGZnwljm}NF^*$iscr%5#ftZ@mp zGR#1K^sjwsfIp)Nfv>i=Dpu&DkU|5a;u)O=j zhOo|#`$5s3wKSnyd(p}7Z$-4$a`{leST^CP==1b&PA2?`*rsGwd9_&t84kU@9g~LqRK+7^L4Nqv%RB(s6Zlr zR9F7mr6^rp%Y#I`?(S{f-Q7L#q7i!^in@ibLL6 zSblHW_qqjew`&^gd6OZsQMe88-qi4!(7*ki2Riq|?GNq^91H~Z?+xq^1SkuCL5C;{ zyBHY?|B8N3At3Vo0pQ*`Y#A8XWjTCg-w{gzA4gnN0Ui>9hpz>W9t@tX z^c^c6h0H?b(4j-e1%1rW&|*CMwS>qwF!1)k;kS%$*U>Hr6kZs^p1@j(%w!r<_&UkiwQ(6biHKFh8n1FWMdKACz?oIG(- zGtHa?5otU$1bjn7Lj)n~;(QkM7bMAc^T1BpG4&F5va;vzY0KWooR z`1Hs~L`V=S5ihNCg72e$(OB&4a7?3UlmZxuN8)0KLL(7roGBQVMMr5;z>B?8AVj1P zfB>F<{=9@x5?{JT3x0|g<8efSFcgo6*yBZn()ie4;J^?3T_AlgbH1oX!%-pO1?<4{ zLW`vFv5Vv5;|O_?225N^kl$a9P2}+2{cG}X$z+m!erF}bsEMyLX(l>>GK!-0K zAfiRj4l};@lGjCmBT@hsmMtVKOTfQiTI}HD6ub%mqtm%0fh@)=bT6}UA~sz-&p-~y z1{s7gPBsWKzAz|#GaVGng8(=+b!%#BQlBON$ffZ$p2vcJB$hkKqml+=>0ml|GZ+*a z2z@(sD{-sHL9{S7F_E97b9lg~GY}C{u-M7~(Lqs*v0(ZpoNx#LZ^Q7rHI*pLksKi) zY89jS7-0O4959|r30jQ39}GhGrqhBPHeDHo6rO@SK34>2x;#Cd+r-?ses=fqNK(HO#*uICu0ThX$e4fm0v>d>uEp$3793R7jA4Y_BIc0(@w~px z<9O;@WHKt71ZNB*WYtAhpQ9>t%t0QHV3kbQVqqaOi-78kQG9Xs=r})%pU;YS5gw<1 zYk2Cy!Yn5=$U!X6rFi{|csxW?cT%}HHqZlR7qVI8Gm4Ox=h*Y(`XU*tF6Q~5fxbir z`_+YoY6fUbCO<6CQ58B~8Phh<0cJAy?p3QZAcN9`mFHM}j;he{Xg*HY@G_Zd#4{O| q#u}9f3;!+17&i@8RMC^se*vN{BU8c;;}F;Y0000AwNRv3mUB z4*St5$;Y$s@bIvkY0S)-nPz6TfO?&ahMAdW^T-0}!V&1+u&|FDnPxMZ9u(891*VZ# zo>e!lsHV)B0FZq~_Sgj9#VuxLX5QZ3|I7f)%x1Tvq-+2H00DGTPE!DXK<3zH0002o zdQ@0+L}hbha%pgMX>V=-0C=2@lFyC;AqrgP+>XUm~Je8@WfC4V|$3hTckR-}L6T2);x*DH>+R$1+ACf@qZ*X5XlbdF8 z+f45MBbWAgJ^Zfy4;7c*)T)reH~;_(CP_p=RCt{2od16lcOA!nZ=q@0G)+Ub5jDv| zb=nla(V}NXbm%txN>$ccS{)iFthjEn0*>-!A}wHZAtgyig$6ofD3Ok~NT*Zc3ff_Z zlQGx^*!k@*@%{eXrA>05&*##lCH*0IYC zua_(q!UBCEI|z_}OENpGVRmca?x?Av0zKWs1h@>$G!!RpvQYsLYVDJWi?Vg|!BU!cGS?Tg_Hb8I-cxK_IND zA$%)p)r6~mKC1whe~x}~f$)iMLKhSk|mr z_DJdKM;{~Kh^c^xN5lpMHpe=L!J(>!g?h!o>T0vqXx6I@6r7dd9WIqMRKTx&{Ttr| z6Tek|`t65TKT112)(_&-)Xk)T02WypQyF3)`d5=4;CJYRz*k&c%&3Kcw+{L0*Q*W0GR9JV5Zsg3 z)IvrFvHqnANR(32Xkl?NF_8vX1$dx(;QKCrrJKV9XdVue|cgE3dqN z?vpm;8bCuE9?vxaTZ`4ZIM?Iy+Xi9rq6&)|4Yi>4uVF@+{l3H$-)hb|8yn|-_=bk> z&nP3r5@#LBF`Me@C>cnEYK(6iMX|AQZjgxA)U>gwsi_%Wbi|ff(GKCPo0XHoC(2Z~ z6=lS^@Bv=)50DKYn}67hh$^@z8pwiwC!j$(>+CX}C{h4t*u=PlVlv<+s%8Kinwx*r zOz?oNx#`DENfx%W$ZT#mp200AXi^ZJb)sDq?I@Okvkv0tWWY_j&6_vtwzTTDZqezs z>U8iyw{?b3*!E-tDcy|#*^HnKPi{-#d!nID_HMgdbi02dx}PGHNrYe^!2`^HIw!@! znaoprd%M`43b;w9*FR0xXY~4?>UTV?2i#2wJ8XNFAd*_R5%8W(;1kflj)t8L9dP(v z+ugg|?vCy54!4_TA!s+v!bU=d!hc1(JsA-Beg<&Q?a_C3w(9rn-LY4n#3v)pC`RQ)?lyP~5$H_W?#36Ew6K*Y-q0EwzH`rWdv^fn zGe2+bRPhnSCZbe406d7Tq77{O#lE(EJNLKYpNCX{T}an`_&^s6P$Y2p)}9E6d{DA_ z{SJNW-cC}`G(MhM4jwvqD50A<1fn$K?rz}g?(U`#k|K_`qV}XlvPsu}xdr^&gIxMn z@N&zX`4mEVK^-}w=0gj?zQc#RyC`K$8VP{|^NuD0^81(c30siv$RSvcAReW!hDzAg z{mTR50SaIvKpiD*M8r==Q+t{DP)m#K9+oa`C;>iu*8%bHVOmGnh)^QJAs_bA^UfzE zjCJ&|(`4^L(eitwi#{rU!y(&(@M(%<_c-~z#<|WA=3ONv`TSm9dF7Q?mg-s1qk9(g z=!zss$~5jx_&jG;93*>8$4qfC&+hB>F$pA%xVDZnzW4hBfnz;^1o{0mfZm`l$aYBT z^>O1w9xpH2M<)fmzza!2L>dAR!1+&{;1F`+>8mg4FMleYj7TAWl!8HtoSsF@tdgR90HGD|2&7;{gAn+mW4w@zzA=Ngv7xx7>C7-fQp?I zK;ZLn2uPS`A#o5C9bp0j9llh6h~_`mL-<|_53>M!xd0@8%o|8ZD*^vJQMQ9aqwq=s z^p7cx1X?j}p?HangMqQseg@hAuaZF+ghM=y?!4yjwo@04bI zUT(*XM$C6mj&gSBk9wk>5s!yyAe8Os#n8nR2hqa7;9$IyR`7sNWgsF%V6f!@qJykG z`aRJRSYcs*0A7OXcX2e7+(r~aKulDC#zz2y<9xtiB*NIE|7DK{iZ>c%v|-_FA2i`n zXvfD>0EIJSW6C7v!tk-43;1Ddj5dx0BS9u0jKh%#^09US1EB(XJzhpHD4hL$-yeYS zl}ml8fWjI780wE>GxAgT1Zh0T0UQrvmrQ?_Tj=!P;lqal- zVlV&%2Qbb@2aI}Q5b-hxI&33Q#FsCHE>rl@6cDnj;5Z=+G66{^$R3I1aReAuZ3NUa zoGu|}zAPa=!J}6}GSLFDW`i(^k%y5Xii7C_awWyZ-X%U|WeBD+fXJ8@E)s=K=b9j| z+$i>c=T|4LT)q02zfRUqzIN?zv8k!4m>|5KvRAfuTx72Wy`v&aWp&3y?8^0tzrXRu zKW@Bvb8_Up+gILx=jx3cH{Jz;x3C7#ssR6nhinvk?aJ*} z@7#Uo-o1%`-XsR-oNT^#%_@U zpq)Ic{2k|pgV^-M#Psx?xBopcd9D5$)Pb1rAJy-*?kCX7&uQlGrteNqU%&nCd;k4k zOmQH&5@vnBfL4A^Gk>?>_XA{?zq=2TPM(w`PX10SzR;53KULi96U2krFNcJZ4-D*OdMHJdc+Lo=2jxDh7bVcSY1; zMwEEY0DVe!iJAme@D)gAib~dkTuTfDN`j7-A|w9A6L?VA8ibjN|1b#IBH|F`^d!G6 z$8pUVknymGbS^e0*+r6{qh;ubgL2$|hgmX4iY1+gIb>J?Fg@p!^K+E*ljNOGj`MPO z!opoFj_J9God2Sn9-@))h!V#g*no;MxQdGZtOYqeN6sHqC&@^5G0q1&u+w}z0Ig>! zaIfW_P0!IXbaG}aaR&;Z=CcyAyH=Z|=SY5zmZ6iQ@i;w)w-DE2Co@RA44ouGY3z{g zwbp4p${=&4b1k*jqY5-Gm7WJ_Jc=OmOQGjWIla_bQ}b{sv-(K^{|6?iUn!Ga?xX+! N002ovPDHLkV1nWpNeKV| diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index 83f460caac1b61ec8302a4a13394ee54483b4b23..0af242f94dfd684148353db085720aea621cbd82 100755 GIT binary patch literal 67465 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 NDZWybEdy=s{vXX&XJP;V literal 65821 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 r{slj~1@XXml>5J Date: Wed, 30 May 2012 16:26:24 -0700 Subject: [PATCH 15/20] Some improvements for the LiquidFood stuff. --- code/defines/obj/supplypacks.dm | 2 +- code/defines/obj/vending.dm | 2 +- code/defines/obj/weapon.dm | 23 +++++++++------ code/game/objects/items/trash.dm | 2 +- code/modules/food/food.dm | 49 +++++++++++--------------------- 5 files changed, 35 insertions(+), 43 deletions(-) diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm index 5f62fe8f1e0..7e39e7e50fb 100755 --- a/code/defines/obj/supplypacks.dm +++ b/code/defines/obj/supplypacks.dm @@ -165,7 +165,7 @@ containername = "Snack charge crate" /datum/supply_packs/charge/liquidfood - name = "LiquidFood Charge" + name = "\"LiquidFood\" Charge" contains = list("/obj/item/weapon/vending_charge/liquid") containername = "LiquidFood charge crate" diff --git a/code/defines/obj/vending.dm b/code/defines/obj/vending.dm index 68cf95ee14a..b44465e4325 100755 --- a/code/defines/obj/vending.dm +++ b/code/defines/obj/vending.dm @@ -397,7 +397,7 @@ product_paths = "/obj/item/weapon/reagent_containers/food/snacks/liquidfood;/obj/item/weapon/flavor/red;/obj/item/weapon/flavor/blue" // product_amounts = "6;6;6;6;6;6;6" product_prices = "1;1;1" - product_slogans = "Enjoy your NanoTrasen LiquidFood Ration! Now with a choice of TWO delicious flavors!" + product_slogans = "Enjoy your NanoTrasen \"LiquidFood\" Ration! Now with a choice of TWO delicious flavors!" product_hidden = "" // product_hideamt = "10" hidden_prices = "" diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 82c9919477c..2fa4a0ac927 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -2043,18 +2043,25 @@ eternal248: Found broken and buggy Z-levels 7-12, ended up leading to my discove icon_state = "appendixinflamed" /obj/item/weapon/flavor - name = "flavoring" - desc = "A sachet of flavoring, designed to be used with LiquidFood rations." + name = "bland flavoring packet" + desc = "A sachet of flavoring, designed to be used with \"LiquidFood\" rations. The flavor is indeterminable." icon = 'food_ingredients.dmi' + var/descriptor = "disturbingly beige" //Description shown to onlookers. + var/color = "beige" //Color the icon should take on when this is applied. Also shown when it is mixed in. + var/newDesc = "It posesses a strange and unidentifiable taste. You try not to think to hard about it." //What gets pegged onto the description. /obj/item/weapon/flavor/red - name = "cherry flavoring" - desc = "A sachet of cherry flavoring, designed to be used with LiquidFood rations." - icon = 'food_ingredients.dmi' + name = "cherry flavoring packet" + desc = "A sachet of cherry flavoring, designed to be used with \"LiquidFood\" rations." icon_state = "flavor-red" + descriptor = "garrishly red" + color = "red" + newDesc = "It has a faintly cherry taste, but still is hard to stomach. Reminds you of cough syrup." /obj/item/weapon/flavor/blue - name = "berry flavoring" - desc = "A sachet of berry flavoring, designed to be used with LiquidFood rations." - icon = 'food_ingredients.dmi' + name = "berry flavoring packet" + desc = "A sachet of berry flavoring, designed to be used with \"LiquidFood\" rations." icon_state = "flavor-blue" + descriptor = "molted blue" + color = "blue" + newDesc = "It has a faint bitter berry taste, but still is hard to stomach. Strangely crunchy." diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index f37eac3c707..b2f6f24f6c7 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -47,7 +47,7 @@ icon = 'candle.dmi' icon_state = "candle4" liquidfood - name = "LiquidFood ration" + name = "\improper \"LiquidFood\" ration" icon_state = "liquidfood" /obj/item/trash/attack(mob/M as mob, mob/living/user as mob) diff --git a/code/modules/food/food.dm b/code/modules/food/food.dm index b3db1328aa2..2509894e131 100644 --- a/code/modules/food/food.dm +++ b/code/modules/food/food.dm @@ -1472,7 +1472,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/liquidfood - name = "LiquidFood ration" + name = "\improper \"LiquidFood\" ration" icon_state = "liquidfood" desc = "A bland, tasteless pulp of what you need to survive. Packaged in a airtight bag, which you can drink through a straw. Strangely crunchy." trash = "liquidfood" @@ -1484,19 +1484,6 @@ reagents.add_reagent("tricordrazine", 2) bitesize = 6 -/obj/item/weapon/reagent_containers/food/snacks/liquidfood/red - name = "flavored LiquidFood ration" - icon_state = "liquidfood-red" - desc = "A flavored pulp of nutritional essentials. It has a faint sour apple taste, but still is hard to stomach. Strangely crunchy." - flavored = 1 - - -/obj/item/weapon/reagent_containers/food/snacks/liquidfood/blue - name = "flavored LiquidFood ration" - icon_state = "liquidfood-blue" - desc = "A flavored pulp of nutritional essentials. It has a faint bitter berry taste, but still is hard to stomach. Strangely crunchy." - flavored = 1 - /////////////////////////////////////////////////Sliceable//////////////////////////////////////// // All the food items that can be sliced into smaller bits like Meatbread and Cheesewheels @@ -2049,27 +2036,25 @@ ..() // Liquidfood + Flavoring = Flavored Liquidfood! :P -/obj/item/weapon/reagent_containers/food/snacks/liquidfood/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/weapon/reagent_containers/food/snacks/liquidfood/attackby(obj/item/weapon/flavor/W as obj, mob/user as mob) // Check if already flavored - if (istype(W,/obj/item/weapon/flavor) && src.flavored) - user << "You cannot add flavoring to an already flavored ration." + if(istype(W)) + if (flavored) + user << "You cannot add flavoring to an already flavored ration, however bland it may be." + return + + user.visible_message("\The [user] adds [prob(30) ? "some of" : ""] \a [W] to \a [src], mixing it into [W.decriptor] gruel.",\ + "You add \the [W] into your bland [src]. As you mix it into a grotesquely [W.color] paste, you reflect that this was not a wise decision.",\ + "You hear a small tinfoil package being ripped open, then the sound of a thick paste being mixed.") + name = "[W.color] \"LiquidFood\" ration" + icon_state = "liquidfood-[W.color]" + desc = "A flavored pulp of nutritional essentials. [W.newDesc]" + flavored = 1 + + del(W) return - // Red flavoring - else if(istype(W,/obj/item/weapon/flavor/red)) - var/turf/spawnloc = foodloc(user, src) - new /obj/item/weapon/reagent_containers/food/snacks/liquidfood/red(spawnloc) - user << "You add the flavoring." - del(W) - del(src) - - // Blue flavoring - else if(istype(W,/obj/item/weapon/flavor/blue)) - var/turf/spawnloc = foodloc(user, src) - new /obj/item/weapon/reagent_containers/food/snacks/liquidfood/blue(spawnloc) - user << "You add the flavoring." - del(W) - del(src) + return ..() /obj/item/weapon/reagent_containers/food/snacks/taco name = "taco" From f2b61474324888ed7e1ff5a761f2261122a1cefe Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Wed, 30 May 2012 16:36:57 -0700 Subject: [PATCH 16/20] Whoops! --- code/modules/food/food.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food/food.dm b/code/modules/food/food.dm index 2509894e131..4baee5736aa 100644 --- a/code/modules/food/food.dm +++ b/code/modules/food/food.dm @@ -2043,7 +2043,7 @@ user << "You cannot add flavoring to an already flavored ration, however bland it may be." return - user.visible_message("\The [user] adds [prob(30) ? "some of" : ""] \a [W] to \a [src], mixing it into [W.decriptor] gruel.",\ + user.visible_message("\The [user] adds [prob(30) ? "some of" : ""] \a [W] to \a [src], mixing it into [W.descriptor] gruel.",\ "You add \the [W] into your bland [src]. As you mix it into a grotesquely [W.color] paste, you reflect that this was not a wise decision.",\ "You hear a small tinfoil package being ripped open, then the sound of a thick paste being mixed.") name = "[W.color] \"LiquidFood\" ration" From 3d3f49bea1bea424ba288d1db8b3d7b440045d66 Mon Sep 17 00:00:00 2001 From: Erthilo Date: Thu, 31 May 2012 01:55:07 +0100 Subject: [PATCH 17/20] Fixes mutant races forever lying down. --- code/modules/mob/living/carbon/human/human.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 7d66c71ddbe..015967154d1 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1216,12 +1216,12 @@ if(lying) icon = lying_icon - overlays += body_overlays_standing + overlays += body_overlays_lying if(!lying) icon = stand_icon + overlays += body_overlays_standing - overlays += body_overlays_lying overlays += clothing_overlays From f7d61de4030bb708ec68b83056d24988d35a338a Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Thu, 31 May 2012 07:48:43 +0300 Subject: [PATCH 18/20] Slowed down ZAS depressurization --- code/ZAS/Processing.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ZAS/Processing.dm b/code/ZAS/Processing.dm index fb4ad4945c3..1770670cf6b 100644 --- a/code/ZAS/Processing.dm +++ b/code/ZAS/Processing.dm @@ -1,6 +1,6 @@ #define QUANTIZE(variable) (round(variable,0.0001)) var/explosion_halt = 0 -var/zone_share_percent = 8 +var/zone_share_percent = 1 // The amount shared between zones/space at each tick. zone proc/process() //Does rebuilding stuff. Not sure if used. From 8fe372f2d2c94595a1b364f9c73d0bf1f8b82ed0 Mon Sep 17 00:00:00 2001 From: Aryn Date: Thu, 31 May 2012 00:14:33 -0600 Subject: [PATCH 19/20] Fixed a long-standing temperature bug by correcting the thermal energy calculations. Reduced amount of gas that flows per tick. --- code/ZAS/Processing.dm | 54 +++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/code/ZAS/Processing.dm b/code/ZAS/Processing.dm index fb4ad4945c3..48e51767eb1 100644 --- a/code/ZAS/Processing.dm +++ b/code/ZAS/Processing.dm @@ -1,6 +1,6 @@ #define QUANTIZE(variable) (round(variable,0.0001)) var/explosion_halt = 0 -var/zone_share_percent = 8 +var/zone_share_percent = 1 zone proc/process() //Does rebuilding stuff. Not sure if used. @@ -46,13 +46,13 @@ zone if(space_tiles) for(var/T in space_tiles) if(!istype(T,/turf/space)) space_tiles -= T - total_space = length(space_tiles) + total_space++ //Add checks to ensure that we're not sucking air out of an empty room. if(total_space && air.total_moles > 0.1 && air.temperature > TCMB+0.5) //If there is space, air should flow out of the zone. - //if(abs(air.pressure) > vsc.airflow_lightest_pressure) - // AirflowSpace(src) + if(abs(air.pressure) > vsc.airflow_lightest_pressure) + AirflowSpace(src) ShareSpace(air,total_space*(zone_share_percent/100)) //React the air here. @@ -63,7 +63,7 @@ zone air.graphic = 0 if(air.toxins > MOLES_PLASMA_VISIBLE) air.graphic = 1 - else if(length(air.trace_gases)) + else if(air.trace_gases.len) var/datum/gas/sleeping_agent = locate(/datum/gas/sleeping_agent) in air.trace_gases if(sleeping_agent && (sleeping_agent.moles > 1)) air.graphic = 2 @@ -109,8 +109,8 @@ zone for(var/zone/Z in connected_zones) //Ensure we're not doing pointless calculations on equilibrium zones. if(abs(air.total_moles - Z.air.total_moles) > 0.1 || abs(air.temperature - Z.air.temperature) > 0.1) - //if(abs(Z.air.pressure - air.pressure) > vsc.airflow_lightest_pressure) - // Airflow(src,Z) + if(abs(Z.air.pressure - air.pressure) > vsc.airflow_lightest_pressure) + Airflow(src,Z) ShareRatio(air,Z.air,connected_zones[Z]*(zone_share_percent/100)) proc/ShareRatio(datum/gas_mixture/A, datum/gas_mixture/B, ratio) @@ -124,39 +124,35 @@ proc/ShareRatio(datum/gas_mixture/A, datum/gas_mixture/B, ratio) full_co2 = A.carbon_dioxide * size full_plasma = A.toxins * size - full_thermal = A.temperature * A.heat_capacity() * size + full_heat_capacity = A.heat_capacity() * size s_full_oxy = B.oxygen * share_size s_full_nitro = B.nitrogen * share_size s_full_co2 = B.carbon_dioxide * share_size s_full_plasma = B.toxins * share_size - s_full_thermal = B.temperature * B.heat_capacity() * share_size + s_full_heat_capacity = B.heat_capacity() * share_size oxy_avg = (full_oxy + s_full_oxy) / (size + share_size) nit_avg = (full_nitro + s_full_nitro) / (size + share_size) co2_avg = (full_co2 + s_full_co2) / (size + share_size) plasma_avg = (full_plasma + s_full_plasma) / (size + share_size) - thermal_avg = (full_thermal + s_full_thermal) / (size+share_size) + temp_avg = (A.temperature * full_heat_capacity + B.temperature * s_full_heat_capacity) / (full_heat_capacity + s_full_heat_capacity) A.oxygen = (A.oxygen - oxy_avg) * (1-ratio) + oxy_avg A.nitrogen = (A.nitrogen - nit_avg) * (1-ratio) + nit_avg A.carbon_dioxide = (A.carbon_dioxide - co2_avg) * (1-ratio) + co2_avg A.toxins = (A.toxins - plasma_avg) * (1-ratio) + plasma_avg + A.temperature = (A.temperature - temp_avg) * (1-ratio) + temp_avg + B.oxygen = (B.oxygen - oxy_avg) * (1-ratio) + oxy_avg B.nitrogen = (B.nitrogen - nit_avg) * (1-ratio) + nit_avg B.carbon_dioxide = (B.carbon_dioxide - co2_avg) * (1-ratio) + co2_avg B.toxins = (B.toxins - plasma_avg) * (1-ratio) + plasma_avg - var - thermal = (full_thermal/size - thermal_avg) * (1-ratio) + thermal_avg - sharer_thermal = (s_full_thermal/share_size - thermal_avg) * (1-ratio) + thermal_avg - - A.temperature = thermal / (A.heat_capacity() == 0 ? MINIMUM_HEAT_CAPACITY : A.heat_capacity()) - - B.temperature = sharer_thermal / (B.heat_capacity() == 0 ? MINIMUM_HEAT_CAPACITY : B.heat_capacity()) + B.temperature = (B.temperature - temp_avg) * (1-ratio) + temp_avg for(var/datum/gas/G in A.trace_gases) var/datum/gas/H = locate(G.type) in B.trace_gases @@ -178,33 +174,37 @@ proc/ShareRatio(datum/gas_mixture/A, datum/gas_mixture/B, ratio) else return 0 proc/ShareSpace(datum/gas_mixture/A, ratio) - //A modified version of ShareRatio for spacing gas at the same rate as if it were going into a huge airless room. + //A modified version of ShareRatio for spacing gas at the same rate as if it were going into a large airless room. var size = max(1,A.group_multiplier) - share_size = 2000 //A huge value because space is huge. + share_size = max(1,A.group_multiplier) full_oxy = A.oxygen * size full_nitro = A.nitrogen * size full_co2 = A.carbon_dioxide * size full_plasma = A.toxins * size - full_thermal = A.temperature * A.heat_capacity() * size + full_heat_capacity = A.heat_capacity() * size - oxy_avg = (full_oxy + 0) / (size + share_size) - nit_avg = (full_nitro + 0.2) / (size + share_size) - co2_avg = (full_co2 + 0) / (size + share_size) - plasma_avg = (full_plasma + 0) / (size + share_size) + space_heat_capacity = MINIMUM_HEAT_CAPACITY * share_size - thermal_avg = (full_thermal + MINIMUM_HEAT_CAPACITY) / (size+share_size) + oxy_avg = (full_oxy) / (size + share_size) + nit_avg = (full_nitro) / (size + share_size) + co2_avg = (full_co2) / (size + share_size) + plasma_avg = (full_plasma) / (size + share_size) + + temp_avg = (A.temperature * full_heat_capacity + TCMB * space_heat_capacity) / (full_heat_capacity + space_heat_capacity) A.oxygen = (A.oxygen - oxy_avg) * (1-ratio) + oxy_avg A.nitrogen = (A.nitrogen - nit_avg) * (1-ratio) + nit_avg A.carbon_dioxide = (A.carbon_dioxide - co2_avg) * (1-ratio) + co2_avg A.toxins = (A.toxins - plasma_avg) * (1-ratio) + plasma_avg - var/thermal = (full_thermal/size - thermal_avg) * (1-ratio) + thermal_avg + A.temperature = (A.temperature - temp_avg) * (1-ratio) + temp_avg - A.temperature = thermal / (A.heat_capacity() == 0 ? MINIMUM_HEAT_CAPACITY : A.heat_capacity()) + //833 * 0.9 + 833 = + //(5000/3) = 1666 + //(5000/6) = 833 for(var/datum/gas/G in A.trace_gases) var/G_avg = (G.moles*size + 0) / (size+share_size) From ac0000139937f7340d7562d38ecdb6a30f2dc60a Mon Sep 17 00:00:00 2001 From: Aryn Date: Thu, 31 May 2012 00:25:52 -0600 Subject: [PATCH 20/20] Made some more airflow changes that are irrelevant until I get airflow working. --- code/ZAS/Airflow.dm | 20 +++++++++----------- code/ZAS/Debug.dm | 1 + 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/code/ZAS/Airflow.dm b/code/ZAS/Airflow.dm index 0e022e3c489..bd3109f4a05 100644 --- a/code/ZAS/Airflow.dm +++ b/code/ZAS/Airflow.dm @@ -50,13 +50,11 @@ atom/movable/RepelAirflowDest(n) vs_control/var - zone_share_percent = 5 - - airflow_lightest_pressure = 35 - airflow_light_pressure = 50 - airflow_medium_pressure = 80 - airflow_heavy_pressure = 100 - airflow_heaviest_pressure = 150 + airflow_lightest_pressure = 15 + airflow_light_pressure = 30 + airflow_medium_pressure = 45 + airflow_heavy_pressure = 60 + airflow_heaviest_pressure = 100 airflow_damage = 0.3 airflow_stun = 0.15 @@ -145,7 +143,7 @@ proc/Airflow(zone/A,zone/B) M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards. - spawn M.GotoAirflowDest(abs(n)/20) + spawn M.GotoAirflowDest(abs(n)/5) //Do it again for the stuff in the other zone, making it fly away. for(var/atom/movable/M in otherpplz) @@ -168,7 +166,7 @@ proc/Airflow(zone/A,zone/B) M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards. - spawn M.RepelAirflowDest(abs(n)/20) + spawn M.RepelAirflowDest(abs(n)/5) proc/AirflowSpace(zone/A) @@ -216,7 +214,7 @@ atom/movable if(airflow_speed < 0) return if(last_airflow > world.time - 150) return if(airflow_speed) - airflow_speed = n + airflow_speed = n/max(get_dist(src,airflow_dest),1) return last_airflow = world.time if(airflow_dest == loc) @@ -265,7 +263,7 @@ atom/movable if(airflow_speed < 0) return if(last_airflow > world.time - 150) return if(airflow_speed) - airflow_speed = n + airflow_speed = n/max(get_dist(src,airflow_dest),1) return last_airflow = world.time if(airflow_dest == loc) diff --git a/code/ZAS/Debug.dm b/code/ZAS/Debug.dm index 66c6a12ca33..7a0285cc1e1 100644 --- a/code/ZAS/Debug.dm +++ b/code/ZAS/Debug.dm @@ -32,6 +32,7 @@ zone/proc M << "Pressure: [air.return_pressure()]" M << "" M << "Space Tiles: [length(space_tiles)]" + M << "Movable Objects: [length(movable_objects)]" M << "Connections: [length(connections)]" for(var/connection/C in connections)